var __awaiter=this&&this.__awaiter||function(t,e,i,n){function a(t){return t instanceof i?t:new i((function(e){e(t)}))}return new(i||(i=Promise))((function(i,r){function o(t){try{s(n.next(t))}catch(t){r(t)}}function l(t){try{s(n["throw"](t))}catch(t){r(t)}}function s(t){t.done?i(t.value):a(t.value).then(o,l)}s((n=n.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var i={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},n,a,r,o;return o={next:l(0),throw:l(1),return:l(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function l(t){return function(e){return s([t,e])}}function s(o){if(n)throw new TypeError("Generator is already executing.");while(i)try{if(n=1,a&&(r=o[0]&2?a["return"]:o[0]?a["throw"]||((r=a["return"])&&r.call(a),0):a.next)&&!(r=r.call(a,o[1])).done)return r;if(a=0,r)o=[o[0]&2,r.value];switch(o[0]){case 0:case 1:r=o;break;case 4:i.label++;return{value:o[1],done:false};case 5:i.label++;a=o[1];o=[0];continue;case 7:o=i.ops.pop();i.trys.pop();continue;default:if(!(r=i.trys,r=r.length>0&&r[r.length-1])&&(o[0]===6||o[0]===2)){i=0;continue}if(o[0]===3&&(!r||o[1]>r[0]&&o[1]0},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"isTextarea",{get:function(){return this.childElType==="textarea"},enumerable:false,configurable:true});t.prototype.connectedCallback=function(){var t;this.scale=getElementProp(this.el,"scale",this.scale);this.status=getElementProp(this.el,"status",this.status);this.inlineEditableEl=this.el.closest("calcite-inline-editable");if(this.inlineEditableEl){this.editingEnabled=this.inlineEditableEl.editingEnabled||false}this.setPreviousEmittedValue(this.value);this.setPreviousValue(this.value);if(this.type==="number"){this.warnAboutInvalidNumberValue(this.value);this.setValue({origin:"connected",value:isValidNumber(this.value)?this.value:""})}connectLabel(this);connectForm(this);(t=this.mutationObserver)===null||t===void 0?void 0:t.observe(this.el,{childList:true});this.setDisabledAction()};t.prototype.disconnectedCallback=function(){var t;disconnectLabel(this);disconnectForm(this);(t=this.mutationObserver)===null||t===void 0?void 0:t.disconnect()};t.prototype.componentWillLoad=function(){var t,e;this.childElType=this.type==="textarea"?"textarea":"input";this.maxString=(t=this.max)===null||t===void 0?void 0:t.toString();this.minString=(e=this.min)===null||e===void 0?void 0:e.toString();this.requestedIcon=setRequestedIcon(INPUT_TYPE_ICONS,this.icon,this.type)};t.prototype.componentShouldUpdate=function(t,e,i){if(this.type==="number"&&i==="value"&&t&&!isValidNumber(t)){this.setValue({origin:"reset",value:e});return false}return true};t.prototype.componentDidRender=function(){updateHostInteraction(this)};t.prototype.setFocus=function(){return __awaiter(this,void 0,void 0,(function(){var t,e;return __generator(this,(function(i){if(this.type==="number"){(t=this.childNumberEl)===null||t===void 0?void 0:t.focus()}else{(e=this.childEl)===null||e===void 0?void 0:e.focus()}return[2]}))}))};t.prototype.onLabelClick=function(){this.setFocus()};t.prototype.incrementOrDecrementNumberValue=function(t,e,i,n){var a=this.value;var r=this.step==="any"?1:Math.abs(this.step||1);var o=a&&a!==""?parseFloat(a):0;var l=t==="up"?1:-1;var s=o+r*l;var u=typeof i==="number"&&!isNaN(i)&&se?o:s;var c=decimalPlaces(o);var d=decimalPlaces(r);this.setValue({committing:true,nativeEvent:n,origin:"user",value:u.toFixed(Math.max(c,d))})};t.prototype.onFormReset=function(){this.setValue({origin:"reset",value:this.defaultValue})};t.prototype.syncHiddenFormInput=function(t){var e,i,n,a;if(this.type==="number"){t.type="number";t.min=(i=(e=this.min)===null||e===void 0?void 0:e.toString(10))!==null&&i!==void 0?i:"";t.max=(a=(n=this.max)===null||n===void 0?void 0:n.toString(10))!==null&&a!==void 0?a:""}else if(this.type==="text"){t.type="text";if(this.minLength!=null){t.minLength=this.minLength}if(this.maxLength!=null){t.maxLength=this.maxLength}}else if(this.type==="password"){t.type="password"}};t.prototype.setDisabledAction=function(){var t=getSlotted(this.el,"action");if(!t){return}this.disabled?t.setAttribute("disabled",""):t.removeAttribute("disabled")};t.prototype.warnAboutInvalidNumberValue=function(t){if(this.type==="number"&&t&&!isValidNumber(t)){console.warn('The specified value "'.concat(t,'" cannot be parsed, or is out of range.'))}};t.prototype.render=function(){var t,e,i,n;var a=getElementDir(this.el);var r=h("div",{class:CSS.loader},h("calcite-progress",{label:this.intlLoading,type:"indeterminate"}));var o=h("button",{"aria-label":this.intlClear||TEXT.clear,class:CSS.clearButton,disabled:this.disabled||this.readOnly,onClick:this.clearInputValue,tabIndex:this.disabled?-1:0,type:"button"},h("calcite-icon",{icon:"x",scale:"s"}));var l=h("calcite-icon",{class:CSS.inputIcon,flipRtl:this.iconFlipRtl,icon:this.requestedIcon,scale:"s"});var s=this.numberButtonType==="horizontal";var u=h("button",{class:(t={},t[CSS.numberButtonItem]=true,t[CSS.buttonItemHorizontal]=s,t),"data-adjustment":"up",disabled:this.disabled||this.readOnly,onMouseDown:this.numberButtonMouseDownHandler,onMouseOut:this.numberButtonMouseUpAndMouseOutHandler,onMouseUp:this.numberButtonMouseUpAndMouseOutHandler,tabIndex:-1,type:"button"},h("calcite-icon",{icon:"chevron-up",scale:"s"}));var c=h("button",{class:(e={},e[CSS.numberButtonItem]=true,e[CSS.buttonItemHorizontal]=s,e),"data-adjustment":"down",disabled:this.disabled||this.readOnly,onMouseDown:this.numberButtonMouseDownHandler,onMouseOut:this.numberButtonMouseUpAndMouseOutHandler,onMouseUp:this.numberButtonMouseUpAndMouseOutHandler,tabIndex:-1,type:"button"},h("calcite-icon",{icon:"chevron-down",scale:"s"}));var d=h("div",{class:CSS.numberButtonWrapper},u,c);var p=h("div",{class:CSS.prefix},this.prefixText);var m=h("div",{class:CSS.suffix},this.suffixText);var b=this.type==="number"?h("input",{"aria-label":getLabelText(this),autofocus:this.autofocus?true:null,defaultValue:this.defaultValue,disabled:this.disabled?true:null,enterKeyHint:this.el.enterKeyHint,inputMode:this.el.inputMode,key:"localized-input",maxLength:this.maxLength,minLength:this.minLength,name:undefined,onBlur:this.inputBlurHandler,onFocus:this.inputFocusHandler,onInput:this.inputNumberInputHandler,onKeyDown:this.inputNumberKeyDownHandler,onKeyUp:this.inputKeyUpHandler,placeholder:this.placeholder||"",readOnly:this.readOnly,ref:this.setChildNumberElRef,type:"text",value:this.localizedValue}):null;var f=this.type!=="number"?[h(this.childElType,{"aria-label":getLabelText(this),autofocus:this.autofocus?true:null,class:(i={},i[CSS.editingEnabled]=this.editingEnabled,i[CSS.inlineChild]=!!this.inlineEditableEl,i),defaultValue:this.defaultValue,disabled:this.disabled?true:null,enterKeyHint:this.el.enterKeyHint,inputMode:this.el.inputMode,max:this.maxString,maxLength:this.maxLength,min:this.minString,minLength:this.minLength,name:this.name,onBlur:this.inputBlurHandler,onFocus:this.inputFocusHandler,onInput:this.inputInputHandler,onKeyDown:this.inputKeyDownHandler,onKeyUp:this.inputKeyUpHandler,placeholder:this.placeholder||"",readOnly:this.readOnly,ref:this.setChildElRef,required:this.required?true:null,step:this.step,tabIndex:this.disabled||this.inlineEditableEl&&!this.editingEnabled?-1:null,type:this.type,value:this.value}),this.isTextarea?h("div",{class:CSS.resizeIconWrapper},h("calcite-icon",{icon:"chevron-down",scale:"s"})):null]:null;return h(Host,{onClick:this.inputFocusHandler,onKeyDown:this.keyDownHandler},h("div",{class:(n={},n[CSS.inputWrapper]=true,n[CSS_UTILITY.rtl]=a==="rtl",n)},this.type==="number"&&this.numberButtonType==="horizontal"&&!this.readOnly?c:null,this.prefixText?p:null,h("div",{class:CSS.wrapper},b,f,this.isClearable?o:null,this.requestedIcon?l:null,this.loading?r:null),h("div",{class:CSS.actionWrapper},h("slot",{name:SLOTS.action})),this.type==="number"&&this.numberButtonType==="vertical"&&!this.readOnly?d:null,this.suffixText?m:null,this.type==="number"&&this.numberButtonType==="horizontal"&&!this.readOnly?u:null,h(HiddenFormInputSlot,{component:this})))};Object.defineProperty(t.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{disabled:["disabledWatcher"],max:["maxWatcher"],min:["minWatcher"],value:["valueWatcher"],icon:["updateRequestedIcon"],type:["updateRequestedIcon"]}},enumerable:false,configurable:true});return t}();Input.style=inputCss;export{Input as calcite_input};