@aurodesignsystem/auro-formkit 1.6.0-beta.10 → 1.6.0-beta.11

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 (217) hide show
  1. package/.turbo/cache/013a48308b893dac-meta.json +1 -1
  2. package/.turbo/cache/0593477832b1052b-meta.json +1 -0
  3. package/.turbo/cache/0593477832b1052b.tar.zst +0 -0
  4. package/.turbo/cache/07ca42419b9f050c-meta.json +1 -1
  5. package/.turbo/cache/0a2b0a4df8a0443f-meta.json +1 -0
  6. package/.turbo/cache/0a2b0a4df8a0443f.tar.zst +0 -0
  7. package/.turbo/cache/0cea4c1f34f3683b-meta.json +1 -1
  8. package/.turbo/cache/13cf37c850bd8cf4-meta.json +1 -1
  9. package/.turbo/cache/141bb7d9a95e288b-meta.json +1 -0
  10. package/.turbo/cache/141bb7d9a95e288b.tar.zst +0 -0
  11. package/.turbo/cache/17259cf94d8f8925-meta.json +1 -1
  12. package/.turbo/cache/1c99a949ec63ab35-meta.json +1 -1
  13. package/.turbo/cache/257a7a26ea72dbc5-meta.json +1 -1
  14. package/.turbo/cache/32c0b9995fb5f8dd-meta.json +1 -0
  15. package/.turbo/cache/32c0b9995fb5f8dd.tar.zst +0 -0
  16. package/.turbo/cache/3924bce8e51f0ffa-meta.json +1 -1
  17. package/.turbo/cache/3ba80396ea6d6457-meta.json +1 -0
  18. package/.turbo/cache/3ba80396ea6d6457.tar.zst +0 -0
  19. package/.turbo/cache/3bf45120d0cc9bd8-meta.json +1 -1
  20. package/.turbo/cache/45035bf5c4147ccd-meta.json +1 -1
  21. package/.turbo/cache/4567487084a055b7-meta.json +1 -1
  22. package/.turbo/cache/4763278a7d3dbc16-meta.json +1 -1
  23. package/.turbo/cache/4763278a7d3dbc16.tar.zst +0 -0
  24. package/.turbo/cache/4ceca20b1e98dbd7-meta.json +1 -0
  25. package/.turbo/cache/4ceca20b1e98dbd7.tar.zst +0 -0
  26. package/.turbo/cache/4e8c9ab436c836bc-meta.json +1 -0
  27. package/.turbo/cache/4e8c9ab436c836bc.tar.zst +0 -0
  28. package/.turbo/cache/5c16ce3cff5c9dff-meta.json +1 -1
  29. package/.turbo/cache/5f304c0f37ef25f3-meta.json +1 -1
  30. package/.turbo/cache/626afdc67e0cb540-meta.json +1 -0
  31. package/.turbo/cache/626afdc67e0cb540.tar.zst +0 -0
  32. package/.turbo/cache/64de7a53e02db647-meta.json +1 -1
  33. package/.turbo/cache/691a74627ec57993-meta.json +1 -1
  34. package/.turbo/cache/69aae513b7ec6c7d-meta.json +1 -1
  35. package/.turbo/cache/69f7eb632e38f934-meta.json +1 -0
  36. package/.turbo/cache/69f7eb632e38f934.tar.zst +0 -0
  37. package/.turbo/cache/6dd7058e6703cb35-meta.json +1 -1
  38. package/.turbo/cache/73e9073a5274616d-meta.json +1 -1
  39. package/.turbo/cache/773edc0f83c8c5a5-meta.json +1 -1
  40. package/.turbo/cache/786a822763403879-meta.json +1 -1
  41. package/.turbo/cache/80b5d974184a01df-meta.json +1 -1
  42. package/.turbo/cache/8954c6073396fadd-meta.json +1 -1
  43. package/.turbo/cache/8ca4e3f31520b797-meta.json +1 -0
  44. package/.turbo/cache/8ca4e3f31520b797.tar.zst +0 -0
  45. package/.turbo/cache/92daa6d7c389d548-meta.json +1 -1
  46. package/.turbo/cache/9a097d6576dadd64-meta.json +1 -1
  47. package/.turbo/cache/a77bc920ea508bb8-meta.json +1 -1
  48. package/.turbo/cache/a77bc920ea508bb8.tar.zst +0 -0
  49. package/.turbo/cache/ac45d828a2a1fb4a-meta.json +1 -0
  50. package/.turbo/cache/ac45d828a2a1fb4a.tar.zst +0 -0
  51. package/.turbo/cache/b057e863c1b9bd7b-meta.json +1 -0
  52. package/.turbo/cache/b057e863c1b9bd7b.tar.zst +0 -0
  53. package/.turbo/cache/b54fc4f664a7a5a0-meta.json +1 -1
  54. package/.turbo/cache/ba4418918621fbcd-meta.json +1 -1
  55. package/.turbo/cache/bb8b41cd0ade3986-meta.json +1 -0
  56. package/.turbo/cache/bb8b41cd0ade3986.tar.zst +0 -0
  57. package/.turbo/cache/bb8ec1d0fe0a761f-meta.json +1 -0
  58. package/.turbo/cache/bb8ec1d0fe0a761f.tar.zst +0 -0
  59. package/.turbo/cache/be7c23c37b8ec74b-meta.json +1 -1
  60. package/.turbo/cache/be7c23c37b8ec74b.tar.zst +0 -0
  61. package/.turbo/cache/bf85bc040b7e64db-meta.json +1 -0
  62. package/.turbo/cache/bf85bc040b7e64db.tar.zst +0 -0
  63. package/.turbo/cache/c1b72a92dec4fe37-meta.json +1 -1
  64. package/.turbo/cache/caa0b4ac8d2a04dd-meta.json +1 -1
  65. package/.turbo/cache/caa0b4ac8d2a04dd.tar.zst +0 -0
  66. package/.turbo/cache/cc81de9c0b452a7c-meta.json +1 -1
  67. package/.turbo/cache/cd845bb6102c589a-meta.json +1 -0
  68. package/.turbo/cache/cd845bb6102c589a.tar.zst +0 -0
  69. package/.turbo/cache/d7a47b77deb3d9a4-meta.json +1 -0
  70. package/.turbo/cache/d7a47b77deb3d9a4.tar.zst +0 -0
  71. package/.turbo/cache/dad1301ac69bcb85-meta.json +1 -1
  72. package/.turbo/cache/e44f36589cdc0bbc-meta.json +1 -0
  73. package/.turbo/cache/e44f36589cdc0bbc.tar.zst +0 -0
  74. package/.turbo/cache/e86cee22dff5e281-meta.json +1 -1
  75. package/.turbo/cache/e992dab20aeefbaf-meta.json +1 -1
  76. package/.turbo/cache/e992dab20aeefbaf.tar.zst +0 -0
  77. package/.turbo/cache/f5db6f7110f4ae32-meta.json +1 -0
  78. package/.turbo/cache/f5db6f7110f4ae32.tar.zst +0 -0
  79. package/.turbo/cache/f680556a8e954eac-meta.json +1 -1
  80. package/.turbo/cache/f680556a8e954eac.tar.zst +0 -0
  81. package/.turbo/cache/fa132b5b5f0e75f8-meta.json +1 -1
  82. package/.turbo/cache/fbbe2704bf9cb90b-meta.json +1 -1
  83. package/.turbo/cache/ff58f630c9d69af4-meta.json +1 -0
  84. package/.turbo/cache/ff58f630c9d69af4.tar.zst +0 -0
  85. package/CHANGELOG.md +32 -0
  86. package/components/checkbox/.turbo/turbo-build.log +6 -3
  87. package/components/checkbox/.turbo/turbo-bundler.log +3 -3
  88. package/components/checkbox/demo/api.html +6 -1
  89. package/components/checkbox/demo/api.js +16 -0
  90. package/components/checkbox/demo/api.md +63 -4
  91. package/components/checkbox/demo/api.min.js +84 -13
  92. package/components/checkbox/demo/index.min.js +59 -13
  93. package/components/checkbox/dist/auro-checkbox-group.d.ts +6 -1
  94. package/components/checkbox/dist/auro-checkbox-group.d.ts.map +1 -1
  95. package/components/checkbox/dist/auro-checkbox.d.ts +5 -0
  96. package/components/checkbox/dist/auro-checkbox.d.ts.map +1 -1
  97. package/components/checkbox/dist/index.js +59 -13
  98. package/components/checkbox/src/auro-checkbox-group.js +18 -6
  99. package/components/checkbox/src/auro-checkbox.js +9 -0
  100. package/components/combobox/.turbo/turbo-build.log +6 -3
  101. package/components/combobox/demo/api.js +4 -2
  102. package/components/combobox/demo/api.md +60 -1
  103. package/components/combobox/demo/api.min.js +100 -30
  104. package/components/combobox/demo/index.min.js +91 -30
  105. package/components/combobox/dist/auro-combobox.d.ts +5 -1
  106. package/components/combobox/dist/auro-combobox.d.ts.map +1 -1
  107. package/components/combobox/dist/index.js +90 -28
  108. package/components/combobox/src/auro-combobox.js +14 -3
  109. package/components/counter/.turbo/turbo-build.log +3 -3
  110. package/components/counter/.turbo/turbo-bundler.log +3 -3
  111. package/components/datepicker/.turbo/turbo-build.log +6 -3
  112. package/components/datepicker/demo/api.js +2 -0
  113. package/components/datepicker/demo/api.md +46 -1
  114. package/components/datepicker/demo/api.min.js +99 -29
  115. package/components/datepicker/demo/index.min.js +90 -29
  116. package/components/datepicker/dist/auro-datepicker.d.ts +5 -2
  117. package/components/datepicker/dist/auro-datepicker.d.ts.map +1 -1
  118. package/components/datepicker/dist/index.js +90 -29
  119. package/components/datepicker/src/auro-datepicker.js +14 -4
  120. package/components/dropdown/.turbo/turbo-build.log +3 -3
  121. package/components/dropdown/.turbo/turbo-bundler.log +3 -3
  122. package/components/form/.turbo/turbo-build.log +3 -3
  123. package/components/form/.turbo/turbo-bundler.log +3 -3
  124. package/components/input/.turbo/turbo-build$colon$sass.log +2 -2
  125. package/components/input/.turbo/turbo-build.log +16 -13
  126. package/components/input/.turbo/turbo-bundler.log +3 -3
  127. package/components/input/demo/api.js +2 -0
  128. package/components/input/demo/api.md +148 -98
  129. package/components/input/demo/api.min.js +56 -21
  130. package/components/input/demo/index.min.js +44 -18
  131. package/components/input/dist/base-input.d.ts +7 -8
  132. package/components/input/dist/base-input.d.ts.map +1 -1
  133. package/components/input/dist/index.js +44 -18
  134. package/components/input/src/base-input.js +11 -10
  135. package/components/input/src/styles/input-css.js +1 -1
  136. package/components/input/src/styles/input.css +13 -0
  137. package/components/input/src/styles/input.scss +21 -0
  138. package/components/input/src/styles/label-css.js +1 -1
  139. package/components/input/src/styles/label.css +3 -3
  140. package/components/input/src/styles/label.scss +1 -2
  141. package/components/input/src/styles/notificationIcons-css.js +1 -1
  142. package/components/input/src/styles/notificationIcons.css +7 -0
  143. package/components/input/src/styles/notificationIcons.scss +14 -0
  144. package/components/input/src/styles/style-css.js +1 -1
  145. package/components/input/src/styles/style.css +23 -3
  146. package/components/menu/.turbo/turbo-build.log +3 -3
  147. package/components/menu/.turbo/turbo-bundler.log +3 -3
  148. package/components/menu/demo/api.min.js +1 -2
  149. package/components/menu/demo/index.min.js +1 -2
  150. package/components/menu/dist/auro-menuoption.d.ts +0 -1
  151. package/components/menu/dist/auro-menuoption.d.ts.map +1 -1
  152. package/components/menu/dist/index.js +1 -2
  153. package/components/menu/src/auro-menuoption.js +1 -2
  154. package/components/radio/.turbo/turbo-build.log +6 -3
  155. package/components/radio/.turbo/turbo-bundler.log +3 -3
  156. package/components/radio/demo/api.html +1 -0
  157. package/components/radio/demo/api.js +2 -0
  158. package/components/radio/demo/api.md +57 -3
  159. package/components/radio/demo/api.min.js +55 -12
  160. package/components/radio/demo/index.min.js +46 -12
  161. package/components/radio/dist/auro-radio-group.d.ts +1 -1
  162. package/components/radio/dist/auro-radio.d.ts +5 -0
  163. package/components/radio/dist/auro-radio.d.ts.map +1 -1
  164. package/components/radio/dist/index.js +46 -12
  165. package/components/radio/src/auro-radio-group.js +5 -5
  166. package/components/radio/src/auro-radio.js +9 -0
  167. package/components/select/.turbo/turbo-build.log +7 -4
  168. package/components/select/demo/api.js +4 -2
  169. package/components/select/demo/api.md +81 -17
  170. package/components/select/demo/api.min.js +51 -11
  171. package/components/select/demo/index.min.js +42 -11
  172. package/components/select/dist/auro-select.d.ts +5 -1
  173. package/components/select/dist/auro-select.d.ts.map +1 -1
  174. package/components/select/dist/index.js +41 -9
  175. package/components/select/src/auro-select.js +9 -2
  176. package/package.json +1 -1
  177. package/packages/form-validation/src/validation.js +32 -7
  178. package/.turbo/cache/049b9083252d38be-meta.json +0 -1
  179. package/.turbo/cache/049b9083252d38be.tar.zst +0 -0
  180. package/.turbo/cache/0a1dd4481355cb0b-meta.json +0 -1
  181. package/.turbo/cache/0a1dd4481355cb0b.tar.zst +0 -0
  182. package/.turbo/cache/3323eb841acb9c4e-meta.json +0 -1
  183. package/.turbo/cache/3323eb841acb9c4e.tar.zst +0 -0
  184. package/.turbo/cache/34ba23e2e2d652ad-meta.json +0 -1
  185. package/.turbo/cache/34ba23e2e2d652ad.tar.zst +0 -0
  186. package/.turbo/cache/368cd6fed7975ad2-meta.json +0 -1
  187. package/.turbo/cache/368cd6fed7975ad2.tar.zst +0 -0
  188. package/.turbo/cache/549e6ef9f9ffd9a8-meta.json +0 -1
  189. package/.turbo/cache/549e6ef9f9ffd9a8.tar.zst +0 -0
  190. package/.turbo/cache/59ccd8430174883c-meta.json +0 -1
  191. package/.turbo/cache/59ccd8430174883c.tar.zst +0 -0
  192. package/.turbo/cache/683d4c0e20c077a9-meta.json +0 -1
  193. package/.turbo/cache/683d4c0e20c077a9.tar.zst +0 -0
  194. package/.turbo/cache/8f8ffe35cc79d1a9-meta.json +0 -1
  195. package/.turbo/cache/8f8ffe35cc79d1a9.tar.zst +0 -0
  196. package/.turbo/cache/926d632729ca6536-meta.json +0 -1
  197. package/.turbo/cache/926d632729ca6536.tar.zst +0 -0
  198. package/.turbo/cache/9e7be41cc3a7ef43-meta.json +0 -1
  199. package/.turbo/cache/9e7be41cc3a7ef43.tar.zst +0 -0
  200. package/.turbo/cache/9ee793063ea89126-meta.json +0 -1
  201. package/.turbo/cache/9ee793063ea89126.tar.zst +0 -0
  202. package/.turbo/cache/a1558cef51c034da-meta.json +0 -1
  203. package/.turbo/cache/a1558cef51c034da.tar.zst +0 -0
  204. package/.turbo/cache/a24f2ff8e94e56e8-meta.json +0 -1
  205. package/.turbo/cache/a24f2ff8e94e56e8.tar.zst +0 -0
  206. package/.turbo/cache/a2705cf095a2ceb0-meta.json +0 -1
  207. package/.turbo/cache/a2705cf095a2ceb0.tar.zst +0 -0
  208. package/.turbo/cache/a33c0749886a41b5-meta.json +0 -1
  209. package/.turbo/cache/a33c0749886a41b5.tar.zst +0 -0
  210. package/.turbo/cache/a66b465385a30a2b-meta.json +0 -1
  211. package/.turbo/cache/a66b465385a30a2b.tar.zst +0 -0
  212. package/.turbo/cache/e25ac25a8a0ad126-meta.json +0 -1
  213. package/.turbo/cache/e25ac25a8a0ad126.tar.zst +0 -0
  214. package/.turbo/cache/e671573e4ef02c47-meta.json +0 -1
  215. package/.turbo/cache/e671573e4ef02c47.tar.zst +0 -0
  216. package/.turbo/cache/ffec4500b911b85a-meta.json +0 -1
  217. package/.turbo/cache/ffec4500b911b85a.tar.zst +0 -0
