swiftui-react-native
Version:
A React Native component library inspired by SwiftUI
42 lines • 1.66 kB
JavaScript
;
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