@lion/ui 0.24.0 → 0.26.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 (789) hide show
  1. package/README.md +25 -7
  2. package/accordion-test-suites.js +2 -0
  3. package/collapsible-test-suites.js +1 -0
  4. package/combobox-test-suites.js +2 -0
  5. package/components/accordion/test/lion-accordion.test.js +2 -565
  6. package/components/accordion/test-suites/lion-accordion.suite.js +596 -0
  7. package/components/button/test-suites/LionButton.suite.js +13 -11
  8. package/components/button/test-suites/LionButtonReset.suite.js +11 -3
  9. package/components/button/test-suites/LionButtonSubmit.suite.js +11 -3
  10. package/components/calendar/test/lion-calendar.test.js +1 -1570
  11. package/components/calendar/test-suites/LionCalendar.suite.js +1617 -5
  12. package/components/checkbox-group/test/lion-checkbox-group-integrations.test.js +5 -2
  13. package/components/checkbox-group/test/lion-checkbox-indeterminate-integrations.test.js +13 -4
  14. package/components/checkbox-group/test/lion-checkbox-integrations.test.js +4 -1
  15. package/components/checkbox-group/test-suites/CheckboxIndeterminate.suite.js +54 -54
  16. package/components/collapsible/test/lion-collapsible.test.js +2 -126
  17. package/components/collapsible/test-suites/LionCollapsible.suite.js +147 -0
  18. package/components/combobox/test/lion-combobox-integrations.test.js +11 -4
  19. package/components/combobox/test/lion-combobox.test.js +2 -3622
  20. package/components/combobox/test-suites/lion-combobox.suite.js +3665 -0
  21. package/components/core/src/ScopedElementsMixin.js +16 -1
  22. package/components/core/test-helpers/isElementVisible.js +21 -0
  23. package/components/core/test-helpers/resolveSuiteTag.js +97 -0
  24. package/components/core/types/TestSuiteTypes.ts +43 -0
  25. package/components/dialog/test/lion-dialog.integration.test.js +9 -10
  26. package/components/dialog/test/lion-dialog.test.js +2 -399
  27. package/components/dialog/test-suites/lion-dialog.suite.js +412 -0
  28. package/components/drawer/test/lion-drawer.test.js +2 -84
  29. package/components/drawer/test-suites/LionDrawer.suite.js +108 -0
  30. package/components/fieldset/test/lion-fieldset.test.js +7 -2
  31. package/components/form/test/lion-form.test.js +2 -348
  32. package/components/form/test-suites/lion-form.suite.js +398 -0
  33. package/components/form-core/test/FormatMixin.test.js +4 -1
  34. package/components/form-core/test/choice-group/CustomChoiceGroupMixin.integrations.test.js +13 -0
  35. package/components/form-core/test-suites/FormRegistrationMixins.suite.js +21 -26
  36. package/components/form-core/test-suites/FormatMixin.suite.js +45 -43
  37. package/components/form-core/test-suites/InteractionStateMixin.suite.js +19 -15
  38. package/components/form-core/test-suites/NativeTextFieldMixin.suite.js +8 -9
  39. package/components/form-core/test-suites/ValidateMixin.suite.js +14 -10
  40. package/components/form-core/test-suites/ValidateMixinFeedbackPart.suite.js +15 -2
  41. package/components/form-core/test-suites/choice-group/ChoiceGroupMixin.suite.js +55 -33
  42. package/components/form-core/test-suites/choice-group/ChoiceInputMixin.suite.js +7 -6
  43. package/components/form-core/test-suites/choice-group/CustomChoiceGroupMixin.suite.js +19 -22
  44. package/components/form-core/test-suites/form-group/FormGroupMixin-input.suite.js +14 -5
  45. package/components/form-core/test-suites/form-group/FormGroupMixin.suite.js +13 -4
  46. package/components/icon/test/lion-icon.test.js +2 -188
  47. package/components/icon/test-suites/lion-icon.suite.js +206 -0
  48. package/components/input/test/input-integrations.test.js +18 -15
  49. package/components/input/test/lion-input-integrations.test.js +7 -3
  50. package/components/input/test/lion-input.test.js +2 -198
  51. package/components/input/test-suites/lion-input.suite.js +214 -0
  52. package/components/input-amount/src/parsers.js +5 -1
  53. package/components/input-amount/test/lion-input-amount-integrations.test.js +7 -3
  54. package/components/input-amount/test/lion-input-amount.test.js +2 -421
  55. package/components/input-amount/test/parsers.test.js +12 -0
  56. package/components/input-amount/test-suites/lion-input-amount.suite.js +418 -0
  57. package/components/input-amount-dropdown/test/LionInputAmountDropdown.test.js +3 -2
  58. package/components/input-amount-dropdown/test/lion-input-amount-dropdown-integrations.test.js +4 -2
  59. package/components/input-amount-dropdown/test-suites/LionInputAmountDropdown.suite.js +6 -4
  60. package/components/input-date/test/lion-input-date-integrations.test.js +7 -3
  61. package/components/input-date/test/lion-input-date.test.js +2 -177
  62. package/components/input-date/test-suites/lion-input-date.suite.js +195 -0
  63. package/components/input-datepicker/test/lion-input-datepicker-integrations.test.js +7 -3
  64. package/components/input-datepicker/test/lion-input-datepicker.test.js +1 -844
  65. package/components/input-datepicker/test-helpers/DatepickerInputObject.js +26 -0
  66. package/components/input-datepicker/test-suites/LionInputDatepicker.suite.js +899 -14
  67. package/components/input-email/test/lion-input-email-integrations.test.js +4 -2
  68. package/components/input-email/test/lion-input-email.test.js +2 -46
  69. package/components/input-email/test-suites/lion-input-email.suite.js +63 -0
  70. package/components/input-file/test/lion-input-file.test.js +2 -1274
  71. package/components/input-file/test-suites/lion-input-file.suite.js +1505 -0
  72. package/components/input-iban/test/lion-input-iban-integrations.test.js +4 -2
  73. package/components/input-iban/test/lion-input-iban.test.js +2 -73
  74. package/components/input-iban/test-suites/lion-input-iban.suite.js +88 -0
  75. package/components/input-range/test/lion-input-range.test.js +2 -176
  76. package/components/input-range/test-suites/lion-input-range.suite.js +195 -0
  77. package/components/input-stepper/test-suites/lion-input-stepper.integration.suite.js +14 -3
  78. package/components/input-stepper/test-suites/lion-input-stepper.suite.js +14 -10
  79. package/components/input-tel/test/LionInputTel.test.js +3 -1
  80. package/components/input-tel/test/parsers.test.js +87 -0
  81. package/components/input-tel/test-helpers/mockPhoneUtilManager.js +14 -3
  82. package/components/input-tel/test-suites/LionInputTel.suite.js +9 -4
  83. package/components/input-tel-dropdown/test/LionInputTelDropdown.test.js +6 -4
  84. package/components/input-tel-dropdown/test-suites/LionInputTelDropdown--parentheses.suite.js +10 -13
  85. package/components/input-tel-dropdown/test-suites/LionInputTelDropdown.suite.js +6 -5
  86. package/components/listbox/src/LionListbox.js +1 -1
  87. package/components/listbox/test-suites/ListboxMixin.suite.js +19 -19
  88. package/components/menu/test-suites/InteractiveListMixin.suite.js +6 -9
  89. package/components/menu/test-suites/LionMenu.suite.js +6 -10
  90. package/components/menu/test-suites/LionMenuInteractions.suite.js +13 -4
  91. package/components/menu/test-suites/MoreButtonMenuMixin.suite.js +6 -9
  92. package/components/menu/test-suites/MultiLevelListMixin.suite.js +15 -11
  93. package/components/overlays/src/OverlayController.js +7 -2
  94. package/components/overlays/src/OverlayMixin.js +3 -6
  95. package/components/overlays/test/OverlayController.test.js +37 -1
  96. package/components/overlays/test/invoker-compatibility.test.js +37 -0
  97. package/components/overlays/test-suites/OverlayMixin.suite.js +3 -5
  98. package/components/pagination/test/lion-pagination.test.js +2 -176
  99. package/components/pagination/test-suites/LionPagination.suite.js +201 -0
  100. package/components/progress-indicator/test/lion-progress-indicator.test.js +2 -203
  101. package/components/progress-indicator/test-suites/lion-progress-indicator.suite.js +214 -0
  102. package/components/radio-group/test/lion-radio-group.test.js +2 -162
  103. package/components/radio-group/test/lion-radio.test.js +2 -54
  104. package/components/radio-group/test-suites/lion-radio-group.suite.js +173 -0
  105. package/components/radio-group/test-suites/lion-radio.suite.js +70 -0
  106. package/components/select/test/lion-select.test.js +2 -79
  107. package/components/select/test-suites/LionSelect.suite.js +94 -0
  108. package/components/select-rich/src/LionSelectRich.js +2 -1
  109. package/components/select-rich/test/lion-select-invoker.test.js +2 -86
  110. package/components/select-rich/test/lion-select-rich-interaction.test.js +2 -430
  111. package/components/select-rich/test/lion-select-rich.test.js +2 -1193
  112. package/components/select-rich/test-suites/lion-select-invoker.suite.js +98 -0
  113. package/components/select-rich/test-suites/lion-select-rich-interaction.suite.js +452 -0
  114. package/components/select-rich/test-suites/lion-select-rich.suite.js +1236 -0
  115. package/components/steps/test/lion-step.test.js +2 -97
  116. package/components/steps/test/lion-steps.test.js +2 -433
  117. package/components/steps/test-suites/lion-step.suite.js +113 -0
  118. package/components/steps/test-suites/lion-steps.suite.js +445 -0
  119. package/components/switch/test/lion-switch.test.js +2 -232
  120. package/components/switch/test-suites/lion-switch.suite.js +450 -0
  121. package/components/tabs/test/lion-tabs.test.js +2 -596
  122. package/components/tabs/test-suites/lion-tabs.suite.js +617 -0
  123. package/components/textarea/src/LionTextarea.js +5 -2
  124. package/components/textarea/test/lion-textarea.test.js +2 -159
  125. package/components/textarea/test-suites/lion-textarea.suite.js +192 -0
  126. package/components/tooltip/test/lion-tooltip.test.js +2 -393
  127. package/components/tooltip/test-suites/lion-tooltip.suite.js +409 -0
  128. package/custom-elements.json +14890 -10187
  129. package/dialog-test-suites.js +2 -0
  130. package/dist-types/components/accordion/test/lion-accordion.test.d.ts +1 -2
  131. package/dist-types/components/accordion/test/lion-accordion.test.d.ts.map +1 -1
  132. package/dist-types/components/accordion/test-suites/lion-accordion.suite.d.ts +18 -0
  133. package/dist-types/components/accordion/test-suites/lion-accordion.suite.d.ts.map +1 -0
  134. package/dist-types/components/button/test-suites/LionButton.suite.d.ts +10 -4
  135. package/dist-types/components/button/test-suites/LionButton.suite.d.ts.map +1 -1
  136. package/dist-types/components/button/test-suites/LionButtonReset.suite.d.ts +10 -4
  137. package/dist-types/components/button/test-suites/LionButtonReset.suite.d.ts.map +1 -1
  138. package/dist-types/components/button/test-suites/LionButtonSubmit.suite.d.ts +10 -4
  139. package/dist-types/components/button/test-suites/LionButtonSubmit.suite.d.ts.map +1 -1
  140. package/dist-types/components/calendar/test/lion-calendar.test.d.ts +1 -3
  141. package/dist-types/components/calendar/test/lion-calendar.test.d.ts.map +1 -1
  142. package/dist-types/components/calendar/test-suites/LionCalendar.suite.d.ts +13 -4
  143. package/dist-types/components/calendar/test-suites/LionCalendar.suite.d.ts.map +1 -1
  144. package/dist-types/components/checkbox-group/test/lion-checkbox-group-integrations.test.d.ts.map +1 -1
  145. package/dist-types/components/checkbox-group/test/lion-checkbox-integrations.test.d.ts.map +1 -1
  146. package/dist-types/components/checkbox-group/test-suites/CheckboxIndeterminate.suite.d.ts +12 -9
  147. package/dist-types/components/checkbox-group/test-suites/CheckboxIndeterminate.suite.d.ts.map +1 -1
  148. package/dist-types/components/collapsible/test/lion-collapsible.test.d.ts +1 -3
  149. package/dist-types/components/collapsible/test/lion-collapsible.test.d.ts.map +1 -1
  150. package/dist-types/components/collapsible/test-suites/LionCollapsible.suite.d.ts +18 -0
  151. package/dist-types/components/collapsible/test-suites/LionCollapsible.suite.d.ts.map +1 -0
  152. package/dist-types/components/combobox/test/lion-combobox.test.d.ts +1 -5
  153. package/dist-types/components/combobox/test/lion-combobox.test.d.ts.map +1 -1
  154. package/dist-types/components/combobox/test-suites/lion-combobox.suite.d.ts +17 -0
  155. package/dist-types/components/combobox/test-suites/lion-combobox.suite.d.ts.map +1 -0
  156. package/dist-types/components/core/src/ScopedElementsMixin.d.ts.map +1 -1
  157. package/dist-types/components/core/test-helpers/isElementVisible.d.ts +12 -0
  158. package/dist-types/components/core/test-helpers/isElementVisible.d.ts.map +1 -0
  159. package/dist-types/components/core/test-helpers/resolveSuiteTag.d.ts +29 -0
  160. package/dist-types/components/core/test-helpers/resolveSuiteTag.d.ts.map +1 -0
  161. package/dist-types/components/core/types/TestSuiteTypes.d.ts +40 -0
  162. package/dist-types/components/core/types/TestSuiteTypes.d.ts.map +1 -0
  163. package/dist-types/components/dialog/test/lion-dialog.integration.test.d.ts.map +1 -1
  164. package/dist-types/components/dialog/test/lion-dialog.test.d.ts +1 -5
  165. package/dist-types/components/dialog/test/lion-dialog.test.d.ts.map +1 -1
  166. package/dist-types/components/dialog/test-suites/lion-dialog.suite.d.ts +19 -0
  167. package/dist-types/components/dialog/test-suites/lion-dialog.suite.d.ts.map +1 -0
  168. package/dist-types/components/drawer/test/lion-drawer.test.d.ts +1 -3
  169. package/dist-types/components/drawer/test/lion-drawer.test.d.ts.map +1 -1
  170. package/dist-types/components/drawer/test-suites/LionDrawer.suite.d.ts +20 -0
  171. package/dist-types/components/drawer/test-suites/LionDrawer.suite.d.ts.map +1 -0
  172. package/dist-types/components/fieldset/test/lion-fieldset.test.d.ts.map +1 -1
  173. package/dist-types/components/form/test/lion-form.test.d.ts +1 -12
  174. package/dist-types/components/form/test/lion-form.test.d.ts.map +1 -1
  175. package/dist-types/components/form/test-suites/lion-form.suite.d.ts +39 -0
  176. package/dist-types/components/form/test-suites/lion-form.suite.d.ts.map +1 -0
  177. package/dist-types/components/form-core/test-suites/FormRegistrationMixins.suite.d.ts +14 -17
  178. package/dist-types/components/form-core/test-suites/FormRegistrationMixins.suite.d.ts.map +1 -1
  179. package/dist-types/components/form-core/test-suites/FormatMixin.suite.d.ts +22 -38
  180. package/dist-types/components/form-core/test-suites/FormatMixin.suite.d.ts.map +1 -1
  181. package/dist-types/components/form-core/test-suites/InteractionStateMixin.suite.d.ts +11 -5
  182. package/dist-types/components/form-core/test-suites/InteractionStateMixin.suite.d.ts.map +1 -1
  183. package/dist-types/components/form-core/test-suites/NativeTextFieldMixin.suite.d.ts +9 -4
  184. package/dist-types/components/form-core/test-suites/NativeTextFieldMixin.suite.d.ts.map +1 -1
  185. package/dist-types/components/form-core/test-suites/ValidateMixin.suite.d.ts +9 -4
  186. package/dist-types/components/form-core/test-suites/ValidateMixin.suite.d.ts.map +1 -1
  187. package/dist-types/components/form-core/test-suites/ValidateMixinFeedbackPart.suite.d.ts +10 -1
  188. package/dist-types/components/form-core/test-suites/ValidateMixinFeedbackPart.suite.d.ts.map +1 -1
  189. package/dist-types/components/form-core/test-suites/choice-group/ChoiceGroupMixin.suite.d.ts +17 -6
  190. package/dist-types/components/form-core/test-suites/choice-group/ChoiceGroupMixin.suite.d.ts.map +1 -1
  191. package/dist-types/components/form-core/test-suites/choice-group/ChoiceInputMixin.suite.d.ts +5 -2
  192. package/dist-types/components/form-core/test-suites/choice-group/ChoiceInputMixin.suite.d.ts.map +1 -1
  193. package/dist-types/components/form-core/test-suites/choice-group/CustomChoiceGroupMixin.suite.d.ts +10 -5
  194. package/dist-types/components/form-core/test-suites/choice-group/CustomChoiceGroupMixin.suite.d.ts.map +1 -1
  195. package/dist-types/components/form-core/test-suites/form-group/FormGroupMixin-input.suite.d.ts +10 -5
  196. package/dist-types/components/form-core/test-suites/form-group/FormGroupMixin-input.suite.d.ts.map +1 -1
  197. package/dist-types/components/form-core/test-suites/form-group/FormGroupMixin.suite.d.ts +10 -5
  198. package/dist-types/components/form-core/test-suites/form-group/FormGroupMixin.suite.d.ts.map +1 -1
  199. package/dist-types/components/icon/test/lion-icon.test.d.ts +1 -4
  200. package/dist-types/components/icon/test/lion-icon.test.d.ts.map +1 -1
  201. package/dist-types/components/icon/test-suites/lion-icon.suite.d.ts +16 -0
  202. package/dist-types/components/icon/test-suites/lion-icon.suite.d.ts.map +1 -0
  203. package/dist-types/components/input/test/lion-input-integrations.test.d.ts.map +1 -1
  204. package/dist-types/components/input/test/lion-input.test.d.ts +1 -2
  205. package/dist-types/components/input/test/lion-input.test.d.ts.map +1 -1
  206. package/dist-types/components/input/test-suites/lion-input.suite.d.ts +17 -0
  207. package/dist-types/components/input/test-suites/lion-input.suite.d.ts.map +1 -0
  208. package/dist-types/components/input-amount/src/parsers.d.ts.map +1 -1
  209. package/dist-types/components/input-amount/test/lion-input-amount-integrations.test.d.ts.map +1 -1
  210. package/dist-types/components/input-amount/test/lion-input-amount.test.d.ts +1 -2
  211. package/dist-types/components/input-amount/test/lion-input-amount.test.d.ts.map +1 -1
  212. package/dist-types/components/input-amount/test-suites/lion-input-amount.suite.d.ts +19 -0
  213. package/dist-types/components/input-amount/test-suites/lion-input-amount.suite.d.ts.map +1 -0
  214. package/dist-types/components/input-amount-dropdown/test/lion-input-amount-dropdown-integrations.test.d.ts.map +1 -1
  215. package/dist-types/components/input-amount-dropdown/test-suites/LionInputAmountDropdown.suite.d.ts +7 -3
  216. package/dist-types/components/input-amount-dropdown/test-suites/LionInputAmountDropdown.suite.d.ts.map +1 -1
  217. package/dist-types/components/input-date/test/lion-input-date-integrations.test.d.ts.map +1 -1
  218. package/dist-types/components/input-date/test/lion-input-date.test.d.ts +1 -3
  219. package/dist-types/components/input-date/test/lion-input-date.test.d.ts.map +1 -1
  220. package/dist-types/components/input-date/test-suites/lion-input-date.suite.d.ts +15 -0
  221. package/dist-types/components/input-date/test-suites/lion-input-date.suite.d.ts.map +1 -0
  222. package/dist-types/components/input-datepicker/test/lion-input-datepicker-integrations.test.d.ts.map +1 -1
  223. package/dist-types/components/input-datepicker/test/lion-input-datepicker.test.d.ts +1 -2
  224. package/dist-types/components/input-datepicker/test/lion-input-datepicker.test.d.ts.map +1 -1
  225. package/dist-types/components/input-datepicker/test-helpers/DatepickerInputObject.d.ts +8 -0
  226. package/dist-types/components/input-datepicker/test-helpers/DatepickerInputObject.d.ts.map +1 -1
  227. package/dist-types/components/input-datepicker/test-suites/LionInputDatepicker.suite.d.ts +15 -5
  228. package/dist-types/components/input-datepicker/test-suites/LionInputDatepicker.suite.d.ts.map +1 -1
  229. package/dist-types/components/input-email/test/lion-input-email-integrations.test.d.ts.map +1 -1
  230. package/dist-types/components/input-email/test/lion-input-email.test.d.ts +1 -3
  231. package/dist-types/components/input-email/test/lion-input-email.test.d.ts.map +1 -1
  232. package/dist-types/components/input-email/test-suites/lion-input-email.suite.d.ts +15 -0
  233. package/dist-types/components/input-email/test-suites/lion-input-email.suite.d.ts.map +1 -0
  234. package/dist-types/components/input-file/test/lion-input-file.test.d.ts +1 -5
  235. package/dist-types/components/input-file/test/lion-input-file.test.d.ts.map +1 -1
  236. package/dist-types/components/input-file/test-suites/lion-input-file.suite.d.ts +19 -0
  237. package/dist-types/components/input-file/test-suites/lion-input-file.suite.d.ts.map +1 -0
  238. package/dist-types/components/input-iban/test/lion-input-iban-integrations.test.d.ts.map +1 -1
  239. package/dist-types/components/input-iban/test/lion-input-iban.test.d.ts +1 -3
  240. package/dist-types/components/input-iban/test/lion-input-iban.test.d.ts.map +1 -1
  241. package/dist-types/components/input-iban/test-suites/lion-input-iban.suite.d.ts +15 -0
  242. package/dist-types/components/input-iban/test-suites/lion-input-iban.suite.d.ts.map +1 -0
  243. package/dist-types/components/input-range/test/lion-input-range.test.d.ts +1 -3
  244. package/dist-types/components/input-range/test/lion-input-range.test.d.ts.map +1 -1
  245. package/dist-types/components/input-range/test-suites/lion-input-range.suite.d.ts +15 -0
  246. package/dist-types/components/input-range/test-suites/lion-input-range.suite.d.ts.map +1 -0
  247. package/dist-types/components/input-stepper/test-suites/lion-input-stepper.integration.suite.d.ts +10 -2
  248. package/dist-types/components/input-stepper/test-suites/lion-input-stepper.integration.suite.d.ts.map +1 -1
  249. package/dist-types/components/input-stepper/test-suites/lion-input-stepper.suite.d.ts +10 -2
  250. package/dist-types/components/input-stepper/test-suites/lion-input-stepper.suite.d.ts.map +1 -1
  251. package/dist-types/components/input-tel/test-helpers/mockPhoneUtilManager.d.ts +5 -0
  252. package/dist-types/components/input-tel/test-helpers/mockPhoneUtilManager.d.ts.map +1 -1
  253. package/dist-types/components/input-tel/test-suites/LionInputTel.suite.d.ts +6 -4
  254. package/dist-types/components/input-tel/test-suites/LionInputTel.suite.d.ts.map +1 -1
  255. package/dist-types/components/input-tel-dropdown/test-suites/LionInputTelDropdown--parentheses.suite.d.ts +7 -3
  256. package/dist-types/components/input-tel-dropdown/test-suites/LionInputTelDropdown--parentheses.suite.d.ts.map +1 -1
  257. package/dist-types/components/input-tel-dropdown/test-suites/LionInputTelDropdown.suite.d.ts +7 -3
  258. package/dist-types/components/input-tel-dropdown/test-suites/LionInputTelDropdown.suite.d.ts.map +1 -1
  259. package/dist-types/components/listbox/src/LionListbox.d.ts +2 -2
  260. package/dist-types/components/listbox/src/LionListbox.d.ts.map +1 -1
  261. package/dist-types/components/listbox/test-suites/ListboxMixin.suite.d.ts +3 -4
  262. package/dist-types/components/listbox/test-suites/ListboxMixin.suite.d.ts.map +1 -1
  263. package/dist-types/components/menu/test-suites/InteractiveListMixin.suite.d.ts +6 -5
  264. package/dist-types/components/menu/test-suites/InteractiveListMixin.suite.d.ts.map +1 -1
  265. package/dist-types/components/menu/test-suites/LionMenu.suite.d.ts +6 -5
  266. package/dist-types/components/menu/test-suites/LionMenu.suite.d.ts.map +1 -1
  267. package/dist-types/components/menu/test-suites/LionMenuInteractions.suite.d.ts +10 -4
  268. package/dist-types/components/menu/test-suites/LionMenuInteractions.suite.d.ts.map +1 -1
  269. package/dist-types/components/menu/test-suites/MoreButtonMenuMixin.suite.d.ts +6 -5
  270. package/dist-types/components/menu/test-suites/MoreButtonMenuMixin.suite.d.ts.map +1 -1
  271. package/dist-types/components/menu/test-suites/MultiLevelListMixin.suite.d.ts +7 -6
  272. package/dist-types/components/menu/test-suites/MultiLevelListMixin.suite.d.ts.map +1 -1
  273. package/dist-types/components/overlays/src/OverlayController.d.ts +3 -1
  274. package/dist-types/components/overlays/src/OverlayController.d.ts.map +1 -1
  275. package/dist-types/components/overlays/src/OverlayMixin.d.ts.map +1 -1
  276. package/dist-types/components/overlays/test/invoker-compatibility.test.d.ts +3 -0
  277. package/dist-types/components/overlays/test/invoker-compatibility.test.d.ts.map +1 -0
  278. package/dist-types/components/overlays/test-suites/OverlayMixin.suite.d.ts.map +1 -1
  279. package/dist-types/components/pagination/test/lion-pagination.test.d.ts +1 -3
  280. package/dist-types/components/pagination/test/lion-pagination.test.d.ts.map +1 -1
  281. package/dist-types/components/pagination/test-suites/LionPagination.suite.d.ts +18 -0
  282. package/dist-types/components/pagination/test-suites/LionPagination.suite.d.ts.map +1 -0
  283. package/dist-types/components/progress-indicator/test/lion-progress-indicator.test.d.ts +1 -3
  284. package/dist-types/components/progress-indicator/test/lion-progress-indicator.test.d.ts.map +1 -1
  285. package/dist-types/components/progress-indicator/test-suites/lion-progress-indicator.suite.d.ts +15 -0
  286. package/dist-types/components/progress-indicator/test-suites/lion-progress-indicator.suite.d.ts.map +1 -0
  287. package/dist-types/components/radio-group/test/lion-radio-group.test.d.ts +1 -5
  288. package/dist-types/components/radio-group/test/lion-radio-group.test.d.ts.map +1 -1
  289. package/dist-types/components/radio-group/test/lion-radio.test.d.ts +1 -2
  290. package/dist-types/components/radio-group/test/lion-radio.test.d.ts.map +1 -1
  291. package/dist-types/components/radio-group/test-suites/lion-radio-group.suite.d.ts +19 -0
  292. package/dist-types/components/radio-group/test-suites/lion-radio-group.suite.d.ts.map +1 -0
  293. package/dist-types/components/radio-group/test-suites/lion-radio.suite.d.ts +17 -0
  294. package/dist-types/components/radio-group/test-suites/lion-radio.suite.d.ts.map +1 -0
  295. package/dist-types/components/select/test/lion-select.test.d.ts +1 -2
  296. package/dist-types/components/select/test/lion-select.test.d.ts.map +1 -1
  297. package/dist-types/components/select/test-suites/LionSelect.suite.d.ts +16 -0
  298. package/dist-types/components/select/test-suites/LionSelect.suite.d.ts.map +1 -0
  299. package/dist-types/components/select-rich/src/LionSelectRich.d.ts +5 -4
  300. package/dist-types/components/select-rich/src/LionSelectRich.d.ts.map +1 -1
  301. package/dist-types/components/select-rich/test/lion-select-invoker.test.d.ts +1 -2
  302. package/dist-types/components/select-rich/test/lion-select-invoker.test.d.ts.map +1 -1
  303. package/dist-types/components/select-rich/test/lion-select-rich-interaction.test.d.ts +1 -5
  304. package/dist-types/components/select-rich/test/lion-select-rich-interaction.test.d.ts.map +1 -1
  305. package/dist-types/components/select-rich/test/lion-select-rich.test.d.ts +1 -8
  306. package/dist-types/components/select-rich/test/lion-select-rich.test.d.ts.map +1 -1
  307. package/dist-types/components/select-rich/test-suites/lion-select-invoker.suite.d.ts +19 -0
  308. package/dist-types/components/select-rich/test-suites/lion-select-invoker.suite.d.ts.map +1 -0
  309. package/dist-types/components/select-rich/test-suites/lion-select-rich-interaction.suite.d.ts +19 -0
  310. package/dist-types/components/select-rich/test-suites/lion-select-rich-interaction.suite.d.ts.map +1 -0
  311. package/dist-types/components/select-rich/test-suites/lion-select-rich.suite.d.ts +21 -0
  312. package/dist-types/components/select-rich/test-suites/lion-select-rich.suite.d.ts.map +1 -0
  313. package/dist-types/components/steps/test/lion-step.test.d.ts +1 -2
  314. package/dist-types/components/steps/test/lion-step.test.d.ts.map +1 -1
  315. package/dist-types/components/steps/test/lion-steps.test.d.ts +1 -8
  316. package/dist-types/components/steps/test/lion-steps.test.d.ts.map +1 -1
  317. package/dist-types/components/steps/test-suites/lion-step.suite.d.ts +17 -0
  318. package/dist-types/components/steps/test-suites/lion-step.suite.d.ts.map +1 -0
  319. package/dist-types/components/steps/test-suites/lion-steps.suite.d.ts +22 -0
  320. package/dist-types/components/steps/test-suites/lion-steps.suite.d.ts.map +1 -0
  321. package/dist-types/components/switch/test/lion-switch.test.d.ts +1 -4
  322. package/dist-types/components/switch/test/lion-switch.test.d.ts.map +1 -1
  323. package/dist-types/components/switch/test-suites/lion-switch.suite.d.ts +17 -0
  324. package/dist-types/components/switch/test-suites/lion-switch.suite.d.ts.map +1 -0
  325. package/dist-types/components/tabs/test/lion-tabs.test.d.ts +1 -5
  326. package/dist-types/components/tabs/test/lion-tabs.test.d.ts.map +1 -1
  327. package/dist-types/components/tabs/test-suites/lion-tabs.suite.d.ts +17 -0
  328. package/dist-types/components/tabs/test-suites/lion-tabs.suite.d.ts.map +1 -0
  329. package/dist-types/components/textarea/src/LionTextarea.d.ts.map +1 -1
  330. package/dist-types/components/textarea/test/lion-textarea.test.d.ts +1 -3
  331. package/dist-types/components/textarea/test/lion-textarea.test.d.ts.map +1 -1
  332. package/dist-types/components/textarea/test-suites/lion-textarea.suite.d.ts +15 -0
  333. package/dist-types/components/textarea/test-suites/lion-textarea.suite.d.ts.map +1 -0
  334. package/dist-types/components/tooltip/test/lion-tooltip.test.d.ts +1 -3
  335. package/dist-types/components/tooltip/test/lion-tooltip.test.d.ts.map +1 -1
  336. package/dist-types/components/tooltip/test-suites/lion-tooltip.suite.d.ts +19 -0
  337. package/dist-types/components/tooltip/test-suites/lion-tooltip.suite.d.ts.map +1 -0
  338. package/dist-types/exports/accordion-test-suites.d.ts +2 -0
  339. package/dist-types/exports/accordion-test-suites.d.ts.map +1 -0
  340. package/dist-types/exports/collapsible-test-suites.d.ts +2 -0
  341. package/dist-types/exports/collapsible-test-suites.d.ts.map +1 -0
  342. package/dist-types/exports/combobox-test-suites.d.ts +2 -0
  343. package/dist-types/exports/combobox-test-suites.d.ts.map +1 -0
  344. package/dist-types/exports/dialog-test-suites.d.ts +2 -0
  345. package/dist-types/exports/dialog-test-suites.d.ts.map +1 -0
  346. package/dist-types/exports/drawer-test-suites.d.ts +2 -0
  347. package/dist-types/exports/drawer-test-suites.d.ts.map +1 -0
  348. package/dist-types/exports/form-test-suites.d.ts +2 -0
  349. package/dist-types/exports/form-test-suites.d.ts.map +1 -0
  350. package/dist-types/exports/icon-test-suites.d.ts +2 -0
  351. package/dist-types/exports/icon-test-suites.d.ts.map +1 -0
  352. package/dist-types/exports/input-amount-test-suites.d.ts +2 -0
  353. package/dist-types/exports/input-amount-test-suites.d.ts.map +1 -0
  354. package/dist-types/exports/input-date-test-suites.d.ts +2 -0
  355. package/dist-types/exports/input-date-test-suites.d.ts.map +1 -0
  356. package/dist-types/exports/input-email-test-suites.d.ts +2 -0
  357. package/dist-types/exports/input-email-test-suites.d.ts.map +1 -0
  358. package/dist-types/exports/input-file-test-suites.d.ts +2 -0
  359. package/dist-types/exports/input-file-test-suites.d.ts.map +1 -0
  360. package/dist-types/exports/input-iban-test-suites.d.ts +2 -0
  361. package/dist-types/exports/input-iban-test-suites.d.ts.map +1 -0
  362. package/dist-types/exports/input-range-test-suites.d.ts +2 -0
  363. package/dist-types/exports/input-range-test-suites.d.ts.map +1 -0
  364. package/dist-types/exports/input-stepper-suites.d.ts +7 -2
  365. package/dist-types/exports/input-stepper-suites.d.ts.map +1 -1
  366. package/dist-types/exports/input-test-suites.d.ts +2 -0
  367. package/dist-types/exports/input-test-suites.d.ts.map +1 -0
  368. package/dist-types/exports/menu-test-suites.d.ts.map +1 -1
  369. package/dist-types/exports/pagination-test-suites.d.ts +2 -0
  370. package/dist-types/exports/pagination-test-suites.d.ts.map +1 -0
  371. package/dist-types/exports/progress-indicator-test-suites.d.ts +2 -0
  372. package/dist-types/exports/progress-indicator-test-suites.d.ts.map +1 -0
  373. package/dist-types/exports/radio-group-test-suites.d.ts +3 -0
  374. package/dist-types/exports/radio-group-test-suites.d.ts.map +1 -0
  375. package/dist-types/exports/select-rich-test-suites.d.ts +4 -0
  376. package/dist-types/exports/select-rich-test-suites.d.ts.map +1 -0
  377. package/dist-types/exports/select-test-suites.d.ts +2 -0
  378. package/dist-types/exports/select-test-suites.d.ts.map +1 -0
  379. package/dist-types/exports/steps-test-suites.d.ts +3 -0
  380. package/dist-types/exports/steps-test-suites.d.ts.map +1 -0
  381. package/dist-types/exports/switch-test-suites.d.ts +2 -0
  382. package/dist-types/exports/switch-test-suites.d.ts.map +1 -0
  383. package/dist-types/exports/tabs-test-suites.d.ts +2 -0
  384. package/dist-types/exports/tabs-test-suites.d.ts.map +1 -0
  385. package/dist-types/exports/textarea-test-suites.d.ts +2 -0
  386. package/dist-types/exports/textarea-test-suites.d.ts.map +1 -0
  387. package/dist-types/exports/tooltip-test-suites.d.ts +2 -0
  388. package/dist-types/exports/tooltip-test-suites.d.ts.map +1 -0
  389. package/dist-types/exports/types/test-suites.d.ts +4 -0
  390. package/dist-types/exports/types/test-suites.d.ts.map +1 -0
  391. package/dist-types/tsconfig.tsbuildinfo +1 -1
  392. package/drawer-test-suites.js +1 -0
  393. package/exports/accordion-test-suites.js +2 -0
  394. package/exports/collapsible-test-suites.js +1 -0
  395. package/exports/combobox-test-suites.js +2 -0
  396. package/exports/dialog-test-suites.js +2 -0
  397. package/exports/drawer-test-suites.js +1 -0
  398. package/exports/form-test-suites.js +2 -0
  399. package/exports/icon-test-suites.js +2 -0
  400. package/exports/input-amount-test-suites.js +2 -0
  401. package/exports/input-date-test-suites.js +2 -0
  402. package/exports/input-email-test-suites.js +2 -0
  403. package/exports/input-file-test-suites.js +2 -0
  404. package/exports/input-iban-test-suites.js +2 -0
  405. package/exports/input-range-test-suites.js +2 -0
  406. package/exports/input-stepper-suites.js +18 -4
  407. package/exports/input-test-suites.js +2 -0
  408. package/exports/menu-test-suites.js +3 -0
  409. package/exports/pagination-test-suites.js +1 -0
  410. package/exports/progress-indicator-test-suites.js +2 -0
  411. package/exports/radio-group-test-suites.js +3 -0
  412. package/exports/select-rich-test-suites.js +4 -0
  413. package/exports/select-test-suites.js +1 -0
  414. package/exports/steps-test-suites.js +3 -0
  415. package/exports/switch-test-suites.js +2 -0
  416. package/exports/tabs-test-suites.js +2 -0
  417. package/exports/textarea-test-suites.js +2 -0
  418. package/exports/tooltip-test-suites.js +2 -0
  419. package/exports/types/test-suites.ts +3 -0
  420. package/form-test-suites.js +2 -0
  421. package/generated/awesome-phonenumber/provenance.json +1 -1
  422. package/icon-test-suites.js +2 -0
  423. package/input-amount-test-suites.js +2 -0
  424. package/input-date-test-suites.js +2 -0
  425. package/input-email-test-suites.js +2 -0
  426. package/input-file-test-suites.js +2 -0
  427. package/input-iban-test-suites.js +2 -0
  428. package/input-range-test-suites.js +2 -0
  429. package/input-stepper-suites.js +18 -4
  430. package/input-test-suites.js +2 -0
  431. package/menu-test-suites.js +3 -0
  432. package/package.json +11 -7
  433. package/pagination-test-suites.js +1 -0
  434. package/progress-indicator-test-suites.js +2 -0
  435. package/radio-group-test-suites.js +3 -0
  436. package/select-rich-test-suites.js +4 -0
  437. package/select-test-suites.js +1 -0
  438. package/steps-test-suites.js +3 -0
  439. package/switch-test-suites.js +2 -0
  440. package/tabs-test-suites.js +2 -0
  441. package/textarea-test-suites.js +2 -0
  442. package/tooltip-test-suites.js +2 -0
  443. package/vscode.html-custom-data.json +60 -5
  444. package/web-types.json +219 -1
  445. package/components/button/test/demos.screenshots-test.js +0 -100
  446. package/components/calendar/test/demos.screenshots-test.js +0 -118
  447. package/components/input-file/test/lion-selected-file-list.test.js +0 -199
  448. package/components/select-rich/test/demos.screenshots-test.js +0 -168
  449. package/components/switch/test/lion-switch-button.test.js +0 -204
  450. package/dist-types/components/button/test/demos.screenshots-test.d.ts +0 -2
  451. package/dist-types/components/button/test/demos.screenshots-test.d.ts.map +0 -1
  452. package/dist-types/components/calendar/test/demos.screenshots-test.d.ts +0 -2
  453. package/dist-types/components/calendar/test/demos.screenshots-test.d.ts.map +0 -1
  454. package/dist-types/components/input-file/test/lion-selected-file-list.test.d.ts +0 -5
  455. package/dist-types/components/input-file/test/lion-selected-file-list.test.d.ts.map +0 -1
  456. package/dist-types/components/select-rich/test/demos.screenshots-test.d.ts +0 -2
  457. package/dist-types/components/select-rich/test/demos.screenshots-test.d.ts.map +0 -1
  458. package/dist-types/components/switch/test/lion-switch-button.test.d.ts +0 -4
  459. package/dist-types/components/switch/test/lion-switch-button.test.d.ts.map +0 -1
  460. package/docs/components/accordion/api-table.md +0 -53
  461. package/docs/components/accordion/index.md +0 -13
  462. package/docs/components/accordion/overview.md +0 -141
  463. package/docs/components/accordion/reference.md +0 -59
  464. package/docs/components/accordion/use-cases.md +0 -303
  465. package/docs/components/button/api-table.md +0 -84
  466. package/docs/components/button/assets/bootstrap-button.js +0 -245
  467. package/docs/components/button/examples.md +0 -42
  468. package/docs/components/button/extensions.md +0 -42
  469. package/docs/components/button/index.md +0 -13
  470. package/docs/components/button/overview.md +0 -42
  471. package/docs/components/button/src/icon.svg.js +0 -5
  472. package/docs/components/button/use-cases.md +0 -121
  473. package/docs/components/calendar/api-table.md +0 -56
  474. package/docs/components/calendar/index.md +0 -13
  475. package/docs/components/calendar/overview.md +0 -61
  476. package/docs/components/calendar/use-cases.md +0 -243
  477. package/docs/components/checkbox-group/api-table.md +0 -117
  478. package/docs/components/checkbox-group/index.md +0 -13
  479. package/docs/components/checkbox-group/overview.md +0 -51
  480. package/docs/components/checkbox-group/use-cases.md +0 -192
  481. package/docs/components/collapsible/api-table.md +0 -55
  482. package/docs/components/collapsible/assets/CustomCollapsible.js +0 -117
  483. package/docs/components/collapsible/assets/applyDemoCollapsibleStyles.js +0 -41
  484. package/docs/components/collapsible/examples.md +0 -95
  485. package/docs/components/collapsible/index.md +0 -13
  486. package/docs/components/collapsible/overview.md +0 -51
  487. package/docs/components/collapsible/use-cases.md +0 -91
  488. package/docs/components/combobox/api-table.md +0 -122
  489. package/docs/components/combobox/extensions.md +0 -174
  490. package/docs/components/combobox/index.md +0 -13
  491. package/docs/components/combobox/overview.md +0 -74
  492. package/docs/components/combobox/src/LinkMixin.js +0 -60
  493. package/docs/components/combobox/src/demo-selection-display.js +0 -164
  494. package/docs/components/combobox/src/gh-combobox/gh-button.js +0 -71
  495. package/docs/components/combobox/src/gh-combobox/gh-combobox.js +0 -515
  496. package/docs/components/combobox/src/google-combobox/assets/google-clear-icon.js +0 -9
  497. package/docs/components/combobox/src/google-combobox/assets/google-search-icon.js +0 -9
  498. package/docs/components/combobox/src/google-combobox/assets/google-voice-search-icon.js +0 -19
  499. package/docs/components/combobox/src/google-combobox/google-combobox.js +0 -461
  500. package/docs/components/combobox/src/lazyRender.js +0 -29
  501. package/docs/components/combobox/src/levenshtein.js +0 -95
  502. package/docs/components/combobox/src/md-combobox/MdFieldMixin.js +0 -345
  503. package/docs/components/combobox/src/md-combobox/md-combobox.js +0 -91
  504. package/docs/components/combobox/src/md-combobox/md-input.js +0 -5
  505. package/docs/components/combobox/src/md-combobox/style/load-roboto.js +0 -6
  506. package/docs/components/combobox/src/md-combobox/style/md-ripple.js +0 -82
  507. package/docs/components/combobox/src/wa-combobox/wa-combobox.js +0 -375
  508. package/docs/components/combobox/use-cases.md +0 -561
  509. package/docs/components/dialog/api-table.md +0 -61
  510. package/docs/components/dialog/index.md +0 -13
  511. package/docs/components/dialog/overview.md +0 -71
  512. package/docs/components/dialog/src/demoStyle.js +0 -57
  513. package/docs/components/dialog/src/external-dialog.js +0 -32
  514. package/docs/components/dialog/src/slots-dialog-content.js +0 -32
  515. package/docs/components/dialog/src/styled-dialog-content.js +0 -38
  516. package/docs/components/dialog/use-cases.md +0 -199
  517. package/docs/components/drawer/api-table.md +0 -64
  518. package/docs/components/drawer/index.md +0 -13
  519. package/docs/components/drawer/overview.md +0 -80
  520. package/docs/components/drawer/src/demoStyle.js +0 -71
  521. package/docs/components/drawer/use-cases.md +0 -206
  522. package/docs/components/fieldset/api-table.md +0 -24
  523. package/docs/components/fieldset/index.md +0 -13
  524. package/docs/components/fieldset/overview.md +0 -61
  525. package/docs/components/fieldset/use-cases.md +0 -203
  526. package/docs/components/form/api-table.md +0 -12
  527. package/docs/components/form/index.md +0 -13
  528. package/docs/components/form/overview.md +0 -66
  529. package/docs/components/form/use-cases.md +0 -230
  530. package/docs/components/icon/api-table.md +0 -41
  531. package/docs/components/icon/assets/bugs/bug01.svg.js +0 -2
  532. package/docs/components/icon/assets/bugs/bug02.svg.js +0 -2
  533. package/docs/components/icon/assets/bugs/bug05.svg.js +0 -2
  534. package/docs/components/icon/assets/bugs/bug06.svg.js +0 -2
  535. package/docs/components/icon/assets/bugs/bug08.svg.js +0 -2
  536. package/docs/components/icon/assets/bugs/bug12.svg.js +0 -2
  537. package/docs/components/icon/assets/bugs/bug19.svg.js +0 -2
  538. package/docs/components/icon/assets/bugs/bug23.svg.js +0 -2
  539. package/docs/components/icon/assets/bugs/bug24.svg.js +0 -2
  540. package/docs/components/icon/assets/iconset-bugs.js +0 -11
  541. package/docs/components/icon/assets/iconset-misc.js +0 -3
  542. package/docs/components/icon/assets/iconset-space.js +0 -31
  543. package/docs/components/icon/assets/misc/arrowLeft.svg.js +0 -6
  544. package/docs/components/icon/assets/space/aliens-spaceship.svg.js +0 -2
  545. package/docs/components/icon/assets/space/meteor.svg.js +0 -2
  546. package/docs/components/icon/assets/space/moon-flag.svg.js +0 -2
  547. package/docs/components/icon/assets/space/moon.svg.js +0 -2
  548. package/docs/components/icon/assets/space/night.svg.js +0 -2
  549. package/docs/components/icon/assets/space/orbit.svg.js +0 -2
  550. package/docs/components/icon/assets/space/planet.svg.js +0 -2
  551. package/docs/components/icon/assets/space/robot.svg.js +0 -2
  552. package/docs/components/icon/assets/space/rocket.svg.js +0 -2
  553. package/docs/components/icon/assets/space/satellite.svg.js +0 -2
  554. package/docs/components/icon/assets/space/signal.svg.js +0 -2
  555. package/docs/components/icon/assets/space/space-helmet.svg.js +0 -2
  556. package/docs/components/icon/assets/space/sun.svg.js +0 -2
  557. package/docs/components/icon/assets/space/telescope.svg.js +0 -2
  558. package/docs/components/icon/index.md +0 -13
  559. package/docs/components/icon/overview.md +0 -52
  560. package/docs/components/icon/use-cases.md +0 -92
  561. package/docs/components/index.md +0 -17
  562. package/docs/components/input/api-table.md +0 -52
  563. package/docs/components/input/index.md +0 -13
  564. package/docs/components/input/overview.md +0 -48
  565. package/docs/components/input/use-cases.md +0 -90
  566. package/docs/components/input-amount/api-table.md +0 -66
  567. package/docs/components/input-amount/index.md +0 -13
  568. package/docs/components/input-amount/overview.md +0 -61
  569. package/docs/components/input-amount/use-cases.md +0 -147
  570. package/docs/components/input-amount-dropdown/api-table.md +0 -87
  571. package/docs/components/input-amount-dropdown/index.md +0 -13
  572. package/docs/components/input-amount-dropdown/use-cases.md +0 -103
  573. package/docs/components/input-date/api-table.md +0 -58
  574. package/docs/components/input-date/index.md +0 -13
  575. package/docs/components/input-date/overview.md +0 -51
  576. package/docs/components/input-date/use-cases.md +0 -96
  577. package/docs/components/input-datepicker/api-table.md +0 -99
  578. package/docs/components/input-datepicker/index.md +0 -13
  579. package/docs/components/input-datepicker/overview.md +0 -54
  580. package/docs/components/input-datepicker/use-cases.md +0 -117
  581. package/docs/components/input-email/api-table.md +0 -53
  582. package/docs/components/input-email/index.md +0 -13
  583. package/docs/components/input-email/overview.md +0 -44
  584. package/docs/components/input-email/use-cases.md +0 -60
  585. package/docs/components/input-file/api-table.md +0 -157
  586. package/docs/components/input-file/index.md +0 -13
  587. package/docs/components/input-file/overview.md +0 -44
  588. package/docs/components/input-file/use-cases.md +0 -454
  589. package/docs/components/input-iban/api-table.md +0 -54
  590. package/docs/components/input-iban/index.md +0 -13
  591. package/docs/components/input-iban/overview.md +0 -49
  592. package/docs/components/input-iban/use-cases.md +0 -114
  593. package/docs/components/input-range/api-table.md +0 -71
  594. package/docs/components/input-range/index.md +0 -13
  595. package/docs/components/input-range/overview.md +0 -44
  596. package/docs/components/input-range/use-cases.md +0 -126
  597. package/docs/components/input-stepper/api-table.md +0 -74
  598. package/docs/components/input-stepper/index.md +0 -13
  599. package/docs/components/input-stepper/overview.md +0 -48
  600. package/docs/components/input-stepper/use-cases.md +0 -155
  601. package/docs/components/input-tel/api-table.md +0 -77
  602. package/docs/components/input-tel/index.md +0 -13
  603. package/docs/components/input-tel/overview.md +0 -74
  604. package/docs/components/input-tel/src/h-region-code-table.js +0 -109
  605. package/docs/components/input-tel/use-cases.md +0 -319
  606. package/docs/components/input-tel-dropdown/api-table.md +0 -85
  607. package/docs/components/input-tel-dropdown/extensions.md +0 -44
  608. package/docs/components/input-tel-dropdown/index.md +0 -13
  609. package/docs/components/input-tel-dropdown/overview.md +0 -50
  610. package/docs/components/input-tel-dropdown/src/intl-input-tel-dropdown.js +0 -138
  611. package/docs/components/input-tel-dropdown/use-cases.md +0 -171
  612. package/docs/components/listbox/api-table.md +0 -65
  613. package/docs/components/listbox/index.md +0 -13
  614. package/docs/components/listbox/overview.md +0 -54
  615. package/docs/components/listbox/src/listboxData.js +0 -131
  616. package/docs/components/listbox/use-cases.md +0 -154
  617. package/docs/components/menu/api-table.md +0 -44
  618. package/docs/components/menu/applyMenuDemoStyles.js +0 -173
  619. package/docs/components/menu/extensions.md +0 -262
  620. package/docs/components/menu/index.md +0 -13
  621. package/docs/components/menu/migration.md +0 -129
  622. package/docs/components/menu/overview.md +0 -448
  623. package/docs/components/menu/src/DemoNavigationBar.js +0 -441
  624. package/docs/components/menu/src/DemoSpinButton.js +0 -215
  625. package/docs/components/menu/src/DemoToolbar.js +0 -101
  626. package/docs/components/menu/src/DemoTree.js +0 -55
  627. package/docs/components/menu/src/navigation-bar-types.js +0 -41
  628. package/docs/components/menu/use-cases.md +0 -74
  629. package/docs/components/pagination/api-table.md +0 -45
  630. package/docs/components/pagination/index.md +0 -13
  631. package/docs/components/pagination/overview.md +0 -41
  632. package/docs/components/pagination/use-cases.md +0 -113
  633. package/docs/components/progress-indicator/api-table.md +0 -48
  634. package/docs/components/progress-indicator/assets/my-determinate-progress-bar.js +0 -30
  635. package/docs/components/progress-indicator/assets/my-indeterminate-progress-spinner.js +0 -55
  636. package/docs/components/progress-indicator/examples.md +0 -137
  637. package/docs/components/progress-indicator/index.md +0 -13
  638. package/docs/components/progress-indicator/overview.md +0 -48
  639. package/docs/components/radio-group/api-table.md +0 -63
  640. package/docs/components/radio-group/index.md +0 -13
  641. package/docs/components/radio-group/overview.md +0 -58
  642. package/docs/components/radio-group/use-cases.md +0 -146
  643. package/docs/components/select/api-table.md +0 -51
  644. package/docs/components/select/index.md +0 -13
  645. package/docs/components/select/overview.md +0 -56
  646. package/docs/components/select/use-cases.md +0 -128
  647. package/docs/components/select-rich/api-table.md +0 -123
  648. package/docs/components/select-rich/examples.md +0 -43
  649. package/docs/components/select-rich/index.md +0 -13
  650. package/docs/components/select-rich/overview.md +0 -55
  651. package/docs/components/select-rich/src/flagStyles.js +0 -1250
  652. package/docs/components/select-rich/src/intl-select-rich.js +0 -194
  653. package/docs/components/select-rich/src/regionMetaList.js +0 -1717
  654. package/docs/components/select-rich/use-cases.md +0 -387
  655. package/docs/components/steps/api-table.md +0 -92
  656. package/docs/components/steps/index.md +0 -13
  657. package/docs/components/steps/overview.md +0 -77
  658. package/docs/components/steps/use-cases.md +0 -181
  659. package/docs/components/switch/api-table.md +0 -82
  660. package/docs/components/switch/index.md +0 -13
  661. package/docs/components/switch/overview.md +0 -87
  662. package/docs/components/switch/reference.md +0 -51
  663. package/docs/components/switch/use-cases.md +0 -88
  664. package/docs/components/tabs/api-table.md +0 -51
  665. package/docs/components/tabs/examples.md +0 -35
  666. package/docs/components/tabs/index.md +0 -13
  667. package/docs/components/tabs/overview.md +0 -60
  668. package/docs/components/tabs/src/lea-tab-panel.js +0 -26
  669. package/docs/components/tabs/src/lea-tab.js +0 -50
  670. package/docs/components/tabs/src/lea-tabs.js +0 -28
  671. package/docs/components/tabs/use-cases.md +0 -231
  672. package/docs/components/textarea/api-table.md +0 -57
  673. package/docs/components/textarea/index.md +0 -13
  674. package/docs/components/textarea/overview.md +0 -47
  675. package/docs/components/textarea/use-cases.md +0 -107
  676. package/docs/components/tooltip/api-table.md +0 -62
  677. package/docs/components/tooltip/examples.md +0 -51
  678. package/docs/components/tooltip/index.md +0 -13
  679. package/docs/components/tooltip/overview.md +0 -56
  680. package/docs/components/tooltip/use-cases.md +0 -275
  681. package/docs/fundamentals/index.md +0 -19
  682. package/docs/fundamentals/node-tools/babel-plugin-extend-docs/index.md +0 -13
  683. package/docs/fundamentals/node-tools/babel-plugin-extend-docs/overview.md +0 -246
  684. package/docs/fundamentals/node-tools/index.md +0 -11
  685. package/docs/fundamentals/node-tools/providence-analytics/index.md +0 -13
  686. package/docs/fundamentals/node-tools/providence-analytics/overview.md +0 -108
  687. package/docs/fundamentals/node-tools/publish-docs/index.md +0 -13
  688. package/docs/fundamentals/node-tools/publish-docs/overview.md +0 -149
  689. package/docs/fundamentals/node-tools/remark-extend/index.md +0 -13
  690. package/docs/fundamentals/node-tools/remark-extend/overview.md +0 -287
  691. package/docs/fundamentals/node-tools/rocket-preset-extend-lion-docs/index.md +0 -13
  692. package/docs/fundamentals/node-tools/rocket-preset-extend-lion-docs/overview.md +0 -298
  693. package/docs/fundamentals/rationales/TypeScript.md +0 -123
  694. package/docs/fundamentals/rationales/accessibility.md +0 -40
  695. package/docs/fundamentals/rationales/index.md +0 -11
  696. package/docs/fundamentals/rationales/side-effects.md +0 -215
  697. package/docs/fundamentals/rationales/versioning.md +0 -47
  698. package/docs/fundamentals/systems/core/SlotMixin.md +0 -168
  699. package/docs/fundamentals/systems/core/api-table.md +0 -43
  700. package/docs/fundamentals/systems/core/index.md +0 -15
  701. package/docs/fundamentals/systems/core/overview.md +0 -98
  702. package/docs/fundamentals/systems/form/api-table.md +0 -40
  703. package/docs/fundamentals/systems/form/assets/h-output.js +0 -156
  704. package/docs/fundamentals/systems/form/formatting-and-parsing.md +0 -258
  705. package/docs/fundamentals/systems/form/index.md +0 -15
  706. package/docs/fundamentals/systems/form/interaction-states.md +0 -195
  707. package/docs/fundamentals/systems/form/model-value.md +0 -57
  708. package/docs/fundamentals/systems/form/overview.md +0 -95
  709. package/docs/fundamentals/systems/form/styling.md +0 -92
  710. package/docs/fundamentals/systems/form/use-cases.md +0 -187
  711. package/docs/fundamentals/systems/form/validate.md +0 -985
  712. package/docs/fundamentals/systems/icon/index.md +0 -15
  713. package/docs/fundamentals/systems/icon/overview.md +0 -137
  714. package/docs/fundamentals/systems/index.md +0 -11
  715. package/docs/fundamentals/systems/localize/api-table.md +0 -72
  716. package/docs/fundamentals/systems/localize/assets/all-locales.js +0 -437
  717. package/docs/fundamentals/systems/localize/assets/en-AU.js +0 -6
  718. package/docs/fundamentals/systems/localize/assets/en-GB.js +0 -6
  719. package/docs/fundamentals/systems/localize/assets/en-US.js +0 -6
  720. package/docs/fundamentals/systems/localize/assets/en.js +0 -4
  721. package/docs/fundamentals/systems/localize/assets/nl-BE.js +0 -6
  722. package/docs/fundamentals/systems/localize/assets/nl-NL.js +0 -6
  723. package/docs/fundamentals/systems/localize/assets/nl.js +0 -4
  724. package/docs/fundamentals/systems/localize/dates.md +0 -208
  725. package/docs/fundamentals/systems/localize/index.md +0 -15
  726. package/docs/fundamentals/systems/localize/numbers.md +0 -230
  727. package/docs/fundamentals/systems/localize/overview.md +0 -61
  728. package/docs/fundamentals/systems/localize/rationale.md +0 -75
  729. package/docs/fundamentals/systems/localize/text.md +0 -139
  730. package/docs/fundamentals/systems/localize/use-cases.md +0 -334
  731. package/docs/fundamentals/systems/overlays/_configuration-positioning.md +0 -118
  732. package/docs/fundamentals/systems/overlays/_edge-cases.md +0 -149
  733. package/docs/fundamentals/systems/overlays/api-table.md +0 -174
  734. package/docs/fundamentals/systems/overlays/assets/applyDemoOverlayStyles.js +0 -23
  735. package/docs/fundamentals/systems/overlays/assets/demo-el-using-overlaymixin.js +0 -104
  736. package/docs/fundamentals/systems/overlays/assets/demo-overlay-backdrop.js +0 -47
  737. package/docs/fundamentals/systems/overlays/assets/demo-overlay-positioning.mjs +0 -537
  738. package/docs/fundamentals/systems/overlays/assets/umbrella-form.js +0 -140
  739. package/docs/fundamentals/systems/overlays/configuration.md +0 -516
  740. package/docs/fundamentals/systems/overlays/index.md +0 -15
  741. package/docs/fundamentals/systems/overlays/overview.md +0 -126
  742. package/docs/fundamentals/systems/overlays/rationale.md +0 -242
  743. package/docs/fundamentals/systems/overlays/use-cases.md +0 -717
  744. package/docs/fundamentals/tools/ajax/index.md +0 -15
  745. package/docs/fundamentals/tools/ajax/overview.md +0 -269
  746. package/docs/fundamentals/tools/ajax/use-cases.md +0 -469
  747. package/docs/fundamentals/tools/helpers/action-logger.md +0 -175
  748. package/docs/fundamentals/tools/helpers/index.md +0 -15
  749. package/docs/fundamentals/tools/helpers/overview.md +0 -43
  750. package/docs/fundamentals/tools/index.md +0 -11
  751. package/docs/fundamentals/tools/singleton-manager/example-complex/demo-app.js +0 -95
  752. package/docs/fundamentals/tools/singleton-manager/example-complex/index.md +0 -34
  753. package/docs/fundamentals/tools/singleton-manager/example-complex/node_modules/overlays/index.js +0 -30
  754. package/docs/fundamentals/tools/singleton-manager/example-complex/node_modules/overlays/instance.js +0 -4
  755. package/docs/fundamentals/tools/singleton-manager/example-complex/node_modules/page-a/page-a.js +0 -35
  756. package/docs/fundamentals/tools/singleton-manager/example-complex/node_modules/page-b/node_modules/overlays/index.js +0 -30
  757. package/docs/fundamentals/tools/singleton-manager/example-complex/node_modules/page-b/node_modules/overlays/instance.js +0 -4
  758. package/docs/fundamentals/tools/singleton-manager/example-complex/node_modules/page-b/page-b.js +0 -49
  759. package/docs/fundamentals/tools/singleton-manager/example-complex/overlayCompatibility.js +0 -69
  760. package/docs/fundamentals/tools/singleton-manager/example-fail/demo-app.js +0 -93
  761. package/docs/fundamentals/tools/singleton-manager/example-fail/index.md +0 -32
  762. package/docs/fundamentals/tools/singleton-manager/example-fail/node_modules/overlays/index.js +0 -30
  763. package/docs/fundamentals/tools/singleton-manager/example-fail/node_modules/overlays/instance.js +0 -3
  764. package/docs/fundamentals/tools/singleton-manager/example-fail/node_modules/page-c/page-c.js +0 -34
  765. package/docs/fundamentals/tools/singleton-manager/example-fail/node_modules/page-d/node_modules/overlays/index.js +0 -30
  766. package/docs/fundamentals/tools/singleton-manager/example-fail/node_modules/page-d/node_modules/overlays/instance.js +0 -3
  767. package/docs/fundamentals/tools/singleton-manager/example-fail/node_modules/page-d/page-d.js +0 -34
  768. package/docs/fundamentals/tools/singleton-manager/example-success/demo-app.js +0 -95
  769. package/docs/fundamentals/tools/singleton-manager/example-success/index.md +0 -31
  770. package/docs/fundamentals/tools/singleton-manager/example-success/node_modules/overlays/index.js +0 -30
  771. package/docs/fundamentals/tools/singleton-manager/example-success/node_modules/overlays/instance.js +0 -4
  772. package/docs/fundamentals/tools/singleton-manager/example-success/node_modules/page-e/page-e.js +0 -33
  773. package/docs/fundamentals/tools/singleton-manager/example-success/node_modules/page-f/node_modules/overlays/index.js +0 -30
  774. package/docs/fundamentals/tools/singleton-manager/example-success/node_modules/page-f/node_modules/overlays/instance.js +0 -4
  775. package/docs/fundamentals/tools/singleton-manager/example-success/node_modules/page-f/page-f.js +0 -34
  776. package/docs/fundamentals/tools/singleton-manager/example-success/overlayCompatibility.js +0 -23
  777. package/docs/fundamentals/tools/singleton-manager/index.md +0 -15
  778. package/docs/fundamentals/tools/singleton-manager/overview.md +0 -317
  779. package/docs/guides/how-to/create-a-custom-field.md +0 -212
  780. package/docs/guides/how-to/create-a-form.md +0 -101
  781. package/docs/guides/how-to/extend-a-native-input.md +0 -78
  782. package/docs/guides/how-to/get-started.md +0 -116
  783. package/docs/guides/how-to/index.md +0 -25
  784. package/docs/guides/index.md +0 -44
  785. package/docs/guides/principles/definitions-and-terms.md +0 -53
  786. package/docs/guides/principles/index.md +0 -36
  787. package/docs/guides/principles/scoped-elements.md +0 -119
  788. package/docs/guides/principles/styling.md +0 -43
  789. package/docs/guides/principles/subclasser-apis.md +0 -40
