{"version":3,"sources":["../../src/Typography.tsx","../../../../foundation/primitives-native/src/Text.tsx","../../../../foundation/primitives-native/src/index.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\n// @ts-expect-error - this will be resolved at build time\nimport { Text, isWeb, isNative } from \"@xsolla/xui-primitives\";\nimport {\n  useResolvedTheme,\n  getTypographyTokens,\n  getFonts,\n  cssVar,\n} from \"@xsolla/xui-core\";\nimport type { ColorType, TypographyProps, VariantType } from \"./types\";\n\nconst getColor = (\n  color: ColorType | string,\n  theme: any\n): string | undefined => {\n  if (color === \"inherit\") {\n    return isNative ? theme?.colors?.content?.primary : undefined;\n  }\n\n  const colorMap: Record<string, string> = {\n    primary: theme?.colors?.content?.primary,\n    secondary: theme?.colors?.content?.secondary,\n    tertiary: theme?.colors?.content?.tertiary,\n    brand: theme?.colors?.content?.brand?.primary,\n    brandSecondary: theme?.colors?.content?.brand?.secondary,\n    success: theme?.colors?.content?.success?.primary,\n    warning: theme?.colors?.content?.warning?.primary,\n    alert: theme?.colors?.content?.alert?.primary,\n    neutral: theme?.colors?.content?.neutral?.primary,\n  };\n\n  return colorMap[color] || color;\n};\n\nconst isHeadingVariant = (variant: VariantType): boolean =>\n  variant === \"h1\" ||\n  variant === \"h2\" ||\n  variant === \"h3\" ||\n  variant === \"h4\" ||\n  variant === \"h5\" ||\n  variant === \"display\";\n\n// Paragraph variants (bodyLgParagraph, …) use the Figma `text` role font,\n// which differs from the `body`/compact font for the corpsite context.\nconst isParagraphVariant = (variant: VariantType): boolean =>\n  variant.endsWith(\"Paragraph\");\n\nconst getDefaultElement = (variant: VariantType): string | undefined => {\n  const elementMap: Record<string, string> = {\n    h1: \"h1\",\n    h2: \"h2\",\n    h3: \"h3\",\n    h4: \"h4\",\n    h5: \"h5\",\n  };\n  return elementMap[variant];\n};\n\nconst bodyMap: Record<string, string> = {\n  bodyLg: \"body-lg\",\n  bodyLgAccent: \"body-lg\",\n  bodyLgParagraph: \"body-lg\",\n  bodyMd: \"body-md\",\n  bodyMdAccent: \"body-md\",\n  bodyMdParagraph: \"body-md\",\n  bodySm: \"body-sm\",\n  bodySmAccent: \"body-sm\",\n  bodySmParagraph: \"body-sm\",\n  bodyXs: \"body-xs\",\n  bodyXsAccent: \"body-xs\",\n  bodyXsParagraph: \"body-xs\",\n  bodyXxs: \"body-xxs\",\n  bodyXxsAccent: \"body-xxs\",\n  bodyXxsParagraph: \"body-xxs\",\n};\n\nconst headingMap: Record<string, string> = {\n  h1: \"h1\",\n  h2: \"h2\",\n  h3: \"h3\",\n  h4: \"h4\",\n  h5: \"h5\",\n};\n\nconst getVariantStyles = (variant: VariantType, typographyTokens?: any) => {\n  if (typographyTokens) {\n    if (headingMap[variant]) {\n      const token = typographyTokens.heading[headingMap[variant]];\n      if (token) {\n        return {\n          fontSize: token.fontSize,\n          fontWeight: String(token.fontWeight),\n          lineHeight: token.lineHeight,\n          scaleStep: token.scaleStep,\n          lineHeightCategory: token.lineHeightCategory,\n        };\n      }\n    }\n\n    if (variant === \"display\" && typographyTokens.basic?.display) {\n      const token = typographyTokens.basic.display;\n      return {\n        fontSize: token.fontSize,\n        fontWeight: String(token.fontWeight),\n        lineHeight: token.lineHeight,\n        scaleStep: token.scaleStep,\n        lineHeightCategory: token.lineHeightCategory,\n      };\n    }\n\n    const bodyKey = bodyMap[variant];\n    if (bodyKey && typographyTokens.basic?.[bodyKey]) {\n      const token = typographyTokens.basic[bodyKey];\n      let fontWeight = token.fontWeight;\n      let lineHeight = token.lineHeight;\n      let lineHeightCategory = token.lineHeightCategory;\n      let lineHeightScaleStep: string | undefined;\n\n      if (variant.includes(\"Accent\") && token.accent) {\n        fontWeight = token.accent.fontWeight;\n      }\n\n      if (variant.includes(\"Paragraph\") && token.paragraph) {\n        lineHeight = token.paragraph.lineHeight;\n        lineHeightCategory = \"text\";\n        lineHeightScaleStep = token.paragraph.lineHeightScaleStep;\n      }\n\n      return {\n        fontSize: token.fontSize,\n        fontWeight: String(fontWeight),\n        lineHeight,\n        scaleStep: token.scaleStep,\n        lineHeightCategory,\n        lineHeightScaleStep,\n      };\n    }\n  }\n\n  switch (variant) {\n    case \"h1\":\n      return {\n        fontSize: 56,\n        fontWeight: \"400\",\n        lineHeight: \"56px\",\n        scaleStep: \"650\",\n        lineHeightCategory: \"display\" as const,\n      };\n    case \"h2\":\n      return {\n        fontSize: 48,\n        fontWeight: \"400\",\n        lineHeight: \"48px\",\n        scaleStep: \"550\",\n        lineHeightCategory: \"display\" as const,\n      };\n    case \"h3\":\n      return {\n        fontSize: 32,\n        fontWeight: \"400\",\n        lineHeight: \"32px\",\n        scaleStep: \"350\",\n        lineHeightCategory: \"display\" as const,\n      };\n    case \"h4\":\n      return {\n        fontSize: 24,\n        fontWeight: \"400\",\n        lineHeight: \"24px\",\n        scaleStep: \"250\",\n        lineHeightCategory: \"display\" as const,\n      };\n    case \"h5\":\n      return {\n        fontSize: 20,\n        fontWeight: \"600\",\n        lineHeight: \"20px\",\n        scaleStep: \"200\",\n        lineHeightCategory: \"display\" as const,\n      };\n    case \"display\":\n      return {\n        fontSize: 64,\n        fontWeight: \"400\",\n        lineHeight: \"64px\",\n        scaleStep: \"750\",\n        lineHeightCategory: \"display\" as const,\n      };\n    case \"bodyLg\":\n      return {\n        fontSize: 18,\n        fontWeight: \"400\",\n        lineHeight: \"24px\",\n        scaleStep: \"175\",\n        lineHeightCategory: \"compact\" as const,\n      };\n    case \"bodyLgAccent\":\n      return {\n        fontSize: 18,\n        fontWeight: \"500\",\n        lineHeight: \"24px\",\n        scaleStep: \"175\",\n        lineHeightCategory: \"compact\" as const,\n      };\n    case \"bodyLgParagraph\":\n      return {\n        fontSize: 18,\n        fontWeight: \"400\",\n        lineHeight: \"26px\",\n        scaleStep: \"175\",\n        lineHeightCategory: \"text\" as const,\n      };\n    case \"bodyMd\":\n      return {\n        fontSize: 16,\n        fontWeight: \"400\",\n        lineHeight: \"20px\",\n        scaleStep: \"150\",\n        lineHeightCategory: \"compact\" as const,\n      };\n    case \"bodyMdAccent\":\n      return {\n        fontSize: 16,\n        fontWeight: \"500\",\n        lineHeight: \"20px\",\n        scaleStep: \"150\",\n        lineHeightCategory: \"compact\" as const,\n      };\n    case \"bodyMdParagraph\":\n      return {\n        fontSize: 16,\n        fontWeight: \"400\",\n        lineHeight: \"22px\",\n        scaleStep: \"150\",\n        lineHeightCategory: \"text\" as const,\n      };\n    case \"bodySm\":\n      return {\n        fontSize: 14,\n        fontWeight: \"400\",\n        lineHeight: \"18px\",\n        scaleStep: \"125\",\n        lineHeightCategory: \"compact\" as const,\n      };\n    case \"bodySmAccent\":\n      return {\n        fontSize: 14,\n        fontWeight: \"500\",\n        lineHeight: \"18px\",\n        scaleStep: \"125\",\n        lineHeightCategory: \"compact\" as const,\n      };\n    case \"bodySmParagraph\":\n      return {\n        fontSize: 14,\n        fontWeight: \"400\",\n        lineHeight: \"20px\",\n        scaleStep: \"125\",\n        lineHeightCategory: \"text\" as const,\n      };\n    case \"bodyXs\":\n      return {\n        fontSize: 12,\n        fontWeight: \"400\",\n        lineHeight: \"16px\",\n        scaleStep: \"100\",\n        lineHeightCategory: \"compact\" as const,\n      };\n    case \"bodyXsAccent\":\n      return {\n        fontSize: 12,\n        fontWeight: \"500\",\n        lineHeight: \"16px\",\n        scaleStep: \"100\",\n        lineHeightCategory: \"compact\" as const,\n      };\n    case \"bodyXsParagraph\":\n      return {\n        fontSize: 12,\n        fontWeight: \"400\",\n        lineHeight: \"18px\",\n        scaleStep: \"100\",\n        lineHeightCategory: \"text\" as const,\n      };\n    case \"bodyXxs\":\n      return {\n        fontSize: 10,\n        fontWeight: \"400\",\n        lineHeight: \"14px\",\n        scaleStep: \"75\",\n        lineHeightCategory: \"compact\" as const,\n      };\n    case \"bodyXxsAccent\":\n      return {\n        fontSize: 10,\n        fontWeight: \"500\",\n        lineHeight: \"14px\",\n        scaleStep: \"75\",\n        lineHeightCategory: \"compact\" as const,\n      };\n    case \"bodyXxsParagraph\":\n      return {\n        fontSize: 10,\n        fontWeight: \"400\",\n        lineHeight: \"14px\",\n        scaleStep: \"75\",\n        lineHeightCategory: \"text\" as const,\n      };\n    default:\n      return {\n        fontSize: 16,\n        fontWeight: \"400\",\n        lineHeight: \"20px\",\n        scaleStep: \"150\",\n        lineHeightCategory: \"compact\" as const,\n      };\n  }\n};\n\nfunction getResponsiveLineHeight(\n  styles: ReturnType<typeof getVariantStyles>\n): string | undefined {\n  const step = styles.lineHeightScaleStep || styles.scaleStep;\n  if (!step) return undefined;\n\n  const cat = styles.lineHeightCategory;\n  if (cat === \"display\") return cssVar.lhDisplay(step);\n  if (cat === \"text\") return cssVar.lhText(step);\n  return cssVar.lhCompact(step);\n}\n\nexport const Typography = forwardRef<any, TypographyProps>(\n  (\n    {\n      children,\n      align = \"inherit\",\n      noWrap = false,\n      variant = \"bodyMd\",\n      color = \"inherit\",\n      marginBottom = 0,\n      marginTop = 0,\n      as,\n      productContext,\n      testID,\n      themeMode,\n      themeProductContext,\n      ...rest\n    },\n    ref\n  ) => {\n    const resolvedTheme = useResolvedTheme({ themeMode, themeProductContext });\n    const { theme } = resolvedTheme;\n    // `responsive` was added to DesignSystemContext; cast for installed-package type compat\n    const responsive: boolean =\n      (resolvedTheme as { responsive?: boolean }).responsive ?? true;\n    const typographyTokens = productContext\n      ? getTypographyTokens(productContext)\n      : (theme as any).typographyTokens;\n    const variantStyles = getVariantStyles(variant, typographyTokens);\n    const colorValue = getColor(color, theme);\n    const contextFonts = productContext\n      ? getFonts(productContext)\n      : (theme.fonts as Record<string, string>);\n    const fontFamily = isHeadingVariant(variant)\n      ? contextFonts?.heading\n      : isParagraphVariant(variant)\n        ? contextFonts?.text\n        : contextFonts?.body;\n\n    const useResponsiveCSS = isWeb && responsive && variantStyles.scaleStep;\n\n    const responsiveFontSize = useResponsiveCSS\n      ? cssVar.fontSize(variantStyles.scaleStep!)\n      : undefined;\n    const responsiveLineHeight = useResponsiveCSS\n      ? getResponsiveLineHeight(variantStyles)\n      : undefined;\n\n    const resolvedAs = isWeb ? as || getDefaultElement(variant) : as;\n\n    return (\n      <Text\n        {...rest}\n        ref={ref}\n        testID={testID}\n        as={resolvedAs}\n        color={colorValue}\n        fontSize={useResponsiveCSS ? undefined : variantStyles.fontSize}\n        fontWeight={variantStyles.fontWeight}\n        fontFamily={fontFamily}\n        numberOfLines={noWrap ? 1 : undefined}\n        style={{\n          marginTop,\n          marginBottom,\n          textAlign: align === \"inherit\" ? undefined : align,\n          ...(useResponsiveCSS\n            ? { fontSize: responsiveFontSize, lineHeight: responsiveLineHeight }\n            : { lineHeight: variantStyles.lineHeight }),\n          ...(noWrap && {\n            overflow: \"hidden\",\n            textOverflow: \"ellipsis\",\n            whiteSpace: \"nowrap\",\n          }),\n          ...rest.style,\n        }}\n      >\n        {children}\n      </Text>\n    );\n  }\n);\n\nTypography.displayName = \"Typography\";\n","import React from \"react\";\nimport {\n  Text as RNText,\n  TextStyle,\n  AccessibilityRole,\n  StyleSheet,\n} from \"react-native\";\nimport { TextProps } from \"@xsolla/xui-primitives-core\";\n\nconst roleMap: Record<string, AccessibilityRole> = {\n  alert: \"alert\",\n  heading: \"header\",\n  button: \"button\",\n  link: \"link\",\n  text: \"text\",\n};\n\nconst parseNumericValue = (\n  value: string | number | undefined\n): number | undefined => {\n  if (value === undefined) return undefined;\n  if (typeof value === \"number\") return value;\n  const parsed = parseFloat(value);\n  return isNaN(parsed) ? undefined : parsed;\n};\n\nexport const Text: React.FC<TextProps> = ({\n  children,\n  color,\n  fontSize,\n  fontWeight,\n  fontFamily,\n  textAlign,\n  lineHeight,\n  numberOfLines,\n  id,\n  role,\n  testID,\n  \"data-testid\": dataTestId,\n  style: styleProp,\n  ...props\n}) => {\n  let resolvedFontFamily = fontFamily\n    ? fontFamily.split(\",\")[0].replace(/['\"]/g, \"\").trim()\n    : undefined;\n\n  if (\n    resolvedFontFamily === \"Pilat Wide\" ||\n    resolvedFontFamily === \"Pilat Wide Bold\" ||\n    resolvedFontFamily === \"Aktiv Grotesk\"\n  ) {\n    resolvedFontFamily = undefined;\n  }\n\n  const incomingStyle = StyleSheet.flatten(styleProp) as TextStyle | undefined;\n\n  const baseStyle: TextStyle = {\n    color: color ?? incomingStyle?.color,\n    fontSize: typeof fontSize === \"number\" ? fontSize : undefined,\n    fontWeight: fontWeight as TextStyle[\"fontWeight\"],\n    fontFamily: resolvedFontFamily,\n    textDecorationLine: props.textDecoration as TextStyle[\"textDecorationLine\"],\n    textAlign: textAlign ?? incomingStyle?.textAlign,\n    lineHeight: parseNumericValue(lineHeight ?? incomingStyle?.lineHeight),\n    marginTop: parseNumericValue(\n      incomingStyle?.marginTop as number | string | undefined\n    ),\n    marginBottom: parseNumericValue(\n      incomingStyle?.marginBottom as number | string | undefined\n    ),\n  };\n\n  const accessibilityRole = role ? roleMap[role] : undefined;\n\n  return (\n    <RNText\n      style={baseStyle}\n      numberOfLines={numberOfLines}\n      testID={dataTestId || testID || id}\n      accessibilityRole={accessibilityRole}\n    >\n      {children}\n    </RNText>\n  );\n};\n","export * from \"./Box\";\nexport * from \"./Text\";\nexport * from \"./Spinner\";\nexport * from \"./Icon\";\nexport * from \"./Divider\";\nexport * from \"./Input\";\nexport * from \"./TextArea\";\nexport * from \"./LinearGradient\";\n\nexport const isWeb = false;\nexport const isNative = true;\n"],"mappings":"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","names":["jsx"]}