@lion/ui 0.23.0 → 0.24.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 (787) 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 +40 -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 +7 -6
  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 +4 -1
  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 +166 -151
  430. package/components/overlays/src/OverlayMixin.js +61 -63
  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 +375 -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/local-positioning.test.js +101 -103
  456. package/components/overlays/test/utils-tests/active-element.test.js +12 -27
  457. package/components/overlays/test/utils-tests/adopt-styles.test.js +25 -56
  458. package/components/overlays/test/utils-tests/deep-contains.test.js +73 -74
  459. package/components/overlays/test/utils-tests/get-focusable-elements.test.js +6 -23
  460. package/components/overlays/test/utils-tests/is-equal-config.test.js +32 -13
  461. package/components/overlays/test/utils-tests/visibility.test.js +44 -79
  462. package/components/overlays/test-helpers/createShadowHost.js +5 -3
  463. package/components/overlays/test-helpers/normalizeTransformStyle.js +2 -4
  464. package/components/overlays/test-suites/OverlayMixin.suite.js +152 -181
  465. package/components/overlays/test-suites/WithHoverInteraction.suite.js +96 -79
  466. package/components/overlays/translations/bg-BG.js +0 -1
  467. package/components/overlays/translations/cs-CZ.js +0 -1
  468. package/components/overlays/translations/de-DE.js +0 -1
  469. package/components/overlays/translations/en-AU.js +0 -1
  470. package/components/overlays/translations/en-GB.js +0 -1
  471. package/components/overlays/translations/en-US.js +0 -1
  472. package/components/overlays/translations/es-ES.js +0 -1
  473. package/components/overlays/translations/fr-BE.js +0 -1
  474. package/components/overlays/translations/fr-FR.js +0 -1
  475. package/components/overlays/translations/hu-HU.js +0 -1
  476. package/components/overlays/translations/it-IT.js +0 -1
  477. package/components/overlays/translations/nl-BE.js +0 -1
  478. package/components/overlays/translations/nl-NL.js +0 -1
  479. package/components/overlays/translations/pl-PL.js +0 -1
  480. package/components/overlays/translations/ro-RO.js +0 -1
  481. package/components/overlays/translations/ru-RU.js +0 -1
  482. package/components/overlays/translations/sk-SK.js +0 -1
  483. package/components/overlays/translations/tr-TR.js +0 -1
  484. package/components/overlays/translations/uk-UA.js +0 -1
  485. package/components/pagination/src/LionPagination.js +9 -12
  486. package/components/pagination/test/lion-pagination.test.js +18 -50
  487. package/components/progress-indicator/src/LionProgressIndicator.js +10 -12
  488. package/components/progress-indicator/test/lion-progress-indicator.test.js +1 -22
  489. package/components/radio-group/src/LionRadioGroup.js +1 -2
  490. package/components/radio-group/test/lion-radio-group-integrations.test.js +0 -1
  491. package/components/radio-group/test/lion-radio-group.test.js +27 -27
  492. package/components/radio-group/test/lion-radio-integrations.test.js +3 -2
  493. package/components/radio-group/test/lion-radio.test.js +30 -16
  494. package/components/select/src/LionSelect.js +12 -13
  495. package/components/select/test/lion-select.test.js +7 -12
  496. package/components/select-rich/src/LionSelectInvoker.js +18 -11
  497. package/components/select-rich/src/LionSelectRich.js +20 -43
  498. package/components/select-rich/test/demos.screenshots-test.js +40 -9
  499. package/components/select-rich/test/lion-select-invoker.test.js +26 -43
  500. package/components/select-rich/test/lion-select-listbox-suite-integration.test.js +3 -3
  501. package/components/select-rich/test/lion-select-rich-dialog-integration.test.js +4 -9
  502. package/components/select-rich/test/lion-select-rich-interaction.test.js +116 -116
  503. package/components/select-rich/test/lion-select-rich-upgrade.test.js +3 -7
  504. package/components/select-rich/test/lion-select-rich.test.js +153 -195
  505. package/components/select-rich/test-helpers/getSelectRichMembers.js +4 -1
  506. package/components/steps/src/LionStep.js +21 -12
  507. package/components/steps/src/LionSteps.js +25 -25
  508. package/components/steps/test/lion-step.test.js +18 -25
  509. package/components/steps/test/lion-steps.test.js +45 -78
  510. package/components/switch/src/LionSwitch.js +2 -7
  511. package/components/switch/src/LionSwitchButton.js +5 -6
  512. package/components/switch/test/lion-switch-button.test.js +16 -28
  513. package/components/switch/test/lion-switch.test.js +17 -31
  514. package/components/tabs/src/LionTabs.js +25 -28
  515. package/components/tabs/test/lion-tabs.test.js +156 -154
  516. package/components/textarea/src/LionTextarea.js +4 -23
  517. package/components/textarea/test/lion-textarea-integrations.test.js +0 -5
  518. package/components/textarea/test/lion-textarea.test.js +2 -28
  519. package/components/tooltip/src/LionTooltip.js +6 -6
  520. package/components/tooltip/test/lion-tooltip.test.js +75 -102
  521. package/components/validate-messages/src/getLocalizedMessage.js +8 -7
  522. package/components/validate-messages/src/loadDefaultFeedbackMessages.js +3 -1
  523. package/components/validate-messages/src/loadDefaultFeedbackMessagesNoSideEffects.js +9 -5
  524. package/components/validate-messages/src/per-entrypoint/loadComboboxMessagesNoSideEffects.js +5 -2
  525. package/components/validate-messages/src/per-entrypoint/loadFormCoreMessagesNoSideEffects.js +99 -35
  526. package/components/validate-messages/src/per-entrypoint/loadInputTelMessagesNoSideEffects.js +4 -3
  527. package/components/validate-messages/test/loadDefaultFeedbackMessages.test.js +5 -3
  528. package/components/validate-messages/test/loadDefaultFeedbackMessagesNoSideEffects.test.js +80 -45
  529. package/components/validate-messages/translations/bg-BG.js +0 -1
  530. package/components/validate-messages/translations/cs-CZ.js +0 -1
  531. package/components/validate-messages/translations/de-DE.js +0 -1
  532. package/components/validate-messages/translations/en-AU.js +0 -1
  533. package/components/validate-messages/translations/en-GB.js +0 -1
  534. package/components/validate-messages/translations/en-PH.js +0 -1
  535. package/components/validate-messages/translations/en-US.js +0 -1
  536. package/components/validate-messages/translations/es-ES.js +0 -1
  537. package/components/validate-messages/translations/fr-BE.js +0 -1
  538. package/components/validate-messages/translations/fr-FR.js +0 -1
  539. package/components/validate-messages/translations/hu-HU.js +0 -1
  540. package/components/validate-messages/translations/it-IT.js +0 -1
  541. package/components/validate-messages/translations/nl-BE.js +0 -1
  542. package/components/validate-messages/translations/nl-NL.js +0 -1
  543. package/components/validate-messages/translations/pl-PL.js +0 -1
  544. package/components/validate-messages/translations/ro-RO.js +0 -1
  545. package/components/validate-messages/translations/ru-RU.js +0 -1
  546. package/components/validate-messages/translations/sk-SK.js +0 -1
  547. package/components/validate-messages/translations/tr-TR.js +0 -1
  548. package/components/validate-messages/translations/uk-UA.js +0 -1
  549. package/custom-elements.json +191 -56
  550. package/dist-types/components/core/src/SlotMixin.d.ts +6 -1
  551. package/dist-types/components/core/src/SlotMixin.d.ts.map +1 -1
  552. package/dist-types/components/core/types/SlotMixinTypes.d.ts +5 -1
  553. package/dist-types/components/core/types/SlotMixinTypes.d.ts.map +1 -1
  554. package/dist-types/components/form-core/src/LionField.d.ts +3 -1
  555. package/dist-types/components/form-core/src/LionField.d.ts.map +1 -1
  556. package/dist-types/components/input-tel/src/LionInputTel.d.ts +6 -6
  557. package/dist-types/components/input-tel/src/LionInputTel.d.ts.map +1 -1
  558. package/dist-types/components/input-tel/src/PhoneUtilManager.d.ts +2 -2
  559. package/dist-types/components/input-tel/src/PhoneUtilManager.d.ts.map +1 -1
  560. package/dist-types/components/input-tel/src/formatters.d.ts +2 -2
  561. package/dist-types/components/input-tel/src/formatters.d.ts.map +1 -1
  562. package/dist-types/components/input-tel/src/preprocessors.d.ts +2 -2
  563. package/dist-types/components/input-tel/src/preprocessors.d.ts.map +1 -1
  564. package/dist-types/components/input-tel/test/validators.test.d.ts +1 -1
  565. package/dist-types/components/input-tel/test/validators.test.d.ts.map +1 -1
  566. package/dist-types/components/listbox/src/LionOption.d.ts +5 -2
  567. package/dist-types/components/listbox/src/LionOption.d.ts.map +1 -1
  568. package/dist-types/components/overlays/src/OverlaysManager.d.ts.map +1 -1
  569. package/dist-types/components/overlays/src/overlayDocumentStyle.d.ts.map +1 -1
  570. package/dist-types/components/select-rich/src/LionSelectInvoker.d.ts +3 -1
  571. package/dist-types/components/select-rich/src/LionSelectInvoker.d.ts.map +1 -1
  572. package/dist-types/components/select-rich/src/LionSelectRich.d.ts +1 -1
  573. package/dist-types/tsconfig.tsbuildinfo +1 -1
  574. package/docs/components/accordion/overview.md +2 -2
  575. package/docs/components/accordion/reference.md +2 -2
  576. package/docs/components/accordion/use-cases.md +2 -2
  577. package/docs/components/button/examples.md +2 -2
  578. package/docs/components/button/extensions.md +2 -2
  579. package/docs/components/button/overview.md +2 -2
  580. package/docs/components/button/use-cases.md +2 -2
  581. package/docs/components/calendar/overview.md +2 -2
  582. package/docs/components/calendar/use-cases.md +2 -2
  583. package/docs/components/checkbox-group/overview.md +4 -4
  584. package/docs/components/checkbox-group/use-cases.md +2 -2
  585. package/docs/components/collapsible/examples.md +2 -2
  586. package/docs/components/collapsible/overview.md +3 -3
  587. package/docs/components/collapsible/use-cases.md +2 -2
  588. package/docs/components/combobox/extensions.md +2 -2
  589. package/docs/components/combobox/overview.md +3 -3
  590. package/docs/components/combobox/use-cases.md +3 -3
  591. package/docs/components/dialog/overview.md +3 -3
  592. package/docs/components/dialog/use-cases.md +2 -2
  593. package/docs/components/drawer/overview.md +2 -2
  594. package/docs/components/drawer/use-cases.md +2 -2
  595. package/docs/components/fieldset/overview.md +7 -7
  596. package/docs/components/fieldset/use-cases.md +2 -2
  597. package/docs/components/form/overview.md +5 -5
  598. package/docs/components/form/use-cases.md +4 -4
  599. package/docs/components/icon/overview.md +2 -2
  600. package/docs/components/icon/use-cases.md +3 -3
  601. package/docs/components/input/overview.md +3 -3
  602. package/docs/components/input/use-cases.md +2 -2
  603. package/docs/components/input-amount/overview.md +5 -5
  604. package/docs/components/input-amount/use-cases.md +2 -2
  605. package/docs/components/input-amount-dropdown/use-cases.md +2 -2
  606. package/docs/components/input-date/overview.md +5 -5
  607. package/docs/components/input-date/use-cases.md +2 -2
  608. package/docs/components/input-datepicker/overview.md +7 -7
  609. package/docs/components/input-datepicker/use-cases.md +2 -2
  610. package/docs/components/input-email/overview.md +4 -4
  611. package/docs/components/input-email/use-cases.md +2 -2
  612. package/docs/components/input-file/overview.md +3 -3
  613. package/docs/components/input-file/use-cases.md +2 -2
  614. package/docs/components/input-iban/overview.md +4 -4
  615. package/docs/components/input-iban/use-cases.md +2 -2
  616. package/docs/components/input-range/overview.md +4 -4
  617. package/docs/components/input-range/use-cases.md +2 -2
  618. package/docs/components/input-stepper/overview.md +3 -3
  619. package/docs/components/input-stepper/use-cases.md +2 -2
  620. package/docs/components/input-tel/overview.md +3 -3
  621. package/docs/components/input-tel/use-cases.md +8 -8
  622. package/docs/components/input-tel-dropdown/extensions.md +2 -2
  623. package/docs/components/input-tel-dropdown/overview.md +3 -3
  624. package/docs/components/input-tel-dropdown/use-cases.md +2 -2
  625. package/docs/components/listbox/overview.md +2 -2
  626. package/docs/components/listbox/use-cases.md +3 -3
  627. package/docs/components/menu/extensions.md +2 -2
  628. package/docs/components/menu/migration.md +2 -2
  629. package/docs/components/menu/overview.md +2 -2
  630. package/docs/components/menu/use-cases.md +1 -1
  631. package/docs/components/pagination/overview.md +2 -2
  632. package/docs/components/pagination/use-cases.md +2 -2
  633. package/docs/components/progress-indicator/examples.md +2 -2
  634. package/docs/components/progress-indicator/overview.md +2 -2
  635. package/docs/components/radio-group/overview.md +5 -5
  636. package/docs/components/radio-group/use-cases.md +2 -2
  637. package/docs/components/select/overview.md +2 -2
  638. package/docs/components/select/use-cases.md +3 -3
  639. package/docs/components/select-rich/examples.md +2 -2
  640. package/docs/components/select-rich/overview.md +2 -2
  641. package/docs/components/select-rich/use-cases.md +4 -4
  642. package/docs/components/steps/overview.md +2 -2
  643. package/docs/components/steps/use-cases.md +2 -2
  644. package/docs/components/switch/overview.md +2 -2
  645. package/docs/components/switch/reference.md +2 -2
  646. package/docs/components/switch/use-cases.md +2 -2
  647. package/docs/components/tabs/examples.md +3 -3
  648. package/docs/components/tabs/overview.md +2 -2
  649. package/docs/components/tabs/use-cases.md +2 -2
  650. package/docs/components/textarea/overview.md +2 -2
  651. package/docs/components/textarea/use-cases.md +2 -2
  652. package/docs/components/tooltip/examples.md +2 -2
  653. package/docs/components/tooltip/overview.md +2 -2
  654. package/docs/components/tooltip/use-cases.md +2 -2
  655. package/docs/fundamentals/index.md +4 -4
  656. package/docs/fundamentals/node-tools/babel-plugin-extend-docs/index.md +2 -2
  657. package/docs/fundamentals/node-tools/babel-plugin-extend-docs/overview.md +2 -2
  658. package/docs/fundamentals/node-tools/providence-analytics/index.md +2 -2
  659. package/docs/fundamentals/node-tools/providence-analytics/overview.md +2 -2
  660. package/docs/fundamentals/node-tools/publish-docs/index.md +2 -2
  661. package/docs/fundamentals/node-tools/publish-docs/overview.md +5 -5
  662. package/docs/fundamentals/node-tools/remark-extend/index.md +2 -2
  663. package/docs/fundamentals/node-tools/remark-extend/overview.md +2 -2
  664. package/docs/fundamentals/node-tools/rocket-preset-extend-lion-docs/index.md +2 -2
  665. package/docs/fundamentals/node-tools/rocket-preset-extend-lion-docs/overview.md +4 -4
  666. package/docs/fundamentals/rationales/TypeScript.md +62 -2
  667. package/docs/fundamentals/rationales/accessibility.md +5 -5
  668. package/docs/fundamentals/rationales/side-effects.md +2 -2
  669. package/docs/fundamentals/rationales/versioning.md +2 -2
  670. package/docs/fundamentals/systems/core/SlotMixin.md +3 -3
  671. package/docs/fundamentals/systems/core/index.md +2 -2
  672. package/docs/fundamentals/systems/core/overview.md +3 -3
  673. package/docs/fundamentals/systems/form/formatting-and-parsing.md +6 -6
  674. package/docs/fundamentals/systems/form/index.md +2 -2
  675. package/docs/fundamentals/systems/form/interaction-states.md +2 -2
  676. package/docs/fundamentals/systems/form/model-value.md +3 -3
  677. package/docs/fundamentals/systems/form/overview.md +30 -30
  678. package/docs/fundamentals/systems/form/styling.md +2 -2
  679. package/docs/fundamentals/systems/form/use-cases.md +2 -2
  680. package/docs/fundamentals/systems/form/validate.md +4 -4
  681. package/docs/fundamentals/systems/icon/index.md +2 -2
  682. package/docs/fundamentals/systems/icon/overview.md +2 -2
  683. package/docs/fundamentals/systems/localize/dates.md +2 -2
  684. package/docs/fundamentals/systems/localize/index.md +2 -2
  685. package/docs/fundamentals/systems/localize/numbers.md +2 -2
  686. package/docs/fundamentals/systems/localize/overview.md +6 -6
  687. package/docs/fundamentals/systems/localize/rationale.md +2 -2
  688. package/docs/fundamentals/systems/localize/text.md +2 -2
  689. package/docs/fundamentals/systems/localize/use-cases.md +2 -2
  690. package/docs/fundamentals/systems/overlays/_edge-cases.md +2 -2
  691. package/docs/fundamentals/systems/overlays/configuration.md +4 -4
  692. package/docs/fundamentals/systems/overlays/index.md +2 -2
  693. package/docs/fundamentals/systems/overlays/overview.md +7 -7
  694. package/docs/fundamentals/systems/overlays/rationale.md +2 -2
  695. package/docs/fundamentals/systems/overlays/use-cases.md +4 -4
  696. package/docs/fundamentals/tools/ajax/index.md +2 -2
  697. package/docs/fundamentals/tools/ajax/overview.md +2 -2
  698. package/docs/fundamentals/tools/ajax/use-cases.md +2 -2
  699. package/docs/fundamentals/tools/helpers/action-logger.md +2 -2
  700. package/docs/fundamentals/tools/helpers/index.md +2 -2
  701. package/docs/fundamentals/tools/helpers/overview.md +3 -3
  702. package/docs/fundamentals/tools/singleton-manager/example-complex/index.md +2 -2
  703. package/docs/fundamentals/tools/singleton-manager/example-fail/index.md +2 -2
  704. package/docs/fundamentals/tools/singleton-manager/example-success/index.md +2 -2
  705. package/docs/fundamentals/tools/singleton-manager/index.md +2 -2
  706. package/docs/fundamentals/tools/singleton-manager/overview.md +6 -6
  707. package/docs/guides/how-to/create-a-custom-field.md +7 -7
  708. package/docs/guides/how-to/create-a-form.md +6 -6
  709. package/docs/guides/how-to/extend-a-native-input.md +4 -4
  710. package/docs/guides/how-to/get-started.md +2 -2
  711. package/docs/guides/how-to/index.md +1 -1
  712. package/docs/guides/index.md +8 -8
  713. package/docs/guides/principles/definitions-and-terms.md +2 -2
  714. package/docs/guides/principles/index.md +5 -5
  715. package/docs/guides/principles/scoped-elements.md +2 -2
  716. package/docs/guides/principles/styling.md +3 -3
  717. package/docs/guides/principles/subclasser-apis.md +2 -2
  718. package/exports/define/lion-accordion.js +0 -1
  719. package/exports/define/lion-button-reset.js +0 -1
  720. package/exports/define/lion-button-submit.js +0 -1
  721. package/exports/define/lion-button.js +0 -1
  722. package/exports/define/lion-calendar.js +0 -1
  723. package/exports/define/lion-checkbox-group.js +0 -1
  724. package/exports/define/lion-checkbox-indeterminate.js +0 -1
  725. package/exports/define/lion-checkbox.js +0 -1
  726. package/exports/define/lion-collapsible.js +0 -1
  727. package/exports/define/lion-combobox.js +0 -1
  728. package/exports/define/lion-dialog.js +0 -1
  729. package/exports/define/lion-drawer.js +0 -1
  730. package/exports/define/lion-field.js +0 -1
  731. package/exports/define/lion-fieldset.js +0 -1
  732. package/exports/define/lion-form.js +0 -1
  733. package/exports/define/lion-icon.js +0 -1
  734. package/exports/define/lion-input-amount-dropdown.js +0 -1
  735. package/exports/define/lion-input-amount.js +0 -1
  736. package/exports/define/lion-input-date.js +0 -1
  737. package/exports/define/lion-input-datepicker.js +0 -1
  738. package/exports/define/lion-input-email.js +0 -1
  739. package/exports/define/lion-input-file.js +0 -1
  740. package/exports/define/lion-input-iban.js +0 -1
  741. package/exports/define/lion-input-range.js +0 -1
  742. package/exports/define/lion-input-stepper.js +0 -1
  743. package/exports/define/lion-input-tel-dropdown.js +0 -1
  744. package/exports/define/lion-input-tel.js +0 -1
  745. package/exports/define/lion-input.js +0 -1
  746. package/exports/define/lion-item.js +0 -1
  747. package/exports/define/lion-listbox.js +0 -1
  748. package/exports/define/lion-menu.js +0 -1
  749. package/exports/define/lion-menuitem.js +0 -1
  750. package/exports/define/lion-option.js +0 -1
  751. package/exports/define/lion-options.js +0 -1
  752. package/exports/define/lion-pagination.js +0 -1
  753. package/exports/define/lion-progress-indicator.js +0 -1
  754. package/exports/define/lion-radio-group.js +0 -1
  755. package/exports/define/lion-radio.js +0 -1
  756. package/exports/define/lion-select-invoker.js +0 -1
  757. package/exports/define/lion-select-rich.js +0 -1
  758. package/exports/define/lion-select.js +0 -1
  759. package/exports/define/lion-selected-file-list.js +0 -1
  760. package/exports/define/lion-step.js +0 -1
  761. package/exports/define/lion-steps.js +0 -1
  762. package/exports/define/lion-switch-button.js +0 -1
  763. package/exports/define/lion-switch.js +0 -1
  764. package/exports/define/lion-tabs.js +0 -1
  765. package/exports/define/lion-textarea.js +0 -1
  766. package/exports/define/lion-tooltip.js +0 -1
  767. package/exports/define/lion-validation-feedback.js +0 -1
  768. package/exports/define-helpers/sb-action-logger.js +0 -1
  769. package/exports/define-helpers/sb-locale-switcher.js +0 -1
  770. package/exports/form-core.js +0 -8
  771. package/exports/localize-no-side-effects.js +0 -1
  772. package/exports/localize.js +0 -2
  773. package/exports/overlays.js +0 -4
  774. package/generated/awesome-phonenumber/LICENSE +22 -0
  775. package/generated/awesome-phonenumber/LICENSE.closure-library +176 -0
  776. package/generated/awesome-phonenumber/LICENSE.libphonenumber +176 -0
  777. package/generated/awesome-phonenumber/checksums.json +6 -0
  778. package/generated/awesome-phonenumber/index-esm.mjs +817 -0
  779. package/generated/awesome-phonenumber/index.d.ts +227 -0
  780. package/generated/awesome-phonenumber/index.js +45 -0
  781. package/generated/awesome-phonenumber/lib/index.js +710 -0
  782. package/generated/awesome-phonenumber/package.json +9 -0
  783. package/generated/awesome-phonenumber/provenance.json +13 -0
  784. package/package.json +32 -10
  785. package/web-types.json +1 -1
  786. package/vendor/README.md +0 -61
  787. package/vendor/awesome-phonenumber-7.9.0-tlouisse.libphonenumber-9.0.41.tgz +0 -0
