@lion/ui 0.25.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 (771) 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-suites/LionInputTel.suite.js +9 -4
  81. package/components/input-tel-dropdown/test/LionInputTelDropdown.test.js +6 -4
  82. package/components/input-tel-dropdown/test-suites/LionInputTelDropdown--parentheses.suite.js +10 -13
  83. package/components/input-tel-dropdown/test-suites/LionInputTelDropdown.suite.js +6 -5
  84. package/components/listbox/test-suites/ListboxMixin.suite.js +19 -19
  85. package/components/menu/test-suites/InteractiveListMixin.suite.js +6 -9
  86. package/components/menu/test-suites/LionMenu.suite.js +6 -10
  87. package/components/menu/test-suites/LionMenuInteractions.suite.js +13 -4
  88. package/components/menu/test-suites/MoreButtonMenuMixin.suite.js +6 -9
  89. package/components/menu/test-suites/MultiLevelListMixin.suite.js +15 -11
  90. package/components/overlays/test/OverlayController.test.js +6 -1
  91. package/components/overlays/test-suites/OverlayMixin.suite.js +3 -5
  92. package/components/pagination/test/lion-pagination.test.js +2 -176
  93. package/components/pagination/test-suites/LionPagination.suite.js +201 -0
  94. package/components/progress-indicator/test/lion-progress-indicator.test.js +2 -203
  95. package/components/progress-indicator/test-suites/lion-progress-indicator.suite.js +214 -0
  96. package/components/radio-group/test/lion-radio-group.test.js +2 -162
  97. package/components/radio-group/test/lion-radio.test.js +2 -54
  98. package/components/radio-group/test-suites/lion-radio-group.suite.js +173 -0
  99. package/components/radio-group/test-suites/lion-radio.suite.js +70 -0
  100. package/components/select/test/lion-select.test.js +2 -79
  101. package/components/select/test-suites/LionSelect.suite.js +94 -0
  102. package/components/select-rich/test/lion-select-invoker.test.js +2 -86
  103. package/components/select-rich/test/lion-select-rich-interaction.test.js +2 -430
  104. package/components/select-rich/test/lion-select-rich.test.js +2 -1193
  105. package/components/select-rich/test-suites/lion-select-invoker.suite.js +98 -0
  106. package/components/select-rich/test-suites/lion-select-rich-interaction.suite.js +452 -0
  107. package/components/select-rich/test-suites/lion-select-rich.suite.js +1236 -0
  108. package/components/steps/test/lion-step.test.js +2 -97
  109. package/components/steps/test/lion-steps.test.js +2 -433
  110. package/components/steps/test-suites/lion-step.suite.js +113 -0
  111. package/components/steps/test-suites/lion-steps.suite.js +445 -0
  112. package/components/switch/test/lion-switch.test.js +2 -232
  113. package/components/switch/test-suites/lion-switch.suite.js +450 -0
  114. package/components/tabs/test/lion-tabs.test.js +2 -596
  115. package/components/tabs/test-suites/lion-tabs.suite.js +617 -0
  116. package/components/textarea/src/LionTextarea.js +5 -2
  117. package/components/textarea/test/lion-textarea.test.js +2 -159
  118. package/components/textarea/test-suites/lion-textarea.suite.js +192 -0
  119. package/components/tooltip/test/lion-tooltip.test.js +2 -393
  120. package/components/tooltip/test-suites/lion-tooltip.suite.js +409 -0
  121. package/custom-elements.json +14855 -10161
  122. package/dialog-test-suites.js +2 -0
  123. package/dist-types/components/accordion/test/lion-accordion.test.d.ts +1 -2
  124. package/dist-types/components/accordion/test/lion-accordion.test.d.ts.map +1 -1
  125. package/dist-types/components/accordion/test-suites/lion-accordion.suite.d.ts +18 -0
  126. package/dist-types/components/accordion/test-suites/lion-accordion.suite.d.ts.map +1 -0
  127. package/dist-types/components/button/test-suites/LionButton.suite.d.ts +10 -4
  128. package/dist-types/components/button/test-suites/LionButton.suite.d.ts.map +1 -1
  129. package/dist-types/components/button/test-suites/LionButtonReset.suite.d.ts +10 -4
  130. package/dist-types/components/button/test-suites/LionButtonReset.suite.d.ts.map +1 -1
  131. package/dist-types/components/button/test-suites/LionButtonSubmit.suite.d.ts +10 -4
  132. package/dist-types/components/button/test-suites/LionButtonSubmit.suite.d.ts.map +1 -1
  133. package/dist-types/components/calendar/test/lion-calendar.test.d.ts +1 -3
  134. package/dist-types/components/calendar/test/lion-calendar.test.d.ts.map +1 -1
  135. package/dist-types/components/calendar/test-suites/LionCalendar.suite.d.ts +13 -4
  136. package/dist-types/components/calendar/test-suites/LionCalendar.suite.d.ts.map +1 -1
  137. package/dist-types/components/checkbox-group/test/lion-checkbox-group-integrations.test.d.ts.map +1 -1
  138. package/dist-types/components/checkbox-group/test/lion-checkbox-integrations.test.d.ts.map +1 -1
  139. package/dist-types/components/checkbox-group/test-suites/CheckboxIndeterminate.suite.d.ts +12 -9
  140. package/dist-types/components/checkbox-group/test-suites/CheckboxIndeterminate.suite.d.ts.map +1 -1
  141. package/dist-types/components/collapsible/test/lion-collapsible.test.d.ts +1 -3
  142. package/dist-types/components/collapsible/test/lion-collapsible.test.d.ts.map +1 -1
  143. package/dist-types/components/collapsible/test-suites/LionCollapsible.suite.d.ts +18 -0
  144. package/dist-types/components/collapsible/test-suites/LionCollapsible.suite.d.ts.map +1 -0
  145. package/dist-types/components/combobox/test/lion-combobox.test.d.ts +1 -5
  146. package/dist-types/components/combobox/test/lion-combobox.test.d.ts.map +1 -1
  147. package/dist-types/components/combobox/test-suites/lion-combobox.suite.d.ts +17 -0
  148. package/dist-types/components/combobox/test-suites/lion-combobox.suite.d.ts.map +1 -0
  149. package/dist-types/components/core/src/ScopedElementsMixin.d.ts.map +1 -1
  150. package/dist-types/components/core/test-helpers/isElementVisible.d.ts +12 -0
  151. package/dist-types/components/core/test-helpers/isElementVisible.d.ts.map +1 -0
  152. package/dist-types/components/core/test-helpers/resolveSuiteTag.d.ts +29 -0
  153. package/dist-types/components/core/test-helpers/resolveSuiteTag.d.ts.map +1 -0
  154. package/dist-types/components/core/types/TestSuiteTypes.d.ts +40 -0
  155. package/dist-types/components/core/types/TestSuiteTypes.d.ts.map +1 -0
  156. package/dist-types/components/dialog/test/lion-dialog.integration.test.d.ts.map +1 -1
  157. package/dist-types/components/dialog/test/lion-dialog.test.d.ts +1 -5
  158. package/dist-types/components/dialog/test/lion-dialog.test.d.ts.map +1 -1
  159. package/dist-types/components/dialog/test-suites/lion-dialog.suite.d.ts +19 -0
  160. package/dist-types/components/dialog/test-suites/lion-dialog.suite.d.ts.map +1 -0
  161. package/dist-types/components/drawer/test/lion-drawer.test.d.ts +1 -3
  162. package/dist-types/components/drawer/test/lion-drawer.test.d.ts.map +1 -1
  163. package/dist-types/components/drawer/test-suites/LionDrawer.suite.d.ts +20 -0
  164. package/dist-types/components/drawer/test-suites/LionDrawer.suite.d.ts.map +1 -0
  165. package/dist-types/components/fieldset/test/lion-fieldset.test.d.ts.map +1 -1
  166. package/dist-types/components/form/test/lion-form.test.d.ts +1 -12
  167. package/dist-types/components/form/test/lion-form.test.d.ts.map +1 -1
  168. package/dist-types/components/form/test-suites/lion-form.suite.d.ts +39 -0
  169. package/dist-types/components/form/test-suites/lion-form.suite.d.ts.map +1 -0
  170. package/dist-types/components/form-core/test-suites/FormRegistrationMixins.suite.d.ts +14 -17
  171. package/dist-types/components/form-core/test-suites/FormRegistrationMixins.suite.d.ts.map +1 -1
  172. package/dist-types/components/form-core/test-suites/FormatMixin.suite.d.ts +22 -38
  173. package/dist-types/components/form-core/test-suites/FormatMixin.suite.d.ts.map +1 -1
  174. package/dist-types/components/form-core/test-suites/InteractionStateMixin.suite.d.ts +11 -5
  175. package/dist-types/components/form-core/test-suites/InteractionStateMixin.suite.d.ts.map +1 -1
  176. package/dist-types/components/form-core/test-suites/NativeTextFieldMixin.suite.d.ts +9 -4
  177. package/dist-types/components/form-core/test-suites/NativeTextFieldMixin.suite.d.ts.map +1 -1
  178. package/dist-types/components/form-core/test-suites/ValidateMixin.suite.d.ts +9 -4
  179. package/dist-types/components/form-core/test-suites/ValidateMixin.suite.d.ts.map +1 -1
  180. package/dist-types/components/form-core/test-suites/ValidateMixinFeedbackPart.suite.d.ts +10 -1
  181. package/dist-types/components/form-core/test-suites/ValidateMixinFeedbackPart.suite.d.ts.map +1 -1
  182. package/dist-types/components/form-core/test-suites/choice-group/ChoiceGroupMixin.suite.d.ts +17 -6
  183. package/dist-types/components/form-core/test-suites/choice-group/ChoiceGroupMixin.suite.d.ts.map +1 -1
  184. package/dist-types/components/form-core/test-suites/choice-group/ChoiceInputMixin.suite.d.ts +5 -2
  185. package/dist-types/components/form-core/test-suites/choice-group/ChoiceInputMixin.suite.d.ts.map +1 -1
  186. package/dist-types/components/form-core/test-suites/choice-group/CustomChoiceGroupMixin.suite.d.ts +10 -5
  187. package/dist-types/components/form-core/test-suites/choice-group/CustomChoiceGroupMixin.suite.d.ts.map +1 -1
  188. package/dist-types/components/form-core/test-suites/form-group/FormGroupMixin-input.suite.d.ts +10 -5
  189. package/dist-types/components/form-core/test-suites/form-group/FormGroupMixin-input.suite.d.ts.map +1 -1
  190. package/dist-types/components/form-core/test-suites/form-group/FormGroupMixin.suite.d.ts +10 -5
  191. package/dist-types/components/form-core/test-suites/form-group/FormGroupMixin.suite.d.ts.map +1 -1
  192. package/dist-types/components/icon/test/lion-icon.test.d.ts +1 -4
  193. package/dist-types/components/icon/test/lion-icon.test.d.ts.map +1 -1
  194. package/dist-types/components/icon/test-suites/lion-icon.suite.d.ts +16 -0
  195. package/dist-types/components/icon/test-suites/lion-icon.suite.d.ts.map +1 -0
  196. package/dist-types/components/input/test/lion-input-integrations.test.d.ts.map +1 -1
  197. package/dist-types/components/input/test/lion-input.test.d.ts +1 -2
  198. package/dist-types/components/input/test/lion-input.test.d.ts.map +1 -1
  199. package/dist-types/components/input/test-suites/lion-input.suite.d.ts +17 -0
  200. package/dist-types/components/input/test-suites/lion-input.suite.d.ts.map +1 -0
  201. package/dist-types/components/input-amount/src/parsers.d.ts.map +1 -1
  202. package/dist-types/components/input-amount/test/lion-input-amount-integrations.test.d.ts.map +1 -1
  203. package/dist-types/components/input-amount/test/lion-input-amount.test.d.ts +1 -2
  204. package/dist-types/components/input-amount/test/lion-input-amount.test.d.ts.map +1 -1
  205. package/dist-types/components/input-amount/test-suites/lion-input-amount.suite.d.ts +19 -0
  206. package/dist-types/components/input-amount/test-suites/lion-input-amount.suite.d.ts.map +1 -0
  207. package/dist-types/components/input-amount-dropdown/test/lion-input-amount-dropdown-integrations.test.d.ts.map +1 -1
  208. package/dist-types/components/input-amount-dropdown/test-suites/LionInputAmountDropdown.suite.d.ts +7 -3
  209. package/dist-types/components/input-amount-dropdown/test-suites/LionInputAmountDropdown.suite.d.ts.map +1 -1
  210. package/dist-types/components/input-date/test/lion-input-date-integrations.test.d.ts.map +1 -1
  211. package/dist-types/components/input-date/test/lion-input-date.test.d.ts +1 -3
  212. package/dist-types/components/input-date/test/lion-input-date.test.d.ts.map +1 -1
  213. package/dist-types/components/input-date/test-suites/lion-input-date.suite.d.ts +15 -0
  214. package/dist-types/components/input-date/test-suites/lion-input-date.suite.d.ts.map +1 -0
  215. package/dist-types/components/input-datepicker/test/lion-input-datepicker-integrations.test.d.ts.map +1 -1
  216. package/dist-types/components/input-datepicker/test/lion-input-datepicker.test.d.ts +1 -2
  217. package/dist-types/components/input-datepicker/test/lion-input-datepicker.test.d.ts.map +1 -1
  218. package/dist-types/components/input-datepicker/test-helpers/DatepickerInputObject.d.ts +8 -0
  219. package/dist-types/components/input-datepicker/test-helpers/DatepickerInputObject.d.ts.map +1 -1
  220. package/dist-types/components/input-datepicker/test-suites/LionInputDatepicker.suite.d.ts +15 -5
  221. package/dist-types/components/input-datepicker/test-suites/LionInputDatepicker.suite.d.ts.map +1 -1
  222. package/dist-types/components/input-email/test/lion-input-email-integrations.test.d.ts.map +1 -1
  223. package/dist-types/components/input-email/test/lion-input-email.test.d.ts +1 -3
  224. package/dist-types/components/input-email/test/lion-input-email.test.d.ts.map +1 -1
  225. package/dist-types/components/input-email/test-suites/lion-input-email.suite.d.ts +15 -0
  226. package/dist-types/components/input-email/test-suites/lion-input-email.suite.d.ts.map +1 -0
  227. package/dist-types/components/input-file/test/lion-input-file.test.d.ts +1 -5
  228. package/dist-types/components/input-file/test/lion-input-file.test.d.ts.map +1 -1
  229. package/dist-types/components/input-file/test-suites/lion-input-file.suite.d.ts +19 -0
  230. package/dist-types/components/input-file/test-suites/lion-input-file.suite.d.ts.map +1 -0
  231. package/dist-types/components/input-iban/test/lion-input-iban-integrations.test.d.ts.map +1 -1
  232. package/dist-types/components/input-iban/test/lion-input-iban.test.d.ts +1 -3
  233. package/dist-types/components/input-iban/test/lion-input-iban.test.d.ts.map +1 -1
  234. package/dist-types/components/input-iban/test-suites/lion-input-iban.suite.d.ts +15 -0
  235. package/dist-types/components/input-iban/test-suites/lion-input-iban.suite.d.ts.map +1 -0
  236. package/dist-types/components/input-range/test/lion-input-range.test.d.ts +1 -3
  237. package/dist-types/components/input-range/test/lion-input-range.test.d.ts.map +1 -1
  238. package/dist-types/components/input-range/test-suites/lion-input-range.suite.d.ts +15 -0
  239. package/dist-types/components/input-range/test-suites/lion-input-range.suite.d.ts.map +1 -0
  240. package/dist-types/components/input-stepper/test-suites/lion-input-stepper.integration.suite.d.ts +10 -2
  241. package/dist-types/components/input-stepper/test-suites/lion-input-stepper.integration.suite.d.ts.map +1 -1
  242. package/dist-types/components/input-stepper/test-suites/lion-input-stepper.suite.d.ts +10 -2
  243. package/dist-types/components/input-stepper/test-suites/lion-input-stepper.suite.d.ts.map +1 -1
  244. package/dist-types/components/input-tel/test-suites/LionInputTel.suite.d.ts +6 -4
  245. package/dist-types/components/input-tel/test-suites/LionInputTel.suite.d.ts.map +1 -1
  246. package/dist-types/components/input-tel-dropdown/test-suites/LionInputTelDropdown--parentheses.suite.d.ts +7 -3
  247. package/dist-types/components/input-tel-dropdown/test-suites/LionInputTelDropdown--parentheses.suite.d.ts.map +1 -1
  248. package/dist-types/components/input-tel-dropdown/test-suites/LionInputTelDropdown.suite.d.ts +7 -3
  249. package/dist-types/components/input-tel-dropdown/test-suites/LionInputTelDropdown.suite.d.ts.map +1 -1
  250. package/dist-types/components/listbox/test-suites/ListboxMixin.suite.d.ts +3 -4
  251. package/dist-types/components/listbox/test-suites/ListboxMixin.suite.d.ts.map +1 -1
  252. package/dist-types/components/menu/test-suites/InteractiveListMixin.suite.d.ts +6 -5
  253. package/dist-types/components/menu/test-suites/InteractiveListMixin.suite.d.ts.map +1 -1
  254. package/dist-types/components/menu/test-suites/LionMenu.suite.d.ts +6 -5
  255. package/dist-types/components/menu/test-suites/LionMenu.suite.d.ts.map +1 -1
  256. package/dist-types/components/menu/test-suites/LionMenuInteractions.suite.d.ts +10 -4
  257. package/dist-types/components/menu/test-suites/LionMenuInteractions.suite.d.ts.map +1 -1
  258. package/dist-types/components/menu/test-suites/MoreButtonMenuMixin.suite.d.ts +6 -5
  259. package/dist-types/components/menu/test-suites/MoreButtonMenuMixin.suite.d.ts.map +1 -1
  260. package/dist-types/components/menu/test-suites/MultiLevelListMixin.suite.d.ts +7 -6
  261. package/dist-types/components/menu/test-suites/MultiLevelListMixin.suite.d.ts.map +1 -1
  262. package/dist-types/components/overlays/test-suites/OverlayMixin.suite.d.ts.map +1 -1
  263. package/dist-types/components/pagination/test/lion-pagination.test.d.ts +1 -3
  264. package/dist-types/components/pagination/test/lion-pagination.test.d.ts.map +1 -1
  265. package/dist-types/components/pagination/test-suites/LionPagination.suite.d.ts +18 -0
  266. package/dist-types/components/pagination/test-suites/LionPagination.suite.d.ts.map +1 -0
  267. package/dist-types/components/progress-indicator/test/lion-progress-indicator.test.d.ts +1 -3
  268. package/dist-types/components/progress-indicator/test/lion-progress-indicator.test.d.ts.map +1 -1
  269. package/dist-types/components/progress-indicator/test-suites/lion-progress-indicator.suite.d.ts +15 -0
  270. package/dist-types/components/progress-indicator/test-suites/lion-progress-indicator.suite.d.ts.map +1 -0
  271. package/dist-types/components/radio-group/test/lion-radio-group.test.d.ts +1 -5
  272. package/dist-types/components/radio-group/test/lion-radio-group.test.d.ts.map +1 -1
  273. package/dist-types/components/radio-group/test/lion-radio.test.d.ts +1 -2
  274. package/dist-types/components/radio-group/test/lion-radio.test.d.ts.map +1 -1
  275. package/dist-types/components/radio-group/test-suites/lion-radio-group.suite.d.ts +19 -0
  276. package/dist-types/components/radio-group/test-suites/lion-radio-group.suite.d.ts.map +1 -0
  277. package/dist-types/components/radio-group/test-suites/lion-radio.suite.d.ts +17 -0
  278. package/dist-types/components/radio-group/test-suites/lion-radio.suite.d.ts.map +1 -0
  279. package/dist-types/components/select/test/lion-select.test.d.ts +1 -2
  280. package/dist-types/components/select/test/lion-select.test.d.ts.map +1 -1
  281. package/dist-types/components/select/test-suites/LionSelect.suite.d.ts +16 -0
  282. package/dist-types/components/select/test-suites/LionSelect.suite.d.ts.map +1 -0
  283. package/dist-types/components/select-rich/test/lion-select-invoker.test.d.ts +1 -2
  284. package/dist-types/components/select-rich/test/lion-select-invoker.test.d.ts.map +1 -1
  285. package/dist-types/components/select-rich/test/lion-select-rich-interaction.test.d.ts +1 -5
  286. package/dist-types/components/select-rich/test/lion-select-rich-interaction.test.d.ts.map +1 -1
  287. package/dist-types/components/select-rich/test/lion-select-rich.test.d.ts +1 -8
  288. package/dist-types/components/select-rich/test/lion-select-rich.test.d.ts.map +1 -1
  289. package/dist-types/components/select-rich/test-suites/lion-select-invoker.suite.d.ts +19 -0
  290. package/dist-types/components/select-rich/test-suites/lion-select-invoker.suite.d.ts.map +1 -0
  291. package/dist-types/components/select-rich/test-suites/lion-select-rich-interaction.suite.d.ts +19 -0
  292. package/dist-types/components/select-rich/test-suites/lion-select-rich-interaction.suite.d.ts.map +1 -0
  293. package/dist-types/components/select-rich/test-suites/lion-select-rich.suite.d.ts +21 -0
  294. package/dist-types/components/select-rich/test-suites/lion-select-rich.suite.d.ts.map +1 -0
  295. package/dist-types/components/steps/test/lion-step.test.d.ts +1 -2
  296. package/dist-types/components/steps/test/lion-step.test.d.ts.map +1 -1
  297. package/dist-types/components/steps/test/lion-steps.test.d.ts +1 -8
  298. package/dist-types/components/steps/test/lion-steps.test.d.ts.map +1 -1
  299. package/dist-types/components/steps/test-suites/lion-step.suite.d.ts +17 -0
  300. package/dist-types/components/steps/test-suites/lion-step.suite.d.ts.map +1 -0
  301. package/dist-types/components/steps/test-suites/lion-steps.suite.d.ts +22 -0
  302. package/dist-types/components/steps/test-suites/lion-steps.suite.d.ts.map +1 -0
  303. package/dist-types/components/switch/test/lion-switch.test.d.ts +1 -4
  304. package/dist-types/components/switch/test/lion-switch.test.d.ts.map +1 -1
  305. package/dist-types/components/switch/test-suites/lion-switch.suite.d.ts +17 -0
  306. package/dist-types/components/switch/test-suites/lion-switch.suite.d.ts.map +1 -0
  307. package/dist-types/components/tabs/test/lion-tabs.test.d.ts +1 -5
  308. package/dist-types/components/tabs/test/lion-tabs.test.d.ts.map +1 -1
  309. package/dist-types/components/tabs/test-suites/lion-tabs.suite.d.ts +17 -0
  310. package/dist-types/components/tabs/test-suites/lion-tabs.suite.d.ts.map +1 -0
  311. package/dist-types/components/textarea/src/LionTextarea.d.ts.map +1 -1
  312. package/dist-types/components/textarea/test/lion-textarea.test.d.ts +1 -3
  313. package/dist-types/components/textarea/test/lion-textarea.test.d.ts.map +1 -1
  314. package/dist-types/components/textarea/test-suites/lion-textarea.suite.d.ts +15 -0
  315. package/dist-types/components/textarea/test-suites/lion-textarea.suite.d.ts.map +1 -0
  316. package/dist-types/components/tooltip/test/lion-tooltip.test.d.ts +1 -3
  317. package/dist-types/components/tooltip/test/lion-tooltip.test.d.ts.map +1 -1
  318. package/dist-types/components/tooltip/test-suites/lion-tooltip.suite.d.ts +19 -0
  319. package/dist-types/components/tooltip/test-suites/lion-tooltip.suite.d.ts.map +1 -0
  320. package/dist-types/exports/accordion-test-suites.d.ts +2 -0
  321. package/dist-types/exports/accordion-test-suites.d.ts.map +1 -0
  322. package/dist-types/exports/collapsible-test-suites.d.ts +2 -0
  323. package/dist-types/exports/collapsible-test-suites.d.ts.map +1 -0
  324. package/dist-types/exports/combobox-test-suites.d.ts +2 -0
  325. package/dist-types/exports/combobox-test-suites.d.ts.map +1 -0
  326. package/dist-types/exports/dialog-test-suites.d.ts +2 -0
  327. package/dist-types/exports/dialog-test-suites.d.ts.map +1 -0
  328. package/dist-types/exports/drawer-test-suites.d.ts +2 -0
  329. package/dist-types/exports/drawer-test-suites.d.ts.map +1 -0
  330. package/dist-types/exports/form-test-suites.d.ts +2 -0
  331. package/dist-types/exports/form-test-suites.d.ts.map +1 -0
  332. package/dist-types/exports/icon-test-suites.d.ts +2 -0
  333. package/dist-types/exports/icon-test-suites.d.ts.map +1 -0
  334. package/dist-types/exports/input-amount-test-suites.d.ts +2 -0
  335. package/dist-types/exports/input-amount-test-suites.d.ts.map +1 -0
  336. package/dist-types/exports/input-date-test-suites.d.ts +2 -0
  337. package/dist-types/exports/input-date-test-suites.d.ts.map +1 -0
  338. package/dist-types/exports/input-email-test-suites.d.ts +2 -0
  339. package/dist-types/exports/input-email-test-suites.d.ts.map +1 -0
  340. package/dist-types/exports/input-file-test-suites.d.ts +2 -0
  341. package/dist-types/exports/input-file-test-suites.d.ts.map +1 -0
  342. package/dist-types/exports/input-iban-test-suites.d.ts +2 -0
  343. package/dist-types/exports/input-iban-test-suites.d.ts.map +1 -0
  344. package/dist-types/exports/input-range-test-suites.d.ts +2 -0
  345. package/dist-types/exports/input-range-test-suites.d.ts.map +1 -0
  346. package/dist-types/exports/input-stepper-suites.d.ts +7 -2
  347. package/dist-types/exports/input-stepper-suites.d.ts.map +1 -1
  348. package/dist-types/exports/input-test-suites.d.ts +2 -0
  349. package/dist-types/exports/input-test-suites.d.ts.map +1 -0
  350. package/dist-types/exports/menu-test-suites.d.ts.map +1 -1
  351. package/dist-types/exports/pagination-test-suites.d.ts +2 -0
  352. package/dist-types/exports/pagination-test-suites.d.ts.map +1 -0
  353. package/dist-types/exports/progress-indicator-test-suites.d.ts +2 -0
  354. package/dist-types/exports/progress-indicator-test-suites.d.ts.map +1 -0
  355. package/dist-types/exports/radio-group-test-suites.d.ts +3 -0
  356. package/dist-types/exports/radio-group-test-suites.d.ts.map +1 -0
  357. package/dist-types/exports/select-rich-test-suites.d.ts +4 -0
  358. package/dist-types/exports/select-rich-test-suites.d.ts.map +1 -0
  359. package/dist-types/exports/select-test-suites.d.ts +2 -0
  360. package/dist-types/exports/select-test-suites.d.ts.map +1 -0
  361. package/dist-types/exports/steps-test-suites.d.ts +3 -0
  362. package/dist-types/exports/steps-test-suites.d.ts.map +1 -0
  363. package/dist-types/exports/switch-test-suites.d.ts +2 -0
  364. package/dist-types/exports/switch-test-suites.d.ts.map +1 -0
  365. package/dist-types/exports/tabs-test-suites.d.ts +2 -0
  366. package/dist-types/exports/tabs-test-suites.d.ts.map +1 -0
  367. package/dist-types/exports/textarea-test-suites.d.ts +2 -0
  368. package/dist-types/exports/textarea-test-suites.d.ts.map +1 -0
  369. package/dist-types/exports/tooltip-test-suites.d.ts +2 -0
  370. package/dist-types/exports/tooltip-test-suites.d.ts.map +1 -0
  371. package/dist-types/exports/types/test-suites.d.ts +4 -0
  372. package/dist-types/exports/types/test-suites.d.ts.map +1 -0
  373. package/dist-types/tsconfig.tsbuildinfo +1 -1
  374. package/drawer-test-suites.js +1 -0
  375. package/exports/accordion-test-suites.js +2 -0
  376. package/exports/collapsible-test-suites.js +1 -0
  377. package/exports/combobox-test-suites.js +2 -0
  378. package/exports/dialog-test-suites.js +2 -0
  379. package/exports/drawer-test-suites.js +1 -0
  380. package/exports/form-test-suites.js +2 -0
  381. package/exports/icon-test-suites.js +2 -0
  382. package/exports/input-amount-test-suites.js +2 -0
  383. package/exports/input-date-test-suites.js +2 -0
  384. package/exports/input-email-test-suites.js +2 -0
  385. package/exports/input-file-test-suites.js +2 -0
  386. package/exports/input-iban-test-suites.js +2 -0
  387. package/exports/input-range-test-suites.js +2 -0
  388. package/exports/input-stepper-suites.js +18 -4
  389. package/exports/input-test-suites.js +2 -0
  390. package/exports/menu-test-suites.js +3 -0
  391. package/exports/pagination-test-suites.js +1 -0
  392. package/exports/progress-indicator-test-suites.js +2 -0
  393. package/exports/radio-group-test-suites.js +3 -0
  394. package/exports/select-rich-test-suites.js +4 -0
  395. package/exports/select-test-suites.js +1 -0
  396. package/exports/steps-test-suites.js +3 -0
  397. package/exports/switch-test-suites.js +2 -0
  398. package/exports/tabs-test-suites.js +2 -0
  399. package/exports/textarea-test-suites.js +2 -0
  400. package/exports/tooltip-test-suites.js +2 -0
  401. package/exports/types/test-suites.ts +3 -0
  402. package/form-test-suites.js +2 -0
  403. package/generated/awesome-phonenumber/provenance.json +1 -1
  404. package/icon-test-suites.js +2 -0
  405. package/input-amount-test-suites.js +2 -0
  406. package/input-date-test-suites.js +2 -0
  407. package/input-email-test-suites.js +2 -0
  408. package/input-file-test-suites.js +2 -0
  409. package/input-iban-test-suites.js +2 -0
  410. package/input-range-test-suites.js +2 -0
  411. package/input-stepper-suites.js +18 -4
  412. package/input-test-suites.js +2 -0
  413. package/menu-test-suites.js +3 -0
  414. package/package.json +4 -1
  415. package/pagination-test-suites.js +1 -0
  416. package/progress-indicator-test-suites.js +2 -0
  417. package/radio-group-test-suites.js +3 -0
  418. package/select-rich-test-suites.js +4 -0
  419. package/select-test-suites.js +1 -0
  420. package/steps-test-suites.js +3 -0
  421. package/switch-test-suites.js +2 -0
  422. package/tabs-test-suites.js +2 -0
  423. package/textarea-test-suites.js +2 -0
  424. package/tooltip-test-suites.js +2 -0
  425. package/vscode.html-custom-data.json +55 -0
  426. package/web-types.json +219 -1
  427. package/components/button/test/demos.screenshots-test.js +0 -100
  428. package/components/calendar/test/demos.screenshots-test.js +0 -118
  429. package/components/input-file/test/lion-selected-file-list.test.js +0 -199
  430. package/components/select-rich/test/demos.screenshots-test.js +0 -168
  431. package/components/switch/test/lion-switch-button.test.js +0 -204
  432. package/dist-types/components/button/test/demos.screenshots-test.d.ts +0 -2
  433. package/dist-types/components/button/test/demos.screenshots-test.d.ts.map +0 -1
  434. package/dist-types/components/calendar/test/demos.screenshots-test.d.ts +0 -2
  435. package/dist-types/components/calendar/test/demos.screenshots-test.d.ts.map +0 -1
  436. package/dist-types/components/input-file/test/lion-selected-file-list.test.d.ts +0 -5
  437. package/dist-types/components/input-file/test/lion-selected-file-list.test.d.ts.map +0 -1
  438. package/dist-types/components/select-rich/test/demos.screenshots-test.d.ts +0 -2
  439. package/dist-types/components/select-rich/test/demos.screenshots-test.d.ts.map +0 -1
  440. package/dist-types/components/switch/test/lion-switch-button.test.d.ts +0 -4
  441. package/dist-types/components/switch/test/lion-switch-button.test.d.ts.map +0 -1
  442. package/docs/components/accordion/api-table.md +0 -53
  443. package/docs/components/accordion/index.md +0 -13
  444. package/docs/components/accordion/overview.md +0 -141
  445. package/docs/components/accordion/reference.md +0 -59
  446. package/docs/components/accordion/use-cases.md +0 -303
  447. package/docs/components/button/api-table.md +0 -84
  448. package/docs/components/button/assets/bootstrap-button.js +0 -245
  449. package/docs/components/button/examples.md +0 -42
  450. package/docs/components/button/extensions.md +0 -42
  451. package/docs/components/button/index.md +0 -13
  452. package/docs/components/button/overview.md +0 -42
  453. package/docs/components/button/src/icon.svg.js +0 -5
  454. package/docs/components/button/use-cases.md +0 -121
  455. package/docs/components/calendar/api-table.md +0 -56
  456. package/docs/components/calendar/index.md +0 -13
  457. package/docs/components/calendar/overview.md +0 -61
  458. package/docs/components/calendar/use-cases.md +0 -243
  459. package/docs/components/checkbox-group/api-table.md +0 -117
  460. package/docs/components/checkbox-group/index.md +0 -13
  461. package/docs/components/checkbox-group/overview.md +0 -51
  462. package/docs/components/checkbox-group/use-cases.md +0 -192
  463. package/docs/components/collapsible/api-table.md +0 -55
  464. package/docs/components/collapsible/assets/CustomCollapsible.js +0 -117
  465. package/docs/components/collapsible/assets/applyDemoCollapsibleStyles.js +0 -41
  466. package/docs/components/collapsible/examples.md +0 -95
  467. package/docs/components/collapsible/index.md +0 -13
  468. package/docs/components/collapsible/overview.md +0 -51
  469. package/docs/components/collapsible/use-cases.md +0 -91
  470. package/docs/components/combobox/api-table.md +0 -122
  471. package/docs/components/combobox/extensions.md +0 -174
  472. package/docs/components/combobox/index.md +0 -13
  473. package/docs/components/combobox/overview.md +0 -74
  474. package/docs/components/combobox/src/LinkMixin.js +0 -60
  475. package/docs/components/combobox/src/demo-selection-display.js +0 -164
  476. package/docs/components/combobox/src/gh-combobox/gh-button.js +0 -71
  477. package/docs/components/combobox/src/gh-combobox/gh-combobox.js +0 -515
  478. package/docs/components/combobox/src/google-combobox/assets/google-clear-icon.js +0 -9
  479. package/docs/components/combobox/src/google-combobox/assets/google-search-icon.js +0 -9
  480. package/docs/components/combobox/src/google-combobox/assets/google-voice-search-icon.js +0 -19
  481. package/docs/components/combobox/src/google-combobox/google-combobox.js +0 -461
  482. package/docs/components/combobox/src/lazyRender.js +0 -29
  483. package/docs/components/combobox/src/levenshtein.js +0 -95
  484. package/docs/components/combobox/src/md-combobox/MdFieldMixin.js +0 -345
  485. package/docs/components/combobox/src/md-combobox/md-combobox.js +0 -91
  486. package/docs/components/combobox/src/md-combobox/md-input.js +0 -5
  487. package/docs/components/combobox/src/md-combobox/style/load-roboto.js +0 -6
  488. package/docs/components/combobox/src/md-combobox/style/md-ripple.js +0 -82
  489. package/docs/components/combobox/src/wa-combobox/wa-combobox.js +0 -375
  490. package/docs/components/combobox/use-cases.md +0 -561
  491. package/docs/components/dialog/api-table.md +0 -61
  492. package/docs/components/dialog/index.md +0 -13
  493. package/docs/components/dialog/overview.md +0 -71
  494. package/docs/components/dialog/src/demoStyle.js +0 -57
  495. package/docs/components/dialog/src/external-dialog.js +0 -32
  496. package/docs/components/dialog/src/slots-dialog-content.js +0 -32
  497. package/docs/components/dialog/src/styled-dialog-content.js +0 -38
  498. package/docs/components/dialog/use-cases.md +0 -199
  499. package/docs/components/drawer/api-table.md +0 -64
  500. package/docs/components/drawer/index.md +0 -13
  501. package/docs/components/drawer/overview.md +0 -80
  502. package/docs/components/drawer/src/demoStyle.js +0 -71
  503. package/docs/components/drawer/use-cases.md +0 -206
  504. package/docs/components/fieldset/api-table.md +0 -24
  505. package/docs/components/fieldset/index.md +0 -13
  506. package/docs/components/fieldset/overview.md +0 -61
  507. package/docs/components/fieldset/use-cases.md +0 -203
  508. package/docs/components/form/api-table.md +0 -12
  509. package/docs/components/form/index.md +0 -13
  510. package/docs/components/form/overview.md +0 -66
  511. package/docs/components/form/use-cases.md +0 -230
  512. package/docs/components/icon/api-table.md +0 -41
  513. package/docs/components/icon/assets/bugs/bug01.svg.js +0 -2
  514. package/docs/components/icon/assets/bugs/bug02.svg.js +0 -2
  515. package/docs/components/icon/assets/bugs/bug05.svg.js +0 -2
  516. package/docs/components/icon/assets/bugs/bug06.svg.js +0 -2
  517. package/docs/components/icon/assets/bugs/bug08.svg.js +0 -2
  518. package/docs/components/icon/assets/bugs/bug12.svg.js +0 -2
  519. package/docs/components/icon/assets/bugs/bug19.svg.js +0 -2
  520. package/docs/components/icon/assets/bugs/bug23.svg.js +0 -2
  521. package/docs/components/icon/assets/bugs/bug24.svg.js +0 -2
  522. package/docs/components/icon/assets/iconset-bugs.js +0 -11
  523. package/docs/components/icon/assets/iconset-misc.js +0 -3
  524. package/docs/components/icon/assets/iconset-space.js +0 -31
  525. package/docs/components/icon/assets/misc/arrowLeft.svg.js +0 -6
  526. package/docs/components/icon/assets/space/aliens-spaceship.svg.js +0 -2
  527. package/docs/components/icon/assets/space/meteor.svg.js +0 -2
  528. package/docs/components/icon/assets/space/moon-flag.svg.js +0 -2
  529. package/docs/components/icon/assets/space/moon.svg.js +0 -2
  530. package/docs/components/icon/assets/space/night.svg.js +0 -2
  531. package/docs/components/icon/assets/space/orbit.svg.js +0 -2
  532. package/docs/components/icon/assets/space/planet.svg.js +0 -2
  533. package/docs/components/icon/assets/space/robot.svg.js +0 -2
  534. package/docs/components/icon/assets/space/rocket.svg.js +0 -2
  535. package/docs/components/icon/assets/space/satellite.svg.js +0 -2
  536. package/docs/components/icon/assets/space/signal.svg.js +0 -2
  537. package/docs/components/icon/assets/space/space-helmet.svg.js +0 -2
  538. package/docs/components/icon/assets/space/sun.svg.js +0 -2
  539. package/docs/components/icon/assets/space/telescope.svg.js +0 -2
  540. package/docs/components/icon/index.md +0 -13
  541. package/docs/components/icon/overview.md +0 -52
  542. package/docs/components/icon/use-cases.md +0 -92
  543. package/docs/components/index.md +0 -17
  544. package/docs/components/input/api-table.md +0 -52
  545. package/docs/components/input/index.md +0 -13
  546. package/docs/components/input/overview.md +0 -48
  547. package/docs/components/input/use-cases.md +0 -90
  548. package/docs/components/input-amount/api-table.md +0 -66
  549. package/docs/components/input-amount/index.md +0 -13
  550. package/docs/components/input-amount/overview.md +0 -61
  551. package/docs/components/input-amount/use-cases.md +0 -147
  552. package/docs/components/input-amount-dropdown/api-table.md +0 -87
  553. package/docs/components/input-amount-dropdown/index.md +0 -13
  554. package/docs/components/input-amount-dropdown/use-cases.md +0 -103
  555. package/docs/components/input-date/api-table.md +0 -58
  556. package/docs/components/input-date/index.md +0 -13
  557. package/docs/components/input-date/overview.md +0 -51
  558. package/docs/components/input-date/use-cases.md +0 -96
  559. package/docs/components/input-datepicker/api-table.md +0 -99
  560. package/docs/components/input-datepicker/index.md +0 -13
  561. package/docs/components/input-datepicker/overview.md +0 -54
  562. package/docs/components/input-datepicker/use-cases.md +0 -117
  563. package/docs/components/input-email/api-table.md +0 -53
  564. package/docs/components/input-email/index.md +0 -13
  565. package/docs/components/input-email/overview.md +0 -44
  566. package/docs/components/input-email/use-cases.md +0 -60
  567. package/docs/components/input-file/api-table.md +0 -157
  568. package/docs/components/input-file/index.md +0 -13
  569. package/docs/components/input-file/overview.md +0 -44
  570. package/docs/components/input-file/use-cases.md +0 -454
  571. package/docs/components/input-iban/api-table.md +0 -54
  572. package/docs/components/input-iban/index.md +0 -13
  573. package/docs/components/input-iban/overview.md +0 -49
  574. package/docs/components/input-iban/use-cases.md +0 -114
  575. package/docs/components/input-range/api-table.md +0 -71
  576. package/docs/components/input-range/index.md +0 -13
  577. package/docs/components/input-range/overview.md +0 -44
  578. package/docs/components/input-range/use-cases.md +0 -126
  579. package/docs/components/input-stepper/api-table.md +0 -74
  580. package/docs/components/input-stepper/index.md +0 -13
  581. package/docs/components/input-stepper/overview.md +0 -48
  582. package/docs/components/input-stepper/use-cases.md +0 -155
  583. package/docs/components/input-tel/api-table.md +0 -77
  584. package/docs/components/input-tel/index.md +0 -13
  585. package/docs/components/input-tel/overview.md +0 -74
  586. package/docs/components/input-tel/src/h-region-code-table.js +0 -109
  587. package/docs/components/input-tel/use-cases.md +0 -319
  588. package/docs/components/input-tel-dropdown/api-table.md +0 -85
  589. package/docs/components/input-tel-dropdown/extensions.md +0 -44
  590. package/docs/components/input-tel-dropdown/index.md +0 -13
  591. package/docs/components/input-tel-dropdown/overview.md +0 -50
  592. package/docs/components/input-tel-dropdown/src/intl-input-tel-dropdown.js +0 -138
  593. package/docs/components/input-tel-dropdown/use-cases.md +0 -171
  594. package/docs/components/listbox/api-table.md +0 -65
  595. package/docs/components/listbox/index.md +0 -13
  596. package/docs/components/listbox/overview.md +0 -54
  597. package/docs/components/listbox/src/listboxData.js +0 -131
  598. package/docs/components/listbox/use-cases.md +0 -154
  599. package/docs/components/menu/api-table.md +0 -44
  600. package/docs/components/menu/applyMenuDemoStyles.js +0 -173
  601. package/docs/components/menu/extensions.md +0 -262
  602. package/docs/components/menu/index.md +0 -13
  603. package/docs/components/menu/migration.md +0 -129
  604. package/docs/components/menu/overview.md +0 -448
  605. package/docs/components/menu/src/DemoNavigationBar.js +0 -441
  606. package/docs/components/menu/src/DemoSpinButton.js +0 -215
  607. package/docs/components/menu/src/DemoToolbar.js +0 -101
  608. package/docs/components/menu/src/DemoTree.js +0 -55
  609. package/docs/components/menu/src/navigation-bar-types.js +0 -41
  610. package/docs/components/menu/use-cases.md +0 -74
  611. package/docs/components/pagination/api-table.md +0 -45
  612. package/docs/components/pagination/index.md +0 -13
  613. package/docs/components/pagination/overview.md +0 -41
  614. package/docs/components/pagination/use-cases.md +0 -113
  615. package/docs/components/progress-indicator/api-table.md +0 -48
  616. package/docs/components/progress-indicator/assets/my-determinate-progress-bar.js +0 -30
  617. package/docs/components/progress-indicator/assets/my-indeterminate-progress-spinner.js +0 -55
  618. package/docs/components/progress-indicator/examples.md +0 -137
  619. package/docs/components/progress-indicator/index.md +0 -13
  620. package/docs/components/progress-indicator/overview.md +0 -48
  621. package/docs/components/radio-group/api-table.md +0 -63
  622. package/docs/components/radio-group/index.md +0 -13
  623. package/docs/components/radio-group/overview.md +0 -58
  624. package/docs/components/radio-group/use-cases.md +0 -146
  625. package/docs/components/select/api-table.md +0 -51
  626. package/docs/components/select/index.md +0 -13
  627. package/docs/components/select/overview.md +0 -56
  628. package/docs/components/select/use-cases.md +0 -128
  629. package/docs/components/select-rich/api-table.md +0 -123
  630. package/docs/components/select-rich/examples.md +0 -43
  631. package/docs/components/select-rich/index.md +0 -13
  632. package/docs/components/select-rich/overview.md +0 -55
  633. package/docs/components/select-rich/src/flagStyles.js +0 -1250
  634. package/docs/components/select-rich/src/intl-select-rich.js +0 -194
  635. package/docs/components/select-rich/src/regionMetaList.js +0 -1717
  636. package/docs/components/select-rich/use-cases.md +0 -387
  637. package/docs/components/steps/api-table.md +0 -92
  638. package/docs/components/steps/index.md +0 -13
  639. package/docs/components/steps/overview.md +0 -77
  640. package/docs/components/steps/use-cases.md +0 -181
  641. package/docs/components/switch/api-table.md +0 -82
  642. package/docs/components/switch/index.md +0 -13
  643. package/docs/components/switch/overview.md +0 -87
  644. package/docs/components/switch/reference.md +0 -51
  645. package/docs/components/switch/use-cases.md +0 -88
  646. package/docs/components/tabs/api-table.md +0 -51
  647. package/docs/components/tabs/examples.md +0 -35
  648. package/docs/components/tabs/index.md +0 -13
  649. package/docs/components/tabs/overview.md +0 -60
  650. package/docs/components/tabs/src/lea-tab-panel.js +0 -26
  651. package/docs/components/tabs/src/lea-tab.js +0 -50
  652. package/docs/components/tabs/src/lea-tabs.js +0 -28
  653. package/docs/components/tabs/use-cases.md +0 -231
  654. package/docs/components/textarea/api-table.md +0 -57
  655. package/docs/components/textarea/index.md +0 -13
  656. package/docs/components/textarea/overview.md +0 -47
  657. package/docs/components/textarea/use-cases.md +0 -107
  658. package/docs/components/tooltip/api-table.md +0 -62
  659. package/docs/components/tooltip/examples.md +0 -51
  660. package/docs/components/tooltip/index.md +0 -13
  661. package/docs/components/tooltip/overview.md +0 -56
  662. package/docs/components/tooltip/use-cases.md +0 -275
  663. package/docs/fundamentals/index.md +0 -19
  664. package/docs/fundamentals/node-tools/babel-plugin-extend-docs/index.md +0 -13
  665. package/docs/fundamentals/node-tools/babel-plugin-extend-docs/overview.md +0 -246
  666. package/docs/fundamentals/node-tools/index.md +0 -11
  667. package/docs/fundamentals/node-tools/providence-analytics/index.md +0 -13
  668. package/docs/fundamentals/node-tools/providence-analytics/overview.md +0 -108
  669. package/docs/fundamentals/node-tools/publish-docs/index.md +0 -13
  670. package/docs/fundamentals/node-tools/publish-docs/overview.md +0 -149
  671. package/docs/fundamentals/node-tools/remark-extend/index.md +0 -13
  672. package/docs/fundamentals/node-tools/remark-extend/overview.md +0 -287
  673. package/docs/fundamentals/node-tools/rocket-preset-extend-lion-docs/index.md +0 -13
  674. package/docs/fundamentals/node-tools/rocket-preset-extend-lion-docs/overview.md +0 -298
  675. package/docs/fundamentals/rationales/TypeScript.md +0 -123
  676. package/docs/fundamentals/rationales/accessibility.md +0 -40
  677. package/docs/fundamentals/rationales/index.md +0 -11
  678. package/docs/fundamentals/rationales/side-effects.md +0 -215
  679. package/docs/fundamentals/rationales/versioning.md +0 -47
  680. package/docs/fundamentals/systems/core/SlotMixin.md +0 -168
  681. package/docs/fundamentals/systems/core/api-table.md +0 -43
  682. package/docs/fundamentals/systems/core/index.md +0 -15
  683. package/docs/fundamentals/systems/core/overview.md +0 -98
  684. package/docs/fundamentals/systems/form/api-table.md +0 -40
  685. package/docs/fundamentals/systems/form/assets/h-output.js +0 -156
  686. package/docs/fundamentals/systems/form/formatting-and-parsing.md +0 -258
  687. package/docs/fundamentals/systems/form/index.md +0 -15
  688. package/docs/fundamentals/systems/form/interaction-states.md +0 -195
  689. package/docs/fundamentals/systems/form/model-value.md +0 -57
  690. package/docs/fundamentals/systems/form/overview.md +0 -95
  691. package/docs/fundamentals/systems/form/styling.md +0 -92
  692. package/docs/fundamentals/systems/form/use-cases.md +0 -187
  693. package/docs/fundamentals/systems/form/validate.md +0 -985
  694. package/docs/fundamentals/systems/icon/index.md +0 -15
  695. package/docs/fundamentals/systems/icon/overview.md +0 -137
  696. package/docs/fundamentals/systems/index.md +0 -11
  697. package/docs/fundamentals/systems/localize/api-table.md +0 -72
  698. package/docs/fundamentals/systems/localize/assets/all-locales.js +0 -437
  699. package/docs/fundamentals/systems/localize/assets/en-AU.js +0 -6
  700. package/docs/fundamentals/systems/localize/assets/en-GB.js +0 -6
  701. package/docs/fundamentals/systems/localize/assets/en-US.js +0 -6
  702. package/docs/fundamentals/systems/localize/assets/en.js +0 -4
  703. package/docs/fundamentals/systems/localize/assets/nl-BE.js +0 -6
  704. package/docs/fundamentals/systems/localize/assets/nl-NL.js +0 -6
  705. package/docs/fundamentals/systems/localize/assets/nl.js +0 -4
  706. package/docs/fundamentals/systems/localize/dates.md +0 -208
  707. package/docs/fundamentals/systems/localize/index.md +0 -15
  708. package/docs/fundamentals/systems/localize/numbers.md +0 -230
  709. package/docs/fundamentals/systems/localize/overview.md +0 -61
  710. package/docs/fundamentals/systems/localize/rationale.md +0 -75
  711. package/docs/fundamentals/systems/localize/text.md +0 -139
  712. package/docs/fundamentals/systems/localize/use-cases.md +0 -334
  713. package/docs/fundamentals/systems/overlays/_configuration-positioning.md +0 -118
  714. package/docs/fundamentals/systems/overlays/_edge-cases.md +0 -149
  715. package/docs/fundamentals/systems/overlays/api-table.md +0 -174
  716. package/docs/fundamentals/systems/overlays/assets/applyDemoOverlayStyles.js +0 -23
  717. package/docs/fundamentals/systems/overlays/assets/demo-el-using-overlaymixin.js +0 -104
  718. package/docs/fundamentals/systems/overlays/assets/demo-overlay-backdrop.js +0 -47
  719. package/docs/fundamentals/systems/overlays/assets/demo-overlay-positioning.mjs +0 -537
  720. package/docs/fundamentals/systems/overlays/assets/umbrella-form.js +0 -140
  721. package/docs/fundamentals/systems/overlays/configuration.md +0 -516
  722. package/docs/fundamentals/systems/overlays/index.md +0 -15
  723. package/docs/fundamentals/systems/overlays/overview.md +0 -126
  724. package/docs/fundamentals/systems/overlays/rationale.md +0 -242
  725. package/docs/fundamentals/systems/overlays/use-cases.md +0 -717
  726. package/docs/fundamentals/tools/ajax/index.md +0 -15
  727. package/docs/fundamentals/tools/ajax/overview.md +0 -269
  728. package/docs/fundamentals/tools/ajax/use-cases.md +0 -469
  729. package/docs/fundamentals/tools/helpers/action-logger.md +0 -175
  730. package/docs/fundamentals/tools/helpers/index.md +0 -15
  731. package/docs/fundamentals/tools/helpers/overview.md +0 -43
  732. package/docs/fundamentals/tools/index.md +0 -11
  733. package/docs/fundamentals/tools/singleton-manager/example-complex/demo-app.js +0 -95
  734. package/docs/fundamentals/tools/singleton-manager/example-complex/index.md +0 -34
  735. package/docs/fundamentals/tools/singleton-manager/example-complex/node_modules/overlays/index.js +0 -30
  736. package/docs/fundamentals/tools/singleton-manager/example-complex/node_modules/overlays/instance.js +0 -4
  737. package/docs/fundamentals/tools/singleton-manager/example-complex/node_modules/page-a/page-a.js +0 -35
  738. package/docs/fundamentals/tools/singleton-manager/example-complex/node_modules/page-b/node_modules/overlays/index.js +0 -30
  739. package/docs/fundamentals/tools/singleton-manager/example-complex/node_modules/page-b/node_modules/overlays/instance.js +0 -4
  740. package/docs/fundamentals/tools/singleton-manager/example-complex/node_modules/page-b/page-b.js +0 -49
  741. package/docs/fundamentals/tools/singleton-manager/example-complex/overlayCompatibility.js +0 -69
  742. package/docs/fundamentals/tools/singleton-manager/example-fail/demo-app.js +0 -93
  743. package/docs/fundamentals/tools/singleton-manager/example-fail/index.md +0 -32
  744. package/docs/fundamentals/tools/singleton-manager/example-fail/node_modules/overlays/index.js +0 -30
  745. package/docs/fundamentals/tools/singleton-manager/example-fail/node_modules/overlays/instance.js +0 -3
  746. package/docs/fundamentals/tools/singleton-manager/example-fail/node_modules/page-c/page-c.js +0 -34
  747. package/docs/fundamentals/tools/singleton-manager/example-fail/node_modules/page-d/node_modules/overlays/index.js +0 -30
  748. package/docs/fundamentals/tools/singleton-manager/example-fail/node_modules/page-d/node_modules/overlays/instance.js +0 -3
  749. package/docs/fundamentals/tools/singleton-manager/example-fail/node_modules/page-d/page-d.js +0 -34
  750. package/docs/fundamentals/tools/singleton-manager/example-success/demo-app.js +0 -95
  751. package/docs/fundamentals/tools/singleton-manager/example-success/index.md +0 -31
  752. package/docs/fundamentals/tools/singleton-manager/example-success/node_modules/overlays/index.js +0 -30
  753. package/docs/fundamentals/tools/singleton-manager/example-success/node_modules/overlays/instance.js +0 -4
  754. package/docs/fundamentals/tools/singleton-manager/example-success/node_modules/page-e/page-e.js +0 -33
  755. package/docs/fundamentals/tools/singleton-manager/example-success/node_modules/page-f/node_modules/overlays/index.js +0 -30
  756. package/docs/fundamentals/tools/singleton-manager/example-success/node_modules/page-f/node_modules/overlays/instance.js +0 -4
  757. package/docs/fundamentals/tools/singleton-manager/example-success/node_modules/page-f/page-f.js +0 -34
  758. package/docs/fundamentals/tools/singleton-manager/example-success/overlayCompatibility.js +0 -23
  759. package/docs/fundamentals/tools/singleton-manager/index.md +0 -15
  760. package/docs/fundamentals/tools/singleton-manager/overview.md +0 -317
  761. package/docs/guides/how-to/create-a-custom-field.md +0 -212
  762. package/docs/guides/how-to/create-a-form.md +0 -101
  763. package/docs/guides/how-to/extend-a-native-input.md +0 -78
  764. package/docs/guides/how-to/get-started.md +0 -116
  765. package/docs/guides/how-to/index.md +0 -25
  766. package/docs/guides/index.md +0 -44
  767. package/docs/guides/principles/definitions-and-terms.md +0 -53
  768. package/docs/guides/principles/index.md +0 -36
  769. package/docs/guides/principles/scoped-elements.md +0 -119
  770. package/docs/guides/principles/styling.md +0 -43
  771. 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(() => {