@sky.ui/core 0.0.40 → 0.0.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/dist/custom-elements.json +2011 -1275
  2. package/dist/helper/controllers/animation-controller.d.ts +4 -4
  3. package/dist/helper/controllers/animation-controller.js.map +1 -1
  4. package/dist/helper/controllers/index.d.ts +1 -0
  5. package/dist/helper/controllers/index.js +1 -1
  6. package/dist/helper/controllers/popover-controller.d.ts +12 -12
  7. package/dist/helper/controllers/popover-controller.js.map +1 -1
  8. package/dist/helper/controllers/preset-controller.d.ts +55 -0
  9. package/dist/helper/controllers/preset-controller.js +2 -0
  10. package/dist/helper/controllers/preset-controller.js.map +1 -0
  11. package/dist/helper/iconify-offline.js.map +1 -1
  12. package/dist/helper/index.js +1 -1
  13. package/dist/helper/internals/form-control-base.d.ts +6 -6
  14. package/dist/helper/internals/form-control-base.js.map +1 -1
  15. package/dist/helper/styles/focus-ring.d.ts +10 -0
  16. package/dist/helper/styles/focus-ring.js +10 -0
  17. package/dist/helper/styles/focus-ring.js.map +1 -0
  18. package/dist/helper/utils/color-resolver.d.ts +0 -14
  19. package/dist/helper/utils/color-resolver.js +1 -1
  20. package/dist/helper/utils/color-resolver.js.map +1 -1
  21. package/dist/helper/utils/component-presets.d.ts +132 -0
  22. package/dist/helper/utils/component-presets.js +2 -0
  23. package/dist/helper/utils/component-presets.js.map +1 -0
  24. package/dist/helper/utils/contrast-color.d.ts +6 -6
  25. package/dist/helper/utils/contrast-color.js.map +1 -1
  26. package/dist/helper/utils/index.d.ts +1 -0
  27. package/dist/helper/utils/index.js +1 -1
  28. package/dist/helper/utils/size-resolver.js.map +1 -1
  29. package/dist/index.js +1 -1
  30. package/dist/sky-alert/sky-alert.d.ts +15 -7
  31. package/dist/sky-alert/sky-alert.js +10 -20
  32. package/dist/sky-alert/sky-alert.js.map +1 -1
  33. package/dist/sky-appbar/sky-appbar.d.ts +9 -3
  34. package/dist/sky-appbar/sky-appbar.js +27 -19
  35. package/dist/sky-appbar/sky-appbar.js.map +1 -1
  36. package/dist/sky-avatar/sky-avatar.d.ts +6 -2
  37. package/dist/sky-avatar/sky-avatar.js +17 -14
  38. package/dist/sky-avatar/sky-avatar.js.map +1 -1
  39. package/dist/sky-badge/sky-badge.d.ts +9 -5
  40. package/dist/sky-badge/sky-badge.js +12 -16
  41. package/dist/sky-badge/sky-badge.js.map +1 -1
  42. package/dist/sky-button/sky-button.d.ts +27 -7
  43. package/dist/sky-button/sky-button.js +24 -32
  44. package/dist/sky-button/sky-button.js.map +1 -1
  45. package/dist/sky-card/sky-card.d.ts +13 -5
  46. package/dist/sky-card/sky-card.js +24 -24
  47. package/dist/sky-card/sky-card.js.map +1 -1
  48. package/dist/sky-checkbox/sky-checkbox.d.ts +6 -3
  49. package/dist/sky-checkbox/sky-checkbox.js +43 -44
  50. package/dist/sky-checkbox/sky-checkbox.js.map +1 -1
  51. package/dist/sky-chip/sky-chip.d.ts +7 -3
  52. package/dist/sky-chip/sky-chip.js +35 -43
  53. package/dist/sky-chip/sky-chip.js.map +1 -1
  54. package/dist/sky-col/sky-col.d.ts +7 -3
  55. package/dist/sky-col/sky-col.js +6 -11
  56. package/dist/sky-col/sky-col.js.map +1 -1
  57. package/dist/sky-combobox/sky-combobox.d.ts +15 -8
  58. package/dist/sky-combobox/sky-combobox.js +193 -257
  59. package/dist/sky-combobox/sky-combobox.js.map +1 -1
  60. package/dist/sky-dialog/sky-dialog.d.ts +7 -3
  61. package/dist/sky-dialog/sky-dialog.js +22 -20
  62. package/dist/sky-dialog/sky-dialog.js.map +1 -1
  63. package/dist/sky-divider/sky-divider.d.ts +6 -2
  64. package/dist/sky-divider/sky-divider.js +5 -5
  65. package/dist/sky-divider/sky-divider.js.map +1 -1
  66. package/dist/sky-flexbox/sky-flexbox.d.ts +10 -6
  67. package/dist/sky-flexbox/sky-flexbox.js +6 -6
  68. package/dist/sky-flexbox/sky-flexbox.js.map +1 -1
  69. package/dist/sky-flexcol/sky-flexcol.d.ts +6 -2
  70. package/dist/sky-flexcol/sky-flexcol.js +2 -2
  71. package/dist/sky-flexcol/sky-flexcol.js.map +1 -1
  72. package/dist/sky-form/sky-form.d.ts +15 -11
  73. package/dist/sky-form/sky-form.js +14 -14
  74. package/dist/sky-form/sky-form.js.map +1 -1
  75. package/dist/sky-grid/sky-grid.d.ts +5 -1
  76. package/dist/sky-grid/sky-grid.js +3 -3
  77. package/dist/sky-grid/sky-grid.js.map +1 -1
  78. package/dist/sky-icon/sky-icon.d.ts +3 -0
  79. package/dist/sky-icon/sky-icon.js +4 -4
  80. package/dist/sky-icon/sky-icon.js.map +1 -1
  81. package/dist/sky-image/sky-image.d.ts +8 -4
  82. package/dist/sky-image/sky-image.js +5 -5
  83. package/dist/sky-image/sky-image.js.map +1 -1
  84. package/dist/sky-image/srcset-utils.js.map +1 -1
  85. package/dist/sky-input/sky-input.d.ts +9 -5
  86. package/dist/sky-input/sky-input.js +155 -170
  87. package/dist/sky-input/sky-input.js.map +1 -1
  88. package/dist/sky-list/sky-list.d.ts +7 -3
  89. package/dist/sky-list/sky-list.js +6 -4
  90. package/dist/sky-list/sky-list.js.map +1 -1
  91. package/dist/sky-listitem/sky-listitem.d.ts +5 -1
  92. package/dist/sky-listitem/sky-listitem.js +10 -7
  93. package/dist/sky-listitem/sky-listitem.js.map +1 -1
  94. package/dist/sky-radio/sky-radio.d.ts +9 -4
  95. package/dist/sky-radio/sky-radio.js +7 -9
  96. package/dist/sky-radio/sky-radio.js.map +1 -1
  97. package/dist/sky-row/sky-row.d.ts +4 -1
  98. package/dist/sky-row/sky-row.js +2 -2
  99. package/dist/sky-row/sky-row.js.map +1 -1
  100. package/dist/sky-sheet/sky-sheet.d.ts +11 -6
  101. package/dist/sky-sheet/sky-sheet.js +23 -23
  102. package/dist/sky-sheet/sky-sheet.js.map +1 -1
  103. package/dist/sky-simple-table/sky-simple-table.d.ts +7 -3
  104. package/dist/sky-simple-table/sky-simple-table.js +4 -7
  105. package/dist/sky-simple-table/sky-simple-table.js.map +1 -1
  106. package/dist/sky-theme-provider/sky-theme-provider.d.ts +26 -26
  107. package/dist/sky-theme-provider/sky-theme-provider.js +2 -2
  108. package/dist/sky-theme-provider/sky-theme-provider.js.map +1 -1
  109. package/package.json +1 -1