@@ -1,7 +1,6 @@
1
1
  import { css, html } from 'lit';
2
2
  import { ifDefined } from 'lit/directives/if-defined.js';
3
3
  import { createRef, ref } from 'lit/directives/ref.js';
4
-
5
4
  import { LionInputAmount } from '@lion/ui/input-amount.js';
6
5
  import { currencyUtil } from './currencyUtil.js';
7
6
  import { formatAmount } from './formatters.js';
@@ -19,11 +18,9 @@ const hasChangedAmountDropdownModelValue = (newValue, oldValue) => {
19
18
  if (newValue === oldValue) {
20
19
  return false;
21
20
  }
22
-
23
21
  if (!newValue || !oldValue || typeof newValue !== 'object' || typeof oldValue !== 'object') {
24
22
  return newValue !== oldValue;
25
23
  }
26
-
27
24
  return newValue.currency !== oldValue.currency || !Object.is(newValue.amount, oldValue.amount);
28
25
  };
29
26
 
@@ -80,9 +77,15 @@ export class LionInputAmountDropdown extends LionInputAmount {
80
77
  attribute: false,
81
78
  hasChanged: hasChangedAmountDropdownModelValue,
82
79
  },
83
- preferredCurrencies: { type: Array },
84
- allowedCurrencies: { type: Array },
85
- __dropdownSlot: { type: String },
80
+ preferredCurrencies: {
81
+ type: Array,
82
+ },
83
+ allowedCurrencies: {
84
+ type: Array,
85
+ },
86
+ __dropdownSlot: {
87
+ type: String,
88
+ },
86
89
  };