@@ -11,16 +11,20 @@ import {
11
11
  import sinon from 'sinon';
12
12
  import { getFormControlMembers } from '@lion/ui/form-core-test-helpers.js';
13
13
  import { InteractionStateMixin, ValidateMixin, MinLength } from '@lion/ui/form-core.js';
14
+ import { resolveSuiteTag } from '../../core/test-helpers/resolveSuiteTag.js';
14
15
 
15
16
  /**
16
- * @param {{tagString?: string, allowedModelValueTypes?: Array.<ArrayConstructor | ObjectConstructor | NumberConstructor | BooleanConstructor | StringConstructor | DateConstructor>}} [customConfig]
17
+ * `tagString`, `klass` and the older role tag keys are deprecated: pass `classes` instead (Lion
18
+ * Runs the interaction-state suite. The caller hands the element to run against; leaving `host` out
19
+ * keeps the element this suite builds from the mixin.
20
+ * @typedef {import('@lion/ui/types/test-suites.js').SuiteElement} SuiteElement
21
+ * @param {import('@lion/ui/types/test-suites.js').SuiteConfig<{host: SuiteElement}, {allowedModelValueTypes?: any[]}>} [customConfig]
17
22
  */
18
- export function runInteractionStateMixinSuite(customConfig) {
19
- const cfg = {
20
- tagString: null,
21
- allowedModelValueTypes: [Array, Object, Number, Boolean, String, Date],
22
- ...customConfig,
23
- };
23
+ export function runInteractionStateMixinSuite({
24
+ classes = {},
25
+ allowedModelValueTypes = [Array, Object, Number, Boolean, String, Date],
26
+ tagString: legacyTagString,
27
+ } = {}) {
24
28
  describe(`InteractionStateMixin`, async () => {
25
29
  class IState extends InteractionStateMixin(ValidateMixin(LitElement)) {
26
30
  connectedCallback() {
@@ -41,8 +45,8 @@ export function runInteractionStateMixinSuite(customConfig) {
41
45
  return this._modelValue;
42
46
  }
43
47
  }
44
- cfg.tagString = cfg.tagString ? cfg.tagString : defineCE(IState);
45
- const tag = unsafeStatic(cfg.tagString);
48
+ const tagString = resolveSuiteTag(classes?.host, legacyTagString, IState);
49
+ const tag = unsafeStatic(tagString);
46
50
  it('sets states to false on init', async () => {
47
51
  const el = /** @type {IState} */ await fixture(html`<${tag}></${tag}>`);
48
52
  expect(el.dirty).to.be.false;
@@ -115,7 +119,7 @@ export function runInteractionStateMixinSuite(customConfig) {
115
119
 
116
120
  // This method actually tests the implementation of the _isPrefilled method.
117
121
  it(`can determine "prefilled" based on different modelValue types
118
- (${cfg.allowedModelValueTypes.map((t) => t.name).join(', ')})`, async () => {
122
+ (${allowedModelValueTypes.map((t) => t.name).join(', ')})`, async () => {
119
123
  /** @typedef {{_inputNode: HTMLElement}} inputNodeInterface */
120
124
 
121
125
  const el = /** @type {IState & inputNodeInterface} */ await fixture(html`<${tag}></${tag}>`);
@@ -140,13 +144,13 @@ export function runInteractionStateMixinSuite(customConfig) {
140
144
  };
141
145
 
142
146
  // Prefilled
143
- if (cfg.allowedModelValueTypes.includes(Array)) {
147
+ if (allowedModelValueTypes.includes(Array)) {
144
148
  changeModelValueAndLeave(['not-empty']);
145
149
  expect(el.prefilled, 'not empty array should be "prefilled"').to.be.true;
146
150
  changeModelValueAndLeave([]);
147
151
  expect(el.prefilled, 'empty array should not be "prefilled"').to.be.false;
148
152
  }
149
- if (cfg.allowedModelValueTypes.includes(Object)) {
153
+ if (allowedModelValueTypes.includes(Object)) {
150
154
  changeModelValueAndLeave({
151
155
  not: 'empty',
152
156
  });
@@ -154,17 +158,17 @@ export function runInteractionStateMixinSuite(customConfig) {
154
158
  changeModelValueAndLeave({});
155
159
  expect(el.prefilled, 'empty object should not be "prefilled"').to.be.false;
156
160
  }
157
- if (cfg.allowedModelValueTypes.includes(Number)) {
161
+ if (allowedModelValueTypes.includes(Number)) {
158
162
  changeModelValueAndLeave(0);
159
163
  expect(el.prefilled, 'numbers should be "prefilled"').to.be.true;
160
164
  }
161
- if (cfg.allowedModelValueTypes.includes(String)) {
165
+ if (allowedModelValueTypes.includes(String)) {
162
166
  changeModelValueAndLeave(false);
163
167
  expect(el.prefilled, 'booleans should be "prefilled"').to.be.true;
164
168
  changeModelValueAndLeave('');
165
169
  expect(el.prefilled, 'empty string should not be "prefilled"').to.be.false;
166
170
  }
167
- if (cfg.allowedModelValueTypes.includes(Date)) {
171
+ if (allowedModelValueTypes.includes(Date)) {
168
172
  changeModelValueAndLeave(new Date());
169
173
  expect(el.prefilled, 'Dates should be "prefilled"').to.be.true;
170
174
  }
@@ -1,10 +1,11 @@
1
- import { defineCE, expect, fixture, html, triggerFocusFor, unsafeStatic } from '@open-wc/testing';
1
+ import { expect, fixture, html, triggerFocusFor, unsafeStatic } from '@open-wc/testing';
2
2
  import { getFormControlMembers } from '@lion/ui/form-core-test-helpers.js';
3
3
  import { NativeTextFieldMixin } from '@lion/ui/form-core.js';
4
4
  import { sendKeys } from '@web/test-runner-commands';
5
5
  import { browserDetection } from '@lion/ui/core.js';
6
6
  import { LitElement } from 'lit';
7
7
  import { spy } from 'sinon';
8
+ import { resolveSuiteTag } from '../../core/test-helpers/resolveSuiteTag.js';
8
9
  import { isActiveElement } from '../../core/test-helpers/isActiveElement.js';
9
10
 
10
11
  /**
@@ -13,13 +14,12 @@ import { isActiveElement } from '../../core/test-helpers/isActiveElement.js';
13
14
  */
14
15
 
15
16
  /**
16
- * @param {{tagString?: string, modelValueType?: modelValueType}} [customConfig]
17
+ * Runs the `NativeTextFieldMixin` behavioural suite. The caller hands the element to run against;
18
+ * leaving `host` out keeps the element this suite builds from the mixin.
19
+ * @typedef {import('@lion/ui/types/test-suites.js').SuiteElement} SuiteElement
20
+ * @param {import('@lion/ui/types/test-suites.js').SuiteConfig<{host: SuiteElement}, {modelValueType?: modelValueType}>} [customConfig]
17
21
  */
18
- export function runNativeTextFieldMixinSuite(customConfig) {
19
- const cfg = {
20
- tagString: null,
21
- ...customConfig,
22
- };
22
+ export function runNativeTextFieldMixinSuite({ classes = {}, tagString: legacyTagString } = {}) {
23
23
  describe('NativeTextFieldMixin', () => {
24
24
  class NativeTextFieldClass extends NativeTextFieldMixin(LitElement) {
25
25
  get slots() {
@@ -29,8 +29,7 @@ export function runNativeTextFieldMixinSuite(customConfig) {
29
29
  };
30
30
  }
31
31
  }
32
- cfg.tagString = cfg.tagString ? cfg.tagString : defineCE(NativeTextFieldClass);
33
- const tag = unsafeStatic(cfg.tagString);
32
+ const tag = unsafeStatic(resolveSuiteTag(classes?.host, legacyTagString, NativeTextFieldClass));
34
33
  it('preserves the caret position on value change', async () => {
35
34
  const el = /** @type {NativeTextFieldClass} */ await fixture(html`<${tag}></${tag}>`);
36
35
  // @ts-ignore [allow-protected] in test
@@ -20,20 +20,23 @@ import { LitElement } from 'lit';
20
20
  import sinon from 'sinon';
21
21
  import '@lion/ui/define/lion-field.js';
22
22
  import '@lion/ui/define/lion-validation-feedback.js';
23
+ import { resolveSuiteTag } from '../../core/test-helpers/resolveSuiteTag.js';
23
24
 
24
25
  /**
25
26
  * @typedef {import('@lion/ui/form-core.js').LionField} LionField
26
27
  */
27
28
 
28
29
  /**
29
- * @param {{tagString?: string | null, lightDom?: string}} [customConfig]
30
+ * Runs the `ValidateMixin` behavioural suite. The caller hands the element to run against; leaving
31
+ * `host` out keeps the element this suite builds from the mixin.
32
+ * @typedef {import('@lion/ui/types/test-suites.js').SuiteElement} SuiteElement
33
+ * @param {import('@lion/ui/types/test-suites.js').SuiteConfig<{host: SuiteElement}, {lightDom?: string}>} [customConfig]
30
34
  */
31
- export function runValidateMixinSuite(customConfig) {
32
- const cfg = {
33
- tagString: null,
34
- ...customConfig,
35
- };
36
- const lightDom = cfg.lightDom || '';
35
+ export function runValidateMixinSuite({
36
+ classes = {},
37
+ tagString: legacyTagString,
38
+ lightDom = '',
39
+ } = {}) {
37
40
  class ValidateElement extends ValidateMixin(LitElement) {
38
41
  connectedCallback() {
39
42
  super.connectedCallback();
@@ -42,7 +45,7 @@ export function runValidateMixinSuite(customConfig) {
42
45
  this.appendChild(inputNode);
43
46
  }
44
47
  }
45
- const tagString = cfg.tagString || defineCE(ValidateElement);
48
+ const tagString = resolveSuiteTag(classes.host, legacyTagString, ValidateElement);
46
49
  const tag = unsafeStatic(tagString);
47
50
  describe('ValidateMixin', () => {
48
51
  /**
@@ -703,8 +706,9 @@ export function runValidateMixinSuite(customConfig) {
703
706
  .modelValue=${'dog'}
704
707
  .validators=${[asyncV]}
705
708
  .asyncValidateOn=${
706
- /** @param {{ formControl: { isFocused: boolean } }} opts */ ({ formControl }) =>
707
- !formControl.isFocused
709
+ /** @param {{ classes?: Record<string, CustomElementConstructor>, formControl: { isFocused: boolean } }} opts */ ({
710
+ formControl,
711
+ }) => !formControl.isFocused
708
712
  }
709
713
  >
710
714
  ${lightDom}
@@ -12,12 +12,25 @@ import {
12
12
  ValidateMixin,
13
13
  Validator,
14
14
  } from '@lion/ui/form-core.js';
15
+ import { resolveSuiteTag } from '../../core/test-helpers/resolveSuiteTag.js';
15
16
 
16
17
  /**
17
18
  * @typedef {import('../types/validate/validate.js').FeedbackMessageData} FeedbackMessageData
18
19
  */
19
20
 
20
- export function runValidateMixinFeedbackPart() {
21
+ /** @typedef {import('@lion/ui/types/test-suites.js').SuiteElement} SuiteElement */
22
+
23
+ /**
24
+ * Runs the validity-feedback suite. The caller hands the element to run against; leaving `host` out
25
+ * keeps the element this suite builds from the mixin.
26
+ * @param {import('@lion/ui/types/test-suites.js').SuiteConfig<{host: SuiteElement}>} [customConfig]
27
+ */
28
+ export function runValidateMixinFeedbackPart(customConfig = {}) {
29
+ const classes = {
30
+ ...customConfig?.classes,
31
+ };
32
+ // legacy key, kept for callers that registered their own tag
33
+ const customTagString = customConfig?.tagString;
21
34
  const localizeManager = getLocalizeManager();
22
35
  describe('Validity Feedback', () => {
23
36
  beforeEach(() => {
@@ -31,7 +44,7 @@ export function runValidateMixinFeedbackPart() {
31
44
  this.appendChild(inputNode);
32
45
  }
33
46
  }
34
- const tagString = defineCE(ValidateElement);
47
+ const tagString = resolveSuiteTag(classes.host, customTagString, ValidateElement);
35
48
  const tag = unsafeStatic(tagString);
36
49
  class ContainsLowercaseA extends Validator {
37
50
  static get validatorName() {
@@ -11,6 +11,7 @@ import { LionInput } from '@lion/ui/input.js';
11
11
  import { expect, fixture, fixtureSync, html, unsafeStatic } from '@open-wc/testing';
12
12
  import { LitElement } from 'lit';
13
13
  import sinon from 'sinon';
14
+ import { resolveSuiteTag } from '../../../core/test-helpers/resolveSuiteTag.js';
14
15
  class ChoiceInputFoo extends ChoiceInputMixin(LionInput) {}
15
16
  customElements.define('choice-input-foo', ChoiceInputFoo);
16
17
  class ChoiceInputBar extends ChoiceInputMixin(LionInput) {
@@ -26,22 +27,43 @@ class ChoiceInputGroup extends ChoiceGroupMixin(FormGroupMixin(LitElement)) {}
26
27
  customElements.define('choice-input-group', ChoiceInputGroup);
27
28
 
28
29
  /**
29
- * @param {{ parentTagString?:string, childTagString?: string, choiceType?: string}} config
30
+ * @typedef {import('@lion/ui/types/test-suites.js').SuiteElement} SuiteElement
31
+ * `tagString`, `klass` and the older role tag keys are deprecated: pass `classes` instead (Lion
32
+ * itself uses `classes` everywhere).
33
+ * @param {import('@lion/ui/types/test-suites.js').SuiteConfig<{child: SuiteElement; childBar: SuiteElement; childFoo: SuiteElement; host: SuiteElement}, {childTagString?: any; childTagStringBar?: any; childTagStringFoo?: any; choiceType?: any; parentTagString?: any}>} customConfig
30
34
  */
31
- export function runChoiceGroupMixinSuite({ parentTagString, childTagString, choiceType } = {}) {
32
- const cfg = {
33
- parentTagString: parentTagString || 'choice-input-group',
34
- childTagString: childTagString || 'choice-input',
35
- childTagStringFoo: 'choice-input-foo',
36
- childTagStringBar: 'choice-input-bar',
37
- choiceType: choiceType || 'single',
38
- };
39
- const parentTag = unsafeStatic(cfg.parentTagString);
40
- const childTag = unsafeStatic(cfg.childTagString);
41
- const childTagFoo = unsafeStatic(cfg.childTagStringFoo);
42
- const childTagBar = unsafeStatic(cfg.childTagStringBar);
43
- describe(`ChoiceGroupMixin: ${cfg.parentTagString}`, () => {
44
- if (cfg.choiceType === 'single') {
35
+ export function runChoiceGroupMixinSuite({
36
+ classes = {},
37
+ choiceType = 'single',
38
+ parentTagString: legacyParentTagString,
39
+ childTagString: legacyChildTagString,
40
+ childTagStringFoo: legacyChildTagStringFoo,
41
+ childTagStringBar: legacyChildTagStringBar,
42
+ } = {}) {
43
+ // Every element this suite renders is built from the mixins, so the class - not a Lion element - is
44
+ // the default, and it only exists inside the `describe` below.
45
+ const parentTagString = resolveSuiteTag(
46
+ classes?.host,
47
+ legacyParentTagString,
48
+ 'choice-input-group',
49
+ );
50
+ const childTagString = resolveSuiteTag(classes?.child, legacyChildTagString, 'choice-input');
51
+ const childTagStringFoo = resolveSuiteTag(
52
+ classes?.childFoo,
53
+ legacyChildTagStringFoo,
54
+ 'choice-input-foo',
55
+ );
56
+ const childTagStringBar = resolveSuiteTag(
57
+ classes?.childBar,
58
+ legacyChildTagStringBar,
59
+ 'choice-input-bar',
60
+ );
61
+ const parentTag = unsafeStatic(parentTagString);
62
+ const childTag = unsafeStatic(childTagString);
63
+ const childTagFoo = unsafeStatic(childTagStringFoo);
64
+ const childTagBar = unsafeStatic(childTagStringBar);
65
+ describe(`ChoiceGroupMixin: ${parentTagString}`, () => {
66
+ if (choiceType === 'single') {
45
67
  it('has a single modelValue representing initial checked values', async () => {
46
68
  const el =
47
69
  /** @type {ChoiceInputGroup} */
@@ -113,7 +135,7 @@ export function runChoiceGroupMixinSuite({ parentTagString, childTagString, choi
113
135
  expect(() => {
114
136
  el.addFormElement(invalidChild);
115
137
  }).to.throw(
116
- `The ${cfg.parentTagString} name="gender[]" does not allow to register ${cfg.childTagString} with .modelValue="Lara" - The modelValue should represent an Object { value: "foo", checked: false }`,
138
+ `The ${parentTagString} name="gender[]" does not allow to register ${childTagString} with .modelValue="Lara" - The modelValue should represent an Object { value: "foo", checked: false }`,
117
139
  );
118
140
  });
119
141
  it('automatically sets the name property of child fields to its own name', async () => {
@@ -224,7 +246,7 @@ export function runChoiceGroupMixinSuite({ parentTagString, childTagString, choi
224
246
  <${childTag} .choiceValue=${'other'}></${childTag}>
225
247
  </${parentTag}>
226
248
  `);
227
- if (cfg.choiceType === 'single') {
249
+ if (choiceType === 'single') {
228
250
  expect(el.modelValue).to.equal('other');
229
251
  } else {
230
252
  expect(el.modelValue).to.deep.equal(['other']);
@@ -241,7 +263,7 @@ export function runChoiceGroupMixinSuite({ parentTagString, childTagString, choi
241
263
  <${childTag} .choiceValue=${'other'}></${childTag}>
242
264
  </${parentTag}>
243
265
  `);
244
- if (cfg.choiceType === 'single') {
266
+ if (choiceType === 'single') {
245
267
  expect(el.serializedValue).to.equal('other');
246
268
  } else {
247
269
  expect(el.serializedValue).to.deep.equal(['other']);
@@ -258,7 +280,7 @@ export function runChoiceGroupMixinSuite({ parentTagString, childTagString, choi
258
280
  <${childTag} .choiceValue=${'other'}></${childTag}>
259
281
  </${parentTag}>
260
282
  `);
261
- if (cfg.choiceType === 'single') {
283
+ if (choiceType === 'single') {
262
284
  expect(el.formattedValue).to.equal('other');
263
285
  } else {
264
286
  expect(el.formattedValue).to.deep.equal(['other']);
@@ -275,7 +297,7 @@ export function runChoiceGroupMixinSuite({ parentTagString, childTagString, choi
275
297
  <${childTag} .choiceValue=${'other'}></${childTag}>
276
298
  </${parentTag}>
277
299
  `);
278
- if (cfg.choiceType === 'single') {
300
+ if (choiceType === 'single') {
279
301
  el.modelValue = 'other';
280
302
  await el.registrationComplete;
281
303
  expect(el.modelValue).to.equal('other');
@@ -295,7 +317,7 @@ export function runChoiceGroupMixinSuite({ parentTagString, childTagString, choi
295
317
  <${childTag} .choiceValue=${'other'}></${childTag}>
296
318
  </${parentTag}>
297
319
  `);
298
- if (cfg.choiceType === 'single') {
320
+ if (choiceType === 'single') {
299
321
  // @ts-expect-error
300
322
  el.serializedValue = 'other';
301
323
  await el.registrationComplete;
@@ -317,14 +339,14 @@ export function runChoiceGroupMixinSuite({ parentTagString, childTagString, choi
317
339
  <${childTag} .choiceValue=${'other'}></${childTag}>
318
340
  </${parentTag}>
319
341
  `);
320
- if (cfg.choiceType === 'single') {
342
+ if (choiceType === 'single') {
321
343
  expect(el.modelValue).to.equal('');
322
344
  } else {
323
345
  expect(el.modelValue).to.deep.equal([]);
324
346
  }
325
347
  el.modelValue = undefined;
326
348
  await el.updateComplete;
327
- if (cfg.choiceType === 'single') {
349
+ if (choiceType === 'single') {
328
350
  expect(el.modelValue).to.equal('');
329
351
  } else {
330
352
  expect(el.modelValue).to.deep.equal([]);
@@ -342,7 +364,7 @@ export function runChoiceGroupMixinSuite({ parentTagString, childTagString, choi
342
364
  <${childTag} .choiceValue=${date} checked></${childTag}>
343
365
  </${parentTag}>
344
366
  `);
345
- if (cfg.choiceType === 'single') {
367
+ if (choiceType === 'single') {
346
368
  expect(el.modelValue).to.equal(date);
347
369
  el.formElements[0].checked = true;
348
370
  expect(el.modelValue).to.deep.equal({
@@ -368,7 +390,7 @@ export function runChoiceGroupMixinSuite({ parentTagString, childTagString, choi
368
390
  <${childTag} .choiceValue=${''}></${childTag}>
369
391
  </${parentTag}>
370
392
  `);
371
- if (cfg.choiceType === 'single') {
393
+ if (choiceType === 'single') {
372
394
  expect(el.modelValue).to.equal(0);
373
395
  el.formElements[1].checked = true;
374
396
  expect(el.modelValue).to.equal('');
@@ -403,7 +425,7 @@ export function runChoiceGroupMixinSuite({ parentTagString, childTagString, choi
403
425
  ></${childTag}>
404
426
  </${parentTag}>
405
427
  `);
406
- if (cfg.choiceType === 'single') {
428
+ if (choiceType === 'single') {
407
429
  expect(el.modelValue).to.equal('female');
408
430
  } else {
409
431
  expect(el.modelValue).to.deep.equal(['female']);
@@ -442,7 +464,7 @@ export function runChoiceGroupMixinSuite({ parentTagString, childTagString, choi
442
464
  ></${childTag}>
443
465
  </${parentTag}>
444
466
  `);
445
- if (cfg.choiceType === 'single') {
467
+ if (choiceType === 'single') {
446
468
  expect(el.modelValue).to.eql({
447
469
  v: 'female',
448
470
  });
@@ -453,7 +475,7 @@ export function runChoiceGroupMixinSuite({ parentTagString, childTagString, choi
453
475
  },
454
476
  ]);
455
477
  }
456
- if (cfg.choiceType === 'single') {
478
+ if (choiceType === 'single') {
457
479
  el.modelValue = {
458
480
  v: 'other',
459
481
  };
@@ -498,7 +520,7 @@ export function runChoiceGroupMixinSuite({ parentTagString, childTagString, choi
498
520
  el.formElements[2].checked = true;
499
521
  expect(counter).to.equal(2); // other becomes checked
500
522
 
501
- if (cfg.choiceType === 'single') {
523
+ if (choiceType === 'single') {
502
524
  // not found values trigger no event
503
525
  el.modelValue = 'foo';
504
526
  expect(counter).to.equal(2);
@@ -548,7 +570,7 @@ export function runChoiceGroupMixinSuite({ parentTagString, childTagString, choi
548
570
  </${parentTag}>
549
571
  `);
550
572
  el.formElements[0].checked = true;
551
- if (cfg.choiceType === 'single') {
573
+ if (choiceType === 'single') {
552
574
  expect(el.serializedValue).to.deep.equal('male');
553
575
  } else {
554
576
  expect(el.serializedValue).to.deep.equal(['male']);
@@ -563,7 +585,7 @@ export function runChoiceGroupMixinSuite({ parentTagString, childTagString, choi
563
585
  <${childTag} .choiceValue=${'female'}></${childTag}>
564
586
  </${parentTag}>
565
587
  `);
566
- if (cfg.choiceType === 'single') {
588
+ if (choiceType === 'single') {
567
589
  expect(el.serializedValue).to.deep.equal('');
568
590
  } else {
569
591
  expect(el.serializedValue).to.deep.equal([]);
@@ -580,7 +602,7 @@ export function runChoiceGroupMixinSuite({ parentTagString, childTagString, choi
580
602
  `);
581
603
  el.formElements[0].checked = true;
582
604
  el.clear();
583
- if (cfg.choiceType === 'single') {
605
+ if (choiceType === 'single') {
584
606
  expect(el.serializedValue).to.deep.equal('');
585
607
  } else {
586
608
  expect(el.serializedValue).to.deep.equal([]);
@@ -702,7 +724,7 @@ export function runChoiceGroupMixinSuite({ parentTagString, childTagString, choi
702
724
  </${parentTag}>
703
725
  </lion-fieldset>
704
726
  `);
705
- if (cfg.choiceType === 'single') {
727
+ if (choiceType === 'single') {
706
728
  expect(el.serializedValue).to.deep.equal({
707
729
  'gender[]': ['female'],
708
730
  });
@@ -3,6 +3,7 @@ import { LionInput } from '@lion/ui/input.js';
3
3
  import { expect, fixture, html, unsafeStatic } from '@open-wc/testing';
4
4
  import { getFormControlMembers } from '@lion/ui/form-core-test-helpers.js';
5
5
  import sinon from 'sinon';
6
+ import { resolveSuiteTag } from '../../../core/test-helpers/resolveSuiteTag.js';
6
7
  class ChoiceInput extends ChoiceInputMixin(LionInput) {
7
8
  constructor() {
8
9
  super();
@@ -12,14 +13,14 @@ class ChoiceInput extends ChoiceInputMixin(LionInput) {
12
13
  customElements.define('choice-group-input', ChoiceInput);
13
14
 
14
15
  /**
15
- * @param {{ tagString?:string, tagType?: string}} config
16
+ * `tagString`, `klass` and the older role tag keys are deprecated: pass `classes` instead (Lion
17
+ * itself uses `classes` everywhere).
18
+ * @param {{ classes?: Record<string, CustomElementConstructor>, tagString?:string, tagType?: string}} config
16
19
  * @deprecated
17
20
  */
18
- export function runChoiceInputMixinSuite({ tagString } = {}) {
19
- const cfg = {
20
- tagString: tagString || 'choice-group-input',
21
- };
22
- const tag = unsafeStatic(cfg.tagString);
21
+ export function runChoiceInputMixinSuite({ classes = {}, tagString: legacyTagString } = {}) {
22
+ const tagString = resolveSuiteTag(classes?.host, legacyTagString, 'choice-group-input');
23
+ const tag = unsafeStatic(tagString);
23
24
  describe(`ChoiceInputMixin: ${tagString}`, () => {
24
25
  it('is hidden when attribute hidden is true', async () => {
25
26
  const el = /** @type {ChoiceInput} */ await fixture(html`<${tag} hidden></${tag}>`);
@@ -2,6 +2,7 @@ import '@lion/ui/define/lion-fieldset.js';
2
2
  import '@lion/ui/define/lion-checkbox-group.js';
3
3
  import '@lion/ui/define/lion-checkbox.js';
4
4
  import { expect, fixture, fixtureSync, html, unsafeStatic } from '@open-wc/testing';
5
+ import { resolveSuiteTag } from '../../../core/test-helpers/resolveSuiteTag.js';
5
6
 
6
7
  /**
7
8
  *
@@ -9,22 +10,18 @@ import { expect, fixture, fixtureSync, html, unsafeStatic } from '@open-wc/testi
9
10
  */
10
11
 
11
12
  /**
12
- * @param {{ parentTagString?:string, childTagString?: string, choiceType?: string}} config
13
+ * Both elements are built here rather than taken from Lion, so `host` and `child` are the only roles
14
+ * and anything the caller leaves out keeps the class this suite builds.
15
+ * @typedef {import('@lion/ui/types/test-suites.js').SuiteElement} SuiteElement
16
+ * @param {import('@lion/ui/types/test-suites.js').SuiteConfig<{host: SuiteElement; child: SuiteElement}, {choiceType?: string}>} [customConfig]
13
17
  */
14
- export function runCustomChoiceGroupMixinSuite({
15
- parentTagString,
16
- childTagString,
17
- choiceType,
18
- } = {}) {
19
- const cfg = {
20
- parentTagString: parentTagString || 'custom-choice-input-group',
21
- childTagString: childTagString || 'custom-choice-input',
22
- choiceType: choiceType || 'single',
23
- };
24
- const parentTag = unsafeStatic(cfg.parentTagString);
25
- const childTag = unsafeStatic(cfg.childTagString);
26
- describe(`CustomChoiceGroupMixin: ${cfg.parentTagString}`, () => {
27
- if (cfg.choiceType === 'single') {
18
+ export function runCustomChoiceGroupMixinSuite({ classes = {}, choiceType = 'single' } = {}) {
19
+ const parentTagString = resolveSuiteTag(classes?.host, undefined, 'custom-choice-input-group');
20
+ const childTagString = resolveSuiteTag(classes?.child, undefined, 'custom-choice-input');
21
+ const parentTag = unsafeStatic(parentTagString);
22
+ const childTag = unsafeStatic(childTagString);
23
+ describe(`CustomChoiceGroupMixin: ${parentTagString}`, () => {
24
+ if (choiceType === 'single') {
28
25
  it('has a single modelValue representing a custom value', async () => {
29
26
  const el =
30
27
  /** @type {CustomChoiceGroup} */
@@ -65,7 +62,7 @@ export function runCustomChoiceGroupMixinSuite({
65
62
  <${childTag} .choiceValue=${'female'}></${childTag}>
66
63
  </${parentTag}>
67
64
  `);
68
- if (cfg.choiceType === 'single') {
65
+ if (choiceType === 'single') {
69
66
  expect(el.modelValue).to.equal('other');
70
67
  } else {
71
68
  expect(el.modelValue).to.deep.equal(['other']);
@@ -82,7 +79,7 @@ export function runCustomChoiceGroupMixinSuite({
82
79
  <${childTag} .choiceValue=${'female'}></${childTag}>
83
80
  </${parentTag}>
84
81
  `);
85
- if (cfg.choiceType === 'single') {
82
+ if (choiceType === 'single') {
86
83
  expect(el.serializedValue).to.equal('other');
87
84
  } else {
88
85
  expect(el.serializedValue).to.deep.equal(['other']);
@@ -99,7 +96,7 @@ export function runCustomChoiceGroupMixinSuite({
99
96
  <${childTag} .choiceValue=${'female'}></${childTag}>
100
97
  </${parentTag}>
101
98
  `);
102
- if (cfg.choiceType === 'single') {
99
+ if (choiceType === 'single') {
103
100
  expect(el.formattedValue).to.equal('other');
104
101
  } else {
105
102
  expect(el.formattedValue).to.deep.equal(['other']);
@@ -116,7 +113,7 @@ export function runCustomChoiceGroupMixinSuite({
116
113
  <${childTag} .choiceValue=${'female'}></${childTag}>
117
114
  </${parentTag}>
118
115
  `);
119
- if (cfg.choiceType === 'single') {
116
+ if (choiceType === 'single') {
120
117
  el.modelValue = 'other';
121
118
  await el.registrationComplete;
122
119
  expect(el.modelValue).to.equal('other');
@@ -135,7 +132,7 @@ export function runCustomChoiceGroupMixinSuite({
135
132
  <${childTag} .choiceValue=${'female'}></${childTag}>
136
133
  </${parentTag}>
137
134
  `);
138
- if (cfg.choiceType === 'single') {
135
+ if (choiceType === 'single') {
139
136
  // @ts-expect-error
140
137
  el.serializedValue = 'other';
141
138
  await el.registrationComplete;
@@ -156,13 +153,13 @@ export function runCustomChoiceGroupMixinSuite({
156
153
  <${childTag} .choiceValue=${'female'}></${childTag}>
157
154
  </${parentTag}>
158
155
  `);
159
- if (cfg.choiceType === 'single') {
156
+ if (choiceType === 'single') {
160
157
  el.modelValue = 'other';
161
158
  } else {
162
159
  el.modelValue = ['other'];
163
160
  }
164
161
  el.clear();
165
- if (cfg.choiceType === 'single') {
162
+ if (choiceType === 'single') {
166
163
  expect(el.serializedValue).to.deep.equal('');
167
164
  } else {
168
165
  expect(el.serializedValue).to.deep.equal([]);
@@ -3,17 +3,26 @@ import '@lion/ui/define/lion-field.js';
3
3
  import '@lion/ui/define/lion-validation-feedback.js';
4
4
  import { LionInput } from '@lion/ui/input.js';
5
5
  import { localizeTearDown } from '@lion/ui/localize-test-helpers.js';
6
- import { defineCE, expect, fixture, html, unsafeStatic } from '@open-wc/testing';
6
+ import { expect, fixture, html, unsafeStatic } from '@open-wc/testing';
7
7
  import { FormGroupMixin } from '@lion/ui/form-core.js';
8
+ import { resolveSuiteTag } from '../../../core/test-helpers/resolveSuiteTag.js';
8
9
 
9
10
  /**
10
11
  * @typedef {import('@lion/ui/form-core.js').LionField} LionField
11
12
  */
12
13
 
13
14
  /**
14
- * @param {{ tagString?: string, childTagString?:string }} [cfg]
15
+ * Runs the form-group suite. The caller hands the elements it should run against - `host` is the
16
+ * group, `child` what sits inside it; anything left out keeps the class this suite builds from the
17
+ * mixins.
18
+ * @typedef {import('@lion/ui/types/test-suites.js').SuiteElement} SuiteElement
19
+ * @param {import('@lion/ui/types/test-suites.js').SuiteConfig<{host: SuiteElement; child: SuiteElement}>} [customConfig]
15
20
  */
16
- export function runFormGroupMixinInputSuite(cfg = {}) {
21
+ export function runFormGroupMixinInputSuite({
22
+ classes = {},
23
+ tagString: legacyTagString,
24
+ childTagString: legacyChildTagString,
25
+ } = {}) {
17
26
  const FormChild = class extends LionInput {
18
27
  get slots() {
19
28
  return {
@@ -22,7 +31,7 @@ export function runFormGroupMixinInputSuite(cfg = {}) {
22
31
  };
23
32
  }
24
33
  };
25
- const childTagString = cfg.childTagString || defineCE(FormChild);
34
+ const childTagString = resolveSuiteTag(classes?.child, legacyChildTagString, FormChild);
26
35
  const FormGroup = class extends FormGroupMixin(LitElement) {
27
36
  constructor() {
28
37
  super();
@@ -34,7 +43,7 @@ export function runFormGroupMixinInputSuite(cfg = {}) {
34
43
  this._repropagationRole = 'fieldset'; // configures FormControlMixin
35
44
  }
36
45
  };
37
- const tagString = cfg.tagString || defineCE(FormGroup);
46
+ const tagString = resolveSuiteTag(classes?.host, legacyTagString, FormGroup);
38
47
  const tag = unsafeStatic(tagString);
39
48
  const childTag = unsafeStatic(childTagString);
40
49
  beforeEach(() => {