@@ -24,7 +24,8 @@
24
24
 
25
25
  | Method | Type | Description |
26
26
  |---------|------------|-------------------------------------|
27
- | [focus](#focus) | `(): void` | Focuses the combobox trigger input. |
27
+ | [focus](#focus) | `(): void` | Focuses the combobox trigger input. |
28
+ | [reset](#reset) | `(): void` | Resets component to initial state. |
28
29
 
29
30
  ## Events
30
31
 
@@ -626,6 +627,64 @@ export function focusExample() {
626
627
  <!-- AURO-GENERATED-CONTENT:END -->
627
628
  </auro-accordion>
628
629
 
630
+ #### reset
631
+
632
+ Use the `reset()` method to reset the `<auro-combobox>`'s `value` and `validity` state. Doing so will preserve all other attributes and properties.
633
+
634
+ <div class="exampleWrapper">
635
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/resetState.html) -->
636
+ <!-- The below content is automatically added from ./../apiExamples/resetState.html -->
637
+ <auro-button id="resetStateBtn">Reset</auro-button>
638
+ <br /><br />
639
+ <auro-combobox id="resetStateExample" required>
640
+ <span slot="label">Name</span>
641
+ <auro-menu>
642
+ <auro-menuoption value="Apples" id="option-0">Apples</auro-menuoption>
643
+ <auro-menuoption value="Oranges" id="option-1">Oranges</auro-menuoption>
644
+ <auro-menuoption value="Peaches" id="option-2">Peaches</auro-menuoption>
645
+ <auro-menuoption value="Grapes" id="option-3">Grapes</auro-menuoption>
646
+ <auro-menuoption value="Cherries" id="option-4">Cherries</auro-menuoption>
647
+ <auro-menuoption static nomatch>No matching option</auro-menuoption>
648
+ </auro-menu>
649
+ </auro-combobox>
650
+ <!-- AURO-GENERATED-CONTENT:END -->
651
+ </div>
652
+ <auro-accordion alignRight>
653
+ <span slot="trigger">See code</span>
654
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/resetState.html) -->
655
+ <!-- The below code snippet is automatically added from ./../apiExamples/resetState.html -->
656
+
657
+ ```html
658
+ <auro-button id="resetStateBtn">Reset</auro-button>
659
+ <br /><br />
660
+ <auro-combobox id="resetStateExample" required>
661
+ <span slot="label">Name</span>
662
+ <auro-menu>
663
+ <auro-menuoption value="Apples" id="option-0">Apples</auro-menuoption>
664
+ <auro-menuoption value="Oranges" id="option-1">Oranges</auro-menuoption>
665
+ <auro-menuoption value="Peaches" id="option-2">Peaches</auro-menuoption>
666
+ <auro-menuoption value="Grapes" id="option-3">Grapes</auro-menuoption>
667
+ <auro-menuoption value="Cherries" id="option-4">Cherries</auro-menuoption>
668
+ <auro-menuoption static nomatch>No matching option</auro-menuoption>
669
+ </auro-menu>
670
+ </auro-combobox>
671
+ ```
672
+ <!-- AURO-GENERATED-CONTENT:END -->
673
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/resetState.js) -->
674
+ <!-- The below code snippet is automatically added from ./../apiExamples/resetState.js -->
675
+
676
+ ```js
677
+ export function resetStateExample() {
678
+ const elem = document.querySelector('#resetStateExample');
679
+
680
+ document.querySelector('#resetStateBtn').addEventListener('click', () => {
681
+ elem.reset();
682
+ });
683
+ }
684
+ ```
685
+ <!-- AURO-GENERATED-CONTENT:END -->
686
+ </auro-accordion>
687
+
629
688
  ### Slot Examples
630
689
 
631
690
  #### helpText
@@ -117,6 +117,14 @@ function inDialogExample() {
117
117
  });