87
90
  }
88
91
 
@@ -103,27 +106,27 @@ export class LionInputAmountDropdown extends LionInputAmount {
103
106
  // @ts-expect-error - modelValue is overridden as an accessor but is defined as a property in parent class
104
107
  set modelValue(value) {
105
108
  if (value) {
106
- this.__modelValue = /** @type {import('../types/index.js').AmountDropdownModelValue} */ (
107
- value
108
- );
109
+ this.__modelValue = /** @type {import('../types/index.js').AmountDropdownModelValue} */ value;
109
110
  // Below is needed because A1 and A2 in _callParser (FormatMixin) return values that are the wrong type.
110
111
  } else {
111
- this.__modelValue = { currency: this.currency, amount: '' };
112
+ this.__modelValue = {
113
+ currency: this.currency,
114
+ amount: '',
115
+ };
112
116
  }
113
117
  }
114
-
115
118
  get modelValue() {
116
- return /** @type {import('../types/index.js').AmountDropdownModelValue} */ (this.__modelValue);
119
+ return /** @type {import('../types/index.js').AmountDropdownModelValue} */ this.__modelValue;
117
120
  }
118
-
119
121
  static localizeNamespaces = [
120
- { 'lion-input-amount-dropdown': localizeNamespaceLoader },
122
+ {
123
+ 'lion-input-amount-dropdown': localizeNamespaceLoader,
124
+ },
121
125
  ...super.localizeNamespaces,
122
126
  ];
123
-
124
127
  refs = {
125
128
  /** @type {DropdownRef} */
126
- dropdown: /** @type {DropdownRef} */ (createRef()),
129
+ dropdown: /** @type {DropdownRef} */ createRef(),
127
130
  };
128
131
 
129
132
  /**
@@ -171,7 +174,6 @@ export class LionInputAmountDropdown extends LionInputAmount {
171
174
  },
172
175
  input: this._inputNode,
173
176
  };
174
-
175
177
  return {
176
178
  refs,
177
179
  data: {
@@ -189,15 +191,12 @@ export class LionInputAmountDropdown extends LionInputAmount {
189
191
  get _dropdownSlot() {
190
192
  return /** @type {string} */ this.__dropdownSlot;
191
193
  }
