UNPKG

swiftui-react-native

Version:

A React Native component library inspired by SwiftUI

30 lines 1.47 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Toggle = void 0; const expo_modules_core_1 = require("expo-modules-core"); const react_1 = __importDefault(require("react")); const binding_1 = require("../../utils/binding"); const modifiers_1 = require("../../utils/modifiers"); const onBaseEvent_1 = require("../../utils/onBaseEvent"); const NativeToggle = (0, expo_modules_core_1.requireNativeViewManager)('Toggle'); function Toggle({ isOn, onChange, style, title, ...modifiers }) { return (react_1.default.createElement(NativeToggle, { isOn: (0, binding_1.getValueOrBinding)(isOn), title: title, modifiers: (0, modifiers_1.mapToNativeModifiers)(modifiers), style: { ...(0, modifiers_1.getSizeFromModifiers)(modifiers, { width: 51, height: 31 }), ...style, }, onEvent: (e) => { (0, onBaseEvent_1.onBaseEvent)(e, modifiers, { onValueChange: (e) => { if (typeof isOn === 'object' && 'setValue' in isOn) { isOn.setValue(e.nativeEvent.onValueChange); } onChange?.(e.nativeEvent.onValueChange); }, }); } })); } exports.Toggle = Toggle; Toggle.displayName = 'SwiftUIToggle'; //# sourceMappingURL=Toggle.ios.js.map