mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 20:47:54 +00:00
1 line
67 KiB
JSON
1 line
67 KiB
JSON
{"ast":null,"code":"import _asyncToGenerator from \"C:/Users/eudes.inacio/GabineteDigital/gabinete-digital-fo/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\nimport { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-7a8b7a1c.js';\nimport { b as getIonMode } from './ionic-global-63a97a32.js';\nimport { k as clamp, f as debounceEvent, i as inheritAriaAttributes, d as getAriaLabel, e as renderHiddenInput } from './helpers-1457892a.js';\nimport { c as createColorClasses, h as hostContext } from './theme-ff3fc52f.js';\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}\";\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)}\";\nconst Range = class {\n constructor(hostRef) {\n var _this = this;\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.inheritedAttributes = {};\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 // TODO: In Ionic Framework v6 this should initialize to this.rangeId like the other form components do.\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 } else {\n return this.clampBounds(value);\n }\n };\n this.setupGesture = /*#__PURE__*/_asyncToGenerator(function* () {\n const rangeSlider = _this.rangeSlider;\n if (rangeSlider) {\n _this.gesture = (yield import('./index-34cb2743.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 } 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({\n value\n });\n }\n componentWillLoad() {\n /**\n * If user has custom ID set then we should\n * not assign the default incrementing ID.\n */\n this.rangeId = this.el.hasAttribute('id') ? this.el.getAttribute('id') : `ion-r-${rangeIds++}`;\n this.inheritedAttributes = inheritAriaAttributes(this.el);\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 } 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 = !this.dualKnobs || Math.abs(this.ratioA - ratio) < Math.abs(this.ratioB - ratio) ? 'A' : '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 } 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 {\n min,\n max\n } = this;\n if (this.dualKnobs) {\n this.ratioA = valueToRatio(value.lower, min, max);\n this.ratioB = valueToRatio(value.upper, min, max);\n } else {\n this.ratioA = valueToRatio(value, min, max);\n }\n }\n updateValue() {\n this.noUpdate = true;\n const {\n valA,\n valB\n } = this;\n this.value = !this.dualKnobs ? valA : {\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 {\n min,\n max,\n step,\n el,\n handleKeyboard,\n pressedKnob,\n disabled,\n pin,\n ratioLower,\n ratioUpper,\n inheritedAttributes,\n rangeId\n } = this;\n /**\n * Look for external label, ion-label, or aria-labelledby.\n * If none, see if user placed an aria-label on the host\n * and use that instead.\n */\n let {\n labelText\n } = getAriaLabel(el, rangeId);\n if (labelText === undefined || labelText === null) {\n labelText = inheritedAttributes['aria-label'];\n }\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, {\n onFocusin: this.onFocus,\n onFocusout: this.onBlur,\n id: rangeId,\n 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 })\n }, h(\"slot\", {\n name: \"start\"\n }), h(\"div\", {\n class: \"range-slider\",\n ref: rangeEl => this.rangeSlider = rangeEl\n }, ticks.map(tick => h(\"div\", {\n style: tickStyle(tick),\n role: \"presentation\",\n class: {\n 'range-tick': true,\n 'range-tick-active': tick.active\n },\n part: tick.active ? 'tick-active' : 'tick'\n })), h(\"div\", {\n class: \"range-bar\",\n role: \"presentation\",\n part: \"bar\"\n }), h(\"div\", {\n class: \"range-bar range-bar-active\",\n role: \"presentation\",\n style: barStyle,\n part: \"bar-active\"\n }), 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 labelText\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 labelText\n })), h(\"slot\", {\n name: \"end\"\n }));\n }\n get el() {\n return getElement(this);\n }\n static get watchers() {\n return {\n \"debounce\": [\"debounceChanged\"],\n \"min\": [\"minChanged\"],\n \"max\": [\"maxChanged\"],\n \"disabled\": [\"disabledChanged\"],\n \"value\": [\"valueChanged\"]\n };\n }\n};\nconst renderKnob = (isRTL, {\n knob,\n value,\n ratio,\n min,\n max,\n disabled,\n pressed,\n pin,\n handleKeyboard,\n labelText\n}) => {\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\", {\n onKeyDown: ev => {\n const key = ev.key;\n if (key === 'ArrowLeft' || key === 'ArrowDown') {\n handleKeyboard(knob, false);\n ev.preventDefault();\n ev.stopPropagation();\n } else if (key === 'ArrowRight' || key === 'ArrowUp') {\n handleKeyboard(knob, true);\n ev.preventDefault();\n ev.stopPropagation();\n }\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 },\n style: knobStyle(),\n role: \"slider\",\n tabindex: disabled ? -1 : 0,\n \"aria-label\": labelText,\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n \"aria-disabled\": disabled ? 'true' : null,\n \"aria-valuenow\": value\n }, pin && h(\"div\", {\n class: \"range-pin\",\n role: \"presentation\",\n part: \"pin\"\n }, Math.round(value)), h(\"div\", {\n class: \"range-knob\",\n role: \"presentation\",\n part: \"knob\"\n }));\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};\nlet rangeIds = 0;\nRange.style = {\n ios: rangeIosCss,\n md: rangeMdCss\n};\nexport { Range as ion_range };","map":{"version":3,"names":["r","registerInstance","e","createEvent","h","H","Host","i","getElement","b","getIonMode","k","clamp","f","debounceEvent","inheritAriaAttributes","d","getAriaLabel","renderHiddenInput","c","createColorClasses","hostContext","rangeIosCss","rangeMdCss","Range","constructor","hostRef","_this","ionChange","ionStyle","ionFocus","ionBlur","didLoad","noUpdate","hasFocus","inheritedAttributes","ratioA","ratioB","debounce","name","dualKnobs","min","max","pin","snaps","step","ticks","disabled","value","clampBounds","ensureValueInBounds","lower","upper","setupGesture","_asyncToGenerator","rangeSlider","gesture","createGesture","el","gestureName","gesturePriority","threshold","onStart","ev","onMove","onEnd","enable","handleKeyboard","knob","isIncrease","updateValue","onBlur","emit","emitStyle","onFocus","debounceChanged","minChanged","updateRatio","maxChanged","disabledChanged","valueChanged","componentWillLoad","rangeId","hasAttribute","getAttribute","rangeIds","componentDidLoad","connectedCallback","disconnectedCallback","destroy","undefined","getValue","detail","rect","getBoundingClientRect","currentX","ratio","left","width","document","dir","pressedKnob","Math","abs","setFocus","update","valueToRatio","ratioToValue","valA","valB","ratioLower","ratioUpper","shadowRoot","knobEl","querySelector","focus","render","labelText","mode","barStart","barEnd","doc","isRTL","start","end","tickStyle","tick","barStyle","active","push","JSON","stringify","onFocusin","onFocusout","id","class","color","ref","rangeEl","map","style","role","part","renderKnob","pressed","watchers","knobStyle","onKeyDown","key","preventDefault","stopPropagation","tabindex","round","ios","md","ion_range"],"sources":["C:/Users/eudes.inacio/GabineteDigital/gabinete-digital-fo/node_modules/@ionic/core/dist/esm/ion-range.entry.js"],"sourcesContent":["import { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-7a8b7a1c.js';\nimport { b as getIonMode } from './ionic-global-63a97a32.js';\nimport { k as clamp, f as debounceEvent, i as inheritAriaAttributes, d as getAriaLabel, e as renderHiddenInput } from './helpers-1457892a.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.inheritedAttributes = {};\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 // TODO: In Ionic Framework v6 this should initialize to this.rangeId like the other form components do.\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-34cb2743.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 componentWillLoad() {\n /**\n * If user has custom ID set then we should\n * not assign the default incrementing ID.\n */\n this.rangeId = (this.el.hasAttribute('id')) ? this.el.getAttribute('id') : `ion-r-${rangeIds++}`;\n this.inheritedAttributes = inheritAriaAttributes(this.el);\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, inheritedAttributes, rangeId } = this;\n /**\n * Look for external label, ion-label, or aria-labelledby.\n * If none, see if user placed an aria-label on the host\n * and use that instead.\n */\n let { labelText } = getAriaLabel(el, rangeId);\n if (labelText === undefined || labelText === null) {\n labelText = inheritedAttributes['aria-label'];\n }\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, id: rangeId, 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 labelText\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 labelText\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, labelText }) => {\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-label\": labelText, \"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};\nlet rangeIds = 0;\nRange.style = {\n ios: rangeIosCss,\n md: rangeMdCss\n};\n\nexport { Range as ion_range };\n"],"mappings":"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"},"metadata":{},"sourceType":"module"} |