192
-
193
194
  set _dropdownSlot(position) {
194
195
  if (position !== 'suffix' && position !== 'prefix') {
195
196
  throw new Error('Only the suffix and prefix slots are valid positions for the dropdown.');
196
197
  }
197
-
198
198
  this.__dropdownSlot = position;
199
199
  }
200
-
201
200
  static templates = {
202
201
  dropdown: (/** @type {TemplateDataForDropdownInputAmount} */ templateDataForDropdown) => {
203
202
  const { refs, data } = templateDataForDropdown;
@@ -286,9 +285,8 @@ export class LionInputAmountDropdown extends LionInputAmount {
286
285
  return {
287
286
  ...super.slots,
288
287
  [this._dropdownSlot]: () => {
289
- const ctor = /** @type {typeof LionInputAmountDropdown} */ (this.constructor);
288
+ const ctor = /** @type {typeof LionInputAmountDropdown} */ this.constructor;
290
289
  const { templates } = ctor;
291
-
292
290
  return {
293
291
  template: templates.dropdown(this._templateDataDropdown),
294
292
  renderAsDirectHostChild: true,
@@ -302,20 +300,17 @@ export class LionInputAmountDropdown extends LionInputAmount {
302
300
  */
303
301
  onLocaleUpdated() {
304
302
  super.onLocaleUpdated();
305
-
306
303
  const localeSplitted = this._localizeManager.locale.split('-');
307
304
  /**
308
305
  * @protected
309
306
  * @type {RegionCode}
310
307
  */
311
- this._langIso = /** @type {RegionCode} */ (
312
- localeSplitted[localeSplitted.length - 1].toUpperCase()
313
- );
314
-
308
+ this._langIso =
309
+ /** @type {RegionCode} */
310
+ localeSplitted[localeSplitted.length - 1].toUpperCase();
315
311
  this.__namesForLocale = new Intl.DisplayNames([this._langIso], {
316
312
  type: 'currency',
317
313
  });
318
-
319
314
  this.__calculateActiveCurrency();
320
315
  this.__createCurrencyMeta();
321
316
  }
@@ -358,11 +353,13 @@ export class LionInputAmountDropdown extends LionInputAmount {
358
353
  */
359
354
  constructor() {
360
355
  super();
361
-
362
356
  this.parser = parseAmount;
363
357
 
364
358
  /** @type {import('../types/index.js').AmountDropdownModelValue} */
365
- this.__modelValue = { currency: this.currency, amount: '' };
359
+ this.__modelValue = {
360
+ currency: this.currency,
361
+ amount: '',
362
+ };
366
363
 
367
364
  /**
368
365
  * @param {import("../types/index.js").AmountDropdownModelValue} modelValue
@@ -371,7 +368,6 @@ export class LionInputAmountDropdown extends LionInputAmount {
371
368
  this.formatter = (modelValue, givenOptions) => formatAmount(modelValue, givenOptions, this);
372
369
  this.serializer = serializer;
373
370
  this.deserializer = deserializer;
374
-
375
371
  this.defaultValidators = [new CurrencyAndAmount()];
376
372
 
377
373
  /**
@@ -391,12 +387,9 @@ export class LionInputAmountDropdown extends LionInputAmount {
391
387
  * @type {CurrencyCode[]}
392
388
  */
393
389
  this.allowedCurrencies = [];
394
-
395
390
  this._allCurrenciesLabel = '';
396
391
  this._preferredCurrenciesLabel = '';
397
-
398
392
  this.__regionMetaList = [];
399
-
400
393
  this.__regionMetaListPreferred = [];
401
394
 
402
395
  /**
@@ -409,7 +402,6 @@ export class LionInputAmountDropdown extends LionInputAmount {
409
402
  * @type {EventListener}
410
403
  */
411
404
  this.__syncCurrencyWithDropdown = this.__syncCurrencyWithDropdown.bind(this);
412
-
413
405
  this._currencyUtil = currencyUtil;
414
406
  }
415
407
 
@@ -419,7 +411,6 @@ export class LionInputAmountDropdown extends LionInputAmount {
419
411
  */
420
412
  willUpdate(changedProperties) {
421
413
  super.willUpdate(changedProperties);
422
-
423
414
  if (changedProperties.has('allowedCurrencies')) {
424
415
  this.__createCurrencyMeta();
425
416
  }
@@ -430,9 +421,7 @@ export class LionInputAmountDropdown extends LionInputAmount {
430
421
  */
431
422
  updated(changedProperties) {
432
423
  super.updated(changedProperties);
433
-
434
424
  this.__syncCurrencyWithDropdown();
435
-
436
425
  if (changedProperties.has('disabled') || changedProperties.has('readOnly')) {
437
426
  if (this.disabled || this.readOnly) {
438
427
  this.refs.dropdown?.value?.setAttribute('disabled', '');
@@ -440,7 +429,6 @@ export class LionInputAmountDropdown extends LionInputAmount {
440
429
  this.refs.dropdown?.value?.removeAttribute('disabled');
441
430
  }
442
431
  }
443
-
444
432
  if (changedProperties.has('allowedCurrencies') && this.allowedCurrencies.length > 0) {
445
433
  this.__calculateActiveCurrency();
446
434
  }
@@ -462,7 +450,10 @@ export class LionInputAmountDropdown extends LionInputAmount {
462
450
  const { currency, amount } = this._initialModelValue || {};
463
451
  if (!currency && !this.dirty) {
464
452
  this.__initializedCurrencyCode = this.currency;
465
- this._initialModelValue = { currency: this.currency, amount };
453
+ this._initialModelValue = {
454
+ currency: this.currency,
455
+ amount,
456
+ };
466
457
  this.modelValue = this._initialModelValue;
467
458
  this.initInteractionState();
468
459
  }
@@ -489,9 +480,9 @@ export class LionInputAmountDropdown extends LionInputAmount {
489
480
  _onDropdownValueChange(event) {
490
481
  const isInitializing = event.detail?.initialize;
491
482
  const dropdownElement = event.target;
492
- const dropdownValue = /** @type {RegionCode} */ (
493
- dropdownElement.modelValue || dropdownElement.value
494
- );
483
+ const dropdownValue =
484
+ /** @type {RegionCode} */
485
+ dropdownElement.modelValue || dropdownElement.value;
495
486
  // @ts-ignore [ts7-2565] TS7 checks definite assignment on this inferred field; declared `string` but legitimately reset to undefined: widen the type in the types file (API change) or guard the read with a local
496
487
  if (isInitializing || this.currency === dropdownValue) {
497
488
  return;
@@ -502,13 +493,15 @@ export class LionInputAmountDropdown extends LionInputAmount {
502
493
 
503
494
  /** @type {RegionCode | string} */
504
495
  this.currency = dropdownValue;
505
-
506
496
  if (prevCurrency !== this.currency && !this.focused) {
507
497
  if (!this.value) {
508
- this.modelValue = { currency: this.currency, amount: this.value };
498
+ this.modelValue = {
499
+ currency: this.currency,
500
+ amount: this.value,
501
+ };
509
502
  } else {
510
503
  /** @type {AmountFormatOptions} */
511
- (this.formatOptions).currency = this.currency;
504
+ this.formatOptions.currency = this.currency;
512
505
  this.modelValue = this._callParser(this.value);
513
506
  }
514
507
  }
@@ -522,19 +515,20 @@ export class LionInputAmountDropdown extends LionInputAmount {
522
515
  if (!dropdownElement || !currencyCode) {
523
516
  return;
524
517
  }
525
-
526
518
  if ('modelValue' in dropdownElement) {
527
519
  const dropdownCurrencyCode = dropdownElement.modelValue;
528
520
  if (dropdownCurrencyCode === currencyCode) {
529
521
  return;
530
522
  }
531
- /** @type {* & FormatHost} */ (dropdownElement).modelValue = currencyCode;
523
+ /** @type {* & FormatHost} */
524
+ dropdownElement.modelValue = currencyCode;
532
525
  } else {
533
526
  const dropdownCurrencyCode = dropdownElement.value;
534
527
  if (dropdownCurrencyCode === currencyCode) {
535
528
  return;
536
529
  }
537
- /** @type {HTMLSelectElement} */ (dropdownElement).value = currencyCode;
530
+ /** @type {HTMLSelectElement} */
531
+ dropdownElement.value = currencyCode;
538
532
  }
539
533
  }
540
534
 
@@ -550,15 +544,12 @@ export class LionInputAmountDropdown extends LionInputAmount {
550
544
  if (!this._allowedOrAllCurrencies?.length || !this.__namesForLocale) {
551
545
  return;
552
546
  }
553
-
554
547
  this.__regionMetaList = [];
555
548
  this.__regionMetaListPreferred = [];
556
-
557
- this._allowedOrAllCurrencies.forEach(currencyCode => {
549
+ this._allowedOrAllCurrencies.forEach((currencyCode) => {
558
550
  const destinationList = this.preferredCurrencies.includes(currencyCode)
559
551
  ? this.__regionMetaListPreferred
560
552
  : this.__regionMetaList;
561
-
562
553
  destinationList.push({
563
554
  currencyCode,
564
555
  nameForLocale: this.__namesForLocale?.of(currencyCode),
@@ -580,7 +571,6 @@ export class LionInputAmountDropdown extends LionInputAmount {
580
571
  _repropagationCondition() {
581
572
  return false;
582
573
  }
583
-
584
574
  __calculateActiveCurrency() {
585
575
  // 1. Get the currency from pre-configured allowed currencies (if one entry)
586
576
  if (this.allowedCurrencies?.length === 1) {
@@ -591,7 +581,7 @@ export class LionInputAmountDropdown extends LionInputAmount {
591
581
  // 2. Try to get the currency from user input
592
582
  if (
593
583
  this.modelValue?.currency &&
594
- this.allowedCurrencies?.includes(/** @type {CurrencyCode} */ (this.modelValue?.currency))
584
+ this.allowedCurrencies?.includes(/** @type {CurrencyCode} */ this.modelValue?.currency)
595
585
  ) {
596
586
  this.currency = this.modelValue.currency;
597
587
  return;
@@ -612,14 +602,14 @@ export class LionInputAmountDropdown extends LionInputAmount {
612
602
  this._currencyUtil?.countryToCurrencyMap.get(this._langIso),
613
603
  )
614
604
  ) {
615
- this.currency = /** @type {any} */ (
616
- this._currencyUtil?.countryToCurrencyMap.get(this._langIso)
617
- );
605
+ this.currency =
606
+ /** @type {any} */
607
+ this._currencyUtil?.countryToCurrencyMap.get(this._langIso);
618
608
  return;
619
609
  }
620
610
 
621
611
  // 5. Not derivable
622
- this.currency = /** @type {any} */ (undefined);
612
+ this.currency = /** @type {any} */ undefined;
623
613
  }
624
614
 
625
615
  /**
@@ -289,9 +289,9 @@ const countryToCurrencyList = {
289
289
  * Map containing all countries and its corresponding currency, following the i18n standard.
290
290
  * @type {import("../types/index.js").RegionToCurrencyMap}
291
291
  */
292
- const countryToCurrencyMap = /** @type {import("../types/index.js").RegionToCurrencyMap} */ (
293
- new Map(Object.entries(countryToCurrencyList))
294
- );
292
+ const countryToCurrencyMap =
293
+ /** @type {import("../types/index.js").RegionToCurrencyMap} */
294
+ new Map(Object.entries(countryToCurrencyList));
295
295
 
296
296
  /**
297
297
  * Set with all possible currencies derived from the i18n standard.
@@ -309,14 +309,15 @@ const getCurrencySymbol = (currency, locale) => {
309
309
  if (!locale || !currency) {
310
310
  return '';
311
311
  }
312
-
313
312
  return (
314
- new Intl.NumberFormat(locale, { style: 'currency', currency })
313
+ new Intl.NumberFormat(locale, {
314
+ style: 'currency',
315
+ currency,
316
+ })
315
317
  .formatToParts(1)
316
- .find(x => x.type === 'currency')?.value || ''
318
+ .find((x) => x.type === 'currency')?.value || ''
317
319
  );
318
320
  };
319
-
320
321
  export const currencyUtil = {
321
322
  countryToCurrencyMap,
322
323
  allCurrencies,
@@ -15,7 +15,6 @@ import { parseAmount as _parseAmount } from '@lion/ui/input-amount.js';
15
15
  */
16
16
  export const parseAmount = (value, givenOptions) => {
17
17
  const parsedAmount = _parseAmount(value, givenOptions);
18
-
19
18
  return {
20
19
  amount: parsedAmount,
21
20
  currency: givenOptions?.currency,
@@ -16,7 +16,6 @@ export class CurrencyAndAmount extends Validator {
16
16
  // @ts-expect-error - cannot cast string to CurrencyCode outside a TS file
17
17
  const validCurrencyCode = currencyUtil.allCurrencies.has(modelValue?.currency);
18
18
  const isNumber = new IsNumber().execute(modelValue.amount);
19
-
20
19
  return validCurrencyCode && isNumber;
21
20
  }
22
21
  }
@@ -8,7 +8,6 @@ import { repeat } from 'lit/directives/repeat.js';
8
8
  import { LionOption } from '@lion/ui/listbox.js';
9
9
  import { ref } from 'lit/directives/ref.js';
10
10
  import { html } from 'lit';
11
-
12
11
  import { ifDefined } from 'lit/directives/if-defined.js';
13
12
  import { isActiveElement } from '../../core/test-helpers/isActiveElement.js';
14
13
  import { ScopedElementsMixin } from '../../core/src/ScopedElementsMixin.js';
@@ -31,13 +30,12 @@ class WithFormControlInputAmountDropdown extends ScopedElementsMixin(LionInputAm
31
30
  'lion-select-rich': LionSelectRich,
32
31
  'lion-option': LionOption,
33
32
  };
34
-
35
33
  static templates = {
36
34
  ...(super.templates || {}),
37
35
  /**
38
36
  * @param {TemplateDataForDropdownInputAmount} templateDataForDropdown
39
37
  */
40
- dropdown: templateDataForDropdown => {
38
+ dropdown: (templateDataForDropdown) => {
41
39
  const { refs, data } = templateDataForDropdown;
42
40
  // TODO: once spread directive available, use it per ref (like ref(refs?.dropdown?.ref))
43
41
  return html`
@@ -50,8 +48,8 @@ class WithFormControlInputAmountDropdown extends ScopedElementsMixin(LionInputAm
50
48
  >
51
49
  ${repeat(
52
50
  data.regionMetaList,
53
- regionMeta => regionMeta.currencyCode,
54
- regionMeta => html`
51
+ (regionMeta) => regionMeta.currencyCode,
52
+ (regionMeta) => html`
55
53
  <lion-option .choiceValue="${regionMeta.currencyCode}"> </lion-option>
56
54
  `,
57
55
  )}
@@ -60,14 +58,13 @@ class WithFormControlInputAmountDropdown extends ScopedElementsMixin(LionInputAm
60
58
  },
61
59
  };
62
60
  }
63
-
64
61
  runInputAmountDropdownSuite();
65
-
66
62
  describe('WithFormControlInputAmountDropdown', () => {
67
63
  // @ts-expect-error
68
64
  // Runs it for LionSelectRich, which uses .modelValue/@model-value-changed instead of .value/@change
69
- runInputAmountDropdownSuite({ klass: WithFormControlInputAmountDropdown });
70
-
65
+ runInputAmountDropdownSuite({
66
+ klass: WithFormControlInputAmountDropdown,
67
+ });
71
68
  it('focuses the textbox right after selection if selected via opened dropdown if interaction-mode is mac', async () => {
72
69
  class InputAmountDropdownMac extends LionInputAmountDropdown {
73
70
  static templates = {
@@ -75,7 +72,7 @@ describe('WithFormControlInputAmountDropdown', () => {
75
72
  /**
76
73
  * @param {TemplateDataForDropdownInputAmount} templateDataForDropdown
77
74
  */
78
- dropdown: templateDataForDropdown => {
75
+ dropdown: (templateDataForDropdown) => {
79
76
  const { refs, data } = templateDataForDropdown;
80
77
  // TODO: once spread directive available, use it per ref (like ref(refs?.dropdown?.ref))
81
78
  return html`
@@ -89,8 +86,8 @@ describe('WithFormControlInputAmountDropdown', () => {
89
86
  >
90
87
  ${repeat(
91
88
  data.regionMetaList,
92
- regionMeta => regionMeta.currencyCode,
93
- regionMeta => html`
89
+ (regionMeta) => regionMeta.currencyCode,
90
+ (regionMeta) => html`
94
91
  <lion-option .choiceValue="${regionMeta.currencyCode}"> </lion-option>
95
92
  `,
96
93
  )}
@@ -100,14 +97,14 @@ describe('WithFormControlInputAmountDropdown', () => {
100
97
  };
101
98
  }
102
99
  customElements.define('input-amount-dropdown-mac', InputAmountDropdownMac);
103
- const el = /** @type {LionInputAmountDropdown} */ (
100
+ const el =
101
+ /** @type {LionInputAmountDropdown} */
104
102
  await fixture(html`
105
103
  <input-amount-dropdown-mac
106
104
  .allowedCurrencies="${['GBP', 'EUR']}"
107
105
  .modelValue="{ currency: 'GBP', amount: '123' }"
108
106
  ></input-amount-dropdown-mac>
109
- `)
110
- );
107
+ `);
111
108
  const dropdownElement = el.refs.dropdown.value;
112
109
  // @ts-expect-error [allow-protected-in-tests]
113
110
  if (dropdownElement?._overlayCtrl) {
@@ -120,7 +117,6 @@ describe('WithFormControlInputAmountDropdown', () => {
120
117
  expect(isActiveElement(el._inputNode)).to.be.true;
121
118
  }
122
119
  });
123
-
124
120
  it('does not focus the textbox right after selection if selected via opened dropdown if interaction-mode is windows/linux', async () => {
125
121
  class InputAmountDropdownWindows extends LionInputAmountDropdown {
126
122
  static templates = {
@@ -128,7 +124,7 @@ describe('WithFormControlInputAmountDropdown', () => {
128
124
  /**
129
125
  * @param {TemplateDataForDropdownInputAmount} templateDataForDropdown
130
126
  */
131
- dropdown: templateDataForDropdown => {
127
+ dropdown: (templateDataForDropdown) => {
132
128
  const { refs, data } = templateDataForDropdown;
133
129
  // TODO: once spread directive available, use it per ref (like ref(refs?.dropdown?.ref))
134
130
  return html`
@@ -142,8 +138,8 @@ describe('WithFormControlInputAmountDropdown', () => {
142
138
  >
143
139
  ${repeat(
144
140
  data.regionMetaList,
145
- regionMeta => regionMeta.currencyCode,
146
- regionMeta => html`
141
+ (regionMeta) => regionMeta.currencyCode,
142
+ (regionMeta) => html`
147
143
  <lion-option .choiceValue="${regionMeta.currencyCode}"> </lion-option>
148
144
  `,
149
145
  )}
@@ -153,14 +149,14 @@ describe('WithFormControlInputAmountDropdown', () => {
153
149
  };
154
150
  }
155
151
  customElements.define('input-amount-dropdown-windows', InputAmountDropdownWindows);
156
- const el = /** @type {LionInputAmountDropdown} */ (
152
+ const el =
153
+ /** @type {LionInputAmountDropdown} */
157
154
  await fixture(html`
158
155
  <input-amount-dropdown-windows
159
156
  .allowedCurrencies="${['GBP', 'EUR']}"
160
157
  .modelValue="{ currency: 'GBP', amount: '123' }"
161
158
  ></input-amount-dropdown-windows>
162
- `)
163
- );
159
+ `);
164
160
  const dropdownElement = el.refs.dropdown.value;
165
161
  // @ts-expect-error [allow-protected-in-tests]
166
162
  if (dropdownElement?._overlayCtrl) {
@@ -173,42 +169,44 @@ describe('WithFormControlInputAmountDropdown', () => {
173
169
  expect(isActiveElement(el._inputNode)).to.be.false;
174
170
  }
175
171
  });
176
-
177
172
  describe('defaultValidators', () => {
178
173
  it('without interaction are not called', async () => {
179
- const el = /** @type {LionInputAmountDropdown} */ (
174
+ const el =
175
+ /** @type {LionInputAmountDropdown} */
180
176
  await fixture(html`
181
177
  <lion-input-amount-dropdown .allowedCurrencies="${['EUR']}"></lion-input-amount-dropdown>
182
- `)
183
- );
178
+ `);
184
179
  await aTimeout(0);
185
180
  expect(el.hasFeedbackFor).to.deep.equal([]);
186
181
  });
187
-
188
182
  it('with interaction are called', async () => {
189
- const el = /** @type {LionInputAmountDropdown} */ (
183
+ const el =
184
+ /** @type {LionInputAmountDropdown} */
190
185
  await fixture(html`
191
186
  <lion-input-amount-dropdown
192
187
  .allowedCurrencies="${['GBP', 'EUR']}"
193
188
  ></lion-input-amount-dropdown>
194
- `)
195
- );
196
- el.modelValue = { currency: 'EUR' };
189
+ `);
190
+ el.modelValue = {
191
+ currency: 'EUR',
192
+ };
197
193
  await aTimeout(0);
198
- el.modelValue = { currency: 'EUR', amount: '' };
194
+ el.modelValue = {
195
+ currency: 'EUR',
196
+ amount: '',
197
+ };
199
198
  expect(el.hasFeedbackFor).to.deep.equal([]);
200
199
  });
201
200
  });
202
-
203
201
  it('includes error in showsFeedbackFor when required, empty, and touched & dirty', async () => {
204
- const el = /** @type {LionInputAmountDropdown} */ (
202
+ const el =
203
+ /** @type {LionInputAmountDropdown} */
205
204
  await fixture(html`
206
205
  <lion-input-amount-dropdown
207
206
  .allowedCurrencies="${['GBP', 'EUR']}"
208
207
  .validators="${[new Required()]}"
209
208
  ></lion-input-amount-dropdown>
210
- `)
211
- );
209
+ `);
212
210
  await el.updateComplete;
213
211
  el.touched = true;
214
212
  el.dirty = true;
@@ -1,34 +1,39 @@
1
1
  import { runFormatMixinSuite } from '@lion/ui/form-core-test-suites.js';
2
-
3
2
  import '@lion/ui/define/lion-input-amount-dropdown.js';
4
-
5
3
  const tagString = 'lion-input-amount-dropdown';
6
-
7
4
  describe('<lion-input-amount-dropdown> integrations', () => {
8
5
  runFormatMixinSuite({
9
6
  tagString,
10
7
  modelValueType: Object,
11
- parser: value => value.replace('foo: ', ''),
8
+ parser: (value) => value.replace('foo: ', ''),
12
9
  valueToggler: ({ toggleValue, viewValue }) => {
13
10
  if (viewValue) {
14
11
  return !toggleValue ? '123' : '456';
15
12
  }
16
- return !toggleValue ? { amount: 123, currency: 'EUR' } : { amount: 456, currency: 'EUR' };
13
+ return !toggleValue
14
+ ? {
15
+ amount: 123,
16
+ currency: 'EUR',
17
+ }
18
+ : {
19
+ amount: 456,
20
+ currency: 'EUR',
21
+ };
17
22
  },
18
- getExpectedInitialModelValue: el => ({
19
- currency: /** @type {any} */ (el).currency,
23
+ getExpectedInitialModelValue: (el) => ({
24
+ currency: /** @type {any} */ el.currency,
20
25
  amount: '',
21
26
  }),
22
- getExpectedInitialFormattedValue: el => ({
23
- currency: /** @type {any} */ (el).currency,
27
+ getExpectedInitialFormattedValue: (el) => ({
28
+ currency: /** @type {any} */ el.currency,
24
29
  amount: '',
25
30
  }),
26
- getExpectedInitialSerializedValue: el => ({
27
- currency: /** @type {any} */ (el).currency,
31
+ getExpectedInitialSerializedValue: (el) => ({
32
+ currency: /** @type {any} */ el.currency,
28
33
  amount: '',
29
34
  }),
30
- getExpectedModelValueForEmptyInputNode: el => ({
31
- currency: /** @type {any} */ (el).currency,
35
+ getExpectedModelValueForEmptyInputNode: (el) => ({
36
+ currency: /** @type {any} */ el.currency,
32
37
  amount: '',
33
38
  }),
34
39
  valueChangeCounterOffset: 0,
@@ -11,7 +11,11 @@ export function mimicUserChangingDropdown(dropdownEl, value) {
11
11
  // eslint-disable-next-line no-param-reassign
12
12
  dropdownEl.modelValue = value;
13
13
  dropdownEl.dispatchEvent(
14
- new CustomEvent('model-value-changed', { detail: { isTriggeredByUser: true } }),
14
+ new CustomEvent('model-value-changed', {
15
+ detail: {
16
+ isTriggeredByUser: true,
17
+ },
18
+ }),
15
19
  );
16
20
  } else {
17
21
  // eslint-disable-next-line no-param-reassign