UNPKG

@react-native-vector-icons/fontawesome6

Version:
129 lines (125 loc) 5.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.FontAwesome6 = void 0; var _reactNative = require("react-native"); var _common = require("@react-native-vector-icons/common"); var _FontAwesome6_brand = _interopRequireDefault(require("../../glyphmaps/FontAwesome6_brand.json")); var _FontAwesome6_regular = _interopRequireDefault(require("../../glyphmaps/FontAwesome6_regular.json")); var _FontAwesome6_solid = _interopRequireDefault(require("../../glyphmaps/FontAwesome6_solid.json")); var _FontAwesome6_meta = _interopRequireDefault(require("../../glyphmaps/FontAwesome6_meta.json")); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } /* eslint-disable react/jsx-pascal-case, no-console */ /** * This is a generated file. If you modify it manually, your changes will be lost! * Instead, modify the template in `fontawesome-common/generator`. * * FontAwesome6 icon set component. * Usage: <FontAwesome6 name="icon-name" size={20} color="#4F8EF7" /> */ const glyphValidator = (glyph, iconType) => _FontAwesome6_meta.default[iconType]?.includes(glyph); const fontStyle = fontWeight => _reactNative.Platform.select({ ios: { fontWeight }, default: {} }); // biome-ignore format: We want these to be consistent and we are fine with single for all const RegularIcon = (0, _common.createIconSet)(_FontAwesome6_regular.default, { postScriptName: 'FontAwesome6Free-Regular', fontFileName: 'FontAwesome6_Regular.ttf', fontSource: require('../../fonts/FontAwesome6_Regular.ttf'), // eslint-disable-line @typescript-eslint/no-require-imports, global-require fontStyle: fontStyle('400') }); // biome-ignore format: We want these to be consistent and we are fine with single for all const SolidIcon = (0, _common.createIconSet)(_FontAwesome6_solid.default, { postScriptName: 'FontAwesome6Free-Solid', fontFileName: 'FontAwesome6_Solid.ttf', fontSource: require('../../fonts/FontAwesome6_Solid.ttf'), // eslint-disable-line @typescript-eslint/no-require-imports, global-require fontStyle: fontStyle('900') }); // biome-ignore format: We want these to be consistent and we are fine with single for all const BrandIcon = (0, _common.createIconSet)(_FontAwesome6_brand.default, { postScriptName: 'FontAwesome6Brands-Regular', fontFileName: 'FontAwesome6_Brands.ttf', fontSource: require('../../fonts/FontAwesome6_Brands.ttf'), // eslint-disable-line @typescript-eslint/no-require-imports, global-require fontStyle: fontStyle('400') }); const FontAwesome6 = props => { const { iconStyle, name } = props; if (!iconStyle) { if (!glyphValidator(name, 'regular')) { console.warn(`noSuchGlyph: glyph ${String(name)} does not exist for 'regular' icon type for FontAwesome6`); } return /*#__PURE__*/(0, _jsxRuntime.jsx)(RegularIcon, { ...props }); } if (!glyphValidator(name, iconStyle)) { console.warn(`noSuchGlyph: glyph ${String(name)} does not exist for '${iconStyle}' icon type for FontAwesome6`); return /*#__PURE__*/(0, _jsxRuntime.jsx)(RegularIcon, { ...props }); } switch (iconStyle) { case 'brand': return /*#__PURE__*/(0, _jsxRuntime.jsx)(BrandIcon, { ...props }); case 'regular': return /*#__PURE__*/(0, _jsxRuntime.jsx)(RegularIcon, { ...props }); case 'solid': return /*#__PURE__*/(0, _jsxRuntime.jsx)(SolidIcon, { ...props }); default: console.warn(`noSuchIconTypeName: '${iconStyle}' icon type does not exist for FontAwesome6`); return /*#__PURE__*/(0, _jsxRuntime.jsx)(RegularIcon, { ...props }); } }; exports.FontAwesome6 = FontAwesome6; // biome-ignore format: We want these to be consistent and we are fine with single for all const getImageSource = (iconStyle, name, size = _common.DEFAULT_ICON_SIZE, color = _common.DEFAULT_ICON_COLOR) => { switch (iconStyle) { case 'brand': return BrandIcon.getImageSource(name, size, color); case 'regular': return RegularIcon.getImageSource(name, size, color); case 'solid': return SolidIcon.getImageSource(name, size, color); default: console.warn(`noSuchIconTypeName: '${iconStyle}' icon type does not exist for FontAwesome6`); return RegularIcon.getImageSource(name, size, color); } }; FontAwesome6.getImageSource = getImageSource; // biome-ignore format: We want these to be consistent and we are fine with single for all const getImageSourceSync = (iconStyle, name, size = _common.DEFAULT_ICON_SIZE, color = _common.DEFAULT_ICON_COLOR) => { switch (iconStyle) { case 'brand': return BrandIcon.getImageSourceSync(name, size, color); case 'regular': return RegularIcon.getImageSourceSync(name, size, color); case 'solid': return SolidIcon.getImageSourceSync(name, size, color); default: console.warn(`noSuchIconTypeName: '${iconStyle}' icon type does not exist for FontAwesome6`); return RegularIcon.getImageSourceSync(name, size, color); } }; FontAwesome6.getImageSourceSync = getImageSourceSync; /** @alias */ var _default = exports.default = FontAwesome6; //# sourceMappingURL=index.js.map