@lion/ui 0.0.1

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 (2070) hide show
  1. package/components/accordion/src/LionAccordion.js +438 -0
  2. package/components/accordion/test/lion-accordion.test.js +488 -0
  3. package/components/button/src/LionButton.js +222 -0
  4. package/components/button/src/LionButtonReset.js +124 -0
  5. package/components/button/src/LionButtonSubmit.js +109 -0
  6. package/components/button/test/demos.screenshots-test.js +61 -0
  7. package/components/button/test/lion-button.test.js +9 -0
  8. package/components/button/test-suites/LionButton.suite.js +383 -0
  9. package/components/button/test-suites/LionButtonReset.suite.js +194 -0
  10. package/components/button/test-suites/LionButtonSubmit.suite.js +186 -0
  11. package/components/calendar/src/LionCalendar.js +861 -0
  12. package/components/calendar/src/calendarStyle.js +85 -0
  13. package/components/calendar/src/utils/createDay.js +38 -0
  14. package/components/calendar/src/utils/createMonth.js +33 -0
  15. package/components/calendar/src/utils/createMultipleMonth.js +32 -0
  16. package/components/calendar/src/utils/createWeek.js +37 -0
  17. package/components/calendar/src/utils/dataTemplate.js +55 -0
  18. package/components/calendar/src/utils/dayTemplate.js +86 -0
  19. package/components/calendar/src/utils/getFirstDayNextMonth.js +13 -0
  20. package/components/calendar/src/utils/getLastDayPreviousMonth.js +12 -0
  21. package/components/calendar/src/utils/isSameDate.js +17 -0
  22. package/components/calendar/test/demos.screenshots-test.js +87 -0
  23. package/components/calendar/test/lion-calendar.test.js +1460 -0
  24. package/components/calendar/test/utils/createMonth.test.js +49 -0
  25. package/components/calendar/test/utils/createMultipleMonth.test.js +74 -0
  26. package/components/calendar/test/utils/createWeek.test.js +51 -0
  27. package/components/calendar/test/utils/dataTemplate.test.js +24 -0
  28. package/components/calendar/test/utils/dayTemplate.test.js +82 -0
  29. package/components/calendar/test/utils/getFirstDayNextMonth.test.js +17 -0
  30. package/components/calendar/test/utils/getLastDayPreviousMonth.test.js +17 -0
  31. package/components/calendar/test/utils/isSameDate.test.js +12 -0
  32. package/components/calendar/test/utils/snapshots/monthTemplate_en-GB_Sunday_2018-12.js +488 -0
  33. package/components/calendar/test-helpers/CalendarObject.js +174 -0
  34. package/components/calendar/test-helpers/DayObject.js +92 -0
  35. package/components/calendar/test-helpers/weekdayNames.js +8 -0
  36. package/components/calendar/translations/bg.js +6 -0
  37. package/components/calendar/translations/cs.js +6 -0
  38. package/components/calendar/translations/de.js +6 -0
  39. package/components/calendar/translations/en.js +6 -0
  40. package/components/calendar/translations/es.js +6 -0
  41. package/components/calendar/translations/fr.js +6 -0
  42. package/components/calendar/translations/hu.js +6 -0
  43. package/components/calendar/translations/it.js +6 -0
  44. package/components/calendar/translations/nl.js +6 -0
  45. package/components/calendar/translations/pl.js +6 -0
  46. package/components/calendar/translations/ro.js +6 -0
  47. package/components/calendar/translations/ru.js +6 -0
  48. package/components/calendar/translations/sk.js +6 -0
  49. package/components/calendar/translations/uk.js +6 -0
  50. package/components/calendar/translations/zh.js +6 -0
  51. package/components/calendar/types/day.ts +25 -0
  52. package/components/checkbox-group/src/LionCheckbox.js +9 -0
  53. package/components/checkbox-group/src/LionCheckboxGroup.js +12 -0
  54. package/components/checkbox-group/src/LionCheckboxIndeterminate.js +251 -0
  55. package/components/checkbox-group/test/lion-checkbox-group-integrations.test.js +8 -0
  56. package/components/checkbox-group/test/lion-checkbox-group.test.js +109 -0
  57. package/components/checkbox-group/test/lion-checkbox-indeterminate-integrations.test.js +4 -0
  58. package/components/checkbox-group/test/lion-checkbox-indeterminate.test.js +700 -0
  59. package/components/checkbox-group/test/lion-checkbox-integrations.test.js +4 -0
  60. package/components/checkbox-group/test/lion-checkbox.test.js +42 -0
  61. package/components/collapsible/src/LionCollapsible.js +191 -0
  62. package/components/collapsible/test/lion-collapsible.test.js +149 -0
  63. package/components/combobox/src/LionCombobox.js +1054 -0
  64. package/components/combobox/test/lion-combobox-integrations.test.js +4 -0
  65. package/components/combobox/test/lion-combobox.test.js +2423 -0
  66. package/components/combobox/types/SelectionDisplay.ts +6 -0
  67. package/components/core/src/DisabledMixin.js +77 -0
  68. package/components/core/src/DisabledWithTabIndexMixin.js +99 -0
  69. package/components/core/src/EventTargetShim.js +33 -0
  70. package/components/core/src/ScopedStylesController.js +53 -0
  71. package/components/core/src/SlotMixin.js +104 -0
  72. package/components/core/src/browserDetection.js +39 -0
  73. package/components/core/src/uuid.js +9 -0
  74. package/components/core/test/DisabledMixin.test.js +87 -0
  75. package/components/core/test/DisabledWithTabIndexMixin.test.js +116 -0
  76. package/components/core/test/EventTargetShim.test.js +41 -0
  77. package/components/core/test/ScopedStylesController.test.js +75 -0
  78. package/components/core/test/SlotMixin.test.js +289 -0
  79. package/components/core/types/DisabledMixinTypes.ts +25 -0
  80. package/components/core/types/DisabledWithTabIndexMixinTypes.ts +30 -0
  81. package/components/core/types/SlotMixinTypes.ts +59 -0
  82. package/components/dialog/src/LionDialog.js +51 -0
  83. package/components/dialog/test/lion-dialog.test.js +74 -0
  84. package/components/fieldset/src/LionFieldset.js +37 -0
  85. package/components/fieldset/test/lion-fieldset.test.js +9 -0
  86. package/components/form/src/LionForm.js +92 -0
  87. package/components/form/test/lion-form.test.js +205 -0
  88. package/components/form-core/src/FocusMixin.js +192 -0
  89. package/components/form-core/src/FormControlMixin.js +963 -0
  90. package/components/form-core/src/FormatMixin.js +591 -0
  91. package/components/form-core/src/InteractionStateMixin.js +236 -0
  92. package/components/form-core/src/LionField.js +95 -0
  93. package/components/form-core/src/NativeTextFieldMixin.js +150 -0
  94. package/components/form-core/src/choice-group/ChoiceGroupMixin.js +400 -0
  95. package/components/form-core/src/choice-group/ChoiceInputMixin.js +362 -0
  96. package/components/form-core/src/form-group/FormElementsHaveNoError.js +22 -0
  97. package/components/form-core/src/form-group/FormGroupMixin.js +589 -0
  98. package/components/form-core/src/registration/FormControlsCollection.js +102 -0
  99. package/components/form-core/src/registration/FormRegisteringMixin.js +59 -0
  100. package/components/form-core/src/registration/FormRegistrarMixin.js +277 -0
  101. package/components/form-core/src/registration/FormRegistrarPortalMixin.js +63 -0
  102. package/components/form-core/src/utils/AsyncQueue.js +46 -0
  103. package/components/form-core/src/utils/SyncUpdatableMixin.js +137 -0
  104. package/components/form-core/src/utils/getAriaElementsInRightDomOrder.js +43 -0
  105. package/components/form-core/src/utils/pascalCase.js +9 -0
  106. package/components/form-core/src/validate/LionValidationFeedback.js +69 -0
  107. package/components/form-core/src/validate/ResultValidator.js +29 -0
  108. package/components/form-core/src/validate/Unparseable.js +35 -0
  109. package/components/form-core/src/validate/ValidateMixin.js +927 -0
  110. package/components/form-core/src/validate/Validator.js +251 -0
  111. package/components/form-core/src/validate/resultValidators/DefaultSuccess.js +33 -0
  112. package/components/form-core/src/validate/validators/DateValidators.js +103 -0
  113. package/components/form-core/src/validate/validators/NumberValidators.js +80 -0
  114. package/components/form-core/src/validate/validators/Required.js +71 -0
  115. package/components/form-core/src/validate/validators/StringValidators.js +142 -0
  116. package/components/form-core/test/FocusMixin.test.js +328 -0
  117. package/components/form-core/test/FormControlMixin.test.js +553 -0
  118. package/components/form-core/test/FormRegistrationMixins.test.js +17 -0
  119. package/components/form-core/test/FormatMixin.test.js +3 -0
  120. package/components/form-core/test/InteractionStateMixin.test.js +3 -0
  121. package/components/form-core/test/NativeTextFieldMixin.test.js +3 -0
  122. package/components/form-core/test/choice-group/ChoiceGroupMixin.test.js +3 -0
  123. package/components/form-core/test/choice-group/ChoiceInputMixin.test.js +3 -0
  124. package/components/form-core/test/form-group/FormGroupMixin.test.js +3 -0
  125. package/components/form-core/test/lion-field.test.js +435 -0
  126. package/components/form-core/test/utils/SyncUpdatableMixin.test.js +341 -0
  127. package/components/form-core/test/utils/getAriaElementsInRightDomOrder.test.js +73 -0
  128. package/components/form-core/test/validate/DateValidators.test.js +105 -0
  129. package/components/form-core/test/validate/NumberValidators.test.js +61 -0
  130. package/components/form-core/test/validate/Required.test.js +79 -0
  131. package/components/form-core/test/validate/ResultValidator.test.js +44 -0
  132. package/components/form-core/test/validate/StringValidators.test.js +138 -0
  133. package/components/form-core/test/validate/ValidateMixin.test.js +3 -0
  134. package/components/form-core/test/validate/ValidateMixinFeedbackPart.test.js +3 -0
  135. package/components/form-core/test/validate/Validator.test.js +209 -0
  136. package/components/form-core/test/validate/lion-validation-feedback.test.js +76 -0
  137. package/components/form-core/test-helpers/ExampleValidators.js +53 -0
  138. package/components/form-core/test-helpers/getFormControlMembers.js +21 -0
  139. package/components/form-core/test-helpers/mimicUserInput.js +16 -0
  140. package/components/form-core/test-suites/FormRegistrationMixins.suite.js +386 -0
  141. package/components/form-core/test-suites/FormatMixin.suite.js +675 -0
  142. package/components/form-core/test-suites/InteractionStateMixin.suite.js +276 -0
  143. package/components/form-core/test-suites/NativeTextFieldMixin.suite.js +78 -0
  144. package/components/form-core/test-suites/ValidateMixin.suite.js +1459 -0
  145. package/components/form-core/test-suites/ValidateMixinFeedbackPart.suite.js +643 -0
  146. package/components/form-core/test-suites/choice-group/ChoiceGroupMixin.suite.js +751 -0
  147. package/components/form-core/test-suites/choice-group/ChoiceInputMixin.suite.js +357 -0
  148. package/components/form-core/test-suites/form-group/FormGroupMixin-input.suite.js +327 -0
  149. package/components/form-core/test-suites/form-group/FormGroupMixin.suite.js +1585 -0
  150. package/components/form-core/types/FocusMixinTypes.ts +47 -0
  151. package/components/form-core/types/FormControlMixinTypes.ts +265 -0
  152. package/components/form-core/types/FormatMixinTypes.ts +197 -0
  153. package/components/form-core/types/InteractionStateMixinTypes.ts +99 -0
  154. package/components/form-core/types/NativeTextFieldMixinTypes.ts +46 -0
  155. package/components/form-core/types/choice-group/ChoiceGroupMixinTypes.ts +48 -0
  156. package/components/form-core/types/choice-group/ChoiceInputMixinTypes.ts +63 -0
  157. package/components/form-core/types/choice-group/index.ts +2 -0
  158. package/components/form-core/types/form-group/FormGroupMixinTypes.ts +173 -0
  159. package/components/form-core/types/form-group/index.ts +1 -0
  160. package/components/form-core/types/index.ts +10 -0
  161. package/components/form-core/types/registration/FormRegisteringMixinTypes.ts +28 -0
  162. package/components/form-core/types/registration/FormRegistrarMixinTypes.ts +88 -0
  163. package/components/form-core/types/registration/FormRegistrarPortalMixinTypes.ts +20 -0
  164. package/components/form-core/types/registration/index.ts +3 -0
  165. package/components/form-core/types/utils/SyncUpdatableMixinTypes.ts +40 -0
  166. package/components/form-core/types/utils/index.ts +1 -0
  167. package/components/form-core/types/validate/ValidateMixinTypes.ts +238 -0
  168. package/components/form-core/types/validate/index.ts +2 -0
  169. package/components/form-core/types/validate/validate.ts +60 -0
  170. package/components/form-integrations/test/dialog-integrations.test.js +73 -0
  171. package/components/form-integrations/test/form-group-methods.test.js +203 -0
  172. package/components/form-integrations/test/form-integrations.test.js +189 -0
  173. package/components/form-integrations/test/form-validation-integrations.test.js +185 -0
  174. package/components/form-integrations/test/helpers/helpers.js +40 -0
  175. package/components/form-integrations/test/helpers/umbrella-form.js +171 -0
  176. package/components/form-integrations/test/model-value-consistency.test.js +571 -0
  177. package/components/form-integrations/test/model-value-event.test.js +154 -0
  178. package/components/helpers/src/SbActionLogger.js +269 -0
  179. package/components/helpers/src/SbLocaleSwitcher.js +32 -0
  180. package/components/helpers/src/renderLitAsNode.js +13 -0
  181. package/components/helpers/src/sortEachDepth.js +84 -0
  182. package/components/helpers/test/renderLitAsNode.test.js +39 -0
  183. package/components/helpers/test/sb-action-logger.test.js +146 -0
  184. package/components/icon/src/IconManager.js +65 -0
  185. package/components/icon/src/LionIcon.js +205 -0
  186. package/components/icon/src/icons.js +10 -0
  187. package/components/icon/test/IconManager.test.js +98 -0
  188. package/components/icon/test/hammer.svg.js +2 -0
  189. package/components/icon/test/heart.svg.js +2 -0
  190. package/components/icon/test/lion-icon.test.js +211 -0
  191. package/components/input/src/LionInput.js +114 -0
  192. package/components/input/test/input-integrations.test.js +34 -0
  193. package/components/input/test/lion-input-integrations.test.js +18 -0
  194. package/components/input/test/lion-input.test.js +228 -0
  195. package/components/input/test-helpers/getInputMembers.js +17 -0
  196. package/components/input-amount/src/LionInputAmount.js +210 -0
  197. package/components/input-amount/src/formatters.js +40 -0
  198. package/components/input-amount/src/parsers.js +48 -0
  199. package/components/input-amount/src/preprocessors.js +9 -0
  200. package/components/input-amount/test/formatters.test.js +75 -0
  201. package/components/input-amount/test/lion-input-amount-integrations.test.js +20 -0
  202. package/components/input-amount/test/lion-input-amount.test.js +330 -0
  203. package/components/input-amount/test/parsers.test.js +35 -0
  204. package/components/input-amount/test/preprocessors.test.js +16 -0
  205. package/components/input-date/src/LionInputDate.js +70 -0
  206. package/components/input-date/test/lion-input-date-integrations.test.js +19 -0
  207. package/components/input-date/test/lion-input-date.test.js +142 -0
  208. package/components/input-datepicker/src/LionCalendarOverlayFrame.js +125 -0
  209. package/components/input-datepicker/src/LionInputDatepicker.js +469 -0
  210. package/components/input-datepicker/test/lion-input-datepicker-integrations.test.js +19 -0
  211. package/components/input-datepicker/test/lion-input-datepicker.test.js +732 -0
  212. package/components/input-datepicker/test-helpers/DatepickerInputObject.js +91 -0
  213. package/components/input-datepicker/translations/bg-BG.js +5 -0
  214. package/components/input-datepicker/translations/bg.js +3 -0
  215. package/components/input-datepicker/translations/cs-CZ.js +5 -0
  216. package/components/input-datepicker/translations/cs.js +3 -0
  217. package/components/input-datepicker/translations/de-DE.js +5 -0
  218. package/components/input-datepicker/translations/de.js +3 -0
  219. package/components/input-datepicker/translations/en-AU.js +5 -0
  220. package/components/input-datepicker/translations/en-GB.js +5 -0
  221. package/components/input-datepicker/translations/en-US.js +5 -0
  222. package/components/input-datepicker/translations/en.js +3 -0
  223. package/components/input-datepicker/translations/es-ES.js +5 -0
  224. package/components/input-datepicker/translations/es.js +3 -0
  225. package/components/input-datepicker/translations/fr-BE.js +5 -0
  226. package/components/input-datepicker/translations/fr-FR.js +5 -0
  227. package/components/input-datepicker/translations/fr.js +3 -0
  228. package/components/input-datepicker/translations/hu-HU.js +5 -0
  229. package/components/input-datepicker/translations/hu.js +3 -0
  230. package/components/input-datepicker/translations/it-IT.js +5 -0
  231. package/components/input-datepicker/translations/it.js +3 -0
  232. package/components/input-datepicker/translations/nl-BE.js +5 -0
  233. package/components/input-datepicker/translations/nl-NL.js +5 -0
  234. package/components/input-datepicker/translations/nl.js +3 -0
  235. package/components/input-datepicker/translations/pl-PL.js +5 -0
  236. package/components/input-datepicker/translations/pl.js +3 -0
  237. package/components/input-datepicker/translations/ro-RO.js +5 -0
  238. package/components/input-datepicker/translations/ro.js +3 -0
  239. package/components/input-datepicker/translations/ru-RU.js +5 -0
  240. package/components/input-datepicker/translations/ru.js +3 -0
  241. package/components/input-datepicker/translations/sk-SK.js +5 -0
  242. package/components/input-datepicker/translations/sk.js +3 -0
  243. package/components/input-datepicker/translations/uk-UA.js +5 -0
  244. package/components/input-datepicker/translations/uk.js +3 -0
  245. package/components/input-datepicker/translations/zh.js +3 -0
  246. package/components/input-email/src/LionInputEmail.js +21 -0
  247. package/components/input-email/test/lion-input-email-integrations.test.js +11 -0
  248. package/components/input-email/test/lion-input-email.test.js +46 -0
  249. package/components/input-iban/src/LionInputIban.js +18 -0
  250. package/components/input-iban/src/formatters.js +15 -0
  251. package/components/input-iban/src/parsers.js +12 -0
  252. package/components/input-iban/src/validators.js +217 -0
  253. package/components/input-iban/test/formatters.test.js +13 -0
  254. package/components/input-iban/test/lion-input-iban-integrations.test.js +11 -0
  255. package/components/input-iban/test/lion-input-iban.test.js +81 -0
  256. package/components/input-iban/test/parsers.test.js +9 -0
  257. package/components/input-iban/test/validators.test.js +76 -0
  258. package/components/input-iban/translations/bg-BG.js +5 -0
  259. package/components/input-iban/translations/bg.js +35 -0
  260. package/components/input-iban/translations/cs-CZ.js +5 -0
  261. package/components/input-iban/translations/cs.js +35 -0
  262. package/components/input-iban/translations/de-DE.js +5 -0
  263. package/components/input-iban/translations/de.js +35 -0
  264. package/components/input-iban/translations/en-AU.js +5 -0
  265. package/components/input-iban/translations/en-GB.js +5 -0
  266. package/components/input-iban/translations/en-US.js +5 -0
  267. package/components/input-iban/translations/en.js +35 -0
  268. package/components/input-iban/translations/es-ES.js +5 -0
  269. package/components/input-iban/translations/es.js +35 -0
  270. package/components/input-iban/translations/fr-BE.js +5 -0
  271. package/components/input-iban/translations/fr-FR.js +5 -0
  272. package/components/input-iban/translations/fr.js +35 -0
  273. package/components/input-iban/translations/hu-HU.js +5 -0
  274. package/components/input-iban/translations/hu.js +35 -0
  275. package/components/input-iban/translations/it-IT.js +5 -0
  276. package/components/input-iban/translations/it.js +35 -0
  277. package/components/input-iban/translations/nl-BE.js +5 -0
  278. package/components/input-iban/translations/nl-NL.js +5 -0
  279. package/components/input-iban/translations/nl.js +35 -0
  280. package/components/input-iban/translations/pl-PL.js +5 -0
  281. package/components/input-iban/translations/pl.js +35 -0
  282. package/components/input-iban/translations/ro-RO.js +5 -0
  283. package/components/input-iban/translations/ro.js +35 -0
  284. package/components/input-iban/translations/ru-RU.js +5 -0
  285. package/components/input-iban/translations/ru.js +35 -0
  286. package/components/input-iban/translations/sk-SK.js +5 -0
  287. package/components/input-iban/translations/sk.js +35 -0
  288. package/components/input-iban/translations/uk-UA.js +5 -0
  289. package/components/input-iban/translations/uk.js +35 -0
  290. package/components/input-iban/translations/zh.js +35 -0
  291. package/components/input-range/src/LionInputRange.js +141 -0
  292. package/components/input-range/test/lion-input-range.test.js +81 -0
  293. package/components/input-stepper/src/LionInputStepper.js +346 -0
  294. package/components/input-stepper/test/lion-input-stepper.test.js +190 -0
  295. package/components/input-tel/src/LionInputTel.js +353 -0
  296. package/components/input-tel/src/PhoneUtilManager.js +38 -0
  297. package/components/input-tel/src/formatters.js +87 -0
  298. package/components/input-tel/src/localizeNamespaceLoader.js +75 -0
  299. package/components/input-tel/src/parsers.js +34 -0
  300. package/components/input-tel/src/preprocessors.js +66 -0
  301. package/components/input-tel/src/validators.js +66 -0
  302. package/components/input-tel/test/LionInputTel.test.js +3 -0
  303. package/components/input-tel/test/formatters.test.js +65 -0
  304. package/components/input-tel/test/parsers.test.js +24 -0
  305. package/components/input-tel/test/preprocessors.test.js +81 -0
  306. package/components/input-tel/test/validators.test.js +88 -0
  307. package/components/input-tel/test-helpers/mockPhoneUtilManager.js +25 -0
  308. package/components/input-tel/test-suites/LionInputTel.suite.js +459 -0
  309. package/components/input-tel/translations/bg-BG.js +5 -0
  310. package/components/input-tel/translations/bg.js +4 -0
  311. package/components/input-tel/translations/cs-CZ.js +5 -0
  312. package/components/input-tel/translations/cs.js +4 -0
  313. package/components/input-tel/translations/de-DE.js +5 -0
  314. package/components/input-tel/translations/de.js +4 -0
  315. package/components/input-tel/translations/en-AU.js +5 -0
  316. package/components/input-tel/translations/en-GB.js +5 -0
  317. package/components/input-tel/translations/en-US.js +5 -0
  318. package/components/input-tel/translations/en.js +4 -0
  319. package/components/input-tel/translations/es-ES.js +5 -0
  320. package/components/input-tel/translations/es.js +4 -0
  321. package/components/input-tel/translations/fr-BE.js +5 -0
  322. package/components/input-tel/translations/fr-FR.js +5 -0
  323. package/components/input-tel/translations/fr.js +4 -0
  324. package/components/input-tel/translations/hu-HU.js +5 -0
  325. package/components/input-tel/translations/hu.js +4 -0
  326. package/components/input-tel/translations/it-IT.js +5 -0
  327. package/components/input-tel/translations/it.js +4 -0
  328. package/components/input-tel/translations/nl-BE.js +5 -0
  329. package/components/input-tel/translations/nl-NL.js +5 -0
  330. package/components/input-tel/translations/nl.js +4 -0
  331. package/components/input-tel/translations/pl-PL.js +5 -0
  332. package/components/input-tel/translations/pl.js +4 -0
  333. package/components/input-tel/translations/ro-RO.js +5 -0
  334. package/components/input-tel/translations/ro.js +4 -0
  335. package/components/input-tel/translations/ru-RU.js +5 -0
  336. package/components/input-tel/translations/ru.js +4 -0
  337. package/components/input-tel/translations/sk-SK.js +5 -0
  338. package/components/input-tel/translations/sk.js +4 -0
  339. package/components/input-tel/translations/uk-UA.js +5 -0
  340. package/components/input-tel/translations/uk.js +4 -0
  341. package/components/input-tel/translations/zh.js +4 -0
  342. package/components/input-tel/types/index.ts +250 -0
  343. package/components/input-tel-dropdown/src/LionInputTelDropdown.js +439 -0
  344. package/components/input-tel-dropdown/src/getFlagSymbol.js +13 -0
  345. package/components/input-tel-dropdown/test/LionInputTelDropdown.test.js +56 -0
  346. package/components/input-tel-dropdown/test-suites/LionInputTelDropdown.suite.js +413 -0
  347. package/components/input-tel-dropdown/types/index.ts +45 -0
  348. package/components/listbox/src/LionListbox.js +27 -0
  349. package/components/listbox/src/LionOption.js +149 -0
  350. package/components/listbox/src/LionOptions.js +31 -0
  351. package/components/listbox/src/ListboxMixin.js +981 -0
  352. package/components/listbox/test/lion-listbox.test.js +3 -0
  353. package/components/listbox/test/lion-option.test.js +183 -0
  354. package/components/listbox/test/lion-options.test.js +17 -0
  355. package/components/listbox/test-helpers/getListboxMembers.js +21 -0
  356. package/components/listbox/test-suites/ListboxMixin.suite.js +1696 -0
  357. package/components/listbox/types/LionOption.ts +6 -0
  358. package/components/listbox/types/ListboxMixinTypes.ts +104 -0
  359. package/components/localize/src/LocalizeManager.js +599 -0
  360. package/components/localize/src/LocalizeMixin.js +165 -0
  361. package/components/localize/src/date/formatDate.js +56 -0
  362. package/components/localize/src/date/getDateFormatBasedOnLocale.js +50 -0
  363. package/components/localize/src/date/getMonthNames.js +37 -0
  364. package/components/localize/src/date/getWeekdayNames.js +60 -0
  365. package/components/localize/src/date/normalizeDateTime.js +8 -0
  366. package/components/localize/src/date/parseDate.js +72 -0
  367. package/components/localize/src/date/utils/addLeadingZero.js +20 -0
  368. package/components/localize/src/date/utils/clean.js +13 -0
  369. package/components/localize/src/date/utils/forceShortMonthNamesForEnGb.js +10 -0
  370. package/components/localize/src/date/utils/normalizeIntlDate.js +69 -0
  371. package/components/localize/src/date/utils/pad.js +11 -0
  372. package/components/localize/src/date/utils/sanitizedDateTimeFormat.js +13 -0
  373. package/components/localize/src/date/utils/splitDate.js +9 -0
  374. package/components/localize/src/date/utils/trim.js +9 -0
  375. package/components/localize/src/isLocalizeESModule.js +7 -0
  376. package/components/localize/src/number/formatNumber.js +53 -0
  377. package/components/localize/src/number/formatNumberToParts.js +161 -0
  378. package/components/localize/src/number/getCurrencyName.js +31 -0
  379. package/components/localize/src/number/getDecimalSeparator.js +20 -0
  380. package/components/localize/src/number/getFractionDigits.js +20 -0
  381. package/components/localize/src/number/getGroupSeparator.js +21 -0
  382. package/components/localize/src/number/getSeparatorsFromNumber.js +58 -0
  383. package/components/localize/src/number/normalizeCurrencyLabel.js +10 -0
  384. package/components/localize/src/number/parseNumber.js +149 -0
  385. package/components/localize/src/number/utils/emptyStringWhenNumberNan.js +11 -0
  386. package/components/localize/src/number/utils/normalSpaces.js +8 -0
  387. package/components/localize/src/number/utils/normalize-format-number-to-parts/forceAddGroupSeparators.js +71 -0
  388. package/components/localize/src/number/utils/normalize-format-number-to-parts/forceCurrencyToEnd.js +21 -0
  389. package/components/localize/src/number/utils/normalize-format-number-to-parts/forceENAUSymbols.js +25 -0
  390. package/components/localize/src/number/utils/normalize-format-number-to-parts/forceNormalSpaces.js +20 -0
  391. package/components/localize/src/number/utils/normalize-format-number-to-parts/forceSpaceBetweenCurrencyCodeAndNumber.js +35 -0
  392. package/components/localize/src/number/utils/normalize-format-number-to-parts/forceSpaceInsteadOfZeroForGroup.js +16 -0
  393. package/components/localize/src/number/utils/normalize-format-number-to-parts/forceTryCurrencyCode.js +20 -0
  394. package/components/localize/src/number/utils/normalize-format-number-to-parts/forceYenSymbol.js +15 -0
  395. package/components/localize/src/number/utils/normalize-format-number-to-parts/normalizeIntl.js +51 -0
  396. package/components/localize/src/number/utils/normalize-get-currency-name/forceCurrencyNameForPHPEnGB.js +10 -0
  397. package/components/localize/src/singleton.js +21 -0
  398. package/components/localize/src/utils/getLocale.js +17 -0
  399. package/components/localize/test/LocalizeManager.test.js +870 -0
  400. package/components/localize/test/LocalizeMixin.test.js +492 -0
  401. package/components/localize/test/date/formatDate.test.js +343 -0
  402. package/components/localize/test/date/getDateFormatBasedOnLocale.test.js +16 -0
  403. package/components/localize/test/date/getMonthNames.test.js +35 -0
  404. package/components/localize/test/date/getWeekdayNames.test.js +68 -0
  405. package/components/localize/test/date/normalizeDateTime.test.js +16 -0
  406. package/components/localize/test/date/parseDate.test.js +66 -0
  407. package/components/localize/test/isLocalizeESModule.test.js +33 -0
  408. package/components/localize/test/localize.test.js +55 -0
  409. package/components/localize/test/number/formatNumber.test.js +491 -0
  410. package/components/localize/test/number/formatNumberToParts.test.js +186 -0
  411. package/components/localize/test/number/getCurrencyName.test.js +14 -0
  412. package/components/localize/test/number/getDecimalSeparator.test.js +16 -0
  413. package/components/localize/test/number/getFractionDigits.test.js +11 -0
  414. package/components/localize/test/number/getGroupSeparator.test.js +13 -0
  415. package/components/localize/test/number/getSeparatorsFromNumber.test.js +48 -0
  416. package/components/localize/test/number/parseNumber.test.js +163 -0
  417. package/components/localize/test/test-esmodule-default.js +1 -0
  418. package/components/localize/test-helpers/fake-imports.js +60 -0
  419. package/components/localize/test-helpers/localizeTearDown.js +11 -0
  420. package/components/localize/types/LocalizeMixinTypes.ts +96 -0
  421. package/components/overlays/src/ArrowMixin.js +216 -0
  422. package/components/overlays/src/OverlayController.js +1310 -0
  423. package/components/overlays/src/OverlayMixin.js +373 -0
  424. package/components/overlays/src/OverlaysManager.js +248 -0
  425. package/components/overlays/src/configurations/withBottomSheetConfig.js +16 -0
  426. package/components/overlays/src/configurations/withDropdownConfig.js +22 -0
  427. package/components/overlays/src/configurations/withModalDialogConfig.js +16 -0
  428. package/components/overlays/src/globalOverlaysStyle.js +129 -0
  429. package/components/overlays/src/singleton.js +13 -0
  430. package/components/overlays/src/utils/contain-focus.js +202 -0
  431. package/components/overlays/src/utils/deep-contains.js +36 -0
  432. package/components/overlays/src/utils/get-deep-active-element.js +14 -0
  433. package/components/overlays/src/utils/get-focusable-elements.js +109 -0
  434. package/components/overlays/src/utils/inert-siblings.js +36 -0
  435. package/components/overlays/src/utils/is-equal-config.js +24 -0
  436. package/components/overlays/src/utils/is-visible.js +49 -0
  437. package/components/overlays/src/utils/key-codes.js +6 -0
  438. package/components/overlays/src/utils/simulate-tab.js +14 -0
  439. package/components/overlays/src/utils/sort-by-tabindex.js +56 -0
  440. package/components/overlays/test/ArrowMixin.test.js +114 -0
  441. package/components/overlays/test/OverlayController.test.js +1675 -0
  442. package/components/overlays/test/OverlayMixin.test.js +25 -0
  443. package/components/overlays/test/OverlaysManager.test.js +100 -0
  444. package/components/overlays/test/global-positioning.test.js +70 -0
  445. package/components/overlays/test/local-positioning.test.js +365 -0
  446. package/components/overlays/test/utils-tests/active-element.test.js +87 -0
  447. package/components/overlays/test/utils-tests/contain-focus.test.js +231 -0
  448. package/components/overlays/test/utils-tests/deep-contains.test.js +127 -0
  449. package/components/overlays/test/utils-tests/get-focusable-elements.test.js +196 -0
  450. package/components/overlays/test/utils-tests/is-equal-config.test.js +81 -0
  451. package/components/overlays/test/utils-tests/local-positioning-helpers.js +16 -0
  452. package/components/overlays/test/utils-tests/visibility.test.js +157 -0
  453. package/components/overlays/test-helpers/mimicClick.js +21 -0
  454. package/components/overlays/test-suites/OverlayMixin.suite.js +434 -0
  455. package/components/overlays/translations/bg-BG.js +5 -0
  456. package/components/overlays/translations/bg.js +4 -0
  457. package/components/overlays/translations/cs-CZ.js +5 -0
  458. package/components/overlays/translations/cs.js +4 -0
  459. package/components/overlays/translations/de-DE.js +5 -0
  460. package/components/overlays/translations/de.js +4 -0
  461. package/components/overlays/translations/en-AU.js +5 -0
  462. package/components/overlays/translations/en-GB.js +5 -0
  463. package/components/overlays/translations/en-US.js +5 -0
  464. package/components/overlays/translations/en.js +4 -0
  465. package/components/overlays/translations/es-ES.js +5 -0
  466. package/components/overlays/translations/es.js +4 -0
  467. package/components/overlays/translations/fr-BE.js +5 -0
  468. package/components/overlays/translations/fr-FR.js +5 -0
  469. package/components/overlays/translations/fr.js +4 -0
  470. package/components/overlays/translations/hu-HU.js +5 -0
  471. package/components/overlays/translations/hu.js +4 -0
  472. package/components/overlays/translations/it-IT.js +5 -0
  473. package/components/overlays/translations/it.js +4 -0
  474. package/components/overlays/translations/nl-BE.js +5 -0
  475. package/components/overlays/translations/nl-NL.js +5 -0
  476. package/components/overlays/translations/nl.js +4 -0
  477. package/components/overlays/translations/pl-PL.js +5 -0
  478. package/components/overlays/translations/pl.js +4 -0
  479. package/components/overlays/translations/ro-RO.js +5 -0
  480. package/components/overlays/translations/ro.js +4 -0
  481. package/components/overlays/translations/ru-RU.js +5 -0
  482. package/components/overlays/translations/ru.js +4 -0
  483. package/components/overlays/translations/sk-SK.js +5 -0
  484. package/components/overlays/translations/sk.js +4 -0
  485. package/components/overlays/translations/uk-UA.js +5 -0
  486. package/components/overlays/translations/uk.js +4 -0
  487. package/components/overlays/translations/zh.js +4 -0
  488. package/components/overlays/types/ArrowMixinTypes.ts +36 -0
  489. package/components/overlays/types/OverlayConfig.ts +69 -0
  490. package/components/overlays/types/OverlayMixinTypes.ts +79 -0
  491. package/components/pagination/src/LionPagination.js +314 -0
  492. package/components/pagination/test/lion-pagination.test.js +151 -0
  493. package/components/pagination/translations/bg.js +6 -0
  494. package/components/pagination/translations/cs.js +6 -0
  495. package/components/pagination/translations/de.js +6 -0
  496. package/components/pagination/translations/en.js +6 -0
  497. package/components/pagination/translations/es.js +6 -0
  498. package/components/pagination/translations/fr.js +6 -0
  499. package/components/pagination/translations/hu.js +6 -0
  500. package/components/pagination/translations/it.js +6 -0
  501. package/components/pagination/translations/nl.js +6 -0
  502. package/components/pagination/translations/pl.js +6 -0
  503. package/components/pagination/translations/ro.js +6 -0
  504. package/components/pagination/translations/ru.js +6 -0
  505. package/components/pagination/translations/sk.js +6 -0
  506. package/components/pagination/translations/uk.js +6 -0
  507. package/components/pagination/translations/zh.js +6 -0
  508. package/components/progress-indicator/src/LionProgressIndicator.js +205 -0
  509. package/components/progress-indicator/test/lion-progress-indicator.test.js +211 -0
  510. package/components/progress-indicator/translations/bg.js +3 -0
  511. package/components/progress-indicator/translations/cs.js +3 -0
  512. package/components/progress-indicator/translations/de.js +3 -0
  513. package/components/progress-indicator/translations/en.js +3 -0
  514. package/components/progress-indicator/translations/es.js +3 -0
  515. package/components/progress-indicator/translations/fr.js +3 -0
  516. package/components/progress-indicator/translations/hu.js +3 -0
  517. package/components/progress-indicator/translations/it.js +3 -0
  518. package/components/progress-indicator/translations/nl.js +3 -0
  519. package/components/progress-indicator/translations/pl.js +3 -0
  520. package/components/progress-indicator/translations/ro.js +3 -0
  521. package/components/progress-indicator/translations/ru.js +3 -0
  522. package/components/progress-indicator/translations/sk.js +3 -0
  523. package/components/progress-indicator/translations/uk.js +3 -0
  524. package/components/progress-indicator/translations/zh.js +3 -0
  525. package/components/radio-group/src/LionRadio.js +28 -0
  526. package/components/radio-group/src/LionRadioGroup.js +34 -0
  527. package/components/radio-group/test/lion-radio-group-integrations.test.js +9 -0
  528. package/components/radio-group/test/lion-radio-group.test.js +133 -0
  529. package/components/radio-group/test/lion-radio-integrations.test.js +4 -0
  530. package/components/radio-group/test/lion-radio.test.js +40 -0
  531. package/components/select/src/LionSelect.js +118 -0
  532. package/components/select/test/lion-select.test.js +59 -0
  533. package/components/select-rich/src/LionSelectInvoker.js +152 -0
  534. package/components/select-rich/src/LionSelectRich.js +569 -0
  535. package/components/select-rich/test/demos.screenshots-test.js +137 -0
  536. package/components/select-rich/test/lion-select-invoker.test.js +103 -0
  537. package/components/select-rich/test/lion-select-listbox-suite-integration.test.js +7 -0
  538. package/components/select-rich/test/lion-select-rich-dialog-integration.test.js +59 -0
  539. package/components/select-rich/test/lion-select-rich-interaction.test.js +272 -0
  540. package/components/select-rich/test/lion-select-rich.test.js +702 -0
  541. package/components/steps/refactorToStorybook/complex-demo-app.html +468 -0
  542. package/components/steps/refactorToStorybook/complex.html +19 -0
  543. package/components/steps/refactorToStorybook/data.json +10 -0
  544. package/components/steps/src/LionStep.js +118 -0
  545. package/components/steps/src/LionSteps.js +186 -0
  546. package/components/steps/test/lion-step.test.js +106 -0
  547. package/components/steps/test/lion-steps.test.js +466 -0
  548. package/components/switch/src/LionSwitch.js +144 -0
  549. package/components/switch/src/LionSwitchButton.js +166 -0
  550. package/components/switch/test/lion-switch-button.test.js +164 -0
  551. package/components/switch/test/lion-switch.test.js +224 -0
  552. package/components/tabs/src/LionTabs.js +409 -0
  553. package/components/tabs/test/lion-tabs.test.js +568 -0
  554. package/components/textarea/src/LionTextarea.js +212 -0
  555. package/components/textarea/test/lion-textarea-integrations.test.js +23 -0
  556. package/components/textarea/test/lion-textarea.test.js +194 -0
  557. package/components/tooltip/src/LionTooltip.js +149 -0
  558. package/components/tooltip/test/lion-tooltip.test.js +351 -0
  559. package/components/validate-messages/src/loadDefaultFeedbackMessages.js +190 -0
  560. package/components/validate-messages/test/loadDefaultFeedbackMessages.test.js +49 -0
  561. package/components/validate-messages/translations/bg-BG.js +5 -0
  562. package/components/validate-messages/translations/bg.js +50 -0
  563. package/components/validate-messages/translations/cs-CZ.js +5 -0
  564. package/components/validate-messages/translations/cs.js +50 -0
  565. package/components/validate-messages/translations/de-DE.js +5 -0
  566. package/components/validate-messages/translations/de.js +52 -0
  567. package/components/validate-messages/translations/en-AU.js +5 -0
  568. package/components/validate-messages/translations/en-GB.js +5 -0
  569. package/components/validate-messages/translations/en-PH.js +13 -0
  570. package/components/validate-messages/translations/en-US.js +13 -0
  571. package/components/validate-messages/translations/en.js +52 -0
  572. package/components/validate-messages/translations/es-ES.js +5 -0
  573. package/components/validate-messages/translations/es.js +52 -0
  574. package/components/validate-messages/translations/fr-BE.js +5 -0
  575. package/components/validate-messages/translations/fr-FR.js +5 -0
  576. package/components/validate-messages/translations/fr.js +54 -0
  577. package/components/validate-messages/translations/hu-HU.js +5 -0
  578. package/components/validate-messages/translations/hu.js +54 -0
  579. package/components/validate-messages/translations/it-IT.js +5 -0
  580. package/components/validate-messages/translations/it.js +52 -0
  581. package/components/validate-messages/translations/nl-BE.js +5 -0
  582. package/components/validate-messages/translations/nl-NL.js +5 -0
  583. package/components/validate-messages/translations/nl.js +50 -0
  584. package/components/validate-messages/translations/pl-PL.js +5 -0
  585. package/components/validate-messages/translations/pl.js +52 -0
  586. package/components/validate-messages/translations/ro-RO.js +5 -0
  587. package/components/validate-messages/translations/ro.js +52 -0
  588. package/components/validate-messages/translations/ru-RU.js +5 -0
  589. package/components/validate-messages/translations/ru.js +52 -0
  590. package/components/validate-messages/translations/sk-SK.js +5 -0
  591. package/components/validate-messages/translations/sk.js +50 -0
  592. package/components/validate-messages/translations/uk-UA.js +5 -0
  593. package/components/validate-messages/translations/uk.js +54 -0
  594. package/components/validate-messages/translations/zh.js +50 -0
  595. package/custom-elements.json +86254 -0
  596. package/dist-types/components/accordion/src/LionAccordion.d.ts +160 -0
  597. package/dist-types/components/accordion/src/LionAccordion.d.ts.map +1 -0
  598. package/dist-types/components/accordion/test/lion-accordion.test.d.ts +2 -0
  599. package/dist-types/components/accordion/test/lion-accordion.test.d.ts.map +1 -0
  600. package/dist-types/components/button/src/LionButton.d.ts +61 -0
  601. package/dist-types/components/button/src/LionButton.d.ts.map +1 -0
  602. package/dist-types/components/button/src/LionButtonReset.d.ts +53 -0
  603. package/dist-types/components/button/src/LionButtonReset.d.ts.map +1 -0
  604. package/dist-types/components/button/src/LionButtonSubmit.d.ts +26 -0
  605. package/dist-types/components/button/src/LionButtonSubmit.d.ts.map +1 -0
  606. package/dist-types/components/button/test/demos.screenshots-test.d.ts +2 -0
  607. package/dist-types/components/button/test/demos.screenshots-test.d.ts.map +1 -0
  608. package/dist-types/components/button/test/lion-button.test.d.ts +2 -0
  609. package/dist-types/components/button/test/lion-button.test.d.ts.map +1 -0
  610. package/dist-types/components/button/test-suites/LionButton.suite.d.ts +5 -0
  611. package/dist-types/components/button/test-suites/LionButton.suite.d.ts.map +1 -0
  612. package/dist-types/components/button/test-suites/LionButtonReset.suite.d.ts +5 -0
  613. package/dist-types/components/button/test-suites/LionButtonReset.suite.d.ts.map +1 -0
  614. package/dist-types/components/button/test-suites/LionButtonSubmit.suite.d.ts +5 -0
  615. package/dist-types/components/button/test-suites/LionButtonSubmit.suite.d.ts.map +1 -0
  616. package/dist-types/components/calendar/src/LionCalendar.d.ts +325 -0
  617. package/dist-types/components/calendar/src/LionCalendar.d.ts.map +1 -0
  618. package/dist-types/components/calendar/src/calendarStyle.d.ts +2 -0
  619. package/dist-types/components/calendar/src/calendarStyle.d.ts.map +1 -0
  620. package/dist-types/components/calendar/src/utils/createDay.d.ts +18 -0
  621. package/dist-types/components/calendar/src/utils/createDay.d.ts.map +1 -0
  622. package/dist-types/components/calendar/src/utils/createMonth.d.ts +11 -0
  623. package/dist-types/components/calendar/src/utils/createMonth.d.ts.map +1 -0
  624. package/dist-types/components/calendar/src/utils/createMultipleMonth.d.ts +13 -0
  625. package/dist-types/components/calendar/src/utils/createMultipleMonth.d.ts.map +1 -0
  626. package/dist-types/components/calendar/src/utils/createWeek.d.ts +10 -0
  627. package/dist-types/components/calendar/src/utils/createWeek.d.ts.map +1 -0
  628. package/dist-types/components/calendar/src/utils/dataTemplate.d.ts +17 -0
  629. package/dist-types/components/calendar/src/utils/dataTemplate.d.ts.map +1 -0
  630. package/dist-types/components/calendar/src/utils/dayTemplate.d.ts +10 -0
  631. package/dist-types/components/calendar/src/utils/dayTemplate.d.ts.map +1 -0
  632. package/dist-types/components/calendar/src/utils/getFirstDayNextMonth.d.ts +9 -0
  633. package/dist-types/components/calendar/src/utils/getFirstDayNextMonth.d.ts.map +1 -0
  634. package/dist-types/components/calendar/src/utils/getLastDayPreviousMonth.d.ts +9 -0
  635. package/dist-types/components/calendar/src/utils/getLastDayPreviousMonth.d.ts.map +1 -0
  636. package/dist-types/components/calendar/src/utils/isSameDate.d.ts +10 -0
  637. package/dist-types/components/calendar/src/utils/isSameDate.d.ts.map +1 -0
  638. package/dist-types/components/calendar/test/demos.screenshots-test.d.ts +2 -0
  639. package/dist-types/components/calendar/test/demos.screenshots-test.d.ts.map +1 -0
  640. package/dist-types/components/calendar/test/lion-calendar.test.d.ts +3 -0
  641. package/dist-types/components/calendar/test/lion-calendar.test.d.ts.map +1 -0
  642. package/dist-types/components/calendar/test/utils/createMonth.test.d.ts +2 -0
  643. package/dist-types/components/calendar/test/utils/createMonth.test.d.ts.map +1 -0
  644. package/dist-types/components/calendar/test/utils/createMultipleMonth.test.d.ts +2 -0
  645. package/dist-types/components/calendar/test/utils/createMultipleMonth.test.d.ts.map +1 -0
  646. package/dist-types/components/calendar/test/utils/createWeek.test.d.ts +2 -0
  647. package/dist-types/components/calendar/test/utils/createWeek.test.d.ts.map +1 -0
  648. package/dist-types/components/calendar/test/utils/dataTemplate.test.d.ts +2 -0
  649. package/dist-types/components/calendar/test/utils/dataTemplate.test.d.ts.map +1 -0
  650. package/dist-types/components/calendar/test/utils/dayTemplate.test.d.ts +2 -0
  651. package/dist-types/components/calendar/test/utils/dayTemplate.test.d.ts.map +1 -0
  652. package/dist-types/components/calendar/test/utils/getFirstDayNextMonth.test.d.ts +2 -0
  653. package/dist-types/components/calendar/test/utils/getFirstDayNextMonth.test.d.ts.map +1 -0
  654. package/dist-types/components/calendar/test/utils/getLastDayPreviousMonth.test.d.ts +2 -0
  655. package/dist-types/components/calendar/test/utils/getLastDayPreviousMonth.test.d.ts.map +1 -0
  656. package/dist-types/components/calendar/test/utils/isSameDate.test.d.ts +2 -0
  657. package/dist-types/components/calendar/test/utils/isSameDate.test.d.ts.map +1 -0
  658. package/dist-types/components/calendar/test/utils/snapshots/monthTemplate_en-GB_Sunday_2018-12.d.ts +3 -0
  659. package/dist-types/components/calendar/test/utils/snapshots/monthTemplate_en-GB_Sunday_2018-12.d.ts.map +1 -0
  660. package/dist-types/components/calendar/test-helpers/CalendarObject.d.ts +62 -0
  661. package/dist-types/components/calendar/test-helpers/CalendarObject.d.ts.map +1 -0
  662. package/dist-types/components/calendar/test-helpers/DayObject.d.ts +36 -0
  663. package/dist-types/components/calendar/test-helpers/DayObject.d.ts.map +1 -0
  664. package/dist-types/components/calendar/test-helpers/weekdayNames.d.ts +9 -0
  665. package/dist-types/components/calendar/test-helpers/weekdayNames.d.ts.map +1 -0
  666. package/dist-types/components/calendar/translations/bg.d.ts +8 -0
  667. package/dist-types/components/calendar/translations/bg.d.ts.map +1 -0
  668. package/dist-types/components/calendar/translations/cs.d.ts +8 -0
  669. package/dist-types/components/calendar/translations/cs.d.ts.map +1 -0
  670. package/dist-types/components/calendar/translations/de.d.ts +8 -0
  671. package/dist-types/components/calendar/translations/de.d.ts.map +1 -0
  672. package/dist-types/components/calendar/translations/en.d.ts +8 -0
  673. package/dist-types/components/calendar/translations/en.d.ts.map +1 -0
  674. package/dist-types/components/calendar/translations/es.d.ts +8 -0
  675. package/dist-types/components/calendar/translations/es.d.ts.map +1 -0
  676. package/dist-types/components/calendar/translations/fr.d.ts +8 -0
  677. package/dist-types/components/calendar/translations/fr.d.ts.map +1 -0
  678. package/dist-types/components/calendar/translations/hu.d.ts +8 -0
  679. package/dist-types/components/calendar/translations/hu.d.ts.map +1 -0
  680. package/dist-types/components/calendar/translations/it.d.ts +8 -0
  681. package/dist-types/components/calendar/translations/it.d.ts.map +1 -0
  682. package/dist-types/components/calendar/translations/nl.d.ts +8 -0
  683. package/dist-types/components/calendar/translations/nl.d.ts.map +1 -0
  684. package/dist-types/components/calendar/translations/pl.d.ts +8 -0
  685. package/dist-types/components/calendar/translations/pl.d.ts.map +1 -0
  686. package/dist-types/components/calendar/translations/ro.d.ts +8 -0
  687. package/dist-types/components/calendar/translations/ro.d.ts.map +1 -0
  688. package/dist-types/components/calendar/translations/ru.d.ts +8 -0
  689. package/dist-types/components/calendar/translations/ru.d.ts.map +1 -0
  690. package/dist-types/components/calendar/translations/sk.d.ts +8 -0
  691. package/dist-types/components/calendar/translations/sk.d.ts.map +1 -0
  692. package/dist-types/components/calendar/translations/uk.d.ts +8 -0
  693. package/dist-types/components/calendar/translations/uk.d.ts.map +1 -0
  694. package/dist-types/components/calendar/translations/zh.d.ts +8 -0
  695. package/dist-types/components/calendar/translations/zh.d.ts.map +1 -0
  696. package/dist-types/components/calendar/types/day.d.ts +24 -0
  697. package/dist-types/components/calendar/types/day.d.ts.map +1 -0
  698. package/dist-types/components/checkbox-group/src/LionCheckbox.d.ts +6 -0
  699. package/dist-types/components/checkbox-group/src/LionCheckbox.d.ts.map +1 -0
  700. package/dist-types/components/checkbox-group/src/LionCheckboxGroup.d.ts +9 -0
  701. package/dist-types/components/checkbox-group/src/LionCheckboxGroup.d.ts.map +1 -0
  702. package/dist-types/components/checkbox-group/src/LionCheckboxIndeterminate.d.ts +49 -0
  703. package/dist-types/components/checkbox-group/src/LionCheckboxIndeterminate.d.ts.map +1 -0
  704. package/dist-types/components/checkbox-group/test/lion-checkbox-group-integrations.test.d.ts +2 -0
  705. package/dist-types/components/checkbox-group/test/lion-checkbox-group-integrations.test.d.ts.map +1 -0
  706. package/dist-types/components/checkbox-group/test/lion-checkbox-group.test.d.ts +3 -0
  707. package/dist-types/components/checkbox-group/test/lion-checkbox-group.test.d.ts.map +1 -0
  708. package/dist-types/components/checkbox-group/test/lion-checkbox-indeterminate-integrations.test.d.ts +2 -0
  709. package/dist-types/components/checkbox-group/test/lion-checkbox-indeterminate-integrations.test.d.ts.map +1 -0
  710. package/dist-types/components/checkbox-group/test/lion-checkbox-indeterminate.test.d.ts +4 -0
  711. package/dist-types/components/checkbox-group/test/lion-checkbox-indeterminate.test.d.ts.map +1 -0
  712. package/dist-types/components/checkbox-group/test/lion-checkbox-integrations.test.d.ts +2 -0
  713. package/dist-types/components/checkbox-group/test/lion-checkbox-integrations.test.d.ts.map +1 -0
  714. package/dist-types/components/checkbox-group/test/lion-checkbox.test.d.ts +2 -0
  715. package/dist-types/components/checkbox-group/test/lion-checkbox.test.d.ts.map +1 -0
  716. package/dist-types/components/collapsible/src/LionCollapsible.d.ts +73 -0
  717. package/dist-types/components/collapsible/src/LionCollapsible.d.ts.map +1 -0
  718. package/dist-types/components/collapsible/test/lion-collapsible.test.d.ts +3 -0
  719. package/dist-types/components/collapsible/test/lion-collapsible.test.d.ts.map +1 -0
  720. package/dist-types/components/combobox/src/LionCombobox.d.ts +298 -0
  721. package/dist-types/components/combobox/src/LionCombobox.d.ts.map +1 -0
  722. package/dist-types/components/combobox/test/lion-combobox-integrations.test.d.ts +2 -0
  723. package/dist-types/components/combobox/test/lion-combobox-integrations.test.d.ts.map +1 -0
  724. package/dist-types/components/combobox/test/lion-combobox.test.d.ts +4 -0
  725. package/dist-types/components/combobox/test/lion-combobox.test.d.ts.map +1 -0
  726. package/dist-types/components/combobox/types/SelectionDisplay.d.ts +6 -0
  727. package/dist-types/components/combobox/types/SelectionDisplay.d.ts.map +1 -0
  728. package/dist-types/components/core/src/DisabledMixin.d.ts +3 -0
  729. package/dist-types/components/core/src/DisabledMixin.d.ts.map +1 -0
  730. package/dist-types/components/core/src/DisabledWithTabIndexMixin.d.ts +3 -0
  731. package/dist-types/components/core/src/DisabledWithTabIndexMixin.d.ts.map +1 -0
  732. package/dist-types/components/core/src/EventTargetShim.d.ts +6 -0
  733. package/dist-types/components/core/src/EventTargetShim.d.ts.map +1 -0
  734. package/dist-types/components/core/src/ScopedStylesController.d.ts +26 -0
  735. package/dist-types/components/core/src/ScopedStylesController.d.ts.map +1 -0
  736. package/dist-types/components/core/src/SlotMixin.d.ts +5 -0
  737. package/dist-types/components/core/src/SlotMixin.d.ts.map +1 -0
  738. package/dist-types/components/core/src/browserDetection.d.ts +8 -0
  739. package/dist-types/components/core/src/browserDetection.d.ts.map +1 -0
  740. package/dist-types/components/core/src/uuid.d.ts +7 -0
  741. package/dist-types/components/core/src/uuid.d.ts.map +1 -0
  742. package/dist-types/components/core/test/DisabledMixin.test.d.ts +2 -0
  743. package/dist-types/components/core/test/DisabledMixin.test.d.ts.map +1 -0
  744. package/dist-types/components/core/test/DisabledWithTabIndexMixin.test.d.ts +2 -0
  745. package/dist-types/components/core/test/DisabledWithTabIndexMixin.test.d.ts.map +1 -0
  746. package/dist-types/components/core/test/EventTargetShim.test.d.ts +2 -0
  747. package/dist-types/components/core/test/EventTargetShim.test.d.ts.map +1 -0
  748. package/dist-types/components/core/test/ScopedStylesController.test.d.ts +2 -0
  749. package/dist-types/components/core/test/ScopedStylesController.test.d.ts.map +1 -0
  750. package/dist-types/components/core/test/SlotMixin.test.d.ts +2 -0
  751. package/dist-types/components/core/test/SlotMixin.test.d.ts.map +1 -0
  752. package/dist-types/components/core/types/DisabledMixinTypes.d.ts +18 -0
  753. package/dist-types/components/core/types/DisabledMixinTypes.d.ts.map +1 -0
  754. package/dist-types/components/core/types/DisabledWithTabIndexMixinTypes.d.ts +19 -0
  755. package/dist-types/components/core/types/DisabledWithTabIndexMixinTypes.d.ts.map +1 -0
  756. package/dist-types/components/core/types/SlotMixinTypes.d.ts +48 -0
  757. package/dist-types/components/core/types/SlotMixinTypes.d.ts.map +1 -0
  758. package/dist-types/components/dialog/src/LionDialog.d.ts +9 -0
  759. package/dist-types/components/dialog/src/LionDialog.d.ts.map +1 -0
  760. package/dist-types/components/dialog/test/lion-dialog.test.d.ts +3 -0
  761. package/dist-types/components/dialog/test/lion-dialog.test.d.ts.map +1 -0
  762. package/dist-types/components/fieldset/src/LionFieldset.d.ts +24 -0
  763. package/dist-types/components/fieldset/src/LionFieldset.d.ts.map +1 -0
  764. package/dist-types/components/fieldset/test/lion-fieldset.test.d.ts +2 -0
  765. package/dist-types/components/fieldset/test/lion-fieldset.test.d.ts.map +1 -0
  766. package/dist-types/components/form/src/LionForm.d.ts +27 -0
  767. package/dist-types/components/form/src/LionForm.d.ts.map +1 -0
  768. package/dist-types/components/form/test/lion-form.test.d.ts +3 -0
  769. package/dist-types/components/form/test/lion-form.test.d.ts.map +1 -0
  770. package/dist-types/components/form-core/src/FocusMixin.d.ts +8 -0
  771. package/dist-types/components/form-core/src/FocusMixin.d.ts.map +1 -0
  772. package/dist-types/components/form-core/src/FormControlMixin.d.ts +12 -0
  773. package/dist-types/components/form-core/src/FormControlMixin.d.ts.map +1 -0
  774. package/dist-types/components/form-core/src/FormatMixin.d.ts +5 -0
  775. package/dist-types/components/form-core/src/FormatMixin.d.ts.map +1 -0
  776. package/dist-types/components/form-core/src/InteractionStateMixin.d.ts +4 -0
  777. package/dist-types/components/form-core/src/InteractionStateMixin.d.ts.map +1 -0
  778. package/dist-types/components/form-core/src/LionField.d.ts +51 -0
  779. package/dist-types/components/form-core/src/LionField.d.ts.map +1 -0
  780. package/dist-types/components/form-core/src/NativeTextFieldMixin.d.ts +3 -0
  781. package/dist-types/components/form-core/src/NativeTextFieldMixin.d.ts.map +1 -0
  782. package/dist-types/components/form-core/src/choice-group/ChoiceGroupMixin.d.ts +7 -0
  783. package/dist-types/components/form-core/src/choice-group/ChoiceGroupMixin.d.ts.map +1 -0
  784. package/dist-types/components/form-core/src/choice-group/ChoiceInputMixin.d.ts +9 -0
  785. package/dist-types/components/form-core/src/choice-group/ChoiceInputMixin.d.ts.map +1 -0
  786. package/dist-types/components/form-core/src/form-group/FormElementsHaveNoError.d.ts +14 -0
  787. package/dist-types/components/form-core/src/form-group/FormElementsHaveNoError.d.ts.map +1 -0
  788. package/dist-types/components/form-core/src/form-group/FormGroupMixin.d.ts +8 -0
  789. package/dist-types/components/form-core/src/form-group/FormGroupMixin.d.ts.map +1 -0
  790. package/dist-types/components/form-core/src/registration/FormControlsCollection.d.ts +102 -0
  791. package/dist-types/components/form-core/src/registration/FormControlsCollection.d.ts.map +1 -0
  792. package/dist-types/components/form-core/src/registration/FormRegisteringMixin.d.ts +8 -0
  793. package/dist-types/components/form-core/src/registration/FormRegisteringMixin.d.ts.map +1 -0
  794. package/dist-types/components/form-core/src/registration/FormRegistrarMixin.d.ts +11 -0
  795. package/dist-types/components/form-core/src/registration/FormRegistrarMixin.d.ts.map +1 -0
  796. package/dist-types/components/form-core/src/registration/FormRegistrarPortalMixin.d.ts +4 -0
  797. package/dist-types/components/form-core/src/registration/FormRegistrarPortalMixin.d.ts.map +1 -0
  798. package/dist-types/components/form-core/src/utils/AsyncQueue.d.ts +22 -0
  799. package/dist-types/components/form-core/src/utils/AsyncQueue.d.ts.map +1 -0
  800. package/dist-types/components/form-core/src/utils/SyncUpdatableMixin.d.ts +4 -0
  801. package/dist-types/components/form-core/src/utils/SyncUpdatableMixin.d.ts.map +1 -0
  802. package/dist-types/components/form-core/src/utils/getAriaElementsInRightDomOrder.d.ts +14 -0
  803. package/dist-types/components/form-core/src/utils/getAriaElementsInRightDomOrder.d.ts.map +1 -0
  804. package/dist-types/components/form-core/src/utils/pascalCase.d.ts +8 -0
  805. package/dist-types/components/form-core/src/utils/pascalCase.d.ts.map +1 -0
  806. package/dist-types/components/form-core/src/validate/LionValidationFeedback.d.ts +46 -0
  807. package/dist-types/components/form-core/src/validate/LionValidationFeedback.d.ts.map +1 -0
  808. package/dist-types/components/form-core/src/validate/ResultValidator.d.ts +24 -0
  809. package/dist-types/components/form-core/src/validate/ResultValidator.d.ts.map +1 -0
  810. package/dist-types/components/form-core/src/validate/Unparseable.d.ts +32 -0
  811. package/dist-types/components/form-core/src/validate/Unparseable.d.ts.map +1 -0
  812. package/dist-types/components/form-core/src/validate/ValidateMixin.d.ts +24 -0
  813. package/dist-types/components/form-core/src/validate/ValidateMixin.d.ts.map +1 -0
  814. package/dist-types/components/form-core/src/validate/Validator.d.ts +180 -0
  815. package/dist-types/components/form-core/src/validate/Validator.d.ts.map +1 -0
  816. package/dist-types/components/form-core/src/validate/resultValidators/DefaultSuccess.d.ts +25 -0
  817. package/dist-types/components/form-core/src/validate/resultValidators/DefaultSuccess.d.ts.map +1 -0
  818. package/dist-types/components/form-core/src/validate/validators/DateValidators.d.ts +37 -0
  819. package/dist-types/components/form-core/src/validate/validators/DateValidators.d.ts.map +1 -0
  820. package/dist-types/components/form-core/src/validate/validators/NumberValidators.d.ts +30 -0
  821. package/dist-types/components/form-core/src/validate/validators/NumberValidators.d.ts.map +1 -0
  822. package/dist-types/components/form-core/src/validate/validators/Required.d.ts +32 -0
  823. package/dist-types/components/form-core/src/validate/validators/Required.d.ts.map +1 -0
  824. package/dist-types/components/form-core/src/validate/validators/StringValidators.d.ts +51 -0
  825. package/dist-types/components/form-core/src/validate/validators/StringValidators.d.ts.map +1 -0
  826. package/dist-types/components/form-core/test/FocusMixin.test.d.ts +2 -0
  827. package/dist-types/components/form-core/test/FocusMixin.test.d.ts.map +1 -0
  828. package/dist-types/components/form-core/test/FormControlMixin.test.d.ts +2 -0
  829. package/dist-types/components/form-core/test/FormControlMixin.test.d.ts.map +1 -0
  830. package/dist-types/components/form-core/test/FormRegistrationMixins.test.d.ts +2 -0
  831. package/dist-types/components/form-core/test/FormRegistrationMixins.test.d.ts.map +1 -0
  832. package/dist-types/components/form-core/test/FormatMixin.test.d.ts +2 -0
  833. package/dist-types/components/form-core/test/FormatMixin.test.d.ts.map +1 -0
  834. package/dist-types/components/form-core/test/InteractionStateMixin.test.d.ts +2 -0
  835. package/dist-types/components/form-core/test/InteractionStateMixin.test.d.ts.map +1 -0
  836. package/dist-types/components/form-core/test/NativeTextFieldMixin.test.d.ts +2 -0
  837. package/dist-types/components/form-core/test/NativeTextFieldMixin.test.d.ts.map +1 -0
  838. package/dist-types/components/form-core/test/choice-group/ChoiceGroupMixin.test.d.ts +2 -0
  839. package/dist-types/components/form-core/test/choice-group/ChoiceGroupMixin.test.d.ts.map +1 -0
  840. package/dist-types/components/form-core/test/choice-group/ChoiceInputMixin.test.d.ts +2 -0
  841. package/dist-types/components/form-core/test/choice-group/ChoiceInputMixin.test.d.ts.map +1 -0
  842. package/dist-types/components/form-core/test/form-group/FormGroupMixin.test.d.ts +2 -0
  843. package/dist-types/components/form-core/test/form-group/FormGroupMixin.test.d.ts.map +1 -0
  844. package/dist-types/components/form-core/test/lion-field.test.d.ts +11 -0
  845. package/dist-types/components/form-core/test/lion-field.test.d.ts.map +1 -0
  846. package/dist-types/components/form-core/test/utils/SyncUpdatableMixin.test.d.ts +2 -0
  847. package/dist-types/components/form-core/test/utils/SyncUpdatableMixin.test.d.ts.map +1 -0
  848. package/dist-types/components/form-core/test/utils/getAriaElementsInRightDomOrder.test.d.ts +2 -0
  849. package/dist-types/components/form-core/test/utils/getAriaElementsInRightDomOrder.test.d.ts.map +1 -0
  850. package/dist-types/components/form-core/test/validate/DateValidators.test.d.ts +2 -0
  851. package/dist-types/components/form-core/test/validate/DateValidators.test.d.ts.map +1 -0
  852. package/dist-types/components/form-core/test/validate/NumberValidators.test.d.ts +2 -0
  853. package/dist-types/components/form-core/test/validate/NumberValidators.test.d.ts.map +1 -0
  854. package/dist-types/components/form-core/test/validate/Required.test.d.ts +3 -0
  855. package/dist-types/components/form-core/test/validate/Required.test.d.ts.map +1 -0
  856. package/dist-types/components/form-core/test/validate/ResultValidator.test.d.ts +2 -0
  857. package/dist-types/components/form-core/test/validate/ResultValidator.test.d.ts.map +1 -0
  858. package/dist-types/components/form-core/test/validate/StringValidators.test.d.ts +2 -0
  859. package/dist-types/components/form-core/test/validate/StringValidators.test.d.ts.map +1 -0
  860. package/dist-types/components/form-core/test/validate/ValidateMixin.test.d.ts +2 -0
  861. package/dist-types/components/form-core/test/validate/ValidateMixin.test.d.ts.map +1 -0
  862. package/dist-types/components/form-core/test/validate/ValidateMixinFeedbackPart.test.d.ts +2 -0
  863. package/dist-types/components/form-core/test/validate/ValidateMixinFeedbackPart.test.d.ts.map +1 -0
  864. package/dist-types/components/form-core/test/validate/Validator.test.d.ts +2 -0
  865. package/dist-types/components/form-core/test/validate/Validator.test.d.ts.map +1 -0
  866. package/dist-types/components/form-core/test/validate/lion-validation-feedback.test.d.ts +2 -0
  867. package/dist-types/components/form-core/test/validate/lion-validation-feedback.test.d.ts.map +1 -0
  868. package/dist-types/components/form-core/test-helpers/ExampleValidators.d.ts +27 -0
  869. package/dist-types/components/form-core/test-helpers/ExampleValidators.d.ts.map +1 -0
  870. package/dist-types/components/form-core/test-helpers/getFormControlMembers.d.ts +18 -0
  871. package/dist-types/components/form-core/test-helpers/getFormControlMembers.d.ts.map +1 -0
  872. package/dist-types/components/form-core/test-helpers/mimicUserInput.d.ts +9 -0
  873. package/dist-types/components/form-core/test-helpers/mimicUserInput.d.ts.map +1 -0
  874. package/dist-types/components/form-core/test-suites/FormRegistrationMixins.suite.d.ts +10 -0
  875. package/dist-types/components/form-core/test-suites/FormRegistrationMixins.suite.d.ts.map +1 -0
  876. package/dist-types/components/form-core/test-suites/FormatMixin.suite.d.ts +10 -0
  877. package/dist-types/components/form-core/test-suites/FormatMixin.suite.d.ts.map +1 -0
  878. package/dist-types/components/form-core/test-suites/InteractionStateMixin.suite.d.ts +8 -0
  879. package/dist-types/components/form-core/test-suites/InteractionStateMixin.suite.d.ts.map +1 -0
  880. package/dist-types/components/form-core/test-suites/NativeTextFieldMixin.suite.d.ts +14 -0
  881. package/dist-types/components/form-core/test-suites/NativeTextFieldMixin.suite.d.ts.map +1 -0
  882. package/dist-types/components/form-core/test-suites/ValidateMixin.suite.d.ts +12 -0
  883. package/dist-types/components/form-core/test-suites/ValidateMixin.suite.d.ts.map +1 -0
  884. package/dist-types/components/form-core/test-suites/ValidateMixinFeedbackPart.suite.d.ts +6 -0
  885. package/dist-types/components/form-core/test-suites/ValidateMixinFeedbackPart.suite.d.ts.map +1 -0
  886. package/dist-types/components/form-core/test-suites/choice-group/ChoiceGroupMixin.suite.d.ts +9 -0
  887. package/dist-types/components/form-core/test-suites/choice-group/ChoiceGroupMixin.suite.d.ts.map +1 -0
  888. package/dist-types/components/form-core/test-suites/choice-group/ChoiceInputMixin.suite.d.ts +9 -0
  889. package/dist-types/components/form-core/test-suites/choice-group/ChoiceInputMixin.suite.d.ts.map +1 -0
  890. package/dist-types/components/form-core/test-suites/form-group/FormGroupMixin-input.suite.d.ts +12 -0
  891. package/dist-types/components/form-core/test-suites/form-group/FormGroupMixin-input.suite.d.ts.map +1 -0
  892. package/dist-types/components/form-core/test-suites/form-group/FormGroupMixin.suite.d.ts +8 -0
  893. package/dist-types/components/form-core/test-suites/form-group/FormGroupMixin.suite.d.ts.map +1 -0
  894. package/dist-types/components/form-core/types/FocusMixinTypes.d.ts +35 -0
  895. package/dist-types/components/form-core/types/FocusMixinTypes.d.ts.map +1 -0
  896. package/dist-types/components/form-core/types/FormControlMixinTypes.d.ts +220 -0
  897. package/dist-types/components/form-core/types/FormControlMixinTypes.d.ts.map +1 -0
  898. package/dist-types/components/form-core/types/FormatMixinTypes.d.ts +179 -0
  899. package/dist-types/components/form-core/types/FormatMixinTypes.d.ts.map +1 -0
  900. package/dist-types/components/form-core/types/InteractionStateMixinTypes.d.ts +78 -0
  901. package/dist-types/components/form-core/types/InteractionStateMixinTypes.d.ts.map +1 -0
  902. package/dist-types/components/form-core/types/NativeTextFieldMixinTypes.d.ts +28 -0
  903. package/dist-types/components/form-core/types/NativeTextFieldMixinTypes.d.ts.map +1 -0
  904. package/dist-types/components/form-core/types/choice-group/ChoiceGroupMixinTypes.d.ts +32 -0
  905. package/dist-types/components/form-core/types/choice-group/ChoiceGroupMixinTypes.d.ts.map +1 -0
  906. package/dist-types/components/form-core/types/choice-group/ChoiceInputMixinTypes.d.ts +50 -0
  907. package/dist-types/components/form-core/types/choice-group/ChoiceInputMixinTypes.d.ts.map +1 -0
  908. package/dist-types/components/form-core/types/choice-group/index.d.ts +3 -0
  909. package/dist-types/components/form-core/types/choice-group/index.d.ts.map +1 -0
  910. package/dist-types/components/form-core/types/form-group/FormGroupMixinTypes.d.ts +139 -0
  911. package/dist-types/components/form-core/types/form-group/FormGroupMixinTypes.d.ts.map +1 -0
  912. package/dist-types/components/form-core/types/form-group/index.d.ts +2 -0
  913. package/dist-types/components/form-core/types/form-group/index.d.ts.map +1 -0
  914. package/dist-types/components/form-core/types/index.d.ts +6 -0
  915. package/dist-types/components/form-core/types/index.d.ts.map +1 -0
  916. package/dist-types/components/form-core/types/registration/FormRegisteringMixinTypes.d.ts +18 -0
  917. package/dist-types/components/form-core/types/registration/FormRegisteringMixinTypes.d.ts.map +1 -0
  918. package/dist-types/components/form-core/types/registration/FormRegistrarMixinTypes.d.ts +63 -0
  919. package/dist-types/components/form-core/types/registration/FormRegistrarMixinTypes.d.ts.map +1 -0
  920. package/dist-types/components/form-core/types/registration/FormRegistrarPortalMixinTypes.d.ts +13 -0
  921. package/dist-types/components/form-core/types/registration/FormRegistrarPortalMixinTypes.d.ts.map +1 -0
  922. package/dist-types/components/form-core/types/registration/index.d.ts +4 -0
  923. package/dist-types/components/form-core/types/registration/index.d.ts.map +1 -0
  924. package/dist-types/components/form-core/types/utils/SyncUpdatableMixinTypes.d.ts +31 -0
  925. package/dist-types/components/form-core/types/utils/SyncUpdatableMixinTypes.d.ts.map +1 -0
  926. package/dist-types/components/form-core/types/utils/index.d.ts +2 -0
  927. package/dist-types/components/form-core/types/utils/index.d.ts.map +1 -0
  928. package/dist-types/components/form-core/types/validate/ValidateMixinTypes.d.ts +195 -0
  929. package/dist-types/components/form-core/types/validate/ValidateMixinTypes.d.ts.map +1 -0
  930. package/dist-types/components/form-core/types/validate/index.d.ts +3 -0
  931. package/dist-types/components/form-core/types/validate/index.d.ts.map +1 -0
  932. package/dist-types/components/form-core/types/validate/validate.d.ts +55 -0
  933. package/dist-types/components/form-core/types/validate/validate.d.ts.map +1 -0
  934. package/dist-types/components/form-integrations/test/dialog-integrations.test.d.ts +4 -0
  935. package/dist-types/components/form-integrations/test/dialog-integrations.test.d.ts.map +1 -0
  936. package/dist-types/components/form-integrations/test/form-group-methods.test.d.ts +4 -0
  937. package/dist-types/components/form-integrations/test/form-group-methods.test.d.ts.map +1 -0
  938. package/dist-types/components/form-integrations/test/form-integrations.test.d.ts +3 -0
  939. package/dist-types/components/form-integrations/test/form-integrations.test.d.ts.map +1 -0
  940. package/dist-types/components/form-integrations/test/form-validation-integrations.test.d.ts +2 -0
  941. package/dist-types/components/form-integrations/test/form-validation-integrations.test.d.ts.map +1 -0
  942. package/dist-types/components/form-integrations/test/helpers/helpers.d.ts +19 -0
  943. package/dist-types/components/form-integrations/test/helpers/helpers.d.ts.map +1 -0
  944. package/dist-types/components/form-integrations/test/helpers/umbrella-form.d.ts +11 -0
  945. package/dist-types/components/form-integrations/test/helpers/umbrella-form.d.ts.map +1 -0
  946. package/dist-types/components/form-integrations/test/model-value-consistency.test.d.ts +13 -0
  947. package/dist-types/components/form-integrations/test/model-value-consistency.test.d.ts.map +1 -0
  948. package/dist-types/components/form-integrations/test/model-value-event.test.d.ts +4 -0
  949. package/dist-types/components/form-integrations/test/model-value-event.test.d.ts.map +1 -0
  950. package/dist-types/components/helpers/src/SbActionLogger.d.ts +51 -0
  951. package/dist-types/components/helpers/src/SbActionLogger.d.ts.map +1 -0
  952. package/dist-types/components/helpers/src/SbLocaleSwitcher.d.ts +16 -0
  953. package/dist-types/components/helpers/src/SbLocaleSwitcher.d.ts.map +1 -0
  954. package/dist-types/components/helpers/src/renderLitAsNode.d.ts +2 -0
  955. package/dist-types/components/helpers/src/renderLitAsNode.d.ts.map +1 -0
  956. package/dist-types/components/helpers/src/sortEachDepth.d.ts +18 -0
  957. package/dist-types/components/helpers/src/sortEachDepth.d.ts.map +1 -0
  958. package/dist-types/components/helpers/test/renderLitAsNode.test.d.ts +2 -0
  959. package/dist-types/components/helpers/test/renderLitAsNode.test.d.ts.map +1 -0
  960. package/dist-types/components/helpers/test/sb-action-logger.test.d.ts +3 -0
  961. package/dist-types/components/helpers/test/sb-action-logger.test.d.ts.map +1 -0
  962. package/dist-types/components/icon/src/IconManager.d.ts +41 -0
  963. package/dist-types/components/icon/src/IconManager.d.ts.map +1 -0
  964. package/dist-types/components/icon/src/LionIcon.d.ts +78 -0
  965. package/dist-types/components/icon/src/LionIcon.d.ts.map +1 -0
  966. package/dist-types/components/icon/src/icons.d.ts +3 -0
  967. package/dist-types/components/icon/src/icons.d.ts.map +1 -0
  968. package/dist-types/components/icon/test/IconManager.test.d.ts +2 -0
  969. package/dist-types/components/icon/test/IconManager.test.d.ts.map +1 -0
  970. package/dist-types/components/icon/test/hammer.svg.d.ts +3 -0
  971. package/dist-types/components/icon/test/hammer.svg.d.ts.map +1 -0
  972. package/dist-types/components/icon/test/heart.svg.d.ts +3 -0
  973. package/dist-types/components/icon/test/heart.svg.d.ts.map +1 -0
  974. package/dist-types/components/icon/test/lion-icon.test.d.ts +4 -0
  975. package/dist-types/components/icon/test/lion-icon.test.d.ts.map +1 -0
  976. package/dist-types/components/input/src/LionInput.d.ts +32 -0
  977. package/dist-types/components/input/src/LionInput.d.ts.map +1 -0
  978. package/dist-types/components/input/test/input-integrations.test.d.ts +2 -0
  979. package/dist-types/components/input/test/input-integrations.test.d.ts.map +1 -0
  980. package/dist-types/components/input/test/lion-input-integrations.test.d.ts +2 -0
  981. package/dist-types/components/input/test/lion-input-integrations.test.d.ts.map +1 -0
  982. package/dist-types/components/input/test/lion-input.test.d.ts +2 -0
  983. package/dist-types/components/input/test/lion-input.test.d.ts.map +1 -0
  984. package/dist-types/components/input/test-helpers/getInputMembers.d.ts +17 -0
  985. package/dist-types/components/input/test-helpers/getInputMembers.d.ts.map +1 -0
  986. package/dist-types/components/input-amount/src/LionInputAmount.d.ts +91 -0
  987. package/dist-types/components/input-amount/src/LionInputAmount.d.ts.map +1 -0
  988. package/dist-types/components/input-amount/src/formatters.d.ts +18 -0
  989. package/dist-types/components/input-amount/src/formatters.d.ts.map +1 -0
  990. package/dist-types/components/input-amount/src/parsers.d.ts +15 -0
  991. package/dist-types/components/input-amount/src/parsers.d.ts.map +1 -0
  992. package/dist-types/components/input-amount/src/preprocessors.d.ts +8 -0
  993. package/dist-types/components/input-amount/src/preprocessors.d.ts.map +1 -0
  994. package/dist-types/components/input-amount/test/formatters.test.d.ts +2 -0
  995. package/dist-types/components/input-amount/test/formatters.test.d.ts.map +1 -0
  996. package/dist-types/components/input-amount/test/lion-input-amount-integrations.test.d.ts +2 -0
  997. package/dist-types/components/input-amount/test/lion-input-amount-integrations.test.d.ts.map +1 -0
  998. package/dist-types/components/input-amount/test/lion-input-amount.test.d.ts +3 -0
  999. package/dist-types/components/input-amount/test/lion-input-amount.test.d.ts.map +1 -0
  1000. package/dist-types/components/input-amount/test/parsers.test.d.ts +2 -0
  1001. package/dist-types/components/input-amount/test/parsers.test.d.ts.map +1 -0
  1002. package/dist-types/components/input-amount/test/preprocessors.test.d.ts +2 -0
  1003. package/dist-types/components/input-amount/test/preprocessors.test.d.ts.map +1 -0
  1004. package/dist-types/components/input-date/src/LionInputDate.d.ts +64 -0
  1005. package/dist-types/components/input-date/src/LionInputDate.d.ts.map +1 -0
  1006. package/dist-types/components/input-date/test/lion-input-date-integrations.test.d.ts +2 -0
  1007. package/dist-types/components/input-date/test/lion-input-date-integrations.test.d.ts.map +1 -0
  1008. package/dist-types/components/input-date/test/lion-input-date.test.d.ts +3 -0
  1009. package/dist-types/components/input-date/test/lion-input-date.test.d.ts.map +1 -0
  1010. package/dist-types/components/input-datepicker/src/LionCalendarOverlayFrame.d.ts +46 -0
  1011. package/dist-types/components/input-datepicker/src/LionCalendarOverlayFrame.d.ts.map +1 -0
  1012. package/dist-types/components/input-datepicker/src/LionInputDatepicker.d.ts +120 -0
  1013. package/dist-types/components/input-datepicker/src/LionInputDatepicker.d.ts.map +1 -0
  1014. package/dist-types/components/input-datepicker/test/lion-input-datepicker-integrations.test.d.ts +2 -0
  1015. package/dist-types/components/input-datepicker/test/lion-input-datepicker-integrations.test.d.ts.map +1 -0
  1016. package/dist-types/components/input-datepicker/test/lion-input-datepicker.test.d.ts +2 -0
  1017. package/dist-types/components/input-datepicker/test/lion-input-datepicker.test.d.ts.map +1 -0
  1018. package/dist-types/components/input-datepicker/test-helpers/DatepickerInputObject.d.ts +34 -0
  1019. package/dist-types/components/input-datepicker/test-helpers/DatepickerInputObject.d.ts.map +1 -0
  1020. package/dist-types/components/input-datepicker/translations/bg-BG.d.ts +5 -0
  1021. package/dist-types/components/input-datepicker/translations/bg-BG.d.ts.map +1 -0
  1022. package/dist-types/components/input-datepicker/translations/bg.d.ts +5 -0
  1023. package/dist-types/components/input-datepicker/translations/bg.d.ts.map +1 -0
  1024. package/dist-types/components/input-datepicker/translations/cs-CZ.d.ts +5 -0
  1025. package/dist-types/components/input-datepicker/translations/cs-CZ.d.ts.map +1 -0
  1026. package/dist-types/components/input-datepicker/translations/cs.d.ts +5 -0
  1027. package/dist-types/components/input-datepicker/translations/cs.d.ts.map +1 -0
  1028. package/dist-types/components/input-datepicker/translations/de-DE.d.ts +5 -0
  1029. package/dist-types/components/input-datepicker/translations/de-DE.d.ts.map +1 -0
  1030. package/dist-types/components/input-datepicker/translations/de.d.ts +5 -0
  1031. package/dist-types/components/input-datepicker/translations/de.d.ts.map +1 -0
  1032. package/dist-types/components/input-datepicker/translations/en-AU.d.ts +5 -0
  1033. package/dist-types/components/input-datepicker/translations/en-AU.d.ts.map +1 -0
  1034. package/dist-types/components/input-datepicker/translations/en-GB.d.ts +5 -0
  1035. package/dist-types/components/input-datepicker/translations/en-GB.d.ts.map +1 -0
  1036. package/dist-types/components/input-datepicker/translations/en-US.d.ts +5 -0
  1037. package/dist-types/components/input-datepicker/translations/en-US.d.ts.map +1 -0
  1038. package/dist-types/components/input-datepicker/translations/en.d.ts +5 -0
  1039. package/dist-types/components/input-datepicker/translations/en.d.ts.map +1 -0
  1040. package/dist-types/components/input-datepicker/translations/es-ES.d.ts +5 -0
  1041. package/dist-types/components/input-datepicker/translations/es-ES.d.ts.map +1 -0
  1042. package/dist-types/components/input-datepicker/translations/es.d.ts +5 -0
  1043. package/dist-types/components/input-datepicker/translations/es.d.ts.map +1 -0
  1044. package/dist-types/components/input-datepicker/translations/fr-BE.d.ts +5 -0
  1045. package/dist-types/components/input-datepicker/translations/fr-BE.d.ts.map +1 -0
  1046. package/dist-types/components/input-datepicker/translations/fr-FR.d.ts +5 -0
  1047. package/dist-types/components/input-datepicker/translations/fr-FR.d.ts.map +1 -0
  1048. package/dist-types/components/input-datepicker/translations/fr.d.ts +5 -0
  1049. package/dist-types/components/input-datepicker/translations/fr.d.ts.map +1 -0
  1050. package/dist-types/components/input-datepicker/translations/hu-HU.d.ts +5 -0
  1051. package/dist-types/components/input-datepicker/translations/hu-HU.d.ts.map +1 -0
  1052. package/dist-types/components/input-datepicker/translations/hu.d.ts +5 -0
  1053. package/dist-types/components/input-datepicker/translations/hu.d.ts.map +1 -0
  1054. package/dist-types/components/input-datepicker/translations/it-IT.d.ts +5 -0
  1055. package/dist-types/components/input-datepicker/translations/it-IT.d.ts.map +1 -0
  1056. package/dist-types/components/input-datepicker/translations/it.d.ts +5 -0
  1057. package/dist-types/components/input-datepicker/translations/it.d.ts.map +1 -0
  1058. package/dist-types/components/input-datepicker/translations/nl-BE.d.ts +5 -0
  1059. package/dist-types/components/input-datepicker/translations/nl-BE.d.ts.map +1 -0
  1060. package/dist-types/components/input-datepicker/translations/nl-NL.d.ts +5 -0
  1061. package/dist-types/components/input-datepicker/translations/nl-NL.d.ts.map +1 -0
  1062. package/dist-types/components/input-datepicker/translations/nl.d.ts +5 -0
  1063. package/dist-types/components/input-datepicker/translations/nl.d.ts.map +1 -0
  1064. package/dist-types/components/input-datepicker/translations/pl-PL.d.ts +5 -0
  1065. package/dist-types/components/input-datepicker/translations/pl-PL.d.ts.map +1 -0
  1066. package/dist-types/components/input-datepicker/translations/pl.d.ts +5 -0
  1067. package/dist-types/components/input-datepicker/translations/pl.d.ts.map +1 -0
  1068. package/dist-types/components/input-datepicker/translations/ro-RO.d.ts +5 -0
  1069. package/dist-types/components/input-datepicker/translations/ro-RO.d.ts.map +1 -0
  1070. package/dist-types/components/input-datepicker/translations/ro.d.ts +5 -0
  1071. package/dist-types/components/input-datepicker/translations/ro.d.ts.map +1 -0
  1072. package/dist-types/components/input-datepicker/translations/ru-RU.d.ts +5 -0
  1073. package/dist-types/components/input-datepicker/translations/ru-RU.d.ts.map +1 -0
  1074. package/dist-types/components/input-datepicker/translations/ru.d.ts +5 -0
  1075. package/dist-types/components/input-datepicker/translations/ru.d.ts.map +1 -0
  1076. package/dist-types/components/input-datepicker/translations/sk-SK.d.ts +5 -0
  1077. package/dist-types/components/input-datepicker/translations/sk-SK.d.ts.map +1 -0
  1078. package/dist-types/components/input-datepicker/translations/sk.d.ts +5 -0
  1079. package/dist-types/components/input-datepicker/translations/sk.d.ts.map +1 -0
  1080. package/dist-types/components/input-datepicker/translations/uk-UA.d.ts +5 -0
  1081. package/dist-types/components/input-datepicker/translations/uk-UA.d.ts.map +1 -0
  1082. package/dist-types/components/input-datepicker/translations/uk.d.ts +5 -0
  1083. package/dist-types/components/input-datepicker/translations/uk.d.ts.map +1 -0
  1084. package/dist-types/components/input-datepicker/translations/zh.d.ts +5 -0
  1085. package/dist-types/components/input-datepicker/translations/zh.d.ts.map +1 -0
  1086. package/dist-types/components/input-email/src/LionInputEmail.d.ts +47 -0
  1087. package/dist-types/components/input-email/src/LionInputEmail.d.ts.map +1 -0
  1088. package/dist-types/components/input-email/test/lion-input-email-integrations.test.d.ts +2 -0
  1089. package/dist-types/components/input-email/test/lion-input-email-integrations.test.d.ts.map +1 -0
  1090. package/dist-types/components/input-email/test/lion-input-email.test.d.ts +3 -0
  1091. package/dist-types/components/input-email/test/lion-input-email.test.d.ts.map +1 -0
  1092. package/dist-types/components/input-iban/src/LionInputIban.d.ts +50 -0
  1093. package/dist-types/components/input-iban/src/LionInputIban.d.ts.map +1 -0
  1094. package/dist-types/components/input-iban/src/formatters.d.ts +8 -0
  1095. package/dist-types/components/input-iban/src/formatters.d.ts.map +1 -0
  1096. package/dist-types/components/input-iban/src/parsers.d.ts +8 -0
  1097. package/dist-types/components/input-iban/src/parsers.d.ts.map +1 -0
  1098. package/dist-types/components/input-iban/src/validators.d.ts +31 -0
  1099. package/dist-types/components/input-iban/src/validators.d.ts.map +1 -0
  1100. package/dist-types/components/input-iban/test/formatters.test.d.ts +2 -0
  1101. package/dist-types/components/input-iban/test/formatters.test.d.ts.map +1 -0
  1102. package/dist-types/components/input-iban/test/lion-input-iban-integrations.test.d.ts +2 -0
  1103. package/dist-types/components/input-iban/test/lion-input-iban-integrations.test.d.ts.map +1 -0
  1104. package/dist-types/components/input-iban/test/lion-input-iban.test.d.ts +3 -0
  1105. package/dist-types/components/input-iban/test/lion-input-iban.test.d.ts.map +1 -0
  1106. package/dist-types/components/input-iban/test/parsers.test.d.ts +2 -0
  1107. package/dist-types/components/input-iban/test/parsers.test.d.ts.map +1 -0
  1108. package/dist-types/components/input-iban/test/validators.test.d.ts +2 -0
  1109. package/dist-types/components/input-iban/test/validators.test.d.ts.map +1 -0
  1110. package/dist-types/components/input-iban/translations/bg-BG.d.ts +9 -0
  1111. package/dist-types/components/input-iban/translations/bg-BG.d.ts.map +1 -0
  1112. package/dist-types/components/input-iban/translations/bg.d.ts +9 -0
  1113. package/dist-types/components/input-iban/translations/bg.d.ts.map +1 -0
  1114. package/dist-types/components/input-iban/translations/cs-CZ.d.ts +9 -0
  1115. package/dist-types/components/input-iban/translations/cs-CZ.d.ts.map +1 -0
  1116. package/dist-types/components/input-iban/translations/cs.d.ts +9 -0
  1117. package/dist-types/components/input-iban/translations/cs.d.ts.map +1 -0
  1118. package/dist-types/components/input-iban/translations/de-DE.d.ts +9 -0
  1119. package/dist-types/components/input-iban/translations/de-DE.d.ts.map +1 -0
  1120. package/dist-types/components/input-iban/translations/de.d.ts +9 -0
  1121. package/dist-types/components/input-iban/translations/de.d.ts.map +1 -0
  1122. package/dist-types/components/input-iban/translations/en-AU.d.ts +9 -0
  1123. package/dist-types/components/input-iban/translations/en-AU.d.ts.map +1 -0
  1124. package/dist-types/components/input-iban/translations/en-GB.d.ts +9 -0
  1125. package/dist-types/components/input-iban/translations/en-GB.d.ts.map +1 -0
  1126. package/dist-types/components/input-iban/translations/en-US.d.ts +9 -0
  1127. package/dist-types/components/input-iban/translations/en-US.d.ts.map +1 -0
  1128. package/dist-types/components/input-iban/translations/en.d.ts +9 -0
  1129. package/dist-types/components/input-iban/translations/en.d.ts.map +1 -0
  1130. package/dist-types/components/input-iban/translations/es-ES.d.ts +9 -0
  1131. package/dist-types/components/input-iban/translations/es-ES.d.ts.map +1 -0
  1132. package/dist-types/components/input-iban/translations/es.d.ts +9 -0
  1133. package/dist-types/components/input-iban/translations/es.d.ts.map +1 -0
  1134. package/dist-types/components/input-iban/translations/fr-BE.d.ts +9 -0
  1135. package/dist-types/components/input-iban/translations/fr-BE.d.ts.map +1 -0
  1136. package/dist-types/components/input-iban/translations/fr-FR.d.ts +9 -0
  1137. package/dist-types/components/input-iban/translations/fr-FR.d.ts.map +1 -0
  1138. package/dist-types/components/input-iban/translations/fr.d.ts +9 -0
  1139. package/dist-types/components/input-iban/translations/fr.d.ts.map +1 -0
  1140. package/dist-types/components/input-iban/translations/hu-HU.d.ts +9 -0
  1141. package/dist-types/components/input-iban/translations/hu-HU.d.ts.map +1 -0
  1142. package/dist-types/components/input-iban/translations/hu.d.ts +9 -0
  1143. package/dist-types/components/input-iban/translations/hu.d.ts.map +1 -0
  1144. package/dist-types/components/input-iban/translations/it-IT.d.ts +9 -0
  1145. package/dist-types/components/input-iban/translations/it-IT.d.ts.map +1 -0
  1146. package/dist-types/components/input-iban/translations/it.d.ts +9 -0
  1147. package/dist-types/components/input-iban/translations/it.d.ts.map +1 -0
  1148. package/dist-types/components/input-iban/translations/nl-BE.d.ts +9 -0
  1149. package/dist-types/components/input-iban/translations/nl-BE.d.ts.map +1 -0
  1150. package/dist-types/components/input-iban/translations/nl-NL.d.ts +9 -0
  1151. package/dist-types/components/input-iban/translations/nl-NL.d.ts.map +1 -0
  1152. package/dist-types/components/input-iban/translations/nl.d.ts +9 -0
  1153. package/dist-types/components/input-iban/translations/nl.d.ts.map +1 -0
  1154. package/dist-types/components/input-iban/translations/pl-PL.d.ts +9 -0
  1155. package/dist-types/components/input-iban/translations/pl-PL.d.ts.map +1 -0
  1156. package/dist-types/components/input-iban/translations/pl.d.ts +9 -0
  1157. package/dist-types/components/input-iban/translations/pl.d.ts.map +1 -0
  1158. package/dist-types/components/input-iban/translations/ro-RO.d.ts +9 -0
  1159. package/dist-types/components/input-iban/translations/ro-RO.d.ts.map +1 -0
  1160. package/dist-types/components/input-iban/translations/ro.d.ts +9 -0
  1161. package/dist-types/components/input-iban/translations/ro.d.ts.map +1 -0
  1162. package/dist-types/components/input-iban/translations/ru-RU.d.ts +9 -0
  1163. package/dist-types/components/input-iban/translations/ru-RU.d.ts.map +1 -0
  1164. package/dist-types/components/input-iban/translations/ru.d.ts +9 -0
  1165. package/dist-types/components/input-iban/translations/ru.d.ts.map +1 -0
  1166. package/dist-types/components/input-iban/translations/sk-SK.d.ts +9 -0
  1167. package/dist-types/components/input-iban/translations/sk-SK.d.ts.map +1 -0
  1168. package/dist-types/components/input-iban/translations/sk.d.ts +9 -0
  1169. package/dist-types/components/input-iban/translations/sk.d.ts.map +1 -0
  1170. package/dist-types/components/input-iban/translations/uk-UA.d.ts +9 -0
  1171. package/dist-types/components/input-iban/translations/uk-UA.d.ts.map +1 -0
  1172. package/dist-types/components/input-iban/translations/uk.d.ts +9 -0
  1173. package/dist-types/components/input-iban/translations/uk.d.ts.map +1 -0
  1174. package/dist-types/components/input-iban/translations/zh.d.ts +9 -0
  1175. package/dist-types/components/input-iban/translations/zh.d.ts.map +1 -0
  1176. package/dist-types/components/input-range/src/LionInputRange.d.ts +33 -0
  1177. package/dist-types/components/input-range/src/LionInputRange.d.ts.map +1 -0
  1178. package/dist-types/components/input-range/test/lion-input-range.test.d.ts +3 -0
  1179. package/dist-types/components/input-range/test/lion-input-range.test.d.ts.map +1 -0
  1180. package/dist-types/components/input-stepper/src/LionInputStepper.d.ts +115 -0
  1181. package/dist-types/components/input-stepper/src/LionInputStepper.d.ts.map +1 -0
  1182. package/dist-types/components/input-stepper/test/lion-input-stepper.test.d.ts +3 -0
  1183. package/dist-types/components/input-stepper/test/lion-input-stepper.test.d.ts.map +1 -0
  1184. package/dist-types/components/input-tel/src/LionInputTel.d.ts +230 -0
  1185. package/dist-types/components/input-tel/src/LionInputTel.d.ts.map +1 -0
  1186. package/dist-types/components/input-tel/src/PhoneUtilManager.d.ts +18 -0
  1187. package/dist-types/components/input-tel/src/PhoneUtilManager.d.ts.map +1 -0
  1188. package/dist-types/components/input-tel/src/formatters.d.ts +32 -0
  1189. package/dist-types/components/input-tel/src/formatters.d.ts.map +1 -0
  1190. package/dist-types/components/input-tel/src/localizeNamespaceLoader.d.ts +2 -0
  1191. package/dist-types/components/input-tel/src/localizeNamespaceLoader.d.ts.map +1 -0
  1192. package/dist-types/components/input-tel/src/parsers.d.ts +15 -0
  1193. package/dist-types/components/input-tel/src/parsers.d.ts.map +1 -0
  1194. package/dist-types/components/input-tel/src/preprocessors.d.ts +29 -0
  1195. package/dist-types/components/input-tel/src/preprocessors.d.ts.map +1 -0
  1196. package/dist-types/components/input-tel/src/validators.d.ts +13 -0
  1197. package/dist-types/components/input-tel/src/validators.d.ts.map +1 -0
  1198. package/dist-types/components/input-tel/test/LionInputTel.test.d.ts +2 -0
  1199. package/dist-types/components/input-tel/test/LionInputTel.test.d.ts.map +1 -0
  1200. package/dist-types/components/input-tel/test/formatters.test.d.ts +2 -0
  1201. package/dist-types/components/input-tel/test/formatters.test.d.ts.map +1 -0
  1202. package/dist-types/components/input-tel/test/parsers.test.d.ts +2 -0
  1203. package/dist-types/components/input-tel/test/parsers.test.d.ts.map +1 -0
  1204. package/dist-types/components/input-tel/test/preprocessors.test.d.ts +2 -0
  1205. package/dist-types/components/input-tel/test/preprocessors.test.d.ts.map +1 -0
  1206. package/dist-types/components/input-tel/test/validators.test.d.ts +2 -0
  1207. package/dist-types/components/input-tel/test/validators.test.d.ts.map +1 -0
  1208. package/dist-types/components/input-tel/test-helpers/mockPhoneUtilManager.d.ts +5 -0
  1209. package/dist-types/components/input-tel/test-helpers/mockPhoneUtilManager.d.ts.map +1 -0
  1210. package/dist-types/components/input-tel/test-suites/LionInputTel.suite.d.ts +10 -0
  1211. package/dist-types/components/input-tel/test-suites/LionInputTel.suite.d.ts.map +1 -0
  1212. package/dist-types/components/input-tel/translations/bg-BG.d.ts +6 -0
  1213. package/dist-types/components/input-tel/translations/bg-BG.d.ts.map +1 -0
  1214. package/dist-types/components/input-tel/translations/bg.d.ts +6 -0
  1215. package/dist-types/components/input-tel/translations/bg.d.ts.map +1 -0
  1216. package/dist-types/components/input-tel/translations/cs-CZ.d.ts +6 -0
  1217. package/dist-types/components/input-tel/translations/cs-CZ.d.ts.map +1 -0
  1218. package/dist-types/components/input-tel/translations/cs.d.ts +6 -0
  1219. package/dist-types/components/input-tel/translations/cs.d.ts.map +1 -0
  1220. package/dist-types/components/input-tel/translations/de-DE.d.ts +6 -0
  1221. package/dist-types/components/input-tel/translations/de-DE.d.ts.map +1 -0
  1222. package/dist-types/components/input-tel/translations/de.d.ts +6 -0
  1223. package/dist-types/components/input-tel/translations/de.d.ts.map +1 -0
  1224. package/dist-types/components/input-tel/translations/en-AU.d.ts +6 -0
  1225. package/dist-types/components/input-tel/translations/en-AU.d.ts.map +1 -0
  1226. package/dist-types/components/input-tel/translations/en-GB.d.ts +6 -0
  1227. package/dist-types/components/input-tel/translations/en-GB.d.ts.map +1 -0
  1228. package/dist-types/components/input-tel/translations/en-US.d.ts +6 -0
  1229. package/dist-types/components/input-tel/translations/en-US.d.ts.map +1 -0
  1230. package/dist-types/components/input-tel/translations/en.d.ts +6 -0
  1231. package/dist-types/components/input-tel/translations/en.d.ts.map +1 -0
  1232. package/dist-types/components/input-tel/translations/es-ES.d.ts +6 -0
  1233. package/dist-types/components/input-tel/translations/es-ES.d.ts.map +1 -0
  1234. package/dist-types/components/input-tel/translations/es.d.ts +6 -0
  1235. package/dist-types/components/input-tel/translations/es.d.ts.map +1 -0
  1236. package/dist-types/components/input-tel/translations/fr-BE.d.ts +6 -0
  1237. package/dist-types/components/input-tel/translations/fr-BE.d.ts.map +1 -0
  1238. package/dist-types/components/input-tel/translations/fr-FR.d.ts +6 -0
  1239. package/dist-types/components/input-tel/translations/fr-FR.d.ts.map +1 -0
  1240. package/dist-types/components/input-tel/translations/fr.d.ts +6 -0
  1241. package/dist-types/components/input-tel/translations/fr.d.ts.map +1 -0
  1242. package/dist-types/components/input-tel/translations/hu-HU.d.ts +6 -0
  1243. package/dist-types/components/input-tel/translations/hu-HU.d.ts.map +1 -0
  1244. package/dist-types/components/input-tel/translations/hu.d.ts +6 -0
  1245. package/dist-types/components/input-tel/translations/hu.d.ts.map +1 -0
  1246. package/dist-types/components/input-tel/translations/it-IT.d.ts +6 -0
  1247. package/dist-types/components/input-tel/translations/it-IT.d.ts.map +1 -0
  1248. package/dist-types/components/input-tel/translations/it.d.ts +6 -0
  1249. package/dist-types/components/input-tel/translations/it.d.ts.map +1 -0
  1250. package/dist-types/components/input-tel/translations/nl-BE.d.ts +6 -0
  1251. package/dist-types/components/input-tel/translations/nl-BE.d.ts.map +1 -0
  1252. package/dist-types/components/input-tel/translations/nl-NL.d.ts +6 -0
  1253. package/dist-types/components/input-tel/translations/nl-NL.d.ts.map +1 -0
  1254. package/dist-types/components/input-tel/translations/nl.d.ts +6 -0
  1255. package/dist-types/components/input-tel/translations/nl.d.ts.map +1 -0
  1256. package/dist-types/components/input-tel/translations/pl-PL.d.ts +6 -0
  1257. package/dist-types/components/input-tel/translations/pl-PL.d.ts.map +1 -0
  1258. package/dist-types/components/input-tel/translations/pl.d.ts +6 -0
  1259. package/dist-types/components/input-tel/translations/pl.d.ts.map +1 -0
  1260. package/dist-types/components/input-tel/translations/ro-RO.d.ts +6 -0
  1261. package/dist-types/components/input-tel/translations/ro-RO.d.ts.map +1 -0
  1262. package/dist-types/components/input-tel/translations/ro.d.ts +6 -0
  1263. package/dist-types/components/input-tel/translations/ro.d.ts.map +1 -0
  1264. package/dist-types/components/input-tel/translations/ru-RU.d.ts +6 -0
  1265. package/dist-types/components/input-tel/translations/ru-RU.d.ts.map +1 -0
  1266. package/dist-types/components/input-tel/translations/ru.d.ts +6 -0
  1267. package/dist-types/components/input-tel/translations/ru.d.ts.map +1 -0
  1268. package/dist-types/components/input-tel/translations/sk-SK.d.ts +6 -0
  1269. package/dist-types/components/input-tel/translations/sk-SK.d.ts.map +1 -0
  1270. package/dist-types/components/input-tel/translations/sk.d.ts +6 -0
  1271. package/dist-types/components/input-tel/translations/sk.d.ts.map +1 -0
  1272. package/dist-types/components/input-tel/translations/uk-UA.d.ts +6 -0
  1273. package/dist-types/components/input-tel/translations/uk-UA.d.ts.map +1 -0
  1274. package/dist-types/components/input-tel/translations/uk.d.ts +6 -0
  1275. package/dist-types/components/input-tel/translations/uk.d.ts.map +1 -0
  1276. package/dist-types/components/input-tel/translations/zh.d.ts +6 -0
  1277. package/dist-types/components/input-tel/translations/zh.d.ts.map +1 -0
  1278. package/dist-types/components/input-tel/types/index.d.ts +6 -0
  1279. package/dist-types/components/input-tel/types/index.d.ts.map +1 -0
  1280. package/dist-types/components/input-tel-dropdown/src/LionInputTelDropdown.d.ts +178 -0
  1281. package/dist-types/components/input-tel-dropdown/src/LionInputTelDropdown.d.ts.map +1 -0
  1282. package/dist-types/components/input-tel-dropdown/src/getFlagSymbol.d.ts +5 -0
  1283. package/dist-types/components/input-tel-dropdown/src/getFlagSymbol.d.ts.map +1 -0
  1284. package/dist-types/components/input-tel-dropdown/test/LionInputTelDropdown.test.d.ts +7 -0
  1285. package/dist-types/components/input-tel-dropdown/test/LionInputTelDropdown.test.d.ts.map +1 -0
  1286. package/dist-types/components/input-tel-dropdown/test-suites/LionInputTelDropdown.suite.d.ts +13 -0
  1287. package/dist-types/components/input-tel-dropdown/test-suites/LionInputTelDropdown.suite.d.ts.map +1 -0
  1288. package/dist-types/components/input-tel-dropdown/types/index.d.ts +62 -0
  1289. package/dist-types/components/input-tel-dropdown/types/index.d.ts.map +1 -0
  1290. package/dist-types/components/listbox/src/LionListbox.d.ts +20 -0
  1291. package/dist-types/components/listbox/src/LionListbox.d.ts.map +1 -0
  1292. package/dist-types/components/listbox/src/LionOption.d.ts +46 -0
  1293. package/dist-types/components/listbox/src/LionOption.d.ts.map +1 -0
  1294. package/dist-types/components/listbox/src/LionOptions.d.ts +22 -0
  1295. package/dist-types/components/listbox/src/LionOptions.d.ts.map +1 -0
  1296. package/dist-types/components/listbox/src/ListboxMixin.d.ts +9 -0
  1297. package/dist-types/components/listbox/src/ListboxMixin.d.ts.map +1 -0
  1298. package/dist-types/components/listbox/test/lion-listbox.test.d.ts +2 -0
  1299. package/dist-types/components/listbox/test/lion-listbox.test.d.ts.map +1 -0
  1300. package/dist-types/components/listbox/test/lion-option.test.d.ts +2 -0
  1301. package/dist-types/components/listbox/test/lion-option.test.d.ts.map +1 -0
  1302. package/dist-types/components/listbox/test/lion-options.test.d.ts +2 -0
  1303. package/dist-types/components/listbox/test/lion-options.test.d.ts.map +1 -0
  1304. package/dist-types/components/listbox/test-helpers/getListboxMembers.d.ts +21 -0
  1305. package/dist-types/components/listbox/test-helpers/getListboxMembers.d.ts.map +1 -0
  1306. package/dist-types/components/listbox/test-suites/ListboxMixin.suite.d.ts +12 -0
  1307. package/dist-types/components/listbox/test-suites/ListboxMixin.suite.d.ts.map +1 -0
  1308. package/dist-types/components/listbox/types/LionOption.d.ts +6 -0
  1309. package/dist-types/components/listbox/types/LionOption.d.ts.map +1 -0
  1310. package/dist-types/components/listbox/types/ListboxMixinTypes.d.ts +62 -0
  1311. package/dist-types/components/listbox/types/ListboxMixinTypes.d.ts.map +1 -0
  1312. package/dist-types/components/localize/src/LocalizeManager.d.ts +275 -0
  1313. package/dist-types/components/localize/src/LocalizeManager.d.ts.map +1 -0
  1314. package/dist-types/components/localize/src/LocalizeMixin.d.ts +40 -0
  1315. package/dist-types/components/localize/src/LocalizeMixin.d.ts.map +1 -0
  1316. package/dist-types/components/localize/src/date/formatDate.d.ts +11 -0
  1317. package/dist-types/components/localize/src/date/formatDate.d.ts.map +1 -0
  1318. package/dist-types/components/localize/src/date/getDateFormatBasedOnLocale.d.ts +6 -0
  1319. package/dist-types/components/localize/src/date/getDateFormatBasedOnLocale.d.ts.map +1 -0
  1320. package/dist-types/components/localize/src/date/getMonthNames.d.ts +12 -0
  1321. package/dist-types/components/localize/src/date/getMonthNames.d.ts.map +1 -0
  1322. package/dist-types/components/localize/src/date/getWeekdayNames.d.ts +14 -0
  1323. package/dist-types/components/localize/src/date/getWeekdayNames.d.ts.map +1 -0
  1324. package/dist-types/components/localize/src/date/normalizeDateTime.d.ts +7 -0
  1325. package/dist-types/components/localize/src/date/normalizeDateTime.d.ts.map +1 -0
  1326. package/dist-types/components/localize/src/date/parseDate.d.ts +8 -0
  1327. package/dist-types/components/localize/src/date/parseDate.d.ts.map +1 -0
  1328. package/dist-types/components/localize/src/date/utils/addLeadingZero.d.ts +8 -0
  1329. package/dist-types/components/localize/src/date/utils/addLeadingZero.d.ts.map +1 -0
  1330. package/dist-types/components/localize/src/date/utils/clean.d.ts +8 -0
  1331. package/dist-types/components/localize/src/date/utils/clean.d.ts.map +1 -0
  1332. package/dist-types/components/localize/src/date/utils/forceShortMonthNamesForEnGb.d.ts +5 -0
  1333. package/dist-types/components/localize/src/date/utils/forceShortMonthNamesForEnGb.d.ts.map +1 -0
  1334. package/dist-types/components/localize/src/date/utils/normalizeIntlDate.d.ts +10 -0
  1335. package/dist-types/components/localize/src/date/utils/normalizeIntlDate.d.ts.map +1 -0
  1336. package/dist-types/components/localize/src/date/utils/pad.d.ts +8 -0
  1337. package/dist-types/components/localize/src/date/utils/pad.d.ts.map +1 -0
  1338. package/dist-types/components/localize/src/date/utils/sanitizedDateTimeFormat.d.ts +8 -0
  1339. package/dist-types/components/localize/src/date/utils/sanitizedDateTimeFormat.d.ts.map +1 -0
  1340. package/dist-types/components/localize/src/date/utils/splitDate.d.ts +8 -0
  1341. package/dist-types/components/localize/src/date/utils/splitDate.d.ts.map +1 -0
  1342. package/dist-types/components/localize/src/date/utils/trim.d.ts +8 -0
  1343. package/dist-types/components/localize/src/date/utils/trim.d.ts.map +1 -0
  1344. package/dist-types/components/localize/src/isLocalizeESModule.d.ts +8 -0
  1345. package/dist-types/components/localize/src/isLocalizeESModule.d.ts.map +1 -0
  1346. package/dist-types/components/localize/src/number/formatNumber.d.ts +20 -0
  1347. package/dist-types/components/localize/src/number/formatNumber.d.ts.map +1 -0
  1348. package/dist-types/components/localize/src/number/formatNumberToParts.d.ts +23 -0
  1349. package/dist-types/components/localize/src/number/formatNumberToParts.d.ts.map +1 -0
  1350. package/dist-types/components/localize/src/number/getCurrencyName.d.ts +14 -0
  1351. package/dist-types/components/localize/src/number/getCurrencyName.d.ts.map +1 -0
  1352. package/dist-types/components/localize/src/number/getDecimalSeparator.d.ts +9 -0
  1353. package/dist-types/components/localize/src/number/getDecimalSeparator.d.ts.map +1 -0
  1354. package/dist-types/components/localize/src/number/getFractionDigits.d.ts +11 -0
  1355. package/dist-types/components/localize/src/number/getFractionDigits.d.ts.map +1 -0
  1356. package/dist-types/components/localize/src/number/getGroupSeparator.d.ts +9 -0
  1357. package/dist-types/components/localize/src/number/getGroupSeparator.d.ts.map +1 -0
  1358. package/dist-types/components/localize/src/number/getSeparatorsFromNumber.d.ts +12 -0
  1359. package/dist-types/components/localize/src/number/getSeparatorsFromNumber.d.ts.map +1 -0
  1360. package/dist-types/components/localize/src/number/normalizeCurrencyLabel.d.ts +9 -0
  1361. package/dist-types/components/localize/src/number/normalizeCurrencyLabel.d.ts.map +1 -0
  1362. package/dist-types/components/localize/src/number/parseNumber.d.ts +21 -0
  1363. package/dist-types/components/localize/src/number/parseNumber.d.ts.map +1 -0
  1364. package/dist-types/components/localize/src/number/utils/emptyStringWhenNumberNan.d.ts +8 -0
  1365. package/dist-types/components/localize/src/number/utils/emptyStringWhenNumberNan.d.ts.map +1 -0
  1366. package/dist-types/components/localize/src/number/utils/normalSpaces.d.ts +6 -0
  1367. package/dist-types/components/localize/src/number/utils/normalSpaces.d.ts.map +1 -0
  1368. package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/forceAddGroupSeparators.d.ts +14 -0
  1369. package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/forceAddGroupSeparators.d.ts.map +1 -0
  1370. package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/forceCurrencyToEnd.d.ts +13 -0
  1371. package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/forceCurrencyToEnd.d.ts.map +1 -0
  1372. package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/forceENAUSymbols.d.ts +14 -0
  1373. package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/forceENAUSymbols.d.ts.map +1 -0
  1374. package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/forceNormalSpaces.d.ts +13 -0
  1375. package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/forceNormalSpaces.d.ts.map +1 -0
  1376. package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/forceSpaceBetweenCurrencyCodeAndNumber.d.ts +14 -0
  1377. package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/forceSpaceBetweenCurrencyCodeAndNumber.d.ts.map +1 -0
  1378. package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/forceSpaceInsteadOfZeroForGroup.d.ts +11 -0
  1379. package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/forceSpaceInsteadOfZeroForGroup.d.ts.map +1 -0
  1380. package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/forceTryCurrencyCode.d.ts +9 -0
  1381. package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/forceTryCurrencyCode.d.ts.map +1 -0
  1382. package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/forceYenSymbol.d.ts +9 -0
  1383. package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/forceYenSymbol.d.ts.map +1 -0
  1384. package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/normalizeIntl.d.ts +15 -0
  1385. package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/normalizeIntl.d.ts.map +1 -0
  1386. package/dist-types/components/localize/src/number/utils/normalize-get-currency-name/forceCurrencyNameForPHPEnGB.d.ts +5 -0
  1387. package/dist-types/components/localize/src/number/utils/normalize-get-currency-name/forceCurrencyNameForPHPEnGB.d.ts.map +1 -0
  1388. package/dist-types/components/localize/src/singleton.d.ts +9 -0
  1389. package/dist-types/components/localize/src/singleton.d.ts.map +1 -0
  1390. package/dist-types/components/localize/src/utils/getLocale.d.ts +8 -0
  1391. package/dist-types/components/localize/src/utils/getLocale.d.ts.map +1 -0
  1392. package/dist-types/components/localize/test/LocalizeManager.test.d.ts +2 -0
  1393. package/dist-types/components/localize/test/LocalizeManager.test.d.ts.map +1 -0
  1394. package/dist-types/components/localize/test/LocalizeMixin.test.d.ts +2 -0
  1395. package/dist-types/components/localize/test/LocalizeMixin.test.d.ts.map +1 -0
  1396. package/dist-types/components/localize/test/date/formatDate.test.d.ts +2 -0
  1397. package/dist-types/components/localize/test/date/formatDate.test.d.ts.map +1 -0
  1398. package/dist-types/components/localize/test/date/getDateFormatBasedOnLocale.test.d.ts +2 -0
  1399. package/dist-types/components/localize/test/date/getDateFormatBasedOnLocale.test.d.ts.map +1 -0
  1400. package/dist-types/components/localize/test/date/getMonthNames.test.d.ts +2 -0
  1401. package/dist-types/components/localize/test/date/getMonthNames.test.d.ts.map +1 -0
  1402. package/dist-types/components/localize/test/date/getWeekdayNames.test.d.ts +2 -0
  1403. package/dist-types/components/localize/test/date/getWeekdayNames.test.d.ts.map +1 -0
  1404. package/dist-types/components/localize/test/date/normalizeDateTime.test.d.ts +2 -0
  1405. package/dist-types/components/localize/test/date/normalizeDateTime.test.d.ts.map +1 -0
  1406. package/dist-types/components/localize/test/date/parseDate.test.d.ts +2 -0
  1407. package/dist-types/components/localize/test/date/parseDate.test.d.ts.map +1 -0
  1408. package/dist-types/components/localize/test/isLocalizeESModule.test.d.ts +2 -0
  1409. package/dist-types/components/localize/test/isLocalizeESModule.test.d.ts.map +1 -0
  1410. package/dist-types/components/localize/test/localize.test.d.ts +2 -0
  1411. package/dist-types/components/localize/test/localize.test.d.ts.map +1 -0
  1412. package/dist-types/components/localize/test/number/formatNumber.test.d.ts +2 -0
  1413. package/dist-types/components/localize/test/number/formatNumber.test.d.ts.map +1 -0
  1414. package/dist-types/components/localize/test/number/formatNumberToParts.test.d.ts +2 -0
  1415. package/dist-types/components/localize/test/number/formatNumberToParts.test.d.ts.map +1 -0
  1416. package/dist-types/components/localize/test/number/getCurrencyName.test.d.ts +2 -0
  1417. package/dist-types/components/localize/test/number/getCurrencyName.test.d.ts.map +1 -0
  1418. package/dist-types/components/localize/test/number/getDecimalSeparator.test.d.ts +2 -0
  1419. package/dist-types/components/localize/test/number/getDecimalSeparator.test.d.ts.map +1 -0
  1420. package/dist-types/components/localize/test/number/getFractionDigits.test.d.ts +2 -0
  1421. package/dist-types/components/localize/test/number/getFractionDigits.test.d.ts.map +1 -0
  1422. package/dist-types/components/localize/test/number/getGroupSeparator.test.d.ts +2 -0
  1423. package/dist-types/components/localize/test/number/getGroupSeparator.test.d.ts.map +1 -0
  1424. package/dist-types/components/localize/test/number/getSeparatorsFromNumber.test.d.ts +2 -0
  1425. package/dist-types/components/localize/test/number/getSeparatorsFromNumber.test.d.ts.map +1 -0
  1426. package/dist-types/components/localize/test/number/parseNumber.test.d.ts +2 -0
  1427. package/dist-types/components/localize/test/number/parseNumber.test.d.ts.map +1 -0
  1428. package/dist-types/components/localize/test/test-esmodule-default.d.ts +3 -0
  1429. package/dist-types/components/localize/test/test-esmodule-default.d.ts.map +1 -0
  1430. package/dist-types/components/localize/test-helpers/fake-imports.d.ts +18 -0
  1431. package/dist-types/components/localize/test-helpers/fake-imports.d.ts.map +1 -0
  1432. package/dist-types/components/localize/test-helpers/localizeTearDown.d.ts +2 -0
  1433. package/dist-types/components/localize/test-helpers/localizeTearDown.d.ts.map +1 -0
  1434. package/dist-types/components/localize/types/LocalizeMixinTypes.d.ts +66 -0
  1435. package/dist-types/components/localize/types/LocalizeMixinTypes.d.ts.map +1 -0
  1436. package/dist-types/components/overlays/src/ArrowMixin.d.ts +19 -0
  1437. package/dist-types/components/overlays/src/ArrowMixin.d.ts.map +1 -0
  1438. package/dist-types/components/overlays/src/OverlayController.d.ts +483 -0
  1439. package/dist-types/components/overlays/src/OverlayController.d.ts.map +1 -0
  1440. package/dist-types/components/overlays/src/OverlayMixin.d.ts +15 -0
  1441. package/dist-types/components/overlays/src/OverlayMixin.d.ts.map +1 -0
  1442. package/dist-types/components/overlays/src/OverlaysManager.d.ts +91 -0
  1443. package/dist-types/components/overlays/src/OverlaysManager.d.ts.map +1 -0
  1444. package/dist-types/components/overlays/src/configurations/withBottomSheetConfig.d.ts +3 -0
  1445. package/dist-types/components/overlays/src/configurations/withBottomSheetConfig.d.ts.map +1 -0
  1446. package/dist-types/components/overlays/src/configurations/withDropdownConfig.d.ts +3 -0
  1447. package/dist-types/components/overlays/src/configurations/withDropdownConfig.d.ts.map +1 -0
  1448. package/dist-types/components/overlays/src/configurations/withModalDialogConfig.d.ts +3 -0
  1449. package/dist-types/components/overlays/src/configurations/withModalDialogConfig.d.ts.map +1 -0
  1450. package/dist-types/components/overlays/src/globalOverlaysStyle.d.ts +2 -0
  1451. package/dist-types/components/overlays/src/globalOverlaysStyle.d.ts.map +1 -0
  1452. package/dist-types/components/overlays/src/singleton.d.ts +7 -0
  1453. package/dist-types/components/overlays/src/singleton.d.ts.map +1 -0
  1454. package/dist-types/components/overlays/src/utils/contain-focus.d.ts +20 -0
  1455. package/dist-types/components/overlays/src/utils/contain-focus.d.ts.map +1 -0
  1456. package/dist-types/components/overlays/src/utils/deep-contains.d.ts +8 -0
  1457. package/dist-types/components/overlays/src/utils/deep-contains.d.ts.map +1 -0
  1458. package/dist-types/components/overlays/src/utils/get-deep-active-element.d.ts +9 -0
  1459. package/dist-types/components/overlays/src/utils/get-deep-active-element.d.ts.map +1 -0
  1460. package/dist-types/components/overlays/src/utils/get-focusable-elements.d.ts +6 -0
  1461. package/dist-types/components/overlays/src/utils/get-focusable-elements.d.ts.map +1 -0
  1462. package/dist-types/components/overlays/src/utils/inert-siblings.d.ts +15 -0
  1463. package/dist-types/components/overlays/src/utils/inert-siblings.d.ts.map +1 -0
  1464. package/dist-types/components/overlays/src/utils/is-equal-config.d.ts +14 -0
  1465. package/dist-types/components/overlays/src/utils/is-equal-config.d.ts.map +1 -0
  1466. package/dist-types/components/overlays/src/utils/is-visible.d.ts +6 -0
  1467. package/dist-types/components/overlays/src/utils/is-visible.d.ts.map +1 -0
  1468. package/dist-types/components/overlays/src/utils/key-codes.d.ts +7 -0
  1469. package/dist-types/components/overlays/src/utils/key-codes.d.ts.map +1 -0
  1470. package/dist-types/components/overlays/src/utils/simulate-tab.d.ts +2 -0
  1471. package/dist-types/components/overlays/src/utils/simulate-tab.d.ts.map +1 -0
  1472. package/dist-types/components/overlays/src/utils/sort-by-tabindex.d.ts +6 -0
  1473. package/dist-types/components/overlays/src/utils/sort-by-tabindex.d.ts.map +1 -0
  1474. package/dist-types/components/overlays/test/ArrowMixin.test.d.ts +2 -0
  1475. package/dist-types/components/overlays/test/ArrowMixin.test.d.ts.map +1 -0
  1476. package/dist-types/components/overlays/test/OverlayController.test.d.ts +3 -0
  1477. package/dist-types/components/overlays/test/OverlayController.test.d.ts.map +1 -0
  1478. package/dist-types/components/overlays/test/OverlayMixin.test.d.ts +2 -0
  1479. package/dist-types/components/overlays/test/OverlayMixin.test.d.ts.map +1 -0
  1480. package/dist-types/components/overlays/test/OverlaysManager.test.d.ts +2 -0
  1481. package/dist-types/components/overlays/test/OverlaysManager.test.d.ts.map +1 -0
  1482. package/dist-types/components/overlays/test/global-positioning.test.d.ts +3 -0
  1483. package/dist-types/components/overlays/test/global-positioning.test.d.ts.map +1 -0
  1484. package/dist-types/components/overlays/test/local-positioning.test.d.ts +3 -0
  1485. package/dist-types/components/overlays/test/local-positioning.test.d.ts.map +1 -0
  1486. package/dist-types/components/overlays/test/utils-tests/active-element.test.d.ts +2 -0
  1487. package/dist-types/components/overlays/test/utils-tests/active-element.test.d.ts.map +1 -0
  1488. package/dist-types/components/overlays/test/utils-tests/contain-focus.test.d.ts +2 -0
  1489. package/dist-types/components/overlays/test/utils-tests/contain-focus.test.d.ts.map +1 -0
  1490. package/dist-types/components/overlays/test/utils-tests/deep-contains.test.d.ts +2 -0
  1491. package/dist-types/components/overlays/test/utils-tests/deep-contains.test.d.ts.map +1 -0
  1492. package/dist-types/components/overlays/test/utils-tests/get-focusable-elements.test.d.ts +2 -0
  1493. package/dist-types/components/overlays/test/utils-tests/get-focusable-elements.test.d.ts.map +1 -0
  1494. package/dist-types/components/overlays/test/utils-tests/is-equal-config.test.d.ts +2 -0
  1495. package/dist-types/components/overlays/test/utils-tests/is-equal-config.test.d.ts.map +1 -0
  1496. package/dist-types/components/overlays/test/utils-tests/local-positioning-helpers.d.ts +8 -0
  1497. package/dist-types/components/overlays/test/utils-tests/local-positioning-helpers.d.ts.map +1 -0
  1498. package/dist-types/components/overlays/test/utils-tests/visibility.test.d.ts +2 -0
  1499. package/dist-types/components/overlays/test/utils-tests/visibility.test.d.ts.map +1 -0
  1500. package/dist-types/components/overlays/test-helpers/mimicClick.d.ts +9 -0
  1501. package/dist-types/components/overlays/test-helpers/mimicClick.d.ts.map +1 -0
  1502. package/dist-types/components/overlays/test-suites/OverlayMixin.suite.d.ts +18 -0
  1503. package/dist-types/components/overlays/test-suites/OverlayMixin.suite.d.ts.map +1 -0
  1504. package/dist-types/components/overlays/translations/bg-BG.d.ts +6 -0
  1505. package/dist-types/components/overlays/translations/bg-BG.d.ts.map +1 -0
  1506. package/dist-types/components/overlays/translations/bg.d.ts +6 -0
  1507. package/dist-types/components/overlays/translations/bg.d.ts.map +1 -0
  1508. package/dist-types/components/overlays/translations/cs-CZ.d.ts +6 -0
  1509. package/dist-types/components/overlays/translations/cs-CZ.d.ts.map +1 -0
  1510. package/dist-types/components/overlays/translations/cs.d.ts +6 -0
  1511. package/dist-types/components/overlays/translations/cs.d.ts.map +1 -0
  1512. package/dist-types/components/overlays/translations/de-DE.d.ts +6 -0
  1513. package/dist-types/components/overlays/translations/de-DE.d.ts.map +1 -0
  1514. package/dist-types/components/overlays/translations/de.d.ts +6 -0
  1515. package/dist-types/components/overlays/translations/de.d.ts.map +1 -0
  1516. package/dist-types/components/overlays/translations/en-AU.d.ts +6 -0
  1517. package/dist-types/components/overlays/translations/en-AU.d.ts.map +1 -0
  1518. package/dist-types/components/overlays/translations/en-GB.d.ts +6 -0
  1519. package/dist-types/components/overlays/translations/en-GB.d.ts.map +1 -0
  1520. package/dist-types/components/overlays/translations/en-US.d.ts +6 -0
  1521. package/dist-types/components/overlays/translations/en-US.d.ts.map +1 -0
  1522. package/dist-types/components/overlays/translations/en.d.ts +6 -0
  1523. package/dist-types/components/overlays/translations/en.d.ts.map +1 -0
  1524. package/dist-types/components/overlays/translations/es-ES.d.ts +6 -0
  1525. package/dist-types/components/overlays/translations/es-ES.d.ts.map +1 -0
  1526. package/dist-types/components/overlays/translations/es.d.ts +6 -0
  1527. package/dist-types/components/overlays/translations/es.d.ts.map +1 -0
  1528. package/dist-types/components/overlays/translations/fr-BE.d.ts +6 -0
  1529. package/dist-types/components/overlays/translations/fr-BE.d.ts.map +1 -0
  1530. package/dist-types/components/overlays/translations/fr-FR.d.ts +6 -0
  1531. package/dist-types/components/overlays/translations/fr-FR.d.ts.map +1 -0
  1532. package/dist-types/components/overlays/translations/fr.d.ts +6 -0
  1533. package/dist-types/components/overlays/translations/fr.d.ts.map +1 -0
  1534. package/dist-types/components/overlays/translations/hu-HU.d.ts +6 -0
  1535. package/dist-types/components/overlays/translations/hu-HU.d.ts.map +1 -0
  1536. package/dist-types/components/overlays/translations/hu.d.ts +6 -0
  1537. package/dist-types/components/overlays/translations/hu.d.ts.map +1 -0
  1538. package/dist-types/components/overlays/translations/it-IT.d.ts +6 -0
  1539. package/dist-types/components/overlays/translations/it-IT.d.ts.map +1 -0
  1540. package/dist-types/components/overlays/translations/it.d.ts +6 -0
  1541. package/dist-types/components/overlays/translations/it.d.ts.map +1 -0
  1542. package/dist-types/components/overlays/translations/nl-BE.d.ts +6 -0
  1543. package/dist-types/components/overlays/translations/nl-BE.d.ts.map +1 -0
  1544. package/dist-types/components/overlays/translations/nl-NL.d.ts +6 -0
  1545. package/dist-types/components/overlays/translations/nl-NL.d.ts.map +1 -0
  1546. package/dist-types/components/overlays/translations/nl.d.ts +6 -0
  1547. package/dist-types/components/overlays/translations/nl.d.ts.map +1 -0
  1548. package/dist-types/components/overlays/translations/pl-PL.d.ts +6 -0
  1549. package/dist-types/components/overlays/translations/pl-PL.d.ts.map +1 -0
  1550. package/dist-types/components/overlays/translations/pl.d.ts +6 -0
  1551. package/dist-types/components/overlays/translations/pl.d.ts.map +1 -0
  1552. package/dist-types/components/overlays/translations/ro-RO.d.ts +6 -0
  1553. package/dist-types/components/overlays/translations/ro-RO.d.ts.map +1 -0
  1554. package/dist-types/components/overlays/translations/ro.d.ts +6 -0
  1555. package/dist-types/components/overlays/translations/ro.d.ts.map +1 -0
  1556. package/dist-types/components/overlays/translations/ru-RU.d.ts +6 -0
  1557. package/dist-types/components/overlays/translations/ru-RU.d.ts.map +1 -0
  1558. package/dist-types/components/overlays/translations/ru.d.ts +6 -0
  1559. package/dist-types/components/overlays/translations/ru.d.ts.map +1 -0
  1560. package/dist-types/components/overlays/translations/sk-SK.d.ts +6 -0
  1561. package/dist-types/components/overlays/translations/sk-SK.d.ts.map +1 -0
  1562. package/dist-types/components/overlays/translations/sk.d.ts +6 -0
  1563. package/dist-types/components/overlays/translations/sk.d.ts.map +1 -0
  1564. package/dist-types/components/overlays/translations/uk-UA.d.ts +6 -0
  1565. package/dist-types/components/overlays/translations/uk-UA.d.ts.map +1 -0
  1566. package/dist-types/components/overlays/translations/uk.d.ts +6 -0
  1567. package/dist-types/components/overlays/translations/uk.d.ts.map +1 -0
  1568. package/dist-types/components/overlays/translations/zh.d.ts +6 -0
  1569. package/dist-types/components/overlays/translations/zh.d.ts.map +1 -0
  1570. package/dist-types/components/overlays/types/ArrowMixinTypes.d.ts +27 -0
  1571. package/dist-types/components/overlays/types/ArrowMixinTypes.d.ts.map +1 -0
  1572. package/dist-types/components/overlays/types/OverlayConfig.d.ts +57 -0
  1573. package/dist-types/components/overlays/types/OverlayConfig.d.ts.map +1 -0
  1574. package/dist-types/components/overlays/types/OverlayMixinTypes.d.ts +58 -0
  1575. package/dist-types/components/overlays/types/OverlayMixinTypes.d.ts.map +1 -0
  1576. package/dist-types/components/pagination/src/LionPagination.d.ts +141 -0
  1577. package/dist-types/components/pagination/src/LionPagination.d.ts.map +1 -0
  1578. package/dist-types/components/pagination/test/lion-pagination.test.d.ts +3 -0
  1579. package/dist-types/components/pagination/test/lion-pagination.test.d.ts.map +1 -0
  1580. package/dist-types/components/pagination/translations/bg.d.ts +8 -0
  1581. package/dist-types/components/pagination/translations/bg.d.ts.map +1 -0
  1582. package/dist-types/components/pagination/translations/cs.d.ts +8 -0
  1583. package/dist-types/components/pagination/translations/cs.d.ts.map +1 -0
  1584. package/dist-types/components/pagination/translations/de.d.ts +8 -0
  1585. package/dist-types/components/pagination/translations/de.d.ts.map +1 -0
  1586. package/dist-types/components/pagination/translations/en.d.ts +8 -0
  1587. package/dist-types/components/pagination/translations/en.d.ts.map +1 -0
  1588. package/dist-types/components/pagination/translations/es.d.ts +8 -0
  1589. package/dist-types/components/pagination/translations/es.d.ts.map +1 -0
  1590. package/dist-types/components/pagination/translations/fr.d.ts +8 -0
  1591. package/dist-types/components/pagination/translations/fr.d.ts.map +1 -0
  1592. package/dist-types/components/pagination/translations/hu.d.ts +8 -0
  1593. package/dist-types/components/pagination/translations/hu.d.ts.map +1 -0
  1594. package/dist-types/components/pagination/translations/it.d.ts +8 -0
  1595. package/dist-types/components/pagination/translations/it.d.ts.map +1 -0
  1596. package/dist-types/components/pagination/translations/nl.d.ts +8 -0
  1597. package/dist-types/components/pagination/translations/nl.d.ts.map +1 -0
  1598. package/dist-types/components/pagination/translations/pl.d.ts +8 -0
  1599. package/dist-types/components/pagination/translations/pl.d.ts.map +1 -0
  1600. package/dist-types/components/pagination/translations/ro.d.ts +8 -0
  1601. package/dist-types/components/pagination/translations/ro.d.ts.map +1 -0
  1602. package/dist-types/components/pagination/translations/ru.d.ts +8 -0
  1603. package/dist-types/components/pagination/translations/ru.d.ts.map +1 -0
  1604. package/dist-types/components/pagination/translations/sk.d.ts +8 -0
  1605. package/dist-types/components/pagination/translations/sk.d.ts.map +1 -0
  1606. package/dist-types/components/pagination/translations/uk.d.ts +8 -0
  1607. package/dist-types/components/pagination/translations/uk.d.ts.map +1 -0
  1608. package/dist-types/components/pagination/translations/zh.d.ts +8 -0
  1609. package/dist-types/components/pagination/translations/zh.d.ts.map +1 -0
  1610. package/dist-types/components/progress-indicator/src/LionProgressIndicator.d.ts +94 -0
  1611. package/dist-types/components/progress-indicator/src/LionProgressIndicator.d.ts.map +1 -0
  1612. package/dist-types/components/progress-indicator/test/lion-progress-indicator.test.d.ts +3 -0
  1613. package/dist-types/components/progress-indicator/test/lion-progress-indicator.test.d.ts.map +1 -0
  1614. package/dist-types/components/progress-indicator/translations/bg.d.ts +5 -0
  1615. package/dist-types/components/progress-indicator/translations/bg.d.ts.map +1 -0
  1616. package/dist-types/components/progress-indicator/translations/cs.d.ts +5 -0
  1617. package/dist-types/components/progress-indicator/translations/cs.d.ts.map +1 -0
  1618. package/dist-types/components/progress-indicator/translations/de.d.ts +5 -0
  1619. package/dist-types/components/progress-indicator/translations/de.d.ts.map +1 -0
  1620. package/dist-types/components/progress-indicator/translations/en.d.ts +5 -0
  1621. package/dist-types/components/progress-indicator/translations/en.d.ts.map +1 -0
  1622. package/dist-types/components/progress-indicator/translations/es.d.ts +5 -0
  1623. package/dist-types/components/progress-indicator/translations/es.d.ts.map +1 -0
  1624. package/dist-types/components/progress-indicator/translations/fr.d.ts +5 -0
  1625. package/dist-types/components/progress-indicator/translations/fr.d.ts.map +1 -0
  1626. package/dist-types/components/progress-indicator/translations/hu.d.ts +5 -0
  1627. package/dist-types/components/progress-indicator/translations/hu.d.ts.map +1 -0
  1628. package/dist-types/components/progress-indicator/translations/it.d.ts +5 -0
  1629. package/dist-types/components/progress-indicator/translations/it.d.ts.map +1 -0
  1630. package/dist-types/components/progress-indicator/translations/nl.d.ts +5 -0
  1631. package/dist-types/components/progress-indicator/translations/nl.d.ts.map +1 -0
  1632. package/dist-types/components/progress-indicator/translations/pl.d.ts +5 -0
  1633. package/dist-types/components/progress-indicator/translations/pl.d.ts.map +1 -0
  1634. package/dist-types/components/progress-indicator/translations/ro.d.ts +5 -0
  1635. package/dist-types/components/progress-indicator/translations/ro.d.ts.map +1 -0
  1636. package/dist-types/components/progress-indicator/translations/ru.d.ts +5 -0
  1637. package/dist-types/components/progress-indicator/translations/ru.d.ts.map +1 -0
  1638. package/dist-types/components/progress-indicator/translations/sk.d.ts +5 -0
  1639. package/dist-types/components/progress-indicator/translations/sk.d.ts.map +1 -0
  1640. package/dist-types/components/progress-indicator/translations/uk.d.ts +5 -0
  1641. package/dist-types/components/progress-indicator/translations/uk.d.ts.map +1 -0
  1642. package/dist-types/components/progress-indicator/translations/zh.d.ts +5 -0
  1643. package/dist-types/components/progress-indicator/translations/zh.d.ts.map +1 -0
  1644. package/dist-types/components/radio-group/src/LionRadio.d.ts +25 -0
  1645. package/dist-types/components/radio-group/src/LionRadio.d.ts.map +1 -0
  1646. package/dist-types/components/radio-group/src/LionRadioGroup.d.ts +10 -0
  1647. package/dist-types/components/radio-group/src/LionRadioGroup.d.ts.map +1 -0
  1648. package/dist-types/components/radio-group/test/lion-radio-group-integrations.test.d.ts +2 -0
  1649. package/dist-types/components/radio-group/test/lion-radio-group-integrations.test.d.ts.map +1 -0
  1650. package/dist-types/components/radio-group/test/lion-radio-group.test.d.ts +4 -0
  1651. package/dist-types/components/radio-group/test/lion-radio-group.test.d.ts.map +1 -0
  1652. package/dist-types/components/radio-group/test/lion-radio-integrations.test.d.ts +2 -0
  1653. package/dist-types/components/radio-group/test/lion-radio-integrations.test.d.ts.map +1 -0
  1654. package/dist-types/components/radio-group/test/lion-radio.test.d.ts +2 -0
  1655. package/dist-types/components/radio-group/test/lion-radio.test.d.ts.map +1 -0
  1656. package/dist-types/components/select/src/LionSelect.d.ts +59 -0
  1657. package/dist-types/components/select/src/LionSelect.d.ts.map +1 -0
  1658. package/dist-types/components/select/test/lion-select.test.d.ts +2 -0
  1659. package/dist-types/components/select/test/lion-select.test.d.ts.map +1 -0
  1660. package/dist-types/components/select-rich/src/LionSelectInvoker.d.ts +92 -0
  1661. package/dist-types/components/select-rich/src/LionSelectInvoker.d.ts.map +1 -0
  1662. package/dist-types/components/select-rich/src/LionSelectRich.d.ts +140 -0
  1663. package/dist-types/components/select-rich/src/LionSelectRich.d.ts.map +1 -0
  1664. package/dist-types/components/select-rich/test/demos.screenshots-test.d.ts +2 -0
  1665. package/dist-types/components/select-rich/test/demos.screenshots-test.d.ts.map +1 -0
  1666. package/dist-types/components/select-rich/test/lion-select-invoker.test.d.ts +2 -0
  1667. package/dist-types/components/select-rich/test/lion-select-invoker.test.d.ts.map +1 -0
  1668. package/dist-types/components/select-rich/test/lion-select-listbox-suite-integration.test.d.ts +2 -0
  1669. package/dist-types/components/select-rich/test/lion-select-listbox-suite-integration.test.d.ts.map +1 -0
  1670. package/dist-types/components/select-rich/test/lion-select-rich-dialog-integration.test.d.ts +2 -0
  1671. package/dist-types/components/select-rich/test/lion-select-rich-dialog-integration.test.d.ts.map +1 -0
  1672. package/dist-types/components/select-rich/test/lion-select-rich-interaction.test.d.ts +3 -0
  1673. package/dist-types/components/select-rich/test/lion-select-rich-interaction.test.d.ts.map +1 -0
  1674. package/dist-types/components/select-rich/test/lion-select-rich.test.d.ts +5 -0
  1675. package/dist-types/components/select-rich/test/lion-select-rich.test.d.ts.map +1 -0
  1676. package/dist-types/components/steps/src/LionStep.d.ts +70 -0
  1677. package/dist-types/components/steps/src/LionStep.d.ts.map +1 -0
  1678. package/dist-types/components/steps/src/LionSteps.d.ts +72 -0
  1679. package/dist-types/components/steps/src/LionSteps.d.ts.map +1 -0
  1680. package/dist-types/components/steps/test/lion-step.test.d.ts +2 -0
  1681. package/dist-types/components/steps/test/lion-step.test.d.ts.map +1 -0
  1682. package/dist-types/components/steps/test/lion-steps.test.d.ts +7 -0
  1683. package/dist-types/components/steps/test/lion-steps.test.d.ts.map +1 -0
  1684. package/dist-types/components/switch/src/LionSwitch.d.ts +50 -0
  1685. package/dist-types/components/switch/src/LionSwitch.d.ts.map +1 -0
  1686. package/dist-types/components/switch/src/LionSwitchButton.d.ts +47 -0
  1687. package/dist-types/components/switch/src/LionSwitchButton.d.ts.map +1 -0
  1688. package/dist-types/components/switch/test/lion-switch-button.test.d.ts +3 -0
  1689. package/dist-types/components/switch/test/lion-switch-button.test.d.ts.map +1 -0
  1690. package/dist-types/components/switch/test/lion-switch.test.d.ts +4 -0
  1691. package/dist-types/components/switch/test/lion-switch.test.d.ts.map +1 -0
  1692. package/dist-types/components/tabs/src/LionTabs.d.ts +97 -0
  1693. package/dist-types/components/tabs/src/LionTabs.d.ts.map +1 -0
  1694. package/dist-types/components/tabs/test/lion-tabs.test.d.ts +2 -0
  1695. package/dist-types/components/tabs/test/lion-tabs.test.d.ts.map +1 -0
  1696. package/dist-types/components/textarea/src/LionTextarea.d.ts +46 -0
  1697. package/dist-types/components/textarea/src/LionTextarea.d.ts.map +1 -0
  1698. package/dist-types/components/textarea/test/lion-textarea-integrations.test.d.ts +2 -0
  1699. package/dist-types/components/textarea/test/lion-textarea-integrations.test.d.ts.map +1 -0
  1700. package/dist-types/components/textarea/test/lion-textarea.test.d.ts +3 -0
  1701. package/dist-types/components/textarea/test/lion-textarea.test.d.ts.map +1 -0
  1702. package/dist-types/components/tooltip/src/LionTooltip.d.ts +44 -0
  1703. package/dist-types/components/tooltip/src/LionTooltip.d.ts.map +1 -0
  1704. package/dist-types/components/tooltip/test/lion-tooltip.test.d.ts +3 -0
  1705. package/dist-types/components/tooltip/test/lion-tooltip.test.d.ts.map +1 -0
  1706. package/dist-types/components/validate-messages/src/loadDefaultFeedbackMessages.d.ts +3 -0
  1707. package/dist-types/components/validate-messages/src/loadDefaultFeedbackMessages.d.ts.map +1 -0
  1708. package/dist-types/components/validate-messages/test/loadDefaultFeedbackMessages.test.d.ts +2 -0
  1709. package/dist-types/components/validate-messages/test/loadDefaultFeedbackMessages.test.d.ts.map +1 -0
  1710. package/dist-types/components/validate-messages/translations/bg-BG.d.ts +49 -0
  1711. package/dist-types/components/validate-messages/translations/bg-BG.d.ts.map +1 -0
  1712. package/dist-types/components/validate-messages/translations/bg.d.ts +64 -0
  1713. package/dist-types/components/validate-messages/translations/bg.d.ts.map +1 -0
  1714. package/dist-types/components/validate-messages/translations/cs-CZ.d.ts +49 -0
  1715. package/dist-types/components/validate-messages/translations/cs-CZ.d.ts.map +1 -0
  1716. package/dist-types/components/validate-messages/translations/cs.d.ts +64 -0
  1717. package/dist-types/components/validate-messages/translations/cs.d.ts.map +1 -0
  1718. package/dist-types/components/validate-messages/translations/de-DE.d.ts +49 -0
  1719. package/dist-types/components/validate-messages/translations/de-DE.d.ts.map +1 -0
  1720. package/dist-types/components/validate-messages/translations/de.d.ts +64 -0
  1721. package/dist-types/components/validate-messages/translations/de.d.ts.map +1 -0
  1722. package/dist-types/components/validate-messages/translations/en-AU.d.ts +49 -0
  1723. package/dist-types/components/validate-messages/translations/en-AU.d.ts.map +1 -0
  1724. package/dist-types/components/validate-messages/translations/en-GB.d.ts +49 -0
  1725. package/dist-types/components/validate-messages/translations/en-GB.d.ts.map +1 -0
  1726. package/dist-types/components/validate-messages/translations/en-PH.d.ts +49 -0
  1727. package/dist-types/components/validate-messages/translations/en-PH.d.ts.map +1 -0
  1728. package/dist-types/components/validate-messages/translations/en-US.d.ts +49 -0
  1729. package/dist-types/components/validate-messages/translations/en-US.d.ts.map +1 -0
  1730. package/dist-types/components/validate-messages/translations/en.d.ts +64 -0
  1731. package/dist-types/components/validate-messages/translations/en.d.ts.map +1 -0
  1732. package/dist-types/components/validate-messages/translations/es-ES.d.ts +49 -0
  1733. package/dist-types/components/validate-messages/translations/es-ES.d.ts.map +1 -0
  1734. package/dist-types/components/validate-messages/translations/es.d.ts +64 -0
  1735. package/dist-types/components/validate-messages/translations/es.d.ts.map +1 -0
  1736. package/dist-types/components/validate-messages/translations/fr-BE.d.ts +49 -0
  1737. package/dist-types/components/validate-messages/translations/fr-BE.d.ts.map +1 -0
  1738. package/dist-types/components/validate-messages/translations/fr-FR.d.ts +49 -0
  1739. package/dist-types/components/validate-messages/translations/fr-FR.d.ts.map +1 -0
  1740. package/dist-types/components/validate-messages/translations/fr.d.ts +64 -0
  1741. package/dist-types/components/validate-messages/translations/fr.d.ts.map +1 -0
  1742. package/dist-types/components/validate-messages/translations/hu-HU.d.ts +49 -0
  1743. package/dist-types/components/validate-messages/translations/hu-HU.d.ts.map +1 -0
  1744. package/dist-types/components/validate-messages/translations/hu.d.ts +64 -0
  1745. package/dist-types/components/validate-messages/translations/hu.d.ts.map +1 -0
  1746. package/dist-types/components/validate-messages/translations/it-IT.d.ts +49 -0
  1747. package/dist-types/components/validate-messages/translations/it-IT.d.ts.map +1 -0
  1748. package/dist-types/components/validate-messages/translations/it.d.ts +64 -0
  1749. package/dist-types/components/validate-messages/translations/it.d.ts.map +1 -0
  1750. package/dist-types/components/validate-messages/translations/nl-BE.d.ts +49 -0
  1751. package/dist-types/components/validate-messages/translations/nl-BE.d.ts.map +1 -0
  1752. package/dist-types/components/validate-messages/translations/nl-NL.d.ts +49 -0
  1753. package/dist-types/components/validate-messages/translations/nl-NL.d.ts.map +1 -0
  1754. package/dist-types/components/validate-messages/translations/nl.d.ts +64 -0
  1755. package/dist-types/components/validate-messages/translations/nl.d.ts.map +1 -0
  1756. package/dist-types/components/validate-messages/translations/pl-PL.d.ts +49 -0
  1757. package/dist-types/components/validate-messages/translations/pl-PL.d.ts.map +1 -0
  1758. package/dist-types/components/validate-messages/translations/pl.d.ts +64 -0
  1759. package/dist-types/components/validate-messages/translations/pl.d.ts.map +1 -0
  1760. package/dist-types/components/validate-messages/translations/ro-RO.d.ts +49 -0
  1761. package/dist-types/components/validate-messages/translations/ro-RO.d.ts.map +1 -0
  1762. package/dist-types/components/validate-messages/translations/ro.d.ts +64 -0
  1763. package/dist-types/components/validate-messages/translations/ro.d.ts.map +1 -0
  1764. package/dist-types/components/validate-messages/translations/ru-RU.d.ts +49 -0
  1765. package/dist-types/components/validate-messages/translations/ru-RU.d.ts.map +1 -0
  1766. package/dist-types/components/validate-messages/translations/ru.d.ts +64 -0
  1767. package/dist-types/components/validate-messages/translations/ru.d.ts.map +1 -0
  1768. package/dist-types/components/validate-messages/translations/sk-SK.d.ts +49 -0
  1769. package/dist-types/components/validate-messages/translations/sk-SK.d.ts.map +1 -0
  1770. package/dist-types/components/validate-messages/translations/sk.d.ts +64 -0
  1771. package/dist-types/components/validate-messages/translations/sk.d.ts.map +1 -0
  1772. package/dist-types/components/validate-messages/translations/uk-UA.d.ts +49 -0
  1773. package/dist-types/components/validate-messages/translations/uk-UA.d.ts.map +1 -0
  1774. package/dist-types/components/validate-messages/translations/uk.d.ts +64 -0
  1775. package/dist-types/components/validate-messages/translations/uk.d.ts.map +1 -0
  1776. package/dist-types/components/validate-messages/translations/zh.d.ts +64 -0
  1777. package/dist-types/components/validate-messages/translations/zh.d.ts.map +1 -0
  1778. package/dist-types/exports/accordion.d.ts +2 -0
  1779. package/dist-types/exports/accordion.d.ts.map +1 -0
  1780. package/dist-types/exports/button.d.ts +4 -0
  1781. package/dist-types/exports/button.d.ts.map +1 -0
  1782. package/dist-types/exports/calendar-test-helpers.d.ts +4 -0
  1783. package/dist-types/exports/calendar-test-helpers.d.ts.map +1 -0
  1784. package/dist-types/exports/calendar.d.ts +3 -0
  1785. package/dist-types/exports/calendar.d.ts.map +1 -0
  1786. package/dist-types/exports/checkbox-group.d.ts +4 -0
  1787. package/dist-types/exports/checkbox-group.d.ts.map +1 -0
  1788. package/dist-types/exports/collapsible.d.ts +2 -0
  1789. package/dist-types/exports/collapsible.d.ts.map +1 -0
  1790. package/dist-types/exports/combobox.d.ts +2 -0
  1791. package/dist-types/exports/combobox.d.ts.map +1 -0
  1792. package/dist-types/exports/core.d.ts +8 -0
  1793. package/dist-types/exports/core.d.ts.map +1 -0
  1794. package/dist-types/exports/define/lion-accordion.d.ts +2 -0
  1795. package/dist-types/exports/define/lion-accordion.d.ts.map +1 -0
  1796. package/dist-types/exports/define/lion-button-reset.d.ts +2 -0
  1797. package/dist-types/exports/define/lion-button-reset.d.ts.map +1 -0
  1798. package/dist-types/exports/define/lion-button-submit.d.ts +2 -0
  1799. package/dist-types/exports/define/lion-button-submit.d.ts.map +1 -0
  1800. package/dist-types/exports/define/lion-button.d.ts +2 -0
  1801. package/dist-types/exports/define/lion-button.d.ts.map +1 -0
  1802. package/dist-types/exports/define/lion-calendar-overlay-frame.d.ts +2 -0
  1803. package/dist-types/exports/define/lion-calendar-overlay-frame.d.ts.map +1 -0
  1804. package/dist-types/exports/define/lion-calendar.d.ts +2 -0
  1805. package/dist-types/exports/define/lion-calendar.d.ts.map +1 -0
  1806. package/dist-types/exports/define/lion-checkbox-group.d.ts +2 -0
  1807. package/dist-types/exports/define/lion-checkbox-group.d.ts.map +1 -0
  1808. package/dist-types/exports/define/lion-checkbox-indeterminate.d.ts +2 -0
  1809. package/dist-types/exports/define/lion-checkbox-indeterminate.d.ts.map +1 -0
  1810. package/dist-types/exports/define/lion-checkbox.d.ts +2 -0
  1811. package/dist-types/exports/define/lion-checkbox.d.ts.map +1 -0
  1812. package/dist-types/exports/define/lion-collapsible.d.ts +2 -0
  1813. package/dist-types/exports/define/lion-collapsible.d.ts.map +1 -0
  1814. package/dist-types/exports/define/lion-combobox.d.ts +2 -0
  1815. package/dist-types/exports/define/lion-combobox.d.ts.map +1 -0
  1816. package/dist-types/exports/define/lion-dialog.d.ts +2 -0
  1817. package/dist-types/exports/define/lion-dialog.d.ts.map +1 -0
  1818. package/dist-types/exports/define/lion-field.d.ts +2 -0
  1819. package/dist-types/exports/define/lion-field.d.ts.map +1 -0
  1820. package/dist-types/exports/define/lion-fieldset.d.ts +2 -0
  1821. package/dist-types/exports/define/lion-fieldset.d.ts.map +1 -0
  1822. package/dist-types/exports/define/lion-form.d.ts +2 -0
  1823. package/dist-types/exports/define/lion-form.d.ts.map +1 -0
  1824. package/dist-types/exports/define/lion-icon.d.ts +2 -0
  1825. package/dist-types/exports/define/lion-icon.d.ts.map +1 -0
  1826. package/dist-types/exports/define/lion-input-amount.d.ts +2 -0
  1827. package/dist-types/exports/define/lion-input-amount.d.ts.map +1 -0
  1828. package/dist-types/exports/define/lion-input-date.d.ts +2 -0
  1829. package/dist-types/exports/define/lion-input-date.d.ts.map +1 -0
  1830. package/dist-types/exports/define/lion-input-datepicker.d.ts +2 -0
  1831. package/dist-types/exports/define/lion-input-datepicker.d.ts.map +1 -0
  1832. package/dist-types/exports/define/lion-input-email.d.ts +2 -0
  1833. package/dist-types/exports/define/lion-input-email.d.ts.map +1 -0
  1834. package/dist-types/exports/define/lion-input-iban.d.ts +2 -0
  1835. package/dist-types/exports/define/lion-input-iban.d.ts.map +1 -0
  1836. package/dist-types/exports/define/lion-input-range.d.ts +2 -0
  1837. package/dist-types/exports/define/lion-input-range.d.ts.map +1 -0
  1838. package/dist-types/exports/define/lion-input-stepper.d.ts +2 -0
  1839. package/dist-types/exports/define/lion-input-stepper.d.ts.map +1 -0
  1840. package/dist-types/exports/define/lion-input-tel-dropdown.d.ts +2 -0
  1841. package/dist-types/exports/define/lion-input-tel-dropdown.d.ts.map +1 -0
  1842. package/dist-types/exports/define/lion-input-tel.d.ts +2 -0
  1843. package/dist-types/exports/define/lion-input-tel.d.ts.map +1 -0
  1844. package/dist-types/exports/define/lion-input.d.ts +2 -0
  1845. package/dist-types/exports/define/lion-input.d.ts.map +1 -0
  1846. package/dist-types/exports/define/lion-listbox.d.ts +2 -0
  1847. package/dist-types/exports/define/lion-listbox.d.ts.map +1 -0
  1848. package/dist-types/exports/define/lion-option.d.ts +2 -0
  1849. package/dist-types/exports/define/lion-option.d.ts.map +1 -0
  1850. package/dist-types/exports/define/lion-options.d.ts +2 -0
  1851. package/dist-types/exports/define/lion-options.d.ts.map +1 -0
  1852. package/dist-types/exports/define/lion-pagination.d.ts +2 -0
  1853. package/dist-types/exports/define/lion-pagination.d.ts.map +1 -0
  1854. package/dist-types/exports/define/lion-progress-indicator.d.ts +2 -0
  1855. package/dist-types/exports/define/lion-progress-indicator.d.ts.map +1 -0
  1856. package/dist-types/exports/define/lion-radio-group.d.ts +2 -0
  1857. package/dist-types/exports/define/lion-radio-group.d.ts.map +1 -0
  1858. package/dist-types/exports/define/lion-radio.d.ts +2 -0
  1859. package/dist-types/exports/define/lion-radio.d.ts.map +1 -0
  1860. package/dist-types/exports/define/lion-select-invoker.d.ts +2 -0
  1861. package/dist-types/exports/define/lion-select-invoker.d.ts.map +1 -0
  1862. package/dist-types/exports/define/lion-select-rich.d.ts +2 -0
  1863. package/dist-types/exports/define/lion-select-rich.d.ts.map +1 -0
  1864. package/dist-types/exports/define/lion-select.d.ts +2 -0
  1865. package/dist-types/exports/define/lion-select.d.ts.map +1 -0
  1866. package/dist-types/exports/define/lion-step.d.ts +2 -0
  1867. package/dist-types/exports/define/lion-step.d.ts.map +1 -0
  1868. package/dist-types/exports/define/lion-steps.d.ts +2 -0
  1869. package/dist-types/exports/define/lion-steps.d.ts.map +1 -0
  1870. package/dist-types/exports/define/lion-switch-button.d.ts +2 -0
  1871. package/dist-types/exports/define/lion-switch-button.d.ts.map +1 -0
  1872. package/dist-types/exports/define/lion-switch.d.ts +2 -0
  1873. package/dist-types/exports/define/lion-switch.d.ts.map +1 -0
  1874. package/dist-types/exports/define/lion-tabs.d.ts +2 -0
  1875. package/dist-types/exports/define/lion-tabs.d.ts.map +1 -0
  1876. package/dist-types/exports/define/lion-textarea.d.ts +2 -0
  1877. package/dist-types/exports/define/lion-textarea.d.ts.map +1 -0
  1878. package/dist-types/exports/define/lion-tooltip.d.ts +2 -0
  1879. package/dist-types/exports/define/lion-tooltip.d.ts.map +1 -0
  1880. package/dist-types/exports/define/lion-validation-feedback.d.ts +2 -0
  1881. package/dist-types/exports/define/lion-validation-feedback.d.ts.map +1 -0
  1882. package/dist-types/exports/define-helpers/sb-action-logger.d.ts +2 -0
  1883. package/dist-types/exports/define-helpers/sb-action-logger.d.ts.map +1 -0
  1884. package/dist-types/exports/define-helpers/sb-locale-switcher.d.ts +2 -0
  1885. package/dist-types/exports/define-helpers/sb-locale-switcher.d.ts.map +1 -0
  1886. package/dist-types/exports/dialog.d.ts +2 -0
  1887. package/dist-types/exports/dialog.d.ts.map +1 -0
  1888. package/dist-types/exports/fieldset.d.ts +2 -0
  1889. package/dist-types/exports/fieldset.d.ts.map +1 -0
  1890. package/dist-types/exports/form-core-test-helpers.d.ts +4 -0
  1891. package/dist-types/exports/form-core-test-helpers.d.ts.map +1 -0
  1892. package/dist-types/exports/form-core-test-suites.d.ts +11 -0
  1893. package/dist-types/exports/form-core-test-suites.d.ts.map +1 -0
  1894. package/dist-types/exports/form-core.d.ts +24 -0
  1895. package/dist-types/exports/form-core.d.ts.map +1 -0
  1896. package/dist-types/exports/form-integrations.d.ts +2 -0
  1897. package/dist-types/exports/form-integrations.d.ts.map +1 -0
  1898. package/dist-types/exports/form.d.ts +2 -0
  1899. package/dist-types/exports/form.d.ts.map +1 -0
  1900. package/dist-types/exports/helpers.d.ts +5 -0
  1901. package/dist-types/exports/helpers.d.ts.map +1 -0
  1902. package/dist-types/exports/icon.d.ts +4 -0
  1903. package/dist-types/exports/icon.d.ts.map +1 -0
  1904. package/dist-types/exports/input-amount.d.ts +5 -0
  1905. package/dist-types/exports/input-amount.d.ts.map +1 -0
  1906. package/dist-types/exports/input-date.d.ts +2 -0
  1907. package/dist-types/exports/input-date.d.ts.map +1 -0
  1908. package/dist-types/exports/input-datepicker-test-helpers.d.ts +2 -0
  1909. package/dist-types/exports/input-datepicker-test-helpers.d.ts.map +1 -0
  1910. package/dist-types/exports/input-datepicker.d.ts +3 -0
  1911. package/dist-types/exports/input-datepicker.d.ts.map +1 -0
  1912. package/dist-types/exports/input-email.d.ts +2 -0
  1913. package/dist-types/exports/input-email.d.ts.map +1 -0
  1914. package/dist-types/exports/input-iban.d.ts +5 -0
  1915. package/dist-types/exports/input-iban.d.ts.map +1 -0
  1916. package/dist-types/exports/input-range.d.ts +2 -0
  1917. package/dist-types/exports/input-range.d.ts.map +1 -0
  1918. package/dist-types/exports/input-stepper.d.ts +2 -0
  1919. package/dist-types/exports/input-stepper.d.ts.map +1 -0
  1920. package/dist-types/exports/input-tel-dropdown-test-suites.d.ts +2 -0
  1921. package/dist-types/exports/input-tel-dropdown-test-suites.d.ts.map +1 -0
  1922. package/dist-types/exports/input-tel-dropdown.d.ts +3 -0
  1923. package/dist-types/exports/input-tel-dropdown.d.ts.map +1 -0
  1924. package/dist-types/exports/input-tel-test-helpers.d.ts +2 -0
  1925. package/dist-types/exports/input-tel-test-helpers.d.ts.map +1 -0
  1926. package/dist-types/exports/input-tel-test-suites.d.ts +2 -0
  1927. package/dist-types/exports/input-tel-test-suites.d.ts.map +1 -0
  1928. package/dist-types/exports/input-tel.d.ts +6 -0
  1929. package/dist-types/exports/input-tel.d.ts.map +1 -0
  1930. package/dist-types/exports/input-test-helpers.d.ts +2 -0
  1931. package/dist-types/exports/input-test-helpers.d.ts.map +1 -0
  1932. package/dist-types/exports/input.d.ts +2 -0
  1933. package/dist-types/exports/input.d.ts.map +1 -0
  1934. package/dist-types/exports/listbox-test-helpers.d.ts +2 -0
  1935. package/dist-types/exports/listbox-test-helpers.d.ts.map +1 -0
  1936. package/dist-types/exports/listbox-test-suites.d.ts +2 -0
  1937. package/dist-types/exports/listbox-test-suites.d.ts.map +1 -0
  1938. package/dist-types/exports/listbox.d.ts +5 -0
  1939. package/dist-types/exports/listbox.d.ts.map +1 -0
  1940. package/dist-types/exports/localize-test-helpers.d.ts +3 -0
  1941. package/dist-types/exports/localize-test-helpers.d.ts.map +1 -0
  1942. package/dist-types/exports/localize.d.ts +20 -0
  1943. package/dist-types/exports/localize.d.ts.map +1 -0
  1944. package/dist-types/exports/overlays-test-helpers.d.ts +2 -0
  1945. package/dist-types/exports/overlays-test-helpers.d.ts.map +1 -0
  1946. package/dist-types/exports/overlays-test-suites.d.ts +2 -0
  1947. package/dist-types/exports/overlays-test-suites.d.ts.map +1 -0
  1948. package/dist-types/exports/overlays.d.ts +15 -0
  1949. package/dist-types/exports/overlays.d.ts.map +1 -0
  1950. package/dist-types/exports/pagination.d.ts +2 -0
  1951. package/dist-types/exports/pagination.d.ts.map +1 -0
  1952. package/dist-types/exports/progress-indicator.d.ts +2 -0
  1953. package/dist-types/exports/progress-indicator.d.ts.map +1 -0
  1954. package/dist-types/exports/radio-group.d.ts +3 -0
  1955. package/dist-types/exports/radio-group.d.ts.map +1 -0
  1956. package/dist-types/exports/select-rich.d.ts +3 -0
  1957. package/dist-types/exports/select-rich.d.ts.map +1 -0
  1958. package/dist-types/exports/select.d.ts +2 -0
  1959. package/dist-types/exports/select.d.ts.map +1 -0
  1960. package/dist-types/exports/steps.d.ts +3 -0
  1961. package/dist-types/exports/steps.d.ts.map +1 -0
  1962. package/dist-types/exports/switch.d.ts +3 -0
  1963. package/dist-types/exports/switch.d.ts.map +1 -0
  1964. package/dist-types/exports/tabs.d.ts +2 -0
  1965. package/dist-types/exports/tabs.d.ts.map +1 -0
  1966. package/dist-types/exports/textarea.d.ts +2 -0
  1967. package/dist-types/exports/textarea.d.ts.map +1 -0
  1968. package/dist-types/exports/tooltip.d.ts +2 -0
  1969. package/dist-types/exports/tooltip.d.ts.map +1 -0
  1970. package/dist-types/exports/validate-messages.d.ts +2 -0
  1971. package/dist-types/exports/validate-messages.d.ts.map +1 -0
  1972. package/dist-types/tsconfig.tsbuildinfo +1 -0
  1973. package/exports/accordion.js +1 -0
  1974. package/exports/button.js +3 -0
  1975. package/exports/calendar-test-helpers.js +3 -0
  1976. package/exports/calendar.js +2 -0
  1977. package/exports/checkbox-group.js +3 -0
  1978. package/exports/collapsible.js +1 -0
  1979. package/exports/combobox.js +1 -0
  1980. package/exports/core.js +7 -0
  1981. package/exports/define/lion-accordion.js +3 -0
  1982. package/exports/define/lion-button-reset.js +3 -0
  1983. package/exports/define/lion-button-submit.js +3 -0
  1984. package/exports/define/lion-button.js +3 -0
  1985. package/exports/define/lion-calendar-overlay-frame.js +3 -0
  1986. package/exports/define/lion-calendar.js +3 -0
  1987. package/exports/define/lion-checkbox-group.js +3 -0
  1988. package/exports/define/lion-checkbox-indeterminate.js +3 -0
  1989. package/exports/define/lion-checkbox.js +3 -0
  1990. package/exports/define/lion-collapsible.js +3 -0
  1991. package/exports/define/lion-combobox.js +3 -0
  1992. package/exports/define/lion-dialog.js +3 -0
  1993. package/exports/define/lion-field.js +3 -0
  1994. package/exports/define/lion-fieldset.js +3 -0
  1995. package/exports/define/lion-form.js +3 -0
  1996. package/exports/define/lion-icon.js +3 -0
  1997. package/exports/define/lion-input-amount.js +3 -0
  1998. package/exports/define/lion-input-date.js +3 -0
  1999. package/exports/define/lion-input-datepicker.js +3 -0
  2000. package/exports/define/lion-input-email.js +3 -0
  2001. package/exports/define/lion-input-iban.js +3 -0
  2002. package/exports/define/lion-input-range.js +3 -0
  2003. package/exports/define/lion-input-stepper.js +3 -0
  2004. package/exports/define/lion-input-tel-dropdown.js +3 -0
  2005. package/exports/define/lion-input-tel.js +3 -0
  2006. package/exports/define/lion-input.js +3 -0
  2007. package/exports/define/lion-listbox.js +3 -0
  2008. package/exports/define/lion-option.js +3 -0
  2009. package/exports/define/lion-options.js +3 -0
  2010. package/exports/define/lion-pagination.js +3 -0
  2011. package/exports/define/lion-progress-indicator.js +3 -0
  2012. package/exports/define/lion-radio-group.js +3 -0
  2013. package/exports/define/lion-radio.js +3 -0
  2014. package/exports/define/lion-select-invoker.js +3 -0
  2015. package/exports/define/lion-select-rich.js +3 -0
  2016. package/exports/define/lion-select.js +3 -0
  2017. package/exports/define/lion-step.js +3 -0
  2018. package/exports/define/lion-steps.js +3 -0
  2019. package/exports/define/lion-switch-button.js +3 -0
  2020. package/exports/define/lion-switch.js +3 -0
  2021. package/exports/define/lion-tabs.js +3 -0
  2022. package/exports/define/lion-textarea.js +3 -0
  2023. package/exports/define/lion-tooltip.js +3 -0
  2024. package/exports/define/lion-validation-feedback.js +3 -0
  2025. package/exports/define-helpers/sb-action-logger.js +3 -0
  2026. package/exports/define-helpers/sb-locale-switcher.js +3 -0
  2027. package/exports/dialog.js +1 -0
  2028. package/exports/fieldset.js +1 -0
  2029. package/exports/form-core-test-helpers.js +3 -0
  2030. package/exports/form-core-test-suites.js +10 -0
  2031. package/exports/form-core.js +53 -0
  2032. package/exports/form-integrations.js +1 -0
  2033. package/exports/form.js +1 -0
  2034. package/exports/helpers.js +7 -0
  2035. package/exports/icon.js +3 -0
  2036. package/exports/input-amount.js +4 -0
  2037. package/exports/input-date.js +1 -0
  2038. package/exports/input-datepicker-test-helpers.js +1 -0
  2039. package/exports/input-datepicker.js +2 -0
  2040. package/exports/input-email.js +1 -0
  2041. package/exports/input-iban.js +8 -0
  2042. package/exports/input-range.js +1 -0
  2043. package/exports/input-stepper.js +1 -0
  2044. package/exports/input-tel-dropdown-test-suites.js +1 -0
  2045. package/exports/input-tel-dropdown.js +2 -0
  2046. package/exports/input-tel-test-helpers.js +4 -0
  2047. package/exports/input-tel-test-suites.js +1 -0
  2048. package/exports/input-tel.js +5 -0
  2049. package/exports/input-test-helpers.js +1 -0
  2050. package/exports/input.js +1 -0
  2051. package/exports/listbox-test-helpers.js +1 -0
  2052. package/exports/listbox-test-suites.js +1 -0
  2053. package/exports/listbox.js +4 -0
  2054. package/exports/localize-test-helpers.js +7 -0
  2055. package/exports/localize.js +21 -0
  2056. package/exports/overlays-test-helpers.js +1 -0
  2057. package/exports/overlays-test-suites.js +1 -0
  2058. package/exports/overlays.js +21 -0
  2059. package/exports/pagination.js +1 -0
  2060. package/exports/progress-indicator.js +1 -0
  2061. package/exports/radio-group.js +2 -0
  2062. package/exports/select-rich.js +2 -0
  2063. package/exports/select.js +1 -0
  2064. package/exports/steps.js +2 -0
  2065. package/exports/switch.js +2 -0
  2066. package/exports/tabs.js +1 -0
  2067. package/exports/textarea.js +1 -0
  2068. package/exports/tooltip.js +1 -0
  2069. package/exports/validate-messages.js +1 -0
  2070. package/package.json +80 -0
