{"version":3,"sources":["../src/icon.tsx"],"sourcesContent":["import {\n  chakra,\n  ChakraProps,\n  forwardRef,\n  SystemStyleObject,\n  useStyleConfig,\n} from \"@chakra-ui/system\"\nimport { cx } from \"@chakra-ui/shared-utils\"\n\nconst fallbackIcon = {\n  path: (\n    <g stroke=\"currentColor\" strokeWidth=\"1.5\">\n      <path\n        strokeLinecap=\"round\"\n        fill=\"none\"\n        d=\"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25\"\n      />\n      <path\n        fill=\"currentColor\"\n        strokeLinecap=\"round\"\n        d=\"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0\"\n      />\n      <circle fill=\"none\" strokeMiterlimit=\"10\" cx=\"12\" cy=\"12\" r=\"11.25\" />\n    </g>\n  ),\n  viewBox: \"0 0 24 24\",\n}\n\ntype Orientation = \"vertical\" | \"horizontal\"\n\nexport interface IconProps\n  extends Omit<React.SVGAttributes<SVGElement>, keyof ChakraProps>,\n    ChakraProps {\n  orientation?: Orientation\n}\n\n/**\n * The Icon component renders as an svg element to help define your own custom components.\n *\n * @see Docs https://chakra-ui.com/docs/components/icon#using-the-icon-component\n */\nexport const Icon = forwardRef<IconProps, \"svg\">((props, ref) => {\n  const {\n    as: element,\n    viewBox,\n    color = \"currentColor\",\n    focusable = false,\n    children,\n    className,\n    __css,\n    ...rest\n  } = props\n\n  const _className = cx(\"chakra-icon\", className)\n  const customStyles = useStyleConfig(\"Icon\", props)\n\n  const styles: SystemStyleObject = {\n    w: \"1em\",\n    h: \"1em\",\n    display: \"inline-block\",\n    lineHeight: \"1em\",\n    flexShrink: 0,\n    color,\n    ...__css,\n    ...customStyles,\n  }\n\n  const shared: any = {\n    ref,\n    focusable,\n    className: _className,\n    __css: styles,\n  }\n\n  const _viewBox = viewBox ?? fallbackIcon.viewBox\n\n  /**\n   * If you're using an icon library like `react-icons`.\n   * Note: anyone passing the `as` prop, should manage the `viewBox` from the external component\n   */\n  if (element && typeof element !== \"string\") {\n    return <chakra.svg as={element} {...shared} {...rest} />\n  }\n\n  const _path = (children ?? fallbackIcon.path) as React.ReactNode\n\n  return (\n    <chakra.svg verticalAlign=\"middle\" viewBox={_viewBox} {...shared} {...rest}>\n      {_path}\n    </chakra.svg>\n  )\n})\n\nIcon.displayName = \"Icon\"\n\nexport default Icon\n"],"mappings":";;;AAAA;AAAA,EACE;AAAA,EAEA;AAAA,EAEA;AAAA,OACK;AACP,SAAS,UAAU;AAIf,SACE,KADF;AAFJ,IAAM,eAAe;AAAA,EACnB,MACE,qBAAC,OAAE,QAAO,gBAAe,aAAY,OACnC;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,eAAc;AAAA,QACd,MAAK;AAAA,QACL,GAAE;AAAA;AAAA,IACJ;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,eAAc;AAAA,QACd,GAAE;AAAA;AAAA,IACJ;AAAA,IACA,oBAAC,YAAO,MAAK,QAAO,kBAAiB,MAAK,IAAG,MAAK,IAAG,MAAK,GAAE,SAAQ;AAAA,KACtE;AAAA,EAEF,SAAS;AACX;AAeO,IAAM,OAAO,WAA6B,CAAC,OAAO,QAAQ;AAC/D,QAAM;AAAA,IACJ,IAAI;AAAA,IACJ;AAAA,IACA,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AAEJ,QAAM,aAAa,GAAG,eAAe,SAAS;AAC9C,QAAM,eAAe,eAAe,QAAQ,KAAK;AAEjD,QAAM,SAA4B;AAAA,IAChC,GAAG;AAAA,IACH,GAAG;AAAA,IACH,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ;AAAA,IACA,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAEA,QAAM,SAAc;AAAA,IAClB;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,OAAO;AAAA,EACT;AAEA,QAAM,WAAW,4BAAW,aAAa;AAMzC,MAAI,WAAW,OAAO,YAAY,UAAU;AAC1C,WAAO,oBAAC,OAAO,KAAP,EAAW,IAAI,SAAU,GAAG,QAAS,GAAG,MAAM;AAAA,EACxD;AAEA,QAAM,QAAS,8BAAY,aAAa;AAExC,SACE,oBAAC,OAAO,KAAP,EAAW,eAAc,UAAS,SAAS,UAAW,GAAG,QAAS,GAAG,MACnE,iBACH;AAEJ,CAAC;AAED,KAAK,cAAc;AAEnB,IAAO,eAAQ;","names":[]}