118
118
  }
119
119
 
120
+ function resetStateExample() {
121
+ const elem = document.querySelector('#resetStateExample');
122
+
123
+ document.querySelector('#resetStateBtn').addEventListener('click', () => {
124
+ elem.reset();
125
+ });
126
+ }
127
+
120
128
  function auroMenuLoadingExample() {
121
129
  const combobox = document.querySelector("#loadingExample");
122
130
  const menu = document.querySelector("#loadingExampleComboboxMenu");
@@ -307,6 +315,30 @@ let AuroFormValidation$1 = class AuroFormValidation {
307
315
  this.runtimeUtils = new AuroLibraryRuntimeUtils$2();
308
316
  }
309
317
 
318
+ /**
319
+ * Resets the element to its initial state.
320
+ * @private
321
+ * @param {object} elem - HTML element to reset.
322
+ * @returns {void}
323
+ */
324
+ reset(elem) {
325
+ elem.validity = undefined;
326
+ elem.value = undefined;
327
+
328
+ // Resets the second value of the datepicker in range state
329
+ if (elem.valueEnd) {
330
+ elem.valueEnd = undefined;
331
+ }
332
+
333
+ // Resets selected option of element
334
+ if (elem.optionSelected) {
335
+ elem.optionSelected = undefined;
336
+ }
337
+
338
+ // Runs validation to handle error attribute
339
+ this.validate(elem);
340
+ }
341
+
310
342
  /**
311
343
  * Determines the validity state of the element based on the common attribute restrictions (pattern).
312
344
  * @private
@@ -321,10 +353,15 @@ let AuroFormValidation$1 = class AuroFormValidation {
321
353
  elem.validity = 'badInput';
322
354
  elem.setCustomValidity = elem.setCustomValidityBadInput || '';
323
355
  }
324
- } else if (elem.value && elem.value.length > 0 && elem.value.length < elem.minLength) {
356
+ }
357
+
358
+ // Length > 0 is required to prevent the error message from showing when the input is empty
359
+ if (elem.value?.length > 0 && elem.value?.length < elem.minLength) {
325
360
  elem.validity = 'tooShort';
326
361
  elem.setCustomValidity = elem.setCustomValidityTooShort || '';
327
- } else if (elem.value && elem.value.length > elem.maxLength) {
362
+ }
363
+
364
+ if (elem.value?.length > elem.maxLength) {
328
365
  elem.validity = 'tooLong';
329
366
  elem.setCustomValidity = elem.setCustomValidityTooLong || '';
330
367
  }
@@ -350,7 +387,7 @@ let AuroFormValidation$1 = class AuroFormValidation {
350
387
  elem.validity = 'tooShort';
351
388
  elem.setCustomValidity = elem.setCustomValidityForType || '';
352
389
  }
353
- } else if (elem.type === 'number' || elem.type === 'numeric') { // 'numeric` is a deprecated alias for number'
390
+ } else if (elem.type === 'number') {
354
391
  if (elem.max !== undefined && Number(elem.max) < Number(elem.value)) {
355
392
  elem.validity = 'rangeOverflow';
356
393
  elem.setCustomValidity = elem.getAttribute('setCustomValidityRangeOverflow') || '';
@@ -455,14 +492,10 @@ let AuroFormValidation$1 = class AuroFormValidation {
455
492
 
456
493
  if (validationShouldRun || elem.hasAttribute('error')) {
457
494
  if (elem.validity && elem.validity !== 'valid') {
458
- elem.isValid = false;
459
-
460
495
  // Use the validity message override if it is declared
461
496
  if (elem.ValidityMessageOverride) {
462
497
  elem.setCustomValidity = elem.ValidityMessageOverride;
463
498
  }
464
- } else {
465
- elem.isValid = true;
466
499
  }
467
500
 
468
501
  this.getErrorMessage(elem);
@@ -3544,7 +3577,7 @@ const t$4=globalThis,e$1$1=t$4.ShadowRoot&&(void 0===t$4.ShadyCSS||t$4.ShadyCSS.
3544
3577
  * SPDX-License-Identifier: BSD-3-Clause
3545
3578
  */class r extends b{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0;}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const s=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=B(s,this.renderRoot,this.renderOptions);}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0);}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1);}render(){return T}}r._$litElement$=!0,r["finalized"]=!0,globalThis.litElementHydrateSupport?.({LitElement:r});const i$6=globalThis.litElementPolyfillSupport;i$6?.({LitElement:r});(globalThis.litElementVersions??=[]).push("4.1.1");
3546
3579
 
