-
Notifications
You must be signed in to change notification settings - Fork 0
/
25-es5.js.map
1 lines (1 loc) · 38.5 KB
/
25-es5.js.map
1
{"version":3,"sources":["webpack:///node_modules/@ionic/core/dist/esm/ion-range.entry.js"],"names":["rangeIosCss","rangeMdCss","Range","hostRef","ionChange","ionStyle","ionFocus","ionBlur","didLoad","noUpdate","hasFocus","ratioA","ratioB","debounce","name","dualKnobs","min","max","pin","snaps","step","ticks","disabled","value","clampBounds","ensureValueInBounds","lower","upper","setupGesture","rangeSlider","gesture","createGesture","el","gestureName","gesturePriority","threshold","onStart","ev","onMove","onEnd","enable","handleKeyboard","knob","isIncrease","updateValue","onBlur","emit","emitStyle","onFocus","updateRatio","debounceChanged","disabledChanged","destroy","undefined","detail","rect","getBoundingClientRect","currentX","ratio","left","width","document","dir","pressedKnob","Math","abs","setFocus","update","valueToRatio","ratioToValue","getValue","valA","valB","shadowRoot","knobEl","querySelector","focus","ratioLower","ratioUpper","mode","barStart","barEnd","doc","isRTL","start","end","tickStyle","tick","barStyle","active","push","JSON","stringify","onFocusin","onFocusout","color","ref","rangeEl","map","style","role","part","renderKnob","pressed","knobStyle","onKeyDown","key","preventDefault","stopPropagation","tabindex","round","ios","md"],"mappings":"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","file":"25-es5.js","sourcesContent":["import { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-e806d1f6.js';\nimport { b as getIonMode } from './ionic-global-9d5c8ee3.js';\nimport { h as clamp, e as debounceEvent, d as renderHiddenInput } from './helpers-90f46169.js';\nimport { c as createColorClasses, h as hostContext } from './theme-ff3fc52f.js';\n\nconst rangeIosCss = \":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);text-align:center;-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}[dir=rtl] .range-knob-handle,:host-context([dir=rtl]) .range-knob-handle{left:unset;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)}}[dir=rtl] .range-knob-handle,:host-context([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}[dir=rtl] .range-bar,:host-context([dir=rtl]) .range-bar{left:unset;right:unset;right:0}[dir=rtl] .range-bar,:host-context([dir=rtl]) .range-bar{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);z-index:2;pointer-events:none}[dir=rtl] .range-knob,:host-context([dir=rtl]) .range-knob{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}[dir=rtl] .range-knob,:host-context([dir=rtl]) .range-knob{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:#ffffff;--knob-box-shadow:0 3px 1px rgba(0, 0, 0, 0.1), 0 4px 8px rgba(0, 0, 0, 0.13), 0 0 0 1px rgba(0, 0, 0, 0.02);--knob-size:28px;--bar-height:2px;--bar-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1);--bar-background-active:var(--ion-color-primary, #3880ff);--bar-border-radius:0;--height:42px;padding-left:16px;padding-right:16px;padding-top:8px;padding-bottom:8px}@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:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}:host(.ion-color) .range-bar-active,:host(.ion-color) .range-tick-active{background:var(--ion-color-base)}::slotted([slot=start]){margin-left:0;margin-right:16px;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:16px;margin-inline-end:16px}}::slotted([slot=end]){margin-left:16px;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:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}}:host(.range-has-pin){padding-top:20px}.range-bar-active{bottom:0;width:auto;background:var(--bar-background-active)}.range-tick{margin-left:-1px;border-radius:0;position:absolute;top:18px;width:2px;height:8px;background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1);pointer-events:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-tick{margin-left:unset;-webkit-margin-start:-1px;margin-inline-start:-1px}}.range-tick-active{background:var(--bar-background-active)}.range-pin{-webkit-transform:translate3d(0, 28px, 0) scale(0.01);transform:translate3d(0, 28px, 0) scale(0.01);padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;display:inline-block;position:relative;top:-20px;min-width:28px;-webkit-transition:-webkit-transform 120ms ease;transition:-webkit-transform 120ms ease;transition:transform 120ms ease;transition:transform 120ms ease, -webkit-transform 120ms ease;background:transparent;color:var(--ion-text-color, #000);font-size:12px;text-align:center}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-pin{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.range-knob-pressed .range-pin{-webkit-transform:translate3d(0, 0, 0) scale(1);transform:translate3d(0, 0, 0) scale(1)}:host(.range-disabled){opacity:0.5}\";\n\nconst rangeMdCss = \":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);text-align:center;-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}[dir=rtl] .range-knob-handle,:host-context([dir=rtl]) .range-knob-handle{left:unset;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)}}[dir=rtl] .range-knob-handle,:host-context([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}[dir=rtl] .range-bar,:host-context([dir=rtl]) .range-bar{left:unset;right:unset;right:0}[dir=rtl] .range-bar,:host-context([dir=rtl]) .range-bar{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);z-index:2;pointer-events:none}[dir=rtl] .range-knob,:host-context([dir=rtl]) .range-knob{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}[dir=rtl] .range-knob,:host-context([dir=rtl]) .range-knob{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), 0.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(0.67);transform:scale(0.67);-webkit-transition-duration:120ms;transition-duration:120ms;-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:translate3d(0, 0, 0) scale(0.01);transform:translate3d(0, 0, 0) scale(0.01);display:inline-block;position:relative;min-width:28px;height:28px;-webkit-transition:background 120ms ease, -webkit-transform 120ms ease;transition:background 120ms ease, -webkit-transform 120ms ease;transition:transform 120ms ease, background 120ms ease;transition:transform 120ms ease, background 120ms ease, -webkit-transform 120ms ease;background:var(--pin-background);color:var(--pin-color);text-align:center}.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 120ms ease;transition:background 120ms ease;background:var(--pin-background);content:\\\"\\\";z-index:-1}[dir=rtl] .range-pin::before,:host-context([dir=rtl]) .range-pin::before{left:unset;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}}[dir=rtl] .range-pin::before,:host-context([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-active,:host(.range-disabled) .range-bar,:host(.range-disabled) .range-tick{background-color:var(--ion-color-step-250, #bfbfbf)}:host(.range-disabled) .range-knob{-webkit-transform:scale(0.55);transform:scale(0.55);outline:5px solid #fff;background-color:var(--ion-color-step-250, #bfbfbf)}\";\n\nconst Range = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\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 this.didLoad = false;\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 * This also impacts form bindings such as `ngModel` or `v-model`.\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 = (value) => {\n return clamp(this.min, value, this.max);\n };\n this.ensureValueInBounds = (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.setupGesture = async () => {\n const rangeSlider = this.rangeSlider;\n if (rangeSlider) {\n this.gesture = (await import('./index-f49d994d.js')).createGesture({\n el: rangeSlider,\n gestureName: 'range',\n gesturePriority: 100,\n threshold: 0,\n onStart: ev => this.onStart(ev),\n onMove: ev => this.onMove(ev),\n onEnd: ev => this.onEnd(ev),\n });\n this.gesture.enable(!this.disabled);\n }\n };\n this.handleKeyboard = (knob, isIncrease) => {\n let 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 = () => {\n if (this.hasFocus) {\n this.hasFocus = false;\n this.ionBlur.emit();\n this.emitStyle();\n }\n };\n this.onFocus = () => {\n if (!this.hasFocus) {\n this.hasFocus = true;\n this.ionFocus.emit();\n this.emitStyle();\n }\n };\n }\n debounceChanged() {\n this.ionChange = debounceEvent(this.ionChange, this.debounce);\n }\n minChanged() {\n if (!this.noUpdate) {\n this.updateRatio();\n }\n }\n maxChanged() {\n if (!this.noUpdate) {\n this.updateRatio();\n }\n }\n disabledChanged() {\n if (this.gesture) {\n this.gesture.enable(!this.disabled);\n }\n this.emitStyle();\n }\n valueChanged(value) {\n if (!this.noUpdate) {\n this.updateRatio();\n }\n value = this.ensureValueInBounds(value);\n this.ionChange.emit({ value });\n }\n componentDidLoad() {\n this.setupGesture();\n this.didLoad = true;\n }\n connectedCallback() {\n this.updateRatio();\n this.debounceChanged();\n this.disabledChanged();\n /**\n * If we have not yet rendered\n * ion-range, then rangeSlider is not defined.\n * But if we are moving ion-range via appendChild,\n * then rangeSlider will be defined.\n */\n if (this.didLoad) {\n this.setupGesture();\n }\n }\n disconnectedCallback() {\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n }\n getValue() {\n const 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 emitStyle() {\n this.ionStyle.emit({\n 'interactive': true,\n 'interactive-disabled': this.disabled\n });\n }\n onStart(detail) {\n const rect = this.rect = this.rangeSlider.getBoundingClientRect();\n const currentX = detail.currentX;\n // figure out which knob they started closer to\n let 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 onMove(detail) {\n this.update(detail.currentX);\n }\n onEnd(detail) {\n this.update(detail.currentX);\n this.pressedKnob = undefined;\n }\n update(currentX) {\n // figure out where the pointer is currently at\n // update the knob being interacted with\n const rect = this.rect;\n let 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 get valA() {\n return ratioToValue(this.ratioA, this.min, this.max, this.step);\n }\n get valB() {\n return ratioToValue(this.ratioB, this.min, this.max, this.step);\n }\n get ratioLower() {\n if (this.dualKnobs) {\n return Math.min(this.ratioA, this.ratioB);\n }\n return 0;\n }\n get ratioUpper() {\n if (this.dualKnobs) {\n return Math.max(this.ratioA, this.ratioB);\n }\n return this.ratioA;\n }\n updateRatio() {\n const value = this.getValue();\n const { min, max } = this;\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 updateValue() {\n this.noUpdate = true;\n const { valA, valB } = this;\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 setFocus(knob) {\n if (this.el.shadowRoot) {\n const knobEl = this.el.shadowRoot.querySelector(knob === 'A' ? '.range-knob-a' : '.range-knob-b');\n if (knobEl) {\n knobEl.focus();\n }\n }\n }\n render() {\n const { min, max, step, el, handleKeyboard, pressedKnob, disabled, pin, ratioLower, ratioUpper } = this;\n const mode = getIonMode(this);\n const barStart = `${ratioLower * 100}%`;\n const barEnd = `${100 - ratioUpper * 100}%`;\n const doc = document;\n const isRTL = doc.dir === 'rtl';\n const start = isRTL ? 'right' : 'left';\n const end = isRTL ? 'left' : 'right';\n const tickStyle = (tick) => {\n return {\n [start]: tick[start]\n };\n };\n const barStyle = {\n [start]: barStart,\n [end]: barEnd\n };\n const ticks = [];\n if (this.snaps && this.ticks) {\n for (let value = min; value <= max; value += step) {\n const ratio = valueToRatio(value, min, max);\n const tick = {\n 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: createColorClasses(this.color, {\n [mode]: true,\n 'in-item': hostContext('ion-item', el),\n 'range-disabled': disabled,\n 'range-pressed': pressedKnob !== undefined,\n 'range-has-pin': pin\n }) }, h(\"slot\", { name: \"start\" }), h(\"div\", { class: \"range-slider\", ref: rangeEl => this.rangeSlider = rangeEl }, ticks.map(tick => (h(\"div\", { style: tickStyle(tick), role: \"presentation\", class: {\n 'range-tick': true,\n 'range-tick-active': tick.active\n }, part: tick.active ? 'tick-active' : 'tick' }))), h(\"div\", { class: \"range-bar\", role: \"presentation\", part: \"bar\" }), h(\"div\", { class: \"range-bar range-bar-active\", role: \"presentation\", style: barStyle, part: \"bar-active\" }), renderKnob(isRTL, {\n knob: 'A',\n pressed: pressedKnob === 'A',\n value: this.valA,\n ratio: this.ratioA,\n pin,\n disabled,\n handleKeyboard,\n min,\n max\n }), this.dualKnobs && renderKnob(isRTL, {\n knob: 'B',\n pressed: pressedKnob === 'B',\n value: this.valB,\n ratio: this.ratioB,\n pin,\n disabled,\n handleKeyboard,\n min,\n max\n })), h(\"slot\", { name: \"end\" })));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"debounce\": [\"debounceChanged\"],\n \"min\": [\"minChanged\"],\n \"max\": [\"maxChanged\"],\n \"disabled\": [\"disabledChanged\"],\n \"value\": [\"valueChanged\"]\n }; }\n};\nconst renderKnob = (isRTL, { knob, value, ratio, min, max, disabled, pressed, pin, handleKeyboard }) => {\n const start = isRTL ? 'right' : 'left';\n const knobStyle = () => {\n const style = {};\n style[start] = `${ratio * 100}%`;\n return style;\n };\n return (h(\"div\", { onKeyDown: (ev) => {\n const 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\", part: \"pin\" }, Math.round(value)), h(\"div\", { class: \"range-knob\", role: \"presentation\", part: \"knob\" })));\n};\nconst ratioToValue = (ratio, min, max, step) => {\n let value = (max - min) * ratio;\n if (step > 0) {\n value = Math.round(value / step) * step + min;\n }\n return clamp(min, value, max);\n};\nconst valueToRatio = (value, min, max) => {\n return clamp(0, (value - min) / (max - min), 1);\n};\nRange.style = {\n ios: rangeIosCss,\n md: rangeMdCss\n};\n\nexport { Range as ion_range };\n"]}