{"version":3,"sources":["webpack:///./node_modules/@ionic/core/dist/esm-es5/haptic-c8f1473e.js","webpack:///./node_modules/@ionic/core/dist/esm-es5/theme-18cbe2cc.js","webpack:///./node_modules/@ionic/core/dist/esm-es5/ion-toggle-md.entry.js"],"names":["hapticSelection","engine","window","TapticEngine","selection","hapticSelectionStart","gestureSelectionStart","hapticSelectionChanged","gestureSelectionChanged","hapticSelectionEnd","gestureSelectionEnd","hostContext","selector","el","closest","createColorClasses","color","_a","length","undefined","getClassList","classes","array","Array","isArray","split","filter","c","map","trim","getClassMap","forEach","SCHEME","openURL","url","ev","direction","router","this","test","document","querySelector","preventDefault","push","Toggle","class_1","hostRef","_this","inputId","toggleIds","lastDrag","activated","name","checked","disabled","value","onClick","Date","now","onFocus","ionFocus","emit","onBlur","ionBlur","ionChange","ionStyle","prototype","checkedChanged","isChecked","disabledChanged","emitStyle","gesture","setDisabled","connectedCallback","_b","label","sent","createGesture","gestureName","gesturePriority","threshold","passive","onStart","onMove","onEnd","disconnectedCallback","destroy","componentWillLoad","setFocus","detail","shouldToggle","deltaX","event","stopImmediatePropagation","getValue","buttonEl","focus","render","mode","labelId","id","role","class","Object","assign","type","ref","btnEl","defineProperty","get","enumerable","configurable","doc","margin","isRTL","dir"],"mappings":"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","file":"js/chunk-cc206ae2.060d6a99.js","sourcesContent":["/**\n * Check to see if the Haptic Plugin is available\n * @return Returns `true` or false if the plugin is available\n */\n/**\n * Trigger a selection changed haptic event. Good for one-time events\n * (not for gestures)\n */\nvar hapticSelection = function () {\n var engine = window.TapticEngine;\n if (engine) {\n engine.selection();\n }\n};\n/**\n * Tell the haptic engine that a gesture for a selection change is starting.\n */\nvar hapticSelectionStart = function () {\n var engine = window.TapticEngine;\n if (engine) {\n engine.gestureSelectionStart();\n }\n};\n/**\n * Tell the haptic engine that a selection changed during a gesture.\n */\nvar hapticSelectionChanged = function () {\n var engine = window.TapticEngine;\n if (engine) {\n engine.gestureSelectionChanged();\n }\n};\n/**\n * Tell the haptic engine we are done with a gesture. This needs to be\n * called lest resources are not properly recycled.\n */\nvar hapticSelectionEnd = function () {\n var engine = window.TapticEngine;\n if (engine) {\n engine.gestureSelectionEnd();\n }\n};\nexport { hapticSelectionStart as a, hapticSelectionChanged as b, hapticSelectionEnd as c, hapticSelection as h };\n","import { __awaiter, __generator } from \"tslib\";\nvar hostContext = function (selector, el) {\n return el.closest(selector) !== null;\n};\n/**\n * Create the mode and color classes for the component based on the classes passed in\n */\nvar createColorClasses = function (color) {\n var _a;\n return (typeof color === 'string' && color.length > 0) ? (_a = {\n 'ion-color': true\n },\n _a[\"ion-color-\" + color] = true,\n _a) : undefined;\n};\nvar getClassList = function (classes) {\n if (classes !== undefined) {\n var array = Array.isArray(classes) ? classes : classes.split(' ');\n return array\n .filter(function (c) { return c != null; })\n .map(function (c) { return c.trim(); })\n .filter(function (c) { return c !== ''; });\n }\n return [];\n};\nvar getClassMap = function (classes) {\n var map = {};\n getClassList(classes).forEach(function (c) { return map[c] = true; });\n return map;\n};\nvar SCHEME = /^[a-z][a-z0-9+\\-.]*:/;\nvar openURL = function (url, ev, direction) { return __awaiter(void 0, void 0, void 0, function () {\n var router;\n return __generator(this, function (_a) {\n if (url != null && url[0] !== '#' && !SCHEME.test(url)) {\n router = document.querySelector('ion-router');\n if (router) {\n if (ev != null) {\n ev.preventDefault();\n }\n return [2 /*return*/, router.push(url, direction)];\n }\n }\n return [2 /*return*/, false];\n });\n}); };\nexport { createColorClasses as c, getClassMap as g, hostContext as h, openURL as o };\n","import { __awaiter, __generator } from \"tslib\";\nimport { r as registerInstance, d as createEvent, c as getIonMode, h, H as Host, e as getElement } from './core-feeeff0d.js';\nimport './config-3c7f3790.js';\nimport { f as findItemLabel, a as renderHiddenInput } from './helpers-46f4a262.js';\nimport { c as createColorClasses, h as hostContext } from './theme-18cbe2cc.js';\nimport { h as hapticSelection } from './haptic-c8f1473e.js';\nvar Toggle = /** @class */ (function () {\n function class_1(hostRef) {\n var _this = this;\n registerInstance(this, hostRef);\n this.inputId = \"ion-tg-\" + toggleIds++;\n this.lastDrag = 0;\n this.activated = false;\n /**\n * The name of the control, which is submitted with the form data.\n */\n this.name = this.inputId;\n /**\n * If `true`, the toggle is selected.\n */\n this.checked = false;\n /**\n * If `true`, the user cannot interact with the toggle.\n */\n this.disabled = false;\n /**\n * The value of the toggle does not mean if it's checked or not, use the `checked`\n * property for that.\n *\n * The value of a toggle is analogous to the value of a ``,\n * it's only used when the toggle participates in a native `
`.\n */\n this.value = 'on';\n this.onClick = function () {\n if (_this.lastDrag + 300 < Date.now()) {\n _this.checked = !_this.checked;\n }\n };\n this.onFocus = function () {\n _this.ionFocus.emit();\n };\n this.onBlur = function () {\n _this.ionBlur.emit();\n };\n this.ionChange = createEvent(this, \"ionChange\", 7);\n this.ionFocus = createEvent(this, \"ionFocus\", 7);\n this.ionBlur = createEvent(this, \"ionBlur\", 7);\n this.ionStyle = createEvent(this, \"ionStyle\", 7);\n }\n class_1.prototype.checkedChanged = function (isChecked) {\n this.ionChange.emit({\n checked: isChecked,\n value: this.value\n });\n };\n class_1.prototype.disabledChanged = function () {\n this.emitStyle();\n if (this.gesture) {\n this.gesture.setDisabled(this.disabled);\n }\n };\n class_1.prototype.connectedCallback = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = this;\n return [4 /*yield*/, import('./index-624eea58.js')];\n case 1:\n _a.gesture = (_b.sent()).createGesture({\n el: this.el,\n gestureName: 'toggle',\n gesturePriority: 100,\n threshold: 5,\n passive: false,\n onStart: function () { return _this.onStart(); },\n onMove: function (ev) { return _this.onMove(ev); },\n onEnd: function (ev) { return _this.onEnd(ev); },\n });\n this.disabledChanged();\n return [2 /*return*/];\n }\n });\n });\n };\n class_1.prototype.disconnectedCallback = function () {\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n };\n class_1.prototype.componentWillLoad = function () {\n this.emitStyle();\n };\n class_1.prototype.emitStyle = function () {\n this.ionStyle.emit({\n 'interactive-disabled': this.disabled,\n });\n };\n class_1.prototype.onStart = function () {\n this.activated = true;\n // touch-action does not work in iOS\n this.setFocus();\n };\n class_1.prototype.onMove = function (detail) {\n if (shouldToggle(document, this.checked, detail.deltaX, -10)) {\n this.checked = !this.checked;\n hapticSelection();\n }\n };\n class_1.prototype.onEnd = function (ev) {\n this.activated = false;\n this.lastDrag = Date.now();\n ev.event.preventDefault();\n ev.event.stopImmediatePropagation();\n };\n class_1.prototype.getValue = function () {\n return this.value || '';\n };\n class_1.prototype.setFocus = function () {\n if (this.buttonEl) {\n this.buttonEl.focus();\n }\n };\n class_1.prototype.render = function () {\n var _a;\n var _this = this;\n var _b = this, inputId = _b.inputId, disabled = _b.disabled, checked = _b.checked, activated = _b.activated, color = _b.color, el = _b.el;\n var mode = getIonMode(this);\n var labelId = inputId + '-lbl';\n var label = findItemLabel(el);\n var value = this.getValue();\n if (label) {\n label.id = labelId;\n }\n renderHiddenInput(true, el, this.name, (checked ? value : ''), disabled);\n return (h(Host, { onClick: this.onClick, role: \"checkbox\", \"aria-disabled\": disabled ? 'true' : null, \"aria-checked\": \"\" + checked, \"aria-labelledby\": labelId, class: Object.assign(Object.assign({}, createColorClasses(color)), (_a = {}, _a[mode] = true, _a['in-item'] = hostContext('ion-item', el), _a['toggle-activated'] = activated, _a['toggle-checked'] = checked, _a['toggle-disabled'] = disabled, _a['interactive'] = true, _a)) }, h(\"div\", { class: \"toggle-icon\" }, h(\"div\", { class: \"toggle-inner\" })), h(\"button\", { type: \"button\", onFocus: this.onFocus, onBlur: this.onBlur, disabled: disabled, ref: function (btnEl) { return _this.buttonEl = btnEl; } })));\n };\n Object.defineProperty(class_1.prototype, \"el\", {\n get: function () { return getElement(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(class_1, \"watchers\", {\n get: function () {\n return {\n \"checked\": [\"checkedChanged\"],\n \"disabled\": [\"disabledChanged\"]\n };\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(class_1, \"style\", {\n get: function () { return \":host{-webkit-box-sizing:content-box!important;box-sizing:content-box!important;display:inline-block;outline:none;contain:content;cursor:pointer;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.ion-focused) input{border:2px solid #5e9ed6}:host(.toggle-disabled){pointer-events:none}button{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none}:host-context([dir=rtl]) button,[dir=rtl] button{left:unset;right:unset;right:0}button::-moz-focus-inner{border:0}:host{--background:rgba(var(--ion-text-color-rgb,0,0,0),0.3);--background-checked:rgba(var(--ion-color-primary-rgb,56,128,255),0.5);--handle-background:#fff;--handle-background-checked:var(--ion-color-primary,#3880ff);padding-left:12px;padding-right:12px;padding-top:12px;padding-bottom:12px;-webkit-box-sizing:content-box;box-sizing:content-box;position:relative;width:36px;height:14px;contain:strict}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px}}:host(.ion-color.toggle-checked) .toggle-icon{background:rgba(var(--ion-color-base-rgb),.5)}:host(.ion-color.toggle-checked) .toggle-inner{background:var(--ion-color-base)}.toggle-icon{border-radius:14px;display:block;position:relative;width:100%;height:100%;-webkit-transition:background-color .16s;transition:background-color .16s;background:var(--background);pointer-events:none}.toggle-inner{left:0;top:-3px;border-radius:50%;position:absolute;width:20px;height:20px;-webkit-transition-duration:.16s;transition-duration:.16s;-webkit-transition-property:background-color,-webkit-transform;transition-property:background-color,-webkit-transform;transition-property:transform,background-color;transition-property:transform,background-color,-webkit-transform;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1);background:var(--handle-background);-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);will-change:transform,background-color;contain:strict}:host-context([dir=rtl]) .toggle-inner,[dir=rtl] .toggle-inner{left:unset;right:unset;right:0}:host(.toggle-checked) .toggle-icon{background:var(--background-checked)}:host(.toggle-checked) .toggle-inner{-webkit-transform:translate3d(16px,0,0);transform:translate3d(16px,0,0);background:var(--handle-background-checked)}:host-context([dir=rtl]).toggle-checked .toggle-inner,:host-context([dir=rtl]):host(.toggle-checked) .toggle-inner{-webkit-transform:translate3d(calc(-1 * 16px),0,0);transform:translate3d(calc(-1 * 16px),0,0)}:host(.toggle-disabled){opacity:.3}:host(.in-item[slot]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:16px;padding-right:0;padding-top:12px;padding-bottom:12px;cursor:pointer}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){:host(.in-item[slot]){padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:0;padding-inline-end:0}}:host(.in-item[slot=start]){padding-left:2px;padding-right:18px;padding-top:12px;padding-bottom:12px}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){:host(.in-item[slot=start]){padding-left:unset;padding-right:unset;-webkit-padding-start:2px;padding-inline-start:2px;-webkit-padding-end:18px;padding-inline-end:18px}}\"; },\n enumerable: true,\n configurable: true\n });\n return class_1;\n}());\nvar shouldToggle = function (doc, checked, deltaX, margin) {\n var isRTL = doc.dir === 'rtl';\n if (checked) {\n return (!isRTL && (margin > deltaX)) ||\n (isRTL && (-margin < deltaX));\n }\n else {\n return (!isRTL && (-margin < deltaX)) ||\n (isRTL && (margin > deltaX));\n }\n};\nvar toggleIds = 0;\nexport { Toggle as ion_toggle };\n"],"sourceRoot":""}