3547
- var styleCss$3$1 = i$2`*,*:before,*:after{box-sizing:border-box}@media(prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}*:focus-visible{outline:0}*:focus-visible{outline:0}:focus:not(:focus-visible){outline:3px solid transparent}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock,:host{display:block}.util_displayFlex{display:flex}.util_displayHidden,:host([hidden]:not(:focus):not(:active)){display:none}.util_displayHiddenVisually,:host([hiddenVisually]:not(:focus):not(:active)){position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.typeIcon{display:flex;flex-direction:row;align-items:center}.typeIcon [auro-icon]{--ds-auro-icon-size: var(--ds-size-300, 1.5rem);height:var(--ds-size-300, 1.5rem);margin-right:var(--ds-size-100, 0.5rem)}.notificationIcons{display:flex;flex-direction:row;padding-right:var(--ds-size-100, 0.5rem)}:host([bordered]) .typeIcon{padding-left:var(--ds-size-100, 0.5rem)}:host([bordered]) .notificationIcons{align-items:center}.notification:not(:first-of-type){margin-left:var(--ds-size-100, 0.5rem)}.alertNotification{width:calc(var(--ds-size-300, 1.5rem) + var(--ds-size-25, 0.125rem));height:calc(var(--ds-size-300, 1.5rem) + var(--ds-size-25, 0.125rem))}.clearBtn{width:calc(var(--ds-size-200, 1rem) + var(--ds-size-25, 0.125rem));height:calc(var(--ds-size-200, 1rem) + var(--ds-size-25, 0.125rem))}.passwordBtn{width:calc(var(--ds-size-300, 1.5rem));height:calc(var(--ds-size-300, 1.5rem))}.notificationBtn{display:block;width:var(--ds-size-300, 1.5rem);height:var(--ds-size-300, 1.5rem);padding:0;border:0;background:unset;cursor:pointer}.notificationBtn [auro-icon]{display:block;height:var(--ds-size-300, 1.5rem);--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}.notificationBtn [auro-icon][hidden]{display:none}:host(:not([bordered])) .typeIcon,:host(:not([bordered])) .notificationIcons{align-items:flex-end;padding-bottom:var(--ds-size-50, 0.25rem)}:host(:focus-within[type=password]) .notificationIcons[hasValue] .alertNotification{overflow:hidden;width:0;height:0;padding:0;margin:0;visibility:hidden}.inputElement-helpText{margin:var(--ds-size-50, 0.25rem) 0;font-size:var(--ds-text-body-size-xs, 0.75rem);line-height:var(--ds-size-200, 1rem)}input{border:unset}.wrapper{position:relative;overflow:hidden;border-style:solid}:host(:not([bordered],[borderless])) .wrapper{border-width:1px 0}:host([bordered]) .wrapper{border-width:1px;border-radius:var(--ds-border-radius, 0.375rem)}:host(:not([borderless])) .wrapper:focus-within:before{position:absolute;display:block;border-bottom-width:1px;border-bottom-style:solid;content:"";inset:0;pointer-events:none}:host([validity]:not([validity=valid])) .wrapper:before{border-bottom:0}label{position:absolute;overflow:hidden;pointer-events:none;text-overflow:ellipsis;transition:all .3s cubic-bezier(0.215, 0.61, 0.355, 1);white-space:nowrap}:host(:not([bordered])) label{top:calc(100% - var(--ds-size-25, 0.125rem));transform:translateY(-100%)}:host(:not([bordered])) label.withIcon{left:var(--ds-size-400, 2rem)}:host([bordered]) label{top:50%;transform:translateY(-50%)}:host([bordered]) label.withIcon{left:var(--ds-size-500, 2.5rem)}:host([bordered]) label:not(label.withIcon){left:var(--ds-size-100, 0.5rem)}:host .wrapper:focus-within label{top:var(--ds-size-25, 0.125rem);font-size:var(--ds-text-body-size-xs, 0.75rem);transform:unset}:host label.withValue{top:var(--ds-size-25, 0.125rem);font-size:var(--ds-text-body-size-xs, 0.75rem);transform:unset}:host([activeLabel]) .wrapper label{top:var(--ds-size-25, 0.125rem);font-size:var(--ds-text-body-size-xs, 0.75rem);transform:unset}:host{--size-lgsm: 1.875rem;--size-xlsm: 2.75rem;--size-mdxxs: 1.2rem;position:relative;display:block}.wrapper{display:flex;flex-direction:row}.main{display:flex;flex-direction:row;position:relative;flex:1}input{position:relative;overflow:hidden;min-height:calc(var(--ds-size-700, 3.5rem) + var(--ds-size-25, 0.125rem));max-height:calc(var(--ds-size-700, 3.5rem) + var(--ds-size-25, 0.125rem));flex:1;padding:var(--ds-size-400, 2rem) 0 var(--ds-size-50, 0.25rem);margin:0;font-family:var(--ds-font-family-default, "AS Circular", Helvetica Neue, Arial, sans-serif);font-size:var(--ds-size-200, 1rem);outline:none;text-overflow:ellipsis;transition:all .3s cubic-bezier(0.215, 0.61, 0.355, 1);white-space:nowrap}input::-ms-reveal,input::-ms-clear{display:none}input:disabled{background:none;pointer-events:none}`;
3580
+ var styleCss$3$1 = i$2`*,*:before,*:after{box-sizing:border-box}@media(prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}*:focus-visible{outline:0}*:focus-visible{outline:0}:focus:not(:focus-visible){outline:3px solid transparent}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock,:host{display:block}.util_displayFlex{display:flex}.util_displayHidden,:host([hidden]:not(:focus):not(:active)){display:none}.util_displayHiddenVisually,:host([hiddenVisually]:not(:focus):not(:active)){position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.typeIcon{display:flex;flex-direction:row;align-items:center}.typeIcon [auro-icon]{--ds-auro-icon-size: var(--ds-size-300, 1.5rem);height:var(--ds-size-300, 1.5rem);margin-right:var(--ds-size-100, 0.5rem)}.notificationIcons{display:flex;flex-direction:row;padding-right:var(--ds-size-100, 0.5rem)}:host([bordered]) .typeIcon{padding-left:var(--ds-size-100, 0.5rem)}:host([bordered]) .notificationIcons{align-items:center}.notification:not(:first-of-type){margin-left:var(--ds-size-100, 0.5rem)}.alertNotification{width:calc(var(--ds-size-300, 1.5rem) + var(--ds-size-25, 0.125rem));height:calc(var(--ds-size-300, 1.5rem) + var(--ds-size-25, 0.125rem))}.clearBtn{width:calc(var(--ds-size-200, 1rem) + var(--ds-size-25, 0.125rem));height:calc(var(--ds-size-200, 1rem) + var(--ds-size-25, 0.125rem));opacity:0;pointer-events:none}:host .wrapper:hover .clearBtn,:host .wrapper:focus-within .clearBtn{opacity:1;pointer-events:auto}.passwordBtn{width:calc(var(--ds-size-300, 1.5rem));height:calc(var(--ds-size-300, 1.5rem))}.notificationBtn{display:block;width:var(--ds-size-300, 1.5rem);height:var(--ds-size-300, 1.5rem);padding:0;border:0;background:unset;cursor:pointer}.notificationBtn [auro-icon]{display:block;height:var(--ds-size-300, 1.5rem);--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}.notificationBtn [auro-icon][hidden]{display:none}:host(:not([bordered])) .typeIcon,:host(:not([bordered])) .notificationIcons{align-items:flex-end;padding-bottom:var(--ds-size-50, 0.25rem)}:host(:focus-within[type=password]) .notificationIcons[hasValue] .alertNotification{overflow:hidden;width:0;height:0;padding:0;margin:0;visibility:hidden}.inputElement-helpText{margin:var(--ds-size-50, 0.25rem) 0;font-size:var(--ds-text-body-size-xs, 0.75rem);line-height:var(--ds-size-200, 1rem)}input{border:unset}.wrapper{position:relative;overflow:hidden;border-style:solid}:host(:not([bordered],[borderless])) .wrapper{border-width:1px 0}:host([bordered]) .wrapper{border-width:1px;border-radius:var(--ds-border-radius, 0.375rem)}:host(:not([borderless])) .wrapper:focus-within:before{position:absolute;display:block;border-bottom-width:1px;border-bottom-style:solid;content:"";inset:0;pointer-events:none}:host([validity]:not([validity=valid])) .wrapper:before{border-bottom:0}label{position:absolute;overflow:hidden;pointer-events:none;text-overflow:ellipsis;transition:all .3s cubic-bezier(0.215, 0.61, 0.355, 1);white-space:nowrap}:host(:not([bordered])) label{top:calc(100% - var(--ds-size-25, 0.125rem));transform:translateY(-100%)}:host(:not([bordered])) label.withIcon{left:var(--ds-size-400, 2rem)}:host([bordered]) label{top:50%;transform:translateY(-50%)}:host([bordered]) label.withIcon{left:var(--ds-size-500, 2.5rem)}:host([bordered]) label:not(label.withIcon){left:var(--ds-size-100, 0.5rem)}:host .wrapper:focus-within label{top:var(--ds-size-100, 0.5rem);font-size:var(--ds-text-body-size-xs, 0.75rem);transform:unset}:host label.withValue{top:var(--ds-size-100, 0.5rem);font-size:var(--ds-text-body-size-xs, 0.75rem);transform:unset}:host([activeLabel]) .wrapper label{top:var(--ds-size-100, 0.5rem);font-size:var(--ds-text-body-size-xs, 0.75rem);transform:unset}:host{--size-lgsm: 1.875rem;--size-xlsm: 2.75rem;--size-mdxxs: 1.2rem;position:relative;display:block}.wrapper{display:flex;flex-direction:row}.main{display:flex;flex-direction:row;position:relative;flex:1}input{position:relative;overflow:hidden;min-height:calc(var(--ds-size-700, 3.5rem) + var(--ds-size-25, 0.125rem));max-height:calc(var(--ds-size-700, 3.5rem) + var(--ds-size-25, 0.125rem));flex:1;padding:var(--ds-size-400, 2rem) 0 var(--ds-size-50, 0.25rem);margin:0;font-family:var(--ds-font-family-default, "AS Circular", Helvetica Neue, Arial, sans-serif);font-size:var(--ds-size-200, 1rem);outline:none;text-overflow:ellipsis;transition:all .3s cubic-bezier(0.215, 0.61, 0.355, 1);white-space:nowrap}input::-ms-reveal,input::-ms-clear{display:none}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}input[type=number]{-moz-appearance:textfield;appearance:textfield}input:disabled{background:none;pointer-events:none}:host([bordered]) input{padding:var(--ds-size-400, 2rem) 0 var(--ds-size-100, 0.5rem)}`;
3548
3581
 
