swiftui-react-native
Version:
A React Native component library inspired by SwiftUI
30 lines • 1.5 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Slider = 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 NativeSlider = (0, expo_modules_core_1.requireNativeViewManager)('Slider');
function Slider({ value, step = 1, range = [-100, 100], onChange, style, ...modifiers }) {
return (react_1.default.createElement(NativeSlider, { value: (0, binding_1.getValueOrBinding)(value), modifiers: (0, modifiers_1.mapToNativeModifiers)(modifiers), step: step, range: range, style: {
...(0, modifiers_1.getSizeFromModifiers)(modifiers, { width: 300, height: 35 }),
...style,
}, onEvent: (e) => {
(0, onBaseEvent_1.onBaseEvent)(e, modifiers, {
onValueChange: (e) => {
const newValue = e.nativeEvent.onValueChange;
if (typeof value === 'object' && 'setValue' in value) {
value.setValue(newValue);
}
onChange?.(newValue);
},
});
} }));
}
exports.Slider = Slider;
//# sourceMappingURL=Slider.ios.js.map