UNPKG

4.99 kBSource Map (JSON)View Raw
1{"version":3,"sources":["icon/Icon.js"],"names":["Icon","React","forwardRef","props","ref","className","Component","component","viewBox","spin","rotate","tabIndex","onClick","children","restProps","height","width","Boolean","classString","svgClassString","svgStyle","msTransform","transform","undefined","innerSvgProps","svgBaseProps","style","renderInnerNode","createElement","Children","count","isValidElement","only","type","iconTabIndex","role","displayName","__C7N_ICON"],"mappings":"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","sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport { svgBaseProps, useInsertStyles, warning } from './utils';\nconst Icon = React.forwardRef((props, ref) => {\n const { \n // affect outter <i>...</i>\n className, \n // affect inner <svg>...</svg>\n component: Component, viewBox, spin, rotate, tabIndex, onClick, \n // children\n children, ...restProps } = props;\n const { height, width } = restProps;\n warning(Boolean(Component || children), 'Should have `component` prop or `children`.');\n useInsertStyles();\n const classString = classNames('c7nicon', className);\n const svgClassString = classNames({\n 'c7nicon-spin': !!spin,\n });\n const svgStyle = rotate\n ? {\n msTransform: `rotate(${rotate}deg)`,\n transform: `rotate(${rotate}deg)`,\n }\n : undefined;\n const innerSvgProps = {\n ...svgBaseProps,\n className: svgClassString,\n style: svgStyle,\n viewBox,\n height: height || svgBaseProps.height,\n width: width || svgBaseProps.width,\n };\n if (!viewBox) {\n delete innerSvgProps.viewBox;\n }\n // component > children\n const renderInnerNode = () => {\n if (Component) {\n return React.createElement(Component, Object.assign({}, innerSvgProps), children);\n }\n if (children) {\n warning(Boolean(viewBox) ||\n (React.Children.count(children) === 1 &&\n React.isValidElement(children) &&\n React.Children.only(children).type === 'use'), 'Make sure that you provide correct `viewBox`' +\n ' prop (default `0 0 1024 1024`) to the icon.');\n return (React.createElement(\"svg\", Object.assign({}, innerSvgProps, { viewBox: viewBox }), children));\n }\n return null;\n };\n let iconTabIndex = tabIndex;\n if (iconTabIndex === undefined && onClick) {\n iconTabIndex = -1;\n }\n return (React.createElement(\"span\", Object.assign({ role: \"img\" }, restProps, { ref: ref, tabIndex: iconTabIndex, onClick: onClick, className: classString }), renderInnerNode()));\n});\nIcon.displayName = 'SvgIcon';\nIcon.__C7N_ICON = true;\nexport default Icon;\n"],"file":"Icon.js"}
\No newline at end of file