{"version":3,"sources":["../../src/Text/Text.tsx","../../src/utilities/Clay/Clay.tsx","../../src/utilities/Flex/Flex.tsx","../../src/Typography/Typography.tsx","../../src/Text/Text.css.ts"],"names":["vars","forwardRef","jsx","Clay","_a","ref","_b","children","className","_hover","_active","_after","_before","_focus","size","width","height","shape","sx","as","native","props","__objRest","__spreadProps","__spreadValues","ClayNameSpace","_Flex","Flex","_FlexCenter","FlexCenter","_FlexColumn","FlexColumn","FlexNameSpace","classNames","_Typography","semanticToken","variant","colorToken","whiteSpace","numOfLine","textAlign","Typography","getTextProp","bold","jsxs","Text","text","align","subTitle","restProps","titleProps","subTitleProps"],"mappings":"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","sourcesContent":["import { vars } from \"@imwebme/clay-token\";\nimport { Flex, Typography } from \"..\";\nimport { getTextProp } from \"./Text.css\";\nimport type { TextProps } from \"./Text.types\";\n\nexport const Text = ({\n  text,\n  align,\n  bold = false,\n  size = \"default\",\n  subTitle,\n  ...restProps\n}: TextProps) => {\n  const [titleProps, subTitleProps] = getTextProp({ size, bold });\n\n  if (subTitle)\n    return (\n      <Flex.Column\n        {...restProps}\n        textAlign={align}\n        gap={vars.spacing[size === \"xsmall\" ? 1 : 2]}\n        whiteSpace=\"pre\"\n      >\n        <Typography {...titleProps}>{text}</Typography>\n\n        {subTitle && (\n          <Typography {...subTitleProps} colorToken=\"textSub\">\n            {subTitle}\n          </Typography>\n        )}\n      </Flex.Column>\n    );\n\n  return (\n    <Typography {...restProps} {...titleProps} textAlign={align}>\n      {text}\n    </Typography>\n  );\n};\n","/** @jsxImportSource @emotion/react */\n\nimport { vars } from \"@imwebme/clay-token\";\nimport type { ComponentPropsWithRef, ElementType, ReactElement } from \"react\";\nimport { forwardRef } from \"react\";\nimport type { ClayProps } from \"./Clay.types\";\n\nexport type ClayComponent = <C extends ElementType = \"div\">(\n  props: ClayProps<C> & {\n    ref?: ComponentPropsWithRef<C>[\"ref\"];\n  },\n) => ReactElement | null;\n\nconst Clay: ClayComponent = forwardRef(\n  <E extends ElementType>(\n    {\n      children,\n      className,\n      _hover,\n      _active,\n      _after,\n      _before,\n      _focus,\n      size,\n      width,\n      height,\n      shape,\n      sx,\n      as,\n      native,\n      ...props\n    }: ClayProps<E>,\n    ref: ComponentPropsWithRef<E>[\"ref\"],\n  ) => {\n    const Element = as || \"div\";\n\n    return (\n      <Element\n        ref={ref}\n        className={className}\n        css={{\n          width: size || width,\n          height: size || height,\n          ...(shape === \"circle\" && {\n            borderRadius: vars.rounded.full,\n          }),\n          \"&:hover\": _hover,\n          \"&:active\": _active,\n          \"&:after\": _after,\n          \"&:before\": _before,\n          \"&:focus\": _focus,\n          ...props,\n          ...sx,\n        }}\n        {...native}\n      >\n        {children}\n      </Element>\n    );\n  },\n);\n\nconst ClayNameSpace = Object.assign(Clay, { displayName: \"Clay\" });\n\nexport { ClayNameSpace as Clay };\n","import type { ComponentPropsWithRef, ElementType } from \"react\";\nimport { forwardRef } from \"react\";\nimport { Clay } from \"../Clay\";\nimport type { ClayComponent, ClayProps } from \"../Clay/Clay.types\";\n\nconst _Flex: ClayComponent = forwardRef(\n  <Element extends ElementType>(\n    props: ClayProps<Element>,\n    ref: ComponentPropsWithRef<Element>[\"ref\"],\n  ) => <Clay ref={ref} display=\"flex\" {...props} />,\n);\n\nconst Flex = Object.assign(_Flex, { displayName: \"Flex\" });\n\nconst _FlexCenter: ClayComponent = forwardRef(\n  <Element extends ElementType>(\n    props: ClayProps<Element>,\n    ref: ComponentPropsWithRef<Element>[\"ref\"],\n  ) => <Flex ref={ref} alignItems=\"center\" justifyContent=\"center\" {...props} />,\n);\n\nconst FlexCenter = Object.assign(_FlexCenter, { displayName: \"Flex.Center\" });\n\nconst _FlexColumn: ClayComponent = forwardRef(\n  <Element extends ElementType>(\n    { as = \"div\" as any, ...props }: ClayProps<Element>,\n    ref: ComponentPropsWithRef<Element>[\"ref\"],\n  ) => <Flex ref={ref} as={as} flexDirection=\"column\" {...props} />,\n);\n\nconst FlexColumn = Object.assign(_FlexColumn, { displayName: \"Flex.Column\" });\n\n/**\n * @deprecated Use `Flex.Column` instead\n */\nexport const Stack = FlexColumn;\n\nconst FlexNameSpace = Object.assign(Flex, { Center: FlexCenter, Column: FlexColumn });\n\nexport { FlexNameSpace as Flex };\n","/** @jsxImportSource @emotion/react */\n\nimport { classNames, vars } from \"@imwebme/clay-token\";\nimport type { ElementType, Ref } from \"react\";\nimport { forwardRef } from \"react\";\nimport type { TypographyProps } from \"./Typography.types\";\n\n/**\n * token은 두 가지 방법으로 넣어줄 수 있습니다. semanticToken, variant\n * 값은 body-medium이 default 입니다.\n */\nconst _Typography = <Element extends ElementType>(\n  {\n    as,\n    semanticToken,\n    variant = \"body-medium\",\n    className = \"\",\n    colorToken = \"text\",\n    children,\n    whiteSpace,\n    numOfLine,\n    sx,\n    textAlign,\n    native,\n  }: TypographyProps<Element>,\n  ref: Ref<HTMLElement>,\n) => {\n  const Element = as || \"p\";\n\n  return (\n    <Element\n      className={`${classNames.typography[semanticToken || variant]} ${className}`}\n      ref={ref as any}\n      css={{\n        color: vars.semantic.color[colorToken],\n        ...(numOfLine && {\n          display: \"-webkit-box\",\n          overflow: \"hidden\",\n          textOverflow: \"ellipsis\",\n          WebkitBoxOrient: \"vertical\",\n          WebkitLineClamp: numOfLine,\n        }),\n        whiteSpace,\n        textAlign,\n        ...sx,\n      }}\n      {...native}\n    >\n      {children}\n    </Element>\n  );\n};\n\nexport const Typography = forwardRef(_Typography);\n\nTypography.displayName = \"Typography\";\n","import type { TextProps } from \".\";\nimport type { TypographyProps } from \"../Typography/Typography.types\";\n\nexport const getTextProp = ({\n  bold,\n  size,\n}: Required<Pick<TextProps, \"size\" | \"bold\">>): TypographyProps<\"p\">[] => {\n  switch (size) {\n    case \"large\":\n      return [{ variant: bold ? \"body-large-bold\" : \"body-large\" }, { variant: \"body-medium\" }];\n\n    case \"xlarge\":\n      return [{ variant: \"heading-xlarge-bold\" }, { variant: \"body-medium\" }];\n\n    case \"xsmall\":\n      return [{ variant: bold ? \"body-small-bold\" : \"body-small\" }, { variant: \"body-small\" }];\n\n    default:\n      return [{ variant: bold ? \"body-medium-bold\" : \"body-medium\" }, { variant: \"body-small\" }];\n  }\n};\n"]}