3549
3582
  var colorCss$3 = i$2`.wrapper{border-color:transparent}.inputElement-helpText{color:var(--ds-auro-input-help-text-color)}input{background-color:transparent;caret-color:var(--ds-auro-input-caret-color);color:var(--ds-auro-input-text-color)}input::placeholder{color:transparent}input:focus::placeholder{color:var(--ds-auro-input-placeholder-text-color)}input:disabled{--ds-auro-input-input-text-color: var(--ds-color-text-ui-disabled-default, #adadad)}label{color:var(--ds-auro-input-label-text-color)}:host(:not([bordered],[borderless])) .wrapper{border-bottom-color:var(--ds-auro-input-border-color)}:host([bordered]) .wrapper{border-color:var(--ds-auro-input-border-color);background-color:var(--ds-auro-input-container-color)}:host([bordered]) .wrapper:focus-within{--ds-auro-input-border-color: var(--ds-color-border-ui-focus-default, #2c67b5);box-shadow:inset 0 0 0 1px var(--ds-auro-input-border-color)}:host(:not([borderless])) .wrapper:focus-within{--ds-auro-input-border-color: var(--ds-color-border-ui-focus-default, #2c67b5)}:host(:not([borderless])) .wrapper:focus-within:before{border-bottom-color:transparent}:host([validity]:not([validity=valid])){--ds-auro-input-border-color: var(--ds-color-border-error-default, #cc1816);--ds-auro-input-help-text-color: var(--ds-color-text-error-default, #cc1816)}:host([validity]:not([validity=valid])[bordered]) .wrapper{--ds-auro-input-border-color: var(--ds-color-border-error-default, #cc1816);box-shadow:inset 0 0 0 1px var(--ds-auro-input-border-color)}:host([disabled]){--ds-auro-input-border-color: var(--ds-color-border-ui-disabled-default, #adadad);--ds-auro-input-label-text-color: var(--ds-color-text-ui-disabled-default, #adadad)}`;
3550
3583
 
@@ -5186,6 +5219,30 @@ class AuroFormValidation {
5186
5219
  this.runtimeUtils = new AuroLibraryRuntimeUtils();
5187
5220
  }
5188
5221
 
5222
+ /**
5223
+ * Resets the element to its initial state.
5224
+ * @private
5225
+ * @param {object} elem - HTML element to reset.
5226
+ * @returns {void}
5227
+ */
5228
+ reset(elem) {
5229
+ elem.validity = undefined;
5230
+ elem.value = undefined;
5231
+
5232
+ // Resets the second value of the datepicker in range state
5233
+ if (elem.valueEnd) {
5234
+ elem.valueEnd = undefined;
5235
+ }
5236
+
5237
+ // Resets selected option of element
5238
+ if (elem.optionSelected) {
5239
+ elem.optionSelected = undefined;
5240
+ }
5241
+
5242
+ // Runs validation to handle error attribute
5243
+ this.validate(elem);
5244
+ }
5245
+
5189
5246
  /**
5190
5247
  * Determines the validity state of the element based on the common attribute restrictions (pattern).
5191
5248
  * @private
@@ -5200,10 +5257,15 @@ class AuroFormValidation {
5200
5257
  elem.validity = 'badInput';
5201
5258
  elem.setCustomValidity = elem.setCustomValidityBadInput || '';
5202
5259
  }
5203
- } else if (elem.value && elem.value.length > 0 && elem.value.length < elem.minLength) {
5260
+ }
5261
+
5262
+ // Length > 0 is required to prevent the error message from showing when the input is empty
5263
+ if (elem.value?.length > 0 && elem.value?.length < elem.minLength) {
5204
5264
  elem.validity = 'tooShort';
5205
5265
  elem.setCustomValidity = elem.setCustomValidityTooShort || '';
5206
- } else if (elem.value && elem.value.length > elem.maxLength) {
5266
+ }
5267
+
5268
+ if (elem.value?.length > elem.maxLength) {
5207
5269
  elem.validity = 'tooLong';
5208
5270
  elem.setCustomValidity = elem.setCustomValidityTooLong || '';
5209
5271
  }
@@ -5229,7 +5291,7 @@ class AuroFormValidation {
5229
5291
  elem.validity = 'tooShort';
5230
5292
  elem.setCustomValidity = elem.setCustomValidityForType || '';
5231
5293
  }
5232
- } else if (elem.type === 'number' || elem.type === 'numeric') { // 'numeric` is a deprecated alias for number'
5294
+ } else if (elem.type === 'number') {
5233
5295
  if (elem.max !== undefined && Number(elem.max) < Number(elem.value)) {
5234
5296
  elem.validity = 'rangeOverflow';
5235
5297
  elem.setCustomValidity = elem.getAttribute('setCustomValidityRangeOverflow') || '';
@@ -5334,14 +5396,10 @@ class AuroFormValidation {
5334
5396
 
5335
5397
  if (validationShouldRun || elem.hasAttribute('error')) {
5336
5398
  if (elem.validity && elem.validity !== 'valid') {
5337
- elem.isValid = false;
5338
-
5339
5399
  // Use the validity message override if it is declared
5340
5400
  if (elem.ValidityMessageOverride) {
5341
5401
  elem.setCustomValidity = elem.ValidityMessageOverride;
5342
5402
  }
5343
- } else {
5344
- elem.isValid = true;
5345
5403
  }
5346
5404
 
5347
5405
  this.getErrorMessage(elem);
@@ -5431,12 +5489,11 @@ class AuroFormValidation {
5431
5489
  * @attr {String} helpText - Deprecated, see `slot`.
5432
5490
  * @attr {Boolean} icon - If set, will render an icon inside the input to the left of the value. Support is limited to auro-input instances with credit card format.
5433
5491
  * @attr {String} id - Sets the unique ID of the element.
5434
- * @attr {String} isValid - (DEPRECATED - Please use validity) Can be accessed to determine if the input validity. Returns true when validity has not yet been checked or validity = 'valid', all other cases return false. Not intended to be set by the consumer.
5435
5492
  * @attr {String} label - Deprecated, see `slot`.
5436
5493
  * @attr {String} lang - defines the language of an element.
5437
- * @attr {String} max - The maximum value allowed. This only applies for inputs with a type of `numeric` and all date formats.
5494
+ * @attr {String} max - The maximum value allowed. This only applies for inputs with a type of `number` and all date formats.
5438
5495
  * @attr {Number} maxLength - The maximum number of characters the user can enter into the text input. This must be an integer value `0` or higher.
5439
- * @attr {String} min - The minimum value allowed. This only applies for inputs with a type of `numeric` and all date formats.
5496
+ * @attr {String} min - The minimum value allowed. This only applies for inputs with a type of `number` and all date formats.
5440
5497
  * @attr {Number} minLength - The minimum number of characters the user can enter into the text input. This must be an non-negative integer value smaller than or equal to the value specified by `maxlength`.
5441
5498
  * @attr {String} name - Populates the `name` attribute on the input.
5442
5499
  * @attr {Boolean} noValidate - If set, disables auto-validation on blur.
@@ -5476,8 +5533,6 @@ class BaseInput extends r {
5476
5533
  constructor() {
5477
5534
  super();
5478
5535
 
5479
- this.isValid = false;
5480
-
5481
5536
  this.icon = false;
5482
5537
  this.disabled = false;
5483
5538
  this.required = false;
@@ -5506,6 +5561,7 @@ class BaseInput extends r {
5506
5561
 
5507
5562
  this.allowedInputTypes = [
5508
5563
  "text",
5564
+ "number",
5509
5565
  "email",
5510
5566
  "password",
5511
5567
  "credit-card",
@@ -5598,10 +5654,6 @@ class BaseInput extends r {
5598
5654
  reflect: true
5599
5655
  },
5600
5656
  errorMessage: { type: String },
5601
- isValid: {
5602
- type: String,
5603
- reflect: true
5604
- },
5605
5657
  validity: {
5606
5658
  type: String,
5607
5659
  reflect: true
@@ -6004,7 +6056,7 @@ class BaseInput extends r {
6004
6056
  * @return {void}
6005
6057
  */
