@yamada-ui/icon
Version:
Yamada UI icon components
1 lines • 6.97 kB
Source Map (JSON)
{"version":3,"sources":["../src/icon.tsx"],"sourcesContent":["import type {\n CSSUIObject,\n CSSUIProps,\n FC,\n HTMLUIProps,\n ThemeProps,\n} from \"@yamada-ui/core\"\nimport {\n forwardRef,\n mergeVars,\n omitThemeProps,\n ui,\n useComponentStyle,\n} from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\n\ninterface IconOptions {\n /**\n * The CSS `font-size` property.\n *\n * @deprecated Use `fontSize` instead.\n */\n size?: CSSUIProps[\"fontSize\"]\n}\n\nexport interface IconProps\n extends HTMLUIProps<\"svg\">,\n Omit<ThemeProps<\"Icon\">, \"size\">,\n IconOptions {}\n\n/**\n * `Icon` is a general icon component that can be used in your projects.\n *\n * @see Docs https://yamada-ui.com/components/media-and-icons/icon\n */\nexport const Icon = forwardRef<IconProps, \"svg\">((props, ref) => {\n const [styles, { size, ...mergedProps }] = useComponentStyle(\"Icon\", props)\n const {\n as: element,\n className,\n fontSize = size,\n viewBox,\n __css,\n ...rest\n } = omitThemeProps(mergedProps)\n\n const css: CSSUIObject = {\n ...styles,\n ...__css,\n vars: mergeVars(styles.vars, __css?.vars),\n }\n\n if (fontSize) {\n css.vars = mergeVars(css.vars, [\n { name: \"boxSize\", token: \"fontSizes\", value: fontSize },\n ])\n css.boxSize = \"$boxSize\"\n }\n\n if (element && typeof element !== \"string\")\n return (\n <ui.svg\n as={element}\n className={cx(\"ui-icon\", className)}\n aria-hidden\n role=\"img\"\n __css={css}\n {...rest}\n />\n )\n\n return (\n <ui.svg\n ref={ref}\n className={cx(\"ui-icon\", className)}\n aria-hidden\n role=\"img\"\n verticalAlign=\"middle\"\n viewBox={viewBox}\n __css={css}\n {...rest}\n />\n )\n})\n\nIcon.displayName = \"Icon\"\nIcon.__ui__ = \"Icon\"\n\n/**\n * @deprecated Use icons from `@yamada-ui/lucide` instead.\n */\nexport const CheckIcon: FC<IconProps> = (props) => {\n return (\n <Icon\n fill=\"none\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path d=\"M21.801 10A10 10 0 1 1 17 3.335\" />\n <path d=\"m9 11 3 3L22 4\" />\n </Icon>\n )\n}\n\nCheckIcon.displayName = \"CheckIcon\"\nCheckIcon.__ui__ = \"CheckIcon\"\n\n/**\n * @deprecated Use icons from `@yamada-ui/lucide` instead.\n */\nexport const InfoIcon: FC<IconProps> = (props) => {\n return (\n <Icon\n fill=\"none\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M12 16v-4\" />\n <path d=\"M12 8h.01\" />\n </Icon>\n )\n}\n\nInfoIcon.displayName = \"InfoIcon\"\nInfoIcon.__ui__ = \"InfoIcon\"\n\n/**\n * @deprecated Use icons from `@yamada-ui/lucide` instead.\n */\nexport const WarningIcon: FC<IconProps> = (props) => {\n return (\n <Icon\n fill=\"none\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <path d=\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\" />\n <path d=\"M12 9v4\" />\n <path d=\"M12 17h.01\" />\n </Icon>\n )\n}\n\nWarningIcon.displayName = \"WarningIcon\"\nWarningIcon.__ui__ = \"WarningIcon\"\n\n/**\n * @deprecated Use icons from `@yamada-ui/lucide` instead.\n */\nexport const CloseIcon: FC<IconProps> = (props) => {\n return (\n <Icon aria-hidden focusable=\"false\" viewBox=\"0 0 24 24\" {...props}>\n <path\n d=\"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z\"\n fill=\"currentColor\"\n />\n </Icon>\n )\n}\n\nCloseIcon.displayName = \"CloseIcon\"\nCloseIcon.__ui__ = \"CloseIcon\"\n\n/**\n * @deprecated Use icons from `@yamada-ui/lucide` instead.\n */\nexport const ChevronIcon: FC<IconProps> = (props) => {\n return (\n <Icon aria-hidden focusable=\"false\" viewBox=\"0 0 24 24\" {...props}>\n <path\n d=\"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z\"\n fill=\"currentColor\"\n />\n </Icon>\n )\n}\n\nChevronIcon.displayName = \"ChevronIcon\"\nChevronIcon.__ui__ = \"ChevronIcon\"\n"],"mappings":"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","names":[]}