UNPKG

swiftui-react-native

Version:

A React Native component library inspired by SwiftUI

42 lines 1.66 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.List = void 0; const expo_modules_core_1 = require("expo-modules-core"); const react_1 = __importDefault(require("react")); const react_native_1 = require("react-native"); const modifiers_1 = require("../../utils/modifiers"); const onBaseEvent_1 = require("../../utils/onBaseEvent"); const NativeList = (0, expo_modules_core_1.requireNativeViewManager)('List'); function List({ style, children, ...modifiers }) { const { width } = (0, react_native_1.useWindowDimensions)(); let rowWidth = width; switch (modifiers.listStyle || 'insetGrouped') { default: case 'insetGrouped': rowWidth = width - 80; break; case 'inset': case 'grouped': case 'plain': rowWidth = width - 40; break; } return (react_1.default.createElement(NativeList, { modifiers: (0, modifiers_1.mapToNativeModifiers)(modifiers), style: { ...(0, modifiers_1.getSizeFromModifiers)(modifiers, { width: '100%', height: 500, }), ...style, }, onEvent: (e) => { (0, onBaseEvent_1.onBaseEvent)(e, modifiers); } }, react_1.default.Children.map(children, (child) => { return (react_1.default.createElement(react_native_1.View, { style: { width: rowWidth, } }, child)); }))); } exports.List = List; //# sourceMappingURL=List.ios.js.map