UNPKG

@nexara/nativeflow

Version:

Beautiful, responsive, and customizable UI components for React Native – built for performance and seamless experiences.

48 lines (47 loc) 1.59 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _reactNative = require("react-native"); var _LightenColorShades = _interopRequireDefault(require("../../helpers/LightenColorShades.js")); var _ResponsiveCalculations = require("../../helpers/ResponsiveCalculations.js"); var _index = require("../../hooks/index.js"); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const Switch = ({ checked = true, color, disabled = false, size = 0.8, activeTrackColor, inactiveTrackColor = '#808080', onChange, ...rest }) => { const theme = (0, _index.useTheme)(); const switchColor = disabled ? '#808080' : color ?? theme.colors.primary; return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, { children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Switch, { value: checked, trackColor: { true: (0, _LightenColorShades.default)(activeTrackColor ?? switchColor, 50), false: (0, _LightenColorShades.default)(inactiveTrackColor, 60) }, thumbColor: switchColor, onValueChange: onChange, style: { transform: [{ scaleX: (0, _ResponsiveCalculations.moderateScale)(size) }, { scaleY: (0, _ResponsiveCalculations.moderateScale)(size) }] }, disabled: disabled, ...rest }) }); }; var _default = exports.default = Switch; //# sourceMappingURL=Switch.js.map