UNPKG

analytica-frontend-lib

Version:

Repositório público dos componentes utilizados nas plataformas da Analytica Ensino

81 lines (74 loc) 2.88 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _chunk34ST3MKOjs = require('./chunk-34ST3MKO.js'); var _chunkTN3AYOMVjs = require('./chunk-TN3AYOMV.js'); // src/components/ToggleSwitch/ToggleSwitch.tsx var _jsxruntime = require('react/jsx-runtime'); var SIZE_CLASSES = { small: { track: "h-5 w-9", thumb: "h-4 w-4", translate: "translate-x-4" }, medium: { track: "h-6 w-11", thumb: "h-5 w-5", translate: "translate-x-5" }, large: { track: "h-7 w-14", thumb: "h-6 w-6", translate: "translate-x-7" } }; var ToggleSwitch = ({ checked = false, onChange, size = "small", disabled = false, className = "", thumbClassName = "", checkedColor = "bg-success-500", uncheckedColor = "bg-border-300", ...props }) => { const sizeClasses = SIZE_CLASSES[size]; const trackClasses = _chunkTN3AYOMVjs.cn.call(void 0, "relative inline-flex shrink-0 cursor-pointer rounded-full border-2 border-transparent", "transition-colors duration-200 ease-in-out", "focus:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2", sizeClasses.track, checked ? checkedColor : uncheckedColor, disabled && "cursor-not-allowed opacity-40", className ); const thumbClasses = _chunkTN3AYOMVjs.cn.call(void 0, "pointer-events-none inline-block transform rounded-full bg-white shadow ring-0", "transition duration-200 ease-in-out", sizeClasses.thumb, checked ? sizeClasses.translate : "translate-x-0", thumbClassName ); return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk34ST3MKOjs.Button_default, { variant: "raw", type: "button", role: "switch", "aria-checked": checked, disabled, className: trackClasses, ...props, onClick: (e) => { _optionalChain([props, 'access', _ => _.onClick, 'optionalCall', _2 => _2(e)]); if (!e.defaultPrevented) { _optionalChain([onChange, 'optionalCall', _3 => _3()]); } }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: thumbClasses }) } ); }; ToggleSwitch.displayName = "ToggleSwitch"; var ToggleSwitch_default = ToggleSwitch; exports.ToggleSwitch_default = ToggleSwitch_default; //# sourceMappingURL=chunk-K74LIVOM.js.map