@lion/ui 0.23.0 → 0.25.0

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 (803) hide show
  1. package/README.md +50 -20
  2. package/components/accordion/src/LionAccordion.js +31 -42
  3. package/components/accordion/test/lion-accordion.test.js +108 -134
  4. package/components/button/src/LionButton.js +9 -12
  5. package/components/button/src/LionButtonReset.js +0 -5
  6. package/components/button/src/LionButtonSubmit.js +7 -12
  7. package/components/button/test/demos.screenshots-test.js +50 -11
  8. package/components/button/test/lion-button.test.js +0 -1
  9. package/components/button/test-suites/LionButton.suite.js +135 -145
  10. package/components/button/test-suites/LionButtonReset.suite.js +54 -72
  11. package/components/button/test-suites/LionButtonSubmit.suite.js +49 -68
  12. package/components/calendar/src/LionCalendar.js +151 -104
  13. package/components/calendar/src/calendarStyle.js +0 -1
  14. package/components/calendar/src/utils/createMonth.js +3 -4
  15. package/components/calendar/src/utils/createMultipleMonth.js +15 -7
  16. package/components/calendar/src/utils/createWeek.js +0 -2
  17. package/components/calendar/src/utils/dataTemplate.js +8 -4
  18. package/components/calendar/src/utils/dayTemplate.js +0 -6
  19. package/components/calendar/src/utils/getDayMonthYear.js +6 -2
  20. package/components/calendar/test/demos.screenshots-test.js +40 -9
  21. package/components/calendar/test/lion-calendar.test.js +171 -282
  22. package/components/calendar/test/utils/createMonth.test.js +61 -22
  23. package/components/calendar/test/utils/createMultipleMonth.test.js +14 -7
  24. package/components/calendar/test/utils/createWeek.test.js +51 -17
  25. package/components/calendar/test/utils/dataTemplate.test.js +3 -4
  26. package/components/calendar/test/utils/dayTemplate.test.js +106 -34
  27. package/components/calendar/test/utils/getFirstDayNextMonth.test.js +0 -1
  28. package/components/calendar/test/utils/getLastDayPreviousMonth.test.js +0 -1
  29. package/components/calendar/test/utils/isSameDate.test.js +0 -1
  30. package/components/calendar/test/utils/snapshots/monthTemplate_en-GB_Sunday_2018-12.js +1 -2
  31. package/components/calendar/test-helpers/CalendarObject.js +31 -62
  32. package/components/calendar/test-helpers/DayObject.js +7 -15
  33. package/components/calendar/test-suites/LionCalendar.suite.js +7 -9
  34. package/components/checkbox-group/src/LionCheckboxIndeterminate.js +17 -30
  35. package/components/checkbox-group/test/lion-checkbox-group-integrations.test.js +0 -1
  36. package/components/checkbox-group/test/lion-checkbox-group.test.js +21 -16
  37. package/components/checkbox-group/test/lion-checkbox-indeterminate-integrations.test.js +3 -3
  38. package/components/checkbox-group/test/lion-checkbox-integrations.test.js +3 -2
  39. package/components/checkbox-group/test/lion-checkbox.test.js +30 -16
  40. package/components/checkbox-group/test-suites/CheckboxIndeterminate.suite.js +147 -191
  41. package/components/collapsible/src/LionCollapsible.js +10 -15
  42. package/components/collapsible/test/lion-collapsible.test.js +4 -18
  43. package/components/combobox/src/LionCombobox.js +35 -53
  44. package/components/combobox/src/utils/makeMatchingTextBold.js +2 -5
  45. package/components/combobox/src/validators.js +0 -1
  46. package/components/combobox/test/lion-combobox-integrations.test.js +6 -6
  47. package/components/combobox/test/lion-combobox.test.js +576 -869
  48. package/components/combobox/test/validators.test.js +6 -13
  49. package/components/combobox/test-helpers/combobox-helpers.js +24 -11
  50. package/components/core/src/DisabledMixin.js +61 -66
  51. package/components/core/src/DisabledWithTabIndexMixin.js +76 -83
  52. package/components/core/src/EventTargetShim.js +1 -4
  53. package/components/core/src/ScopedElementsMixin.js +4 -15
  54. package/components/core/src/ScopedStylesController.js +1 -5
  55. package/components/core/src/SlotMixin.js +236 -239
  56. package/components/core/src/browserDetection.js +5 -12
  57. package/components/core/test/DisabledMixin.test.js +24 -39
  58. package/components/core/test/DisabledWithTabIndexMixin.test.js +21 -34
  59. package/components/core/test/EventTargetShim.test.js +0 -8
  60. package/components/core/test/ScopedElementsMixin.test.js +22 -38
  61. package/components/core/test/ScopedStylesController.test.js +11 -20
  62. package/components/core/test/SlotMixin.test.js +102 -154
  63. package/components/core/test-helpers/getCachedFixture.js +5 -11
  64. package/components/core/types/SlotMixinTypes.ts +8 -3
  65. package/components/dialog/src/LionDialog.js +4 -3
  66. package/components/dialog/test/lion-dialog.integration.test.js +10 -20
  67. package/components/dialog/test/lion-dialog.test.js +48 -62
  68. package/components/dialog/test-helpers/test-router.js +4 -6
  69. package/components/drawer/src/LionDrawer.js +18 -34
  70. package/components/drawer/src/drawerStyle.js +0 -1
  71. package/components/drawer/test/lion-drawer.test.js +1 -17
  72. package/components/fieldset/test/lion-fieldset.test.js +6 -4
  73. package/components/form/src/LionForm.js +18 -13
  74. package/components/form/test/lion-form.test.js +22 -52
  75. package/components/form-core/src/FocusMixin.js +172 -174
  76. package/components/form-core/src/FormControlMixin.js +811 -813
  77. package/components/form-core/src/FormatMixin.js +537 -537
  78. package/components/form-core/src/InteractionStateMixin.js +196 -183
  79. package/components/form-core/src/LionField.js +9 -5
  80. package/components/form-core/src/NativeTextFieldMixin.js +114 -116
  81. package/components/form-core/src/choice-group/ChoiceGroupMixin.js +322 -364
  82. package/components/form-core/src/choice-group/ChoiceInputMixin.js +306 -296
  83. package/components/form-core/src/choice-group/CustomChoiceGroupMixin.js +114 -139
  84. package/components/form-core/src/form-group/FormElementsHaveNoError.js +0 -2
  85. package/components/form-core/src/form-group/FormGroupMixin.js +551 -557
  86. package/components/form-core/src/registration/FormRegisteringMixin.js +72 -71
  87. package/components/form-core/src/registration/FormRegistrarMixin.js +201 -217
  88. package/components/form-core/src/registration/FormRegistrarPortalMixin.js +31 -37
  89. package/components/form-core/src/utils/SyncUpdatableMixin.js +106 -117
  90. package/components/form-core/src/utils/getAriaElementsInRightDomOrder.js +1 -2
  91. package/components/form-core/src/validate/LionValidationFeedback.js +12 -8
  92. package/components/form-core/src/validate/Unparseable.js +4 -2
  93. package/components/form-core/src/validate/ValidateMixin.js +829 -883
  94. package/components/form-core/src/validate/Validator.js +3 -6
  95. package/components/form-core/src/validate/resultValidators/DefaultSuccess.js +1 -2
  96. package/components/form-core/src/validate/validators/DateValidators.js +0 -5
  97. package/components/form-core/src/validate/validators/NumberValidators.js +1 -5
  98. package/components/form-core/src/validate/validators/Required.js +1 -1
  99. package/components/form-core/src/validate/validators/StringValidators.js +1 -8
  100. package/components/form-core/test/FocusMixin.test.js +96 -82
  101. package/components/form-core/test/FormControlMixin.test.js +120 -176
  102. package/components/form-core/test/FormRegistrationMixins.test.js +0 -2
  103. package/components/form-core/test/FormatMixin.test.js +0 -1
  104. package/components/form-core/test/InteractionStateMixin.test.js +0 -1
  105. package/components/form-core/test/NativeTextFieldMixin.test.js +0 -1
  106. package/components/form-core/test/choice-group/ChoiceGroupMixin.test.js +0 -1
  107. package/components/form-core/test/choice-group/ChoiceInputMixin.test.js +0 -1
  108. package/components/form-core/test/choice-group/CustomChoiceGroupMixin.integrations.test.js +6 -8
  109. package/components/form-core/test/choice-group/CustomChoiceGroupMixin.test.js +0 -3
  110. package/components/form-core/test/form-group/FormGroupMixin.test.js +0 -1
  111. package/components/form-core/test/lion-field.test.js +88 -98
  112. package/components/form-core/test/utils/SyncUpdatableMixin.test.js +51 -65
  113. package/components/form-core/test/utils/getAriaElementsInRightDomOrder.test.js +3 -3
  114. package/components/form-core/test/validate/DateValidators.test.js +5 -27
  115. package/components/form-core/test/validate/NumberValidators.test.js +4 -16
  116. package/components/form-core/test/validate/Required.test.js +8 -21
  117. package/components/form-core/test/validate/ResultValidator.test.js +1 -2
  118. package/components/form-core/test/validate/StringValidators.test.js +4 -35
  119. package/components/form-core/test/validate/ValidateMixin.test.js +0 -1
  120. package/components/form-core/test/validate/ValidateMixinFeedbackPart.test.js +0 -1
  121. package/components/form-core/test/validate/Validator.test.js +39 -34
  122. package/components/form-core/test/validate/lion-validation-feedback.test.js +81 -43
  123. package/components/form-core/test-helpers/ExampleValidators.js +0 -5
  124. package/components/form-core/test-helpers/getFormControlMembers.js +2 -2
  125. package/components/form-core/test-helpers/mimicUserInput.js +5 -1
  126. package/components/form-core/test-suites/FormRegistrationMixins.suite.js +65 -122
  127. package/components/form-core/test-suites/FormatMixin.suite.js +202 -227
  128. package/components/form-core/test-suites/InteractionStateMixin.suite.js +47 -60
  129. package/components/form-core/test-suites/NativeTextFieldMixin.suite.js +8 -11
  130. package/components/form-core/test-suites/ValidateMixin.suite.js +280 -359
  131. package/components/form-core/test-suites/ValidateMixinFeedbackPart.suite.js +112 -163
  132. package/components/form-core/test-suites/choice-group/ChoiceGroupMixin.suite.js +185 -218
  133. package/components/form-core/test-suites/choice-group/ChoiceInputMixin.suite.js +116 -109
  134. package/components/form-core/test-suites/choice-group/CustomChoiceGroupMixin.suite.js +36 -70
  135. package/components/form-core/test-suites/form-group/FormGroupMixin-input.suite.js +57 -65
  136. package/components/form-core/test-suites/form-group/FormGroupMixin.suite.js +664 -523
  137. package/components/form-core/translations/bg-BG.js +0 -1
  138. package/components/form-core/translations/cs-CZ.js +0 -1
  139. package/components/form-core/translations/de-DE.js +0 -1
  140. package/components/form-core/translations/en-AU.js +0 -1
  141. package/components/form-core/translations/en-GB.js +0 -1
  142. package/components/form-core/translations/en-US.js +0 -1
  143. package/components/form-core/translations/es-ES.js +0 -1
  144. package/components/form-core/translations/fr-BE.js +0 -1
  145. package/components/form-core/translations/fr-FR.js +0 -1
  146. package/components/form-core/translations/hu-HU.js +0 -1
  147. package/components/form-core/translations/it-IT.js +0 -1
  148. package/components/form-core/translations/nl-BE.js +0 -1
  149. package/components/form-core/translations/nl-NL.js +0 -1
  150. package/components/form-core/translations/pl-PL.js +0 -1
  151. package/components/form-core/translations/ro-RO.js +0 -1
  152. package/components/form-core/translations/ru-RU.js +0 -1
  153. package/components/form-core/translations/sk-SK.js +0 -1
  154. package/components/form-core/translations/tr-TR.js +0 -1
  155. package/components/form-core/translations/uk-UA.js +0 -1
  156. package/components/form-integrations/test/dialog-integrations.test.js +1 -4
  157. package/components/form-integrations/test/form-group-methods.test.js +28 -31
  158. package/components/form-integrations/test/form-integrations.test.js +27 -28
  159. package/components/form-integrations/test/form-validation-integrations.test.js +21 -29
  160. package/components/form-integrations/test/helpers/umbrella-form.js +3 -5
  161. package/components/form-integrations/test/model-value-consistency.test.js +75 -77
  162. package/components/form-integrations/test/model-value-event.test.js +10 -20
  163. package/components/helpers/src/SbActionLogger.js +13 -17
  164. package/components/helpers/src/SbLocaleSwitcher.js +5 -5
  165. package/components/helpers/src/sortEachDepth.js +0 -2
  166. package/components/helpers/test/renderLitAsNode.test.js +0 -4
  167. package/components/helpers/test/sb-action-logger.test.js +24 -55
  168. package/components/icon/src/IconManager.js +0 -2
  169. package/components/icon/src/LionIcon.js +2 -7
  170. package/components/icon/src/icons.js +0 -2
  171. package/components/icon/test/IconManager.test.js +0 -15
  172. package/components/icon/test/hammer.svg.js +3 -4
  173. package/components/icon/test/heart.svg.js +3 -4
  174. package/components/icon/test/lion-icon.test.js +14 -43
  175. package/components/input/src/LionInput.js +2 -8
  176. package/components/input/test/input-integrations.test.js +0 -5
  177. package/components/input/test/lion-input-integrations.test.js +0 -4
  178. package/components/input/test/lion-input.test.js +28 -58
  179. package/components/input/test-helpers/getInputMembers.js +2 -2
  180. package/components/input-amount/src/LionInputAmount.js +20 -20
  181. package/components/input-amount/src/formatters.js +0 -3
  182. package/components/input-amount/src/parsers.js +0 -3
  183. package/components/input-amount/test/formatters.test.js +24 -16
  184. package/components/input-amount/test/lion-input-amount-integrations.test.js +0 -4
  185. package/components/input-amount/test/lion-input-amount.test.js +123 -147
  186. package/components/input-amount/test/parsers.test.js +33 -17
  187. package/components/input-amount/test/preprocessors.test.js +0 -3
  188. package/components/input-amount-dropdown/src/LionInputAmountDropdown.js +49 -59
  189. package/components/input-amount-dropdown/src/currencyUtil.js +8 -7
  190. package/components/input-amount-dropdown/src/parsers.js +0 -1
  191. package/components/input-amount-dropdown/src/validators.js +0 -1
  192. package/components/input-amount-dropdown/test/LionInputAmountDropdown.test.js +34 -36
  193. package/components/input-amount-dropdown/test/lion-input-amount-dropdown-integrations.test.js +18 -13
  194. package/components/input-amount-dropdown/test-helpers/mimicUserChangingDropdown.js +5 -1
  195. package/components/input-amount-dropdown/test-suites/LionInputAmountDropdown.suite.js +132 -107
  196. package/components/input-date/src/LionInputDate.js +4 -3
  197. package/components/input-date/test/lion-input-date-integrations.test.js +0 -3
  198. package/components/input-date/test/lion-input-date.test.js +19 -32
  199. package/components/input-datepicker/src/LionInputDatepicker.js +17 -29
  200. package/components/input-datepicker/src/localizeNamespaceLoader.js +1 -2
  201. package/components/input-datepicker/test/lion-input-datepicker-integrations.test.js +0 -3
  202. package/components/input-datepicker/test/lion-input-datepicker.test.js +88 -153
  203. package/components/input-datepicker/test-helpers/DatepickerInputObject.js +9 -12
  204. package/components/input-datepicker/test-suites/LionInputDatepicker.suite.js +6 -4
  205. package/components/input-datepicker/translations/bg-BG.js +0 -1
  206. package/components/input-datepicker/translations/cs-CZ.js +0 -1
  207. package/components/input-datepicker/translations/de-DE.js +0 -1
  208. package/components/input-datepicker/translations/en-AU.js +0 -1
  209. package/components/input-datepicker/translations/en-GB.js +0 -1
  210. package/components/input-datepicker/translations/en-US.js +0 -1
  211. package/components/input-datepicker/translations/es-ES.js +0 -1
  212. package/components/input-datepicker/translations/fr-BE.js +0 -1
  213. package/components/input-datepicker/translations/fr-FR.js +0 -1
  214. package/components/input-datepicker/translations/hu-HU.js +0 -1
  215. package/components/input-datepicker/translations/it-IT.js +0 -1
  216. package/components/input-datepicker/translations/nl-BE.js +0 -1
  217. package/components/input-datepicker/translations/nl-NL.js +0 -1
  218. package/components/input-datepicker/translations/pl-PL.js +0 -1
  219. package/components/input-datepicker/translations/ro-RO.js +0 -1
  220. package/components/input-datepicker/translations/ru-RU.js +0 -1
  221. package/components/input-datepicker/translations/sk-SK.js +0 -1
  222. package/components/input-datepicker/translations/tr-TR.js +0 -1
  223. package/components/input-datepicker/translations/uk-UA.js +0 -1
  224. package/components/input-email/test/lion-input-email-integrations.test.js +0 -2
  225. package/components/input-email/test/lion-input-email.test.js +1 -7
  226. package/components/input-file/src/FileHandle.js +0 -3
  227. package/components/input-file/src/LionInputFile.js +85 -83
  228. package/components/input-file/src/LionSelectedFileList.js +12 -12
  229. package/components/input-file/src/validators.js +10 -9
  230. package/components/input-file/test/FileValidators.test.js +170 -80
  231. package/components/input-file/test/lion-input-file.test.js +160 -244
  232. package/components/input-file/test/lion-selected-file-list.test.js +13 -22
  233. package/components/input-file/translations/bg-BG.js +0 -1
  234. package/components/input-file/translations/cs-CZ.js +0 -1
  235. package/components/input-file/translations/de-DE.js +0 -1
  236. package/components/input-file/translations/en-AU.js +0 -1
  237. package/components/input-file/translations/en-GB.js +0 -1
  238. package/components/input-file/translations/en-PH.js +0 -1
  239. package/components/input-file/translations/en-US.js +0 -1
  240. package/components/input-file/translations/en.js +2 -1
  241. package/components/input-file/translations/es-ES.js +0 -1
  242. package/components/input-file/translations/fr-BE.js +0 -1
  243. package/components/input-file/translations/fr-FR.js +0 -1
  244. package/components/input-file/translations/hu-HU.js +0 -1
  245. package/components/input-file/translations/id-ID.js +0 -1
  246. package/components/input-file/translations/id.js +2 -1
  247. package/components/input-file/translations/it-IT.js +0 -1
  248. package/components/input-file/translations/nl-BE.js +0 -1
  249. package/components/input-file/translations/nl-NL.js +0 -1
  250. package/components/input-file/translations/pl-PL.js +0 -1
  251. package/components/input-file/translations/ro-RO.js +0 -1
  252. package/components/input-file/translations/ru-RU.js +0 -1
  253. package/components/input-file/translations/sk-SK.js +0 -1
  254. package/components/input-file/translations/uk-UA.js +0 -1
  255. package/components/input-file/translations/zh-CN.js +0 -1
  256. package/components/input-iban/src/validators.js +6 -11
  257. package/components/input-iban/test/formatters.test.js +0 -3
  258. package/components/input-iban/test/lion-input-iban-integrations.test.js +0 -2
  259. package/components/input-iban/test/lion-input-iban.test.js +1 -9
  260. package/components/input-iban/test/parsers.test.js +0 -2
  261. package/components/input-iban/test/validators.test.js +0 -12
  262. package/components/input-iban/translations/bg-BG.js +0 -1
  263. package/components/input-iban/translations/cs-CZ.js +0 -1
  264. package/components/input-iban/translations/de-DE.js +0 -1
  265. package/components/input-iban/translations/en-AU.js +0 -1
  266. package/components/input-iban/translations/en-GB.js +0 -1
  267. package/components/input-iban/translations/en-US.js +0 -1
  268. package/components/input-iban/translations/es-ES.js +0 -1
  269. package/components/input-iban/translations/fr-BE.js +0 -1
  270. package/components/input-iban/translations/fr-FR.js +0 -1
  271. package/components/input-iban/translations/hu-HU.js +0 -1
  272. package/components/input-iban/translations/it-IT.js +0 -1
  273. package/components/input-iban/translations/nl-BE.js +0 -1
  274. package/components/input-iban/translations/nl-NL.js +0 -1
  275. package/components/input-iban/translations/pl-PL.js +0 -1
  276. package/components/input-iban/translations/ro-RO.js +0 -1
  277. package/components/input-iban/translations/ru-RU.js +0 -1
  278. package/components/input-iban/translations/sk-SK.js +0 -1
  279. package/components/input-iban/translations/uk-UA.js +0 -1
  280. package/components/input-range/src/LionInputRange.js +18 -19
  281. package/components/input-range/test/lion-input-range.test.js +23 -48
  282. package/components/input-range/translations/bg-BG.js +0 -1
  283. package/components/input-range/translations/cs-CZ.js +0 -1
  284. package/components/input-range/translations/de-DE.js +0 -1
  285. package/components/input-range/translations/en-AU.js +0 -1
  286. package/components/input-range/translations/en-GB.js +0 -1
  287. package/components/input-range/translations/en-PH.js +0 -1
  288. package/components/input-range/translations/en-US.js +0 -1
  289. package/components/input-range/translations/es-ES.js +0 -1
  290. package/components/input-range/translations/fr-BE.js +0 -1
  291. package/components/input-range/translations/fr-FR.js +0 -1
  292. package/components/input-range/translations/hu-HU.js +0 -1
  293. package/components/input-range/translations/it-IT.js +0 -1
  294. package/components/input-range/translations/nl-BE.js +0 -1
  295. package/components/input-range/translations/nl-NL.js +0 -1
  296. package/components/input-range/translations/pl-PL.js +0 -1
  297. package/components/input-range/translations/ro-RO.js +0 -1
  298. package/components/input-range/translations/ru-RU.js +0 -1
  299. package/components/input-range/translations/sk-SK.js +0 -1
  300. package/components/input-range/translations/uk-UA.js +0 -1
  301. package/components/input-range/translations/zh-CN.js +0 -1
  302. package/components/input-stepper/src/LionInputStepper.js +19 -38
  303. package/components/input-stepper/test/lion-input-stepper-integrations.test.js +0 -1
  304. package/components/input-stepper/test/lion-input-stepper.test.js +0 -1
  305. package/components/input-stepper/test-suites/lion-input-stepper.integration.suite.js +0 -2
  306. package/components/input-stepper/test-suites/lion-input-stepper.suite.js +56 -105
  307. package/components/input-stepper/translations/bg-BG.js +0 -1
  308. package/components/input-stepper/translations/cs-CZ.js +0 -1
  309. package/components/input-stepper/translations/de-DE.js +0 -1
  310. package/components/input-stepper/translations/en-AU.js +0 -1
  311. package/components/input-stepper/translations/en-GB.js +0 -1
  312. package/components/input-stepper/translations/en-US.js +0 -1
  313. package/components/input-stepper/translations/es-ES.js +0 -1
  314. package/components/input-stepper/translations/fr-BE.js +0 -1
  315. package/components/input-stepper/translations/fr-FR.js +0 -1
  316. package/components/input-stepper/translations/hu-HU.js +0 -1
  317. package/components/input-stepper/translations/it-IT.js +0 -1
  318. package/components/input-stepper/translations/nl-BE.js +0 -1
  319. package/components/input-stepper/translations/nl-NL.js +0 -1
  320. package/components/input-stepper/translations/pl-PL.js +0 -1
  321. package/components/input-stepper/translations/ro-RO.js +0 -1
  322. package/components/input-stepper/translations/ru-RU.js +0 -1
  323. package/components/input-stepper/translations/sk-SK.js +0 -1
  324. package/components/input-stepper/translations/uk-UA.js +0 -1
  325. package/components/input-tel/src/LionInputTel.js +53 -37
  326. package/components/input-tel/src/PhoneUtilManager.js +6 -4
  327. package/components/input-tel/src/formatters.js +12 -10
  328. package/components/input-tel/src/parsers.js +3 -3
  329. package/components/input-tel/src/preprocessors.js +15 -7
  330. package/components/input-tel/src/validators.js +4 -6
  331. package/components/input-tel/test/LionInputTel.test.js +4 -2
  332. package/components/input-tel/test/formatters.test.js +22 -10
  333. package/components/input-tel/test/parsers.test.js +127 -11
  334. package/components/input-tel/test/preprocessors.test.js +24 -13
  335. package/components/input-tel/test/validators.test.js +7 -14
  336. package/components/input-tel/test-helpers/mockPhoneUtilManager.js +20 -8
  337. package/components/input-tel/test-suites/LionInputTel.suite.js +33 -73
  338. package/components/input-tel/translations/bg-BG.js +0 -1
  339. package/components/input-tel/translations/cs-CZ.js +0 -1
  340. package/components/input-tel/translations/de-DE.js +0 -1
  341. package/components/input-tel/translations/en-AU.js +0 -1
  342. package/components/input-tel/translations/en-GB.js +0 -1
  343. package/components/input-tel/translations/en-US.js +0 -1
  344. package/components/input-tel/translations/es-ES.js +0 -1
  345. package/components/input-tel/translations/fr-BE.js +0 -1
  346. package/components/input-tel/translations/fr-FR.js +0 -1
  347. package/components/input-tel/translations/hu-HU.js +0 -1
  348. package/components/input-tel/translations/it-IT.js +0 -1
  349. package/components/input-tel/translations/nl-BE.js +0 -1
  350. package/components/input-tel/translations/nl-NL.js +0 -1
  351. package/components/input-tel/translations/pl-PL.js +0 -1
  352. package/components/input-tel/translations/ro-RO.js +0 -1
  353. package/components/input-tel/translations/ru-RU.js +0 -1
  354. package/components/input-tel/translations/sk-SK.js +0 -1
  355. package/components/input-tel/translations/uk-UA.js +0 -1
  356. package/components/input-tel-dropdown/src/LionInputTelDropdown.js +10 -28
  357. package/components/input-tel-dropdown/src/regionCodeToLocale.js +3 -1
  358. package/components/input-tel-dropdown/test/LionInputTelDropdown.test.js +31 -38
  359. package/components/input-tel-dropdown/test/regionCodeToLocale.test.js +0 -1
  360. package/components/input-tel-dropdown/test-helpers/mimicUserChangingDropdown.js +5 -1
  361. package/components/input-tel-dropdown/test-suites/LionInputTelDropdown--parentheses.suite.js +16 -11
  362. package/components/input-tel-dropdown/test-suites/LionInputTelDropdown.suite.js +54 -79
  363. package/components/listbox/src/LionListbox.js +5 -2
  364. package/components/listbox/src/LionOption.js +8 -7
  365. package/components/listbox/src/LionOptions.js +0 -3
  366. package/components/listbox/src/ListboxMixin.js +786 -820
  367. package/components/listbox/test/lion-listbox.test.js +0 -1
  368. package/components/listbox/test/lion-option.test.js +53 -64
  369. package/components/listbox/test/lion-options.test.js +3 -4
  370. package/components/listbox/test-helpers/getListboxMembers.js +6 -3
  371. package/components/listbox/test-suites/ListboxMixin.suite.js +101 -261
  372. package/components/localize/src/LocalizeManager.js +40 -40
  373. package/components/localize/src/LocalizeMixin.js +130 -157
  374. package/components/localize/src/date/formatDate.js +1 -5
  375. package/components/localize/src/date/getDateFormatBasedOnLocale.js +5 -3
  376. package/components/localize/src/date/getMonthNames.js +3 -5
  377. package/components/localize/src/date/getWeekdayNames.js +1 -5
  378. package/components/localize/src/date/parseDate.js +5 -20
  379. package/components/localize/src/date/utils/normalizeIntlDate.js +0 -7
  380. package/components/localize/src/getLocalizeManager.js +0 -3
  381. package/components/localize/src/number/formatNumber.js +3 -7
  382. package/components/localize/src/number/formatNumberToParts.js +52 -18
  383. package/components/localize/src/number/getCurrencyName.js +5 -5
  384. package/components/localize/src/number/getFractionDigits.js +4 -4
  385. package/components/localize/src/number/getSeparatorsFromNumber.js +1 -3
  386. package/components/localize/src/number/parseNumber.js +0 -3
  387. package/components/localize/src/number/utils/normalize-format-number-to-parts/forceAddGroupSeparators.js +0 -1
  388. package/components/localize/src/number/utils/normalize-format-number-to-parts/forceSpaceBetweenCurrencyCodeAndNumber.js +4 -1
  389. package/components/localize/test/LocalizeManager.test.js +385 -278
  390. package/components/localize/test/LocalizeMixin.test.js +28 -112
  391. package/components/localize/test/date/formatDate.test.js +18 -48
  392. package/components/localize/test/date/getDateFormatBasedOnLocale.test.js +0 -3
  393. package/components/localize/test/date/getMonthNames.test.js +27 -12
  394. package/components/localize/test/date/getWeekdayNames.test.js +93 -49
  395. package/components/localize/test/date/normalizeDateTime.test.js +0 -2
  396. package/components/localize/test/date/parseDate.test.js +12 -16
  397. package/components/localize/test/getLocalizeManager.test.js +0 -3
  398. package/components/localize/test/isLocalizeESModule.test.js +32 -13
  399. package/components/localize/test/localize.test.js +0 -4
  400. package/components/localize/test/number/formatNumber.test.js +215 -106
  401. package/components/localize/test/number/formatNumberToParts.test.js +31 -38
  402. package/components/localize/test/number/getCurrencyName.test.js +20 -6
  403. package/components/localize/test/number/getDecimalSeparator.test.js +5 -4
  404. package/components/localize/test/number/getFractionDigits.test.js +0 -2
  405. package/components/localize/test/number/getGroupSeparator.test.js +0 -2
  406. package/components/localize/test/number/getSeparatorsFromNumber.test.js +5 -3
  407. package/components/localize/test/number/parseNumber.test.js +123 -56
  408. package/components/localize/test/side-effect-free-entrypoint.test.js +0 -6
  409. package/components/localize/test-helpers/fake-imports.js +11 -6
  410. package/components/localize/test-helpers/localizeTearDown.js +0 -1
  411. package/components/menu/src/InteractiveListMixin.js +637 -638
  412. package/components/menu/src/LionMenu.js +46 -59
  413. package/components/menu/src/MoreButtonMenuMixin.js +215 -238
  414. package/components/menu/src/MultiLevelListMixin.js +240 -246
  415. package/components/menu/src/utils/isInView.js +0 -1
  416. package/components/menu/src/utils/listItemInteractions.js +4 -4
  417. package/components/menu/test/InteractiveListMixin.test.js +0 -1
  418. package/components/menu/test/MoreButtonMenuMixin.test.js +3 -2
  419. package/components/menu/test/MultiLevelListMixin.test.js +0 -1
  420. package/components/menu/test/lion-menu-interactions.test.js +0 -1
  421. package/components/menu/test/lion-menu.test.js +6 -2
  422. package/components/menu/test-helpers/mimicKeyPress.js +12 -2
  423. package/components/menu/test-suites/InteractiveListMixin.suite.js +4 -43
  424. package/components/menu/test-suites/LionMenu.suite.js +1 -8
  425. package/components/menu/test-suites/LionMenuInteractions.suite.js +22 -44
  426. package/components/menu/test-suites/MoreButtonMenuMixin.suite.js +34 -41
  427. package/components/menu/test-suites/MultiLevelListMixin.suite.js +5 -23
  428. package/components/overlays/src/ArrowMixin.js +111 -127
  429. package/components/overlays/src/OverlayController.js +172 -152
  430. package/components/overlays/src/OverlayMixin.js +64 -69
  431. package/components/overlays/src/OverlaysManager.js +30 -32
  432. package/components/overlays/src/configurations/visibility-trigger-partials/withClickInteraction.js +0 -1
  433. package/components/overlays/src/configurations/visibility-trigger-partials/withHoverInteraction.js +11 -11
  434. package/components/overlays/src/configurations/withBottomSheetConfig.js +12 -13
  435. package/components/overlays/src/configurations/withDropdownConfig.js +4 -2
  436. package/components/overlays/src/configurations/withModalDialogConfig.js +12 -13
  437. package/components/overlays/src/configurations/withPopoverConfig.js +27 -25
  438. package/components/overlays/src/configurations/withTooltipConfig.js +15 -13
  439. package/components/overlays/src/overlayDocumentStyle.js +1 -1
  440. package/components/overlays/src/overlayShadowDomStyle.js +0 -1
  441. package/components/overlays/src/singleton.js +0 -2
  442. package/components/overlays/src/utils/adopt-styles.js +18 -18
  443. package/components/overlays/src/utils/deep-contains.js +7 -6
  444. package/components/overlays/src/utils/get-focusable-elements.js +7 -10
  445. package/components/overlays/src/utils/inert-siblings.js +2 -4
  446. package/components/overlays/src/utils/is-equal-config.js +2 -3
  447. package/components/overlays/src/utils/is-visible.js +0 -1
  448. package/components/overlays/src/utils/simulate-tab.js +1 -4
  449. package/components/overlays/src/utils/sort-by-tabindex.js +2 -4
  450. package/components/overlays/test/ArrowMixin.test.js +18 -30
  451. package/components/overlays/test/OverlayController.test.js +406 -555
  452. package/components/overlays/test/OverlayMixin.test.js +0 -2
  453. package/components/overlays/test/OverlaysManager.test.js +30 -35
  454. package/components/overlays/test/global-positioning.test.js +6 -10
  455. package/components/overlays/test/invoker-compatibility.test.js +37 -0
  456. package/components/overlays/test/local-positioning.test.js +101 -103
  457. package/components/overlays/test/utils-tests/active-element.test.js +12 -27
  458. package/components/overlays/test/utils-tests/adopt-styles.test.js +25 -56
  459. package/components/overlays/test/utils-tests/deep-contains.test.js +73 -74
  460. package/components/overlays/test/utils-tests/get-focusable-elements.test.js +6 -23
  461. package/components/overlays/test/utils-tests/is-equal-config.test.js +32 -13
  462. package/components/overlays/test/utils-tests/visibility.test.js +44 -79
  463. package/components/overlays/test-helpers/createShadowHost.js +5 -3
  464. package/components/overlays/test-helpers/normalizeTransformStyle.js +2 -4
  465. package/components/overlays/test-suites/OverlayMixin.suite.js +152 -181
  466. package/components/overlays/test-suites/WithHoverInteraction.suite.js +96 -79
  467. package/components/overlays/translations/bg-BG.js +0 -1
  468. package/components/overlays/translations/cs-CZ.js +0 -1
  469. package/components/overlays/translations/de-DE.js +0 -1
  470. package/components/overlays/translations/en-AU.js +0 -1
  471. package/components/overlays/translations/en-GB.js +0 -1
  472. package/components/overlays/translations/en-US.js +0 -1
  473. package/components/overlays/translations/es-ES.js +0 -1
  474. package/components/overlays/translations/fr-BE.js +0 -1
  475. package/components/overlays/translations/fr-FR.js +0 -1
  476. package/components/overlays/translations/hu-HU.js +0 -1
  477. package/components/overlays/translations/it-IT.js +0 -1
  478. package/components/overlays/translations/nl-BE.js +0 -1
  479. package/components/overlays/translations/nl-NL.js +0 -1
  480. package/components/overlays/translations/pl-PL.js +0 -1
  481. package/components/overlays/translations/ro-RO.js +0 -1
  482. package/components/overlays/translations/ru-RU.js +0 -1
  483. package/components/overlays/translations/sk-SK.js +0 -1
  484. package/components/overlays/translations/tr-TR.js +0 -1
  485. package/components/overlays/translations/uk-UA.js +0 -1
  486. package/components/pagination/src/LionPagination.js +9 -12
  487. package/components/pagination/test/lion-pagination.test.js +18 -50
  488. package/components/progress-indicator/src/LionProgressIndicator.js +10 -12
  489. package/components/progress-indicator/test/lion-progress-indicator.test.js +1 -22
  490. package/components/radio-group/src/LionRadioGroup.js +1 -2
  491. package/components/radio-group/test/lion-radio-group-integrations.test.js +0 -1
  492. package/components/radio-group/test/lion-radio-group.test.js +27 -27
  493. package/components/radio-group/test/lion-radio-integrations.test.js +3 -2
  494. package/components/radio-group/test/lion-radio.test.js +30 -16
  495. package/components/select/src/LionSelect.js +12 -13
  496. package/components/select/test/lion-select.test.js +7 -12
  497. package/components/select-rich/src/LionSelectInvoker.js +18 -11
  498. package/components/select-rich/src/LionSelectRich.js +22 -44
  499. package/components/select-rich/test/demos.screenshots-test.js +40 -9
  500. package/components/select-rich/test/lion-select-invoker.test.js +26 -43
  501. package/components/select-rich/test/lion-select-listbox-suite-integration.test.js +3 -3
  502. package/components/select-rich/test/lion-select-rich-dialog-integration.test.js +4 -9
  503. package/components/select-rich/test/lion-select-rich-interaction.test.js +116 -116
  504. package/components/select-rich/test/lion-select-rich-upgrade.test.js +3 -7
  505. package/components/select-rich/test/lion-select-rich.test.js +153 -195
  506. package/components/select-rich/test-helpers/getSelectRichMembers.js +4 -1
  507. package/components/steps/src/LionStep.js +21 -12
  508. package/components/steps/src/LionSteps.js +25 -25
  509. package/components/steps/test/lion-step.test.js +18 -25
  510. package/components/steps/test/lion-steps.test.js +45 -78
  511. package/components/switch/src/LionSwitch.js +2 -7
  512. package/components/switch/src/LionSwitchButton.js +5 -6
  513. package/components/switch/test/lion-switch-button.test.js +16 -28
  514. package/components/switch/test/lion-switch.test.js +17 -31
  515. package/components/tabs/src/LionTabs.js +25 -28
  516. package/components/tabs/test/lion-tabs.test.js +156 -154
  517. package/components/textarea/src/LionTextarea.js +4 -23
  518. package/components/textarea/test/lion-textarea-integrations.test.js +0 -5
  519. package/components/textarea/test/lion-textarea.test.js +2 -28
  520. package/components/tooltip/src/LionTooltip.js +6 -6
  521. package/components/tooltip/test/lion-tooltip.test.js +75 -102
  522. package/components/validate-messages/src/getLocalizedMessage.js +8 -7
  523. package/components/validate-messages/src/loadDefaultFeedbackMessages.js +3 -1
  524. package/components/validate-messages/src/loadDefaultFeedbackMessagesNoSideEffects.js +9 -5
  525. package/components/validate-messages/src/per-entrypoint/loadComboboxMessagesNoSideEffects.js +5 -2
  526. package/components/validate-messages/src/per-entrypoint/loadFormCoreMessagesNoSideEffects.js +99 -35
  527. package/components/validate-messages/src/per-entrypoint/loadInputTelMessagesNoSideEffects.js +4 -3
  528. package/components/validate-messages/test/loadDefaultFeedbackMessages.test.js +5 -3
  529. package/components/validate-messages/test/loadDefaultFeedbackMessagesNoSideEffects.test.js +80 -45
  530. package/components/validate-messages/translations/bg-BG.js +0 -1
  531. package/components/validate-messages/translations/cs-CZ.js +0 -1
  532. package/components/validate-messages/translations/de-DE.js +0 -1
  533. package/components/validate-messages/translations/en-AU.js +0 -1
  534. package/components/validate-messages/translations/en-GB.js +0 -1
  535. package/components/validate-messages/translations/en-PH.js +0 -1
  536. package/components/validate-messages/translations/en-US.js +0 -1
  537. package/components/validate-messages/translations/es-ES.js +0 -1
  538. package/components/validate-messages/translations/fr-BE.js +0 -1
  539. package/components/validate-messages/translations/fr-FR.js +0 -1
  540. package/components/validate-messages/translations/hu-HU.js +0 -1
  541. package/components/validate-messages/translations/it-IT.js +0 -1
  542. package/components/validate-messages/translations/nl-BE.js +0 -1
  543. package/components/validate-messages/translations/nl-NL.js +0 -1
  544. package/components/validate-messages/translations/pl-PL.js +0 -1
  545. package/components/validate-messages/translations/ro-RO.js +0 -1
  546. package/components/validate-messages/translations/ru-RU.js +0 -1
  547. package/components/validate-messages/translations/sk-SK.js +0 -1
  548. package/components/validate-messages/translations/tr-TR.js +0 -1
  549. package/components/validate-messages/translations/uk-UA.js +0 -1
  550. package/custom-elements.json +229 -85
  551. package/dist-types/components/core/src/SlotMixin.d.ts +6 -1
  552. package/dist-types/components/core/src/SlotMixin.d.ts.map +1 -1
  553. package/dist-types/components/core/types/SlotMixinTypes.d.ts +5 -1
  554. package/dist-types/components/core/types/SlotMixinTypes.d.ts.map +1 -1
  555. package/dist-types/components/form-core/src/LionField.d.ts +3 -1
  556. package/dist-types/components/form-core/src/LionField.d.ts.map +1 -1
  557. package/dist-types/components/input-tel/src/LionInputTel.d.ts +6 -6
  558. package/dist-types/components/input-tel/src/LionInputTel.d.ts.map +1 -1
  559. package/dist-types/components/input-tel/src/PhoneUtilManager.d.ts +2 -2
  560. package/dist-types/components/input-tel/src/PhoneUtilManager.d.ts.map +1 -1
  561. package/dist-types/components/input-tel/src/formatters.d.ts +2 -2
  562. package/dist-types/components/input-tel/src/formatters.d.ts.map +1 -1
  563. package/dist-types/components/input-tel/src/preprocessors.d.ts +2 -2
  564. package/dist-types/components/input-tel/src/preprocessors.d.ts.map +1 -1
  565. package/dist-types/components/input-tel/test/validators.test.d.ts +1 -1
  566. package/dist-types/components/input-tel/test/validators.test.d.ts.map +1 -1
  567. package/dist-types/components/input-tel/test-helpers/mockPhoneUtilManager.d.ts +5 -0
  568. package/dist-types/components/input-tel/test-helpers/mockPhoneUtilManager.d.ts.map +1 -1
  569. package/dist-types/components/listbox/src/LionListbox.d.ts +2 -2
  570. package/dist-types/components/listbox/src/LionListbox.d.ts.map +1 -1
  571. package/dist-types/components/listbox/src/LionOption.d.ts +5 -2
  572. package/dist-types/components/listbox/src/LionOption.d.ts.map +1 -1
  573. package/dist-types/components/overlays/src/OverlayController.d.ts +3 -1
  574. package/dist-types/components/overlays/src/OverlayController.d.ts.map +1 -1
  575. package/dist-types/components/overlays/src/OverlayMixin.d.ts.map +1 -1
  576. package/dist-types/components/overlays/src/OverlaysManager.d.ts.map +1 -1
  577. package/dist-types/components/overlays/src/overlayDocumentStyle.d.ts.map +1 -1
  578. package/dist-types/components/overlays/test/invoker-compatibility.test.d.ts +3 -0
  579. package/dist-types/components/overlays/test/invoker-compatibility.test.d.ts.map +1 -0
  580. package/dist-types/components/select-rich/src/LionSelectInvoker.d.ts +3 -1
  581. package/dist-types/components/select-rich/src/LionSelectInvoker.d.ts.map +1 -1
  582. package/dist-types/components/select-rich/src/LionSelectRich.d.ts +6 -5
  583. package/dist-types/components/select-rich/src/LionSelectRich.d.ts.map +1 -1
  584. package/dist-types/tsconfig.tsbuildinfo +1 -1
  585. package/docs/components/accordion/overview.md +2 -2
  586. package/docs/components/accordion/reference.md +2 -2
  587. package/docs/components/accordion/use-cases.md +2 -2
  588. package/docs/components/button/examples.md +2 -2
  589. package/docs/components/button/extensions.md +2 -2
  590. package/docs/components/button/overview.md +2 -2
  591. package/docs/components/button/use-cases.md +2 -2
  592. package/docs/components/calendar/overview.md +2 -2
  593. package/docs/components/calendar/use-cases.md +2 -2
  594. package/docs/components/checkbox-group/overview.md +4 -4
  595. package/docs/components/checkbox-group/use-cases.md +2 -2
  596. package/docs/components/collapsible/examples.md +2 -2
  597. package/docs/components/collapsible/overview.md +3 -3
  598. package/docs/components/collapsible/use-cases.md +2 -2
  599. package/docs/components/combobox/api-table.md +1 -1
  600. package/docs/components/combobox/extensions.md +2 -2
  601. package/docs/components/combobox/overview.md +3 -3
  602. package/docs/components/combobox/use-cases.md +3 -3
  603. package/docs/components/dialog/overview.md +3 -3
  604. package/docs/components/dialog/use-cases.md +2 -2
  605. package/docs/components/drawer/overview.md +2 -2
  606. package/docs/components/drawer/use-cases.md +2 -2
  607. package/docs/components/fieldset/overview.md +7 -7
  608. package/docs/components/fieldset/use-cases.md +2 -2
  609. package/docs/components/form/overview.md +5 -5
  610. package/docs/components/form/use-cases.md +4 -4
  611. package/docs/components/icon/overview.md +2 -2
  612. package/docs/components/icon/use-cases.md +3 -3
  613. package/docs/components/input/overview.md +3 -3
  614. package/docs/components/input/use-cases.md +2 -2
  615. package/docs/components/input-amount/overview.md +5 -5
  616. package/docs/components/input-amount/use-cases.md +2 -2
  617. package/docs/components/input-amount-dropdown/use-cases.md +2 -2
  618. package/docs/components/input-date/overview.md +5 -5
  619. package/docs/components/input-date/use-cases.md +2 -2
  620. package/docs/components/input-datepicker/overview.md +7 -7
  621. package/docs/components/input-datepicker/use-cases.md +2 -2
  622. package/docs/components/input-email/overview.md +4 -4
  623. package/docs/components/input-email/use-cases.md +2 -2
  624. package/docs/components/input-file/overview.md +3 -3
  625. package/docs/components/input-file/use-cases.md +2 -2
  626. package/docs/components/input-iban/overview.md +4 -4
  627. package/docs/components/input-iban/use-cases.md +2 -2
  628. package/docs/components/input-range/overview.md +4 -4
  629. package/docs/components/input-range/use-cases.md +2 -2
  630. package/docs/components/input-stepper/overview.md +3 -3
  631. package/docs/components/input-stepper/use-cases.md +2 -2
  632. package/docs/components/input-tel/overview.md +3 -3
  633. package/docs/components/input-tel/use-cases.md +8 -8
  634. package/docs/components/input-tel-dropdown/extensions.md +2 -2
  635. package/docs/components/input-tel-dropdown/overview.md +3 -3
  636. package/docs/components/input-tel-dropdown/use-cases.md +2 -2
  637. package/docs/components/listbox/api-table.md +4 -4
  638. package/docs/components/listbox/overview.md +2 -2
  639. package/docs/components/listbox/use-cases.md +3 -3
  640. package/docs/components/menu/extensions.md +2 -2
  641. package/docs/components/menu/migration.md +2 -2
  642. package/docs/components/menu/overview.md +2 -2
  643. package/docs/components/menu/use-cases.md +1 -1
  644. package/docs/components/pagination/overview.md +2 -2
  645. package/docs/components/pagination/use-cases.md +2 -2
  646. package/docs/components/progress-indicator/examples.md +2 -2
  647. package/docs/components/progress-indicator/overview.md +2 -2
  648. package/docs/components/radio-group/overview.md +5 -5
  649. package/docs/components/radio-group/use-cases.md +2 -2
  650. package/docs/components/select/overview.md +2 -2
  651. package/docs/components/select/use-cases.md +3 -3
  652. package/docs/components/select-rich/api-table.md +1 -1
  653. package/docs/components/select-rich/examples.md +2 -2
  654. package/docs/components/select-rich/overview.md +2 -2
  655. package/docs/components/select-rich/use-cases.md +4 -4
  656. package/docs/components/steps/overview.md +2 -2
  657. package/docs/components/steps/use-cases.md +2 -2
  658. package/docs/components/switch/overview.md +2 -2
  659. package/docs/components/switch/reference.md +2 -2
  660. package/docs/components/switch/use-cases.md +2 -2
  661. package/docs/components/tabs/examples.md +3 -3
  662. package/docs/components/tabs/overview.md +2 -2
  663. package/docs/components/tabs/use-cases.md +2 -2
  664. package/docs/components/textarea/overview.md +2 -2
  665. package/docs/components/textarea/use-cases.md +2 -2
  666. package/docs/components/tooltip/examples.md +2 -2
  667. package/docs/components/tooltip/overview.md +2 -2
  668. package/docs/components/tooltip/use-cases.md +2 -2
  669. package/docs/fundamentals/index.md +4 -4
  670. package/docs/fundamentals/node-tools/babel-plugin-extend-docs/index.md +2 -2
  671. package/docs/fundamentals/node-tools/babel-plugin-extend-docs/overview.md +2 -2
  672. package/docs/fundamentals/node-tools/providence-analytics/index.md +2 -2
  673. package/docs/fundamentals/node-tools/providence-analytics/overview.md +2 -2
  674. package/docs/fundamentals/node-tools/publish-docs/index.md +2 -2
  675. package/docs/fundamentals/node-tools/publish-docs/overview.md +5 -5
  676. package/docs/fundamentals/node-tools/remark-extend/index.md +2 -2
  677. package/docs/fundamentals/node-tools/remark-extend/overview.md +2 -2
  678. package/docs/fundamentals/node-tools/rocket-preset-extend-lion-docs/index.md +2 -2
  679. package/docs/fundamentals/node-tools/rocket-preset-extend-lion-docs/overview.md +4 -4
  680. package/docs/fundamentals/rationales/TypeScript.md +62 -2
  681. package/docs/fundamentals/rationales/accessibility.md +5 -5
  682. package/docs/fundamentals/rationales/side-effects.md +2 -2
  683. package/docs/fundamentals/rationales/versioning.md +2 -2
  684. package/docs/fundamentals/systems/core/SlotMixin.md +3 -3
  685. package/docs/fundamentals/systems/core/index.md +2 -2
  686. package/docs/fundamentals/systems/core/overview.md +3 -3
  687. package/docs/fundamentals/systems/form/formatting-and-parsing.md +6 -6
  688. package/docs/fundamentals/systems/form/index.md +2 -2
  689. package/docs/fundamentals/systems/form/interaction-states.md +2 -2
  690. package/docs/fundamentals/systems/form/model-value.md +3 -3
  691. package/docs/fundamentals/systems/form/overview.md +30 -30
  692. package/docs/fundamentals/systems/form/styling.md +2 -2
  693. package/docs/fundamentals/systems/form/use-cases.md +2 -2
  694. package/docs/fundamentals/systems/form/validate.md +4 -4
  695. package/docs/fundamentals/systems/icon/index.md +2 -2
  696. package/docs/fundamentals/systems/icon/overview.md +2 -2
  697. package/docs/fundamentals/systems/localize/dates.md +2 -2
  698. package/docs/fundamentals/systems/localize/index.md +2 -2
  699. package/docs/fundamentals/systems/localize/numbers.md +2 -2
  700. package/docs/fundamentals/systems/localize/overview.md +6 -6
  701. package/docs/fundamentals/systems/localize/rationale.md +2 -2
  702. package/docs/fundamentals/systems/localize/text.md +2 -2
  703. package/docs/fundamentals/systems/localize/use-cases.md +2 -2
  704. package/docs/fundamentals/systems/overlays/_edge-cases.md +2 -2
  705. package/docs/fundamentals/systems/overlays/api-table.md +1 -1
  706. package/docs/fundamentals/systems/overlays/configuration.md +4 -4
  707. package/docs/fundamentals/systems/overlays/index.md +2 -2
  708. package/docs/fundamentals/systems/overlays/overview.md +7 -7
  709. package/docs/fundamentals/systems/overlays/rationale.md +2 -2
  710. package/docs/fundamentals/systems/overlays/use-cases.md +4 -4
  711. package/docs/fundamentals/tools/ajax/index.md +2 -2
  712. package/docs/fundamentals/tools/ajax/overview.md +2 -2
  713. package/docs/fundamentals/tools/ajax/use-cases.md +2 -2
  714. package/docs/fundamentals/tools/helpers/action-logger.md +2 -2
  715. package/docs/fundamentals/tools/helpers/index.md +2 -2
  716. package/docs/fundamentals/tools/helpers/overview.md +3 -3
  717. package/docs/fundamentals/tools/singleton-manager/example-complex/index.md +2 -2
  718. package/docs/fundamentals/tools/singleton-manager/example-fail/index.md +2 -2
  719. package/docs/fundamentals/tools/singleton-manager/example-success/index.md +2 -2
  720. package/docs/fundamentals/tools/singleton-manager/index.md +2 -2
  721. package/docs/fundamentals/tools/singleton-manager/overview.md +6 -6
  722. package/docs/guides/how-to/create-a-custom-field.md +7 -7
  723. package/docs/guides/how-to/create-a-form.md +6 -6
  724. package/docs/guides/how-to/extend-a-native-input.md +4 -4
  725. package/docs/guides/how-to/get-started.md +2 -2
  726. package/docs/guides/how-to/index.md +1 -1
  727. package/docs/guides/index.md +8 -8
  728. package/docs/guides/principles/definitions-and-terms.md +2 -2
  729. package/docs/guides/principles/index.md +5 -5
  730. package/docs/guides/principles/scoped-elements.md +2 -2
  731. package/docs/guides/principles/styling.md +3 -3
  732. package/docs/guides/principles/subclasser-apis.md +2 -2
  733. package/exports/define/lion-accordion.js +0 -1
  734. package/exports/define/lion-button-reset.js +0 -1
  735. package/exports/define/lion-button-submit.js +0 -1
  736. package/exports/define/lion-button.js +0 -1
  737. package/exports/define/lion-calendar.js +0 -1
  738. package/exports/define/lion-checkbox-group.js +0 -1
  739. package/exports/define/lion-checkbox-indeterminate.js +0 -1
  740. package/exports/define/lion-checkbox.js +0 -1
  741. package/exports/define/lion-collapsible.js +0 -1
  742. package/exports/define/lion-combobox.js +0 -1
  743. package/exports/define/lion-dialog.js +0 -1
  744. package/exports/define/lion-drawer.js +0 -1
  745. package/exports/define/lion-field.js +0 -1
  746. package/exports/define/lion-fieldset.js +0 -1
  747. package/exports/define/lion-form.js +0 -1
  748. package/exports/define/lion-icon.js +0 -1
  749. package/exports/define/lion-input-amount-dropdown.js +0 -1
  750. package/exports/define/lion-input-amount.js +0 -1
  751. package/exports/define/lion-input-date.js +0 -1
  752. package/exports/define/lion-input-datepicker.js +0 -1
  753. package/exports/define/lion-input-email.js +0 -1
  754. package/exports/define/lion-input-file.js +0 -1
  755. package/exports/define/lion-input-iban.js +0 -1
  756. package/exports/define/lion-input-range.js +0 -1
  757. package/exports/define/lion-input-stepper.js +0 -1
  758. package/exports/define/lion-input-tel-dropdown.js +0 -1
  759. package/exports/define/lion-input-tel.js +0 -1
  760. package/exports/define/lion-input.js +0 -1
  761. package/exports/define/lion-item.js +0 -1
  762. package/exports/define/lion-listbox.js +0 -1
  763. package/exports/define/lion-menu.js +0 -1
  764. package/exports/define/lion-menuitem.js +0 -1
  765. package/exports/define/lion-option.js +0 -1
  766. package/exports/define/lion-options.js +0 -1
  767. package/exports/define/lion-pagination.js +0 -1
  768. package/exports/define/lion-progress-indicator.js +0 -1
  769. package/exports/define/lion-radio-group.js +0 -1
  770. package/exports/define/lion-radio.js +0 -1
  771. package/exports/define/lion-select-invoker.js +0 -1
  772. package/exports/define/lion-select-rich.js +0 -1
  773. package/exports/define/lion-select.js +0 -1
  774. package/exports/define/lion-selected-file-list.js +0 -1
  775. package/exports/define/lion-step.js +0 -1
  776. package/exports/define/lion-steps.js +0 -1
  777. package/exports/define/lion-switch-button.js +0 -1
  778. package/exports/define/lion-switch.js +0 -1
  779. package/exports/define/lion-tabs.js +0 -1
  780. package/exports/define/lion-textarea.js +0 -1
  781. package/exports/define/lion-tooltip.js +0 -1
  782. package/exports/define/lion-validation-feedback.js +0 -1
  783. package/exports/define-helpers/sb-action-logger.js +0 -1
  784. package/exports/define-helpers/sb-locale-switcher.js +0 -1
  785. package/exports/form-core.js +0 -8
  786. package/exports/localize-no-side-effects.js +0 -1
  787. package/exports/localize.js +0 -2
  788. package/exports/overlays.js +0 -4
  789. package/generated/awesome-phonenumber/LICENSE +22 -0
  790. package/generated/awesome-phonenumber/LICENSE.closure-library +176 -0
  791. package/generated/awesome-phonenumber/LICENSE.libphonenumber +176 -0
  792. package/generated/awesome-phonenumber/checksums.json +6 -0
  793. package/generated/awesome-phonenumber/index-esm.mjs +817 -0
  794. package/generated/awesome-phonenumber/index.d.ts +227 -0
  795. package/generated/awesome-phonenumber/index.js +45 -0
  796. package/generated/awesome-phonenumber/lib/index.js +710 -0
  797. package/generated/awesome-phonenumber/package.json +9 -0
  798. package/generated/awesome-phonenumber/provenance.json +13 -0
  799. package/package.json +38 -15
  800. package/vscode.html-custom-data.json +5 -5
  801. package/web-types.json +1 -1
  802. package/vendor/README.md +0 -61
  803. package/vendor/awesome-phonenumber-7.9.0-tlouisse.libphonenumber-9.0.41.tgz +0 -0
