UNPKG

5.22 kBSource Map (JSON)View Raw
1{"version":3,"sources":["icon/Icon.js"],"names":["React","classNames","svgBaseProps","useInsertStyles","warning","Icon","forwardRef","props","ref","className","Component","component","viewBox","spin","rotate","tabIndex","onClick","children","restProps","height","width","Boolean","classString","svgClassString","svgStyle","msTransform","transform","undefined","innerSvgProps","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