UNPKG

@fruits-chain/react-native-xiaoshu

Version:
62 lines (61 loc) • 1.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _reactNative = require("react-native"); var _index = require("../helpers/index.js"); var _flexItem = _interopRequireDefault(require("./flex-item.js")); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const Flex = props => { const { style, direction = 'row', wrap = 'nowrap', justify = 'start', align = 'center', children, ...restProps } = props; const transferConst = [justify, align]; const transferConstStyle = transferConst.map(tc => { switch (tc) { case 'start': return 'flex-start'; case 'end': return 'flex-end'; case 'between': return 'space-between'; case 'around': return 'space-around'; default: return tc; } }); const flexStyle = { flexDirection: direction, flexWrap: wrap, justifyContent: transferConstStyle[0], alignItems: transferConstStyle[1] }; const inner = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, { style: [flexStyle, style], ...restProps, children: children }); const shouldWrapInTouchableComponent = restProps.onPress || restProps.onLongPress || restProps.onPressIn || restProps.onPressOut; if (shouldWrapInTouchableComponent) { return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableWithoutFeedback, { ...restProps, children: inner }); } else { return inner; } }; var _default = exports.default = (0, _index.attachPropertiesToComponent)(Flex, { Item: _flexItem.default }); //# sourceMappingURL=index.js.map