@fruits-chain/icons-react-native
Version:
🎨 React Native Icon
119 lines (117 loc) • 4 kB
JavaScript
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
});