@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
@@ -38,7 +38,6 @@ export function runCheckboxIndeterminateSuite(customConfig) {
38
38
  let groupTag;
39
39
  /** @type {{_$litStatic$: any}} */
40
40
  let childTag;
41
-
42
41
  before(async () => {
43
42
  // @ts-expect-error
44
43
  tag = unsafeStatic(cfg.tagString);
@@ -47,7 +46,6 @@ export function runCheckboxIndeterminateSuite(customConfig) {
47
46
  // @ts-expect-error
48
47
  childTag = unsafeStatic(cfg.childTagString);
49
48
  });
50
-
51
49
  describe('CheckboxIndeterminate', async () => {
52
50
  /** @type {{_$litStatic$: any}} */
53
51
 
@@ -63,7 +61,6 @@ export function runCheckboxIndeterminateSuite(customConfig) {
63
61
  // Assert
64
62
  expect(el.getAttribute('type')).to.equal('checkbox');
65
63
  });
66
-
67
64
  it('should not be indeterminate by default if all children are unchecked', async () => {
68
65
  // Arrange
69
66
  const el = await fixture(html`
@@ -75,14 +72,13 @@ export function runCheckboxIndeterminateSuite(customConfig) {
75
72
  </${tag}>
76
73
  </${groupTag}>
77
74
  `);
78
- const elIndeterminate = /** @type {LionCheckboxIndeterminate} */ (
79
- el.querySelector(`${cfg.tagString}`)
80
- );
75
+ const elIndeterminate =
76
+ /** @type {LionCheckboxIndeterminate} */
77
+ el.querySelector(`${cfg.tagString}`);
81
78
 
82
79
  // Assert
83
80
  expect(elIndeterminate?.hasAttribute('indeterminate')).to.be.false;
84
81
  });
85
-
86
82
  it('should be indeterminate if one child is checked', async () => {
87
83
  // Arrange
88
84
  const el = /** @type {LionCheckboxGroup} */ await fixture(html`
@@ -94,17 +90,16 @@ export function runCheckboxIndeterminateSuite(customConfig) {
94
90
  </${tag}>
95
91
  </${groupTag}>
96
92
  `);
97
-
98
- const elIndeterminate = /** @type {LionCheckboxIndeterminate} */ (
99
- el.querySelector(`${cfg.tagString}`)
100
- );
93
+ const elIndeterminate =
94
+ /** @type {LionCheckboxIndeterminate} */
95
+ el.querySelector(`${cfg.tagString}`);
101
96
  // Assert
102
97
  expect(elIndeterminate?.hasAttribute('indeterminate')).to.be.true;
103
98
  });
104
-
105
99
  it('should be checked if all children are checked', async () => {
106
100
  // Arrange
107
- const el = /** @type {LionCheckboxGroup} */ (
101
+ const el =
102
+ /** @type {LionCheckboxGroup} */
108
103
  await fixture(html`
109
104
  <${groupTag} name="scientists[]">
110
105
  <${tag} label="Favorite scientists">
@@ -113,20 +108,19 @@ export function runCheckboxIndeterminateSuite(customConfig) {
113
108
  <${childTag} label="Marie Curie" checked></${childTag}>
114
109
  </${tag}>
115
110
  </${groupTag}>
116
- `)
117
- );
118
- const elIndeterminate = /** @type {LionCheckboxIndeterminate} */ (
119
- el.querySelector(`${cfg.tagString}`)
120
- );
111
+ `);
112
+ const elIndeterminate =
113
+ /** @type {LionCheckboxIndeterminate} */
114
+ el.querySelector(`${cfg.tagString}`);
121
115
 
122
116
  // Assert
123
117
  expect(elIndeterminate?.hasAttribute('indeterminate')).to.be.false;
124
118
  expect(elIndeterminate?.checked).to.be.true;
125
119
  });
126
-
127
120
  it('should become indeterminate if one child is checked', async () => {
128
121
  // Arrange
129
- const el = /** @type {LionCheckboxGroup} */ (
122
+ const el =
123
+ /** @type {LionCheckboxGroup} */
130
124
  await fixture(html`
131
125
  <${groupTag} name="scientists[]">
132
126
  <${tag} label="Favorite scientists">
@@ -135,12 +129,10 @@ export function runCheckboxIndeterminateSuite(customConfig) {
135
129
  <${childTag} label="Marie Curie"></${childTag}>
136
130
  </${tag}>
137
131
  </${groupTag}>
138
- `)
139
- );
140
- const elIndeterminate = /** @type {LionCheckboxIndeterminate} */ (
141
- el.querySelector(`${cfg.tagString}`)
142
- );
143
-
132
+ `);
133
+ const elIndeterminate =
134
+ /** @type {LionCheckboxIndeterminate} */
135
+ el.querySelector(`${cfg.tagString}`);
144
136
  const { _subCheckboxes } = getCheckboxIndeterminateMembers(elIndeterminate);
145
137
 
146
138
  // Act
@@ -150,10 +142,10 @@ export function runCheckboxIndeterminateSuite(customConfig) {
150
142
  // Assert
151
143
  expect(elIndeterminate?.hasAttribute('indeterminate')).to.be.true;
152
144
  });
153
-
154
145
  it('should become checked if all children are checked', async () => {
155
146
  // Arrange
156
- const el = /** @type {LionCheckboxGroup} */ (
147
+ const el =
148
+ /** @type {LionCheckboxGroup} */
157
149
  await fixture(html`
158
150
  <${groupTag} name="scientists[]">
159
151
  <${tag} label="Favorite scientists">
@@ -162,11 +154,10 @@ export function runCheckboxIndeterminateSuite(customConfig) {
162
154
  <${childTag} label="Marie Curie"></${childTag}>
163
155
  </${tag}>
164
156
  </${groupTag}>
165
- `)
166
- );
167
- const elIndeterminate = /** @type {LionCheckboxIndeterminate} */ (
168
- el.querySelector(`${cfg.tagString}`)
169
- );
157
+ `);
158
+ const elIndeterminate =
159
+ /** @type {LionCheckboxIndeterminate} */
160
+ el.querySelector(`${cfg.tagString}`);
170
161
  const { _subCheckboxes } = getCheckboxIndeterminateMembers(elIndeterminate);
171
162
 
172
163
  // Act
@@ -179,10 +170,10 @@ export function runCheckboxIndeterminateSuite(customConfig) {
179
170
  expect(elIndeterminate?.hasAttribute('indeterminate')).to.be.false;
180
171
  expect(elIndeterminate?.checked).to.be.true;
181
172
  });
182
-
183
173
  it('should become indeterminate if all children except disabled ones are checked', async () => {
184
174
  // Arrange
185
- const el = /** @type {LionCheckboxGroup} */ (
175
+ const el =
176
+ /** @type {LionCheckboxGroup} */
186
177
  await fixture(html`
187
178
  <${groupTag} name="scientists[]">
188
179
  <${tag} label="Favorite scientists">
@@ -191,11 +182,10 @@ export function runCheckboxIndeterminateSuite(customConfig) {
191
182
  <${childTag} label="Marie Curie"></${childTag}>
192
183
  </${tag}>
193
184
  </${groupTag}>
194
- `)
195
- );
196
- const elIndeterminate = /** @type {LionCheckboxIndeterminate} */ (
197
- el.querySelector(`${cfg.tagString}`)
198
- );
185
+ `);
186
+ const elIndeterminate =
187
+ /** @type {LionCheckboxIndeterminate} */
188
+ el.querySelector(`${cfg.tagString}`);
199
189
  const { _subCheckboxes } = getCheckboxIndeterminateMembers(elIndeterminate);
200
190
 
201
191
  // Act
@@ -207,7 +197,6 @@ export function runCheckboxIndeterminateSuite(customConfig) {
207
197
  expect(elIndeterminate?.hasAttribute('indeterminate')).to.be.true;
208
198
  expect(elIndeterminate?.checked).to.be.true;
209
199
  });
210
-
211
200
  it('should be checked when all children are prechecked', async () => {
212
201
  // Arrange
213
202
  const el = /** @type {LionCheckboxGroup} */ await fixture(html`
@@ -219,15 +208,13 @@ export function runCheckboxIndeterminateSuite(customConfig) {
219
208
  </${tag}>
220
209
  </${groupTag}>
221
210
  `);
222
-
223
- const elIndeterminate = /** @type {LionCheckboxIndeterminate} */ (
224
- el.querySelector(`${cfg.tagString}`)
225
- );
211
+ const elIndeterminate =
212
+ /** @type {LionCheckboxIndeterminate} */
213
+ el.querySelector(`${cfg.tagString}`);
226
214
 
227
215
  // Assert
228
216
  expect(elIndeterminate?.hasAttribute('checked')).to.be.true;
229
217
  });
230
-
231
218
  it('should be checked when it has one prechecked child', async () => {
232
219
  // Arrange
233
220
  const el = /** @type {LionCheckboxGroup} */ await fixture(html`
@@ -237,15 +224,13 @@ export function runCheckboxIndeterminateSuite(customConfig) {
237
224
  </${tag}>
238
225
  </${groupTag}>
239
226
  `);
240
-
241
- const elIndeterminate = /** @type {LionCheckboxIndeterminate} */ (
242
- el.querySelector(`${cfg.tagString}`)
243
- );
227
+ const elIndeterminate =
228
+ /** @type {LionCheckboxIndeterminate} */
229
+ el.querySelector(`${cfg.tagString}`);
244
230
 
245
231
  // Assert
246
232
  expect(elIndeterminate?.hasAttribute('checked')).to.be.true;
247
233
  });
248
-
249
234
  it('should be unchecked when it has an disabled checked child and an unchecked child', async () => {
250
235
  // Arrange
251
236
  const el = /** @type {LionCheckboxGroup} */ await fixture(html`
@@ -256,15 +241,13 @@ export function runCheckboxIndeterminateSuite(customConfig) {
256
241
  </${tag}>
257
242
  </${groupTag}>
258
243
  `);
259
-
260
- const elIndeterminate = /** @type {LionCheckboxIndeterminate} */ (
261
- el.querySelector(`${cfg.tagString}`)
262
- );
244
+ const elIndeterminate =
245
+ /** @type {LionCheckboxIndeterminate} */
246
+ el.querySelector(`${cfg.tagString}`);
263
247
 
264
248
  // Assert
265
249
  expect(elIndeterminate?.hasAttribute('checked')).to.be.false;
266
250
  });
267
-
268
251
  it('should be indeterminated when some of the children are prechecked', async () => {
269
252
  // Arrange
270
253
  const el = /** @type {LionCheckboxGroup} */ await fixture(html`
@@ -276,18 +259,17 @@ export function runCheckboxIndeterminateSuite(customConfig) {
276
259
  </${tag}>
277
260
  </${groupTag}>
278
261
  `);
279
-
280
- const elIndeterminate = /** @type {LionCheckboxIndeterminate} */ (
281
- el.querySelector(`${cfg.tagString}`)
282
- );
262
+ const elIndeterminate =
263
+ /** @type {LionCheckboxIndeterminate} */
264
+ el.querySelector(`${cfg.tagString}`);
283
265
 
284
266
  // Assert
285
267
  expect(elIndeterminate.hasAttribute('indeterminate')).to.be.true;
286
268
  });
287
-
288
269
  it('should sync all children when parent is checked (from indeterminate to checked)', async () => {
289
270
  // Arrange
290
- const el = /** @type {LionCheckboxGroup} */ (
271
+ const el =
272
+ /** @type {LionCheckboxGroup} */
291
273
  await fixture(html`
292
274
  <${groupTag} name="scientists[]">
293
275
  <${tag} label="Favorite scientists">
@@ -296,11 +278,10 @@ export function runCheckboxIndeterminateSuite(customConfig) {
296
278
  <${childTag} label="Marie Curie"></${childTag}>
297
279
  </${tag}>
298
280
  </${groupTag}>
299
- `)
300
- );
301
- const elIndeterminate = /** @type {LionCheckboxIndeterminate} */ (
302
- el.querySelector(`${cfg.tagString}`)
303
- );
281
+ `);
282
+ const elIndeterminate =
283
+ /** @type {LionCheckboxIndeterminate} */
284
+ el.querySelector(`${cfg.tagString}`);
304
285
  const { _subCheckboxes, _inputNode } = getCheckboxIndeterminateMembers(elIndeterminate);
305
286
 
306
287
  // Act
@@ -313,10 +294,10 @@ export function runCheckboxIndeterminateSuite(customConfig) {
313
294
  expect(_subCheckboxes[1].hasAttribute('checked')).to.be.true;
314
295
  expect(_subCheckboxes[2].hasAttribute('checked')).to.be.true;
315
296
  });
316
-
317
297
  it('should not sync any disabled children when parent is checked (from indeterminate to checked)', async () => {
318
298
  // Arrange
319
- const el = /** @type {LionCheckboxGroup} */ (
299
+ const el =
300
+ /** @type {LionCheckboxGroup} */
320
301
  await fixture(html`
321
302
  <${groupTag} name="scientists[]">
322
303
  <${tag} label="Favorite scientists">
@@ -325,11 +306,10 @@ export function runCheckboxIndeterminateSuite(customConfig) {
325
306
  <${childTag} label="Marie Curie"></${childTag}>
326
307
  </${tag}>
327
308
  </${groupTag}>
328
- `)
329
- );
330
- const elIndeterminate = /** @type {LionCheckboxIndeterminate} */ (
331
- el.querySelector(`${cfg.tagString}`)
332
- );
309
+ `);
310
+ const elIndeterminate =
311
+ /** @type {LionCheckboxIndeterminate} */
312
+ el.querySelector(`${cfg.tagString}`);
333
313
  const { _subCheckboxes, _inputNode } = getCheckboxIndeterminateMembers(elIndeterminate);
334
314
 
335
315
  // Act
@@ -342,10 +322,10 @@ export function runCheckboxIndeterminateSuite(customConfig) {
342
322
  expect(_subCheckboxes[1].hasAttribute('checked')).to.be.false;
343
323
  expect(_subCheckboxes[2].hasAttribute('checked')).to.be.true;
344
324
  });
345
-
346
325
  it('should remain unchecked when parent is clicked and all children are disabled', async () => {
347
326
  // Arrange
348
- const el = /** @type {LionCheckboxGroup} */ (
327
+ const el =
328
+ /** @type {LionCheckboxGroup} */
349
329
  await fixture(html`
350
330
  <${groupTag} name="scientists[]">
351
331
  <${tag} label="Favorite scientists">
@@ -354,11 +334,10 @@ export function runCheckboxIndeterminateSuite(customConfig) {
354
334
  <${childTag} label="Marie Curie" disabled></${childTag}>
355
335
  </${tag}>
356
336
  </${groupTag}>
357
- `)
358
- );
359
- const elIndeterminate = /** @type {LionCheckboxIndeterminate} */ (
360
- el.querySelector(`${cfg.tagString}`)
361
- );
337
+ `);
338
+ const elIndeterminate =
339
+ /** @type {LionCheckboxIndeterminate} */
340
+ el.querySelector(`${cfg.tagString}`);
362
341
  const { _subCheckboxes, _inputNode } = getCheckboxIndeterminateMembers(elIndeterminate);
363
342
 
364
343
  // Act
@@ -372,10 +351,10 @@ export function runCheckboxIndeterminateSuite(customConfig) {
372
351
  expect(_subCheckboxes[1].hasAttribute('checked')).to.be.false;
373
352
  expect(_subCheckboxes[2].hasAttribute('checked')).to.be.false;
374
353
  });
375
-
376
354
  it('should remain checked when parent is clicked and all children are disabled and checked', async () => {
377
355
  // Arrange
378
- const el = /** @type {LionCheckboxGroup} */ (
356
+ const el =
357
+ /** @type {LionCheckboxGroup} */
379
358
  await fixture(html`
380
359
  <${groupTag} name="scientists[]">
381
360
  <${tag} label="Favorite scientists">
@@ -384,11 +363,10 @@ export function runCheckboxIndeterminateSuite(customConfig) {
384
363
  <${childTag} label="Marie Curie" disabled checked></${childTag}>
385
364
  </${tag}>
386
365
  </${groupTag}>
387
- `)
388
- );
389
- const elIndeterminate = /** @type {LionCheckboxIndeterminate} */ (
390
- el.querySelector(`${cfg.tagString}`)
391
- );
366
+ `);
367
+ const elIndeterminate =
368
+ /** @type {LionCheckboxIndeterminate} */
369
+ el.querySelector(`${cfg.tagString}`);
392
370
  const { _subCheckboxes, _inputNode } = getCheckboxIndeterminateMembers(elIndeterminate);
393
371
 
394
372
  // Act
@@ -402,10 +380,10 @@ export function runCheckboxIndeterminateSuite(customConfig) {
402
380
  expect(_subCheckboxes[1].hasAttribute('checked')).to.be.true;
403
381
  expect(_subCheckboxes[2].hasAttribute('checked')).to.be.true;
404
382
  });
405
-
406
383
  it('should sync all children when parent is checked (from unchecked to checked)', async () => {
407
384
  // Arrange
408
- const el = /** @type {LionCheckboxGroup} */ (
385
+ const el =
386
+ /** @type {LionCheckboxGroup} */
409
387
  await fixture(html`
410
388
  <${groupTag} name="scientists[]">
411
389
  <${tag} label="Favorite scientists">
@@ -414,11 +392,10 @@ export function runCheckboxIndeterminateSuite(customConfig) {
414
392
  <${childTag} label="Marie Curie"></${childTag}>
415
393
  </${tag}>
416
394
  </${groupTag}>
417
- `)
418
- );
419
- const elIndeterminate = /** @type {LionCheckboxIndeterminate} */ (
420
- el.querySelector(`${cfg.tagString}`)
421
- );
395
+ `);
396
+ const elIndeterminate =
397
+ /** @type {LionCheckboxIndeterminate} */
398
+ el.querySelector(`${cfg.tagString}`);
422
399
  const { _subCheckboxes, _inputNode } = getCheckboxIndeterminateMembers(elIndeterminate);
423
400
 
424
401
  // Act
@@ -431,10 +408,10 @@ export function runCheckboxIndeterminateSuite(customConfig) {
431
408
  expect(_subCheckboxes[1].hasAttribute('checked')).to.be.true;
432
409
  expect(_subCheckboxes[2].hasAttribute('checked')).to.be.true;
433
410
  });
434
-
435
411
  it('should sync all children when parent is checked (from checked to unchecked)', async () => {
436
412
  // Arrange
437
- const el = /** @type {LionCheckboxGroup} */ (
413
+ const el =
414
+ /** @type {LionCheckboxGroup} */
438
415
  await fixture(html`
439
416
  <${groupTag} name="scientists[]">
440
417
  <${tag} label="Favorite scientists">
@@ -443,11 +420,10 @@ export function runCheckboxIndeterminateSuite(customConfig) {
443
420
  <${childTag} label="Marie Curie" checked></${childTag}>
444
421
  </${tag}>
445
422
  </${groupTag}>
446
- `)
447
- );
448
- const elIndeterminate = /** @type {LionCheckboxIndeterminate} */ (
449
- el.querySelector(`${cfg.tagString}`)
450
- );
423
+ `);
424
+ const elIndeterminate =
425
+ /** @type {LionCheckboxIndeterminate} */
426
+ el.querySelector(`${cfg.tagString}`);
451
427
  const { _subCheckboxes, _inputNode } = getCheckboxIndeterminateMembers(elIndeterminate);
452
428
 
453
429
  // Act
@@ -460,10 +436,10 @@ export function runCheckboxIndeterminateSuite(customConfig) {
460
436
  expect(_subCheckboxes[1].hasAttribute('checked')).to.be.false;
461
437
  expect(_subCheckboxes[2].hasAttribute('checked')).to.be.false;
462
438
  });
463
-
464
439
  it('should sync all prechecked children when parent is indeterminate and some of the children are disabled (from checked to unchecked)', async () => {
465
440
  // Arrange
466
- const el = /** @type {LionCheckboxGroup} */ (
441
+ const el =
442
+ /** @type {LionCheckboxGroup} */
467
443
  await fixture(html`
468
444
  <${groupTag} name="scientists[]">
469
445
  <${tag} label="Favorite scientists">
@@ -472,11 +448,10 @@ export function runCheckboxIndeterminateSuite(customConfig) {
472
448
  <${childTag} checked label="Marie Curie"></${childTag}>
473
449
  </${tag}>
474
450
  </${groupTag}>
475
- `)
476
- );
477
- const elIndeterminate = /** @type {LionCheckboxIndeterminate} */ (
478
- el.querySelector(`${cfg.tagString}`)
479
- );
451
+ `);
452
+ const elIndeterminate =
453
+ /** @type {LionCheckboxIndeterminate} */
454
+ el.querySelector(`${cfg.tagString}`);
480
455
  const { _subCheckboxes, _inputNode } = getCheckboxIndeterminateMembers(elIndeterminate);
481
456
 
482
457
  // Act
@@ -490,10 +465,10 @@ export function runCheckboxIndeterminateSuite(customConfig) {
490
465
  expect(_subCheckboxes[1].hasAttribute('checked')).to.be.false;
491
466
  expect(_subCheckboxes[2].hasAttribute('checked')).to.be.false;
492
467
  });
493
-
494
468
  it('should stay as indeterminated after it is clicked, when it is interminated already and some children are disabled', async () => {
495
469
  // Arrange
496
- const el = /** @type {LionCheckboxGroup} */ (
470
+ const el =
471
+ /** @type {LionCheckboxGroup} */
497
472
  await fixture(html`
498
473
  <${groupTag} name="scientists[]">
499
474
  <${tag} label="Favorite scientists">
@@ -502,11 +477,10 @@ export function runCheckboxIndeterminateSuite(customConfig) {
502
477
  <${childTag} label="Marie Curie"></${childTag}>
503
478
  </${tag}>
504
479
  </${groupTag}>
505
- `)
506
- );
507
- const elIndeterminate = /** @type {LionCheckboxIndeterminate} */ (
508
- el.querySelector(`${cfg.tagString}`)
509
- );
480
+ `);
481
+ const elIndeterminate =
482
+ /** @type {LionCheckboxIndeterminate} */
483
+ el.querySelector(`${cfg.tagString}`);
510
484
  const { _subCheckboxes, _inputNode } = getCheckboxIndeterminateMembers(elIndeterminate);
511
485
 
512
486
  // Act
@@ -519,10 +493,10 @@ export function runCheckboxIndeterminateSuite(customConfig) {
519
493
  expect(_subCheckboxes[0].hasAttribute('checked')).to.be.true;
520
494
  expect(_subCheckboxes[2].hasAttribute('checked')).to.be.true;
521
495
  });
522
-
523
496
  it('should work as expected with siblings checkbox-indeterminate', async () => {
524
497
  // Arrange
525
- const el = /** @type {LionCheckboxGroup} */ (
498
+ const el =
499
+ /** @type {LionCheckboxGroup} */
526
500
  await fixture(html`
527
501
  <${groupTag} name="scientists[]" label="Favorite scientists">
528
502
  <${tag}
@@ -557,16 +531,13 @@ export function runCheckboxIndeterminateSuite(customConfig) {
557
531
  ></${childTag}>
558
532
  </${tag}>
559
533
  </${groupTag}>
560
- `)
561
- );
562
- const elFirstIndeterminate = /** @type {LionCheckboxIndeterminate} */ (
563
- el.querySelector('#first-checkbox-indeterminate')
564
- );
565
-
566
- const elSecondIndeterminate = /** @type {LionCheckboxIndeterminate} */ (
567
- el.querySelector('#second-checkbox-indeterminate')
568
- );
569
-
534
+ `);
535
+ const elFirstIndeterminate =
536
+ /** @type {LionCheckboxIndeterminate} */
537
+ el.querySelector('#first-checkbox-indeterminate');
538
+ const elSecondIndeterminate =
539
+ /** @type {LionCheckboxIndeterminate} */
540
+ el.querySelector('#second-checkbox-indeterminate');
570
541
  const elFirstSubCheckboxes = getCheckboxIndeterminateMembers(elFirstIndeterminate);
571
542
  const elSecondSubCheckboxes = getCheckboxIndeterminateMembers(elSecondIndeterminate);
572
543
 
@@ -581,11 +552,9 @@ export function runCheckboxIndeterminateSuite(customConfig) {
581
552
  expect(elFirstSubCheckboxes._subCheckboxes[0].hasAttribute('checked')).to.be.true;
582
553
  expect(elFirstSubCheckboxes._subCheckboxes[1].hasAttribute('checked')).to.be.true;
583
554
  expect(elFirstSubCheckboxes._subCheckboxes[2].hasAttribute('checked')).to.be.true;
584
-
585
555
  expect(elSecondSubCheckboxes._subCheckboxes[0].hasAttribute('checked')).to.be.false;
586
556
  expect(elSecondSubCheckboxes._subCheckboxes[1].hasAttribute('checked')).to.be.false;
587
557
  });
588
-
589
558
  it('should work as expected when new checkbox was added', async () => {
590
559
  // Arrange
591
560
  const el = /** @type {LionCheckboxGroup} */ await fixture(html`
@@ -597,21 +566,19 @@ export function runCheckboxIndeterminateSuite(customConfig) {
597
566
  </${tag}>
598
567
  </${groupTag}>
599
568
  `);
600
-
601
- const elIndeterminate = /** @type {LionCheckboxIndeterminate} */ (
602
- el.querySelector(`${cfg.tagString}`)
603
- );
569
+ const elIndeterminate =
570
+ /** @type {LionCheckboxIndeterminate} */
571
+ el.querySelector(`${cfg.tagString}`);
604
572
  expect(elIndeterminate.hasAttribute('indeterminate')).to.be.false;
605
573
 
606
574
  // Act
607
- const newChild = document.createElement(/** @type {string} */ (cfg.childTagString));
575
+ const newChild = document.createElement(/** @type {string} */ cfg.childTagString);
608
576
  elIndeterminate.appendChild(newChild);
609
577
  await elIndeterminate.updateComplete;
610
578
 
611
579
  // Assert
612
580
  expect(elIndeterminate.hasAttribute('indeterminate')).to.be.true;
613
581
  });
614
-
615
582
  it('should work as expected when an existing checkbox was removed', async () => {
616
583
  // Arrange
617
584
  const el = /** @type {LionCheckboxGroup} */ await fixture(html`
@@ -623,24 +590,23 @@ export function runCheckboxIndeterminateSuite(customConfig) {
623
590
  </${tag}>
624
591
  </${groupTag}>
625
592
  `);
626
-
627
- const elIndeterminate = /** @type {LionCheckboxIndeterminate} */ (
628
- el.querySelector(`${cfg.tagString}`)
629
- );
593
+ const elIndeterminate =
594
+ /** @type {LionCheckboxIndeterminate} */
595
+ el.querySelector(`${cfg.tagString}`);
630
596
  expect(elIndeterminate.hasAttribute('indeterminate')).to.be.true;
631
597
  expect(elIndeterminate.checked).to.be.false;
632
598
 
633
599
  // Act
634
- elIndeterminate.removeChild(/** @type {ChildNode} */ (elIndeterminate.lastChild));
600
+ elIndeterminate.removeChild(/** @type {ChildNode} */ elIndeterminate.lastChild);
635
601
  await elIndeterminate.updateComplete;
636
602
 
637
603
  // Assert
638
604
  expect(elIndeterminate?.hasAttribute('indeterminate')).to.be.true;
639
605
  });
640
-
641
606
  it('should work as expected with nested indeterminate checkboxes', async () => {
642
607
  // Arrange
643
- const el = /** @type {LionCheckboxGroup} */ (
608
+ const el =
609
+ /** @type {LionCheckboxGroup} */
644
610
  await fixture(html`
645
611
  <${groupTag} name="scientists[]" label="Favorite scientists">
646
612
  <${tag} label="Scientists" id="parent-checkbox-indeterminate">
@@ -673,14 +639,13 @@ export function runCheckboxIndeterminateSuite(customConfig) {
673
639
  </${tag}>
674
640
  </${tag}>
675
641
  </${groupTag}>
676
- `)
677
- );
678
- const elNestedIndeterminate = /** @type {LionCheckboxIndeterminate} */ (
679
- el.querySelector('#nested-checkbox-indeterminate')
680
- );
681
- const elParentIndeterminate = /** @type {LionCheckboxIndeterminate} */ (
682
- el.querySelector('#parent-checkbox-indeterminate')
683
- );
642
+ `);
643
+ const elNestedIndeterminate =
644
+ /** @type {LionCheckboxIndeterminate} */
645
+ el.querySelector('#nested-checkbox-indeterminate');
646
+ const elParentIndeterminate =
647
+ /** @type {LionCheckboxIndeterminate} */
648
+ el.querySelector('#parent-checkbox-indeterminate');
684
649
  const elNestedSubCheckboxes = getCheckboxIndeterminateMembers(elNestedIndeterminate);
685
650
  const elParentSubCheckboxes = getCheckboxIndeterminateMembers(elParentIndeterminate);
686
651
 
@@ -725,10 +690,10 @@ export function runCheckboxIndeterminateSuite(customConfig) {
725
690
  expect(elParentIndeterminate?.hasAttribute('checked')).to.be.true;
726
691
  expect(elParentIndeterminate?.hasAttribute('indeterminate')).to.be.false;
727
692
  });
728
-
729
693
  it('should work as expected if extra html', async () => {
730
694
  // Arrange
731
- const el = /** @type {LionCheckboxGroup} */ (
695
+ const el =
696
+ /** @type {LionCheckboxGroup} */
732
697
  await fixture(html`
733
698
  <${groupTag} name="scientists[]">
734
699
  <div>
@@ -744,11 +709,10 @@ export function runCheckboxIndeterminateSuite(customConfig) {
744
709
  </div>
745
710
  <div>Too much fun, stop it !</div>
746
711
  </${groupTag}>
747
- `)
748
- );
749
- const elIndeterminate = /** @type {LionCheckboxIndeterminate} */ (
750
- el.querySelector(`${cfg.tagString}`)
751
- );
712
+ `);
713
+ const elIndeterminate =
714
+ /** @type {LionCheckboxIndeterminate} */
715
+ el.querySelector(`${cfg.tagString}`);
752
716
  const { _subCheckboxes } = getCheckboxIndeterminateMembers(elIndeterminate);
753
717
 
754
718
  // Act
@@ -774,10 +738,9 @@ export function runCheckboxIndeterminateSuite(customConfig) {
774
738
  </${tag}>
775
739
  </${groupTag}>
776
740
  `);
777
- const elIndeterminate = /** @type {LionCheckboxIndeterminate} */ (
778
- el.querySelector(`${cfg.tagString}`)
779
- );
780
-
741
+ const elIndeterminate =
742
+ /** @type {LionCheckboxIndeterminate} */
743
+ el.querySelector(`${cfg.tagString}`);
781
744
  expect(elIndeterminate.mixedState).to.be.true;
782
745
  expect(elIndeterminate.checked).to.be.false;
783
746
  expect(elIndeterminate.indeterminate).to.be.true;
@@ -800,7 +763,6 @@ export function runCheckboxIndeterminateSuite(customConfig) {
800
763
  expect(elIndeterminate.checked).to.be.false;
801
764
  expect(elIndeterminate.indeterminate).to.be.true;
802
765
  });
803
-
804
766
  it('should reset to old child checkbox states when reaching indeterminate state', async () => {
805
767
  const el = await fixture(html`
806
768
  <${groupTag} name="scientists[]">
@@ -811,31 +773,29 @@ export function runCheckboxIndeterminateSuite(customConfig) {
811
773
  </${tag}>
812
774
  </${groupTag}>
813
775
  `);
814
- const elIndeterminate = /** @type {LionCheckboxIndeterminate} */ (
815
- el.querySelector(`${cfg.tagString}`)
816
- );
817
- const checkboxEls = /** @type {LionCheckbox[]} */ (
818
- Array.from(el.querySelectorAll(`${cfg.childTagString}`))
819
- );
820
-
821
- expect(checkboxEls.map(checkboxEl => checkboxEl.checked)).to.eql([true, false, false]);
776
+ const elIndeterminate =
777
+ /** @type {LionCheckboxIndeterminate} */
778
+ el.querySelector(`${cfg.tagString}`);
779
+ const checkboxEls =
780
+ /** @type {LionCheckbox[]} */
781
+ Array.from(el.querySelectorAll(`${cfg.childTagString}`));
782
+ expect(checkboxEls.map((checkboxEl) => checkboxEl.checked)).to.eql([true, false, false]);
822
783
 
823
784
  // @ts-ignore for testing purposes, we access this protected getter
824
785
  elIndeterminate._inputNode.click();
825
786
  await elIndeterminate.updateComplete;
826
- expect(checkboxEls.map(checkboxEl => checkboxEl.checked)).to.eql([true, true, true]);
787
+ expect(checkboxEls.map((checkboxEl) => checkboxEl.checked)).to.eql([true, true, true]);
827
788
 
828
789
  // @ts-ignore for testing purposes, we access this protected getter
829
790
  elIndeterminate._inputNode.click();
830
791
  await elIndeterminate.updateComplete;
831
- expect(checkboxEls.map(checkboxEl => checkboxEl.checked)).to.eql([false, false, false]);
792
+ expect(checkboxEls.map((checkboxEl) => checkboxEl.checked)).to.eql([false, false, false]);
832
793
 
833
794
  // @ts-ignore for testing purposes, we access this protected getter
834
795
  elIndeterminate._inputNode.click();
835
796
  await elIndeterminate.updateComplete;
836
- expect(checkboxEls.map(checkboxEl => checkboxEl.checked)).to.eql([true, false, false]);
797
+ expect(checkboxEls.map((checkboxEl) => checkboxEl.checked)).to.eql([true, false, false]);
837
798
  });
838
-
839
799
  it('should no longer reach indeterminate state if the child boxes are all checked or all unchecked during indeterminate state', async () => {
840
800
  const el = await fixture(html`
841
801
  <${groupTag} name="scientists[]">
@@ -846,12 +806,12 @@ export function runCheckboxIndeterminateSuite(customConfig) {
846
806
  </${tag}>
847
807
  </${groupTag}>
848
808
  `);
849
- const elIndeterminate = /** @type {LionCheckboxIndeterminate} */ (
850
- el.querySelector(`${cfg.tagString}`)
851
- );
852
- const checkboxEls = /** @type {LionCheckbox[]} */ (
853
- Array.from(el.querySelectorAll(`${cfg.childTagString}`))
854
- );
809
+ const elIndeterminate =
810
+ /** @type {LionCheckboxIndeterminate} */
811
+ el.querySelector(`${cfg.tagString}`);
812
+ const checkboxEls =
813
+ /** @type {LionCheckbox[]} */
814
+ Array.from(el.querySelectorAll(`${cfg.childTagString}`));
855
815
 
856
816
  // Check when all child boxes in indeterminate state are unchecked
857
817
  // we don't have a tri-state, but a duo-state.
@@ -892,7 +852,6 @@ export function runCheckboxIndeterminateSuite(customConfig) {
892
852
  await checkEl.updateComplete;
893
853
  await elIndeterminate.updateComplete;
894
854
  }
895
-
896
855
  expect(elIndeterminate.checked).to.be.true;
897
856
  expect(elIndeterminate.indeterminate).to.be.false;
898
857
 
@@ -909,10 +868,10 @@ export function runCheckboxIndeterminateSuite(customConfig) {
909
868
  expect(elIndeterminate.indeterminate).to.be.false;
910
869
  });
911
870
  });
912
-
913
871
  describe('accessibility', () => {
914
872
  it('is accessible', async () => {
915
- const el = /** @type {LionCheckboxGroup} */ (
873
+ const el =
874
+ /** @type {LionCheckboxGroup} */
916
875
  await fixture(html`
917
876
  <${groupTag} name="scientists[]">
918
877
  <${tag} label="Favorite scientists">
@@ -921,11 +880,9 @@ export function runCheckboxIndeterminateSuite(customConfig) {
921
880
  <${childTag} label="Marie Curie"></${childTag}>
922
881
  </${tag}>
923
882
  </${groupTag}>
924
- `)
925
- );
883
+ `);
926
884
  await expect(el).to.be.accessible();
927
885
  });
928
-
929
886
  it('has role="list" and its children role="listitem"', async () => {
930
887
  const el = await fixture(html`
931
888
  <${groupTag} name="scientists[]">
@@ -936,10 +893,9 @@ export function runCheckboxIndeterminateSuite(customConfig) {
936
893
  </${tag}>
937
894
  </${groupTag}>
938
895
  `);
939
- const elIndeterminate = /** @type {LionCheckboxIndeterminate} */ (
940
- el.querySelector(`${cfg.tagString}`)
941
- );
942
-
896
+ const elIndeterminate =
897
+ /** @type {LionCheckboxIndeterminate} */
898
+ el.querySelector(`${cfg.tagString}`);
943
899
  expect(
944
900
  elIndeterminate.shadowRoot
945
901
  ?.querySelector('.choice-field__nested-checkboxes')