You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 line
13 KiB
1 line
13 KiB
{"ast":null,"code":"import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nimport React, { PureComponent } from 'react';\nimport createIconSet from \"./createIconSet\";\nexport default function createMultiStyleIconSet(styles) {\n var optionsInput = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var styleNames = Object.keys(styles);\n if (styleNames.length === 0) {\n throw new Error('You need to add at least one style');\n }\n var options = _objectSpread({\n defaultStyle: styleNames[0],\n fallbackFamily: function fallbackFamily(_unused) {\n return styleNames[0];\n },\n glyphValidator: function glyphValidator(_unused, __unused) {\n return true;\n }\n }, optionsInput);\n var iconSets = styleNames.reduce(function (acc, name) {\n var style = styles[name];\n acc[name] = createIconSet(style.glyphMap || {}, style.fontFamily || '', style.fontFile || '', style.fontStyle || {});\n return acc;\n }, {});\n function styleFromProps(props) {\n return Object.keys(props).reduce(function (result, propName) {\n return styleNames.indexOf(propName) !== -1 && props[propName] === true ? propName : result;\n }, options.defaultStyle);\n }\n function getIconSetForProps(props) {\n var name = props.name;\n var style = styleFromProps(props);\n if (options.glyphValidator(name, style)) return iconSets[style];\n var family = options.fallbackFamily(name);\n if (styleNames.indexOf(family) === -1) {\n return options.defaultStyle;\n }\n return iconSets[family];\n }\n function selectIconClass(iconSet, iconClass) {\n return iconClass.length > 0 ? iconSet[iconClass] : iconSet;\n }\n function reduceProps(props) {\n return Object.keys(props).reduce(function (acc, prop) {\n if (styleNames.indexOf(prop) === -1) {\n acc[prop] = props[prop];\n }\n return acc;\n }, {});\n }\n function getStyledIconSet(style) {\n var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n if (styleNames.indexOf(style) === -1) {\n return iconSets[options.defaultStyle];\n }\n return !name ? iconSets[styleFromProps(_defineProperty({}, style, true))] : getIconSetForProps(_defineProperty({\n name: name\n }, style, true));\n }\n function getFontFamily() {\n var style = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : options.defaultStyle;\n return getStyledIconSet(style).getFontFamily();\n }\n function getRawGlyphMap() {\n var style = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : options.defaultStyle;\n return getStyledIconSet(style).getRawGlyphMap();\n }\n function hasIcon(name) {\n var style = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : options.defaultStyle;\n return options.glyphValidator(name, style);\n }\n function createStyledIconClass() {\n var selectClass = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var IconClass = function (_PureComponent) {\n _inherits(IconClass, _PureComponent);\n var _super = _createSuper(IconClass);\n function IconClass() {\n _classCallCheck(this, IconClass);\n return _super.apply(this, arguments);\n }\n _createClass(IconClass, [{\n key: \"render\",\n value: function render() {\n var selectedIconSet = getIconSetForProps(this.props);\n var SelectedIconClass = selectIconClass(selectedIconSet, selectClass);\n var props = reduceProps(this.props);\n return React.createElement(SelectedIconClass, props);\n }\n }]);\n return IconClass;\n }(PureComponent);\n IconClass.defaultProps = styleNames.reduce(function (acc, name) {\n acc[name] = false;\n return acc;\n }, {});\n IconClass.font = Object.values(styles).reduce(function (acc, style) {\n acc[style.fontFamily] = style.fontFile;\n return acc;\n }, {});\n IconClass.StyledIconSet = getStyledIconSet;\n IconClass.getFontFamily = getFontFamily;\n IconClass.getRawGlyphMap = getRawGlyphMap;\n IconClass.hasIcon = hasIcon;\n return IconClass;\n }\n var Icon = createStyledIconClass();\n Icon.Button = createStyledIconClass('Button');\n return Icon;\n}","map":{"version":3,"sources":["../src/createMultiStyleIconSet.ts"],"names":[],"mappings":"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","sourcesContent":["import React, { PureComponent } from 'react';\n\nimport createIconSet from './createIconSet';\n\ntype FontStyle = {\n fontFamily: string;\n fontFile: any;\n glyphMap: any;\n fontStyle: any;\n};\n\ntype FontStyles = {\n [key: string]: FontStyle;\n};\n\nexport default function createMultiStyleIconSet(\n styles: FontStyles,\n optionsInput = {}\n): any {\n const styleNames = Object.keys(styles);\n\n if (styleNames.length === 0) {\n throw new Error('You need to add at least one style');\n }\n\n const options = {\n defaultStyle: styleNames[0],\n fallbackFamily: (_unused: any) => styleNames[0],\n glyphValidator: (_unused: any, __unused: any) => true,\n ...optionsInput,\n };\n\n const iconSets = styleNames.reduce((acc, name) => {\n const style = styles[name];\n\n acc[name] = createIconSet(\n style.glyphMap || {},\n style.fontFamily || '',\n style.fontFile || '',\n style.fontStyle || {}\n );\n\n return acc;\n }, {});\n\n function styleFromProps(props) {\n return Object.keys(props).reduce(\n (result, propName) =>\n styleNames.indexOf(propName) !== -1 && props[propName] === true\n ? propName\n : result,\n options.defaultStyle\n );\n }\n\n function getIconSetForProps(props) {\n const { name } = props;\n const style = styleFromProps(props);\n\n if (options.glyphValidator(name, style)) return iconSets[style];\n\n const family = options.fallbackFamily(name);\n\n if (styleNames.indexOf(family) === -1) {\n return options.defaultStyle;\n }\n\n return iconSets[family];\n }\n\n function selectIconClass(iconSet, iconClass) {\n return iconClass.length > 0 ? iconSet[iconClass] : iconSet;\n }\n\n function reduceProps(props) {\n return Object.keys(props).reduce((acc, prop) => {\n if (styleNames.indexOf(prop) === -1) {\n acc[prop] = props[prop];\n }\n\n return acc;\n }, {});\n }\n\n function getStyledIconSet(style, name = '') {\n if (styleNames.indexOf(style) === -1) {\n return iconSets[options.defaultStyle];\n }\n\n return !name\n ? iconSets[styleFromProps({ [style]: true })]\n : getIconSetForProps({ name, [style]: true });\n }\n\n function getFontFamily(style = options.defaultStyle) {\n return getStyledIconSet(style).getFontFamily();\n }\n\n function getRawGlyphMap(style = options.defaultStyle) {\n return getStyledIconSet(style).getRawGlyphMap();\n }\n\n function hasIcon(name, style = options.defaultStyle) {\n return options.glyphValidator(name, style);\n }\n\n function createStyledIconClass(selectClass = '') {\n class IconClass extends PureComponent {\n static defaultProps = styleNames.reduce((acc, name) => {\n acc[name] = false;\n return acc;\n }, {});\n\n static font = Object.values(styles).reduce((acc, style) => {\n acc[style.fontFamily] = style.fontFile;\n return acc;\n }, {});\n\n static Button: any;\n\n static StyledIconSet = getStyledIconSet;\n static getFontFamily = getFontFamily;\n static getRawGlyphMap = getRawGlyphMap;\n static hasIcon = hasIcon;\n\n render() {\n const selectedIconSet = getIconSetForProps(this.props);\n const SelectedIconClass = selectIconClass(selectedIconSet, selectClass);\n const props = reduceProps(this.props);\n\n return React.createElement(SelectedIconClass, props);\n }\n }\n\n return IconClass;\n }\n\n const Icon = createStyledIconClass();\n Icon.Button = createStyledIconClass('Button');\n return Icon;\n}\n"],"sourceRoot":""},"metadata":{},"sourceType":"module"} |