@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
@@ -23,7 +23,6 @@ export class LionCollapsible extends LitElement {
23
23
  `,
24
24
  ];
25
25
  }
26
-
27
26
  static get properties() {
28
27
  return {
29
28
  opened: {
@@ -32,35 +31,28 @@ export class LionCollapsible extends LitElement {
32
31
  },
33
32
  };
34
33
  }
35
-
36
34
  render() {
37
35
  return html`
38
36
  <slot name="invoker"></slot>
39
37
  <slot name="content"></slot>
40
38
  `;
41
39
  }
42
-
43
40
  constructor() {
44
41
  super();
45
42
  this.opened = false;
46
43
  this.toggle = this.toggle.bind(this);
47
44
  }
48
-
49
45
  connectedCallback() {
50
46
  super.connectedCallback();
51
-
52
47
  const uid = uuid();
53
-
54
48
  if (this._invokerNode) {
55
49
  this._invokerNode.addEventListener('click', this.toggle);
56
50
  this._invokerNode.setAttribute('aria-expanded', `${this.opened}`);
57
51
  this._invokerNode.setAttribute('aria-controls', `collapsible-content-${uid}`);
58
52
  }
59
-
60
53
  if (this._contentNode) {
61
54
  this._contentNode.setAttribute('id', `collapsible-content-${uid}`);
62
55
  }
63
-
64
56
  this.__setDefaultState();
65
57
  }
66
58
 
@@ -74,7 +66,6 @@ export class LionCollapsible extends LitElement {
74
66
  this.__openedChanged();
75
67
  }
76
68
  }
77
-
78
69
  disconnectedCallback() {
79
70
  super.disconnectedCallback();
80
71
  if (this._invokerNode) {
@@ -131,8 +122,8 @@ export class LionCollapsible extends LitElement {
131
122
  * @protected
132
123
  */
133
124
  get _invokerNode() {
134
- return /** @type {HTMLElement[]} */ (Array.from(this.children)).find(
135
- child => child.slot === 'invoker',
125
+ return /** @type {HTMLElement[]} */ Array.from(this.children).find(
126
+ (child) => child.slot === 'invoker',
136
127
  );
137
128
  }
138
129
 
@@ -140,8 +131,8 @@ export class LionCollapsible extends LitElement {
140
131
  * @protected
141
132
  */
142
133
  get _contentNode() {
143
- return /** @type {HTMLElement[]} */ (Array.from(this.children)).find(
144
- child => child.slot === 'content',
134
+ return /** @type {HTMLElement[]} */ Array.from(this.children).find(
135
+ (child) => child.slot === 'content',
145
136
  );
146
137
  }
147
138
 
@@ -173,9 +164,13 @@ export class LionCollapsible extends LitElement {
173
164
  if (this._contentNode) {
174
165
  if (this.opened) {
175
166
  this._contentNode.style.setProperty('display', '');
176
- await this._showAnimation({ contentNode: this._contentNode });
167
+ await this._showAnimation({
168
+ contentNode: this._contentNode,
169
+ });
177
170
  } else {
178
- await this._hideAnimation({ contentNode: this._contentNode });
171
+ await this._hideAnimation({
172
+ contentNode: this._contentNode,
173
+ });
179
174
  this._contentNode.style.setProperty('display', 'none');
180
175
  }
181
176
  }
@@ -1,6 +1,5 @@
1
1
  import { expect, fixture as _fixture } from '@open-wc/testing';
2
2
  import { html } from 'lit/static-html.js';
3
-
4
3
  import '@lion/ui/define/lion-collapsible.js';
5
4
 
6
5
  /**
@@ -8,8 +7,7 @@ import '@lion/ui/define/lion-collapsible.js';
8
7
  * @typedef {import('../src/LionCollapsible.js').LionCollapsible} LionCollapsible
9
8
  * @typedef {import('lit').TemplateResult} TemplateResult
10
9
  */
11
- const fixture = /** @type {(arg: TemplateResult) => Promise<LionCollapsible>} */ (_fixture);
12
-
10
+ const fixture = /** @type {(arg: TemplateResult) => Promise<LionCollapsible>} */ _fixture;
13
11
  const collapsibleTemplate = html`
14
12
  <button slot="invoker">More about cars</button>
15
13
  <div slot="content" style="font-size: 12px; line-height: 16px; font-family: Arial;">
@@ -19,15 +17,15 @@ const collapsibleTemplate = html`
19
17
  `;
20
18
  let isCollapsibleOpen = false;
21
19
  /** @param {boolean} state */
22
- const collapsibleToggle = state => {
20
+ const collapsibleToggle = (state) => {
23
21
  isCollapsibleOpen = state;
24
22
  };
25
23
  const defaultCollapsible = html` <lion-collapsible>${collapsibleTemplate}</lion-collapsible> `;
26
24
  const collapsibleWithEvents = html`
27
25
  <lion-collapsible
28
26
  @opened-changed=${
29
- /** @param {Event} e */ e =>
30
- collapsibleToggle(/** @type {LionCollapsible} */ (e.target)?.opened)
27
+ /** @param {Event} e */ (e) =>
28
+ collapsibleToggle(/** @type {LionCollapsible} */ e.target?.opened)
31
29
  }
32
30
  >
33
31
  ${collapsibleTemplate}
@@ -43,21 +41,18 @@ function getProtectedMembers(el) {
43
41
  contentHeight: el._contentHeight,
44
42
  };
45
43
  }
46
-
47
44
  describe('<lion-collapsible>', () => {
48
45
  describe('Collapsible', () => {
49
46
  it('sets opened to false by default', async () => {
50
47
  const collapsible = await fixture(defaultCollapsible);
51
48
  expect(collapsible.opened).to.equal(false);
52
49
  });
53
-
54
50
  it('has [opened] on current expanded invoker which serves as styling hook', async () => {
55
51
  const collapsible = await fixture(defaultCollapsible);
56
52
  collapsible.opened = true;
57
53
  await collapsible.updateComplete;
58
54
  expect(collapsible).to.have.attribute('opened');
59
55
  });
60
-
61
56
  it('should return content node height before and after collapsing', async () => {
62
57
  const collapsible = await fixture(defaultCollapsible);
63
58
  const collHeight1 = getProtectedMembers(collapsible);
@@ -68,7 +63,6 @@ describe('<lion-collapsible>', () => {
68
63
  expect(collHeight2.contentHeight).to.equal('32px');
69
64
  });
70
65
  });
71
-
72
66
  describe('User interaction', () => {
73
67
  it('opens a invoker on click', async () => {
74
68
  const collapsible = await fixture(defaultCollapsible);
@@ -76,13 +70,11 @@ describe('<lion-collapsible>', () => {
76
70
  invoker?.dispatchEvent(new Event('click'));
77
71
  expect(collapsible.opened).to.equal(true);
78
72
  });
79
-
80
73
  it('should toggle the content using `toggle()`', async () => {
81
74
  const collapsible = await fixture(defaultCollapsible);
82
75
  collapsible.toggle();
83
76
  expect(collapsible.opened).to.equal(true);
84
77
  });
85
-
86
78
  it('should expand and collapse the content using `show()` and `hide()`', async () => {
87
79
  const collapsible = await fixture(defaultCollapsible);
88
80
  collapsible.show();
@@ -90,7 +82,6 @@ describe('<lion-collapsible>', () => {
90
82
  collapsible.hide();
91
83
  expect(collapsible.opened).to.equal(false);
92
84
  });
93
-
94
85
  it('should listen to the open and close state change', async () => {
95
86
  const collapsible = await fixture(collapsibleWithEvents);
96
87
  collapsible.show();
@@ -101,19 +92,16 @@ describe('<lion-collapsible>', () => {
101
92
  expect(isCollapsibleOpen).to.equal(false);
102
93
  });
103
94
  });
104
-
105
95
  describe('Accessibility', () => {
106
96
  it('[collapsed] is a11y AXE accessible', async () => {
107
97
  const collapsible = await fixture(defaultCollapsible);
108
98
  await expect(collapsible).to.be.accessible();
109
99
  });
110
-
111
100
  it('[expanded] is a11y AXE accessible', async () => {
112
101
  const collapsible = await fixture(defaultCollapsible);
113
102
  collapsible.show();
114
103
  await expect(collapsible).to.be.accessible();
115
104
  });
116
-
117
105
  describe('Invoker', () => {
118
106
  it('links id of content items to invoker via [aria-controls]', async () => {
119
107
  const collapsibleElement = await fixture(defaultCollapsible);
@@ -121,13 +109,11 @@ describe('<lion-collapsible>', () => {
121
109
  const content = collapsibleElement.querySelector('[slot=content]');
122
110
  expect(invoker?.getAttribute('aria-controls')).to.equal(content?.id);
123
111
  });
124
-
125
112
  it('adds aria-expanded="false" to invoker when its content is not expanded', async () => {
126
113
  const collapsibleElement = await fixture(defaultCollapsible);
127
114
  const invoker = collapsibleElement.querySelector('[slot=invoker]');
128
115
  expect(invoker).to.have.attribute('aria-expanded', 'false');
129
116
  });
130
-
131
117
  it('adds aria-expanded="true" to invoker when its content is expanded', async () => {
132
118
  const collapsibleElement = await fixture(defaultCollapsible);
133
119
  const invoker = collapsibleElement.querySelector('[slot=invoker]');
@@ -7,7 +7,6 @@ import { css, html } from 'lit';
7
7
  import { CustomChoiceGroupMixin } from '../../form-core/src/choice-group/CustomChoiceGroupMixin.js';
8
8
  import { makeMatchingTextBold, unmakeMatchingTextBold } from './utils/makeMatchingTextBold.js';
9
9
  import { MatchesOption } from './validators.js';
10
-
11
10
  const matchA11ySpanReverseFns = new WeakMap();
12
11
 
13
12
  // TODO: make ListboxOverlayMixin that is shared between SelectRich and Combobox
@@ -42,7 +41,10 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
42
41
  /** @type {any} */
43
42
  static get properties() {
44
43
  return {
45
- autocomplete: { type: String, reflect: true },
44
+ autocomplete: {
45
+ type: String,
46
+ reflect: true,
47
+ },
46
48
  matchMode: {
47
49
  type: String,
48
50
  attribute: 'match-mode',
@@ -61,7 +63,6 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
61
63
  __shouldAutocompleteNextUpdate: Boolean,
62
64
  };
63
65
  }
64
-
65
66
  static get styles() {
66
67
  return [
67
68
  ...super.styles,
@@ -95,11 +96,10 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
95
96
  `,
96
97
  ];
97
98
  }