6006
6058
  handleInput() {
6007
- // Prevent non-numeric characters from being entered on credit card fields.
6059
+ // Prevent non-number characters from being entered on credit card fields.
6008
6060
  if (this.type === 'credit-card') {
6009
6061
  this.inputElement.value = this.inputElement.value.replace(/[\D]/gu, '');
6010
6062
  }
@@ -6090,6 +6142,13 @@ class BaseInput extends r {
6090
6142
  this.validation.validate(this);
6091
6143
  }
6092
6144
 
6145
+ /**
6146
+ * Resets component to initial state.
6147
+ * @returns {void}
6148
+ */
6149
+ reset() {
6150
+ this.validation.reset(this);
6151
+ }
6093
6152
 
6094
6153
  /**
6095
6154
  * Sets configuration data used elsewhere based on the `type` attribute.
@@ -7469,8 +7528,7 @@ class AuroCombobox extends r$6 {
7469
7528
  reflect: true
7470
7529
  },
7471
7530
  value: {
7472
- type: String,
7473
- reflect: true
7531
+ type: String
7474
7532
  },
7475
7533
  checkmark: {
7476
7534
  type: Boolean,
@@ -7783,7 +7841,7 @@ class AuroCombobox extends r$6 {
7783
7841
  }
7784
7842
 
7785
7843
  // hide the menu if the value is empty otherwise show if there are available suggestions
7786
- if (this.input.value.length === 0) {
7844
+ if (this.input.value && this.input.value.length === 0) {
7787
7845
  this.hideBib();
7788
7846
  this.classList.remove('combobox-filled');
7789
7847
  } else if (!this.dropdown.isPopoverVisible && this.availableOptions) {
@@ -7944,6 +8002,18 @@ class AuroCombobox extends r$6 {
7944
8002
  this.input.focus();
7945
8003
  }
7946
8004
 
8005
+ /**
8006
+ * Resets component to initial state.
8007
+ * @returns {void}
8008
+ */
8009
+ reset() {
8010
+ // Resets the help text of the combobox
8011
+ this.auroInputHelpText = undefined;
8012
+
8013
+ this.input.reset();
8014
+ this.validation.reset(this);
8015
+ }
8016
+
7947
8017
  updated(changedProperties) {
7948
8018
  // After the component is ready, send direct value changes to auro-menu.
7949
8019
  if (changedProperties.has('value')) {
@@ -9056,8 +9126,7 @@ class AuroMenuOption extends r$6 {
9056
9126
  reflect: true
9057
9127
  },
9058
9128
  value: {
9059
- type: String,
9060
- reflect: true
9129
+ type: String
9061
9130
  },
9062
9131
  tabIndex: {
9063
9132
  type: Number,
@@ -9151,6 +9220,7 @@ function initExamples(initCount) {
9151
9220
  valueExample();
9152
9221
  focusExample();
9153
9222
  inDialogExample();
9223
+ resetStateExample();
9154
9224
  auroMenuLoadingExample();
9155
9225
  } catch (err) {
9156
9226
  if (initCount <= 20) {
@@ -173,6 +173,30 @@ let AuroFormValidation$1 = class AuroFormValidation {
173
173
  this.runtimeUtils = new AuroLibraryRuntimeUtils$2();
174
174
  }
175
175
 
176
+ /**
177
+ * Resets the element to its initial state.
178
+ * @private
179
+ * @param {object} elem - HTML element to reset.
180
+ * @returns {void}
181
+ */
182
+ reset(elem) {
183
+ elem.validity = undefined;
184
+ elem.value = undefined;
185
+
186
+ // Resets the second value of the datepicker in range state
187
+ if (elem.valueEnd) {
188
+ elem.valueEnd = undefined;
189
+ }
190
+
191
+ // Resets selected option of element
192
+ if (elem.optionSelected) {
193
+ elem.optionSelected = undefined;
194
+ }
195
+
196
+ // Runs validation to handle error attribute
197
+ this.validate(elem);
198
+ }
199
+
176
200
  /**
177
201
  * Determines the validity state of the element based on the common attribute restrictions (pattern).
178
202
  * @private
@@ -187,10 +211,15 @@ let AuroFormValidation$1 = class AuroFormValidation {
187
211
  elem.validity = 'badInput';
188
212
  elem.setCustomValidity = elem.setCustomValidityBadInput || '';
189
213
  }
190
- } else if (elem.value && elem.value.length > 0 && elem.value.length < elem.minLength) {
214
+ }
215
+
216
+ // Length > 0 is required to prevent the error message from showing when the input is empty
217
+ if (elem.value?.length > 0 && elem.value?.length < elem.minLength) {
191
218
  elem.validity = 'tooShort';
192
219
  elem.setCustomValidity = elem.setCustomValidityTooShort || '';
193
- } else if (elem.value && elem.value.length > elem.maxLength) {
220
+ }
221
+
222
+ if (elem.value?.length > elem.maxLength) {
194
223
  elem.validity = 'tooLong';
195
224
  elem.setCustomValidity = elem.setCustomValidityTooLong || '';
196
225
  }
@@ -216,7 +245,7 @@ let AuroFormValidation$1 = class AuroFormValidation {
216
245
  elem.validity = 'tooShort';
217
246
  elem.setCustomValidity = elem.setCustomValidityForType || '';
218
247
  }
219
- } else if (elem.type === 'number' || elem.type === 'numeric') { // 'numeric` is a deprecated alias for number'
248
+ } else if (elem.type === 'number') {
220
249
  if (elem.max !== undefined && Number(elem.max) < Number(elem.value)) {
221
250
  elem.validity = 'rangeOverflow';
222
251
  elem.setCustomValidity = elem.getAttribute('setCustomValidityRangeOverflow') || '';
@@ -321,14 +350,10 @@ let AuroFormValidation$1 = class AuroFormValidation {
321
350
 
322
351
  if (validationShouldRun || elem.hasAttribute('error')) {
323
352
  if (elem.validity && elem.validity !== 'valid') {
324
- elem.isValid = false;
325
-
326
353
  // Use the validity message override if it is declared
327
354
  if (elem.ValidityMessageOverride) {
328
355
  elem.setCustomValidity = elem.ValidityMessageOverride;
329
356
  }
330
- } else {
331
- elem.isValid = true;
332
357
  }
333
358
 
334
359
  this.getErrorMessage(elem);
@@ -3410,7 +3435,7 @@ const t$4=globalThis,e$1$1=t$4.ShadowRoot&&(void 0===t$4.ShadyCSS||t$4.ShadyCSS.
3410
3435
  * SPDX-License-Identifier: BSD-3-Clause
3411
3436
  */class r extends b{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0;}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const s=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=B(s,this.renderRoot,this.renderOptions);}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0);}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1);}render(){return T}}r._$litElement$=!0,r["finalized"]=!0,globalThis.litElementHydrateSupport?.({LitElement:r});const i$6=globalThis.litElementPolyfillSupport;i$6?.({LitElement:r});(globalThis.litElementVersions??=[]).push("4.1.1");
3412
3437
 