@@ -14,12 +14,10 @@ import { LionInputStepper } from '../src/LionInputStepper.js';
14
14
  /**
15
15
  * @typedef {import('lit').TemplateResult} TemplateResult
16
16
  */
17
- const fixture = /** @type {(arg: TemplateResult|string) => Promise<LionInputStepper>} */ (_fixture);
18
-
17
+ const fixture = /** @type {(arg: TemplateResult|string) => Promise<LionInputStepper>} */ _fixture;
19
18
  export function runInputStepperSuite(klass = LionInputStepper) {
20
19
  const tagString = defineCE(class extends klass {});
21
20
  const tag = unsafeStatic(tagString);
22
-
23
21
  const defaultInputStepper = html`
24
22
  <${tag} name="year" label="Years"></${tag}>
25
23
  `;
@@ -37,129 +35,144 @@ export function runInputStepperSuite(klass = LionInputStepper) {
37
35
  value="1"
38
36
  readonly
39
37
  ></${tag}>`;
40
-
41
38
  describe('InputStepper', async () => {
42
39
  describe('Stepper', () => {
43
40
  it('has a type text', async () => {
44
41
  const el = await fixture(defaultInputStepper);
45
42
  expect(el._inputNode.type).to.equal('text');
46
43
  });
47
-
48
44
  it('has a default min and max of Infinity', async () => {
49
45
  const el = await fixture(defaultInputStepper);
50
46
  expect(el.getAttribute('min')).to.equal('Infinity');
51
47
  expect(el.getAttribute('max')).to.equal('Infinity');
52
48
  });
53
-
54
49
  it('has a default step of 1', async () => {
55
50
  const el = await fixture(defaultInputStepper);
56
51
  expect(el.getAttribute('step')).to.equal('1');
57
52
  });
58
-
59
53
  it('can set a step with which the value increases', async () => {
60
54
  const el = await fixture(defaultInputStepper);
61
55
  el.step = 10;
62
56
  await el.updateComplete;
63
57
  expect(el.value).to.equal('');
64
58
  expect(el.getAttribute('step')).to.equal('10');
65
-
66
59
  const incrementButton = el.querySelector('[slot=suffix]');
67
60
  incrementButton?.dispatchEvent(new Event('click'));
68
61
  expect(el.value).to.equal('10');
69
62
  });
70
63
  });
71
-
72
64
  describe('Formatter', () => {
73
65
  it('uses formatNumber for formatting', async () => {
74
66
  const el = await fixture(defaultInputStepper);
75
67
  expect(el.formatter).to.equal(formatNumber);
76
68
  });
77
-
78
69
  it('formatNumber uses locale provided in formatOptions', async () => {
79
70
  let el = await fixture(html`
80
- <${tag} .formatOptions="${{ locale: 'en-GB' }}" .modelValue="${1234.56}"
71
+ <${tag} .formatOptions="${{
72
+ locale: 'en-GB',
73
+ }}" .modelValue="${1234.56}"
81
74
  ></${tag}>