@@ -1,17 +1,17 @@
1
- import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefined as a}from"lit/directives/if-defined.js";import{styleMap as r}from"lit/directives/style-map.js";import{property as n,state as o,query as l,customElement as p}from"lit/decorators.js";import{resolveColor as d}from"../helper/utils/color-resolver.js";import{live as h}from"lit/directives/live.js";import{FormControlBase as c}from"../helper/internals/form-control-base.js";import{SkyIcon as u}from"../sky-icon/sky-icon.js";var y=Object.defineProperty,v=Object.getOwnPropertyDescriptor,f=(t,e,i,s)=>{for(var a,r=s>1?void 0:s?v(e,i):e,n=t.length-1;n>=0;n--)(a=t[n])&&(r=(s?a(e,i,r):a(r))||r);return s&&r&&y(e,i,r),r};let m=class extends c{constructor(){super(...arguments),this.value="",this.placeholder="",this.label="",this.type="text",this.suffix="",this.prefix="",this.prefixColor="",this.suffixColor="",this.color="primary",this._validations=[],this.compact=!1,this.loading=!1,this.showErrors=!1,this.clearable=!1,this.errorDisplayMode="single",this.required=!1,this.step=null,this.min=null,this.max=null,this.autocapitalize="off",this.autocomplete="off",this.spellcheck=!1,this.dir="ltr",this.rows=6,this.resizable="none",this.accept="",this.multiple=!1,this.inputmode=null,this.enterkeyhint=null,this.pattern=null,this.minlength=null,this.maxlength=null,this.list=null,this.size=null,this.cols=null,this.autofocus=!1,this.capture=!1,this.inputRole=null,this.ariaLabel=null,this.ariaLabelledby=null,this.ariaDescribedby=null,this.showNumberButtons=!1,this.showPasswordToggle=!0,this.passwordVisibleIcon="material-symbols:visibility-off",this.passwordHiddenIcon="material-symbols:visibility",this.validationActive=!1,this.invalid=!1,this.variant="default",this.selectedFileName="",this.selectedFiles=[],this.focused=!1,this.validationStatus=[],this.validationErrors=[],this.typingStarted=!1,this.autofillIconSlot="left",this.autofillGuardActive=!1,this.showPassword=!1,this.totalFileSize=0,this.selectedFileCount=0,this.filePreview=null,this._leftIconSlot=null,this._rightIconSlot=null,this._iconClickWired=new WeakSet,this._onLeftIconSlotChange=()=>this._wireIconSlot("left",this._leftIconSlot),this._onRightIconSlotChange=()=>this._wireIconSlot("right",this._rightIconSlot),this.keepInputFocused=t=>{t.preventDefault(),t.stopPropagation(),this.refocusInput()}}get validations(){return this._validations}set validations(t){const e=this._validations;this._validations=Array.isArray(t)?t:[],this.requestUpdate("validations",e)}connectedCallback(){super.connectedCallback(),this.autofillGuardActive="search"===this.type,this.hasAttribute("tabindex")||(this.tabIndex=this.disabled?-1:0),this.hasUpdated&&this._setupIconSlots()}disconnectedCallback(){this._leftIconSlot?.removeEventListener("slotchange",this._onLeftIconSlotChange),this._rightIconSlot?.removeEventListener("slotchange",this._onRightIconSlotChange),this._leftIconSlot=null,this._rightIconSlot=null,super.disconnectedCallback()}_setupIconSlots(){this._leftIconSlot||(this._leftIconSlot=this.shadowRoot?.querySelector('slot[name="icon-left"]')??null,this._leftIconSlot?.addEventListener("slotchange",this._onLeftIconSlotChange)),this._rightIconSlot||(this._rightIconSlot=this.shadowRoot?.querySelector('slot[name="icon-right"]')??null,this._rightIconSlot?.addEventListener("slotchange",this._onRightIconSlotChange)),this._wireIconSlot("left",this._leftIconSlot),this._wireIconSlot("right",this._rightIconSlot)}_wireIconSlot(t,e){if(e)for(const i of e.assignedElements({flatten:!0}))i instanceof HTMLElement&&(this._iconClickWired.has(i)||(this._iconClickWired.add(i),i.addEventListener("click",()=>this.handleIconClick(t))))}firstUpdated(t){super.firstUpdated(t),this.captureDefaultValue(this.value),this.syncFormValue(),this.syncValidity(),this._setupIconSlots()}willUpdate(t){t.has("validations")&&Array.isArray(this.validations)&&(this.validationStatus=this.validations.map(()=>!1)),t.has("value")&&"file"===this.type&&(null==this.value||""===String(this.value).trim()?(this.selectedFileName="",this.selectedFiles=[],this.totalFileSize=0,this.selectedFileCount=0,this.filePreview=null):this.selectedFileName||(this.selectedFileName=this.value)),t.has("type")&&"search"===this.type&&(this.autofillGuardActive=!0)}updated(t){if(super.updated(t),t.has("color")&&this.color&&this.style.setProperty("--sky-input-color",d(this.color)),t.has("rows")){const t=this.inputWrapperEl;t&&t.style.setProperty("--rows",String(this.rows))}(t.has("value")||t.has("selectedFiles")||t.has("selectedFileName")||t.has("type")||t.has("multiple")||t.has("name")||t.has("disabled"))&&this.syncFormValue(),(t.has("value")||t.has("selectedFiles")||t.has("selectedFileName")||t.has("validationErrors")||t.has("required")||t.has("disabled")||t.has("readonly"))&&this.syncValidity()}getFormValue(){if(!this.name)return null;if("file"===this.type){if(!this.selectedFiles||0===this.selectedFiles.length)return null;if(this.multiple){const t=new FormData;for(const e of this.selectedFiles)t.append(this.name,e);return t}return this.selectedFiles[0]}return this.value??""}setValueFromFormState(t){"string"!=typeof t?(this.value="",this.selectedFileName="",this.selectedFiles=[],this.totalFileSize=0,this.selectedFileCount=0,this.filePreview=null):this.value=t}getValidityAnchor(){return this}isEmpty(){return"file"===this.type?!this.selectedFiles||0===this.selectedFiles.length:!this.value||""===this.value.toString().trim()}getCustomErrorMessage(){return this.validationErrors?.length?"all"===this.errorDisplayMode?this.validationErrors.join("\n"):this.validationErrors[0]:""}getNativeControl(){return"textarea"===this.type?this.shadowRoot?.querySelector("textarea"):this.shadowRoot?.querySelector("input")}onNativeValueMutated(t){"file"!==this.type&&(this.value=t?.value??""),this.validateInput()}reset(){this.value="",this.selectedFileName="",this.filePreview=null,this.selectedFiles=[],this.selectedFileCount=0,this.validationErrors=[],this.typingStarted=!1,this.validationActive=!1,this.selectedFileCount=0,this.totalFileSize=0}get nativeRequiredMessage(){return this.validationActive?this.disabled?"":this.required&&this.isEmpty()?this.requiredMessage||"This field is required.":"":""}getEmittedValue(){if("number"!==this.type)return this.value;if(""===this.value||null==this.value)return"";const t=Number(this.value);return Number.isFinite(t)?t:this.value}handleClear(){this.disabled||this.readonly||(this.reset(),this.validationActive=!0,this.validateInput(),this.dispatchEvent(new CustomEvent("value-changed",{detail:{value:this.getEmittedValue()},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("value-cleared",{detail:{value:this.getEmittedValue()},bubbles:!0,composed:!0})))}handleFileChange(t){if(this.disabled||this.readonly)return;const e=t.target.files;if(e&&e.length){const i=Array.from(e);this.selectedFiles=i,this.selectedFileName=i.map(t=>t.name).join(", "),this.value=this.selectedFileName,this.syncFormValue(),this.syncValidity();const s=i.reduce((t,e)=>t+e.size,0);if(this.totalFileSize=s,this.selectedFileCount=i.length,i[0].type.startsWith("image/")){const t=new FileReader;t.onload=t=>{t.target&&(this.filePreview=t.target.result)},t.readAsDataURL(i[0])}else this.filePreview=null;this.reemitNativeEvent("change",t),this.reemitNativeEvent("input",t),this.dispatchEvent(new CustomEvent("file-selected",{detail:{files:i,fileName:this.selectedFileName,totalSize:s,fileCount:this.selectedFileCount},bubbles:!0,composed:!0})),this.validateInput()}else this.value="",this.filePreview=null,this.totalFileSize=0,this.selectedFileCount=0,this.selectedFiles=[],this.validateInput()}handleKeydown(t){this.disabled||this.readonly||"Enter"===t.key&&"file"===this.type&&(t.preventDefault(),t.stopPropagation(),this.triggerNativeDropdown())}get preview(){return this.filePreview}handleInput(t){t.stopPropagation(),this.disabled||this.readonly?t.preventDefault():(this.value=t.target.value,this.syncFormValue(),this.syncValidity(),this.typingStarted||(this.typingStarted=!0),this.validateInput(),this.reemitNativeEvent("input",t),this.dispatchEvent(new CustomEvent("value-changed",{detail:{value:this.getEmittedValue()},bubbles:!0,composed:!0})))}handleFocus(t){t.stopPropagation(),this.releaseAutofillGuard(),this.focused=!0,this.reemitNativeEvent("focus",t)}releaseAutofillGuard(){this.autofillGuardActive&&(this.autofillGuardActive=!1)}handleAutofillGuardPointerDown(t){this.releaseAutofillGuard(),t.stopPropagation()}onFormReset(){this.setValueFromFormState(this.defaultValue),this.validationActive=!1,this.invalid=!1,this.typingStarted=!1,this.validationErrors=[],this.validationStatus=[],"file"===this.type&&(this.selectedFiles=[],this.selectedFileName="",this.totalFileSize=0,this.selectedFileCount=0,this.filePreview=null),"search"===this.type&&(this.autofillGuardActive=!0)}handleBlur(t){t.stopPropagation(),this.validationActive=!0,this.focused=!1,this.reemitNativeEvent("blur",t)}validateForForm(){const t="file"===this.type?this.selectedFiles??[]:this.value??"";for(const e of this.validations??[]){const i=e(t);if(!0!==i)return"string"==typeof i?i:"Invalid value."}return""}validateInput(){this.validationErrors=[],this.validationStatus=[];const t="file"===this.type,e=t?!this.selectedFiles||0===this.selectedFiles.length:!this.value||""===this.value.toString().trim();if(this.required&&e&&this.syncValidity(),Array.isArray(this.validations)&&this.validations.length){const e=t?this.selectedFiles??[]:this.value??"";this.validationStatus=this.validations.map((t,i)=>{try{if("function"!=typeof t)throw new Error(`Validation at index ${i} must be a function.`);const s=t(e);return!0===s||(this.validationErrors.push("string"==typeof s?s:`Validation ${i} failed.`),!1)}catch(t){const e="object"==typeof t&&null!==t&&"message"in t?String(t.message):"string"==typeof t?t:"Unknown error";return this.validationErrors.push(`Error in validation ${i}: ${e}`),!1}})}this.dispatchEvent(new CustomEvent("validation-error",{detail:{errors:this.validationErrors},bubbles:!0,composed:!0})),this.syncValidity();const i=0===this.validationErrors.length;return this.invalid=!i,i}getErrorMessages(){switch(this.errorDisplayMode){case"single":return this.validationErrors.slice(0,1);case"all":return this.validationErrors;default:return[]}}handleIconClick(t,e=null){this.dispatchEvent(new CustomEvent(`${t}-icon-click`,{detail:{position:t,eventType:e?e.type:null,eventData:e},bubbles:!0,composed:!0}))}formatFileSize(t){if(0===t)return"0 Bytes";const e=Math.floor(Math.log(t)/Math.log(1024));return`${parseFloat((t/Math.pow(1024,e)).toFixed(2))} ${["Bytes","KB","MB","GB","TB"][e]}`}incrementValue(){if(this.disabled||this.readonly)return;const t=parseFloat(this.value)||0,e=parseFloat(this.step??"")||1;t+e<=(this.max?parseFloat(this.max):1/0)&&(this.value=(t+e).toString(),this.validateInput(),this.dispatchEvent(new CustomEvent("value-changed",{detail:{value:this.getEmittedValue()}}))),this.refocusInput()}decrementValue(){if(this.disabled||this.readonly)return;const t=parseFloat(this.value)||0,e=parseFloat(this.step??"")||1;t-e>=(this.min?parseFloat(this.min):-1/0)&&(this.value=(t-e).toString(),this.validateInput(),this.dispatchEvent(new CustomEvent("value-changed",{detail:{value:this.getEmittedValue()}}))),this.refocusInput()}renderValidationErrors(){if(!this.showErrors||!this.validationActive)return null;const t=this.nativeRequiredMessage,e=this.getErrorMessages();let s=[];if("single"===this.errorDisplayMode?t?s=[t]:e.length&&(s=[e[0]]):s=t?[t,...e]:e,!s.length)return null;const a=`${this.id||"sky-input"}-errors`;return i`
1
+ import{css as t,LitElement as e,html as i,nothing as a}from"lit";import{ifDefined as s}from"lit/directives/if-defined.js";import{styleMap as r}from"lit/directives/style-map.js";import{property as o,state as n,query as l,customElement as p}from"lit/decorators.js";import{resolveColor as d}from"../helper/utils/color-resolver.js";import{PresetController as h}from"../helper/controllers/preset-controller.js";import{live as c}from"lit/directives/live.js";import{FormControlBase as u}from"../helper/internals/form-control-base.js";import{SkyIcon as y}from"../sky-icon/sky-icon.js";var v=Object.defineProperty,f=Object.getOwnPropertyDescriptor,m=(t,e,i,a)=>{for(var s,r=a>1?void 0:a?f(e,i):e,o=t.length-1;o>=0;o--)(s=t[o])&&(r=(a?s(e,i,r):s(r))||r);return a&&r&&v(e,i,r),r};let g=class extends u{constructor(){super(...arguments),this.value="",this.placeholder="",this.label="",this.type="text",this.suffix="",this.prefix="",this.prefixColor="",this.suffixColor="",this.color="primary",this._validations=[],this.compact=!1,this.loading=!1,this.showErrors=!1,this.clearable=!1,this.errorDisplayMode="single",this.required=!1,this.step=null,this.min=null,this.max=null,this.autocapitalize="off",this.autocomplete="off",this.spellcheck=!1,this.dir="ltr",this.rows=6,this.resizable="none",this.accept="",this.multiple=!1,this.inputmode=null,this.enterkeyhint=null,this.pattern=null,this.minlength=null,this.maxlength=null,this.list=null,this.size=null,this.cols=null,this.autofocus=!1,this.capture=!1,this.inputRole=null,this.ariaLabel=null,this.ariaLabelledby=null,this.ariaDescribedby=null,this.showNumberButtons=!1,this.showPasswordToggle=!0,this.passwordVisibleIcon="material-symbols:visibility-off",this.passwordHiddenIcon="material-symbols:visibility",this.validationActive=!1,this.invalid=!1,this.variant="default",this.preset="",this._presets=new h(this),this.selectedFileName="",this.selectedFiles=[],this.focused=!1,this.validationStatus=[],this.validationErrors=[],this.typingStarted=!1,this.autofillIconSlot="left",this.autofillGuardActive=!1,this.showPassword=!1,this.totalFileSize=0,this.selectedFileCount=0,this.filePreview=null,this._leftIconSlot=null,this._rightIconSlot=null,this._iconClickWired=new WeakSet,this._onLeftIconSlotChange=()=>this._wireIconSlot("left",this._leftIconSlot),this._onRightIconSlotChange=()=>this._wireIconSlot("right",this._rightIconSlot),this.keepInputFocused=t=>{t.preventDefault(),t.stopPropagation(),this.refocusInput()}}get validations(){return this._validations}set validations(t){const e=this._validations;this._validations=Array.isArray(t)?t:[],this.requestUpdate("validations",e)}connectedCallback(){super.connectedCallback(),this.autofillGuardActive="search"===this.type,this.hasAttribute("tabindex")||(this.tabIndex=this.disabled?-1:0),this.hasUpdated&&this._setupIconSlots()}disconnectedCallback(){this._leftIconSlot?.removeEventListener("slotchange",this._onLeftIconSlotChange),this._rightIconSlot?.removeEventListener("slotchange",this._onRightIconSlotChange),this._leftIconSlot=null,this._rightIconSlot=null,super.disconnectedCallback()}_setupIconSlots(){this._leftIconSlot||(this._leftIconSlot=this.shadowRoot?.querySelector('slot[name="icon-left"]')??null,this._leftIconSlot?.addEventListener("slotchange",this._onLeftIconSlotChange)),this._rightIconSlot||(this._rightIconSlot=this.shadowRoot?.querySelector('slot[name="icon-right"]')??null,this._rightIconSlot?.addEventListener("slotchange",this._onRightIconSlotChange)),this._wireIconSlot("left",this._leftIconSlot),this._wireIconSlot("right",this._rightIconSlot)}_wireIconSlot(t,e){if(e)for(const i of e.assignedElements({flatten:!0}))i instanceof HTMLElement&&(this._iconClickWired.has(i)||(this._iconClickWired.add(i),i.addEventListener("click",()=>this.handleIconClick(t))))}firstUpdated(t){super.firstUpdated(t),this.captureDefaultValue(this.value),this.syncFormValue(),this.syncValidity(),this._setupIconSlots()}willUpdate(t){t.has("validations")&&Array.isArray(this.validations)&&(this.validationStatus=this.validations.map(()=>!1)),t.has("value")&&"file"===this.type&&(null==this.value||""===String(this.value).trim()?(this.selectedFileName="",this.selectedFiles=[],this.totalFileSize=0,this.selectedFileCount=0,this.filePreview=null):this.selectedFileName||(this.selectedFileName=this.value)),t.has("type")&&"search"===this.type&&(this.autofillGuardActive=!0)}updated(t){if(super.updated(t),this.setAttribute("data-sky-variant",this.variant),this.toggleAttribute("data-sky-compact",this.compact),this.color&&this.style.setProperty("--sky-input-color",d(this.color)),t.has("rows")){const t=this.inputWrapperEl;t&&t.style.setProperty("--rows",String(this.rows))}(t.has("value")||t.has("selectedFiles")||t.has("selectedFileName")||t.has("type")||t.has("multiple")||t.has("name")||t.has("disabled"))&&this.syncFormValue(),(t.has("value")||t.has("selectedFiles")||t.has("selectedFileName")||t.has("validationErrors")||t.has("required")||t.has("disabled")||t.has("readonly"))&&this.syncValidity()}getFormValue(){if(!this.name)return null;if("file"===this.type){if(!this.selectedFiles||0===this.selectedFiles.length)return null;if(this.multiple){const t=new FormData;for(const e of this.selectedFiles)t.append(this.name,e);return t}return this.selectedFiles[0]}return this.value??""}setValueFromFormState(t){"string"!=typeof t?(this.value="",this.selectedFileName="",this.selectedFiles=[],this.totalFileSize=0,this.selectedFileCount=0,this.filePreview=null):this.value=t}getValidityAnchor(){return this}isEmpty(){return"file"===this.type?!this.selectedFiles||0===this.selectedFiles.length:!this.value||""===this.value.toString().trim()}getCustomErrorMessage(){return this.validationErrors?.length?"all"===this.errorDisplayMode?this.validationErrors.join("\n"):this.validationErrors[0]:""}getNativeControl(){return"textarea"===this.type?this.shadowRoot?.querySelector("textarea"):this.shadowRoot?.querySelector("input")}onNativeValueMutated(t){"file"!==this.type&&(this.value=t?.value??""),this.validateInput()}reset(){this.value="",this.selectedFileName="",this.filePreview=null,this.selectedFiles=[],this.selectedFileCount=0,this.validationErrors=[],this.typingStarted=!1,this.validationActive=!1,this.selectedFileCount=0,this.totalFileSize=0}get nativeRequiredMessage(){return this.validationActive?this.disabled?"":this.required&&this.isEmpty()?this.requiredMessage||"This field is required.":"":""}getEmittedValue(){if("number"!==this.type)return this.value;if(""===this.value||null==this.value)return"";const t=Number(this.value);return Number.isFinite(t)?t:this.value}handleClear(){this.disabled||this.readonly||(this.reset(),this.validationActive=!0,this.validateInput(),this.dispatchEvent(new CustomEvent("value-changed",{detail:{value:this.getEmittedValue()},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("value-cleared",{detail:{value:this.getEmittedValue()},bubbles:!0,composed:!0})))}handleFileChange(t){if(this.disabled||this.readonly)return;const e=t.target.files;if(e&&e.length){const i=Array.from(e);this.selectedFiles=i,this.selectedFileName=i.map(t=>t.name).join(", "),this.value=this.selectedFileName,this.syncFormValue(),this.syncValidity();const a=i.reduce((t,e)=>t+e.size,0);if(this.totalFileSize=a,this.selectedFileCount=i.length,i[0].type.startsWith("image/")){const t=new FileReader;t.onload=t=>{t.target&&(this.filePreview=t.target.result)},t.readAsDataURL(i[0])}else this.filePreview=null;this.reemitNativeEvent("change",t),this.reemitNativeEvent("input",t),this.dispatchEvent(new CustomEvent("file-selected",{detail:{files:i,fileName:this.selectedFileName,totalSize:a,fileCount:this.selectedFileCount},bubbles:!0,composed:!0})),this.validateInput()}else this.value="",this.filePreview=null,this.totalFileSize=0,this.selectedFileCount=0,this.selectedFiles=[],this.validateInput()}handleKeydown(t){this.disabled||this.readonly||"Enter"===t.key&&"file"===this.type&&(t.preventDefault(),t.stopPropagation(),this.triggerNativeDropdown())}get preview(){return this.filePreview}handleInput(t){t.stopPropagation(),this.disabled||this.readonly?t.preventDefault():(this.value=t.target.value,this.syncFormValue(),this.syncValidity(),this.typingStarted||(this.typingStarted=!0),this.validateInput(),this.reemitNativeEvent("input",t),this.dispatchEvent(new CustomEvent("value-changed",{detail:{value:this.getEmittedValue()},bubbles:!0,composed:!0})))}handleFocus(t){t.stopPropagation(),this.releaseAutofillGuard(),this.focused=!0,this.reemitNativeEvent("focus",t)}releaseAutofillGuard(){this.autofillGuardActive&&(this.autofillGuardActive=!1)}handleAutofillGuardPointerDown(t){this.releaseAutofillGuard(),t.stopPropagation()}onFormReset(){this.setValueFromFormState(this.defaultValue),this.validationActive=!1,this.invalid=!1,this.typingStarted=!1,this.validationErrors=[],this.validationStatus=[],"file"===this.type&&(this.selectedFiles=[],this.selectedFileName="",this.totalFileSize=0,this.selectedFileCount=0,this.filePreview=null),"search"===this.type&&(this.autofillGuardActive=!0)}handleBlur(t){t.stopPropagation(),this.validationActive=!0,this.focused=!1,this.reemitNativeEvent("blur",t)}validateForForm(){const t="file"===this.type?this.selectedFiles??[]:this.value??"";for(const e of this.validations??[]){const i=e(t);if(!0!==i)return"string"==typeof i?i:"Invalid value."}return""}validateInput(){this.validationErrors=[],this.validationStatus=[];const t="file"===this.type,e=t?!this.selectedFiles||0===this.selectedFiles.length:!this.value||""===this.value.toString().trim();if(this.required&&e&&this.syncValidity(),Array.isArray(this.validations)&&this.validations.length){const e=t?this.selectedFiles??[]:this.value??"";this.validationStatus=this.validations.map((t,i)=>{try{if("function"!=typeof t)throw new Error(`Validation at index ${i} must be a function.`);const a=t(e);return!0===a||(this.validationErrors.push("string"==typeof a?a:`Validation ${i} failed.`),!1)}catch(t){const e="object"==typeof t&&null!==t&&"message"in t?String(t.message):"string"==typeof t?t:"Unknown error";return this.validationErrors.push(`Error in validation ${i}: ${e}`),!1}})}this.dispatchEvent(new CustomEvent("validation-error",{detail:{errors:this.validationErrors},bubbles:!0,composed:!0})),this.syncValidity();const i=0===this.validationErrors.length;return this.invalid=!i,i}getErrorMessages(){switch(this.errorDisplayMode){case"single":return this.validationErrors.slice(0,1);case"all":return this.validationErrors;default:return[]}}handleIconClick(t,e=null){this.dispatchEvent(new CustomEvent(`${t}-icon-click`,{detail:{position:t,eventType:e?e.type:null,eventData:e},bubbles:!0,composed:!0}))}formatFileSize(t){if(0===t)return"0 Bytes";const e=Math.floor(Math.log(t)/Math.log(1024));return`${parseFloat((t/Math.pow(1024,e)).toFixed(2))} ${["Bytes","KB","MB","GB","TB"][e]}`}incrementValue(){if(this.disabled||this.readonly)return;const t=parseFloat(this.value)||0,e=parseFloat(this.step??"")||1;t+e<=(this.max?parseFloat(this.max):1/0)&&(this.value=(t+e).toString(),this.validateInput(),this.dispatchEvent(new CustomEvent("value-changed",{detail:{value:this.getEmittedValue()}}))),this.refocusInput()}decrementValue(){if(this.disabled||this.readonly)return;const t=parseFloat(this.value)||0,e=parseFloat(this.step??"")||1;t-e>=(this.min?parseFloat(this.min):-1/0)&&(this.value=(t-e).toString(),this.validateInput(),this.dispatchEvent(new CustomEvent("value-changed",{detail:{value:this.getEmittedValue()}}))),this.refocusInput()}renderValidationErrors(){if(!this.showErrors||!this.validationActive)return null;const t=this.nativeRequiredMessage,e=this.getErrorMessages();let a=[];if("single"===this.errorDisplayMode?t?a=[t]:e.length&&(a=[e[0]]):a=t?[t,...e]:e,!a.length)return null;const s=`${this.id||"sky-input"}-errors`;return i`
2
2
  <div class="progress-message">
3
- <ul id=${a} class="error-list" part="error-list">
4
- ${s.map(t=>i`<li class="error" part="error">${t}</li>`)}
3
+ <ul id=${s} class="error-list" part="error-list">
4
+ ${a.map(t=>i`<li class="error" part="error">${t}</li>`)}
5
5
  </ul>
6
6
  </div>
7
- `}togglePasswordVisibility(){this.showPassword=!this.showPassword}focusInput(){const t=this.nativeInputEl;t&&"function"==typeof t.focus&&t.focus()}handleWrapperClick(t){if(t.stopPropagation(),this.disabled)return;const e=this.nativeInputEl;e&&"function"==typeof e.focus&&e.focus()}get isInvalid(){return this.matches(":invalid")||this.validationActive&&this.validationErrors.length>0}get describedById(){return this.ariaDescribedby??(this.showErrors?`${this.id||"sky-input"}-errors`:void 0)}refocusInput(){const t=this.shadowRoot?.querySelector("input");t?.focus({preventScroll:!0})}triggerNativeDropdown(){if(this.disabled||this.readonly)return;const t=this.shadowRoot?.querySelector('input[type="date"], input[type="time"], input[type="week"], input[type="month"], input[type="datetime-local"], input[type="file"]');t&&("file"===this.type?t.click():this.showPicker())}isFilterSearchInput(){return"search"===this.type}nativeAutocomplete(){return this.isFilterSearchInput()?"off":this.autocomplete}nativeTextInputType(t){return t&&this.showPassword||this.isFilterSearchInput()?"text":this.type}nativeInputMode(){return this.inputmode?this.inputmode:this.isFilterSearchInput()?"search":void 0}nativeEnterKeyHint(){return this.enterkeyhint?this.enterkeyhint:this.isFilterSearchInput()?"search":void 0}nativeInputRole(){return this.inputRole?this.inputRole:"search"===this.type?"searchbox":void 0}affixColorStyle(t){const e=String(t??"").trim();if(e)return{color:d(e)}}renderInputAffix(t){const e="prefix"===t?this.prefix:this.suffix;if(!String(e??"").length)return s;const a="prefix"===t?this.prefixColor:this.suffixColor,n=this.affixColorStyle(a);return i`<span
7
+ `}togglePasswordVisibility(){this.showPassword=!this.showPassword}focusInput(){const t=this.nativeInputEl;t&&"function"==typeof t.focus&&t.focus()}handleWrapperClick(t){if(t.stopPropagation(),this.disabled)return;const e=this.nativeInputEl;e&&"function"==typeof e.focus&&e.focus()}get isInvalid(){return this.matches(":invalid")||this.validationActive&&this.validationErrors.length>0}get describedById(){return this.ariaDescribedby??(this.showErrors?`${this.id||"sky-input"}-errors`:void 0)}refocusInput(){const t=this.shadowRoot?.querySelector("input");t?.focus({preventScroll:!0})}triggerNativeDropdown(){if(this.disabled||this.readonly)return;const t=this.shadowRoot?.querySelector('input[type="date"], input[type="time"], input[type="week"], input[type="month"], input[type="datetime-local"], input[type="file"]');t&&("file"===this.type?t.click():this.showPicker())}isFilterSearchInput(){return"search"===this.type}nativeAutocomplete(){return this.isFilterSearchInput()?"off":this.autocomplete}nativeTextInputType(t){return t&&this.showPassword||this.isFilterSearchInput()?"text":this.type}nativeInputMode(){return this.inputmode?this.inputmode:this.isFilterSearchInput()?"search":void 0}nativeEnterKeyHint(){return this.enterkeyhint?this.enterkeyhint:this.isFilterSearchInput()?"search":void 0}nativeInputRole(){return this.inputRole?this.inputRole:"search"===this.type?"searchbox":void 0}affixColorStyle(t){const e=String(t??"").trim();if(e)return{color:d(e)}}renderInputAffix(t){const e="prefix"===t?this.prefix:this.suffix;if(!String(e??"").length)return a;const s="prefix"===t?this.prefixColor:this.suffixColor,o=this.affixColorStyle(s);return i`<span
8
8
  class="input-affix ${t}"
9
9
  part="input-${t}"
10
- style=${n?r(n):s}
10
+ style=${o?r(o):a}
11
11
  >${e}</span
12
- >`}render(){const t="file"===this.type,e="textarea"===this.type,r="number"===this.type,n="password"===this.type,o=!t&&!e,l=!!this.querySelector('[slot="icon-left"]'),p=!!this.querySelector('[slot="icon-right"]');let d=null;"date"===this.type?d=i`<sky-icon icon="ion:calendar"></sky-icon>`:"time"===this.type?d=i`<sky-icon icon="ion:time"></sky-icon>`:"week"===this.type||"month"===this.type?d=i`<sky-icon icon="ion:calendar"></sky-icon>`:"datetime-local"===this.type&&(d=i`<sky-icon icon="ion:time"></sky-icon>`);const c=this.filePreview&&(l||p),u="left"===this.autofillIconSlot&&d,y="right"===this.autofillIconSlot&&d,v=()=>i`
12
+ >`}render(){const t="file"===this.type,e="textarea"===this.type,r="number"===this.type,o="password"===this.type,n=!t&&!e,l=!!this.querySelector('[slot="icon-left"]'),p=!!this.querySelector('[slot="icon-right"]');let d=null;"date"===this.type?d=i`<sky-icon icon="ion:calendar"></sky-icon>`:"time"===this.type?d=i`<sky-icon icon="ion:time"></sky-icon>`:"week"===this.type||"month"===this.type?d=i`<sky-icon icon="ion:calendar"></sky-icon>`:"datetime-local"===this.type&&(d=i`<sky-icon icon="ion:time"></sky-icon>`);const h=this.filePreview&&(l||p),u="left"===this.autofillIconSlot&&d,y="right"===this.autofillIconSlot&&d,v=()=>i`
13
13
  <img
14
- src=${a("string"==typeof this.filePreview?this.filePreview:void 0)}
14
+ src=${s("string"==typeof this.filePreview?this.filePreview:void 0)}
15
15
  alt="Preview"
16
16
  style="width:100%;height:100%;object-fit:cover;border-radius:12px;"
17
17
  />
@@ -19,10 +19,10 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
19
19
  <div
20
20
  class="icon-slot left ${this.focused?"focused":""}"
21
21
  part="icon-slot icon-slot-left"
22
- ?filled=${Boolean(c&&l)||Boolean(u)||l}
22
+ ?filled=${Boolean(h&&l)||Boolean(u)||l}
23
23
  @click=${()=>{(t||u)&&this.triggerNativeDropdown()}}
24
24
  >
25
- ${c&&l?v():u?d:i`<slot name="icon-left"></slot>`}
25
+ ${h&&l?v():u?d:i`<slot name="icon-left"></slot>`}
26
26
  </div>
27
27
  `,m=()=>this.loading?i`<div
28
28
  class="loading-indicator"
@@ -32,10 +32,10 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
32
32
  <div
33
33
  class="icon-slot right ${this.focused?"focused":""}"
34
34
  part="icon-slot icon-slot-right"
35
- ?filled=${Boolean(c&&p)||Boolean(y)||p}
35
+ ?filled=${Boolean(h&&p)||Boolean(y)||p}
36
36
  @click=${()=>{(t||y)&&this.triggerNativeDropdown()}}
37
37
  >
38
- ${c&&p?v():y?d:i`<slot name="icon-right"></slot>`}
38
+ ${h&&p?v():y?d:i`<slot name="icon-right"></slot>`}
39
39
  </div>
40
40
  `,g=()=>i`
41
41
  <label
@@ -65,24 +65,24 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
65
65
  .required=${this.required}
66
66
  @keydown=${this.handleKeydown}
67
67
  .dir=${this.dir}
68
- name=${a(this.name||void 0)}
68
+ name=${s(this.name||void 0)}
69
69
  .autocomplete=${this.nativeAutocomplete()}
70
70
  .autocapitalize=${this.autocapitalize}
71
71
  spellcheck=${this.spellcheck}
72
72
  ?autofocus=${this.autofocus}
73
- inputmode=${a(this.inputmode||void 0)}
74
- enterkeyhint=${a(this.enterkeyhint)}
75
- list=${a(this.list||void 0)}
76
- capture=${a(this.capture?"environment":void 0)}
73
+ inputmode=${s(this.inputmode||void 0)}
74
+ enterkeyhint=${s(this.enterkeyhint)}
75
+ list=${s(this.list||void 0)}
76
+ capture=${s(this.capture?"environment":void 0)}
77
77
  .aria-invalid=${String(this.isInvalid)}
78
78
  .aria-required=${String(this.required)}
79
- aria-label=${a(this.ariaLabel||void 0)}
80
- aria-labelledby=${a(this.ariaLabelledby||void 0)}
81
- aria-describedby=${a(this.describedById)}
79
+ aria-label=${s(this.ariaLabel||void 0)}
80
+ aria-labelledby=${s(this.ariaLabelledby||void 0)}
81
+ aria-describedby=${s(this.describedById)}
82
82
  />
83
83
  `,b=()=>i`
84
84
  <textarea
85
- .value=${h(this.value)}
85
+ .value=${c(this.value)}
86
86
  @input=${this.handleInput}
87
87
  @focus=${this.handleFocus}
88
88
  @blur=${this.handleBlur}
@@ -95,24 +95,24 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
95
95
  style="width:100%;border:none;outline:none;"
96
96
  .autocapitalize=${this.autocapitalize}
97
97
  ?spellcheck=${this.spellcheck}
98
- name=${a(this.name||void 0)}
98
+ name=${s(this.name||void 0)}
99
99
  .autocomplete=${this.nativeAutocomplete()}
100
- inputmode=${a(this.inputmode||void 0)}
101
- enterkeyhint=${a(this.enterkeyhint)}
102
- minlength=${a(this.minlength??void 0)}
103
- maxlength=${a(this.maxlength??void 0)}
100
+ inputmode=${s(this.inputmode||void 0)}
101
+ enterkeyhint=${s(this.enterkeyhint)}
102
+ minlength=${s(this.minlength??void 0)}
103
+ maxlength=${s(this.maxlength??void 0)}
104
104
  ?autofocus=${this.autofocus}
105
105
  .aria-invalid=${String(this.isInvalid)}
106
106
  .aria-required=${String(this.required)}
107
- aria-label=${a(this.ariaLabel||void 0)}
108
- aria-labelledby=${a(this.ariaLabelledby||void 0)}
109
- aria-describedby=${a(this.describedById)}
110
- role=${a(this.nativeInputRole())}
107
+ aria-label=${s(this.ariaLabel||void 0)}
108
+ aria-labelledby=${s(this.ariaLabelledby||void 0)}
109
+ aria-describedby=${s(this.describedById)}
110
+ role=${s(this.nativeInputRole())}
111
111
  ></textarea>
112
112
  `,k=()=>i`
113
113
  <input
114
- .type=${this.nativeTextInputType(n)}
115
- .value=${h(this.value)}
114
+ .type=${this.nativeTextInputType(o)}
115
+ .value=${c(this.value)}
116
116
  @input=${this.handleInput}
117
117
  @focus=${this.handleFocus}
118
118
  @blur=${this.handleBlur}
@@ -123,32 +123,32 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
123
123
  .readOnly=${this.readonly||this.autofillGuardActive}
124
124
  style="appearance:none;pointer-events:auto;"
125
125
  placeholder=${this.placeholder}
126
- name=${a(this.name||void 0)}
126
+ name=${s(this.name||void 0)}
127
127
  .autocomplete=${this.nativeAutocomplete()}
128
128
  .autocapitalize=${this.autocapitalize}
129
129
  spellcheck=${this.spellcheck}
130
- inputmode=${a(this.nativeInputMode())}
131
- enterkeyhint=${a(this.nativeEnterKeyHint())}
132
- data-form-type=${this.isFilterSearchInput()?"other":s}
130
+ inputmode=${s(this.nativeInputMode())}
131
+ enterkeyhint=${s(this.nativeEnterKeyHint())}
132
+ data-form-type=${this.isFilterSearchInput()?"other":a}
133
133
  ?data-1p-ignore=${this.isFilterSearchInput()}
134
134
  ?data-lpignore=${this.isFilterSearchInput()}
135
- list=${a(this.list||void 0)}
136
- pattern=${a(this.pattern||void 0)}
137
- minlength=${a(this.minlength??void 0)}
138
- maxlength=${a(this.maxlength??void 0)}
139
- size=${a(this.size??void 0)}
140
- step=${a(null!==this.step?Number(this.step):void 0)}
141
- min=${a(this.min??void 0)}
142
- max=${a(this.max??void 0)}
135
+ list=${s(this.list||void 0)}
136
+ pattern=${s(this.pattern||void 0)}
137
+ minlength=${s(this.minlength??void 0)}
138
+ maxlength=${s(this.maxlength??void 0)}
139
+ size=${s(this.size??void 0)}
140
+ step=${s(null!==this.step?Number(this.step):void 0)}
141
+ min=${s(this.min??void 0)}
142
+ max=${s(this.max??void 0)}
143
143
  ?autofocus=${this.autofocus}
144
144
  .aria-invalid=${String(this.isInvalid)}
145
145
  .aria-required=${String(this.required)}
146
- aria-label=${a(this.ariaLabel||void 0)}
147
- aria-labelledby=${a(this.ariaLabelledby||void 0)}
148
- aria-describedby=${a(this.describedById)}
149
- role=${a(this.nativeInputRole())}
146
+ aria-label=${s(this.ariaLabel||void 0)}
147
+ aria-labelledby=${s(this.ariaLabelledby||void 0)}
148
+ aria-describedby=${s(this.describedById)}
149
+ role=${s(this.nativeInputRole())}
150
150
  />
151
- `,x=()=>r&&this.showNumberButtons?i`
151
+ `,w=()=>r&&this.showNumberButtons?i`
152
152
  <div class="number-btn">
153
153
  <button
154
154
  class="decrement-btn"
@@ -173,7 +173,7 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
173
173
  <sky-icon icon="ion:add"></sky-icon>
174
174
  </button>
175
175
  </div>
176
- `:null,w=()=>n&&this.showPasswordToggle?i`
176
+ `:null,x=()=>o&&this.showPasswordToggle?i`
177
177
  <sky-icon
178
178
  class="toggle-password"
179
179
  part="toggle-password"
@@ -191,16 +191,18 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
191
191
  icon="ion:close"
192
192
  ></sky-icon>
193
193
  `:null,S=()=>t?g():e?b():k(),F="fieldset"===this.variant,I="inside"===this.variant,z=this.label?F?i`<legend class="label" part="label">${this.label}</legend>`:i`<div class="label" part="label">${this.label}</div>`:null,E=i`
194
- ${o?this.renderInputAffix("prefix"):s}
194
+ ${n?this.renderInputAffix("prefix"):a}
195
195
  ${S()}
196
- ${o?this.renderInputAffix("suffix"):s}
197
- ${x()} ${w()} ${$()}
196
+ ${n?this.renderInputAffix("suffix"):a}
197
+ ${w()} ${x()}
198
+ ${$()}
198
199
  `,C=i`
199
200
  ${f()}
200
- ${o?this.renderInputAffix("prefix"):s}
201
+ ${n?this.renderInputAffix("prefix"):a}
201
202
  ${S()}
202
- ${o?this.renderInputAffix("suffix"):s}
203
- ${x()} ${w()} ${$()} ${m()}
203
+ ${n?this.renderInputAffix("suffix"):a}
204
+ ${w()} ${x()}
205
+ ${$()} ${m()}
204
206
  `,A=i`
205
207
  ${f()}
206
208
  <div class="input-inside-main">
@@ -214,30 +216,31 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
214
216
  @click=${this.handleWrapperClick}
215
217
  part="input-container"
216
218
  >
217
- ${F||I?s:z}
219
+ ${F||I?a:z}
218
220
  ${F?i`<fieldset
219
- class="input-wrapper"
220
- part="input-wrapper"
221
- ?compact=${this.compact}
222
- ?loading=${this.loading}
223
- >
224
- ${z}
225
- <div class="input-fieldset-body">
226
- ${f()}
227
- ${o?this.renderInputAffix("prefix"):s}
228
- ${S()}
229
- ${o?this.renderInputAffix("suffix"):s}
230
- ${x()} ${w()} ${$()}
231
- ${m()}
232
- </div>
233
- </fieldset>`:i`<div
234
- class="input-wrapper"
235
- part="input-wrapper"
236
- ?compact=${this.compact}
237
- ?loading=${this.loading}
238
- >
239
- ${I?A:C}
240
- </div>`}
221
+ class="input-wrapper"
222
+ part="input-wrapper"
223
+ ?compact=${this.compact}
224
+ ?loading=${this.loading}
225
+ >
226
+ ${z}
227
+ <div class="input-fieldset-body">
228
+ ${f()}
229
+ ${n?this.renderInputAffix("prefix"):a}
230
+ ${S()}
231
+ ${n?this.renderInputAffix("suffix"):a}
232
+ ${w()} ${x()}
233
+ ${$()} ${m()}
234
+ </div>
235
+ </fieldset>`:i`<div
236
+ class="input-wrapper"
237
+ part="input-wrapper"
238
+ ?compact=${this.compact}
239
+ ?loading=${this.loading}
240
+ >
241
+ ${I?A:C}
242
+ </div>`}
243
+
241
244
  ${(()=>t&&this.totalFileSize?i`
242
245
  <div class="file-info" part="file-info">
243
246
  <span>
@@ -248,7 +251,7 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
248
251
  </div>
249
252
  `:null)()} ${this.renderValidationErrors()}
250
253
  </div>
251
- `}};m.dependencies={"sky-icon":u},m.styles=t`
254
+ `}};g.dependencies={"sky-icon":y},g.styles=t`
252
255
  :host {
253
256
  display: block;
254
257
  font-family: var(--sky-font);
@@ -267,36 +270,36 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
267
270
  --sky-input-icon-width: 2rem;
268
271
  }
269
272
 
270
- :host([compact]) {
273
+ :host([data-sky-compact]) {
271
274
  --sky-input-pad-x: var(--sky-space-2, 8px);
272
275
  --sky-input-pad-x-sm: var(--sky-space-1, 4px);
273
276
  --sky-input-icon-width: 1.75rem;
274
277
  }
275
278
 
276
279
  /* Compact typography + denser chrome for every variant */
277
- :host([compact]) .input-container > .label {
280
+ :host([data-sky-compact]) .input-container > .label {
278
281
  font-size: var(--sky-font-size-xs);
279
282
  margin-bottom: var(--sky-space-1, 4px);
280
283
  line-height: 1.2;
281
284
  }
282
285
 
283
- :host([compact]) input,
284
- :host([compact]) textarea,
285
- :host([compact]) .input-affix,
286
- :host([compact]) .custom-file-label__text {
286
+ :host([data-sky-compact]) input,
287
+ :host([data-sky-compact]) textarea,
288
+ :host([data-sky-compact]) .input-affix,
289
+ :host([data-sky-compact]) .custom-file-label__text {
287
290
  font-size: var(--sky-font-size-sm);
288
291
  }
289
292
 
290
- :host([compact]) .icon-slot {
293
+ :host([data-sky-compact]) .icon-slot {
291
294
  font-size: var(--sky-font-size-lg);
292
295
  }
293
296
 
294
- :host([compact]) .toggle-password,
295
- :host([compact]) .clear-button {
297
+ :host([data-sky-compact]) .toggle-password,
298
+ :host([data-sky-compact]) .clear-button {
296
299
  font-size: var(--sky-font-size-md);
297
300
  }
298
301
 
299
- :host([compact]) .custom-file-label {
302
+ :host([data-sky-compact]) .custom-file-label {
300
303
  border-radius: var(--sky-radius-primary);
301
304
  }
302
305
 
@@ -307,23 +310,23 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
307
310
  pointer-events: none;
308
311
  }
309
312
 
310
- :host([variant='highlight']) {
311
- .label {
313
+ :host([data-sky-variant="highlight"]){
314
+ .label{
312
315
  color: var(--sky-input-color);
313
316
  }
314
317
  }
315
318
 
316
319
  /* Fieldset / legend: native fieldset+legend; wrapper keeps solid fill */
317
- :host([variant='fieldset']) {
320
+ :host([data-sky-variant="fieldset"]) {
318
321
  overflow: visible;
319
322
  padding-block-start: 0;
320
323
  }
321
324
 
322
- :host([variant='fieldset']) .input-container {
325
+ :host([data-sky-variant="fieldset"]) .input-container {
323
326
  overflow: visible;
324
327
  }
325
328
 
326
- :host([variant='fieldset']) fieldset.input-wrapper {
329
+ :host([data-sky-variant="fieldset"]) fieldset.input-wrapper {
327
330
  display: block;
328
331
  height: auto;
329
332
  margin: 0;
@@ -335,17 +338,19 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
335
338
  box-shadow: none;
336
339
  }
337
340
 
338
- :host([variant='fieldset']) fieldset.input-wrapper[compact] {
341
+ :host([data-sky-variant="fieldset"]) fieldset.input-wrapper[compact] {
339
342
  height: auto;
340
343
  }
341
344
 
342
- :host([variant='fieldset']) .input-fieldset-body {
345
+ :host([data-sky-variant="fieldset"]) .input-fieldset-body {
343
346
  display: flex;
344
347
  width: 100%;
345
348
  align-items: center;
346
349
  box-sizing: border-box;
347
350
  /* Match default control outer height once fieldset border is included */
348
- height: calc(var(--sky-input-height) - 2 * var(--sky-input-border-width));
351
+ height: calc(
352
+ var(--sky-input-height) - 2 * var(--sky-input-border-width)
353
+ );
349
354
  min-height: calc(
350
355
  var(--sky-input-height) - 2 * var(--sky-input-border-width)
351
356
  );
@@ -355,9 +360,7 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
355
360
  overflow: hidden;
356
361
  }
357
362
 
358
- :host([variant='fieldset'])
359
- fieldset.input-wrapper[compact]
360
- .input-fieldset-body {
363
+ :host([data-sky-variant="fieldset"]) fieldset.input-wrapper[compact] .input-fieldset-body {
361
364
  height: calc(
362
365
  var(--sky-input-height-compact) - 2 * var(--sky-input-border-width)
363
366
  );
@@ -366,19 +369,17 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
366
369
  );
367
370
  }
368
371
 
369
- :host([variant='fieldset']) fieldset.input-wrapper:has(textarea) {
372
+ :host([data-sky-variant="fieldset"]) fieldset.input-wrapper:has(textarea) {
370
373
  height: auto;
371
374
  }
372
375
 
373
- :host([variant='fieldset'])
374
- fieldset.input-wrapper:has(textarea)
375
- .input-fieldset-body {
376
+ :host([data-sky-variant="fieldset"]) fieldset.input-wrapper:has(textarea) .input-fieldset-body {
376
377
  height: calc((var(--rows)) * 23px);
377
378
  min-height: calc((var(--rows)) * 23px);
378
379
  align-items: flex-start;
379
380
  }
380
381
 
381
- :host([variant='fieldset']) legend.label {
382
+ :host([data-sky-variant="fieldset"]) legend.label {
382
383
  float: unset;
383
384
  width: auto;
384
385
  max-width: calc(100% - 2 * var(--sky-input-pad-x));
@@ -399,42 +400,40 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
399
400
  pointer-events: none;
400
401
  }
401
402
 
402
- :host([variant='fieldset']) .input-container:focus-within legend.label {
403
+ :host([data-sky-variant="fieldset"]) .input-container:focus-within legend.label {
403
404
  color: var(--sky-input-color);
404
405
  font-size: var(--sky-font-size-xs);
405
406
  }
406
407
 
407
408
  /* Focus via real border — ::after would paint over the legend gap */
408
- :host([variant='fieldset']) .input-wrapper::after {
409
+ :host([data-sky-variant="fieldset"]) .input-wrapper::after {
409
410
  content: none;
410
411
  display: none;
411
412
  }
412
413
 
413
- :host([variant='fieldset']) .input-wrapper:has(input:focus),
414
- :host([variant='fieldset']) .input-wrapper:has(input:focus-visible),
415
- :host([variant='fieldset']) .input-wrapper:has(textarea:focus),
416
- :host([variant='fieldset']) .input-wrapper:has(textarea:focus-visible) {
414
+ :host([data-sky-variant="fieldset"]) .input-wrapper:has(input:focus),
415
+ :host([data-sky-variant="fieldset"]) .input-wrapper:has(input:focus-visible),
416
+ :host([data-sky-variant="fieldset"]) .input-wrapper:has(textarea:focus),
417
+ :host([data-sky-variant="fieldset"]) .input-wrapper:has(textarea:focus-visible) {
417
418
  border-color: var(--sky-input-color);
418
419
  }
419
420
 
420
- :host([variant='fieldset'][validationActive]:invalid) .input-wrapper {
421
+ :host([data-sky-variant="fieldset"][validationActive]:invalid) .input-wrapper {
421
422
  border-color: var(--sky-danger-primary);
422
423
  }
423
424
 
424
- :host([variant='fieldset'][validationActive]:invalid) legend.label {
425
+ :host([data-sky-variant="fieldset"][validationActive]:invalid) legend.label {
425
426
  color: var(--sky-danger-primary);
426
427
  }
427
428
 
428
- :host([variant='fieldset'][compact]) legend.label,
429
- :host([variant='fieldset'][compact])
430
- .input-container:focus-within
431
- legend.label {
429
+ :host([data-sky-variant="fieldset"][compact]) legend.label,
430
+ :host([data-sky-variant="fieldset"][compact]) .input-container:focus-within legend.label {
432
431
  font-size: var(--sky-font-size-xs);
433
432
  line-height: 1.4;
434
433
  }
435
434
 
436
435
  /* Inside: label lives in the wrapper above the value row */
437
- :host([variant='inside']) {
436
+ :host([data-sky-variant="inside"]) {
438
437
  --sky-input-height-inside: 44px;
439
438
  /* Two lines (label + value) need a bit more than single-line compact */
440
439
  --sky-input-height-inside-compact: 40px;
@@ -442,20 +441,20 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
442
441
  --sky-input-inside-value-min: 1.375rem;
443
442
  }
444
443
 
445
- :host([variant='inside']) .input-wrapper {
444
+ :host([data-sky-variant="inside"]) .input-wrapper {
446
445
  height: auto;
447
446
  min-height: var(--sky-input-height-inside);
448
447
  align-items: center;
449
448
  padding-block: var(--sky-input-pad-y-sm, 0px);
450
449
  }
451
450
 
452
- :host([variant='inside']) .input-wrapper[compact] {
451
+ :host([data-sky-variant="inside"]) .input-wrapper[compact] {
453
452
  height: auto;
454
453
  min-height: var(--sky-input-height-inside-compact);
455
454
  padding-block: var(--sky-input-pad-y-sm, 0px);
456
455
  }
457
456
 
458
- :host([variant='inside']) .input-inside-main {
457
+ :host([data-sky-variant="inside"]) .input-inside-main {
459
458
  flex: 1 1 auto;
460
459
  min-width: 0;
461
460
  display: flex;
@@ -465,7 +464,7 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
465
464
  padding-block: var(--sky-input-inside-label-block);
466
465
  }
467
466
 
468
- :host([variant='inside']) .input-inside-main > .label {
467
+ :host([data-sky-variant="inside"]) .input-inside-main > .label {
469
468
  margin: 0;
470
469
  padding-inline: var(--sky-input-pad-x);
471
470
  font-size: var(--sky-font-size-xs);
@@ -478,40 +477,32 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
478
477
  flex-shrink: 0;
479
478
  }
480
479
 
481
- :host([variant='inside'][compact]) .input-inside-main > .label {
480
+ :host([data-sky-variant="inside"][compact]) .input-inside-main > .label {
482
481
  font-size: 0.6875rem; /* ~11px — denser than xs for two-line compact */
483
482
  line-height: 1.3;
484
483
  min-height: calc(0.6875rem * 1.3);
485
484
  }
486
485
 
487
- :host([variant='inside'][compact]) .input-inside-row input,
488
- :host([variant='inside'][compact]) .input-inside-row textarea {
486
+ :host([data-sky-variant="inside"][compact]) .input-inside-row input,
487
+ :host([data-sky-variant="inside"][compact]) .input-inside-row textarea {
489
488
  font-size: var(--sky-font-size-sm);
490
489
  line-height: 1.15;
491
490
  }
492
491
 
493
- :host([variant='inside'])
494
- .input-container:focus-within
495
- .input-inside-main
496
- > .label {
492
+ :host([data-sky-variant="inside"]) .input-container:focus-within .input-inside-main > .label {
497
493
  color: var(--sky-input-color);
498
494
  font-size: var(--sky-font-size-xs);
499
495
  }
500
496
 
501
- :host([variant='inside'][compact])
502
- .input-container:focus-within
503
- .input-inside-main
504
- > .label {
497
+ :host([data-sky-variant="inside"][compact]) .input-container:focus-within .input-inside-main > .label {
505
498
  font-size: 0.6875rem;
506
499
  }
507
500
 
508
- :host([variant='inside'][validationActive]:invalid)
509
- .input-inside-main
510
- > .label {
501
+ :host([data-sky-variant="inside"][validationActive]:invalid) .input-inside-main > .label {
511
502
  color: var(--sky-danger-primary);
512
503
  }
513
504
 
514
- :host([variant='inside']) .input-inside-row {
505
+ :host([data-sky-variant="inside"]) .input-inside-row {
515
506
  display: flex;
516
507
  align-items: center;
517
508
  min-width: 0;
@@ -519,33 +510,27 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
519
510
  min-height: var(--sky-input-inside-value-min);
520
511
  }
521
512
 
522
- :host([variant='inside'])
523
- .input-wrapper:has(.icon-slot[filled].left)
524
- .input-inside-main
525
- > .label,
526
- :host([variant='inside'])
527
- .input-wrapper:has(.input-affix.prefix)
528
- .input-inside-main
529
- > .label {
513
+ :host([data-sky-variant="inside"]) .input-wrapper:has(.icon-slot[filled].left) .input-inside-main > .label,
514
+ :host([data-sky-variant="inside"]) .input-wrapper:has(.input-affix.prefix) .input-inside-main > .label {
530
515
  padding-inline-start: 0;
531
516
  }
532
517
 
533
- :host([variant='inside']) .input-inside-row input,
534
- :host([variant='inside']) .input-inside-row textarea {
518
+ :host([data-sky-variant="inside"]) .input-inside-row input,
519
+ :host([data-sky-variant="inside"]) .input-inside-row textarea {
535
520
  padding-block: 0;
536
521
  height: auto;
537
522
  min-height: 0;
538
523
  line-height: 1.2;
539
524
  }
540
525
 
541
- :host([variant='inside']) .input-wrapper:has(textarea) {
526
+ :host([data-sky-variant="inside"]) .input-wrapper:has(textarea) {
542
527
  height: auto;
543
528
  min-height: var(--sky-input-height-inside);
544
529
  align-items: flex-start;
545
530
  }
546
531
 
547
- :host([variant='inside']) .icon-slot,
548
- :host([variant='inside']) .icon-slot[filled] {
532
+ :host([data-sky-variant="inside"]) .icon-slot,
533
+ :host([data-sky-variant="inside"]) .icon-slot[filled] {
549
534
  align-self: center;
550
535
  height: auto;
551
536
  max-height: none;
@@ -573,7 +558,7 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
573
558
  transition: color var(--sky-transition-normal, 200ms ease);
574
559
  }
575
560
 
576
- :host([compact]) .input-container:focus-within > .label {
561
+ :host([data-sky-compact]) .input-container:focus-within > .label {
577
562
  font-size: var(--sky-font-size-xs);
578
563
  }
579
564
 
@@ -609,7 +594,7 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
609
594
  }
610
595
 
611
596
  .input-wrapper::after {
612
- content: '';
597
+ content: "";
613
598
  position: absolute;
614
599
  top: -1px;
615
600
  left: -1px;
@@ -656,11 +641,11 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
656
641
  border-radius: var(--sky-radius-primary);
657
642
  }
658
643
 
659
- input[type='date'],
660
- input[type='time'],
661
- input[type='week'],
662
- input[type='month'],
663
- input[type='datetime-local'] {
644
+ input[type="date"],
645
+ input[type="time"],
646
+ input[type="week"],
647
+ input[type="month"],
648
+ input[type="datetime-local"] {
664
649
  -webkit-appearance: none;
665
650
  -moz-appearance: none;
666
651
  appearance: none;
@@ -669,11 +654,11 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
669
654
  font-family: inherit;
670
655
  }
671
656
 
672
- input[type='date']::-webkit-calendar-picker-indicator,
673
- input[type='time']::-webkit-calendar-picker-indicator,
674
- input[type='week']::-webkit-calendar-picker-indicator,
675
- input[type='month']::-webkit-calendar-picker-indicator,
676
- input[type='datetime-local']::-webkit-calendar-picker-indicator {
657
+ input[type="date"]::-webkit-calendar-picker-indicator,
658
+ input[type="time"]::-webkit-calendar-picker-indicator,
659
+ input[type="week"]::-webkit-calendar-picker-indicator,
660
+ input[type="month"]::-webkit-calendar-picker-indicator,
661
+ input[type="datetime-local"]::-webkit-calendar-picker-indicator {
677
662
  display: none;
678
663
  }
679
664
 
@@ -702,13 +687,13 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
702
687
  text-align: right;
703
688
  }
704
689
 
705
- input[type='number'] {
690
+ input[type="number"] {
706
691
  appearance: textfield;
707
692
  -moz-appearance: textfield;
708
693
  }
709
694
 
710
- input[type='number']::-webkit-inner-spin-button,
711
- input[type='number']::-webkit-outer-spin-button {
695
+ input[type="number"]::-webkit-inner-spin-button,
696
+ input[type="number"]::-webkit-outer-spin-button {
712
697
  -webkit-appearance: none;
713
698
  margin: 0;
714
699
  }
@@ -982,7 +967,7 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
982
967
  pointer-events: none;
983
968
  }
984
969
 
985
- input[type='file'] {
970
+ input[type="file"] {
986
971
  position: absolute;
987
972
  width: 100%;
988
973
  height: 100%;
@@ -1016,7 +1001,7 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
1016
1001
  }
1017
1002
 
1018
1003
  .custom-file-label:empty::after {
1019
- content: 'Choose file';
1004
+ content: "Choose file";
1020
1005
  color: var(--sky-input-color);
1021
1006
  }
1022
1007
 
@@ -1038,11 +1023,11 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
1038
1023
  font-family: var(--sky-font);
1039
1024
  }
1040
1025
 
1041
- textarea[resizable='vertical'] {
1026
+ textarea[resizable="vertical"] {
1042
1027
  resize: vertical;
1043
1028
  }
1044
1029
 
1045
- textarea[resizable='both'] {
1030
+ textarea[resizable="both"] {
1046
1031
  resize: both;
1047
1032
  }
1048
1033
 
@@ -1105,5 +1090,5 @@ import{css as t,LitElement as e,html as i,nothing as s}from"lit";import{ifDefine
1105
1090
  transition: none;
1106
1091
  }
1107
1092
  }
1108
- `,m.shadowRootOptions={...e.shadowRootOptions,delegatesFocus:!0},f([n({type:String})],m.prototype,"value",2),f([n({type:String})],m.prototype,"placeholder",2),f([n({type:String})],m.prototype,"label",2),f([n({type:String})],m.prototype,"type",2),f([n({type:String})],m.prototype,"suffix",2),f([n({type:String})],m.prototype,"prefix",2),f([n({type:String})],m.prototype,"prefixColor",2),f([n({type:String})],m.prototype,"suffixColor",2),f([n({type:String})],m.prototype,"color",2),f([n({type:Array})],m.prototype,"validations",1),f([n({type:Boolean,reflect:!0})],m.prototype,"compact",2),f([n({type:Boolean,reflect:!0})],m.prototype,"loading",2),f([n({type:Boolean})],m.prototype,"showErrors",2),f([n({type:Boolean,reflect:!0})],m.prototype,"clearable",2),f([n({type:String})],m.prototype,"errorDisplayMode",2),f([n({type:Boolean,reflect:!0})],m.prototype,"required",2),f([n({type:String})],m.prototype,"step",2),f([n({type:String})],m.prototype,"min",2),f([n({type:String})],m.prototype,"max",2),f([n({type:String})],m.prototype,"autocapitalize",2),f([n({type:String})],m.prototype,"autocomplete",2),f([n({type:Boolean})],m.prototype,"spellcheck",2),f([n({type:String})],m.prototype,"dir",2),f([n({type:Number})],m.prototype,"rows",2),f([n({type:String})],m.prototype,"resizable",2),f([n({type:String})],m.prototype,"accept",2),f([n({type:Boolean})],m.prototype,"multiple",2),f([n({type:String})],m.prototype,"inputmode",2),f([n({type:String})],m.prototype,"enterkeyhint",2),f([n({type:String})],m.prototype,"pattern",2),f([n({type:Number})],m.prototype,"minlength",2),f([n({type:Number})],m.prototype,"maxlength",2),f([n({type:String})],m.prototype,"list",2),f([n({type:Number})],m.prototype,"size",2),f([n({type:Number})],m.prototype,"cols",2),f([n({type:Boolean})],m.prototype,"autofocus",2),f([n({type:Boolean})],m.prototype,"capture",2),f([n({type:String})],m.prototype,"inputRole",2),f([n({type:String})],m.prototype,"ariaLabel",2),f([n({type:String})],m.prototype,"ariaLabelledby",2),f([n({type:String})],m.prototype,"ariaDescribedby",2),f([n({type:Boolean})],m.prototype,"showNumberButtons",2),f([n({type:Boolean})],m.prototype,"showPasswordToggle",2),f([n({type:String})],m.prototype,"passwordVisibleIcon",2),f([n({type:String})],m.prototype,"passwordHiddenIcon",2),f([n({type:Boolean,reflect:!0})],m.prototype,"validationActive",2),f([n({type:Boolean,reflect:!0})],m.prototype,"invalid",2),f([n({type:String,reflect:!0})],m.prototype,"variant",2),f([o()],m.prototype,"selectedFileName",2),f([o()],m.prototype,"selectedFiles",2),f([o()],m.prototype,"focused",2),f([o()],m.prototype,"validationStatus",2),f([o()],m.prototype,"validationErrors",2),f([o()],m.prototype,"typingStarted",2),f([o()],m.prototype,"autofillIconSlot",2),f([o()],m.prototype,"autofillGuardActive",2),f([o()],m.prototype,"showPassword",2),f([o()],m.prototype,"totalFileSize",2),f([o()],m.prototype,"selectedFileCount",2),f([o()],m.prototype,"filePreview",2),f([l(".input-wrapper")],m.prototype,"inputWrapperEl",2),f([l("input, textarea")],m.prototype,"nativeInputEl",2),m=f([p("sky-input")],m);export{m as SkyInput};
1093
+ `,g.shadowRootOptions={...e.shadowRootOptions,delegatesFocus:!0},m([o({type:String})],g.prototype,"value",2),m([o({type:String})],g.prototype,"placeholder",2),m([o({type:String})],g.prototype,"label",2),m([o({type:String})],g.prototype,"type",2),m([o({type:String})],g.prototype,"suffix",2),m([o({type:String})],g.prototype,"prefix",2),m([o({type:String})],g.prototype,"prefixColor",2),m([o({type:String})],g.prototype,"suffixColor",2),m([o({type:String})],g.prototype,"color",2),m([o({type:Array})],g.prototype,"validations",1),m([o({type:Boolean,reflect:!0})],g.prototype,"compact",2),m([o({type:Boolean,reflect:!0})],g.prototype,"loading",2),m([o({type:Boolean})],g.prototype,"showErrors",2),m([o({type:Boolean,reflect:!0})],g.prototype,"clearable",2),m([o({type:String})],g.prototype,"errorDisplayMode",2),m([o({type:Boolean,reflect:!0})],g.prototype,"required",2),m([o({type:String})],g.prototype,"step",2),m([o({type:String})],g.prototype,"min",2),m([o({type:String})],g.prototype,"max",2),m([o({type:String})],g.prototype,"autocapitalize",2),m([o({type:String})],g.prototype,"autocomplete",2),m([o({type:Boolean})],g.prototype,"spellcheck",2),m([o({type:String})],g.prototype,"dir",2),m([o({type:Number})],g.prototype,"rows",2),m([o({type:String})],g.prototype,"resizable",2),m([o({type:String})],g.prototype,"accept",2),m([o({type:Boolean})],g.prototype,"multiple",2),m([o({type:String})],g.prototype,"inputmode",2),m([o({type:String})],g.prototype,"enterkeyhint",2),m([o({type:String})],g.prototype,"pattern",2),m([o({type:Number})],g.prototype,"minlength",2),m([o({type:Number})],g.prototype,"maxlength",2),m([o({type:String})],g.prototype,"list",2),m([o({type:Number})],g.prototype,"size",2),m([o({type:Number})],g.prototype,"cols",2),m([o({type:Boolean})],g.prototype,"autofocus",2),m([o({type:Boolean})],g.prototype,"capture",2),m([o({type:String})],g.prototype,"inputRole",2),m([o({type:String})],g.prototype,"ariaLabel",2),m([o({type:String})],g.prototype,"ariaLabelledby",2),m([o({type:String})],g.prototype,"ariaDescribedby",2),m([o({type:Boolean})],g.prototype,"showNumberButtons",2),m([o({type:Boolean})],g.prototype,"showPasswordToggle",2),m([o({type:String})],g.prototype,"passwordVisibleIcon",2),m([o({type:String})],g.prototype,"passwordHiddenIcon",2),m([o({type:Boolean,reflect:!0})],g.prototype,"validationActive",2),m([o({type:Boolean,reflect:!0})],g.prototype,"invalid",2),m([o({type:String,reflect:!0})],g.prototype,"variant",2),m([o({type:String,reflect:!0})],g.prototype,"preset",2),m([n()],g.prototype,"selectedFileName",2),m([n()],g.prototype,"selectedFiles",2),m([n()],g.prototype,"focused",2),m([n()],g.prototype,"validationStatus",2),m([n()],g.prototype,"validationErrors",2),m([n()],g.prototype,"typingStarted",2),m([n()],g.prototype,"autofillIconSlot",2),m([n()],g.prototype,"autofillGuardActive",2),m([n()],g.prototype,"showPassword",2),m([n()],g.prototype,"totalFileSize",2),m([n()],g.prototype,"selectedFileCount",2),m([n()],g.prototype,"filePreview",2),m([l(".input-wrapper")],g.prototype,"inputWrapperEl",2),m([l("input, textarea")],g.prototype,"nativeInputEl",2),g=m([p("sky-input")],g);export{g as SkyInput};
1109
1094
  //# sourceMappingURL=sky-input.js.map