3413
- var styleCss$3$1 = i$2`*,*:before,*:after{box-sizing:border-box}@media(prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}*:focus-visible{outline:0}*:focus-visible{outline:0}:focus:not(:focus-visible){outline:3px solid transparent}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock,:host{display:block}.util_displayFlex{display:flex}.util_displayHidden,:host([hidden]:not(:focus):not(:active)){display:none}.util_displayHiddenVisually,:host([hiddenVisually]:not(:focus):not(:active)){position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.typeIcon{display:flex;flex-direction:row;align-items:center}.typeIcon [auro-icon]{--ds-auro-icon-size: var(--ds-size-300, 1.5rem);height:var(--ds-size-300, 1.5rem);margin-right:var(--ds-size-100, 0.5rem)}.notificationIcons{display:flex;flex-direction:row;padding-right:var(--ds-size-100, 0.5rem)}:host([bordered]) .typeIcon{padding-left:var(--ds-size-100, 0.5rem)}:host([bordered]) .notificationIcons{align-items:center}.notification:not(:first-of-type){margin-left:var(--ds-size-100, 0.5rem)}.alertNotification{width:calc(var(--ds-size-300, 1.5rem) + var(--ds-size-25, 0.125rem));height:calc(var(--ds-size-300, 1.5rem) + var(--ds-size-25, 0.125rem))}.clearBtn{width:calc(var(--ds-size-200, 1rem) + var(--ds-size-25, 0.125rem));height:calc(var(--ds-size-200, 1rem) + var(--ds-size-25, 0.125rem))}.passwordBtn{width:calc(var(--ds-size-300, 1.5rem));height:calc(var(--ds-size-300, 1.5rem))}.notificationBtn{display:block;width:var(--ds-size-300, 1.5rem);height:var(--ds-size-300, 1.5rem);padding:0;border:0;background:unset;cursor:pointer}.notificationBtn [auro-icon]{display:block;height:var(--ds-size-300, 1.5rem);--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}.notificationBtn [auro-icon][hidden]{display:none}:host(:not([bordered])) .typeIcon,:host(:not([bordered])) .notificationIcons{align-items:flex-end;padding-bottom:var(--ds-size-50, 0.25rem)}:host(:focus-within[type=password]) .notificationIcons[hasValue] .alertNotification{overflow:hidden;width:0;height:0;padding:0;margin:0;visibility:hidden}.inputElement-helpText{margin:var(--ds-size-50, 0.25rem) 0;font-size:var(--ds-text-body-size-xs, 0.75rem);line-height:var(--ds-size-200, 1rem)}input{border:unset}.wrapper{position:relative;overflow:hidden;border-style:solid}:host(:not([bordered],[borderless])) .wrapper{border-width:1px 0}:host([bordered]) .wrapper{border-width:1px;border-radius:var(--ds-border-radius, 0.375rem)}:host(:not([borderless])) .wrapper:focus-within:before{position:absolute;display:block;border-bottom-width:1px;border-bottom-style:solid;content:"";inset:0;pointer-events:none}:host([validity]:not([validity=valid])) .wrapper:before{border-bottom:0}label{position:absolute;overflow:hidden;pointer-events:none;text-overflow:ellipsis;transition:all .3s cubic-bezier(0.215, 0.61, 0.355, 1);white-space:nowrap}:host(:not([bordered])) label{top:calc(100% - var(--ds-size-25, 0.125rem));transform:translateY(-100%)}:host(:not([bordered])) label.withIcon{left:var(--ds-size-400, 2rem)}:host([bordered]) label{top:50%;transform:translateY(-50%)}:host([bordered]) label.withIcon{left:var(--ds-size-500, 2.5rem)}:host([bordered]) label:not(label.withIcon){left:var(--ds-size-100, 0.5rem)}:host .wrapper:focus-within label{top:var(--ds-size-25, 0.125rem);font-size:var(--ds-text-body-size-xs, 0.75rem);transform:unset}:host label.withValue{top:var(--ds-size-25, 0.125rem);font-size:var(--ds-text-body-size-xs, 0.75rem);transform:unset}:host([activeLabel]) .wrapper label{top:var(--ds-size-25, 0.125rem);font-size:var(--ds-text-body-size-xs, 0.75rem);transform:unset}:host{--size-lgsm: 1.875rem;--size-xlsm: 2.75rem;--size-mdxxs: 1.2rem;position:relative;display:block}.wrapper{display:flex;flex-direction:row}.main{display:flex;flex-direction:row;position:relative;flex:1}input{position:relative;overflow:hidden;min-height:calc(var(--ds-size-700, 3.5rem) + var(--ds-size-25, 0.125rem));max-height:calc(var(--ds-size-700, 3.5rem) + var(--ds-size-25, 0.125rem));flex:1;padding:var(--ds-size-400, 2rem) 0 var(--ds-size-50, 0.25rem);margin:0;font-family:var(--ds-font-family-default, "AS Circular", Helvetica Neue, Arial, sans-serif);font-size:var(--ds-size-200, 1rem);outline:none;text-overflow:ellipsis;transition:all .3s cubic-bezier(0.215, 0.61, 0.355, 1);white-space:nowrap}input::-ms-reveal,input::-ms-clear{display:none}input:disabled{background:none;pointer-events:none}`;
3438
+ var styleCss$3$1 = i$2`*,*:before,*:after{box-sizing:border-box}@media(prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}*:focus-visible{outline:0}*:focus-visible{outline:0}:focus:not(:focus-visible){outline:3px solid transparent}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock,:host{display:block}.util_displayFlex{display:flex}.util_displayHidden,:host([hidden]:not(:focus):not(:active)){display:none}.util_displayHiddenVisually,:host([hiddenVisually]:not(:focus):not(:active)){position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.typeIcon{display:flex;flex-direction:row;align-items:center}.typeIcon [auro-icon]{--ds-auro-icon-size: var(--ds-size-300, 1.5rem);height:var(--ds-size-300, 1.5rem);margin-right:var(--ds-size-100, 0.5rem)}.notificationIcons{display:flex;flex-direction:row;padding-right:var(--ds-size-100, 0.5rem)}:host([bordered]) .typeIcon{padding-left:var(--ds-size-100, 0.5rem)}:host([bordered]) .notificationIcons{align-items:center}.notification:not(:first-of-type){margin-left:var(--ds-size-100, 0.5rem)}.alertNotification{width:calc(var(--ds-size-300, 1.5rem) + var(--ds-size-25, 0.125rem));height:calc(var(--ds-size-300, 1.5rem) + var(--ds-size-25, 0.125rem))}.clearBtn{width:calc(var(--ds-size-200, 1rem) + var(--ds-size-25, 0.125rem));height:calc(var(--ds-size-200, 1rem) + var(--ds-size-25, 0.125rem));opacity:0;pointer-events:none}:host .wrapper:hover .clearBtn,:host .wrapper:focus-within .clearBtn{opacity:1;pointer-events:auto}.passwordBtn{width:calc(var(--ds-size-300, 1.5rem));height:calc(var(--ds-size-300, 1.5rem))}.notificationBtn{display:block;width:var(--ds-size-300, 1.5rem);height:var(--ds-size-300, 1.5rem);padding:0;border:0;background:unset;cursor:pointer}.notificationBtn [auro-icon]{display:block;height:var(--ds-size-300, 1.5rem);--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}.notificationBtn [auro-icon][hidden]{display:none}:host(:not([bordered])) .typeIcon,:host(:not([bordered])) .notificationIcons{align-items:flex-end;padding-bottom:var(--ds-size-50, 0.25rem)}:host(:focus-within[type=password]) .notificationIcons[hasValue] .alertNotification{overflow:hidden;width:0;height:0;padding:0;margin:0;visibility:hidden}.inputElement-helpText{margin:var(--ds-size-50, 0.25rem) 0;font-size:var(--ds-text-body-size-xs, 0.75rem);line-height:var(--ds-size-200, 1rem)}input{border:unset}.wrapper{position:relative;overflow:hidden;border-style:solid}:host(:not([bordered],[borderless])) .wrapper{border-width:1px 0}:host([bordered]) .wrapper{border-width:1px;border-radius:var(--ds-border-radius, 0.375rem)}:host(:not([borderless])) .wrapper:focus-within:before{position:absolute;display:block;border-bottom-width:1px;border-bottom-style:solid;content:"";inset:0;pointer-events:none}:host([validity]:not([validity=valid])) .wrapper:before{border-bottom:0}label{position:absolute;overflow:hidden;pointer-events:none;text-overflow:ellipsis;transition:all .3s cubic-bezier(0.215, 0.61, 0.355, 1);white-space:nowrap}:host(:not([bordered])) label{top:calc(100% - var(--ds-size-25, 0.125rem));transform:translateY(-100%)}:host(:not([bordered])) label.withIcon{left:var(--ds-size-400, 2rem)}:host([bordered]) label{top:50%;transform:translateY(-50%)}:host([bordered]) label.withIcon{left:var(--ds-size-500, 2.5rem)}:host([bordered]) label:not(label.withIcon){left:var(--ds-size-100, 0.5rem)}:host .wrapper:focus-within label{top:var(--ds-size-100, 0.5rem);font-size:var(--ds-text-body-size-xs, 0.75rem);transform:unset}:host label.withValue{top:var(--ds-size-100, 0.5rem);font-size:var(--ds-text-body-size-xs, 0.75rem);transform:unset}:host([activeLabel]) .wrapper label{top:var(--ds-size-100, 0.5rem);font-size:var(--ds-text-body-size-xs, 0.75rem);transform:unset}:host{--size-lgsm: 1.875rem;--size-xlsm: 2.75rem;--size-mdxxs: 1.2rem;position:relative;display:block}.wrapper{display:flex;flex-direction:row}.main{display:flex;flex-direction:row;position:relative;flex:1}input{position:relative;overflow:hidden;min-height:calc(var(--ds-size-700, 3.5rem) + var(--ds-size-25, 0.125rem));max-height:calc(var(--ds-size-700, 3.5rem) + var(--ds-size-25, 0.125rem));flex:1;padding:var(--ds-size-400, 2rem) 0 var(--ds-size-50, 0.25rem);margin:0;font-family:var(--ds-font-family-default, "AS Circular", Helvetica Neue, Arial, sans-serif);font-size:var(--ds-size-200, 1rem);outline:none;text-overflow:ellipsis;transition:all .3s cubic-bezier(0.215, 0.61, 0.355, 1);white-space:nowrap}input::-ms-reveal,input::-ms-clear{display:none}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}input[type=number]{-moz-appearance:textfield;appearance:textfield}input:disabled{background:none;pointer-events:none}:host([bordered]) input{padding:var(--ds-size-400, 2rem) 0 var(--ds-size-100, 0.5rem)}`;
3414
3439
 
3415
3440
  var colorCss$3 = i$2`.wrapper{border-color:transparent}.inputElement-helpText{color:var(--ds-auro-input-help-text-color)}input{background-color:transparent;caret-color:var(--ds-auro-input-caret-color);color:var(--ds-auro-input-text-color)}input::placeholder{color:transparent}input:focus::placeholder{color:var(--ds-auro-input-placeholder-text-color)}input:disabled{--ds-auro-input-input-text-color: var(--ds-color-text-ui-disabled-default, #adadad)}label{color:var(--ds-auro-input-label-text-color)}:host(:not([bordered],[borderless])) .wrapper{border-bottom-color:var(--ds-auro-input-border-color)}:host([bordered]) .wrapper{border-color:var(--ds-auro-input-border-color);background-color:var(--ds-auro-input-container-color)}:host([bordered]) .wrapper:focus-within{--ds-auro-input-border-color: var(--ds-color-border-ui-focus-default, #2c67b5);box-shadow:inset 0 0 0 1px var(--ds-auro-input-border-color)}:host(:not([borderless])) .wrapper:focus-within{--ds-auro-input-border-color: var(--ds-color-border-ui-focus-default, #2c67b5)}:host(:not([borderless])) .wrapper:focus-within:before{border-bottom-color:transparent}:host([validity]:not([validity=valid])){--ds-auro-input-border-color: var(--ds-color-border-error-default, #cc1816);--ds-auro-input-help-text-color: var(--ds-color-text-error-default, #cc1816)}:host([validity]:not([validity=valid])[bordered]) .wrapper{--ds-auro-input-border-color: var(--ds-color-border-error-default, #cc1816);box-shadow:inset 0 0 0 1px var(--ds-auro-input-border-color)}:host([disabled]){--ds-auro-input-border-color: var(--ds-color-border-ui-disabled-default, #adadad);--ds-auro-input-label-text-color: var(--ds-color-text-ui-disabled-default, #adadad)}`;
