{"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":[]}