{"version":3,"sources":["webpack:///./node_modules/@ionic/core/dist/esm-es5/ion-range-md.entry.js","webpack:///./node_modules/@ionic/core/dist/esm-es5/theme-18cbe2cc.js"],"names":["Range","class_1","prototype","debounceChanged","this","ionChange","debounce","minChanged","noUpdate","updateRatio","maxChanged","disabledChanged","gesture","setDisabled","disabled","emitStyle","valueChanged","value","ensureValueInBounds","emit","connectedCallback","disconnectedCallback","destroy","undefined","componentDidLoad","rangeSlider","_a","_this","_b","label","sent","createGesture","el","gestureName","gesturePriority","threshold","onStart","ev","onMove","onEnd","getValue","dualKnobs","lower","upper","ionStyle","detail","rect","getBoundingClientRect","currentX","ratio","left","width","document","dir","pressedKnob","Math","abs","ratioA","ratioB","setFocus","update","snaps","valueToRatio","ratioToValue","min","max","step","updateValue","Object","defineProperty","get","enumerable","configurable","valA","valB","knob","shadowRoot","knobEl","querySelector","focus","render","_c","handleKeyboard","pin","ratioLower","ratioUpper","mode","barEnd","isRTL","start","end","barStyle","ticks","tick","active","push","name","JSON","stringify","onFocusin","onFocus","onFocusout","onBlur","class","assign","color","ref","rangeEl","map","style","role","renderKnob","pressed","hostRef","hasFocus","clampBounds","isIncrease","ionBlur","ionFocus","onKeyDown","key","preventDefault","stopPropagation","tabindex","round","hostContext","selector","closest","createColorClasses","length","getClassMap","classes","Array","isArray","split","filter","c","trim","forEach","SCHEME","openURL","url","direction","router","test"],"mappings":"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","file":"js/chunk-698cf714.6dfe8899.js","sourcesContent":["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 { c as clamp, d as debounceEvent, a as renderHiddenInput } from './helpers-46f4a262.js';\nimport { c as createColorClasses, h as hostContext } from './theme-18cbe2cc.js';\nvar Range = /** @class */ (function () {\n function class_1(hostRef) {\n var _this = this;\n registerInstance(this, hostRef);\n this.noUpdate = false;\n this.hasFocus = false;\n this.ratioA = 0;\n this.ratioB = 0;\n /**\n * How long, in milliseconds, to wait to trigger the\n * `ionChange` event after each change in the range value.\n */\n this.debounce = 0;\n /**\n * The name of the control, which is submitted with the form data.\n */\n this.name = '';\n /**\n * Show two knobs.\n */\n this.dualKnobs = false;\n /**\n * Minimum integer value of the range.\n */\n this.min = 0;\n /**\n * Maximum integer value of the range.\n */\n this.max = 100;\n /**\n * If `true`, a pin with integer value is shown when the knob\n * is pressed.\n */\n this.pin = false;\n /**\n * If `true`, the knob snaps to tick marks evenly spaced based\n * on the step property value.\n */\n this.snaps = false;\n /**\n * Specifies the value granularity.\n */\n this.step = 1;\n /**\n * If `true`, tick marks are displayed based on the step value.\n * Only applies when `snaps` is `true`.\n */\n this.ticks = true;\n /**\n * If `true`, the user cannot interact with the range.\n */\n this.disabled = false;\n /**\n * the value of the range.\n */\n this.value = 0;\n this.clampBounds = function (value) {\n return clamp(_this.min, value, _this.max);\n };\n this.ensureValueInBounds = function (value) {\n if (_this.dualKnobs) {\n return {\n lower: _this.clampBounds(value.lower),\n upper: _this.clampBounds(value.upper)\n };\n }\n else {\n return _this.clampBounds(value);\n }\n };\n this.handleKeyboard = function (knob, isIncrease) {\n var step = _this.step;\n step = step > 0 ? step : 1;\n step = step / (_this.max - _this.min);\n if (!isIncrease) {\n step *= -1;\n }\n if (knob === 'A') {\n _this.ratioA = clamp(0, _this.ratioA + step, 1);\n }\n else {\n _this.ratioB = clamp(0, _this.ratioB + step, 1);\n }\n _this.updateValue();\n };\n this.onBlur = function () {\n if (_this.hasFocus) {\n _this.hasFocus = false;\n _this.ionBlur.emit();\n _this.emitStyle();\n }\n };\n this.onFocus = function () {\n if (!_this.hasFocus) {\n _this.hasFocus = true;\n _this.ionFocus.emit();\n _this.emitStyle();\n }\n };\n this.ionChange = createEvent(this, \"ionChange\", 7);\n this.ionStyle = createEvent(this, \"ionStyle\", 7);\n this.ionFocus = createEvent(this, \"ionFocus\", 7);\n this.ionBlur = createEvent(this, \"ionBlur\", 7);\n }\n class_1.prototype.debounceChanged = function () {\n this.ionChange = debounceEvent(this.ionChange, this.debounce);\n };\n class_1.prototype.minChanged = function () {\n if (!this.noUpdate) {\n this.updateRatio();\n }\n };\n class_1.prototype.maxChanged = function () {\n if (!this.noUpdate) {\n this.updateRatio();\n }\n };\n class_1.prototype.disabledChanged = function () {\n if (this.gesture) {\n this.gesture.setDisabled(this.disabled);\n }\n this.emitStyle();\n };\n class_1.prototype.valueChanged = function (value) {\n if (!this.noUpdate) {\n this.updateRatio();\n }\n value = this.ensureValueInBounds(value);\n this.ionChange.emit({ value: value });\n };\n class_1.prototype.connectedCallback = function () {\n this.updateRatio();\n this.debounceChanged();\n this.disabledChanged();\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.componentDidLoad = function () {\n return __awaiter(this, void 0, void 0, function () {\n var rangeSlider, _a;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n rangeSlider = this.rangeSlider;\n if (!rangeSlider) return [3 /*break*/, 2];\n _a = this;\n return [4 /*yield*/, import('./index-624eea58.js')];\n case 1:\n _a.gesture = (_b.sent()).createGesture({\n el: rangeSlider,\n gestureName: 'range',\n gesturePriority: 100,\n threshold: 0,\n onStart: function (ev) { return _this.onStart(ev); },\n onMove: function (ev) { return _this.onMove(ev); },\n onEnd: function (ev) { return _this.onEnd(ev); },\n });\n this.gesture.setDisabled(this.disabled);\n _b.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n class_1.prototype.getValue = function () {\n var value = this.value || 0;\n if (this.dualKnobs) {\n if (typeof value === 'object') {\n return value;\n }\n return {\n lower: 0,\n upper: value\n };\n }\n else {\n if (typeof value === 'object') {\n return value.upper;\n }\n return value;\n }\n };\n class_1.prototype.emitStyle = function () {\n this.ionStyle.emit({\n 'interactive': true,\n 'interactive-disabled': this.disabled\n });\n };\n class_1.prototype.onStart = function (detail) {\n var rect = this.rect = this.rangeSlider.getBoundingClientRect();\n var currentX = detail.currentX;\n // figure out which knob they started closer to\n var ratio = clamp(0, (currentX - rect.left) / rect.width, 1);\n if (document.dir === 'rtl') {\n ratio = 1 - ratio;\n }\n this.pressedKnob =\n !this.dualKnobs ||\n Math.abs(this.ratioA - ratio) < Math.abs(this.ratioB - ratio)\n ? 'A'\n : 'B';\n this.setFocus(this.pressedKnob);\n // update the active knob's position\n this.update(currentX);\n };\n class_1.prototype.onMove = function (detail) {\n this.update(detail.currentX);\n };\n class_1.prototype.onEnd = function (detail) {\n this.update(detail.currentX);\n this.pressedKnob = undefined;\n };\n class_1.prototype.update = function (currentX) {\n // figure out where the pointer is currently at\n // update the knob being interacted with\n var rect = this.rect;\n var ratio = clamp(0, (currentX - rect.left) / rect.width, 1);\n if (document.dir === 'rtl') {\n ratio = 1 - ratio;\n }\n if (this.snaps) {\n // snaps the ratio to the current value\n ratio = valueToRatio(ratioToValue(ratio, this.min, this.max, this.step), this.min, this.max);\n }\n // update which knob is pressed\n if (this.pressedKnob === 'A') {\n this.ratioA = ratio;\n }\n else {\n this.ratioB = ratio;\n }\n // Update input value\n this.updateValue();\n };\n Object.defineProperty(class_1.prototype, \"valA\", {\n get: function () {\n return ratioToValue(this.ratioA, this.min, this.max, this.step);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(class_1.prototype, \"valB\", {\n get: function () {\n return ratioToValue(this.ratioB, this.min, this.max, this.step);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(class_1.prototype, \"ratioLower\", {\n get: function () {\n if (this.dualKnobs) {\n return Math.min(this.ratioA, this.ratioB);\n }\n return 0;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(class_1.prototype, \"ratioUpper\", {\n get: function () {\n if (this.dualKnobs) {\n return Math.max(this.ratioA, this.ratioB);\n }\n return this.ratioA;\n },\n enumerable: true,\n configurable: true\n });\n class_1.prototype.updateRatio = function () {\n var value = this.getValue();\n var _a = this, min = _a.min, max = _a.max;\n if (this.dualKnobs) {\n this.ratioA = valueToRatio(value.lower, min, max);\n this.ratioB = valueToRatio(value.upper, min, max);\n }\n else {\n this.ratioA = valueToRatio(value, min, max);\n }\n };\n class_1.prototype.updateValue = function () {\n this.noUpdate = true;\n var _a = this, valA = _a.valA, valB = _a.valB;\n this.value = !this.dualKnobs\n ? valA\n : {\n lower: Math.min(valA, valB),\n upper: Math.max(valA, valB)\n };\n this.noUpdate = false;\n };\n class_1.prototype.setFocus = function (knob) {\n if (this.el.shadowRoot) {\n var knobEl = this.el.shadowRoot.querySelector(knob === 'A' ? '.range-knob-a' : '.range-knob-b');\n if (knobEl) {\n knobEl.focus();\n }\n }\n };\n class_1.prototype.render = function () {\n var _a, _b;\n var _this = this;\n var _c = this, min = _c.min, max = _c.max, step = _c.step, el = _c.el, handleKeyboard = _c.handleKeyboard, pressedKnob = _c.pressedKnob, disabled = _c.disabled, pin = _c.pin, ratioLower = _c.ratioLower, ratioUpper = _c.ratioUpper;\n var mode = getIonMode(this);\n var barStart = ratioLower * 100 + \"%\";\n var barEnd = 100 - ratioUpper * 100 + \"%\";\n var doc = document;\n var isRTL = doc.dir === 'rtl';\n var start = isRTL ? 'right' : 'left';\n var end = isRTL ? 'left' : 'right';\n var tickStyle = function (tick) {\n var _a;\n return _a = {},\n _a[start] = tick[start],\n _a;\n };\n var barStyle = (_a = {},\n _a[start] = barStart,\n _a[end] = barEnd,\n _a);\n var ticks = [];\n if (this.snaps && this.ticks) {\n for (var value = min; value <= max; value += step) {\n var ratio = valueToRatio(value, min, max);\n var tick = {\n ratio: ratio,\n active: ratio >= ratioLower && ratio <= ratioUpper,\n };\n tick[start] = ratio * 100 + \"%\";\n ticks.push(tick);\n }\n }\n renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);\n return (h(Host, { onFocusin: this.onFocus, onFocusout: this.onBlur, class: Object.assign(Object.assign({}, createColorClasses(this.color)), (_b = {}, _b[mode] = true, _b['in-item'] = hostContext('ion-item', el), _b['range-disabled'] = disabled, _b['range-pressed'] = pressedKnob !== undefined, _b['range-has-pin'] = pin, _b)) }, h(\"slot\", { name: \"start\" }), h(\"div\", { class: \"range-slider\", ref: function (rangeEl) { return _this.rangeSlider = rangeEl; } }, ticks.map(function (tick) { return (h(\"div\", { style: tickStyle(tick), role: \"presentation\", class: {\n 'range-tick': true,\n 'range-tick-active': tick.active\n } })); }), h(\"div\", { class: \"range-bar\", role: \"presentation\" }), h(\"div\", { class: \"range-bar range-bar-active\", role: \"presentation\", style: barStyle }), renderKnob(isRTL, {\n knob: 'A',\n pressed: pressedKnob === 'A',\n value: this.valA,\n ratio: this.ratioA,\n pin: pin,\n disabled: disabled,\n handleKeyboard: handleKeyboard,\n min: min,\n max: max\n }), this.dualKnobs && renderKnob(isRTL, {\n knob: 'B',\n pressed: pressedKnob === 'B',\n value: this.valB,\n ratio: this.ratioB,\n pin: pin,\n disabled: disabled,\n handleKeyboard: handleKeyboard,\n min: min,\n max: max\n })), h(\"slot\", { name: \"end\" })));\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 \"debounce\": [\"debounceChanged\"],\n \"min\": [\"minChanged\"],\n \"max\": [\"maxChanged\"],\n \"disabled\": [\"disabledChanged\"],\n \"value\": [\"valueChanged\"]\n };\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(class_1, \"style\", {\n get: function () { return \":host{--knob-handle-size:calc(var(--knob-size) * 2);display:-ms-flexbox;display:flex;position:relative;-ms-flex:3;flex:3;-ms-flex-align:center;align-items:center;font-family:var(--ion-font-family,inherit);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.range-disabled){pointer-events:none}::slotted(ion-label){-ms-flex:initial;flex:initial}::slotted(ion-icon[slot]){font-size:24px}.range-slider{position:relative;-ms-flex:1;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:-webkit-grab;cursor:grab;-ms-touch-action:pan-y;touch-action:pan-y}:host(.range-pressed) .range-slider{cursor:-webkit-grabbing;cursor:grabbing}.range-pin{position:absolute;background:var(--ion-color-base);color:var(--ion-color-contrast);-webkit-box-sizing:border-box;box-sizing:border-box}.range-knob-handle{left:0;top:calc((var(--height) - var(--knob-handle-size)) / 2);margin-left:calc(0px - var(--knob-handle-size) / 2);position:absolute;width:var(--knob-handle-size);height:var(--knob-handle-size);text-align:center}:host-context([dir=rtl]) .range-knob-handle,[dir=rtl] .range-knob-handle{right:unset;right:0}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){.range-knob-handle{margin-left:unset;-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2)}}:host-context([dir=rtl]) .range-knob-handle,[dir=rtl] .range-knob-handle{left:unset}.range-knob-handle:active,.range-knob-handle:focus{outline:none}.range-bar{border-radius:var(--bar-border-radius);left:0;top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}:host-context([dir=rtl]) .range-bar,[dir=rtl] .range-bar{right:unset;right:0;left:unset}.range-knob{border-radius:var(--knob-border-radius);left:calc(50% - var(--knob-size) / 2);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);-webkit-box-shadow:var(--knob-box-shadow);box-shadow:var(--knob-box-shadow);pointer-events:none}:host-context([dir=rtl]) .range-knob,[dir=rtl] .range-knob{right:unset;right:calc(50% - var(--knob-size) / 2);left:unset}:host(.range-pressed) .range-bar-active{will-change:left,right}:host(.in-item){width:100%}:host(.in-item) ::slotted(ion-label){-ms-flex-item-align:center;align-self:center}:host{--knob-border-radius:50%;--knob-background:var(--bar-background-active);--knob-box-shadow:none;--knob-size:18px;--bar-height:2px;--bar-background:rgba(var(--ion-color-primary-rgb,56,128,255),0.26);--bar-background-active:var(--ion-color-primary,#3880ff);--bar-border-radius:0;--height:42px;--pin-background:var(--ion-color-primary,#3880ff);--pin-color:var(--ion-color-primary-contrast,#fff);padding-left:14px;padding-right:14px;padding-top:8px;padding-bottom:8px;font-size:12px}\\@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:14px;padding-inline-start:14px;-webkit-padding-end:14px;padding-inline-end:14px}}:host(.ion-color) .range-bar{background:rgba(var(--ion-color-base-rgb),.26)}:host(.ion-color) .range-bar-active,:host(.ion-color) .range-knob,:host(.ion-color) .range-pin,:host(.ion-color) .range-pin:before,:host(.ion-color) .range-tick{background:var(--ion-color-base);color:var(--ion-color-contrast)}::slotted([slot=start]){margin-left:0;margin-right:14px;margin-top:0;margin-bottom:0}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:14px;margin-inline-end:14px}}::slotted([slot=end]){margin-left:14px;margin-right:0;margin-top:0;margin-bottom:0}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:14px;margin-inline-start:14px;-webkit-margin-end:0;margin-inline-end:0}}:host(.range-has-pin){padding-top:28px}.range-bar-active{bottom:0;width:auto;background:var(--bar-background-active)}.range-knob{-webkit-transform:scale(.67);transform:scale(.67);-webkit-transition-duration:.12s;transition-duration:.12s;-webkit-transition-property:background-color,border,-webkit-transform;transition-property:background-color,border,-webkit-transform;transition-property:transform,background-color,border;transition-property:transform,background-color,border,-webkit-transform;-webkit-transition-timing-function:ease;transition-timing-function:ease;z-index:2}.range-tick{position:absolute;top:calc((var(--height) - var(--bar-height)) / 2);width:var(--bar-height);height:var(--bar-height);background:var(--bar-background-active);z-index:1;pointer-events:none}.range-tick-active{background:transparent}.range-pin{padding-left:0;padding-right:0;padding-top:8px;padding-bottom:8px;border-radius:50%;-webkit-transform:translateZ(0) scale(.01);transform:translateZ(0) scale(.01);display:inline-block;position:relative;min-width:28px;height:28px;-webkit-transition:background .12s ease,-webkit-transform .12s ease;transition:background .12s ease,-webkit-transform .12s ease;transition:transform .12s ease,background .12s ease;transition:transform .12s ease,background .12s ease,-webkit-transform .12s ease;color:var(--pin-color);text-align:center}.range-pin,.range-pin:before{background:var(--pin-background)}.range-pin:before{left:50%;top:3px;margin-left:-13px;border-radius:50% 50% 50% 0;position:absolute;width:26px;height:26px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transition:background .12s ease;transition:background .12s ease;content:\\\"\\\";z-index:-1}:host-context([dir=rtl]) .range-pin:before,[dir=rtl] .range-pin:before{right:unset;right:50%}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){.range-pin:before{margin-left:unset;-webkit-margin-start:-13px;margin-inline-start:-13px}}:host-context([dir=rtl]) .range-pin:before,[dir=rtl] .range-pin:before{left:unset}.range-knob-pressed .range-pin{-webkit-transform:translate3d(0,-24px,0) scale(1);transform:translate3d(0,-24px,0) scale(1)}:host(:not(.range-has-pin)) .range-knob-pressed .range-knob{-webkit-transform:scale(1);transform:scale(1)}:host(.range-disabled) .range-bar,:host(.range-disabled) .range-bar-active,:host(.range-disabled) .range-knob,:host(.range-disabled) .range-tick{background-color:var(--ion-color-step-250,#bfbfbf)}:host(.range-disabled) .range-knob{-webkit-transform:scale(.55);transform:scale(.55);outline:5px solid #fff}\"; },\n enumerable: true,\n configurable: true\n });\n return class_1;\n}());\nvar renderKnob = function (isRTL, _a) {\n var knob = _a.knob, value = _a.value, ratio = _a.ratio, min = _a.min, max = _a.max, disabled = _a.disabled, pressed = _a.pressed, pin = _a.pin, handleKeyboard = _a.handleKeyboard;\n var start = isRTL ? 'right' : 'left';\n var knobStyle = function () {\n var style = {};\n style[start] = ratio * 100 + \"%\";\n return style;\n };\n return (h(\"div\", { onKeyDown: function (ev) {\n var key = ev.key;\n if (key === 'ArrowLeft' || key === 'ArrowDown') {\n handleKeyboard(knob, false);\n ev.preventDefault();\n ev.stopPropagation();\n }\n else if (key === 'ArrowRight' || key === 'ArrowUp') {\n handleKeyboard(knob, true);\n ev.preventDefault();\n ev.stopPropagation();\n }\n }, class: {\n 'range-knob-handle': true,\n 'range-knob-a': knob === 'A',\n 'range-knob-b': knob === 'B',\n 'range-knob-pressed': pressed,\n 'range-knob-min': value === min,\n 'range-knob-max': value === max\n }, style: knobStyle(), role: \"slider\", tabindex: disabled ? -1 : 0, \"aria-valuemin\": min, \"aria-valuemax\": max, \"aria-disabled\": disabled ? 'true' : null, \"aria-valuenow\": value }, pin && h(\"div\", { class: \"range-pin\", role: \"presentation\" }, Math.round(value)), h(\"div\", { class: \"range-knob\", role: \"presentation\" })));\n};\nvar ratioToValue = function (ratio, min, max, step) {\n var value = (max - min) * ratio;\n if (step > 0) {\n value = Math.round(value / step) * step + min;\n }\n return clamp(min, value, max);\n};\nvar valueToRatio = function (value, min, max) {\n return clamp(0, (value - min) / (max - min), 1);\n};\nexport { Range as ion_range };\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"],"sourceRoot":""}