{"version":3,"sources":["./node_modules/@ionic/core/dist/esm/ion-input-md.entry.js"],"names":[],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6H;AAC/F;AACiD;AACjB;;AAE9D;AACA;AACA,QAAQ,2DAAgB;AACxB,oCAAoC,WAAW;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,2DAAW;AACnC,yBAAyB,2DAAW;AACpC,uBAAuB,2DAAW;AAClC,wBAAwB,2DAAW;AACnC,+BAA+B,2DAAW;AAC1C,iCAAiC,2DAAW;AAC5C,wBAAwB,2DAAW;AACnC;AACA;AACA,yBAAyB,8DAAa;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,iEAAiE;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,oBAAoB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2DAAU;AAC/B;AACA;AACA,sBAAsB,8DAAa;AACnC;AACA;AACA;AACA,gBAAgB,2DAAC,CAAC,mDAAI,GAAG,sFAAsF,EAAE,4DAAkB,gBAAgB,yEAAyE,GAAG,EAAE,2DAAC,WAAW,6sBAA6sB,4DAA4D,2DAAC,YAAY,iIAAiI;AACpoC;AACA,cAAc,QAAQ,2DAAU,OAAO;AACvC,2BAA2B;AAC3B;AACA;AACA;AACA,MAAM;AACN,wBAAwB,4BAA4B,4BAA4B,iCAAiC,kCAAkC,yBAAyB,gBAAgB,mBAAmB,kBAAkB,yBAAyB,gBAAgB,oBAAoB,aAAa,kBAAkB,WAAW,OAAO,sBAAsB,mBAAmB,WAAW,oBAAoB,6BAA6B,mBAAmB,2CAA2C,UAAU,0FAA0F,kBAAkB,6BAA6B,4BAA4B,8BAA8B,mCAAmC,kCAAkC,iCAAiC,+BAA+B,qCAAqC,oBAAoB,kBAAkB,mBAAmB,oBAAoB,uBAAuB,wBAAwB,oBAAoB,sBAAsB,uBAAuB,mBAAmB,oBAAoB,cAAc,qBAAqB,WAAW,OAAO,WAAW,eAAe,gBAAgB,SAAS,aAAa,uBAAuB,8BAA8B,sBAAsB,wBAAwB,qBAAqB,gBAAgB,6FAA6F,8BAA8B,mBAAmB,oBAAoB,2CAA2C,0CAA0C,uCAAuC,uCAAuC,yDAAyD,+BAA+B,oBAAoB,yCAAyC,2CAA2C,mCAAmC,gDAAgD,+BAA+B,oBAAoB,yCAAyC,2CAA2C,mCAAmC,oDAAoD,+BAA+B,oBAAoB,yCAAyC,2CAA2C,mCAAmC,qDAAqD,+BAA+B,oBAAoB,yCAAyC,2CAA2C,mCAAmC,2CAA2C,+BAA+B,oBAAoB,yCAAyC,2CAA2C,mCAAmC,+CAA+C,6BAA6B,sCAAsC,wBAAwB,gBAAgB,yCAAyC,aAAa,wCAAwC,WAAW,8BAA8B,OAAO,MAAM,kBAAkB,oBAAoB,+KAA+K,WAAW,YAAY,QAAQ,kCAAkC,cAAc,eAAe,aAAa,gBAAgB,eAAe,gBAAgB,cAAc,iBAAiB,wBAAwB,SAAS,aAAa,6BAA6B,4BAA4B,kBAAkB,wBAAwB,qBAAqB,gBAAgB,yEAAyE,mBAAmB,6BAA6B,oBAAoB,wJAAwJ,oBAAoB,mBAAmB,mBAAmB,gBAAgB,sBAAsB,oBAAoB,kBAAkB,+JAA+J,kBAAkB,qBAAqB,kBAAkB,kCAAkC,0CAA0C,mVAAmV,WAAW,YAAY,qBAAqB,EAAE;AAChqJ;AACA;;AAE8B","file":"29-es2015.js","sourcesContent":["import { r as registerInstance, d as createEvent, c as getIonMode, h, H as Host, e as getElement } from './core-0a8d4d2e.js';\nimport './config-3c7f3790.js';\nimport { d as debounceEvent, f as findItemLabel } from './helpers-46f4a262.js';\nimport { c as createColorClasses } from './theme-18cbe2cc.js';\n\nconst Input = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.inputId = `ion-input-${inputIds++}`;\n this.didBlurAfterEdit = false;\n this.hasFocus = false;\n /**\n * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.\n */\n this.autocapitalize = 'off';\n /**\n * Indicates whether the value of the control can be automatically completed by the browser.\n */\n this.autocomplete = 'off';\n /**\n * Whether auto correction should be enabled when the user is entering/editing the text value.\n */\n this.autocorrect = 'off';\n /**\n * This Boolean attribute lets you specify that a form control should have input focus when the page loads.\n */\n this.autofocus = false;\n /**\n * If `true`, a clear icon will appear in the input when there is a value. Clicking it clears the input.\n */\n this.clearInput = false;\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `ionChange` event after each keystroke.\n */\n this.debounce = 0;\n /**\n * If `true`, the user cannot interact with the input.\n */\n this.disabled = false;\n /**\n * The name of the control, which is submitted with the form data.\n */\n this.name = this.inputId;\n /**\n * If `true`, the user cannot modify the value.\n */\n this.readonly = false;\n /**\n * If `true`, the user must fill in a value before submitting a form.\n */\n this.required = false;\n /**\n * If `true`, the element will have its spelling and grammar checked.\n */\n this.spellcheck = false;\n /**\n * The type of control to display. The default type is text.\n */\n this.type = 'text';\n /**\n * The value of the input.\n */\n this.value = '';\n this.onInput = (ev) => {\n const input = ev.target;\n if (input) {\n this.value = input.value || '';\n }\n this.ionInput.emit(ev);\n };\n this.onBlur = () => {\n this.hasFocus = false;\n this.focusChanged();\n this.emitStyle();\n this.ionBlur.emit();\n };\n this.onFocus = () => {\n this.hasFocus = true;\n this.focusChanged();\n this.emitStyle();\n this.ionFocus.emit();\n };\n this.onKeydown = (ev) => {\n if (this.shouldClearOnEdit()) {\n // Did the input value change after it was blurred and edited?\n // Do not clear if user is hitting Enter to submit form\n if (this.didBlurAfterEdit && this.hasValue() && ev.key !== 'Enter') {\n // Clear the input\n this.clearTextInput();\n }\n // Reset the flag\n this.didBlurAfterEdit = false;\n }\n };\n this.clearTextInput = (ev) => {\n if (this.clearInput && !this.readonly && !this.disabled && ev) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n this.value = '';\n /**\n * This is needed for clearOnEdit\n * Otherwise the value will not be cleared\n * if user is inside the input\n */\n if (this.nativeInput) {\n this.nativeInput.value = '';\n }\n };\n this.ionInput = createEvent(this, \"ionInput\", 7);\n this.ionChange = createEvent(this, \"ionChange\", 7);\n this.ionBlur = createEvent(this, \"ionBlur\", 7);\n this.ionFocus = createEvent(this, \"ionFocus\", 7);\n this.ionInputDidLoad = createEvent(this, \"ionInputDidLoad\", 7);\n this.ionInputDidUnload = createEvent(this, \"ionInputDidUnload\", 7);\n this.ionStyle = createEvent(this, \"ionStyle\", 7);\n }\n debounceChanged() {\n this.ionChange = debounceEvent(this.ionChange, this.debounce);\n }\n disabledChanged() {\n this.emitStyle();\n }\n /**\n * Update the native input element when the value changes\n */\n valueChanged() {\n this.emitStyle();\n this.ionChange.emit({ value: this.value == null ? this.value : this.value.toString() });\n }\n connectedCallback() {\n this.emitStyle();\n this.debounceChanged();\n {\n this.el.dispatchEvent(new CustomEvent('ionInputDidLoad', {\n detail: this.el\n }));\n }\n }\n disconnectedCallback() {\n {\n document.dispatchEvent(new CustomEvent('ionInputDidUnload', {\n detail: this.el\n }));\n }\n }\n /**\n * Sets focus on the specified `ion-input`. Use this method instead of the global\n * `input.focus()`.\n */\n async setFocus() {\n if (this.nativeInput) {\n this.nativeInput.focus();\n }\n }\n /**\n * Returns the native `` element used under the hood.\n */\n getInputElement() {\n return Promise.resolve(this.nativeInput);\n }\n shouldClearOnEdit() {\n const { type, clearOnEdit } = this;\n return (clearOnEdit === undefined)\n ? type === 'password'\n : clearOnEdit;\n }\n getValue() {\n return typeof this.value === 'number' ? this.value.toString() :\n (this.value || '').toString();\n }\n emitStyle() {\n this.ionStyle.emit({\n 'interactive': true,\n 'input': true,\n 'has-placeholder': this.placeholder != null,\n 'has-value': this.hasValue(),\n 'has-focus': this.hasFocus,\n 'interactive-disabled': this.disabled,\n });\n }\n focusChanged() {\n // If clearOnEdit is enabled and the input blurred but has a value, set a flag\n if (!this.hasFocus && this.shouldClearOnEdit() && this.hasValue()) {\n this.didBlurAfterEdit = true;\n }\n }\n hasValue() {\n return this.getValue().length > 0;\n }\n render() {\n const mode = getIonMode(this);\n const value = this.getValue();\n const labelId = this.inputId + '-lbl';\n const label = findItemLabel(this.el);\n if (label) {\n label.id = labelId;\n }\n return (h(Host, { \"aria-disabled\": this.disabled ? 'true' : null, class: Object.assign(Object.assign({}, createColorClasses(this.color)), { [mode]: true, 'has-value': this.hasValue(), 'has-focus': this.hasFocus }) }, h(\"input\", { class: \"native-input\", ref: input => this.nativeInput = input, \"aria-labelledby\": labelId, disabled: this.disabled, accept: this.accept, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellCheck: this.spellcheck, step: this.step, size: this.size, type: this.type, value: value, onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown }), (this.clearInput && !this.readonly && !this.disabled) && h(\"button\", { type: \"button\", class: \"input-clear-icon\", tabindex: \"-1\", onTouchStart: this.clearTextInput, onMouseDown: this.clearTextInput })));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"debounce\": [\"debounceChanged\"],\n \"disabled\": [\"disabledChanged\"],\n \"value\": [\"valueChanged\"]\n }; }\n static get style() { return \".sc-ion-input-md-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;--padding-top:0;--padding-bottom:0;--padding-start:0;--background:transparent;--color:initial;display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;width:100%;padding:0!important;background:var(--background);color:var(--color);font-family:var(--ion-font-family,inherit);z-index:2}ion-item.sc-ion-input-md-h:not(.item-label), ion-item:not(.item-label) .sc-ion-input-md-h{--padding-start:0}.ion-color.sc-ion-input-md-h{color:var(--ion-color-base)}.native-input.sc-ion-input-md{border-radius:var(--border-radius);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:inline-block;-ms-flex:1;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}\\@supports ((-webkit-margin-start:0) or (margin-inline-start:0)) or (-webkit-margin-start:0){.native-input.sc-ion-input-md{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.native-input.sc-ion-input-md::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md:-webkit-autofill{background-color:transparent}.native-input.sc-ion-input-md:invalid{-webkit-box-shadow:none;box-shadow:none}.native-input.sc-ion-input-md::-ms-clear{display:none}.native-input[disabled].sc-ion-input-md{opacity:.4}.cloned-input.sc-ion-input-md{left:0;top:0;position:absolute;pointer-events:none}[dir=rtl].sc-ion-input-md-h .cloned-input.sc-ion-input-md, [dir=rtl] .sc-ion-input-md-h .cloned-input.sc-ion-input-md, [dir=rtl].sc-ion-input-md .cloned-input.sc-ion-input-md{left:unset;right:unset;right:0}.input-clear-icon.sc-ion-input-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;background-position:50%;border:0;outline:none;background-color:transparent;background-repeat:no-repeat;visibility:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}.has-focus.has-value.sc-ion-input-md-h .input-clear-icon.sc-ion-input-md{visibility:visible}.has-focus.sc-ion-input-md-h{pointer-events:none}.has-focus.sc-ion-input-md-h a.sc-ion-input-md, .has-focus.sc-ion-input-md-h button.sc-ion-input-md, .has-focus.sc-ion-input-md-h input.sc-ion-input-md{pointer-events:auto}.sc-ion-input-md-h{--padding-top:10px;--padding-end:0;--padding-bottom:10px;--padding-start:8px;font-size:inherit}.item-label-floating.sc-ion-input-md-h, .item-label-floating .sc-ion-input-md-h, .item-label-stacked.sc-ion-input-md-h, .item-label-stacked .sc-ion-input-md-h{--padding-top:8px;--padding-bottom:8px;--padding-start:0}.input-clear-icon.sc-ion-input-md{background-image:url(\\\"data:image/svg+xml;charset=utf-8,\\\");width:30px;height:30px;background-size:22px}\"; }\n};\nlet inputIds = 0;\n\nexport { Input as ion_input };\n"],"sourceRoot":"webpack:///"}