82
75
  `);
83
76
  expect(el.formattedValue).to.equal('1,234.56');
84
77
  el = await fixture(html`
85
- <${tag} .formatOptions="${{ locale: 'nl-NL' }}" .modelValue="${1234.56}"
78
+ <${tag} .formatOptions="${{
79
+ locale: 'nl-NL',
80
+ }}" .modelValue="${1234.56}"
86
81
  ></${tag}>
87
82
  `);
88
83
  expect(el.formattedValue).to.equal('1.234,56');
89
84
  });
90
-
91
85
  it('supports overriding decimalSeparator in formatOptions', async () => {
92
- const el = await fixture(
93
- html`<${tag}
94
- .formatOptions="${{ locale: 'nl-NL', decimalSeparator: '.' }}"
86
+ const el = await fixture(html`<${tag}
87
+ .formatOptions="${{
88
+ locale: 'nl-NL',
89
+ decimalSeparator: '.',
90
+ }}"
95
91
  .modelValue="${12.34}"
96
92
 
97
- ></${tag}>`,
98
- );
93
+ ></${tag}>`);
99
94
  expect(el.formattedValue).to.equal('12.34');
100
95
  });
101
-
102
96
  it('supports overriding groupSeparator in formatOptions', async () => {
103
- const el = await fixture(
104
- html`<${tag}
105
- .formatOptions="${{ locale: 'nl-NL', groupSeparator: ',', decimalSeparator: '.' }}"
97
+ const el = await fixture(html`<${tag}
98
+ .formatOptions="${{
99
+ locale: 'nl-NL',
100
+ groupSeparator: ',',
101
+ decimalSeparator: '.',
102
+ }}"
106
103
  .modelValue="${1234.56}"
107
104
 
108
- ></${tag}>`,
109
- );
105
+ ></${tag}>`);
110
106
  expect(el.formattedValue).to.equal('1,234.56');
111
107
  });
112
108
  });
113
-
114
109
  describe('User interaction', () => {
115
110
  it('should NOT increment the value to 1 on [ArrowUp] when is readonly', async () => {
116
111
  const el = await fixture(inputStepperReadOnly);
117
112
  expect(el.value).to.equal('1');
118
- el.dispatchEvent(new KeyboardEvent('keydown', { key: 'ArrowUp' }));
113
+ el.dispatchEvent(
114
+ new KeyboardEvent('keydown', {
115
+ key: 'ArrowUp',
116
+ }),
117
+ );
119
118
  await el.updateComplete;
120
119
  expect(el.value).to.equal('1');
121
120
  });
122
-
123
121
  it('should NOT decrement the value to -1 on [ArrowDown] when is readonly', async () => {
124
122
  const el = await fixture(inputStepperReadOnly);
125
123
  expect(el.value).to.equal('1');
126
- el.dispatchEvent(new KeyboardEvent('keydown', { key: 'ArrowDown' }));
124
+ el.dispatchEvent(
125
+ new KeyboardEvent('keydown', {
126
+ key: 'ArrowDown',
127
+ }),
128
+ );
127
129
  await el.updateComplete;
128
130
  expect(el.value).to.equal('1');
129
131
  });
130
-
131
132
  it('should increment the value to 1 on [ArrowUp]', async () => {
132
133
  const el = await fixture(defaultInputStepper);
133
134
  expect(el.value).to.equal('');
134
- el.dispatchEvent(new KeyboardEvent('keydown', { key: 'ArrowUp' }));
135
+ el.dispatchEvent(
136
+ new KeyboardEvent('keydown', {
137
+ key: 'ArrowUp',
138
+ }),
139
+ );
135
140
  await el.updateComplete;
136
141
  expect(el.value).to.equal('1');
137
142
  });
138
-
139
143
  it('should increment the value to minValue on [ArrowUp] if value is below min', async () => {
140
144
  const el = await fixture(inputStepperWithAttrs);
141
145
  expect(el.value).to.equal('');
142
- el.dispatchEvent(new KeyboardEvent('keydown', { key: 'ArrowUp' }));
146
+ el.dispatchEvent(
147
+ new KeyboardEvent('keydown', {
148
+ key: 'ArrowUp',
149
+ }),
150
+ );
143
151
  await el.updateComplete;
144
152
  expect(el.value).to.equal('100');
145
153
  });
146
-
147
154
  it('should decrement the value to -1 on [ArrowDown]', async () => {
148
155
  const el = await fixture(defaultInputStepper);
149
156
  expect(el.value).to.equal('');
150
- el.dispatchEvent(new KeyboardEvent('keydown', { key: 'ArrowDown' }));
157
+ el.dispatchEvent(
158
+ new KeyboardEvent('keydown', {
159
+ key: 'ArrowDown',
160
+ }),
161
+ );
151
162
  await el.updateComplete;
152
163
  expect(el.value).to.equal('−1');
153
164
  });
154
-
155
165
  it('should increment the value to minValue on [ArrowDown] if value is below min', async () => {
156
166
  const el = await fixture(inputStepperWithAttrs);
157
167
  el.modelValue = 600;
158
- el.dispatchEvent(new KeyboardEvent('keydown', { key: 'ArrowDown' }));
168
+ el.dispatchEvent(
169
+ new KeyboardEvent('keydown', {
170
+ key: 'ArrowDown',
171
+ }),
172
+ );
159
173
  await el.updateComplete;
160
174
  expect(el.value).to.equal('200');
161
175
  });
162
-
163
176
  it('should increment the value to 1 on + button click', async () => {
164
177
  const el = await fixture(defaultInputStepper);
165
178
  expect(el.value).to.equal('');
@@ -167,7 +180,6 @@ export function runInputStepperSuite(klass = LionInputStepper) {
167
180
  incrementButton?.dispatchEvent(new Event('click'));
168
181
  expect(el.value).to.equal('1');
169
182
  });
170
-
171
183
  it('should decrement the value to -1 on - button click', async () => {
172
184
  const el = await fixture(defaultInputStepper);
173
185
  expect(el.value).to.equal('');
@@ -175,7 +187,6 @@ export function runInputStepperSuite(klass = LionInputStepper) {
175
187
  decrementButton?.dispatchEvent(new Event('click'));
176
188
  expect(el.value).to.equal('−1');
177
189
  });
178
-
179
190
  it('fires one "user-input-changed" event on + button click', async () => {
180
191
  let counter = 0;
181
192
  const el = await fixture(html`
