UNPKG

@fruits-chain/icons-react-native

Version:

🎨 React Native Icon

119 lines (117 loc) • 4 kB
var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod)); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/gen.tsx var gen_exports = {}; __export(gen_exports, { genColoursIcon: () => genColoursIcon, genFillIcon: () => genFillIcon, genIcon: () => genIcon, genOutlineIcon: () => genOutlineIcon, omitTouchablePropsField: () => omitTouchablePropsField, pickTouchablePropsField: () => pickTouchablePropsField }); module.exports = __toCommonJS(gen_exports); var import_isNil = __toESM(require("lodash/isNil")); var import_omit = __toESM(require("lodash/omit")); var import_pick = __toESM(require("lodash/pick")); var import_react = __toESM(require("react")); var import_react_native = require("react-native"); var defaultStyle = { alignSelf: "center", justifyContent: "center", alignItems: "center" }; var defaultDisabledStyle = { opacity: 0.4 }; var getDefaultValue = (value, defaultValue) => { return value !== void 0 ? value : defaultValue; }; var touchablePropsFields = [ "delayLongPress", "delayPressIn", "delayPressOut", "disabled", "hitSlop", "onBlur", "onFocus", "onLongPress", "onPress", "onPressIn", "onPressOut", "pressRetentionOffset" ]; var pickTouchablePropsField = (props) => { return (0, import_pick.default)(props, touchablePropsFields); }; var omitTouchablePropsField = (props) => { return (0, import_omit.default)(props, touchablePropsFields); }; var genIcon = (render) => { return (0, import_react.memo)(({ size = 24, color = "#5A6068", strokeWidth, svgStyle, touchableSize = 44, style, hitSlop, ...restProps }) => { const hitSlopSize = (touchableSize - size) / 2; const iconHitSlop = getDefaultValue(hitSlop, { left: hitSlopSize, right: hitSlopSize, top: hitSlopSize, bottom: hitSlopSize }); const viewStyle = getDefaultValue(style, defaultStyle); const _svgStyle = getDefaultValue(svgStyle, defaultStyle); const touchableOpacityProps = pickTouchablePropsField(restProps); const svgProps = omitTouchablePropsField(restProps); return /* @__PURE__ */ import_react.default.createElement(import_react_native.TouchableWithoutFeedback, { ...touchableOpacityProps, hitSlop: iconHitSlop }, /* @__PURE__ */ import_react.default.createElement(import_react_native.View, { style: restProps.disabled ? [viewStyle, defaultDisabledStyle] : viewStyle, pointerEvents: !(0, import_isNil.default)(touchableOpacityProps.onPress) ? svgProps.pointerEvents : "none" }, render({ color, size, strokeWidth }, { style: _svgStyle, ...svgProps }))); }); }; var genFillIcon = (render) => genIcon(render); var genOutlineIcon = (render) => genIcon(render); var genColoursIcon = (render) => genIcon(render); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { genColoursIcon, genFillIcon, genIcon, genOutlineIcon, omitTouchablePropsField, pickTouchablePropsField });