UNPKG

react-font-awesome-5

Version:
128 lines (98 loc) 4.84 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.Mask = exports.Icon = exports.Layer = exports.config = undefined; var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _reactFontawesome = require('@fortawesome/react-fontawesome'); var _reactFontawesome2 = _interopRequireDefault(_reactFontawesome); var _fontawesomeFreeSolid = require('@fortawesome/fontawesome-free-solid'); var _fontawesomeFreeSolid2 = _interopRequireDefault(_fontawesomeFreeSolid); var _fontawesomeFreeRegular = require('@fortawesome/fontawesome-free-regular'); var _fontawesomeFreeRegular2 = _interopRequireDefault(_fontawesomeFreeRegular); var _fontawesomeFreeBrands = require('@fortawesome/fontawesome-free-brands'); var _fontawesomeFreeBrands2 = _interopRequireDefault(_fontawesomeFreeBrands); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } var iconsRaw = { solid: _fontawesomeFreeSolid2.default, regular: _fontawesomeFreeRegular2.default, brands: _fontawesomeFreeBrands2.default }; var _config = { defaultStyle: "solid" }; var config = exports.config = function config(name, value) { _config[name] = value; }; var Icon = {}; var Mask = {}; ['solid', 'regular', 'brands'].forEach(function (style) { Object.keys(iconsRaw[style]).forEach(function (icon) { var data = iconsRaw[style][icon]; var mask = [data.prefix, data.iconName]; var iconName = icon.substr(2); var component = function component(_ref) { var inverse = _ref.inverse, stack = _ref.stack, props = _objectWithoutProperties(_ref, ['inverse', 'stack']); props.icon = data; var classes = []; var option = function option(flag, name) { if (flag) classes.push(name); }; option(inverse, 'fa-inverse'); //Generate and return the icon return stack ? _react2.default.createElement( Layer, props.stack, _react2.default.createElement(_reactFontawesome2.default, _extends({}, props, { className: classes.join(' '), transform: 'shrink-2 left-4 up-4', style: { opacity: 0.2 } })), _react2.default.createElement(_reactFontawesome2.default, _extends({}, props, { className: classes.join(' '), transform: 'shrink-2', style: { opacity: 0.5 } })), _react2.default.createElement(_reactFontawesome2.default, _extends({}, props, { className: classes.join(' '), transform: 'shrink-2 right-4 down-4' })) ) : _react2.default.createElement(_reactFontawesome2.default, _extends({}, props, { className: classes.join(' ') })); }; if (typeof Icon[iconName] === 'undefined') { Icon[iconName] = component; Mask[iconName] = mask; } Icon[iconName][style] = component; Mask[iconName][style] = mask; }); }); var Layer = function Layer(_ref2) { var children = _ref2.children, className = _ref2.className, size = _ref2.size, props = _objectWithoutProperties(_ref2, ['children', 'className', 'size']); return _react2.default.createElement( 'span', { className: size ? 'fa-' + size : "" }, _react2.default.createElement( 'span', _extends({ className: (className || "") + " fa-layers fa-fw" }, props), children ) ); }; Layer.Text = function (_ref3) { var children = _ref3.children, className = _ref3.className, transform = _ref3.transform, props = _objectWithoutProperties(_ref3, ['children', 'className', 'transform']); return _react2.default.createElement( 'span', _extends({ className: (className || "") + " fa-layers-text" }, props, { 'data-fa-transform': transform || "" }), children ); }; Layer.Counter = function (_ref4) { var children = _ref4.children, className = _ref4.className, props = _objectWithoutProperties(_ref4, ['children', 'className']); return _react2.default.createElement( 'span', _extends({ className: (className || "") + " fa-layers-counter" }, props), children ); }; exports.Layer = Layer; exports.Icon = Icon; exports.Mask = Mask;