@@ -0,0 +1,2423 @@
1
+ import '@lion/ui/define/lion-combobox.js';
2
+ import { LitElement } from 'lit';
3
+ import { browserDetection } from '@lion/ui/core.js';
4
+ import { Required } from '@lion/ui/form-core.js';
5
+ import '@lion/ui/define/lion-listbox.js';
6
+ import '@lion/ui/define/lion-option.js';
7
+ import { getListboxMembers } from '@lion/ui/listbox-test-helpers.js';
8
+ import { defineCE, expect, fixture, html, unsafeStatic } from '@open-wc/testing';
9
+ import sinon from 'sinon';
10
+ import { LionCombobox } from '@lion/ui/combobox.js';
11
+
12
+ /**
13
+ * @typedef {import('../types/SelectionDisplay.js').SelectionDisplay} SelectionDisplay
14
+ * @typedef {import('../../listbox/types/ListboxMixinTypes.js').ListboxHost} ListboxHost
15
+ * @typedef {import('../../form-core/types/FormControlMixinTypes.js').FormControlHost} FormControlHost
16
+ */
17
+
18
+ /**
19
+ * @param { LionCombobox } el
20
+ */
21
+ function getComboboxMembers(el) {
22
+ const obj = getListboxMembers(el);
23
+ return {
24
+ ...obj,
25
+ ...{
26
+ // @ts-ignore [allow-protected] in test
27
+ _invokerNode: el._invokerNode,
28
+ // @ts-ignore [allow-protected] in test
29
+ _overlayCtrl: el._overlayCtrl,
30
+ // @ts-ignore [allow-protected] in test
31
+ _comboboxNode: el._comboboxNode,
32
+ // @ts-ignore [allow-protected] in test
33
+ _inputNode: el._inputNode,
34
+ // @ts-ignore [allow-protected] in test
35
+ _listboxNode: el._listboxNode,
36
+ // @ts-ignore [allow-protected] in test
37
+ _selectionDisplayNode: el._selectionDisplayNode,
38
+ // @ts-ignore [allow-protected] in test
39
+ _activeDescendantOwnerNode: el._activeDescendantOwnerNode,
40
+ // @ts-ignore [allow-protected] in test
41
+ _ariaVersion: el._ariaVersion,
42
+ },
43
+ };
44
+ }
45
+
46
+ /**
47
+ * @param {LionCombobox} el
48
+ * @param {string} value
49
+ */
50
+ // TODO: add keys that actually make sense...
51
+ function mimicUserTyping(el, value) {
52
+ const { _inputNode } = getComboboxMembers(el);
53
+ _inputNode.dispatchEvent(new Event('focusin', { bubbles: true }));
54
+ // eslint-disable-next-line no-param-reassign
55
+ _inputNode.value = value;
56
+ _inputNode.dispatchEvent(new Event('input', { bubbles: true, composed: true }));
57
+ _inputNode.dispatchEvent(new KeyboardEvent('keyup', { key: value }));
58
+ _inputNode.dispatchEvent(new KeyboardEvent('keydown', { key: value }));
59
+ }
60
+
61
+ /**
62
+ * @param {HTMLElement} el
63
+ * @param {string} key
64
+ */
65
+ function mimicKeyPress(el, key) {
66
+ el.dispatchEvent(new KeyboardEvent('keydown', { key }));
67
+ el.dispatchEvent(new KeyboardEvent('keyup', { key }));
68
+ }
69
+
70
+ /**
71
+ * @param {LionCombobox} el
72
+ * @param {string[]} values
73
+ */
74
+ async function mimicUserTypingAdvanced(el, values) {
75
+ const { _inputNode } = getComboboxMembers(el);
76
+ _inputNode.dispatchEvent(new Event('focusin', { bubbles: true }));
77
+
78
+ for (const key of values) {
79
+ // eslint-disable-next-line no-await-in-loop, no-loop-func
80
+ await new Promise(resolve => {
81
+ const hasSelection = _inputNode.selectionStart !== _inputNode.selectionEnd;
82
+
83
+ if (key === 'Backspace') {
84
+ if (hasSelection) {
85
+ _inputNode.value =
86
+ _inputNode.value.slice(
87
+ 0,
88
+ _inputNode.selectionStart ? _inputNode.selectionStart : undefined,
89
+ ) +
90
+ _inputNode.value.slice(
91
+ _inputNode.selectionEnd ? _inputNode.selectionEnd : undefined,
92
+ _inputNode.value.length,
93
+ );
94
+ } else {
95
+ _inputNode.value = _inputNode.value.slice(0, -1);
96
+ }
97
+ } else if (hasSelection) {
98
+ _inputNode.value =
99
+ _inputNode.value.slice(
100
+ 0,
101
+ _inputNode.selectionStart ? _inputNode.selectionStart : undefined,
102
+ ) +
103
+ key +
104
+ _inputNode.value.slice(
105
+ _inputNode.selectionEnd ? _inputNode.selectionEnd : undefined,
106
+ _inputNode.value.length,
107
+ );
108
+ } else {
109
+ _inputNode.value += key;
110
+ }
111
+
112
+ mimicKeyPress(_inputNode, key);
113
+ _inputNode.dispatchEvent(new Event('input', { bubbles: true, composed: true }));
114
+
115
+ el.updateComplete.then(() => {
116
+ // @ts-ignore
117
+ resolve();
118
+ });
119
+ });
120
+ }
121
+ }
122
+
123
+ /**
124
+ * @param {LionCombobox} el
125
+ */
126
+ function getFilteredOptionValues(el) {
127
+ const options = el.formElements;
128
+ /**
129
+ * @param {{ style: { display: string; }; }} option
130
+ */
131
+ const filtered = options.filter(option => option.getAttribute('aria-hidden') !== 'true');
132
+ /**
133
+ * @param {{ value: any; }} option
134
+ */
135
+ return filtered.map(option => option.value);
136
+ }
137
+
138
+ /**
139
+ * @param {{ autocomplete?:'none'|'list'|'both', matchMode?:'begin'|'all' }} config
140
+ */
141
+ async function fruitFixture({ autocomplete, matchMode } = {}) {
142
+ const el = /** @type {LionCombobox} */ (
143
+ await fixture(html`
144
+ <lion-combobox name="foo">
145
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
146
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
147
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
148
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
149
+ </lion-combobox>
150
+ `)
151
+ );
152
+ if (autocomplete) {
153
+ el.autocomplete = autocomplete;
154
+ }
155
+ if (matchMode) {
156
+ el.matchMode = matchMode;
157
+ }
158
+ await el.updateComplete;
159
+ return [el, el.formElements];
160
+ }
161
+
162
+ describe('lion-combobox', () => {
163
+ describe('Options visibility', () => {
164
+ it('hides options when text in input node is cleared after typing something by default', async () => {
165
+ const el = /** @type {LionCombobox} */ (
166
+ await fixture(html`
167
+ <lion-combobox name="foo">
168
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
169
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
170
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
171
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
172
+ </lion-combobox>
173
+ `)
174
+ );
175
+
176
+ const options = el.formElements;
177
+ const visibleOptions = () => options.filter(o => o.getAttribute('aria-hidden') !== 'true');
178
+
179
+ async function performChecks() {
180
+ mimicUserTyping(el, 'c');
181
+ await el.updateComplete;
182
+ expect(visibleOptions().length).to.equal(4);
183
+ mimicUserTyping(el, '');
184
+ await el.updateComplete;
185
+ expect(visibleOptions().length).to.equal(0);
186
+ }
187
+
188
+ el.autocomplete = 'none';
189
+ await performChecks();
190
+ el.autocomplete = 'list';
191
+ await performChecks();
192
+ el.autocomplete = 'inline';
193
+ await performChecks();
194
+ el.autocomplete = 'both';
195
+ await performChecks();
196
+ });
197
+
198
+ it('hides listbox on click/enter (when multiple-choice is false)', async () => {
199
+ const el = /** @type {LionCombobox} */ (
200
+ await fixture(html`
201
+ <lion-combobox name="foo">
202
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
203
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
204
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
205
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
206
+ </lion-combobox>
207
+ `)
208
+ );
209
+
210
+ const { _comboboxNode, _listboxNode } = getComboboxMembers(el);
211
+
212
+ async function open() {
213
+ // activate opened listbox
214
+ _comboboxNode.dispatchEvent(new Event('focusin', { bubbles: true, composed: true }));
215
+ mimicUserTyping(el, 'ch');
216
+ return el.updateComplete;
217
+ }
218
+
219
+ await open();
220
+ expect(el.opened).to.be.true;
221
+ const visibleOptions = el.formElements.filter(o => o.style.display !== 'none');
222
+ visibleOptions[0].click();
223
+ expect(el.opened).to.be.false;
224
+ await open();
225
+ expect(el.opened).to.be.true;
226
+ el.activeIndex = el.formElements.indexOf(visibleOptions[0]);
227
+ mimicKeyPress(_listboxNode, 'Enter');
228
+ await el.updateComplete;
229
+ expect(el.opened).to.be.false;
230
+ });
231
+
232
+ describe('With ".showAllOnEmpty"', () => {
233
+ it('keeps showing options when text in input node is cleared after typing something', async () => {
234
+ const el = /** @type {LionCombobox} */ (
235
+ await fixture(html`
236
+ <lion-combobox name="foo" autocomplete="list" show-all-on-empty>
237
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
238
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
239
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
240
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
241
+ </lion-combobox>
242
+ `)
243
+ );
244
+
245
+ const options = el.formElements;
246
+ const visibleOptions = () => options.filter(o => o.getAttribute('aria-hidden') !== 'true');
247
+
248
+ async function performChecks() {
249
+ mimicUserTyping(el, 'c');
250
+ await el.updateComplete;
251
+ expect(visibleOptions().length).to.equal(4);
252
+ mimicUserTyping(el, '');
253
+ await el.updateComplete;
254
+ expect(visibleOptions().length).to.equal(options.length);
255
+ }
256
+
257
+ el.autocomplete = 'none';
258
+ await performChecks();
259
+ el.autocomplete = 'list';
260
+ await performChecks();
261
+ el.autocomplete = 'inline';
262
+ await performChecks();
263
+ el.autocomplete = 'both';
264
+ await performChecks();
265
+ });
266
+
267
+ it('shows overlay on focusin', async () => {
268
+ const el = /** @type {LionCombobox} */ (
269
+ await fixture(html`
270
+ <lion-combobox name="foo" .showAllOnEmpty="${true}">
271
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
272
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
273
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
274
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
275
+ </lion-combobox>
276
+ `)
277
+ );
278
+ const { _comboboxNode } = getComboboxMembers(el);
279
+
280
+ expect(el.opened).to.be.false;
281
+ _comboboxNode.dispatchEvent(new Event('focusin', { bubbles: true, composed: true }));
282
+ await el.updateComplete;
283
+ expect(el.opened).to.be.true;
284
+ });
285
+
286
+ it('hides overlay on focusin after [Escape]', async () => {
287
+ const el = /** @type {LionCombobox} */ (
288
+ await fixture(html`
289
+ <lion-combobox name="foo" .showAllOnEmpty="${true}">
290
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
291
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
292
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
293
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
294
+ </lion-combobox>
295
+ `)
296
+ );
297
+ const { _comboboxNode, _inputNode } = getComboboxMembers(el);
298
+
299
+ expect(el.opened).to.be.false;
300
+ _comboboxNode.dispatchEvent(new Event('focusin', { bubbles: true, composed: true }));
301
+ await el.updateComplete;
302
+ expect(el.opened).to.be.true;
303
+ _inputNode.dispatchEvent(new KeyboardEvent('keyup', { key: 'Escape' }));
304
+ await el.updateComplete;
305
+ expect(el.opened).to.be.false;
306
+ });
307
+
308
+ it('hides listbox on click/enter (when multiple-choice is false)', async () => {
309
+ const el = /** @type {LionCombobox} */ (
310
+ await fixture(html`
311
+ <lion-combobox name="foo" .showAllOnEmpty="${true}">
312
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
313
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
314
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
315
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
316
+ </lion-combobox>
317
+ `)
318
+ );
319
+
320
+ const { _comboboxNode, _listboxNode, _inputNode } = getComboboxMembers(el);
321
+
322
+ async function open() {
323
+ // activate opened listbox
324
+ _comboboxNode.dispatchEvent(new Event('focusin', { bubbles: true, composed: true }));
325
+ mimicUserTyping(el, 'ch');
326
+ return el.updateComplete;
327
+ }
328
+
329
+ // FIXME: temp disable for Safari. Works locally, not in build
330
+ const isSafari = (() => {
331
+ const ua = navigator.userAgent.toLowerCase();
332
+ return ua.indexOf('safari') !== -1 && ua.indexOf('chrome') === -1;
333
+ })();
334
+ if (isSafari) {
335
+ return;
336
+ }
337
+
338
+ await open();
339
+ expect(el.opened).to.be.true;
340
+ const visibleOptions = el.formElements.filter(o => o.style.display !== 'none');
341
+ visibleOptions[0].click();
342
+ await el.updateComplete;
343
+ expect(el.opened).to.be.false;
344
+
345
+ _inputNode.value = '';
346
+ _inputNode.blur();
347
+ await open();
348
+ await el.updateComplete;
349
+
350
+ el.activeIndex = el.formElements.indexOf(visibleOptions[0]);
351
+ mimicKeyPress(_listboxNode, 'Enter');
352
+ expect(el.opened).to.be.false;
353
+ });
354
+ });
355
+ });
356
+
357
+ describe('Structure', () => {
358
+ it('has a listbox node', async () => {
359
+ const el = /** @type {LionCombobox} */ (
360
+ await fixture(html`
361
+ <lion-combobox name="foo">
362
+ <lion-option .choiceValue="${'10'}" checked>Item 1</lion-option>
363
+ <lion-option .choiceValue="${'20'}">Item 2</lion-option>
364
+ </lion-combobox>
365
+ `)
366
+ );
367
+ const { _listboxNode } = getComboboxMembers(el);
368
+
369
+ expect(_listboxNode).to.exist;
370
+ // TODO: worked before, find out what has changed in ScopedElements
371
+ // expect(_listboxNode instanceof LionOptions).to.be.true;
372
+ expect(el.querySelector('[role=listbox]')).to.equal(_listboxNode);
373
+ });
374
+
375
+ it('has a textbox element', async () => {
376
+ const el = /** @type {LionCombobox} */ (
377
+ await fixture(html`
378
+ <lion-combobox name="foo">
379
+ <lion-option .choiceValue="${'10'}" checked>Item 1</lion-option>
380
+ <lion-option .choiceValue="${'20'}">Item 2</lion-option>
381
+ </lion-combobox>
382
+ `)
383
+ );
384
+ const { _comboboxNode } = getComboboxMembers(el);
385
+
386
+ expect(_comboboxNode).to.exist;
387
+ expect(el.querySelector('[role=combobox]')).to.equal(_comboboxNode);
388
+ });
389
+ });
390
+
391
+ describe('Values', () => {
392
+ it('syncs modelValue with textbox', async () => {
393
+ const el = /** @type {LionCombobox} */ (
394
+ await fixture(html`
395
+ <lion-combobox name="foo" .modelValue="${'10'}">
396
+ <lion-option .choiceValue="${'10'}" checked>Item 1</lion-option>
397
+ <lion-option .choiceValue="${'20'}">Item 2</lion-option>
398
+ </lion-combobox>
399
+ `)
400
+ );
401
+ const { _inputNode } = getComboboxMembers(el);
402
+
403
+ expect(_inputNode.value).to.equal('10');
404
+
405
+ el.modelValue = '20';
406
+ await el.updateComplete;
407
+ expect(_inputNode.value).to.equal('20');
408
+ });
409
+
410
+ it('sets modelValue to empty string if no option is selected', async () => {
411
+ const el = /** @type {LionCombobox} */ (
412
+ await fixture(html`
413
+ <lion-combobox name="foo" .modelValue="${'Artichoke'}">
414
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
415
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
416
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
417
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
418
+ </lion-combobox>
419
+ `)
420
+ );
421
+
422
+ expect(el.modelValue).to.equal('Artichoke');
423
+ expect(el.formElements[0].checked).to.be.true;
424
+ el.checkedIndex = -1;
425
+ await el.updateComplete;
426
+ expect(el.modelValue).to.equal('');
427
+ expect(el.formElements[0].checked).to.be.false;
428
+ });
429
+
430
+ it('sets modelValue to empty array if no option is selected for multiple choice', async () => {
431
+ const el = /** @type {LionCombobox} */ (
432
+ await fixture(html`
433
+ <lion-combobox name="foo" multiple-choice .modelValue="${['Artichoke']}">
434
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
435
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
436
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
437
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
438
+ </lion-combobox>
439
+ `)
440
+ );
441
+
442
+ expect(el.modelValue).to.eql(['Artichoke']);
443
+ expect(el.formElements[0].checked).to.be.true;
444
+ el.checkedIndex = [];
445
+ await el.updateComplete;
446
+ expect(el.modelValue).to.eql([]);
447
+ expect(el.formElements[0].checked).to.be.false;
448
+ });
449
+
450
+ it('clears modelValue and textbox value on clear()', async () => {
451
+ const el = /** @type {LionCombobox} */ (
452
+ await fixture(html`
453
+ <lion-combobox name="foo" .modelValue="${'Artichoke'}">
454
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
455
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
456
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
457
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
458
+ </lion-combobox>
459
+ `)
460
+ );
461
+
462
+ const { _inputNode } = getComboboxMembers(el);
463
+
464
+ el.clear();
465
+ expect(el.modelValue).to.equal('');
466
+ expect(_inputNode.value).to.equal('');
467
+
468
+ const el2 = /** @type {LionCombobox} */ (
469
+ await fixture(html`
470
+ <lion-combobox name="foo" multiple-choice .modelValue="${['Artichoke']}">
471
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
472
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
473
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
474
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
475
+ </lion-combobox>
476
+ `)
477
+ );
478
+
479
+ el2.clear();
480
+ expect(el2.modelValue).to.eql([]);
481
+ expect(_inputNode.value).to.equal('');
482
+ });
483
+
484
+ it('syncs textbox to modelValue', async () => {
485
+ const el = /** @type {LionCombobox} */ (
486
+ await fixture(html`
487
+ <lion-combobox name="foo" show-all-on-empty>
488
+ <lion-option .choiceValue="${'Aha'}" checked>Aha</lion-option>
489
+ <lion-option .choiceValue="${'Bhb'}">Bhb</lion-option>
490
+ </lion-combobox>
491
+ `)
492
+ );
493
+ const { _inputNode } = getComboboxMembers(el);
494
+
495
+ async function performChecks() {
496
+ el.formElements[0].click();
497
+ await el.updateComplete;
498
+
499
+ // FIXME: fix properly for Webkit
500
+ // expect(_inputNode.value).to.equal('Aha');
501
+ expect(el.checkedIndex).to.equal(0);
502
+
503
+ mimicUserTyping(el, 'Ah');
504
+ await el.updateComplete;
505
+ expect(_inputNode.value).to.equal('Ah');
506
+
507
+ await el.updateComplete;
508
+ expect(el.checkedIndex).to.equal(-1);
509
+ }
510
+
511
+ el.autocomplete = 'none';
512
+ await performChecks();
513
+
514
+ el.autocomplete = 'list';
515
+ await performChecks();
516
+ });
517
+ });
518
+
519
+ describe('Overlay visibility', () => {
520
+ it('does not show overlay on focusin', async () => {
521
+ const el = /** @type {LionCombobox} */ (
522
+ await fixture(html`
523
+ <lion-combobox name="foo" multiple-choice>
524
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
525
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
526
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
527
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
528
+ </lion-combobox>
529
+ `)
530
+ );
531
+ const { _comboboxNode } = getComboboxMembers(el);
532
+
533
+ expect(el.opened).to.equal(false);
534
+ _comboboxNode.dispatchEvent(new Event('focusin', { bubbles: true, composed: true }));
535
+ await el.updateComplete;
536
+ expect(el.opened).to.equal(false);
537
+ });
538
+
539
+ it('shows overlay again after select and char keyup', async () => {
540
+ /**
541
+ * Scenario:
542
+ * [1] user focuses textbox: overlay hidden
543
+ * [2] user types char: overlay shows
544
+ * [3] user selects "Artichoke": overlay closes, textbox gets value "Artichoke" and textbox
545
+ * still has focus
546
+ * [4] user changes textbox value to "Artichoke": the overlay should show again
547
+ */
548
+ const el = /** @type {LionCombobox} */ (
549
+ await fixture(html`
550
+ <lion-combobox name="foo">
551
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
552
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
553
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
554
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
555
+ </lion-combobox>
556
+ `)
557
+ );
558
+ const options = el.formElements;
559
+ const { _inputNode } = getComboboxMembers(el);
560
+
561
+ expect(el.opened).to.equal(false);
562
+
563
+ // step [1]
564
+ _inputNode.dispatchEvent(new Event('focusin', { bubbles: true, composed: true }));
565
+ await el.updateComplete;
566
+ expect(el.opened).to.equal(false);
567
+
568
+ // step [2]
569
+ mimicUserTyping(el, 'c');
570
+ await el.updateComplete;
571
+ expect(el.opened).to.equal(true);
572
+
573
+ // step [3]
574
+ options[0].click();
575
+ await el.updateComplete;
576
+ expect(el.opened).to.equal(false);
577
+ expect(document.activeElement).to.equal(_inputNode);
578
+
579
+ // step [4]
580
+ await el.updateComplete;
581
+ mimicUserTyping(el, 'c');
582
+ await el.updateComplete;
583
+ expect(el.opened).to.equal(true);
584
+ });
585
+
586
+ it('hides (and clears) overlay on [Escape]', async () => {
587
+ const el = /** @type {LionCombobox} */ (
588
+ await fixture(html`
589
+ <lion-combobox name="foo">
590
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
591
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
592
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
593
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
594
+ </lion-combobox>
595
+ `)
596
+ );
597
+
598
+ const { _comboboxNode, _inputNode } = getComboboxMembers(el);
599
+
600
+ // open
601
+ _comboboxNode.dispatchEvent(new Event('focusin', { bubbles: true, composed: true }));
602
+
603
+ mimicUserTyping(el, 'art');
604
+ await el.updateComplete;
605
+ expect(el.opened).to.equal(true);
606
+ expect(_inputNode.value).to.equal('Artichoke');
607
+
608
+ _inputNode.dispatchEvent(new KeyboardEvent('keydown', { key: 'Escape' }));
609
+ expect(el.opened).to.equal(false);
610
+ expect(_inputNode.value).to.equal('');
611
+ });
612
+
613
+ it('hides overlay on [Tab]', async () => {
614
+ const el = /** @type {LionCombobox} */ (
615
+ await fixture(html`
616
+ <lion-combobox name="foo">
617
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
618
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
619
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
620
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
621
+ </lion-combobox>
622
+ `)
623
+ );
624
+
625
+ const { _comboboxNode, _inputNode } = getComboboxMembers(el);
626
+
627
+ // open
628
+ _comboboxNode.dispatchEvent(new Event('focusin', { bubbles: true, composed: true }));
629
+
630
+ mimicUserTyping(el, 'art');
631
+ await el.updateComplete;
632
+ expect(el.opened).to.equal(true);
633
+ expect(_inputNode.value).to.equal('Artichoke');
634
+
635
+ // N.B. we do only trigger keydown here (and not mimicKeypress (both keyup and down)),
636
+ // because this closely mimics what happens in the browser
637
+ _inputNode.dispatchEvent(new KeyboardEvent('keydown', { key: 'Tab' }));
638
+ expect(el.opened).to.equal(false);
639
+ expect(_inputNode.value).to.equal('Artichoke');
640
+ });
641
+
642
+ it('clears checkedIndex on empty text', async () => {
643
+ const el = /** @type {LionCombobox} */ (
644
+ await fixture(html`
645
+ <lion-combobox name="foo">
646
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
647
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
648
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
649
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
650
+ </lion-combobox>
651
+ `)
652
+ );
653
+
654
+ const { _comboboxNode, _inputNode } = getComboboxMembers(el);
655
+
656
+ // open
657
+ _comboboxNode.dispatchEvent(new Event('focusin', { bubbles: true, composed: true }));
658
+
659
+ mimicUserTyping(el, 'art');
660
+ await el.updateComplete;
661
+ expect(el.opened).to.equal(true);
662
+ expect(_inputNode.value).to.equal('Artichoke');
663
+ expect(el.checkedIndex).to.equal(0);
664
+
665
+ mimicUserTyping(el, '');
666
+ await el.updateComplete;
667
+ el.opened = false;
668
+ await el.updateComplete;
669
+ expect(el.checkedIndex).to.equal(-1);
670
+ });
671
+
672
+ // NB: If this becomes a suite, move to separate file
673
+ describe('Subclassers', () => {
674
+ it('allows to control overlay visibility via "_showOverlayCondition"', async () => {
675
+ class ShowOverlayConditionCombobox extends LionCombobox {
676
+ /** @param {{ currentValue: string, lastKey:string }} options */
677
+ _showOverlayCondition(options) {
678
+ return this.focused || super._showOverlayCondition(options);
679
+ }
680
+ }
681
+ const tagName = defineCE(ShowOverlayConditionCombobox);
682
+ const tag = unsafeStatic(tagName);
683
+
684
+ const el = /** @type {LionCombobox} */ (
685
+ await fixture(html`
686
+ <${tag} name="foo" multiple-choice>
687
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
688
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
689
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
690
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
691
+ </${tag}>
692
+ `)
693
+ );
694
+ const { _comboboxNode } = getComboboxMembers(el);
695
+
696
+ expect(el.opened).to.equal(false);
697
+ _comboboxNode.dispatchEvent(new Event('focusin', { bubbles: true, composed: true }));
698
+ await el.updateComplete;
699
+ expect(el.opened).to.equal(true);
700
+ });
701
+
702
+ it('allows to control overlay visibility via "_showOverlayCondition": should not display overlay if currentValue length condition is not fulfilled', async () => {
703
+ class ShowOverlayConditionCombobox extends LionCombobox {
704
+ /** @param {{ currentValue: string, lastKey:string }} options */
705
+ _showOverlayCondition(options) {
706
+ return options.currentValue.length > 3 && super._showOverlayCondition(options);
707
+ }
708
+ }
709
+ const tagName = defineCE(ShowOverlayConditionCombobox);
710
+ const tag = unsafeStatic(tagName);
711
+
712
+ const el = /** @type {LionCombobox} */ (
713
+ await fixture(html`
714
+ <${tag} name="foo">
715
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
716
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
717
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
718
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
719
+ </${tag}>
720
+ `)
721
+ );
722
+
723
+ mimicUserTyping(el, 'aaa');
724
+ expect(el.opened).to.be.false;
725
+ });
726
+
727
+ it('allows to control overlay visibility via "_showOverlayCondition": should display overlay if currentValue length condition is fulfilled', async () => {
728
+ class ShowOverlayConditionCombobox extends LionCombobox {
729
+ /** @param {{ currentValue: string, lastKey:string }} options */
730
+ _showOverlayCondition(options) {
731
+ return options.currentValue.length > 3 && super._showOverlayCondition(options);
732
+ }
733
+ }
734
+ const tagName = defineCE(ShowOverlayConditionCombobox);
735
+ const tag = unsafeStatic(tagName);
736
+
737
+ const el = /** @type {LionCombobox} */ (
738
+ await fixture(html`
739
+ <${tag} name="foo">
740
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
741
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
742
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
743
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
744
+ </${tag}>
745
+ `)
746
+ );
747
+
748
+ mimicUserTyping(el, 'aaaa');
749
+ expect(el.opened).to.be.true;
750
+ });
751
+
752
+ it('allows to control overlay visibility via "_showOverlayCondition": should not display overlay if currentValue length condition is not fulfilled after once fulfilled', async () => {
753
+ class ShowOverlayConditionCombobox extends LionCombobox {
754
+ /** @param {{ currentValue: string, lastKey:string }} options */
755
+ _showOverlayCondition(options) {
756
+ return options.currentValue.length > 3 && super._showOverlayCondition(options);
757
+ }
758
+ }
759
+ const tagName = defineCE(ShowOverlayConditionCombobox);
760
+ const tag = unsafeStatic(tagName);
761
+
762
+ const el = /** @type {LionCombobox} */ (
763
+ await fixture(html`
764
+ <${tag} name="foo">
765
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
766
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
767
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
768
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
769
+ </${tag}>
770
+ `)
771
+ );
772
+
773
+ mimicUserTyping(el, 'aaaa');
774
+ expect(el.opened).to.be.true;
775
+
776
+ mimicUserTyping(el, 'aaa');
777
+ await el.updateComplete;
778
+ expect(el.opened).to.be.false;
779
+ });
780
+ });
781
+
782
+ describe('Accessibility', () => {
783
+ it('sets "aria-posinset" and "aria-setsize" on visible entries', async () => {
784
+ const el = /** @type {LionCombobox} */ (
785
+ await fixture(html`
786
+ <lion-combobox name="foo" multiple-choice>
787
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
788
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
789
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
790
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
791
+ </lion-combobox>
792
+ `)
793
+ );
794
+ const options = el.formElements;
795
+ const { _comboboxNode } = getComboboxMembers(el);
796
+ expect(el.opened).to.equal(false);
797
+
798
+ _comboboxNode.dispatchEvent(new Event('focusin', { bubbles: true, composed: true }));
799
+
800
+ mimicUserTyping(el, 'art');
801
+ await el.updateComplete;
802
+ expect(el.opened).to.equal(true);
803
+
804
+ const visibleOptions = options.filter(o => o.style.display !== 'none');
805
+ visibleOptions.forEach((o, i) => {
806
+ expect(o.getAttribute('aria-posinset')).to.equal(`${i + 1}`);
807
+ expect(o.getAttribute('aria-setsize')).to.equal(`${visibleOptions.length}`);
808
+ });
809
+ /**
810
+ * @param {{ style: { display: string; }; }} o
811
+ */
812
+ const hiddenOptions = options.filter(o => o.style.display === 'none');
813
+ /**
814
+ * @param {{ hasAttribute: (arg0: string) => any; }} o
815
+ */
816
+ hiddenOptions.forEach(o => {
817
+ expect(o.hasAttribute('aria-posinset')).to.equal(false);
818
+ expect(o.hasAttribute('aria-setsize')).to.equal(false);
819
+ });
820
+ });
821
+
822
+ /**
823
+ * Note that we use aria-hidden instead of 'display:none' to allow for animations
824
+ * (like fade in/out)
825
+ */
826
+ it('sets aria-hidden="true" on hidden entries', async () => {
827
+ const el = /** @type {LionCombobox} */ (
828
+ await fixture(html`
829
+ <lion-combobox name="foo">
830
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
831
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
832
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
833
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
834
+ </lion-combobox>
835
+ `)
836
+ );
837
+ const options = el.formElements;
838
+ const { _comboboxNode } = getComboboxMembers(el);
839
+ expect(el.opened).to.equal(false);
840
+
841
+ _comboboxNode.dispatchEvent(new Event('focusin', { bubbles: true, composed: true }));
842
+
843
+ mimicUserTyping(el, 'art');
844
+ expect(el.opened).to.equal(true);
845
+ await el.updateComplete;
846
+
847
+ const visibleOptions = options.filter(o => o.style.display !== 'none');
848
+ visibleOptions.forEach(o => {
849
+ expect(o.hasAttribute('aria-hidden')).to.be.false;
850
+ });
851
+ const hiddenOptions = options.filter(o => o.style.display === 'none');
852
+ hiddenOptions.forEach(o => {
853
+ expect(o.getAttribute('aria-hidden')).to.equal('true');
854
+ });
855
+ });
856
+
857
+ it('works with validation', async () => {
858
+ const el = /** @type {LionCombobox} */ (
859
+ await fixture(html`
860
+ <lion-combobox name="foo" .validators=${[new Required()]}>
861
+ <lion-option checked .choiceValue="${'Artichoke'}">Artichoke</lion-option>
862
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
863
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
864
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
865
+ </lion-combobox>
866
+ `)
867
+ );
868
+ const { _inputNode } = getComboboxMembers(el);
869
+ expect(el.checkedIndex).to.equal(0);
870
+
871
+ // Simulate backspace deleting the char at the end of the string
872
+ mimicKeyPress(_inputNode, 'Backspace');
873
+ _inputNode.dispatchEvent(new Event('input'));
874
+ const arr = _inputNode.value.split('');
875
+ arr.splice(_inputNode.value.length - 1, 1);
876
+ _inputNode.value = arr.join('');
877
+ await el.updateComplete;
878
+ el.dispatchEvent(new Event('blur'));
879
+
880
+ expect(el.checkedIndex).to.equal(-1);
881
+ await el.feedbackComplete;
882
+ expect(el.hasFeedbackFor).to.include('error');
883
+ expect(el.showsFeedbackFor).to.include('error');
884
+ });
885
+ });
886
+ });
887
+
888
+ // Notice that the LionComboboxInvoker always needs to be used in conjunction with the
889
+ // LionCombobox, and therefore will be tested integrated,
890
+ describe('Invoker component integration', () => {
891
+ describe('Accessibility', () => {
892
+ it('sets role="combobox" on textbox wrapper/listbox sibling', async () => {
893
+ const el = /** @type {LionCombobox} */ (
894
+ await fixture(html`
895
+ <lion-combobox name="foo">
896
+ <lion-option .choiceValue="${'10'}" checked>Item 1</lion-option>
897
+ <lion-option .choiceValue="${'20'}">Item 2</lion-option>
898
+ </lion-combobox>
899
+ `)
900
+ );
901
+ const { _comboboxNode } = getComboboxMembers(el);
902
+
903
+ expect(_comboboxNode.getAttribute('role')).to.equal('combobox');
904
+ });
905
+
906
+ it('sets aria-expanded to element with role="combobox" in wai-aria 1.0 and 1.1', async () => {
907
+ const el = /** @type {LionCombobox} */ (
908
+ await fixture(html`
909
+ <lion-combobox name="foo" ._ariaVersion="${'1.0'}">
910
+ <lion-option .choiceValue="${'10'}" checked>Item 1</lion-option>
911
+ <lion-option .choiceValue="${'20'}">Item 2</lion-option>
912
+ </lion-combobox>
913
+ `)
914
+ );
915
+ const { _comboboxNode } = getComboboxMembers(el);
916
+
917
+ expect(_comboboxNode.getAttribute('aria-expanded')).to.equal('false');
918
+ el.opened = true;
919
+ await el.updateComplete;
920
+ expect(_comboboxNode.getAttribute('aria-expanded')).to.equal('true');
921
+
922
+ const el2 = /** @type {LionCombobox} */ (
923
+ await fixture(html`
924
+ <lion-combobox name="foo" ._ariaVersion="${'1.1'}">
925
+ <lion-option .choiceValue="${'10'}" checked>Item 1</lion-option>
926
+ <lion-option .choiceValue="${'20'}">Item 2</lion-option>
927
+ </lion-combobox>
928
+ `)
929
+ );
930
+ const { _comboboxNode: comboboxNode2 } = getComboboxMembers(el2);
931
+
932
+ expect(comboboxNode2.getAttribute('aria-expanded')).to.equal('false');
933
+ el2.opened = true;
934
+ await el2.updateComplete;
935
+ expect(_comboboxNode.getAttribute('aria-expanded')).to.equal('true');
936
+ });
937
+
938
+ it('makes sure listbox node is not focusable', async () => {
939
+ const el = /** @type {LionCombobox} */ (
940
+ await fixture(html`
941
+ <lion-combobox name="foo">
942
+ <lion-option .choiceValue="${'10'}" checked>Item 1</lion-option>
943
+ <lion-option .choiceValue="${'20'}">Item 2</lion-option>
944
+ </lion-combobox>
945
+ `)
946
+ );
947
+ const { _listboxNode } = getComboboxMembers(el);
948
+
949
+ expect(_listboxNode.hasAttribute('tabindex')).to.be.false;
950
+ });
951
+ });
952
+ });
953
+
954
+ describe('Selection display', () => {
955
+ class MySelectionDisplay extends LitElement {
956
+ /**
957
+ * @param {import('lit').PropertyValues } changedProperties
958
+ */
959
+ onComboboxElementUpdated(changedProperties) {
960
+ if (
961
+ changedProperties.has('modelValue') &&
962
+ // @ts-ignore
963
+ this.comboboxElement.multipleChoice
964
+ ) {
965
+ // do smth..
966
+ }
967
+ }
968
+ }
969
+ const selectionDisplayTag = unsafeStatic(defineCE(MySelectionDisplay));
970
+
971
+ it('stores internal reference _selectionDisplayNode in LionCombobox', async () => {
972
+ const el = /** @type {LionCombobox} */ (
973
+ await fixture(html`
974
+ <lion-combobox name="foo">
975
+ <${selectionDisplayTag} slot="selection-display"></${selectionDisplayTag}>
976
+ <lion-option .choiceValue="${'10'}" checked>Item 1</lion-option>
977
+ </lion-combobox>
978
+ `)
979
+ );
980
+ const { _selectionDisplayNode } = getComboboxMembers(el);
981
+
982
+ expect(_selectionDisplayNode).to.equal(el.querySelector('[slot=selection-display]'));
983
+ });
984
+
985
+ it('sets a reference to combobox element in _selectionDisplayNode', async () => {
986
+ const el = /** @type {LionCombobox} */ (
987
+ await fixture(html`
988
+ <lion-combobox name="foo">
989
+ <${selectionDisplayTag} slot="selection-display"></${selectionDisplayTag}>
990
+ <lion-option .choiceValue="${'10'}" checked>Item 1</lion-option>
991
+ </lion-combobox>
992
+ `)
993
+ );
994
+ // @ts-ignore allow protected members
995
+ expect(el._selectionDisplayNode.comboboxElement).to.equal(el);
996
+ });
997
+
998
+ it('calls "onComboboxElementUpdated(changedProperties)" on "updated" in _selectionDisplayNode', async () => {
999
+ const el = /** @type {LionCombobox} */ (
1000
+ await fixture(html`
1001
+ <lion-combobox name="foo">
1002
+ <${selectionDisplayTag} slot="selection-display"></${selectionDisplayTag}>
1003
+ <lion-option .choiceValue="${'10'}" checked>Item 1</lion-option>
1004
+ </lion-combobox>
1005
+ `)
1006
+ );
1007
+ // @ts-ignore sinon type error
1008
+ const spy = sinon.spy(el._selectionDisplayNode, 'onComboboxElementUpdated');
1009
+ el.requestUpdate('modelValue', undefined);
1010
+ await el.updateComplete;
1011
+ expect(spy).to.have.been.calledOnce;
1012
+ });
1013
+
1014
+ // TODO: put those in distinct file if ./docs/lion-combobox-selection-display.js is accessible
1015
+ // and exposable
1016
+ describe.skip('Selected chips display', () => {
1017
+ // it('displays chips next to textbox, ordered based on user selection', async () => {
1018
+ // const el = /** @type {LionCombobox} */ (await fixture(html`
1019
+ // <lion-combobox name="foo" multiple-choice>
1020
+ // <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
1021
+ // <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
1022
+ // <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
1023
+ // <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
1024
+ // </lion-combobox>
1025
+ // `));
1026
+ // const options = el.formElements;
1027
+ // options[2].checked = true; // Chicory
1028
+ // options[0].checked = true; // Artichoke
1029
+ // options[1].checked = true; // Chard
1030
+ // const chips = Array.from(el._comboboxNode.querySelectorAll('.selection-chip'));
1031
+ // expect(chips.map(elm => elm.textContent)).to.eql(['Chicory', 'Artichoke', 'Chard']);
1032
+ // expect(el._comboboxNode.selectedElements).to.eql([options[2], options[0], options[1]]);
1033
+ // });
1034
+ // it('stages deletable chips on [Backspace]', async () => {
1035
+ // const el = /** @type {LionCombobox} */ (await fixture(html`
1036
+ // <lion-combobox name="foo" multiple-choice>
1037
+ // <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
1038
+ // <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
1039
+ // <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
1040
+ // </lion-combobox>
1041
+ // `));
1042
+ // const options = el.formElements;
1043
+ // options[0].checked = true; // Artichoke
1044
+ // options[1].checked = true; // Chard
1045
+ // expect(el._comboboxNode.removeChipOnNextBackspace).to.be.false;
1046
+ // el._inputNode.dispatchEvent(new KeyboardEvent('keydown', { key: 'Backspace' }));
1047
+ // expect(el._comboboxNode.removeChipOnNextBackspace).to.be.true;
1048
+ // el._inputNode.blur();
1049
+ // expect(el._comboboxNode.removeChipOnNextBackspace).to.be.false;
1050
+ // });
1051
+ // it('deletes staged chip on [Backspace]', async () => {
1052
+ // const el = /** @type {LionCombobox} */ (await fixture(html`
1053
+ // <lion-combobox name="foo" multiple-choice>
1054
+ // <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
1055
+ // <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
1056
+ // <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
1057
+ // </lion-combobox>
1058
+ // `));
1059
+ // const options = el.formElements;
1060
+ // options[0].checked = true; // Artichoke
1061
+ // options[1].checked = true; // Chard
1062
+ // expect(el._comboboxNode.selectedElements).to.eql([options[0], options[1]]);
1063
+ // expect(el._comboboxNode.removeChipOnNextBackspace).to.be.false;
1064
+ // el._inputNode.dispatchEvent(new KeyboardEvent('keydown', { key: 'Backspace' }));
1065
+ // expect(el._comboboxNode.selectedElements).to.eql([options[0], options[1]]);
1066
+ // expect(el._comboboxNode.removeChipOnNextBackspace).to.be.true;
1067
+ // el._inputNode.dispatchEvent(new KeyboardEvent('keydown', { key: 'Backspace' }));
1068
+ // expect(el._comboboxNode.selectedElements).to.eql([options[0]]);
1069
+ // expect(el._comboboxNode.removeChipOnNextBackspace).to.be.true;
1070
+ // el._inputNode.dispatchEvent(new KeyboardEvent('keydown', { key: 'Backspace' }));
1071
+ // expect(el._comboboxNode.selectedElements).to.eql([]);
1072
+ // expect(el._comboboxNode.removeChipOnNextBackspace).to.be.true;
1073
+ // el._inputNode.blur();
1074
+ // expect(el._comboboxNode.removeChipOnNextBackspace).to.be.false;
1075
+ // });
1076
+ });
1077
+ });
1078
+
1079
+ describe('Autocompletion', () => {
1080
+ it('has autocomplete "both" by default', async () => {
1081
+ const el = /** @type {LionCombobox} */ (
1082
+ await fixture(html`
1083
+ <lion-combobox name="foo">
1084
+ <lion-option .choiceValue="${'10'}" checked>Item 1</lion-option>
1085
+ </lion-combobox>
1086
+ `)
1087
+ );
1088
+ expect(el.autocomplete).to.equal('both');
1089
+ });
1090
+
1091
+ it('filters options when autocomplete is "both"', async () => {
1092
+ const el = /** @type {LionCombobox} */ (
1093
+ await fixture(html`
1094
+ <lion-combobox name="foo" autocomplete="both">
1095
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
1096
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
1097
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
1098
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
1099
+ </lion-combobox>
1100
+ `)
1101
+ );
1102
+ mimicUserTyping(el, 'ch');
1103
+ await el.updateComplete;
1104
+ expect(getFilteredOptionValues(el)).to.eql(['Artichoke', 'Chard', 'Chicory']);
1105
+ });
1106
+
1107
+ it('completes textbox when autocomplete is "both"', async () => {
1108
+ const el = /** @type {LionCombobox} */ (
1109
+ await fixture(html`
1110
+ <lion-combobox name="foo" autocomplete="both">
1111
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
1112
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
1113
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
1114
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
1115
+ </lion-combobox>
1116
+ `)
1117
+ );
1118
+ mimicUserTyping(el, 'ch');
1119
+ await el.updateComplete;
1120
+ const { _inputNode } = getComboboxMembers(el);
1121
+
1122
+ expect(_inputNode.value).to.equal('Chard');
1123
+ expect(_inputNode.selectionStart).to.equal(2);
1124
+ expect(_inputNode.selectionEnd).to.equal(_inputNode.value.length);
1125
+
1126
+ // We don't autocomplete when characters are removed
1127
+ mimicUserTyping(el, 'c'); // The user pressed backspace (number of chars decreased)
1128
+ expect(_inputNode.value).to.equal('c');
1129
+ expect(_inputNode.selectionStart).to.equal(_inputNode.value.length);
1130
+ });
1131
+
1132
+ it('filters options when autocomplete is "list"', async () => {
1133
+ const el = /** @type {LionCombobox} */ (
1134
+ await fixture(html`
1135
+ <lion-combobox name="foo" autocomplete="list">
1136
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
1137
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
1138
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
1139
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
1140
+ </lion-combobox>
1141
+ `)
1142
+ );
1143
+ const { _inputNode } = getComboboxMembers(el);
1144
+
1145
+ mimicUserTyping(el, 'ch');
1146
+ await el.updateComplete;
1147
+ expect(getFilteredOptionValues(el)).to.eql(['Artichoke', 'Chard', 'Chicory']);
1148
+ expect(_inputNode.value).to.equal('ch');
1149
+ });
1150
+
1151
+ it('does not filter options when autocomplete is "none"', async () => {
1152
+ const el = /** @type {LionCombobox} */ (
1153
+ await fixture(html`
1154
+ <lion-combobox name="foo" autocomplete="none">
1155
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
1156
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
1157
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
1158
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
1159
+ </lion-combobox>
1160
+ `)
1161
+ );
1162
+ mimicUserTyping(el, 'ch');
1163
+ await el.updateComplete;
1164
+ expect(getFilteredOptionValues(el)).to.eql([
1165
+ 'Artichoke',
1166
+ 'Chard',
1167
+ 'Chicory',
1168
+ 'Victoria Plum',
1169
+ ]);
1170
+ });
1171
+
1172
+ it('does not filter options when autocomplete is "inline"', async () => {
1173
+ const el = /** @type {LionCombobox} */ (
1174
+ await fixture(html`
1175
+ <lion-combobox name="foo" autocomplete="inline">
1176
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
1177
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
1178
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
1179
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
1180
+ </lion-combobox>
1181
+ `)
1182
+ );
1183
+ mimicUserTyping(el, 'ch');
1184
+ await el.updateComplete;
1185
+ expect(getFilteredOptionValues(el)).to.eql([
1186
+ 'Artichoke',
1187
+ 'Chard',
1188
+ 'Chicory',
1189
+ 'Victoria Plum',
1190
+ ]);
1191
+ });
1192
+
1193
+ it('resets "checkedIndex" when going from matched to unmatched textbox value', async () => {
1194
+ const el = /** @type {LionCombobox} */ (
1195
+ await fixture(html`
1196
+ <lion-combobox name="foo" autocomplete="inline">
1197
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
1198
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
1199
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
1200
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
1201
+ </lion-combobox>
1202
+ `)
1203
+ );
1204
+
1205
+ mimicUserTyping(el, 'ch');
1206
+ await el.updateComplete;
1207
+ expect(el.checkedIndex).to.equal(1);
1208
+
1209
+ mimicUserTyping(el, 'cho');
1210
+ await el.updateComplete;
1211
+ expect(el.checkedIndex).to.equal(-1);
1212
+
1213
+ // Works for autocomplete 'both' as well.
1214
+ const el2 = /** @type {LionCombobox} */ (
1215
+ await fixture(html`
1216
+ <lion-combobox name="foo" autocomplete="both">
1217
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
1218
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
1219
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
1220
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
1221
+ </lion-combobox>
1222
+ `)
1223
+ );
1224
+
1225
+ mimicUserTyping(el2, 'ch');
1226
+ await el2.updateComplete;
1227
+ expect(el2.checkedIndex).to.equal(1);
1228
+
1229
+ // Also works when 'diminishing amount of chars'
1230
+ mimicUserTyping(el2, 'x');
1231
+ await el2.updateComplete;
1232
+ expect(el2.checkedIndex).to.equal(-1);
1233
+ });
1234
+
1235
+ it('resets "checkedIndex" when going from matched to another matched textbox value', async () => {
1236
+ const el = /** @type {LionCombobox} */ (
1237
+ await fixture(html`
1238
+ <lion-combobox name="foo" autocomplete="both">
1239
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
1240
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
1241
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
1242
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
1243
+ </lion-combobox>
1244
+ `)
1245
+ );
1246
+
1247
+ /** Goes from 2nd option Chard to 3rd option Chicory */
1248
+ mimicUserTyping(el, 'ch');
1249
+ await el.updateComplete;
1250
+ expect(el.checkedIndex).to.equal(1);
1251
+
1252
+ mimicUserTyping(el, 'chi');
1253
+ await el.updateComplete;
1254
+ expect(el.checkedIndex).to.equal(2);
1255
+
1256
+ const el2 = /** @type {LionCombobox} */ (
1257
+ await fixture(html`
1258
+ <lion-combobox name="foo" autocomplete="both">
1259
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
1260
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
1261
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
1262
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
1263
+ </lion-combobox>
1264
+ `)
1265
+ );
1266
+
1267
+ mimicUserTyping(el2, 'ch');
1268
+ await el2.updateComplete;
1269
+ expect(el2.checkedIndex).to.equal(1);
1270
+
1271
+ // match-mode all ensures the user sees Artichoke option, but it's not
1272
+ // auto-completed or auto-selected, because it doesn't start with "cho"
1273
+ // See next test for more clarification
1274
+ mimicUserTyping(el2, 'cho');
1275
+ await el2.updateComplete;
1276
+ expect(el2.checkedIndex).to.equal(-1);
1277
+ expect(getFilteredOptionValues(el2)).to.eql(['Artichoke']);
1278
+ });
1279
+
1280
+ it('sets "checkedIndex" only if the match, matches from the beginning of the word', async () => {
1281
+ const el = /** @type {LionCombobox} */ (
1282
+ await fixture(html`
1283
+ <lion-combobox name="foo" autocomplete="both">
1284
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
1285
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
1286
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
1287
+ <lion-option .choiceValue="${'Daikon'}">Daikon</lion-option>
1288
+ </lion-combobox>
1289
+ `)
1290
+ );
1291
+
1292
+ // first match is Char'd', but better match is 'D'aikon
1293
+ mimicUserTyping(el, 'd');
1294
+ await el.updateComplete;
1295
+ expect(el.checkedIndex).to.equal(3);
1296
+ expect(getFilteredOptionValues(el)).to.eql(['Chard', 'Daikon']);
1297
+ });
1298
+
1299
+ it('completes chars inside textbox', async () => {
1300
+ const el = /** @type {LionCombobox} */ (
1301
+ await fixture(html`
1302
+ <lion-combobox name="foo" autocomplete="inline">
1303
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
1304
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
1305
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
1306
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
1307
+ </lion-combobox>
1308
+ `)
1309
+ );
1310
+ const { _inputNode } = getComboboxMembers(el);
1311
+
1312
+ mimicUserTyping(el, 'ch');
1313
+ await el.updateComplete;
1314
+ expect(_inputNode.value).to.equal('Chard');
1315
+ expect(_inputNode.selectionStart).to.equal('ch'.length);
1316
+ expect(_inputNode.selectionEnd).to.equal('Chard'.length);
1317
+
1318
+ await mimicUserTypingAdvanced(el, ['i', 'c']);
1319
+ await el.updateComplete;
1320
+ expect(_inputNode.value).to.equal('Chicory');
1321
+ expect(_inputNode.selectionStart).to.equal('chic'.length);
1322
+ expect(_inputNode.selectionEnd).to.equal('Chicory'.length);
1323
+
1324
+ // Diminishing chars, but autocompleting
1325
+ mimicUserTyping(el, 'ch');
1326
+ await el.updateComplete;
1327
+ expect(_inputNode.value).to.equal('ch');
1328
+ expect(_inputNode.selectionStart).to.equal('ch'.length);
1329
+ expect(_inputNode.selectionEnd).to.equal('ch'.length);
1330
+ });
1331
+
1332
+ it('synchronizes textbox on overlay close', async () => {
1333
+ const el = /** @type {LionCombobox} */ (
1334
+ await fixture(html`
1335
+ <lion-combobox name="foo" autocomplete="none">
1336
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
1337
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
1338
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
1339
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
1340
+ </lion-combobox>
1341
+ `)
1342
+ );
1343
+ const { _inputNode } = getComboboxMembers(el);
1344
+ expect(_inputNode.value).to.equal('');
1345
+
1346
+ /**
1347
+ * @param {'none' | 'list' | 'inline' | 'both'} autocomplete
1348
+ * @param {number|number[]} index
1349
+ * @param {string} valueOnClose
1350
+ */
1351
+ async function performChecks(autocomplete, index, valueOnClose) {
1352
+ await el.updateComplete;
1353
+ el.opened = true;
1354
+ el.setCheckedIndex(-1);
1355
+ await el.updateComplete;
1356
+ el.autocomplete = autocomplete;
1357
+ el.setCheckedIndex(index);
1358
+ el.opened = false;
1359
+ await el.updateComplete;
1360
+ expect(_inputNode.value).to.equal(valueOnClose);
1361
+ }
1362
+
1363
+ await performChecks('none', 0, 'Artichoke');
1364
+ await performChecks('list', 0, 'Artichoke');
1365
+ await performChecks('inline', 0, 'Artichoke');
1366
+ await performChecks('both', 0, 'Artichoke');
1367
+
1368
+ el.multipleChoice = true;
1369
+ await performChecks('none', [0, 1], '');
1370
+ await performChecks('list', [0, 1], '');
1371
+ await performChecks('inline', [0, 1], '');
1372
+ await performChecks('both', [0, 1], '');
1373
+ });
1374
+
1375
+ it('is possible to adjust textbox synchronize condition on overlay close', async () => {
1376
+ const el = /** @type {LionCombobox} */ (
1377
+ await fixture(html`
1378
+ <lion-combobox name="foo" autocomplete="none" ._syncToTextboxCondition="${() => false}">
1379
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
1380
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
1381
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
1382
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
1383
+ </lion-combobox>
1384
+ `)
1385
+ );
1386
+
1387
+ const { _inputNode } = getComboboxMembers(el);
1388
+ expect(_inputNode.value).to.equal('');
1389
+
1390
+ /**
1391
+ * @param {'none' | 'list' | 'inline' | 'both'} autocomplete
1392
+ * @param {number|number[]} index
1393
+ * @param {string} valueOnClose
1394
+ */
1395
+ async function performChecks(autocomplete, index, valueOnClose) {
1396
+ await el.updateComplete;
1397
+ el.opened = true;
1398
+ el.setCheckedIndex(-1);
1399
+ await el.updateComplete;
1400
+ el.autocomplete = autocomplete;
1401
+ el.setCheckedIndex(index);
1402
+ el.opened = false;
1403
+ await el.updateComplete;
1404
+ expect(_inputNode.value).to.equal(valueOnClose);
1405
+ }
1406
+
1407
+ await performChecks('none', 0, '');
1408
+ await performChecks('list', 0, '');
1409
+ await performChecks('inline', 0, '');
1410
+ await performChecks('both', 0, '');
1411
+
1412
+ el.multipleChoice = true;
1413
+ await performChecks('none', [0, 1], '');
1414
+ await performChecks('list', [0, 1], '');
1415
+ await performChecks('inline', [0, 1], '');
1416
+ await performChecks('both', [0, 1], '');
1417
+ });
1418
+
1419
+ it('does inline autocompletion when adding chars', async () => {
1420
+ const el = /** @type {LionCombobox} */ (
1421
+ await fixture(html`
1422
+ <lion-combobox name="foo" autocomplete="inline">
1423
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
1424
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
1425
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
1426
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
1427
+ </lion-combobox>
1428
+ `)
1429
+ );
1430
+
1431
+ mimicUserTyping(el, 'ch'); // ch
1432
+ await el.updateComplete; // Ch[ard]
1433
+ expect(el.activeIndex).to.equal(1);
1434
+ expect(el.checkedIndex).to.equal(1);
1435
+
1436
+ await mimicUserTypingAdvanced(el, ['i', 'c']); // Chic
1437
+ await el.updateComplete; // Chic[ory]
1438
+ expect(el.activeIndex).to.equal(2);
1439
+ expect(el.checkedIndex).to.equal(2);
1440
+
1441
+ await mimicUserTypingAdvanced(el, ['Backspace', 'Backspace', 'Backspace', 'Backspace', 'h']); // Ch
1442
+ await el.updateComplete; // Ch[ard]
1443
+ expect(el.activeIndex).to.equal(1);
1444
+ expect(el.checkedIndex).to.equal(1);
1445
+ });
1446
+
1447
+ it('does inline autocompletion when changing the word', async () => {
1448
+ const el = /** @type {LionCombobox} */ (
1449
+ await fixture(html`
1450
+ <lion-combobox name="foo" autocomplete="inline">
1451
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
1452
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
1453
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
1454
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
1455
+ </lion-combobox>
1456
+ `)
1457
+ );
1458
+
1459
+ mimicUserTyping(el, 'ch');
1460
+ await el.updateComplete;
1461
+ expect(el.activeIndex).to.equal(1);
1462
+ expect(el.checkedIndex).to.equal(1);
1463
+
1464
+ await mimicUserTypingAdvanced(el, ['i']);
1465
+ await el.updateComplete;
1466
+ expect(el.activeIndex).to.equal(2);
1467
+ expect(el.checkedIndex).to.equal(2);
1468
+
1469
+ // Diminishing chars, but autocompleting
1470
+ mimicUserTyping(el, 'a');
1471
+ await el.updateComplete;
1472
+ expect(el.activeIndex).to.equal(0);
1473
+ expect(el.checkedIndex).to.equal(0);
1474
+ });
1475
+
1476
+ it('computation of "user intends autofill" works correctly afer autofill', async () => {
1477
+ const el = /** @type {LionCombobox} */ (
1478
+ await fixture(html`
1479
+ <lion-combobox name="foo" autocomplete="inline">
1480
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
1481
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
1482
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
1483
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
1484
+ </lion-combobox>
1485
+ `)
1486
+ );
1487
+ const { _inputNode } = getComboboxMembers(el);
1488
+
1489
+ mimicUserTyping(el, 'ch');
1490
+ await el.updateComplete;
1491
+ expect(_inputNode.value).to.equal('Chard');
1492
+ expect(_inputNode.selectionStart).to.equal('Ch'.length);
1493
+ expect(_inputNode.selectionEnd).to.equal('Chard'.length);
1494
+
1495
+ // Autocompletion happened. When we go backwards ('Ch[ard]' => 'Ch'), we should not
1496
+ // autocomplete to 'Chard' anymore.
1497
+ await mimicUserTypingAdvanced(el, ['Backspace']);
1498
+ await el.updateComplete;
1499
+ expect(_inputNode.value).to.equal('Ch'); // so not 'Chard'
1500
+ expect(_inputNode.selectionStart).to.equal('Ch'.length);
1501
+ expect(_inputNode.selectionEnd).to.equal('Ch'.length);
1502
+ });
1503
+
1504
+ describe('Server side completion support', () => {
1505
+ const listboxData = ['lorem', 'ipsum', 'dolor', 'sit', 'amet'];
1506
+
1507
+ class MyEl extends LitElement {
1508
+ constructor() {
1509
+ super();
1510
+ /** @type {string[]} */
1511
+ this.options = [...listboxData];
1512
+ }
1513
+
1514
+ clearOptions() {
1515
+ /** @type {string[]} */
1516
+ this.options = [];
1517
+ this.requestUpdate();
1518
+ }
1519
+
1520
+ addOption() {
1521
+ this.options.push(`option ${this.options.length + 1}`);
1522
+ this.requestUpdate();
1523
+ }
1524
+
1525
+ fillAllOptions() {
1526
+ this.options = [...listboxData];
1527
+ this.requestUpdate();
1528
+ }
1529
+
1530
+ get combobox() {
1531
+ return /** @type {LionCombobox} */ (this.shadowRoot?.querySelector('#combobox'));
1532
+ }
1533
+
1534
+ render() {
1535
+ return html`
1536
+ <lion-combobox id="combobox" label="Server side completion">
1537
+ ${this.options.map(
1538
+ option => html` <lion-option .choiceValue="${option}">${option}</lion-option> `,
1539
+ )}
1540
+ </lion-combobox>
1541
+ `;
1542
+ }
1543
+ }
1544
+ const tagName = defineCE(MyEl);
1545
+ const wrappingTag = unsafeStatic(tagName);
1546
+
1547
+ it('calls "_handleAutocompletion" after externally changing options', async () => {
1548
+ const el = /** @type {MyEl} */ (await fixture(html`<${wrappingTag}></${wrappingTag}>`));
1549
+ await el.combobox.registrationComplete;
1550
+ // @ts-ignore [allow-protected] in test
1551
+ const spy = sinon.spy(el.combobox, '_handleAutocompletion');
1552
+ el.addOption();
1553
+ await el.updateComplete;
1554
+ await el.updateComplete;
1555
+ expect(spy).to.have.been.calledOnce;
1556
+ el.clearOptions();
1557
+ await el.updateComplete;
1558
+ await el.updateComplete;
1559
+ expect(spy).to.have.been.calledTwice;
1560
+ });
1561
+
1562
+ it('should handle dynamic options', async () => {
1563
+ // Arrange
1564
+ const el = /** @type {MyEl} */ (await fixture(html`<${wrappingTag}></${wrappingTag}>`));
1565
+ await el.combobox.registrationComplete;
1566
+
1567
+ // Act (start typing)
1568
+ mimicUserTyping(el.combobox, 'l');
1569
+ // simulate fetching data from server
1570
+ el.clearOptions();
1571
+ await el.updateComplete;
1572
+ await el.updateComplete;
1573
+ el.fillAllOptions();
1574
+ await el.updateComplete;
1575
+ await el.updateComplete;
1576
+
1577
+ // Assert
1578
+ const { _inputNode } = getComboboxMembers(el.combobox);
1579
+ expect(_inputNode.value).to.equal('lorem');
1580
+ expect(_inputNode.selectionStart).to.equal(1);
1581
+ expect(_inputNode.selectionEnd).to.equal(_inputNode.value.length);
1582
+ expect(getFilteredOptionValues(el.combobox)).to.eql(['lorem', 'dolor']);
1583
+
1584
+ // Act (continue typing)
1585
+ mimicUserTyping(el.combobox, 'lo');
1586
+ // simulate fetching data from server
1587
+ el.clearOptions();
1588
+ await el.updateComplete;
1589
+ await el.updateComplete;
1590
+ el.fillAllOptions();
1591
+ await el.updateComplete;
1592
+ await el.updateComplete;
1593
+
1594
+ // Assert
1595
+ expect(_inputNode.value).to.equal('lorem');
1596
+ expect(_inputNode.selectionStart).to.equal(2);
1597
+ expect(_inputNode.selectionEnd).to.equal(_inputNode.value.length);
1598
+ expect(getFilteredOptionValues(el.combobox)).to.eql(['lorem', 'dolor']);
1599
+
1600
+ // We don't autocomplete when characters are removed
1601
+ mimicUserTyping(el.combobox, 'l'); // The user pressed backspace (number of chars decreased)
1602
+ expect(_inputNode.value).to.equal('l');
1603
+ expect(_inputNode.selectionStart).to.equal(_inputNode.value.length);
1604
+ });
1605
+ });
1606
+
1607
+ describe('Subclassers', () => {
1608
+ it('allows to configure autoselect', async () => {
1609
+ class X extends LionCombobox {
1610
+ _autoSelectCondition() {
1611
+ return true;
1612
+ }
1613
+ }
1614
+ const tagName = defineCE(X);
1615
+ const tag = unsafeStatic(tagName);
1616
+
1617
+ const el = /** @type {LionCombobox} */ (
1618
+ await fixture(html`
1619
+ <${tag} name="foo" autocomplete="list" opened>
1620
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
1621
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
1622
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
1623
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
1624
+ </${tag}>
1625
+ `)
1626
+ );
1627
+ // This ensures autocomplete would be off originally
1628
+ el.autocomplete = 'list';
1629
+ await mimicUserTypingAdvanced(el, ['v', 'i']); // so we have options ['Victoria Plum']
1630
+ await el.updateComplete;
1631
+ expect(el.checkedIndex).to.equal(3);
1632
+ });
1633
+ });
1634
+
1635
+ it('highlights matching options', async () => {
1636
+ const el = /** @type {LionCombobox} */ (
1637
+ await fixture(html`
1638
+ <lion-combobox name="foo" match-mode="all">
1639
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
1640
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
1641
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
1642
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
1643
+ </lion-combobox>
1644
+ `)
1645
+ );
1646
+ const options = el.formElements;
1647
+
1648
+ mimicUserTyping(/** @type {LionCombobox} */ (el), 'ch');
1649
+
1650
+ await el.updateComplete;
1651
+ expect(options[0]).lightDom.to.equal(`<span aria-label="Artichoke">Arti<b>ch</b>oke</span>`);
1652
+ expect(options[1]).lightDom.to.equal(`<span aria-label="Chard"><b>Ch</b>ard</span>`);
1653
+ expect(options[2]).lightDom.to.equal(`<span aria-label="Chicory"><b>Ch</b>icory</span>`);
1654
+ expect(options[3]).lightDom.to.equal(`Victoria Plum`);
1655
+
1656
+ mimicUserTyping(/** @type {LionCombobox} */ (el), 'D');
1657
+
1658
+ await el.updateComplete;
1659
+ expect(options[0]).lightDom.to.equal(`Artichoke`);
1660
+ expect(options[1]).lightDom.to.equal(`<span aria-label="Chard">Char<b>d</b></span>`);
1661
+ expect(options[2]).lightDom.to.equal(`Chicory`);
1662
+ expect(options[3]).lightDom.to.equal(`Victoria Plum`);
1663
+ });
1664
+
1665
+ it('synchronizes textbox when autocomplete is "inline" or "both"', async () => {
1666
+ const el = /** @type {LionCombobox} */ (
1667
+ await fixture(html`
1668
+ <lion-combobox name="foo" autocomplete="none">
1669
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
1670
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
1671
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
1672
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
1673
+ </lion-combobox>
1674
+ `)
1675
+ );
1676
+ const { _inputNode } = getComboboxMembers(el);
1677
+
1678
+ expect(_inputNode.value).to.equal('');
1679
+
1680
+ el.setCheckedIndex(-1);
1681
+ el.autocomplete = 'none';
1682
+ el.setCheckedIndex(0);
1683
+ expect(_inputNode.value).to.equal('');
1684
+
1685
+ el.setCheckedIndex(-1);
1686
+ el.autocomplete = 'list';
1687
+ el.setCheckedIndex(0);
1688
+ expect(_inputNode.value).to.equal('');
1689
+
1690
+ el.setCheckedIndex(-1);
1691
+ el.autocomplete = 'inline';
1692
+ el.setCheckedIndex(0);
1693
+ expect(_inputNode.value).to.equal('Artichoke');
1694
+
1695
+ el.setCheckedIndex(-1);
1696
+ el.autocomplete = 'both';
1697
+ el.setCheckedIndex(0);
1698
+ expect(_inputNode.value).to.equal('Artichoke');
1699
+ });
1700
+
1701
+ it('synchronizes last index to textbox when autocomplete is "inline" or "both" when multipleChoice', async () => {
1702
+ const el = /** @type {LionCombobox} */ (
1703
+ await fixture(html`
1704
+ <lion-combobox name="foo" autocomplete="none" multiple-choice>
1705
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
1706
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
1707
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
1708
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
1709
+ </lion-combobox>
1710
+ `)
1711
+ );
1712
+ const { _inputNode } = getComboboxMembers(el);
1713
+
1714
+ expect(_inputNode.value).to.eql('');
1715
+
1716
+ el.setCheckedIndex(-1);
1717
+ el.autocomplete = 'none';
1718
+ el.setCheckedIndex([0]);
1719
+ el.setCheckedIndex([1]);
1720
+ expect(_inputNode.value).to.equal('');
1721
+
1722
+ el.setCheckedIndex(-1);
1723
+ el.autocomplete = 'list';
1724
+ el.setCheckedIndex([0]);
1725
+ el.setCheckedIndex([1]);
1726
+ expect(_inputNode.value).to.equal('');
1727
+
1728
+ el.setCheckedIndex(-1);
1729
+ el.autocomplete = 'inline';
1730
+ el.setCheckedIndex([0]);
1731
+ expect(_inputNode.value).to.equal('Artichoke');
1732
+ el.setCheckedIndex([1]);
1733
+ expect(_inputNode.value).to.equal('Chard');
1734
+
1735
+ el.setCheckedIndex(-1);
1736
+ el.autocomplete = 'both';
1737
+ el.setCheckedIndex([0]);
1738
+ expect(_inputNode.value).to.equal('Artichoke');
1739
+ el.setCheckedIndex([1]);
1740
+ expect(_inputNode.value).to.equal('Chard');
1741
+ });
1742
+
1743
+ describe('Subclassers', () => {
1744
+ it('allows to override "_syncCheckedWithTextboxMultiple"', async () => {
1745
+ class X extends LionCombobox {
1746
+ // eslint-disable-next-line no-unused-vars
1747
+ _syncToTextboxCondition() {
1748
+ return true;
1749
+ }
1750
+
1751
+ /**
1752
+ * @param {?} modelValue
1753
+ * @param {?} oldModelValue
1754
+ */
1755
+ // eslint-disable-next-line no-unused-vars
1756
+ _syncToTextboxMultiple(modelValue, oldModelValue) {
1757
+ // In a real scenario (depending on how selection display works),
1758
+ // you could override the default (last selected option) with '' for instance
1759
+ this._setTextboxValue(`${modelValue}-${oldModelValue}-multi`);
1760
+ }
1761
+ }
1762
+ const tagName = defineCE(X);
1763
+ const tag = unsafeStatic(tagName);
1764
+
1765
+ const el = /** @type {LionCombobox} */ (
1766
+ await fixture(html`
1767
+ <${tag} name="foo" autocomplete="none" multiple-choice>
1768
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
1769
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
1770
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
1771
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
1772
+ </${tag}>
1773
+ `)
1774
+ );
1775
+ const { _inputNode } = getComboboxMembers(el);
1776
+
1777
+ el.setCheckedIndex(-1);
1778
+ el.autocomplete = 'none';
1779
+ el.setCheckedIndex([0]);
1780
+ expect(_inputNode.value).to.equal('Artichoke--multi');
1781
+
1782
+ el.setCheckedIndex(-1);
1783
+ el.autocomplete = 'list';
1784
+ el.setCheckedIndex([0]);
1785
+ expect(_inputNode.value).to.equal('Artichoke--multi');
1786
+
1787
+ el.setCheckedIndex(-1);
1788
+ el.autocomplete = 'inline';
1789
+ el.setCheckedIndex([0]);
1790
+ expect(_inputNode.value).to.equal('Artichoke--multi');
1791
+
1792
+ el.setCheckedIndex(-1);
1793
+ el.autocomplete = 'both';
1794
+ el.setCheckedIndex([0]);
1795
+ expect(_inputNode.value).to.equal('Artichoke--multi');
1796
+ });
1797
+
1798
+ describe('Override _getTextboxValueFromOption', () => {
1799
+ it('allows to override "_getTextboxValueFromOption" and sync to textbox when multiple', async () => {
1800
+ class X extends LionCombobox {
1801
+ /**
1802
+ * Return the value to be used for the input value
1803
+ * @overridable
1804
+ * @param {?} option
1805
+ * @returns {string}
1806
+ */
1807
+ // eslint-disable-next-line class-methods-use-this
1808
+ _getTextboxValueFromOption(option) {
1809
+ return option.label;
1810
+ }
1811
+ }
1812
+ const tagName = defineCE(X);
1813
+ const tag = unsafeStatic(tagName);
1814
+
1815
+ const el = /** @type {LionCombobox} */ (
1816
+ await fixture(html`
1817
+ <${tag} name="foo" autocomplete="both" multiple-choice>
1818
+ <lion-option .label="${'Artichoke as label'}" .choiceValue="${{
1819
+ value: 'Artichoke',
1820
+ }}">Artichoke</lion-option>
1821
+ <lion-option .label="${'Chard as label'}" .choiceValue="${{
1822
+ value: 'Chard',
1823
+ }}">Chard</lion-option>
1824
+ <lion-option .label="${'Chicory as label'}" .choiceValue="${{
1825
+ value: 'Chicory',
1826
+ }}">Chicory</lion-option>
1827
+ <lion-option .label="${'Victoria Plum as label'}" .choiceValue="${{
1828
+ value: 'Victoria Plum',
1829
+ }}">Victoria Plum</lion-option>
1830
+ </${tag}>
1831
+ `)
1832
+ );
1833
+ const { _inputNode } = getComboboxMembers(el);
1834
+ el.setCheckedIndex(-1);
1835
+
1836
+ // Act
1837
+ el.setCheckedIndex([0]);
1838
+
1839
+ // Assert
1840
+ expect(_inputNode.value).to.equal('Artichoke as label');
1841
+
1842
+ // Act
1843
+ el.setCheckedIndex([3]);
1844
+
1845
+ // Assert
1846
+ expect(_inputNode.value).to.equal('Victoria Plum as label');
1847
+ });
1848
+
1849
+ it('allows to override "_getTextboxValueFromOption" and sync modelValue with textbox', async () => {
1850
+ class X extends LionCombobox {
1851
+ /**
1852
+ * Return the value to be used for the input value
1853
+ * @overridable
1854
+ * @param {?} option
1855
+ * @returns {string}
1856
+ */
1857
+ // eslint-disable-next-line class-methods-use-this
1858
+ _getTextboxValueFromOption(option) {
1859
+ return option.label;
1860
+ }
1861
+ }
1862
+ const tagName = defineCE(X);
1863
+ const tag = unsafeStatic(tagName);
1864
+
1865
+ const el = /** @type {LionCombobox} */ (
1866
+ await fixture(html`
1867
+ <${tag} name="foo">
1868
+ <lion-option .label="${'Artichoke as label'}" .choiceValue="${{
1869
+ value: 'Artichoke',
1870
+ }}">Artichoke</lion-option>
1871
+ <lion-option .label="${'Chard as label'}" .choiceValue="${{
1872
+ value: 'Chard',
1873
+ }}" checked>Chard</lion-option>
1874
+ <lion-option .label="${'Chicory as label'}" .choiceValue="${{
1875
+ value: 'Chicory',
1876
+ }}">Chicory</lion-option>
1877
+ <lion-option .label="${'Victoria Plum as label'}" .choiceValue="${{
1878
+ value: 'Victoria Plum',
1879
+ }}">Victoria Plum</lion-option>
1880
+ </${tag}>
1881
+ `)
1882
+ );
1883
+ const { _inputNode } = getComboboxMembers(el);
1884
+
1885
+ // Assume
1886
+ expect(_inputNode.value).to.equal('Chard as label');
1887
+
1888
+ // Act
1889
+ el.modelValue = { value: 'Chicory' };
1890
+ await el.updateComplete;
1891
+
1892
+ // Assert
1893
+ expect(_inputNode.value).to.equal('Chicory as label');
1894
+ });
1895
+
1896
+ it('allows to override "_getTextboxValueFromOption" and clears modelValue and textbox value on clear()', async () => {
1897
+ class X extends LionCombobox {
1898
+ /**
1899
+ * Return the value to be used for the input value
1900
+ * @overridable
1901
+ * @param {?} option
1902
+ * @returns {string}
1903
+ */
1904
+ // eslint-disable-next-line class-methods-use-this
1905
+ _getTextboxValueFromOption(option) {
1906
+ return option.label;
1907
+ }
1908
+ }
1909
+ const tagName = defineCE(X);
1910
+ const tag = unsafeStatic(tagName);
1911
+
1912
+ const el = /** @type {LionCombobox} */ (
1913
+ await fixture(html`
1914
+ <${tag} name="foo" .modelValue="${{ value: 'Artichoke' }}">
1915
+ <lion-option .label="${'Artichoke as label'}" .choiceValue="${{
1916
+ value: 'Artichoke',
1917
+ }}">Artichoke</lion-option>
1918
+ <lion-option .label="${'Chard as label'}" .choiceValue="${{
1919
+ value: 'Chard',
1920
+ }}">Chard</lion-option>
1921
+ <lion-option .label="${'Chicory as label'}" .choiceValue="${{
1922
+ value: 'Chicory',
1923
+ }}">Chicory</lion-option>
1924
+ <lion-option .label="${'Victoria Plum as label'}" .choiceValue="${{
1925
+ value: 'Victoria Plum',
1926
+ }}">Victoria Plum</lion-option>
1927
+ </${tag}>
1928
+ `)
1929
+ );
1930
+ const { _inputNode } = getComboboxMembers(el);
1931
+
1932
+ // Assume
1933
+ expect(_inputNode.value).to.equal('Artichoke as label');
1934
+
1935
+ // Act
1936
+ el.clear();
1937
+
1938
+ // Assert
1939
+ expect(el.modelValue).to.equal('');
1940
+ expect(_inputNode.value).to.equal('');
1941
+ });
1942
+
1943
+ it('allows to override "_getTextboxValueFromOption" and syncs textbox to modelValue', async () => {
1944
+ class X extends LionCombobox {
1945
+ /**
1946
+ * Return the value to be used for the input value
1947
+ * @overridable
1948
+ * @param {?} option
1949
+ * @returns {string}
1950
+ */
1951
+ // eslint-disable-next-line class-methods-use-this
1952
+ _getTextboxValueFromOption(option) {
1953
+ return option.label;
1954
+ }
1955
+ }
1956
+ const tagName = defineCE(X);
1957
+ const tag = unsafeStatic(tagName);
1958
+
1959
+ const el = /** @type {LionCombobox} */ (
1960
+ await fixture(html`
1961
+ <${tag} name="foo">
1962
+ <lion-option .label="${'Artichoke as label'}" .choiceValue="${{
1963
+ value: 'Artichoke',
1964
+ }}">Artichoke</lion-option>
1965
+ <lion-option .label="${'Chard as label'}" .choiceValue="${{
1966
+ value: 'Chard',
1967
+ }}">Chard</lion-option>
1968
+ <lion-option .label="${'Chicory as label'}" .choiceValue="${{
1969
+ value: 'Chicory',
1970
+ }}">Chicory</lion-option>
1971
+ <lion-option .label="${'Victoria Plum as label'}" .choiceValue="${{
1972
+ value: 'Victoria Plum',
1973
+ }}">Victoria Plum</lion-option>
1974
+ </${tag}>
1975
+ `)
1976
+ );
1977
+ const { _inputNode } = getComboboxMembers(el);
1978
+
1979
+ async function performChecks() {
1980
+ el.formElements[0].click();
1981
+ await el.updateComplete;
1982
+
1983
+ // FIXME: fix properly for Webkit
1984
+ // expect(_inputNode.value).to.equal('Aha');
1985
+ expect(el.checkedIndex).to.equal(0);
1986
+
1987
+ mimicUserTyping(el, 'Arti');
1988
+ await el.updateComplete;
1989
+ expect(_inputNode.value).to.equal('Arti');
1990
+
1991
+ await el.updateComplete;
1992
+ expect(el.checkedIndex).to.equal(-1);
1993
+ }
1994
+
1995
+ el.autocomplete = 'none';
1996
+ await performChecks();
1997
+
1998
+ el.autocomplete = 'list';
1999
+ await performChecks();
2000
+ });
2001
+ });
2002
+ });
2003
+
2004
+ describe('Active index behavior', () => {
2005
+ it('sets the active index to the closest match on open by default', async () => {
2006
+ const el = /** @type {LionCombobox} */ (
2007
+ await fixture(html`
2008
+ <lion-combobox name="foo">
2009
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
2010
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
2011
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
2012
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
2013
+ </lion-combobox>
2014
+ `)
2015
+ );
2016
+ mimicUserTyping(/** @type {LionCombobox} */ (el), 'cha');
2017
+ await el.updateComplete;
2018
+ expect(el.activeIndex).to.equal(1);
2019
+ });
2020
+
2021
+ it('changes whether activeIndex is set to the closest match automatically depending on autocomplete', async () => {
2022
+ /**
2023
+ * Automatic selection (setting activeIndex to closest matching option) in lion is set for
2024
+ * 'inline' & 'both' autocomplete, because it is unavoidable there
2025
+ * For 'list' & 'none' autocomplete, it is turned off and manual selection is required.
2026
+ * TODO: Make this configurable for list & none autocomplete?
2027
+ */
2028
+ const el = /** @type {LionCombobox} */ (
2029
+ await fixture(html`
2030
+ <lion-combobox name="foo" autocomplete="none">
2031
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
2032
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
2033
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
2034
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
2035
+ </lion-combobox>
2036
+ `)
2037
+ );
2038
+ const { _inputNode } = getComboboxMembers(el);
2039
+
2040
+ /**
2041
+ * @param {LionCombobox} elm
2042
+ * @param {'none'|'list'|'inline'|'both'} autocomplete
2043
+ */
2044
+ async function setup(elm, autocomplete) {
2045
+ // eslint-disable-next-line no-param-reassign
2046
+ elm.autocomplete = autocomplete;
2047
+ // eslint-disable-next-line no-param-reassign
2048
+ elm.activeIndex = -1;
2049
+ // eslint-disable-next-line no-param-reassign
2050
+ elm.checkedIndex = -1;
2051
+ // eslint-disable-next-line no-param-reassign
2052
+ elm.opened = true;
2053
+ await elm.updateComplete;
2054
+ }
2055
+
2056
+ // https://www.w3.org/TR/wai-aria-practices/examples/combobox/aria1.1pattern/listbox-combo.html
2057
+ // Example 1. List Autocomplete with Manual Selection:
2058
+ // does not set active at all until user selects
2059
+ await setup(el, 'none');
2060
+
2061
+ mimicUserTyping(/** @type {LionCombobox} */ (el), 'cha');
2062
+ await el.updateComplete;
2063
+ expect(el.activeIndex).to.equal(-1);
2064
+ expect(el.opened).to.be.true;
2065
+
2066
+ mimicKeyPress(_inputNode, 'Enter');
2067
+ expect(el.opened).to.be.false;
2068
+ expect(el.activeIndex).to.equal(-1);
2069
+
2070
+ // https://www.w3.org/TR/wai-aria-practices/examples/combobox/aria1.1pattern/listbox-combo.html
2071
+ // Example 2. List Autocomplete with Automatic Selection:
2072
+ // does not set active at all until user selects
2073
+ await setup(el, 'list');
2074
+
2075
+ mimicUserTyping(/** @type {LionCombobox} */ (el), 'cha');
2076
+ await el.updateComplete;
2077
+ expect(el.opened).to.be.true;
2078
+ expect(el.activeIndex).to.equal(-1);
2079
+
2080
+ mimicKeyPress(_inputNode, 'Enter');
2081
+ expect(el.activeIndex).to.equal(-1);
2082
+ expect(el.opened).to.be.false;
2083
+
2084
+ // https://www.w3.org/TR/wai-aria-practices/examples/combobox/aria1.1pattern/listbox-combo.html
2085
+ // Example 3. List with Inline Autocomplete (mostly, but with aria-autocomplete="inline")
2086
+ await setup(el, 'inline');
2087
+
2088
+ mimicUserTyping(/** @type {LionCombobox} */ (el), '');
2089
+ await el.updateComplete;
2090
+ mimicUserTyping(/** @type {LionCombobox} */ (el), 'cha');
2091
+ await el.updateComplete;
2092
+ await el.updateComplete;
2093
+ expect(el.opened).to.be.true;
2094
+
2095
+ expect(el.activeIndex).to.equal(1);
2096
+
2097
+ mimicKeyPress(_inputNode, 'Enter');
2098
+ await el.updateComplete;
2099
+ await el.updateComplete;
2100
+
2101
+ expect(el.activeIndex).to.equal(-1);
2102
+ expect(el.opened).to.be.false;
2103
+
2104
+ // https://www.w3.org/TR/wai-aria-practices/examples/combobox/aria1.1pattern/listbox-combo.html
2105
+ // Example 3. List with Inline Autocomplete
2106
+ await setup(el, 'both');
2107
+ mimicUserTyping(/** @type {LionCombobox} */ (el), '');
2108
+ await el.updateComplete;
2109
+ mimicUserTyping(/** @type {LionCombobox} */ (el), 'cha');
2110
+ await el.updateComplete;
2111
+ mimicKeyPress(_inputNode, 'Enter');
2112
+ expect(el.activeIndex).to.equal(1);
2113
+ expect(el.opened).to.be.false;
2114
+ });
2115
+
2116
+ it('sets the active index to the closest match on autocomplete', async () => {
2117
+ const el = /** @type {LionCombobox} */ (
2118
+ await fixture(html`
2119
+ <lion-combobox name="foo" autocomplete="both">
2120
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
2121
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
2122
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
2123
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
2124
+ </lion-combobox>
2125
+ `)
2126
+ );
2127
+ const { _inputNode } = getComboboxMembers(el);
2128
+
2129
+ mimicUserTyping(/** @type {LionCombobox} */ (el), 'cha');
2130
+ await el.updateComplete;
2131
+ expect(el.activeIndex).to.equal(1);
2132
+
2133
+ mimicUserTyping(/** @type {LionCombobox} */ (el), 'ch');
2134
+ await el.updateComplete;
2135
+ mimicUserTyping(/** @type {LionCombobox} */ (el), 'chi');
2136
+ // Chard no longer matches, so should switch active to Chicory
2137
+ await el.updateComplete;
2138
+
2139
+ expect(el.activeIndex).to.equal(2);
2140
+
2141
+ // select artichoke
2142
+ mimicUserTyping(/** @type {LionCombobox} */ (el), 'artichoke');
2143
+ await el.updateComplete;
2144
+ mimicKeyPress(_inputNode, 'Enter');
2145
+
2146
+ mimicUserTyping(/** @type {LionCombobox} */ (el), '');
2147
+ await el.updateComplete;
2148
+ // change selection, active index should update to closest match
2149
+ mimicUserTyping(/** @type {LionCombobox} */ (el), 'vic');
2150
+ await el.updateComplete;
2151
+ expect(el.activeIndex).to.equal(3);
2152
+ });
2153
+
2154
+ it('supports clearing by [Escape] key and resets active state on all options', async () => {
2155
+ const el = /** @type {LionCombobox} */ (
2156
+ await fixture(html`
2157
+ <lion-combobox name="foo">
2158
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
2159
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
2160
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
2161
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
2162
+ </lion-combobox>
2163
+ `)
2164
+ );
2165
+ const { _inputNode } = getComboboxMembers(el);
2166
+
2167
+ // Select something
2168
+ mimicUserTyping(/** @type {LionCombobox} */ (el), 'cha');
2169
+ await el.updateComplete;
2170
+ mimicKeyPress(_inputNode, 'Enter');
2171
+ expect(el.activeIndex).to.equal(1);
2172
+
2173
+ mimicKeyPress(_inputNode, 'Escape');
2174
+ await el.updateComplete;
2175
+ expect(_inputNode.textContent).to.equal('');
2176
+
2177
+ el.formElements.forEach(option => expect(option.active).to.be.false);
2178
+
2179
+ // change selection, active index should update to closest match
2180
+ mimicUserTyping(/** @type {LionCombobox} */ (el), 'vic');
2181
+ await el.updateComplete;
2182
+ expect(el.activeIndex).to.equal(3);
2183
+ });
2184
+ });
2185
+
2186
+ describe('Accessibility', () => {
2187
+ it('synchronizes autocomplete option to textbox', async () => {
2188
+ let el;
2189
+ [el] = await fruitFixture({ autocomplete: 'both' });
2190
+ expect(
2191
+ getComboboxMembers(/** @type {LionCombobox} */ (el))._inputNode.getAttribute(
2192
+ 'aria-autocomplete',
2193
+ ),
2194
+ ).to.equal('both');
2195
+
2196
+ [el] = await fruitFixture({ autocomplete: 'list' });
2197
+ expect(
2198
+ getComboboxMembers(/** @type {LionCombobox} */ (el))._inputNode.getAttribute(
2199
+ 'aria-autocomplete',
2200
+ ),
2201
+ ).to.equal('list');
2202
+
2203
+ [el] = await fruitFixture({ autocomplete: 'none' });
2204
+ expect(
2205
+ getComboboxMembers(/** @type {LionCombobox} */ (el))._inputNode.getAttribute(
2206
+ 'aria-autocomplete',
2207
+ ),
2208
+ ).to.equal('none');
2209
+ });
2210
+
2211
+ it('updates aria-activedescendant on textbox node', async () => {
2212
+ const el = /** @type {LionCombobox} */ (
2213
+ await fixture(html`
2214
+ <lion-combobox name="foo" autocomplete="none">
2215
+ <lion-option .choiceValue="${'Artichoke'}" id="artichoke-option"
2216
+ >Artichoke</lion-option
2217
+ >
2218
+ <lion-option .choiceValue="${'Chard'}" id="chard-option">Chard</lion-option>
2219
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
2220
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
2221
+ </lion-combobox>
2222
+ `)
2223
+ );
2224
+
2225
+ const elProts = getComboboxMembers(el);
2226
+
2227
+ expect(elProts._activeDescendantOwnerNode.getAttribute('aria-activedescendant')).to.equal(
2228
+ null,
2229
+ );
2230
+ expect(el.formElements[1].active).to.equal(false);
2231
+
2232
+ mimicUserTyping(/** @type {LionCombobox} */ (el), 'ch');
2233
+ await el.updateComplete;
2234
+ expect(elProts._activeDescendantOwnerNode.getAttribute('aria-activedescendant')).to.equal(
2235
+ null,
2236
+ );
2237
+ // el._inputNode.dispatchEvent(new KeyboardEvent('keydown', { key: 'ArrowDown' }));
2238
+ mimicKeyPress(elProts._inputNode, 'ArrowDown');
2239
+ expect(elProts._activeDescendantOwnerNode.getAttribute('aria-activedescendant')).to.equal(
2240
+ 'artichoke-option',
2241
+ );
2242
+ expect(el.formElements[1].active).to.equal(false);
2243
+
2244
+ const el2 = /** @type {LionCombobox} */ (
2245
+ await fixture(html`
2246
+ <lion-combobox name="foo" autocomplete="both" match-mode="begin">
2247
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
2248
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
2249
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
2250
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
2251
+ </lion-combobox>
2252
+ `)
2253
+ );
2254
+
2255
+ const el2Prots = getComboboxMembers(el2);
2256
+
2257
+ mimicUserTyping(/** @type {LionCombobox} */ (el2), 'ch');
2258
+ await el2.updateComplete;
2259
+ expect(el2Prots._activeDescendantOwnerNode.getAttribute('aria-activedescendant')).to.equal(
2260
+ el2.formElements[1].id,
2261
+ );
2262
+ expect(el2.formElements[1].active).to.equal(true);
2263
+
2264
+ el2.autocomplete = 'list';
2265
+ mimicUserTyping(/** @type {LionCombobox} */ (el), 'ch');
2266
+ await el2.updateComplete;
2267
+ expect(el2Prots._activeDescendantOwnerNode.getAttribute('aria-activedescendant')).to.equal(
2268
+ el2.formElements[1].id,
2269
+ );
2270
+ expect(el2.formElements[1].active).to.equal(true);
2271
+ });
2272
+
2273
+ it('adds aria-label to highlighted options', async () => {
2274
+ const [el, options] = await fruitFixture({ autocomplete: 'both', matchMode: 'all' });
2275
+ mimicUserTyping(/** @type {LionCombobox} */ (el), 'choke');
2276
+ await el.updateComplete;
2277
+ const labelledElement = options[0].querySelector('span[aria-label="Artichoke"]');
2278
+ expect(labelledElement).to.not.be.null;
2279
+ expect(labelledElement.innerText).to.equal('Artichoke');
2280
+ });
2281
+ });
2282
+ });
2283
+
2284
+ describe('Accessibility', () => {
2285
+ describe('Aria versions', () => {
2286
+ it('[role=combobox] wraps input node in v1.1', async () => {
2287
+ const el = /** @type {LionCombobox} */ (
2288
+ await fixture(html`
2289
+ <lion-combobox name="foo" ._ariaVersion="${'1.1'}">
2290
+ <lion-option .choiceValue="${'10'}" checked>Item 1</lion-option>
2291
+ </lion-combobox>
2292
+ `)
2293
+ );
2294
+ const { _comboboxNode, _inputNode } = getComboboxMembers(el);
2295
+
2296
+ expect(_comboboxNode.contains(_inputNode)).to.be.true;
2297
+ });
2298
+
2299
+ it('has one input node with [role=combobox] in v1.0', async () => {
2300
+ const el = /** @type {LionCombobox} */ (
2301
+ await fixture(html`
2302
+ <lion-combobox name="foo" ._ariaVersion="${'1.0'}">
2303
+ <lion-option .choiceValue="${'10'}" checked>Item 1</lion-option>
2304
+ </lion-combobox>
2305
+ `)
2306
+ );
2307
+ const { _comboboxNode, _inputNode } = getComboboxMembers(el);
2308
+
2309
+ expect(_comboboxNode).to.equal(_inputNode);
2310
+ });
2311
+
2312
+ it('autodetects aria version and sets it to 1.1 on Chromium browsers', async () => {
2313
+ const browserDetectionIsChromiumOriginal = browserDetection.isChromium;
2314
+
2315
+ browserDetection.isChromium = true;
2316
+ const el = /** @type {LionCombobox} */ (
2317
+ await fixture(html`
2318
+ <lion-combobox name="foo">
2319
+ <lion-option .choiceValue="${'10'}" checked>Item 1</lion-option>
2320
+ </lion-combobox>
2321
+ `)
2322
+ );
2323
+ const elProts = getComboboxMembers(el);
2324
+
2325
+ expect(elProts._ariaVersion).to.equal('1.1');
2326
+
2327
+ browserDetection.isChromium = false;
2328
+ const el2 = /** @type {LionCombobox} */ (
2329
+ await fixture(html`
2330
+ <lion-combobox name="foo">
2331
+ <lion-option .choiceValue="${'10'}" checked>Item 1</lion-option>
2332
+ </lion-combobox>
2333
+ `)
2334
+ );
2335
+ const el2Prots = getComboboxMembers(el2);
2336
+
2337
+ expect(el2Prots._ariaVersion).to.equal('1.0');
2338
+
2339
+ // restore...
2340
+ browserDetection.isChromium = browserDetectionIsChromiumOriginal;
2341
+ });
2342
+ });
2343
+ });
2344
+
2345
+ describe('Multiple Choice', () => {
2346
+ // TODO: possibly later share test with select-rich if it officially supports multipleChoice
2347
+ it('does not close listbox on click/enter', async () => {
2348
+ const el = /** @type {LionCombobox} */ (
2349
+ await fixture(html`
2350
+ <lion-combobox name="foo" multiple-choice>
2351
+ <lion-option .choiceValue="${'Artichoke'}">Artichoke</lion-option>
2352
+ <lion-option .choiceValue="${'Chard'}">Chard</lion-option>
2353
+ <lion-option .choiceValue="${'Chicory'}">Chicory</lion-option>
2354
+ <lion-option .choiceValue="${'Victoria Plum'}">Victoria Plum</lion-option>
2355
+ </lion-combobox>
2356
+ `)
2357
+ );
2358
+
2359
+ const { _comboboxNode } = getComboboxMembers(el);
2360
+
2361
+ // activate opened listbox
2362
+ _comboboxNode.dispatchEvent(new Event('focusin', { bubbles: true, composed: true }));
2363
+ mimicUserTyping(el, 'ch');
2364
+ await el.updateComplete;
2365
+
2366
+ expect(el.opened).to.equal(true);
2367
+ const visibleOptions = el.formElements.filter(o => o.style.display !== 'none');
2368
+ visibleOptions[0].click();
2369
+ expect(el.opened).to.equal(true);
2370
+ mimicKeyPress(visibleOptions[1], 'Enter');
2371
+ expect(el.opened).to.equal(true);
2372
+ });
2373
+ });
2374
+
2375
+ describe('Match Mode', () => {
2376
+ it('has a default value of "all"', async () => {
2377
+ const [el] = await fruitFixture();
2378
+ expect(el.matchMode).to.equal('all');
2379
+ });
2380
+
2381
+ it('will suggest partial matches (in the middle of the word) when set to "all"', async () => {
2382
+ const [el] = await fruitFixture();
2383
+ mimicUserTyping(/** @type {LionCombobox} */ (el), 'c');
2384
+ await el.updateComplete;
2385
+ expect(getFilteredOptionValues(/** @type {LionCombobox} */ (el))).to.eql([
2386
+ 'Artichoke',
2387
+ 'Chard',
2388
+ 'Chicory',
2389
+ 'Victoria Plum',
2390
+ ]);
2391
+ });
2392
+
2393
+ it('will only suggest beginning matches when set to "begin"', async () => {
2394
+ const [el] = await fruitFixture({ matchMode: 'begin' });
2395
+ mimicUserTyping(/** @type {LionCombobox} */ (el), 'ch');
2396
+ await el.updateComplete;
2397
+ expect(getFilteredOptionValues(/** @type {LionCombobox} */ (el))).to.eql([
2398
+ 'Chard',
2399
+ 'Chicory',
2400
+ ]);
2401
+ });
2402
+
2403
+ describe('Subclassers', () => {
2404
+ it('allows for custom matching functions', async () => {
2405
+ const [el] = await fruitFixture();
2406
+ /**
2407
+ * @param {{ value: any; }} option
2408
+ * @param {any} curValue
2409
+ */
2410
+ function onlyExactMatches(option, curValue) {
2411
+ return option.value === curValue;
2412
+ }
2413
+ el.matchCondition = onlyExactMatches;
2414
+ mimicUserTyping(/** @type {LionCombobox} */ (el), 'Chicory');
2415
+ await el.updateComplete;
2416
+ expect(getFilteredOptionValues(/** @type {LionCombobox} */ (el))).to.eql(['Chicory']);
2417
+ mimicUserTyping(/** @type {LionCombobox} */ (el), 'Chicor');
2418
+ await el.updateComplete;
2419
+ expect(getFilteredOptionValues(/** @type {LionCombobox} */ (el))).to.eql([]);
2420
+ });
2421
+ });
2422
+ });
2423
+ });