3416
3441
 
@@ -5052,6 +5077,30 @@ class AuroFormValidation {
5052
5077
  this.runtimeUtils = new AuroLibraryRuntimeUtils();
5053
5078
  }
5054
5079
 
5080
+ /**
5081
+ * Resets the element to its initial state.
5082
+ * @private
5083
+ * @param {object} elem - HTML element to reset.
5084
+ * @returns {void}
5085
+ */
5086
+ reset(elem) {
5087
+ elem.validity = undefined;
5088
+ elem.value = undefined;
5089
+
5090
+ // Resets the second value of the datepicker in range state
5091
+ if (elem.valueEnd) {
5092
+ elem.valueEnd = undefined;
5093
+ }
5094
+
5095
+ // Resets selected option of element
5096
+ if (elem.optionSelected) {
5097
+ elem.optionSelected = undefined;
5098
+ }
5099
+
5100
+ // Runs validation to handle error attribute
5101
+ this.validate(elem);
5102
+ }
5103
+
5055
5104
  /**
5056
5105
  * Determines the validity state of the element based on the common attribute restrictions (pattern).
5057
5106
  * @private
@@ -5066,10 +5115,15 @@ class AuroFormValidation {
5066
5115
  elem.validity = 'badInput';
5067
5116
  elem.setCustomValidity = elem.setCustomValidityBadInput || '';
5068
5117
  }
5069
- } else if (elem.value && elem.value.length > 0 && elem.value.length < elem.minLength) {
5118
+ }
5119
+
5120
+ // Length > 0 is required to prevent the error message from showing when the input is empty
5121
+ if (elem.value?.length > 0 && elem.value?.length < elem.minLength) {
5070
5122
  elem.validity = 'tooShort';
5071
5123
  elem.setCustomValidity = elem.setCustomValidityTooShort || '';
5072
- } else if (elem.value && elem.value.length > elem.maxLength) {
5124
+ }
5125
+
5126
+ if (elem.value?.length > elem.maxLength) {
5073
5127
  elem.validity = 'tooLong';
5074
5128
  elem.setCustomValidity = elem.setCustomValidityTooLong || '';
5075
5129
  }
@@ -5095,7 +5149,7 @@ class AuroFormValidation {
5095
5149
  elem.validity = 'tooShort';
5096
5150
  elem.setCustomValidity = elem.setCustomValidityForType || '';
5097
5151
  }
5098
- } else if (elem.type === 'number' || elem.type === 'numeric') { // 'numeric` is a deprecated alias for number'
5152
+ } else if (elem.type === 'number') {
5099
5153
  if (elem.max !== undefined && Number(elem.max) < Number(elem.value)) {
5100
5154
  elem.validity = 'rangeOverflow';
5101
5155
  elem.setCustomValidity = elem.getAttribute('setCustomValidityRangeOverflow') || '';
@@ -5200,14 +5254,10 @@ class AuroFormValidation {
5200
5254
 
5201
5255
  if (validationShouldRun || elem.hasAttribute('error')) {
5202
5256
  if (elem.validity && elem.validity !== 'valid') {
5203
- elem.isValid = false;
5204
-
5205
5257
  // Use the validity message override if it is declared
5206
5258
  if (elem.ValidityMessageOverride) {
5207
5259
  elem.setCustomValidity = elem.ValidityMessageOverride;
5208
5260
  }
5209
- } else {
5210
- elem.isValid = true;
5211
5261
  }
5212
5262
 
5213
5263
  this.getErrorMessage(elem);
@@ -5297,12 +5347,11 @@ class AuroFormValidation {
5297
5347
  * @attr {String} helpText - Deprecated, see `slot`.
5298
5348
  * @attr {Boolean} icon - If set, will render an icon inside the input to the left of the value. Support is limited to auro-input instances with credit card format.
5299
5349
  * @attr {String} id - Sets the unique ID of the element.
5300
- * @attr {String} isValid - (DEPRECATED - Please use validity) Can be accessed to determine if the input validity. Returns true when validity has not yet been checked or validity = 'valid', all other cases return false. Not intended to be set by the consumer.
5301
5350
  * @attr {String} label - Deprecated, see `slot`.
5302
5351
  * @attr {String} lang - defines the language of an element.
5303
- * @attr {String} max - The maximum value allowed. This only applies for inputs with a type of `numeric` and all date formats.
5352
+ * @attr {String} max - The maximum value allowed. This only applies for inputs with a type of `number` and all date formats.
5304
5353
  * @attr {Number} maxLength - The maximum number of characters the user can enter into the text input. This must be an integer value `0` or higher.
5305
- * @attr {String} min - The minimum value allowed. This only applies for inputs with a type of `numeric` and all date formats.
5354
+ * @attr {String} min - The minimum value allowed. This only applies for inputs with a type of `number` and all date formats.
5306
5355
  * @attr {Number} minLength - The minimum number of characters the user can enter into the text input. This must be an non-negative integer value smaller than or equal to the value specified by `maxlength`.
5307
5356
  * @attr {String} name - Populates the `name` attribute on the input.
5308
5357
  * @attr {Boolean} noValidate - If set, disables auto-validation on blur.
@@ -5342,8 +5391,6 @@ class BaseInput extends r {
5342
5391
  constructor() {
5343
5392
  super();
5344
5393
 
5345
- this.isValid = false;
5346
-
5347
5394
  this.icon = false;
5348
5395
  this.disabled = false;
5349
5396
  this.required = false;
@@ -5372,6 +5419,7 @@ class BaseInput extends r {
5372
5419
 
5373
5420
  this.allowedInputTypes = [
5374
5421
  "text",
5422
+ "number",
5375
5423
  "email",
5376
5424
  "password",
5377
5425
  "credit-card",
@@ -5464,10 +5512,6 @@ class BaseInput extends r {
5464
5512
  reflect: true
5465
5513
  },
5466
5514
  errorMessage: { type: String },
5467
- isValid: {
5468
- type: String,
5469
- reflect: true
5470
- },
5471
5515
  validity: {
5472
5516
  type: String,
5473
5517
  reflect: true
@@ -5870,7 +5914,7 @@ class BaseInput extends r {
5870
5914
  * @return {void}
5871
5915
  */
5872
5916
  handleInput() {
5873
- // Prevent non-numeric characters from being entered on credit card fields.
5917
+ // Prevent non-number characters from being entered on credit card fields.
5874
5918
  if (this.type === 'credit-card') {
5875
5919
  this.inputElement.value = this.inputElement.value.replace(/[\D]/gu, '');
5876
5920
  }
@@ -5956,6 +6000,13 @@ class BaseInput extends r {
5956
6000
  this.validation.validate(this);
5957
6001
  }
5958
6002
 
6003
+ /**
6004
+ * Resets component to initial state.
6005
+ * @returns {void}
6006
+ */
6007
+ reset() {
6008
+ this.validation.reset(this);
6009
+ }
5959
6010
 
5960
6011
  /**
5961
6012
  * Sets configuration data used elsewhere based on the `type` attribute.
@@ -7335,8 +7386,7 @@ class AuroCombobox extends r$6 {
7335
7386
  reflect: true
7336
7387
  },
7337
7388
  value: {
7338
- type: String,
7339
- reflect: true
7389
+ type: String
7340
7390
  },
7341
7391
  checkmark: {
7342
7392
  type: Boolean,
@@ -7649,7 +7699,7 @@ class AuroCombobox extends r$6 {
7649
7699
  }
7650
7700
 
7651
7701
  // hide the menu if the value is empty otherwise show if there are available suggestions
7652
- if (this.input.value.length === 0) {
7702
+ if (this.input.value && this.input.value.length === 0) {
7653
7703
  this.hideBib();
7654
7704
  this.classList.remove('combobox-filled');
7655
7705
  } else if (!this.dropdown.isPopoverVisible && this.availableOptions) {
@@ -7810,6 +7860,18 @@ class AuroCombobox extends r$6 {
7810
7860
  this.input.focus();
7811
7861
  }
7812
7862
 
7863
+ /**
7864
+ * Resets component to initial state.
7865
+ * @returns {void}
7866
+ */
7867
+ reset() {
7868
+ // Resets the help text of the combobox
7869
+ this.auroInputHelpText = undefined;
7870
+
7871
+ this.input.reset();
7872
+ this.validation.reset(this);
7873
+ }
7874
+
7813
7875
  updated(changedProperties) {
7814
7876
  // After the component is ready, send direct value changes to auro-menu.
7815
7877
  if (changedProperties.has('value')) {
@@ -8922,8 +8984,7 @@ class AuroMenuOption extends r$6 {
8922
8984
  reflect: true
8923
8985
  },
8924
8986
  value: {
8925
- type: String,
8926
- reflect: true
8987
+ type: String
8927
8988
  },
8928
8989
  tabIndex: {
8929
8990
  type: Number,