@@ -193,7 +204,6 @@ export function runInputStepperSuite(klass = LionInputStepper) {
193
204
  incrementButton?.dispatchEvent(new Event('click'));
194
205
  expect(counter).to.equal(1);
195
206
  });
196
-
197
207
  it('fires one "user-input-changed" event on - button click', async () => {
198
208
  let counter = 0;
199
209
  const el = await fixture(html`
@@ -211,7 +221,6 @@ export function runInputStepperSuite(klass = LionInputStepper) {
211
221
  decrementButton?.dispatchEvent(new Event('click'));
212
222
  expect(counter).to.equal(1);
213
223
  });
214
-
215
224
  it('should update min and max attributes when min and max property change', async () => {
216
225
  const el = await fixture(inputStepperWithAttrs);
217
226
  el.min = 100;
@@ -220,7 +229,6 @@ export function runInputStepperSuite(klass = LionInputStepper) {
220
229
  expect(el._inputNode.min).to.equal(el.min.toString());
221
230
  expect(el._inputNode.max).to.equal(el.max.toString());
222
231
  });
223
-
224
232
  it('should remove the disabled attribute of the decrement button when the min property changes to below the modelvalue', async () => {
225
233
  const el = await fixture(inputStepperWithAttrs);
226
234
  const decrementButton = el.querySelector('[slot=prefix]');
@@ -231,7 +239,6 @@ export function runInputStepperSuite(klass = LionInputStepper) {
231
239
  await nextFrame();
232
240
  expect(decrementButton?.getAttribute('disabled')).to.equal(null);
233
241
  });
234
-
235
242
  it('should add the disabled attribute of the decrement button when the min property changes to the modelvalue', async () => {
236
243
  const el = await fixture(inputStepperWithAttrs);
237
244
  const decrementButton = el.querySelector('[slot=prefix]');
@@ -242,7 +249,6 @@ export function runInputStepperSuite(klass = LionInputStepper) {
242
249
  await nextFrame();
243
250
  expect(decrementButton?.getAttribute('disabled')).to.equal('true');
244
251
  });
245
-
246
252
  it('should remove the disabled attribute of the increment button when the max property changes to above the modelvalue', async () => {
247
253
  const el = await fixture(inputStepperWithAttrs);
248
254
  const incrementButton = el.querySelector('[slot=suffix]');
@@ -253,7 +259,6 @@ export function runInputStepperSuite(klass = LionInputStepper) {
253
259
  await nextFrame();
254
260
  expect(incrementButton?.getAttribute('disabled')).to.equal(null);
255
261
  });
256
-
257
262
  it('should add the disabled attribute of the increment button when the max property changes to the modelvalue', async () => {
258
263
  const el = await fixture(inputStepperWithAttrs);
259
264
  const incrementButton = el.querySelector('[slot=suffix]');
@@ -264,7 +269,6 @@ export function runInputStepperSuite(klass = LionInputStepper) {
264
269
  await nextFrame();
265
270
  expect(incrementButton?.getAttribute('disabled')).to.equal('true');
266
271
  });
267
-
268
272
  it('should react to changes in the modelValue by adjusting the disabled state of the button', async () => {
269
273
  const el = await fixture(inputStepperWithAttrs);
270
274
  const incrementButton = el.querySelector('[slot=suffix]');
@@ -275,7 +279,6 @@ export function runInputStepperSuite(klass = LionInputStepper) {
275
279
  await nextFrame();
276
280
  expect(incrementButton?.getAttribute('disabled')).to.equal('true');
277
281
  });
278
-
279
282
  describe('It align to steps', () => {
280
283
  it('aligns the value to the nearest step when incrementing', async () => {
281
284
  let el = await fixture(html`<${tag} step="10" min="0" max="100" value="55"></${tag}>`);
@@ -312,7 +315,6 @@ export function runInputStepperSuite(klass = LionInputStepper) {
312
315
  await el.updateComplete;
313
316
  expect(el.modelValue).to.equal(-3, 'Fail + : (-23 > 100 by 10; val 55)'); // -23 > -13 > -3 > 7
314
317
  });
315
-
316
318
  it('aligns the value to the nearest step when decrementing', async () => {
317
319
  let el = await fixture(html`<${tag} step="10" min="0" max="100" value="55"></${tag}>`);
318
320
  let decrementButton = el.querySelector('[slot=prefix]');
@@ -348,7 +350,6 @@ export function runInputStepperSuite(klass = LionInputStepper) {
348
350
  await el.updateComplete;
349
351
  expect(el.modelValue).to.equal(-13, 'Fail - : (-23 > 100 by 10; val 55)'); // -23 > -13 > -3 > 7
350
352
  });
351
-
352
353
  it('handles decimal step values correctly', async () => {
353
354
  // Test with decimal step 0.1
354
355
  let el = await fixture(html`<${tag} step="0.1" min="0" max="9" value="5.55"></${tag}>`);
@@ -385,13 +386,11 @@ export function runInputStepperSuite(klass = LionInputStepper) {
385
386
  });
386
387
  });
387
388
  });
388
-
389
389
  describe('_destroyOutputContent method', () => {
390
390
  beforeEach(() => {
391
391
  // Ensure clean state for each test
392
392
  sinon.restore();
393
393
  });
394
-
395
394
  it('should clear existing timer before setting a new one', async () => {
396
395
  const el = await fixture(defaultInputStepper);
397
396
  const clearTimeoutSpy = sinon.spy(window, 'clearTimeout');
@@ -402,11 +401,9 @@ export function runInputStepperSuite(klass = LionInputStepper) {
402
401
 
403
402
  // Call _destroyOutputContent
404
403
  el._destroyOutputContent();
405
-
406
404
  expect(clearTimeoutSpy.calledWith(initialTimer)).to.be.true;
407
405
  clearTimeoutSpy.restore();
408
406
  });
409
-
410
407
  it('should set __valueText to nothing and request update after timeout', async () => {
411
408
  const el = await fixture(defaultInputStepper);
412
409
  const requestUpdateSpy = sinon.spy(el, 'requestUpdate');
@@ -420,32 +417,26 @@ export function runInputStepperSuite(klass = LionInputStepper) {
420
417
 
421
418
  // Fast forward time by 2000ms (default timeout)
422
419
  clock.tick(2000);
423
-
424
420
  await expect(el.__valueText).to.equal(nothing);
425
421
  expect(requestUpdateSpy.calledOnce).to.be.true;
426
-
427
422
  clock.restore();
428
423
  requestUpdateSpy.restore();
429
424
  });
430
-
431
425
  it('should use custom timeout from data-self-destruct attribute', async () => {
432
426
  const el = await fixture(html`
433
427
  <${tag} name="test" label="Test"> ></${tag}>
434
428
  `);
435
-
436
429
  await el.updateComplete;
437
430
 
438
431
  // Get the output element and set custom self-destruct value
439
- const outputElement = /** @type {HTMLElement} */ (
440
- el.shadowRoot?.querySelector('.input-stepper__value')
441
- );
432
+ const outputElement =
433
+ /** @type {HTMLElement} */
434
+ el.shadowRoot?.querySelector('.input-stepper__value');
442
435
  if (outputElement) {
443
436
  outputElement.dataset.selfDestruct = '5000';
444
437
  }
445
-
446
438
  const clock = sinon.useFakeTimers();
447
439
  const requestUpdateSpy = sinon.spy(el, 'requestUpdate');
448
-
449
440
  el.__valueText = 'test value';
450
441
  el._destroyOutputContent();
451
442
 
@@ -458,29 +449,24 @@ export function runInputStepperSuite(klass = LionInputStepper) {
458
449
  clock.tick(3000); // Total 5000ms
459
450
  await expect(el.__valueText).to.equal(nothing);
460
451
  expect(requestUpdateSpy.calledOnce).to.be.true;
461
-
462
452
  clock.restore();
463
453
  requestUpdateSpy.restore();
464
454
  });
465
-
466
455
  it('should handle invalid data-self-destruct value by using default timeout', async () => {
467
456
  const el = await fixture(html`
468
457
  <${tag} name="test" label="Test"> ></${tag}>
469
458
  `);
470
-
471
459
  await el.updateComplete;
472
460
 
473
461
  // Get the output element and set invalid self-destruct value
474
- const outputElement = /** @type {HTMLElement} */ (
475
- el.shadowRoot?.querySelector('.input-stepper__value')
476
- );
462
+ const outputElement =
463
+ /** @type {HTMLElement} */
464
+ el.shadowRoot?.querySelector('.input-stepper__value');
477
465
  if (outputElement) {
478
466
  outputElement.dataset.selfDestruct = 'invalid';
479
467
  }
480
-
481
468
  const clock = sinon.useFakeTimers();
482
469
  const requestUpdateSpy = sinon.spy(el, 'requestUpdate');
483
-
484
470
  el.__valueText = 'test value';
485
471
  el._destroyOutputContent();
486
472
 
@@ -488,11 +474,9 @@ export function runInputStepperSuite(klass = LionInputStepper) {
488
474
  clock.tick(2000);
489
475
  await expect(el.__valueText).to.equal(nothing);
490
476
  expect(requestUpdateSpy.calledOnce).to.be.true;
491
-
492
477
  clock.restore();
493
478
  requestUpdateSpy.restore();
494
479
  });
495
-
496
480
  it('should not set timeout if output element does not exist', async () => {
497
481
  const el = await fixture(defaultInputStepper);
498
482
  const setTimeoutSpy = sinon.spy(window, 'setTimeout');
@@ -502,9 +486,7 @@ export function runInputStepperSuite(klass = LionInputStepper) {
502
486
  if (el.shadowRoot) {
503
487
  el.shadowRoot.querySelector = () => null;
504
488
  }
505
-
506
489
  el._destroyOutputContent();
507
-
508
490
  expect(setTimeoutSpy.called).to.be.false;
509
491
 
510
492
  // Restore original querySelector
@@ -513,12 +495,10 @@ export function runInputStepperSuite(klass = LionInputStepper) {
513
495
  }
514
496
  setTimeoutSpy.restore();
515
497
  });
516
-
517
498
  it('should only execute timeout callback if output element still has parent', async () => {
518
499
  const el = await fixture(defaultInputStepper);
519
500
  const clock = sinon.useFakeTimers();
520
501
  const requestUpdateSpy = sinon.spy(el, 'requestUpdate');
521
-
522
502
  el.__valueText = 'test value';
523
503
  el._destroyOutputContent();
524
504
 
@@ -534,38 +514,29 @@ export function runInputStepperSuite(klass = LionInputStepper) {
534
514
  // Should not have updated since element was removed
535
515
  expect(requestUpdateSpy.called).to.be.false;
536
516
  expect(el.__valueText).to.equal('test value');
537
-
538
517
  clock.restore();
539
518
  requestUpdateSpy.restore();
540
519
  });
541
-
542
520
  it('should be called when increment button is clicked', async () => {
543
521
  const el = await fixture(defaultInputStepper);
544
522
  const destroyOutputSpy = sinon.spy(el, '_destroyOutputContent');
545
-
546
523
  const incrementButton = el.querySelector('[slot=suffix]');
547
524
  incrementButton?.dispatchEvent(new Event('click'));
548
-
549
525
  expect(destroyOutputSpy.calledOnce).to.be.true;
550
526
  destroyOutputSpy.restore();
551
527
  });
552
-
553
528
  it('should be called when decrement button is clicked', async () => {
554
529
  const el = await fixture(defaultInputStepper);
555
530
  const destroyOutputSpy = sinon.spy(el, '_destroyOutputContent');
556
-
557
531
  const decrementButton = el.querySelector('[slot=prefix]');
558
532
  decrementButton?.dispatchEvent(new Event('click'));
559
-
560
533
  expect(destroyOutputSpy.calledOnce).to.be.true;
561
534
  destroyOutputSpy.restore();
562
535
  });
563
-
564
536
  it('should handle multiple rapid calls by clearing previous timers', async () => {
565
537
  const el = await fixture(defaultInputStepper);
566
538
  const clock = sinon.useFakeTimers();
567
539
  const requestUpdateSpy = sinon.spy(el, 'requestUpdate');
568
-
569
540
  el.__valueText = 'test value';
570
541
 
571
542
  // Call _destroyOutputContent multiple times rapidly
@@ -578,48 +549,39 @@ export function runInputStepperSuite(klass = LionInputStepper) {
578
549
  // Should not have triggered yet since second call reset the timer
579
550
  expect(el.__valueText).to.equal('test value');
580
551
  expect(requestUpdateSpy.called).to.be.false;
581
-
582
552
  clock.tick(1000); // Total 2 seconds from second call
583
553
 
584
554
  // Should trigger now
585
555
  await expect(el.__valueText).to.equal(nothing);
586
556
  expect(requestUpdateSpy.calledOnce).to.be.true;
587
-
588
557
  clock.restore();
589
558
  requestUpdateSpy.restore();
590
559
  });
591
560
  });
592
-
593
561
  describe('Accessibility', () => {
594
562
  it('is a11y AXE accessible', async () => {
595
563
  const el = await fixture(defaultInputStepper);
596
564
  await expect(el).to.be.accessible();
597
565
  });
598
-
599
566
  it('is accessible when disabled', async () => {
600
567
  const el = await fixture(html`<${tag} label="rsvp" disabled></${tag}>`);
601
568
  await expect(el).to.be.accessible();
602
569
  });
603
-
604
570
  it('has role="spinbutton"', async () => {
605
571
  const el = await fixture(defaultInputStepper);
606
572
  expect(el._inputNode.hasAttribute('role')).to.be.true;
607
573
  expect(el._inputNode.getAttribute('role')).to.equal('spinbutton');
608
574
  });
609
-
610
575
  it('updates aria-valuenow when stepper is changed', async () => {
611
576
  const el = await fixture(defaultInputStepper);
612
577
  el.modelValue = 1;
613
-
614
578
  await el.updateComplete;
615
579
  expect(el._inputNode.hasAttribute('aria-valuenow')).to.be.true;
616
580
  expect(el._inputNode.getAttribute('aria-valuenow')).to.equal('1');
617
-
618
581
  el.modelValue = '';
619
582
  await el.updateComplete;
620
583
  expect(el._inputNode.hasAttribute('aria-valuenow')).to.be.false;
621
584
  });
622
-
623
585
  it('updates aria-valuetext when stepper is changed', async () => {
624
586
  // VoiceOver announces percentages once the valuemin or valuemax are used.
625
587
  // This can be fixed by setting valuetext to the same value as valuenow
@@ -627,15 +589,12 @@ export function runInputStepperSuite(klass = LionInputStepper) {
627
589
  const el = await fixture(defaultInputStepper);
628
590
  el.modelValue = 1;
629
591
  await el.updateComplete;
630
-
631
592
  expect(el._inputNode.hasAttribute('aria-valuetext')).to.be.true;
632
593
  expect(el._inputNode.getAttribute('aria-valuetext')).to.equal('1');
633
-
634
594
  el.modelValue = '';
635
595
  await el.updateComplete;
636
596
  expect(el._inputNode.hasAttribute('aria-valuetext')).to.be.false;
637
597
  });
638
-
639
598
  it('can give aria-valuetext to override default value as a human-readable text alternative', async () => {
640
599
  const values = {
641
600
  1: 'first',
@@ -650,45 +609,37 @@ export function runInputStepperSuite(klass = LionInputStepper) {
650
609
  expect(el._inputNode.hasAttribute('aria-valuetext')).to.be.true;
651
610
  expect(el._inputNode.getAttribute('aria-valuetext')).to.equal('first');
652
611
  });
653
-
654
612
  it('updates aria-valuemin when stepper is changed', async () => {
655
613
  const el = await fixture(inputStepperWithAttrs);
656
614
  const incrementButton = el.querySelector('[slot=suffix]');
657
615
  incrementButton?.dispatchEvent(new Event('click'));
658
616
  expect(el._inputNode.hasAttribute('aria-valuemin')).to.be.true;
659
617
  expect(el._inputNode.getAttribute('aria-valuemin')).to.equal('100');
660
-
661
618
  el.min = 0;
662
619
  await el.updateComplete;
663
620
  expect(el._inputNode.hasAttribute('aria-valuemin')).to.be.true;
664
621
  expect(el._inputNode.getAttribute('aria-valuemin')).to.equal('0');
665
622
  });
666
-
667
623
  it('updates aria-valuemax when stepper is changed', async () => {
668
624
  const el = await fixture(inputStepperWithAttrs);
669
625
  const incrementButton = el.querySelector('[slot=suffix]');
670
626
  incrementButton?.dispatchEvent(new Event('click'));
671
627
  expect(el._inputNode.hasAttribute('aria-valuemax')).to.be.true;
672
628
  expect(el._inputNode.getAttribute('aria-valuemax')).to.equal('200');
673
-
674
629
  el.max = 1000;
675
630
  await el.updateComplete;
676
631
  expect(el._inputNode.hasAttribute('aria-valuemax')).to.be.true;
677
632
  expect(el._inputNode.getAttribute('aria-valuemax')).to.equal('1000');
678
633
  });
679
-
680
634
  it('decrease button should have aria-label with the component label', async () => {
681
635
  const el = await fixture(inputStepperWithAttrs);
682
636
  const decrementButton = el.querySelector('[slot=prefix]');
683
-
684
637
  expect(decrementButton?.hasAttribute('aria-label')).to.be.true;
685
638
  expect(decrementButton?.getAttribute('aria-label')).to.equal('Decrease Label');
686
639
  });
687
-
688
640
  it('increase button should have aria-label with the component label', async () => {
689
641
  const el = await fixture(inputStepperWithAttrs);
690
642
  const incrementButton = el.querySelector('[slot=suffix]');
691
-
692
643
  expect(incrementButton?.hasAttribute('aria-label')).to.be.true;
693
644
  expect(incrementButton?.getAttribute('aria-label')).to.equal('Increase Label');
694
645
  });
@@ -1,5 +1,4 @@
1
1
  import bg from './bg.js';
2
-
3
2
  export default {
4
3
  ...bg,
5
4
  };
@@ -1,5 +1,4 @@
1
1
  import cs from './cs.js';
2
-
3
2
  export default {
4
3
  ...cs,
5
4
  };
@@ -1,5 +1,4 @@
1
1
  import de from './de.js';
2
-
3
2
  export default {
4
3
  ...de,
5
4
  };
@@ -1,5 +1,4 @@
1
1
  import en from './en.js';
2
-
3
2
  export default {
4
3
  ...en,
5
4
  };
@@ -1,5 +1,4 @@
1
1
  import en from './en.js';
2
-
3
2
  export default {
4
3
  ...en,
5
4
  };
@@ -1,5 +1,4 @@
1
1
  import en from './en.js';
2
-
3
2
  export default {
4
3
  ...en,
5
4
  };
@@ -1,5 +1,4 @@
1
1
  import es from './es.js';
2
-
3
2
  export default {
4
3
  ...es,
5
4
  };
@@ -1,5 +1,4 @@
1
1
  import fr from './fr.js';
2
-
3
2
  export default {
4
3
  ...fr,
5
4
  };
@@ -1,5 +1,4 @@
1
1
  import fr from './fr.js';
2
-
3
2
  export default {
4
3
  ...fr,
5
4
  };
@@ -1,5 +1,4 @@
1
1
  import hu from './hu.js';
2
-
3
2
  export default {
4
3
  ...hu,
5
4
  };
@@ -1,5 +1,4 @@
1
1
  import it from './it.js';
2
-
3
2
  export default {
4
3
  ...it,
5
4
  };
@@ -1,5 +1,4 @@
1
1
  import nl from './nl.js';
2
-
3
2
  export default {
4
3
  ...nl,
5
4
  };
@@ -1,5 +1,4 @@
1
1
  import nl from './nl.js';
2
-
3
2
  export default {
4
3
  ...nl,
5
4
  };
@@ -1,5 +1,4 @@
1
1
  import pl from './pl.js';
2
-
3
2
  export default {
4
3
  ...pl,
5
4
  };
@@ -1,5 +1,4 @@
1
1
  import ro from './ro.js';
2
-
3
2
  export default {
4
3
  ...ro,
5
4
  };
@@ -1,5 +1,4 @@
1
1
  import ru from './ru.js';
2
-
3
2
  export default {
4
3
  ...ru,
5
4
  };