98
-
99
99
  static get localizeNamespaces() {
100
100
  return [
101
101
  {
102
- 'lion-combobox': /** @param {string} locale */ locale => {
102
+ 'lion-combobox': /** @param {string} locale */ (locale) => {
103
103
  switch (locale) {
104
104
  case 'bg-BG':
105
105
  case 'bg':
@@ -208,7 +208,6 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
208
208
  this.__value = value;
209
209
  }
210
210
  }
211
-
212
211
  reset() {
213
212
  super.reset();
214
213
  if (!this.multipleChoice) {
@@ -308,7 +307,6 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
308
307
  border-radius: inherit;
309
308
  box-sizing: border-box;
310
309
  padding: 0;`;
311
-
312
310
  combobox.appendChild(textbox);
313
311
  return combobox;
314
312
  }
@@ -334,7 +332,7 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
334
332
  * @protected
335
333
  */
336
334
  get _comboboxNode() {
337
- return /** @type {HTMLElement} */ (this.querySelector('[slot="input"]'));
335
+ return /** @type {HTMLElement} */ this.querySelector('[slot="input"]');
338
336
  }
339
337
 
340
338
  /**
@@ -353,11 +351,12 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
353
351
  */
354
352
  get _inputNode() {
355
353
  if (this._ariaVersion === '1.1' && this._comboboxNode) {
356
- return /** @type {HTMLInputElement} */ (
357
- this._comboboxNode.querySelector('input') || this._comboboxNode
354
+ return (
355
+ /** @type {HTMLInputElement} */ this._comboboxNode.querySelector('input') ||
356
+ this._comboboxNode
358
357
  );
359
358
  }
360
- return /** @type {HTMLInputElement} */ (this._comboboxNode);
359
+ return /** @type {HTMLInputElement} */ this._comboboxNode;
361
360
  }
362
361
 
363
362
  /**
@@ -373,7 +372,7 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
373
372
  * @protected
374
373
  */
375
374
  get _overlayReferenceNode() {
376
- return /** @type {ShadowRoot} */ (this.shadowRoot).querySelector('.input-group__container');
375
+ return /** @type {ShadowRoot} */ this.shadowRoot.querySelector('.input-group__container');
377
376
  }
378
377
 
379
378
  /**
@@ -389,9 +388,9 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
389
388
  * @protected
390
389
  */
391
390
  get _listboxNode() {
392
- return /** @type {LionOptions} */ (
393
- (this._overlayCtrl && this._overlayCtrl.contentNode) ||
394
- Array.from(this.children).find(child => child.slot === 'listbox')
391
+ return (
392
+ /** @type {LionOptions} */ (this._overlayCtrl && this._overlayCtrl.contentNode) ||
393
+ Array.from(this.children).find((child) => child.slot === 'listbox')
395
394
  );
396
395
  }
397
396
 
@@ -452,7 +451,6 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
452
451
  * @private
453
452
  */
454
453
  __listboxContentChanged;
455
-
456
454
  constructor() {
457
455
  super();
458
456
  /**
@@ -523,13 +521,11 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
523
521
  */
524
522
  this._textboxOnKeydown = this._textboxOnKeydown.bind(this);
525
523
  }
526
-
527
524
  connectedCallback() {
528
525
  super.connectedCallback();
529
526
  if (this._selectionDisplayNode) {
530
527
  this._selectionDisplayNode.comboboxElement = this;
531
528
  }
532
-
533
529
  if (this.disabled || this.readOnly) {
534
530
  this.__setComboboxDisabledAndReadOnly();
535
531
  }
@@ -550,7 +546,7 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
550
546
  if (this._syncToTextboxCondition(this.modelValue, this._oldModelValue)) {
551
547
  if (!this.multipleChoice) {
552
548
  const textboxValue = this._getTextboxValueFromOption(
553
- this.formElements[/** @type {number} */ (this.checkedIndex)],
549
+ this.formElements[/** @type {number} */ this.checkedIndex],
554
550
  );
555
551
  this._setTextboxValue(textboxValue);
556
552
  } else {
@@ -584,7 +580,7 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
584
580
  */
585
581
  __unsyncCheckedIndexOnInputChange() {
586
582
  const autoselect = this._autoSelectCondition();
587
- const checkedElement = this.formElements[/** @type {number} */ (this.checkedIndex)];
583
+ const checkedElement = this.formElements[/** @type {number} */ this.checkedIndex];
588
584
  if (!this.multipleChoice && !autoselect && checkedElement) {
589
585
  const textboxValue = this._getTextboxValueFromOption(checkedElement);
590
586
  if (!this._inputNode.value.startsWith(textboxValue)) {
@@ -598,20 +594,17 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
598
594
  */
599
595
  updated(changedProperties) {
600
596
  super.updated(changedProperties);
601
-
602
597
  if (changedProperties.has('__shouldAutocompleteNextUpdate')) {
603
598
  // This check should take place before those below of 'opened' and
604
599
  // '__shouldAutocompleteNextUpdate', to avoid race conditions
605
600
  this.__unsyncCheckedIndexOnInputChange();
606
601
  }
607
-
608
602
  if (changedProperties.has('opened')) {
609
603
  if (this.opened) {
610
604
  // Note we always start with -1 as a 'fundament'
611
605
  // For [autocomplete="inline|both"] activeIndex might be changed by a match
612
606
  this.activeIndex = -1;
613
607
  }
614
-
615
608
  if (!this.opened && changedProperties.get('opened') !== undefined) {
616
609
  this.__onOverlayClose();
617
610
  this.activeIndex = -1;
@@ -632,7 +625,6 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
632
625
  this.__shouldAutocompleteNextUpdate = false;
633
626
  this.__listboxContentChanged = false;
634
627
  }
635
-
636
628
  if (typeof this._selectionDisplayNode?.onComboboxElementUpdated === 'function') {
637
629
  this._selectionDisplayNode.onComboboxElementUpdated(changedProperties);
638
630
  }
@@ -652,7 +644,6 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
652
644
  if (typeof inputValue === 'string' && typeof textboxValue === 'string') {
653
645
  idx = inputValue.toLowerCase().indexOf(textboxValue.toLowerCase());
654
646
  }
655
-
656
647
  if (this.matchMode === 'all') {
657
648
  return idx > -1; // matches part of word
658
649
  }
@@ -704,7 +695,7 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
704
695
  return true;
705
696
  }
706
697
  // when no keyboard action involved (on focused change), return current opened state
707
- return /** @type {boolean} */ (this.opened);
698
+ return /** @type {boolean} */ this.opened;
708
699
  }
709
700
 
710
701
  /**
@@ -797,7 +788,7 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
797
788
  })
798
789
  ) {
799
790
  this._inputNode.value = this._getTextboxValueFromOption(
800
- this.formElements[/** @type {number} */ (this.checkedIndex)],
791
+ this.formElements[/** @type {number} */ this.checkedIndex],
801
792
  );
802
793
  }
803
794
  } else {
@@ -820,7 +811,7 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
820
811
  * @param {FormControlHost} target
821
812
  */
822
813
  _repropagationCondition(target) {
823
- return super._repropagationCondition(target) || this.formElements.every(el => !el.checked);
814
+ return super._repropagationCondition(target) || this.formElements.every((el) => !el.checked);
824
815
  }
825
816
 
826
817
  /* eslint-disable no-param-reassign */
@@ -851,13 +842,12 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
851
842
  if (option.textContent) {
852
843
  const a11ySpan = document.createElement('span');
853
844
  a11ySpan.setAttribute('aria-label', option.textContent.replace(/\s+/g, ' '));
854
- Array.from(option.childNodes).forEach(childNode => {
845
+ Array.from(option.childNodes).forEach((childNode) => {
855
846
  a11ySpan.appendChild(childNode);
856
847
  });
857
848
  option.appendChild(a11ySpan);
858
-
859
849
  matchA11ySpanReverseFns.set(option, () => {
860
- Array.from(a11ySpan.childNodes).forEach(childNode => {
850
+ Array.from(a11ySpan.childNodes).forEach((childNode) => {
861
851
  option.appendChild(childNode);
862
852
  });
863
853
  if (option.contains(a11ySpan)) {
@@ -890,7 +880,6 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
890
880
  // eslint-disable-next-line class-methods-use-this
891
881
  _unhighlightMatchedOption(option) {
892
882
  unmakeMatchingTextBold(option);
893
-
894
883
  if (matchA11ySpanReverseFns.has(option)) {
895
884
  matchA11ySpanReverseFns.get(option)();
896
885
  }
@@ -935,16 +924,13 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
935
924
  // (which already fire an event via child repropagation) vs. a value change while staying unmatched.
936
925
  const prevCheckedIndexForCustomEvent = this.checkedIndex;
937
926
  const prevModelValueForCustomEvent = this.__prevModelValueForCustomEvent;
938
-
939
927
  const isSelectionEmpty = this._inputNode.selectionStart === this._inputNode.selectionEnd;
940
928
  const hasSelection =
941
929
  !isSelectionEmpty && this._inputNode.value.length !== this._inputNode.selectionStart;
942
-
943
930
  const inputValue = this._inputNode.value;
944
931
  const inputSelectionStart = this._inputNode.selectionStart;
945
932
  const curValue =
946
933
  hasSelection && inputSelectionStart ? inputValue.slice(0, inputSelectionStart) : inputValue;
947
-
948
934
  const prevValue =
949
935
  hasSelection || this.__hadSelectionLastAutofill
950
936
  ? this.__prevCboxValueNonSelected
@@ -958,12 +944,14 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
958
944
  const visibleOptions = [];
959
945
  /** Whether autofill (activeIndex/checkedIndex and ) has taken place in this 'cycle' */
960
946
  let hasAutoFilled = false;
961
- const userIntendsInlineAutoFill = this.__computeUserIntendsAutoFill({ prevValue, curValue });
947
+ const userIntendsInlineAutoFill = this.__computeUserIntendsAutoFill({
948
+ prevValue,
949
+ curValue,
950
+ });
962
951
  const isInlineAutoFillCandidate =
963
952
  this.autocomplete === 'both' || this.autocomplete === 'inline';
964
953
  const autoselect = this._autoSelectCondition();
965
954
  const noFilter = this.autocomplete === 'inline' || this.autocomplete === 'none';
966
-
967
955
  this.formElements.forEach((/** @type {OptionWithFilterFn} */ option, i) => {
968
956
  // [1]. Decide whether option should be shown
969
957
  const matches = this.matchCondition(option, curValue);
@@ -983,7 +971,6 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
983
971
  }
984
972
  hasAutoFilled = true;
985
973
  };
986
-
987
974
  if (userIntendsInlineAutoFill) {
988
975
  // We should never directly select when removing chars or starting a new word
989
976
  // This leads to bad UX and unwanted syncing of modelValue (based on checkedIndex)
@@ -1063,7 +1050,10 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
1063
1050
  this.dispatchEvent(
1064
1051
  new CustomEvent('model-value-changed', {
1065
1052
  bubbles: true,
1066
- detail: { formPath: [this], isTriggeredByUser: true },
1053
+ detail: {
1054
+ formPath: [this],
1055
+ isTriggeredByUser: true,
1056
+ },
1067
1057
  }),
1068
1058
  );
1069
1059
  }
@@ -1125,12 +1115,12 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
1125
1115
  */
1126
1116
  // eslint-disable-next-line class-methods-use-this
1127
1117
  _defineOverlayConfig() {
1128
- return /** @type {OverlayConfig} */ ({
1118
+ return /** @type {OverlayConfig} */ {
1129
1119
  ...withDropdownConfig(),
1130
1120
  elementToFocusAfterHide: undefined,
1131
1121
  invokerNode: this._comboboxNode,
1132
1122
  visibilityTriggerFunction: undefined,
1133
- });
1123
+ };
1134
1124
  }
1135
1125
 
1136
1126
  /**
@@ -1197,7 +1187,6 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
1197
1187
  if (this.opened) {
1198
1188
  ev.preventDefault();
1199
1189
  }
1200
-
1201
1190
  if (
1202
1191
  !this.requireOptionMatch &&
1203
1192
  this.multipleChoice &&
@@ -1251,10 +1240,10 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
1251
1240
  // eslint-disable-next-line no-unused-vars
1252
1241
  _syncToTextboxMultiple(modelValue, oldModelValue = []) {
1253
1242
  if (this.requireOptionMatch) {
1254
- const diff = modelValue.filter(x => !oldModelValue.includes(x));
1243
+ const diff = modelValue.filter((x) => !oldModelValue.includes(x));
1255
1244
  const newValue = this.formElements
1256
- .filter(option => diff.includes(option.choiceValue))
1257
- .map(option => this._getTextboxValueFromOption(option))
1245
+ .filter((option) => diff.includes(option.choiceValue))
1246
+ .map((option) => this._getTextboxValueFromOption(option))
1258
1247
  .join(' ');
1259
1248
  this._setTextboxValue(newValue);
1260
1249
  }
@@ -1264,7 +1253,7 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
1264
1253
  * @override FormControlMixin - add form-control to [slot=input] instead of _inputNode
1265
1254
  */
1266
1255
  _enhanceLightDomClasses() {
1267
- const formControl = /** @type {HTMLInputElement} */ (this.querySelector('[slot=input]'));
1256
+ const formControl = /** @type {HTMLInputElement} */ this.querySelector('[slot=input]');
1268
1257
  if (formControl) {
1269
1258
  formControl.classList.add('form-control');
1270
1259
  }
@@ -1282,13 +1271,11 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
1282
1271
  this._comboboxNode.toggleAttribute('readonly', this.readOnly);
1283
1272
  this._comboboxNode.setAttribute('aria-readonly', `${this.readOnly}`);
1284
1273
  }
1285
-
1286
1274
  if (this._inputNode) {
1287
1275
  // N.B. in case ._inputNode === ._comboboxNode (we have <input role="combobox">)
1288
1276
  // this value has already been set above. This is fine, as a toggle with boolean flag is idempotent.
1289
1277
  this._inputNode.toggleAttribute('disabled', this.disabled);
1290
1278
  this._inputNode.toggleAttribute('readOnly', this.readOnly);
1291
-
1292
1279
  this._inputNode.setAttribute('aria-readonly', `${this.readOnly}`);
1293
1280
  this._inputNode.tabIndex = this.disabled ? -1 : 0;
1294
1281
  }
@@ -1303,18 +1290,14 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
1303
1290
 
1304
1291
  this._comboboxNode.setAttribute('role', 'combobox');
1305
1292
  this._comboboxNode.setAttribute('aria-haspopup', 'listbox');
1306
-
1307
1293
  this._inputNode.setAttribute('aria-autocomplete', this.autocomplete);
1308
1294
  this._comboboxNode.setAttribute('aria-controls', this._listboxNode.id);
1309
-
1310
1295
  if (this._ariaVersion === '1.1') {
1311
1296
  this._comboboxNode.setAttribute('aria-owns', this._listboxNode.id);
1312
1297
  } else {
1313
1298
  this._inputNode.setAttribute('aria-owns', this._listboxNode.id);
1314
1299
  }
1315
-
1316
1300
  this._listboxNode.setAttribute('aria-labelledby', this._labelNode.id);
1317
-
1318
1301
  this._inputNode.addEventListener('keydown', this._listboxOnKeyDown);
1319
1302
  this._inputNode.addEventListener('input', this._textboxOnInput);
1320
1303
  this._inputNode.addEventListener('keydown', this._textboxOnKeydown);
@@ -1349,7 +1332,6 @@ export class LionCombobox extends LocalizeMixin(OverlayMixin(CustomChoiceGroupMi
1349
1332
  _textboxOnClick(ev) {
1350
1333
  this.opened = this._showOverlayCondition({});
1351
1334
  }
1352
-
1353
1335
  clear() {
1354
1336
  this.value = '';
1355
1337
  super.clear();
@@ -5,7 +5,7 @@ const matchReverseFns = new WeakMap();
5
5
  * @param {string} matchingString
6
6
  */
7
7
  export function makeMatchingTextBold(root, matchingString) {
8
- Array.from(root.childNodes).forEach(childNode => {
8
+ Array.from(root.childNodes).forEach((childNode) => {
9
9
  if (childNode.nodeName === '#text') {
10
10
  // check for match based on nodeValue
11
11
 
@@ -14,7 +14,6 @@ export function makeMatchingTextBold(root, matchingString) {
14
14
  const re = new RegExp(`^(.*?)(${escapedString})(.*)$`, 'i');
15
15
  // @ts-ignore
16
16
  const match = childNode.nodeValue.match(re);
17
-
18
17
  if (match) {
19
18
  // 1. textContent before match
20
19
  const textBefore = document.createTextNode(match[1]);
@@ -29,9 +28,7 @@ export function makeMatchingTextBold(root, matchingString) {
29
28
  // 3. textContent after match
30
29
  const textAfter = document.createTextNode(match[3]);
31
30
  root.appendChild(textAfter);
32
-
33
31
  root.removeChild(childNode);
34
-
35
32
  matchReverseFns.set(root, () => {
36
33
  root.appendChild(childNode);
37
34
  if (root.contains(textBefore) && textBefore.parentNode !== null) {
@@ -58,7 +55,7 @@ export function unmakeMatchingTextBold(root) {
58
55
  if (matchReverseFns.has(root)) {
59
56
  matchReverseFns.get(root)();
60
57
  }
61
- Array.from(root.childNodes).forEach(childNode => {
58
+ Array.from(root.childNodes).forEach((childNode) => {
62
59
  if (childNode.nodeName === '#text') {
63
60
  if (matchReverseFns.has(childNode)) {
64
61
  matchReverseFns.get(childNode)();
@@ -1,6 +1,5 @@
1
1
  /* eslint-disable max-classes-per-file */
2
2
  import { Unparseable, Validator } from '@lion/ui/form-core.js';
3
-
4
3
  export class MatchesOption extends Validator {
5
4
  static get validatorName() {
6
5
  return 'MatchesOption';
@@ -4,8 +4,9 @@ import '@lion/ui/define/lion-combobox.js';
4
4
  import { runCustomChoiceGroupMixinSuite } from '../../form-core/test-suites/choice-group/CustomChoiceGroupMixin.suite.js';
5
5
  import { LionCombobox } from '../src/LionCombobox.js';
6
6
  import { ScopedStylesController } from '../../core/src/ScopedStylesController.js';
7
-
8
- runListboxMixinSuite({ tagString: 'lion-combobox' });
7
+ runListboxMixinSuite({
8
+ tagString: 'lion-combobox',
9
+ });
9
10
  runCustomChoiceGroupMixinSuite({
10
11
  parentTagString: 'lion-combobox',
11
12
  childTagString: 'lion-option',
@@ -20,13 +21,12 @@ class ComboboxWithScopedStyles extends LionCombobox {
20
21
  }
21
22
  `;
22
23
  }
23
-
24
24
  constructor() {
25
25
  super();
26
26
  this.scopedStylesController = new ScopedStylesController(this);
27
27
  }
28
28
  }
29
-
30
29
  customElements.define('combobox-with-scoped-styles', ComboboxWithScopedStyles);
31
-
32
- runListboxMixinSuite({ tagString: 'combobox-with-scoped-styles' });
30
+ runListboxMixinSuite({
31
+ tagString: 'combobox-with-scoped-styles',
32
+ });