@lion/ui 0.23.0 → 0.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (787) hide show
  1. package/README.md +50 -20
  2. package/components/accordion/src/LionAccordion.js +31 -42
  3. package/components/accordion/test/lion-accordion.test.js +108 -134
  4. package/components/button/src/LionButton.js +9 -12
  5. package/components/button/src/LionButtonReset.js +0 -5
  6. package/components/button/src/LionButtonSubmit.js +7 -12
  7. package/components/button/test/demos.screenshots-test.js +50 -11
  8. package/components/button/test/lion-button.test.js +0 -1
  9. package/components/button/test-suites/LionButton.suite.js +135 -145
  10. package/components/button/test-suites/LionButtonReset.suite.js +54 -72
  11. package/components/button/test-suites/LionButtonSubmit.suite.js +49 -68
  12. package/components/calendar/src/LionCalendar.js +151 -104
  13. package/components/calendar/src/calendarStyle.js +0 -1
  14. package/components/calendar/src/utils/createMonth.js +3 -4
  15. package/components/calendar/src/utils/createMultipleMonth.js +15 -7
  16. package/components/calendar/src/utils/createWeek.js +0 -2
  17. package/components/calendar/src/utils/dataTemplate.js +8 -4
  18. package/components/calendar/src/utils/dayTemplate.js +0 -6
  19. package/components/calendar/src/utils/getDayMonthYear.js +6 -2
  20. package/components/calendar/test/demos.screenshots-test.js +40 -9
  21. package/components/calendar/test/lion-calendar.test.js +171 -282
  22. package/components/calendar/test/utils/createMonth.test.js +61 -22
  23. package/components/calendar/test/utils/createMultipleMonth.test.js +14 -7
  24. package/components/calendar/test/utils/createWeek.test.js +51 -17
  25. package/components/calendar/test/utils/dataTemplate.test.js +3 -4
  26. package/components/calendar/test/utils/dayTemplate.test.js +106 -34
  27. package/components/calendar/test/utils/getFirstDayNextMonth.test.js +0 -1
  28. package/components/calendar/test/utils/getLastDayPreviousMonth.test.js +0 -1
  29. package/components/calendar/test/utils/isSameDate.test.js +0 -1
  30. package/components/calendar/test/utils/snapshots/monthTemplate_en-GB_Sunday_2018-12.js +1 -2
  31. package/components/calendar/test-helpers/CalendarObject.js +31 -62
  32. package/components/calendar/test-helpers/DayObject.js +7 -15
  33. package/components/calendar/test-suites/LionCalendar.suite.js +7 -9
  34. package/components/checkbox-group/src/LionCheckboxIndeterminate.js +17 -30
  35. package/components/checkbox-group/test/lion-checkbox-group-integrations.test.js +0 -1
  36. package/components/checkbox-group/test/lion-checkbox-group.test.js +21 -16
  37. package/components/checkbox-group/test/lion-checkbox-indeterminate-integrations.test.js +3 -3
  38. package/components/checkbox-group/test/lion-checkbox-integrations.test.js +3 -2
  39. package/components/checkbox-group/test/lion-checkbox.test.js +30 -16
  40. package/components/checkbox-group/test-suites/CheckboxIndeterminate.suite.js +147 -191
  41. package/components/collapsible/src/LionCollapsible.js +10 -15
  42. package/components/collapsible/test/lion-collapsible.test.js +4 -18
  43. package/components/combobox/src/LionCombobox.js +35 -53
  44. package/components/combobox/src/utils/makeMatchingTextBold.js +2 -5
  45. package/components/combobox/src/validators.js +0 -1
  46. package/components/combobox/test/lion-combobox-integrations.test.js +6 -6
  47. package/components/combobox/test/lion-combobox.test.js +576 -869
  48. package/components/combobox/test/validators.test.js +6 -13
  49. package/components/combobox/test-helpers/combobox-helpers.js +24 -11
  50. package/components/core/src/DisabledMixin.js +61 -66
  51. package/components/core/src/DisabledWithTabIndexMixin.js +76 -83
  52. package/components/core/src/EventTargetShim.js +1 -4
  53. package/components/core/src/ScopedElementsMixin.js +4 -15
  54. package/components/core/src/ScopedStylesController.js +1 -5
  55. package/components/core/src/SlotMixin.js +236 -239
  56. package/components/core/src/browserDetection.js +5 -12
  57. package/components/core/test/DisabledMixin.test.js +24 -39
  58. package/components/core/test/DisabledWithTabIndexMixin.test.js +21 -34
  59. package/components/core/test/EventTargetShim.test.js +0 -8
  60. package/components/core/test/ScopedElementsMixin.test.js +22 -38
  61. package/components/core/test/ScopedStylesController.test.js +11 -20
  62. package/components/core/test/SlotMixin.test.js +102 -154
  63. package/components/core/test-helpers/getCachedFixture.js +5 -11
  64. package/components/core/types/SlotMixinTypes.ts +8 -3
  65. package/components/dialog/src/LionDialog.js +4 -3
  66. package/components/dialog/test/lion-dialog.integration.test.js +10 -20
  67. package/components/dialog/test/lion-dialog.test.js +48 -62
  68. package/components/dialog/test-helpers/test-router.js +4 -6
  69. package/components/drawer/src/LionDrawer.js +18 -34
  70. package/components/drawer/src/drawerStyle.js +0 -1
  71. package/components/drawer/test/lion-drawer.test.js +1 -17
  72. package/components/fieldset/test/lion-fieldset.test.js +6 -4
  73. package/components/form/src/LionForm.js +18 -13
  74. package/components/form/test/lion-form.test.js +22 -52
  75. package/components/form-core/src/FocusMixin.js +172 -174
  76. package/components/form-core/src/FormControlMixin.js +811 -813
  77. package/components/form-core/src/FormatMixin.js +537 -537
  78. package/components/form-core/src/InteractionStateMixin.js +196 -183
  79. package/components/form-core/src/LionField.js +9 -5
  80. package/components/form-core/src/NativeTextFieldMixin.js +114 -116
  81. package/components/form-core/src/choice-group/ChoiceGroupMixin.js +322 -364
  82. package/components/form-core/src/choice-group/ChoiceInputMixin.js +306 -296
  83. package/components/form-core/src/choice-group/CustomChoiceGroupMixin.js +114 -139
  84. package/components/form-core/src/form-group/FormElementsHaveNoError.js +0 -2
  85. package/components/form-core/src/form-group/FormGroupMixin.js +551 -557
  86. package/components/form-core/src/registration/FormRegisteringMixin.js +72 -71
  87. package/components/form-core/src/registration/FormRegistrarMixin.js +201 -217
  88. package/components/form-core/src/registration/FormRegistrarPortalMixin.js +31 -37
  89. package/components/form-core/src/utils/SyncUpdatableMixin.js +106 -117
  90. package/components/form-core/src/utils/getAriaElementsInRightDomOrder.js +1 -2
  91. package/components/form-core/src/validate/LionValidationFeedback.js +12 -8
  92. package/components/form-core/src/validate/Unparseable.js +4 -2
  93. package/components/form-core/src/validate/ValidateMixin.js +829 -883
  94. package/components/form-core/src/validate/Validator.js +3 -6
  95. package/components/form-core/src/validate/resultValidators/DefaultSuccess.js +1 -2
  96. package/components/form-core/src/validate/validators/DateValidators.js +0 -5
  97. package/components/form-core/src/validate/validators/NumberValidators.js +1 -5
  98. package/components/form-core/src/validate/validators/Required.js +1 -1
  99. package/components/form-core/src/validate/validators/StringValidators.js +1 -8
  100. package/components/form-core/test/FocusMixin.test.js +96 -82
  101. package/components/form-core/test/FormControlMixin.test.js +120 -176
  102. package/components/form-core/test/FormRegistrationMixins.test.js +0 -2
  103. package/components/form-core/test/FormatMixin.test.js +0 -1
  104. package/components/form-core/test/InteractionStateMixin.test.js +0 -1
  105. package/components/form-core/test/NativeTextFieldMixin.test.js +0 -1
  106. package/components/form-core/test/choice-group/ChoiceGroupMixin.test.js +0 -1
  107. package/components/form-core/test/choice-group/ChoiceInputMixin.test.js +0 -1
  108. package/components/form-core/test/choice-group/CustomChoiceGroupMixin.integrations.test.js +6 -8
  109. package/components/form-core/test/choice-group/CustomChoiceGroupMixin.test.js +0 -3
  110. package/components/form-core/test/form-group/FormGroupMixin.test.js +0 -1
  111. package/components/form-core/test/lion-field.test.js +88 -98
  112. package/components/form-core/test/utils/SyncUpdatableMixin.test.js +51 -65
  113. package/components/form-core/test/utils/getAriaElementsInRightDomOrder.test.js +3 -3
  114. package/components/form-core/test/validate/DateValidators.test.js +5 -27
  115. package/components/form-core/test/validate/NumberValidators.test.js +4 -16
  116. package/components/form-core/test/validate/Required.test.js +8 -21
  117. package/components/form-core/test/validate/ResultValidator.test.js +1 -2
  118. package/components/form-core/test/validate/StringValidators.test.js +4 -35
  119. package/components/form-core/test/validate/ValidateMixin.test.js +0 -1
  120. package/components/form-core/test/validate/ValidateMixinFeedbackPart.test.js +0 -1
  121. package/components/form-core/test/validate/Validator.test.js +39 -34
  122. package/components/form-core/test/validate/lion-validation-feedback.test.js +81 -43
  123. package/components/form-core/test-helpers/ExampleValidators.js +0 -5
  124. package/components/form-core/test-helpers/getFormControlMembers.js +2 -2
  125. package/components/form-core/test-helpers/mimicUserInput.js +5 -1
  126. package/components/form-core/test-suites/FormRegistrationMixins.suite.js +65 -122
  127. package/components/form-core/test-suites/FormatMixin.suite.js +202 -227
  128. package/components/form-core/test-suites/InteractionStateMixin.suite.js +47 -60
  129. package/components/form-core/test-suites/NativeTextFieldMixin.suite.js +8 -11
  130. package/components/form-core/test-suites/ValidateMixin.suite.js +280 -359
  131. package/components/form-core/test-suites/ValidateMixinFeedbackPart.suite.js +112 -163
  132. package/components/form-core/test-suites/choice-group/ChoiceGroupMixin.suite.js +185 -218
  133. package/components/form-core/test-suites/choice-group/ChoiceInputMixin.suite.js +116 -109
  134. package/components/form-core/test-suites/choice-group/CustomChoiceGroupMixin.suite.js +36 -70
  135. package/components/form-core/test-suites/form-group/FormGroupMixin-input.suite.js +57 -65
  136. package/components/form-core/test-suites/form-group/FormGroupMixin.suite.js +664 -523
  137. package/components/form-core/translations/bg-BG.js +0 -1
  138. package/components/form-core/translations/cs-CZ.js +0 -1
  139. package/components/form-core/translations/de-DE.js +0 -1
  140. package/components/form-core/translations/en-AU.js +0 -1
  141. package/components/form-core/translations/en-GB.js +0 -1
  142. package/components/form-core/translations/en-US.js +0 -1
  143. package/components/form-core/translations/es-ES.js +0 -1
  144. package/components/form-core/translations/fr-BE.js +0 -1
  145. package/components/form-core/translations/fr-FR.js +0 -1
  146. package/components/form-core/translations/hu-HU.js +0 -1
  147. package/components/form-core/translations/it-IT.js +0 -1
  148. package/components/form-core/translations/nl-BE.js +0 -1
  149. package/components/form-core/translations/nl-NL.js +0 -1
  150. package/components/form-core/translations/pl-PL.js +0 -1
  151. package/components/form-core/translations/ro-RO.js +0 -1
  152. package/components/form-core/translations/ru-RU.js +0 -1
  153. package/components/form-core/translations/sk-SK.js +0 -1
  154. package/components/form-core/translations/tr-TR.js +0 -1
  155. package/components/form-core/translations/uk-UA.js +0 -1
  156. package/components/form-integrations/test/dialog-integrations.test.js +1 -4
  157. package/components/form-integrations/test/form-group-methods.test.js +28 -31
  158. package/components/form-integrations/test/form-integrations.test.js +27 -28
  159. package/components/form-integrations/test/form-validation-integrations.test.js +21 -29
  160. package/components/form-integrations/test/helpers/umbrella-form.js +3 -5
  161. package/components/form-integrations/test/model-value-consistency.test.js +75 -77
  162. package/components/form-integrations/test/model-value-event.test.js +10 -20
  163. package/components/helpers/src/SbActionLogger.js +13 -17
  164. package/components/helpers/src/SbLocaleSwitcher.js +5 -5
  165. package/components/helpers/src/sortEachDepth.js +0 -2
  166. package/components/helpers/test/renderLitAsNode.test.js +0 -4
  167. package/components/helpers/test/sb-action-logger.test.js +24 -55
  168. package/components/icon/src/IconManager.js +0 -2
  169. package/components/icon/src/LionIcon.js +2 -7
  170. package/components/icon/src/icons.js +0 -2
  171. package/components/icon/test/IconManager.test.js +0 -15
  172. package/components/icon/test/hammer.svg.js +3 -4
  173. package/components/icon/test/heart.svg.js +3 -4
  174. package/components/icon/test/lion-icon.test.js +14 -43
  175. package/components/input/src/LionInput.js +2 -8
  176. package/components/input/test/input-integrations.test.js +0 -5
  177. package/components/input/test/lion-input-integrations.test.js +0 -4
  178. package/components/input/test/lion-input.test.js +28 -58
  179. package/components/input/test-helpers/getInputMembers.js +2 -2
  180. package/components/input-amount/src/LionInputAmount.js +20 -20
  181. package/components/input-amount/src/formatters.js +0 -3
  182. package/components/input-amount/src/parsers.js +0 -3
  183. package/components/input-amount/test/formatters.test.js +24 -16
  184. package/components/input-amount/test/lion-input-amount-integrations.test.js +0 -4
  185. package/components/input-amount/test/lion-input-amount.test.js +123 -147
  186. package/components/input-amount/test/parsers.test.js +33 -17
  187. package/components/input-amount/test/preprocessors.test.js +0 -3
  188. package/components/input-amount-dropdown/src/LionInputAmountDropdown.js +49 -59
  189. package/components/input-amount-dropdown/src/currencyUtil.js +8 -7
  190. package/components/input-amount-dropdown/src/parsers.js +0 -1
  191. package/components/input-amount-dropdown/src/validators.js +0 -1
  192. package/components/input-amount-dropdown/test/LionInputAmountDropdown.test.js +34 -36
  193. package/components/input-amount-dropdown/test/lion-input-amount-dropdown-integrations.test.js +18 -13
  194. package/components/input-amount-dropdown/test-helpers/mimicUserChangingDropdown.js +5 -1
  195. package/components/input-amount-dropdown/test-suites/LionInputAmountDropdown.suite.js +132 -107
  196. package/components/input-date/src/LionInputDate.js +4 -3
  197. package/components/input-date/test/lion-input-date-integrations.test.js +0 -3
  198. package/components/input-date/test/lion-input-date.test.js +19 -32
  199. package/components/input-datepicker/src/LionInputDatepicker.js +17 -29
  200. package/components/input-datepicker/src/localizeNamespaceLoader.js +1 -2
  201. package/components/input-datepicker/test/lion-input-datepicker-integrations.test.js +0 -3
  202. package/components/input-datepicker/test/lion-input-datepicker.test.js +88 -153
  203. package/components/input-datepicker/test-helpers/DatepickerInputObject.js +9 -12
  204. package/components/input-datepicker/test-suites/LionInputDatepicker.suite.js +6 -4
  205. package/components/input-datepicker/translations/bg-BG.js +0 -1
  206. package/components/input-datepicker/translations/cs-CZ.js +0 -1
  207. package/components/input-datepicker/translations/de-DE.js +0 -1
  208. package/components/input-datepicker/translations/en-AU.js +0 -1
  209. package/components/input-datepicker/translations/en-GB.js +0 -1
  210. package/components/input-datepicker/translations/en-US.js +0 -1
  211. package/components/input-datepicker/translations/es-ES.js +0 -1
  212. package/components/input-datepicker/translations/fr-BE.js +0 -1
  213. package/components/input-datepicker/translations/fr-FR.js +0 -1
  214. package/components/input-datepicker/translations/hu-HU.js +0 -1
  215. package/components/input-datepicker/translations/it-IT.js +0 -1
  216. package/components/input-datepicker/translations/nl-BE.js +0 -1
  217. package/components/input-datepicker/translations/nl-NL.js +0 -1
  218. package/components/input-datepicker/translations/pl-PL.js +0 -1
  219. package/components/input-datepicker/translations/ro-RO.js +0 -1
  220. package/components/input-datepicker/translations/ru-RU.js +0 -1
  221. package/components/input-datepicker/translations/sk-SK.js +0 -1
  222. package/components/input-datepicker/translations/tr-TR.js +0 -1
  223. package/components/input-datepicker/translations/uk-UA.js +0 -1
  224. package/components/input-email/test/lion-input-email-integrations.test.js +0 -2
  225. package/components/input-email/test/lion-input-email.test.js +1 -7
  226. package/components/input-file/src/FileHandle.js +0 -3
  227. package/components/input-file/src/LionInputFile.js +85 -83
  228. package/components/input-file/src/LionSelectedFileList.js +12 -12
  229. package/components/input-file/src/validators.js +10 -9
  230. package/components/input-file/test/FileValidators.test.js +170 -80
  231. package/components/input-file/test/lion-input-file.test.js +160 -244
  232. package/components/input-file/test/lion-selected-file-list.test.js +13 -22
  233. package/components/input-file/translations/bg-BG.js +0 -1
  234. package/components/input-file/translations/cs-CZ.js +0 -1
  235. package/components/input-file/translations/de-DE.js +0 -1
  236. package/components/input-file/translations/en-AU.js +0 -1
  237. package/components/input-file/translations/en-GB.js +0 -1
  238. package/components/input-file/translations/en-PH.js +0 -1
  239. package/components/input-file/translations/en-US.js +0 -1
  240. package/components/input-file/translations/en.js +2 -1
  241. package/components/input-file/translations/es-ES.js +0 -1
  242. package/components/input-file/translations/fr-BE.js +0 -1
  243. package/components/input-file/translations/fr-FR.js +0 -1
  244. package/components/input-file/translations/hu-HU.js +0 -1
  245. package/components/input-file/translations/id-ID.js +0 -1
  246. package/components/input-file/translations/id.js +2 -1
  247. package/components/input-file/translations/it-IT.js +0 -1
  248. package/components/input-file/translations/nl-BE.js +0 -1
  249. package/components/input-file/translations/nl-NL.js +0 -1
  250. package/components/input-file/translations/pl-PL.js +0 -1
  251. package/components/input-file/translations/ro-RO.js +0 -1
  252. package/components/input-file/translations/ru-RU.js +0 -1
  253. package/components/input-file/translations/sk-SK.js +0 -1
  254. package/components/input-file/translations/uk-UA.js +0 -1
  255. package/components/input-file/translations/zh-CN.js +0 -1
  256. package/components/input-iban/src/validators.js +6 -11
  257. package/components/input-iban/test/formatters.test.js +0 -3
  258. package/components/input-iban/test/lion-input-iban-integrations.test.js +0 -2
  259. package/components/input-iban/test/lion-input-iban.test.js +1 -9
  260. package/components/input-iban/test/parsers.test.js +0 -2
  261. package/components/input-iban/test/validators.test.js +0 -12
  262. package/components/input-iban/translations/bg-BG.js +0 -1
  263. package/components/input-iban/translations/cs-CZ.js +0 -1
  264. package/components/input-iban/translations/de-DE.js +0 -1
  265. package/components/input-iban/translations/en-AU.js +0 -1
  266. package/components/input-iban/translations/en-GB.js +0 -1
  267. package/components/input-iban/translations/en-US.js +0 -1
  268. package/components/input-iban/translations/es-ES.js +0 -1
  269. package/components/input-iban/translations/fr-BE.js +0 -1
  270. package/components/input-iban/translations/fr-FR.js +0 -1
  271. package/components/input-iban/translations/hu-HU.js +0 -1
  272. package/components/input-iban/translations/it-IT.js +0 -1
  273. package/components/input-iban/translations/nl-BE.js +0 -1
  274. package/components/input-iban/translations/nl-NL.js +0 -1
  275. package/components/input-iban/translations/pl-PL.js +0 -1
  276. package/components/input-iban/translations/ro-RO.js +0 -1
  277. package/components/input-iban/translations/ru-RU.js +0 -1
  278. package/components/input-iban/translations/sk-SK.js +0 -1
  279. package/components/input-iban/translations/uk-UA.js +0 -1
  280. package/components/input-range/src/LionInputRange.js +18 -19
  281. package/components/input-range/test/lion-input-range.test.js +23 -48
  282. package/components/input-range/translations/bg-BG.js +0 -1
  283. package/components/input-range/translations/cs-CZ.js +0 -1
  284. package/components/input-range/translations/de-DE.js +0 -1
  285. package/components/input-range/translations/en-AU.js +0 -1
  286. package/components/input-range/translations/en-GB.js +0 -1
  287. package/components/input-range/translations/en-PH.js +0 -1
  288. package/components/input-range/translations/en-US.js +0 -1
  289. package/components/input-range/translations/es-ES.js +0 -1
  290. package/components/input-range/translations/fr-BE.js +0 -1
  291. package/components/input-range/translations/fr-FR.js +0 -1
  292. package/components/input-range/translations/hu-HU.js +0 -1
  293. package/components/input-range/translations/it-IT.js +0 -1
  294. package/components/input-range/translations/nl-BE.js +0 -1
  295. package/components/input-range/translations/nl-NL.js +0 -1
  296. package/components/input-range/translations/pl-PL.js +0 -1
  297. package/components/input-range/translations/ro-RO.js +0 -1
  298. package/components/input-range/translations/ru-RU.js +0 -1
  299. package/components/input-range/translations/sk-SK.js +0 -1
  300. package/components/input-range/translations/uk-UA.js +0 -1
  301. package/components/input-range/translations/zh-CN.js +0 -1
  302. package/components/input-stepper/src/LionInputStepper.js +19 -38
  303. package/components/input-stepper/test/lion-input-stepper-integrations.test.js +0 -1
  304. package/components/input-stepper/test/lion-input-stepper.test.js +0 -1
  305. package/components/input-stepper/test-suites/lion-input-stepper.integration.suite.js +0 -2
  306. package/components/input-stepper/test-suites/lion-input-stepper.suite.js +56 -105
  307. package/components/input-stepper/translations/bg-BG.js +0 -1
  308. package/components/input-stepper/translations/cs-CZ.js +0 -1
  309. package/components/input-stepper/translations/de-DE.js +0 -1
  310. package/components/input-stepper/translations/en-AU.js +0 -1
  311. package/components/input-stepper/translations/en-GB.js +0 -1
  312. package/components/input-stepper/translations/en-US.js +0 -1
  313. package/components/input-stepper/translations/es-ES.js +0 -1
  314. package/components/input-stepper/translations/fr-BE.js +0 -1
  315. package/components/input-stepper/translations/fr-FR.js +0 -1
  316. package/components/input-stepper/translations/hu-HU.js +0 -1
  317. package/components/input-stepper/translations/it-IT.js +0 -1
  318. package/components/input-stepper/translations/nl-BE.js +0 -1
  319. package/components/input-stepper/translations/nl-NL.js +0 -1
  320. package/components/input-stepper/translations/pl-PL.js +0 -1
  321. package/components/input-stepper/translations/ro-RO.js +0 -1
  322. package/components/input-stepper/translations/ru-RU.js +0 -1
  323. package/components/input-stepper/translations/sk-SK.js +0 -1
  324. package/components/input-stepper/translations/uk-UA.js +0 -1
  325. package/components/input-tel/src/LionInputTel.js +53 -37
  326. package/components/input-tel/src/PhoneUtilManager.js +6 -4
  327. package/components/input-tel/src/formatters.js +12 -10
  328. package/components/input-tel/src/parsers.js +3 -3
  329. package/components/input-tel/src/preprocessors.js +15 -7
  330. package/components/input-tel/src/validators.js +4 -6
  331. package/components/input-tel/test/LionInputTel.test.js +4 -2
  332. package/components/input-tel/test/formatters.test.js +22 -10
  333. package/components/input-tel/test/parsers.test.js +40 -11
  334. package/components/input-tel/test/preprocessors.test.js +24 -13
  335. package/components/input-tel/test/validators.test.js +7 -14
  336. package/components/input-tel/test-helpers/mockPhoneUtilManager.js +7 -6
  337. package/components/input-tel/test-suites/LionInputTel.suite.js +33 -73
  338. package/components/input-tel/translations/bg-BG.js +0 -1
  339. package/components/input-tel/translations/cs-CZ.js +0 -1
  340. package/components/input-tel/translations/de-DE.js +0 -1
  341. package/components/input-tel/translations/en-AU.js +0 -1
  342. package/components/input-tel/translations/en-GB.js +0 -1
  343. package/components/input-tel/translations/en-US.js +0 -1
  344. package/components/input-tel/translations/es-ES.js +0 -1
  345. package/components/input-tel/translations/fr-BE.js +0 -1
  346. package/components/input-tel/translations/fr-FR.js +0 -1
  347. package/components/input-tel/translations/hu-HU.js +0 -1
  348. package/components/input-tel/translations/it-IT.js +0 -1
  349. package/components/input-tel/translations/nl-BE.js +0 -1
  350. package/components/input-tel/translations/nl-NL.js +0 -1
  351. package/components/input-tel/translations/pl-PL.js +0 -1
  352. package/components/input-tel/translations/ro-RO.js +0 -1
  353. package/components/input-tel/translations/ru-RU.js +0 -1
  354. package/components/input-tel/translations/sk-SK.js +0 -1
  355. package/components/input-tel/translations/uk-UA.js +0 -1
  356. package/components/input-tel-dropdown/src/LionInputTelDropdown.js +10 -28
  357. package/components/input-tel-dropdown/src/regionCodeToLocale.js +3 -1
  358. package/components/input-tel-dropdown/test/LionInputTelDropdown.test.js +31 -38
  359. package/components/input-tel-dropdown/test/regionCodeToLocale.test.js +0 -1
  360. package/components/input-tel-dropdown/test-helpers/mimicUserChangingDropdown.js +5 -1
  361. package/components/input-tel-dropdown/test-suites/LionInputTelDropdown--parentheses.suite.js +16 -11
  362. package/components/input-tel-dropdown/test-suites/LionInputTelDropdown.suite.js +54 -79
  363. package/components/listbox/src/LionListbox.js +4 -1
  364. package/components/listbox/src/LionOption.js +8 -7
  365. package/components/listbox/src/LionOptions.js +0 -3
  366. package/components/listbox/src/ListboxMixin.js +786 -820
  367. package/components/listbox/test/lion-listbox.test.js +0 -1
  368. package/components/listbox/test/lion-option.test.js +53 -64
  369. package/components/listbox/test/lion-options.test.js +3 -4
  370. package/components/listbox/test-helpers/getListboxMembers.js +6 -3
  371. package/components/listbox/test-suites/ListboxMixin.suite.js +101 -261
  372. package/components/localize/src/LocalizeManager.js +40 -40
  373. package/components/localize/src/LocalizeMixin.js +130 -157
  374. package/components/localize/src/date/formatDate.js +1 -5
  375. package/components/localize/src/date/getDateFormatBasedOnLocale.js +5 -3
  376. package/components/localize/src/date/getMonthNames.js +3 -5
  377. package/components/localize/src/date/getWeekdayNames.js +1 -5
  378. package/components/localize/src/date/parseDate.js +5 -20
  379. package/components/localize/src/date/utils/normalizeIntlDate.js +0 -7
  380. package/components/localize/src/getLocalizeManager.js +0 -3
  381. package/components/localize/src/number/formatNumber.js +3 -7
  382. package/components/localize/src/number/formatNumberToParts.js +52 -18
  383. package/components/localize/src/number/getCurrencyName.js +5 -5
  384. package/components/localize/src/number/getFractionDigits.js +4 -4
  385. package/components/localize/src/number/getSeparatorsFromNumber.js +1 -3
  386. package/components/localize/src/number/parseNumber.js +0 -3
  387. package/components/localize/src/number/utils/normalize-format-number-to-parts/forceAddGroupSeparators.js +0 -1
  388. package/components/localize/src/number/utils/normalize-format-number-to-parts/forceSpaceBetweenCurrencyCodeAndNumber.js +4 -1
  389. package/components/localize/test/LocalizeManager.test.js +385 -278
  390. package/components/localize/test/LocalizeMixin.test.js +28 -112
  391. package/components/localize/test/date/formatDate.test.js +18 -48
  392. package/components/localize/test/date/getDateFormatBasedOnLocale.test.js +0 -3
  393. package/components/localize/test/date/getMonthNames.test.js +27 -12
  394. package/components/localize/test/date/getWeekdayNames.test.js +93 -49
  395. package/components/localize/test/date/normalizeDateTime.test.js +0 -2
  396. package/components/localize/test/date/parseDate.test.js +12 -16
  397. package/components/localize/test/getLocalizeManager.test.js +0 -3
  398. package/components/localize/test/isLocalizeESModule.test.js +32 -13
  399. package/components/localize/test/localize.test.js +0 -4
  400. package/components/localize/test/number/formatNumber.test.js +215 -106
  401. package/components/localize/test/number/formatNumberToParts.test.js +31 -38
  402. package/components/localize/test/number/getCurrencyName.test.js +20 -6
  403. package/components/localize/test/number/getDecimalSeparator.test.js +5 -4
  404. package/components/localize/test/number/getFractionDigits.test.js +0 -2
  405. package/components/localize/test/number/getGroupSeparator.test.js +0 -2
  406. package/components/localize/test/number/getSeparatorsFromNumber.test.js +5 -3
  407. package/components/localize/test/number/parseNumber.test.js +123 -56
  408. package/components/localize/test/side-effect-free-entrypoint.test.js +0 -6
  409. package/components/localize/test-helpers/fake-imports.js +11 -6
  410. package/components/localize/test-helpers/localizeTearDown.js +0 -1
  411. package/components/menu/src/InteractiveListMixin.js +637 -638
  412. package/components/menu/src/LionMenu.js +46 -59
  413. package/components/menu/src/MoreButtonMenuMixin.js +215 -238
  414. package/components/menu/src/MultiLevelListMixin.js +240 -246
  415. package/components/menu/src/utils/isInView.js +0 -1
  416. package/components/menu/src/utils/listItemInteractions.js +4 -4
  417. package/components/menu/test/InteractiveListMixin.test.js +0 -1
  418. package/components/menu/test/MoreButtonMenuMixin.test.js +3 -2
  419. package/components/menu/test/MultiLevelListMixin.test.js +0 -1
  420. package/components/menu/test/lion-menu-interactions.test.js +0 -1
  421. package/components/menu/test/lion-menu.test.js +6 -2
  422. package/components/menu/test-helpers/mimicKeyPress.js +12 -2
  423. package/components/menu/test-suites/InteractiveListMixin.suite.js +4 -43
  424. package/components/menu/test-suites/LionMenu.suite.js +1 -8
  425. package/components/menu/test-suites/LionMenuInteractions.suite.js +22 -44
  426. package/components/menu/test-suites/MoreButtonMenuMixin.suite.js +34 -41
  427. package/components/menu/test-suites/MultiLevelListMixin.suite.js +5 -23
  428. package/components/overlays/src/ArrowMixin.js +111 -127
  429. package/components/overlays/src/OverlayController.js +166 -151
  430. package/components/overlays/src/OverlayMixin.js +61 -63
  431. package/components/overlays/src/OverlaysManager.js +30 -32
  432. package/components/overlays/src/configurations/visibility-trigger-partials/withClickInteraction.js +0 -1
  433. package/components/overlays/src/configurations/visibility-trigger-partials/withHoverInteraction.js +11 -11
  434. package/components/overlays/src/configurations/withBottomSheetConfig.js +12 -13
  435. package/components/overlays/src/configurations/withDropdownConfig.js +4 -2
  436. package/components/overlays/src/configurations/withModalDialogConfig.js +12 -13
  437. package/components/overlays/src/configurations/withPopoverConfig.js +27 -25
  438. package/components/overlays/src/configurations/withTooltipConfig.js +15 -13
  439. package/components/overlays/src/overlayDocumentStyle.js +1 -1
  440. package/components/overlays/src/overlayShadowDomStyle.js +0 -1
  441. package/components/overlays/src/singleton.js +0 -2
  442. package/components/overlays/src/utils/adopt-styles.js +18 -18
  443. package/components/overlays/src/utils/deep-contains.js +7 -6
  444. package/components/overlays/src/utils/get-focusable-elements.js +7 -10
  445. package/components/overlays/src/utils/inert-siblings.js +2 -4
  446. package/components/overlays/src/utils/is-equal-config.js +2 -3
  447. package/components/overlays/src/utils/is-visible.js +0 -1
  448. package/components/overlays/src/utils/simulate-tab.js +1 -4
  449. package/components/overlays/src/utils/sort-by-tabindex.js +2 -4
  450. package/components/overlays/test/ArrowMixin.test.js +18 -30
  451. package/components/overlays/test/OverlayController.test.js +375 -555
  452. package/components/overlays/test/OverlayMixin.test.js +0 -2
  453. package/components/overlays/test/OverlaysManager.test.js +30 -35
  454. package/components/overlays/test/global-positioning.test.js +6 -10
  455. package/components/overlays/test/local-positioning.test.js +101 -103
  456. package/components/overlays/test/utils-tests/active-element.test.js +12 -27
  457. package/components/overlays/test/utils-tests/adopt-styles.test.js +25 -56
  458. package/components/overlays/test/utils-tests/deep-contains.test.js +73 -74
  459. package/components/overlays/test/utils-tests/get-focusable-elements.test.js +6 -23
  460. package/components/overlays/test/utils-tests/is-equal-config.test.js +32 -13
  461. package/components/overlays/test/utils-tests/visibility.test.js +44 -79
  462. package/components/overlays/test-helpers/createShadowHost.js +5 -3
  463. package/components/overlays/test-helpers/normalizeTransformStyle.js +2 -4
  464. package/components/overlays/test-suites/OverlayMixin.suite.js +152 -181
  465. package/components/overlays/test-suites/WithHoverInteraction.suite.js +96 -79
  466. package/components/overlays/translations/bg-BG.js +0 -1
  467. package/components/overlays/translations/cs-CZ.js +0 -1
  468. package/components/overlays/translations/de-DE.js +0 -1
  469. package/components/overlays/translations/en-AU.js +0 -1
  470. package/components/overlays/translations/en-GB.js +0 -1
  471. package/components/overlays/translations/en-US.js +0 -1
  472. package/components/overlays/translations/es-ES.js +0 -1
  473. package/components/overlays/translations/fr-BE.js +0 -1
  474. package/components/overlays/translations/fr-FR.js +0 -1
  475. package/components/overlays/translations/hu-HU.js +0 -1
  476. package/components/overlays/translations/it-IT.js +0 -1
  477. package/components/overlays/translations/nl-BE.js +0 -1
  478. package/components/overlays/translations/nl-NL.js +0 -1
  479. package/components/overlays/translations/pl-PL.js +0 -1
  480. package/components/overlays/translations/ro-RO.js +0 -1
  481. package/components/overlays/translations/ru-RU.js +0 -1
  482. package/components/overlays/translations/sk-SK.js +0 -1
  483. package/components/overlays/translations/tr-TR.js +0 -1
  484. package/components/overlays/translations/uk-UA.js +0 -1
  485. package/components/pagination/src/LionPagination.js +9 -12
  486. package/components/pagination/test/lion-pagination.test.js +18 -50
  487. package/components/progress-indicator/src/LionProgressIndicator.js +10 -12
  488. package/components/progress-indicator/test/lion-progress-indicator.test.js +1 -22
  489. package/components/radio-group/src/LionRadioGroup.js +1 -2
  490. package/components/radio-group/test/lion-radio-group-integrations.test.js +0 -1
  491. package/components/radio-group/test/lion-radio-group.test.js +27 -27
  492. package/components/radio-group/test/lion-radio-integrations.test.js +3 -2
  493. package/components/radio-group/test/lion-radio.test.js +30 -16
  494. package/components/select/src/LionSelect.js +12 -13
  495. package/components/select/test/lion-select.test.js +7 -12
  496. package/components/select-rich/src/LionSelectInvoker.js +18 -11
  497. package/components/select-rich/src/LionSelectRich.js +20 -43
  498. package/components/select-rich/test/demos.screenshots-test.js +40 -9
  499. package/components/select-rich/test/lion-select-invoker.test.js +26 -43
  500. package/components/select-rich/test/lion-select-listbox-suite-integration.test.js +3 -3
  501. package/components/select-rich/test/lion-select-rich-dialog-integration.test.js +4 -9
  502. package/components/select-rich/test/lion-select-rich-interaction.test.js +116 -116
  503. package/components/select-rich/test/lion-select-rich-upgrade.test.js +3 -7
  504. package/components/select-rich/test/lion-select-rich.test.js +153 -195
  505. package/components/select-rich/test-helpers/getSelectRichMembers.js +4 -1
  506. package/components/steps/src/LionStep.js +21 -12
  507. package/components/steps/src/LionSteps.js +25 -25
  508. package/components/steps/test/lion-step.test.js +18 -25
  509. package/components/steps/test/lion-steps.test.js +45 -78
  510. package/components/switch/src/LionSwitch.js +2 -7
  511. package/components/switch/src/LionSwitchButton.js +5 -6
  512. package/components/switch/test/lion-switch-button.test.js +16 -28
  513. package/components/switch/test/lion-switch.test.js +17 -31
  514. package/components/tabs/src/LionTabs.js +25 -28
  515. package/components/tabs/test/lion-tabs.test.js +156 -154
  516. package/components/textarea/src/LionTextarea.js +4 -23
  517. package/components/textarea/test/lion-textarea-integrations.test.js +0 -5
  518. package/components/textarea/test/lion-textarea.test.js +2 -28
  519. package/components/tooltip/src/LionTooltip.js +6 -6
  520. package/components/tooltip/test/lion-tooltip.test.js +75 -102
  521. package/components/validate-messages/src/getLocalizedMessage.js +8 -7
  522. package/components/validate-messages/src/loadDefaultFeedbackMessages.js +3 -1
  523. package/components/validate-messages/src/loadDefaultFeedbackMessagesNoSideEffects.js +9 -5
  524. package/components/validate-messages/src/per-entrypoint/loadComboboxMessagesNoSideEffects.js +5 -2
  525. package/components/validate-messages/src/per-entrypoint/loadFormCoreMessagesNoSideEffects.js +99 -35
  526. package/components/validate-messages/src/per-entrypoint/loadInputTelMessagesNoSideEffects.js +4 -3
  527. package/components/validate-messages/test/loadDefaultFeedbackMessages.test.js +5 -3
  528. package/components/validate-messages/test/loadDefaultFeedbackMessagesNoSideEffects.test.js +80 -45
  529. package/components/validate-messages/translations/bg-BG.js +0 -1
  530. package/components/validate-messages/translations/cs-CZ.js +0 -1
  531. package/components/validate-messages/translations/de-DE.js +0 -1
  532. package/components/validate-messages/translations/en-AU.js +0 -1
  533. package/components/validate-messages/translations/en-GB.js +0 -1
  534. package/components/validate-messages/translations/en-PH.js +0 -1
  535. package/components/validate-messages/translations/en-US.js +0 -1
  536. package/components/validate-messages/translations/es-ES.js +0 -1
  537. package/components/validate-messages/translations/fr-BE.js +0 -1
  538. package/components/validate-messages/translations/fr-FR.js +0 -1
  539. package/components/validate-messages/translations/hu-HU.js +0 -1
  540. package/components/validate-messages/translations/it-IT.js +0 -1
  541. package/components/validate-messages/translations/nl-BE.js +0 -1
  542. package/components/validate-messages/translations/nl-NL.js +0 -1
  543. package/components/validate-messages/translations/pl-PL.js +0 -1
  544. package/components/validate-messages/translations/ro-RO.js +0 -1
  545. package/components/validate-messages/translations/ru-RU.js +0 -1
  546. package/components/validate-messages/translations/sk-SK.js +0 -1
  547. package/components/validate-messages/translations/tr-TR.js +0 -1
  548. package/components/validate-messages/translations/uk-UA.js +0 -1
  549. package/custom-elements.json +191 -56
  550. package/dist-types/components/core/src/SlotMixin.d.ts +6 -1
  551. package/dist-types/components/core/src/SlotMixin.d.ts.map +1 -1
  552. package/dist-types/components/core/types/SlotMixinTypes.d.ts +5 -1
  553. package/dist-types/components/core/types/SlotMixinTypes.d.ts.map +1 -1
  554. package/dist-types/components/form-core/src/LionField.d.ts +3 -1
  555. package/dist-types/components/form-core/src/LionField.d.ts.map +1 -1
  556. package/dist-types/components/input-tel/src/LionInputTel.d.ts +6 -6
  557. package/dist-types/components/input-tel/src/LionInputTel.d.ts.map +1 -1
  558. package/dist-types/components/input-tel/src/PhoneUtilManager.d.ts +2 -2
  559. package/dist-types/components/input-tel/src/PhoneUtilManager.d.ts.map +1 -1
  560. package/dist-types/components/input-tel/src/formatters.d.ts +2 -2
  561. package/dist-types/components/input-tel/src/formatters.d.ts.map +1 -1
  562. package/dist-types/components/input-tel/src/preprocessors.d.ts +2 -2
  563. package/dist-types/components/input-tel/src/preprocessors.d.ts.map +1 -1
  564. package/dist-types/components/input-tel/test/validators.test.d.ts +1 -1
  565. package/dist-types/components/input-tel/test/validators.test.d.ts.map +1 -1
  566. package/dist-types/components/listbox/src/LionOption.d.ts +5 -2
  567. package/dist-types/components/listbox/src/LionOption.d.ts.map +1 -1
  568. package/dist-types/components/overlays/src/OverlaysManager.d.ts.map +1 -1
  569. package/dist-types/components/overlays/src/overlayDocumentStyle.d.ts.map +1 -1
  570. package/dist-types/components/select-rich/src/LionSelectInvoker.d.ts +3 -1
  571. package/dist-types/components/select-rich/src/LionSelectInvoker.d.ts.map +1 -1
  572. package/dist-types/components/select-rich/src/LionSelectRich.d.ts +1 -1
  573. package/dist-types/tsconfig.tsbuildinfo +1 -1
  574. package/docs/components/accordion/overview.md +2 -2
  575. package/docs/components/accordion/reference.md +2 -2
  576. package/docs/components/accordion/use-cases.md +2 -2
  577. package/docs/components/button/examples.md +2 -2
  578. package/docs/components/button/extensions.md +2 -2
  579. package/docs/components/button/overview.md +2 -2
  580. package/docs/components/button/use-cases.md +2 -2
  581. package/docs/components/calendar/overview.md +2 -2
  582. package/docs/components/calendar/use-cases.md +2 -2
  583. package/docs/components/checkbox-group/overview.md +4 -4
  584. package/docs/components/checkbox-group/use-cases.md +2 -2
  585. package/docs/components/collapsible/examples.md +2 -2
  586. package/docs/components/collapsible/overview.md +3 -3
  587. package/docs/components/collapsible/use-cases.md +2 -2
  588. package/docs/components/combobox/extensions.md +2 -2
  589. package/docs/components/combobox/overview.md +3 -3
  590. package/docs/components/combobox/use-cases.md +3 -3
  591. package/docs/components/dialog/overview.md +3 -3
  592. package/docs/components/dialog/use-cases.md +2 -2
  593. package/docs/components/drawer/overview.md +2 -2
  594. package/docs/components/drawer/use-cases.md +2 -2
  595. package/docs/components/fieldset/overview.md +7 -7
  596. package/docs/components/fieldset/use-cases.md +2 -2
  597. package/docs/components/form/overview.md +5 -5
  598. package/docs/components/form/use-cases.md +4 -4
  599. package/docs/components/icon/overview.md +2 -2
  600. package/docs/components/icon/use-cases.md +3 -3
  601. package/docs/components/input/overview.md +3 -3
  602. package/docs/components/input/use-cases.md +2 -2
  603. package/docs/components/input-amount/overview.md +5 -5
  604. package/docs/components/input-amount/use-cases.md +2 -2
  605. package/docs/components/input-amount-dropdown/use-cases.md +2 -2
  606. package/docs/components/input-date/overview.md +5 -5
  607. package/docs/components/input-date/use-cases.md +2 -2
  608. package/docs/components/input-datepicker/overview.md +7 -7
  609. package/docs/components/input-datepicker/use-cases.md +2 -2
  610. package/docs/components/input-email/overview.md +4 -4
  611. package/docs/components/input-email/use-cases.md +2 -2
  612. package/docs/components/input-file/overview.md +3 -3
  613. package/docs/components/input-file/use-cases.md +2 -2
  614. package/docs/components/input-iban/overview.md +4 -4
  615. package/docs/components/input-iban/use-cases.md +2 -2
  616. package/docs/components/input-range/overview.md +4 -4
  617. package/docs/components/input-range/use-cases.md +2 -2
  618. package/docs/components/input-stepper/overview.md +3 -3
  619. package/docs/components/input-stepper/use-cases.md +2 -2
  620. package/docs/components/input-tel/overview.md +3 -3
  621. package/docs/components/input-tel/use-cases.md +8 -8
  622. package/docs/components/input-tel-dropdown/extensions.md +2 -2
  623. package/docs/components/input-tel-dropdown/overview.md +3 -3
  624. package/docs/components/input-tel-dropdown/use-cases.md +2 -2
  625. package/docs/components/listbox/overview.md +2 -2
  626. package/docs/components/listbox/use-cases.md +3 -3
  627. package/docs/components/menu/extensions.md +2 -2
  628. package/docs/components/menu/migration.md +2 -2
  629. package/docs/components/menu/overview.md +2 -2
  630. package/docs/components/menu/use-cases.md +1 -1
  631. package/docs/components/pagination/overview.md +2 -2
  632. package/docs/components/pagination/use-cases.md +2 -2
  633. package/docs/components/progress-indicator/examples.md +2 -2
  634. package/docs/components/progress-indicator/overview.md +2 -2
  635. package/docs/components/radio-group/overview.md +5 -5
  636. package/docs/components/radio-group/use-cases.md +2 -2
  637. package/docs/components/select/overview.md +2 -2
  638. package/docs/components/select/use-cases.md +3 -3
  639. package/docs/components/select-rich/examples.md +2 -2
  640. package/docs/components/select-rich/overview.md +2 -2
  641. package/docs/components/select-rich/use-cases.md +4 -4
  642. package/docs/components/steps/overview.md +2 -2
  643. package/docs/components/steps/use-cases.md +2 -2
  644. package/docs/components/switch/overview.md +2 -2
  645. package/docs/components/switch/reference.md +2 -2
  646. package/docs/components/switch/use-cases.md +2 -2
  647. package/docs/components/tabs/examples.md +3 -3
  648. package/docs/components/tabs/overview.md +2 -2
  649. package/docs/components/tabs/use-cases.md +2 -2
  650. package/docs/components/textarea/overview.md +2 -2
  651. package/docs/components/textarea/use-cases.md +2 -2
  652. package/docs/components/tooltip/examples.md +2 -2
  653. package/docs/components/tooltip/overview.md +2 -2
  654. package/docs/components/tooltip/use-cases.md +2 -2
  655. package/docs/fundamentals/index.md +4 -4
  656. package/docs/fundamentals/node-tools/babel-plugin-extend-docs/index.md +2 -2
  657. package/docs/fundamentals/node-tools/babel-plugin-extend-docs/overview.md +2 -2
  658. package/docs/fundamentals/node-tools/providence-analytics/index.md +2 -2
  659. package/docs/fundamentals/node-tools/providence-analytics/overview.md +2 -2
  660. package/docs/fundamentals/node-tools/publish-docs/index.md +2 -2
  661. package/docs/fundamentals/node-tools/publish-docs/overview.md +5 -5
  662. package/docs/fundamentals/node-tools/remark-extend/index.md +2 -2
  663. package/docs/fundamentals/node-tools/remark-extend/overview.md +2 -2
  664. package/docs/fundamentals/node-tools/rocket-preset-extend-lion-docs/index.md +2 -2
  665. package/docs/fundamentals/node-tools/rocket-preset-extend-lion-docs/overview.md +4 -4
  666. package/docs/fundamentals/rationales/TypeScript.md +62 -2
  667. package/docs/fundamentals/rationales/accessibility.md +5 -5
  668. package/docs/fundamentals/rationales/side-effects.md +2 -2
  669. package/docs/fundamentals/rationales/versioning.md +2 -2
  670. package/docs/fundamentals/systems/core/SlotMixin.md +3 -3
  671. package/docs/fundamentals/systems/core/index.md +2 -2
  672. package/docs/fundamentals/systems/core/overview.md +3 -3
  673. package/docs/fundamentals/systems/form/formatting-and-parsing.md +6 -6
  674. package/docs/fundamentals/systems/form/index.md +2 -2
  675. package/docs/fundamentals/systems/form/interaction-states.md +2 -2
  676. package/docs/fundamentals/systems/form/model-value.md +3 -3
  677. package/docs/fundamentals/systems/form/overview.md +30 -30
  678. package/docs/fundamentals/systems/form/styling.md +2 -2
  679. package/docs/fundamentals/systems/form/use-cases.md +2 -2
  680. package/docs/fundamentals/systems/form/validate.md +4 -4
  681. package/docs/fundamentals/systems/icon/index.md +2 -2
  682. package/docs/fundamentals/systems/icon/overview.md +2 -2
  683. package/docs/fundamentals/systems/localize/dates.md +2 -2
  684. package/docs/fundamentals/systems/localize/index.md +2 -2
  685. package/docs/fundamentals/systems/localize/numbers.md +2 -2
  686. package/docs/fundamentals/systems/localize/overview.md +6 -6
  687. package/docs/fundamentals/systems/localize/rationale.md +2 -2
  688. package/docs/fundamentals/systems/localize/text.md +2 -2
  689. package/docs/fundamentals/systems/localize/use-cases.md +2 -2
  690. package/docs/fundamentals/systems/overlays/_edge-cases.md +2 -2
  691. package/docs/fundamentals/systems/overlays/configuration.md +4 -4
  692. package/docs/fundamentals/systems/overlays/index.md +2 -2
  693. package/docs/fundamentals/systems/overlays/overview.md +7 -7
  694. package/docs/fundamentals/systems/overlays/rationale.md +2 -2
  695. package/docs/fundamentals/systems/overlays/use-cases.md +4 -4
  696. package/docs/fundamentals/tools/ajax/index.md +2 -2
  697. package/docs/fundamentals/tools/ajax/overview.md +2 -2
  698. package/docs/fundamentals/tools/ajax/use-cases.md +2 -2
  699. package/docs/fundamentals/tools/helpers/action-logger.md +2 -2
  700. package/docs/fundamentals/tools/helpers/index.md +2 -2
  701. package/docs/fundamentals/tools/helpers/overview.md +3 -3
  702. package/docs/fundamentals/tools/singleton-manager/example-complex/index.md +2 -2
  703. package/docs/fundamentals/tools/singleton-manager/example-fail/index.md +2 -2
  704. package/docs/fundamentals/tools/singleton-manager/example-success/index.md +2 -2
  705. package/docs/fundamentals/tools/singleton-manager/index.md +2 -2
  706. package/docs/fundamentals/tools/singleton-manager/overview.md +6 -6
  707. package/docs/guides/how-to/create-a-custom-field.md +7 -7
  708. package/docs/guides/how-to/create-a-form.md +6 -6
  709. package/docs/guides/how-to/extend-a-native-input.md +4 -4
  710. package/docs/guides/how-to/get-started.md +2 -2
  711. package/docs/guides/how-to/index.md +1 -1
  712. package/docs/guides/index.md +8 -8
  713. package/docs/guides/principles/definitions-and-terms.md +2 -2
  714. package/docs/guides/principles/index.md +5 -5
  715. package/docs/guides/principles/scoped-elements.md +2 -2
  716. package/docs/guides/principles/styling.md +3 -3
  717. package/docs/guides/principles/subclasser-apis.md +2 -2
  718. package/exports/define/lion-accordion.js +0 -1
  719. package/exports/define/lion-button-reset.js +0 -1
  720. package/exports/define/lion-button-submit.js +0 -1
  721. package/exports/define/lion-button.js +0 -1
  722. package/exports/define/lion-calendar.js +0 -1
  723. package/exports/define/lion-checkbox-group.js +0 -1
  724. package/exports/define/lion-checkbox-indeterminate.js +0 -1
  725. package/exports/define/lion-checkbox.js +0 -1
  726. package/exports/define/lion-collapsible.js +0 -1
  727. package/exports/define/lion-combobox.js +0 -1
  728. package/exports/define/lion-dialog.js +0 -1
  729. package/exports/define/lion-drawer.js +0 -1
  730. package/exports/define/lion-field.js +0 -1
  731. package/exports/define/lion-fieldset.js +0 -1
  732. package/exports/define/lion-form.js +0 -1
  733. package/exports/define/lion-icon.js +0 -1
  734. package/exports/define/lion-input-amount-dropdown.js +0 -1
  735. package/exports/define/lion-input-amount.js +0 -1
  736. package/exports/define/lion-input-date.js +0 -1
  737. package/exports/define/lion-input-datepicker.js +0 -1
  738. package/exports/define/lion-input-email.js +0 -1
  739. package/exports/define/lion-input-file.js +0 -1
  740. package/exports/define/lion-input-iban.js +0 -1
  741. package/exports/define/lion-input-range.js +0 -1
  742. package/exports/define/lion-input-stepper.js +0 -1
  743. package/exports/define/lion-input-tel-dropdown.js +0 -1
  744. package/exports/define/lion-input-tel.js +0 -1
  745. package/exports/define/lion-input.js +0 -1
  746. package/exports/define/lion-item.js +0 -1
  747. package/exports/define/lion-listbox.js +0 -1
  748. package/exports/define/lion-menu.js +0 -1
  749. package/exports/define/lion-menuitem.js +0 -1
  750. package/exports/define/lion-option.js +0 -1
  751. package/exports/define/lion-options.js +0 -1
  752. package/exports/define/lion-pagination.js +0 -1
  753. package/exports/define/lion-progress-indicator.js +0 -1
  754. package/exports/define/lion-radio-group.js +0 -1
  755. package/exports/define/lion-radio.js +0 -1
  756. package/exports/define/lion-select-invoker.js +0 -1
  757. package/exports/define/lion-select-rich.js +0 -1
  758. package/exports/define/lion-select.js +0 -1
  759. package/exports/define/lion-selected-file-list.js +0 -1
  760. package/exports/define/lion-step.js +0 -1
  761. package/exports/define/lion-steps.js +0 -1
  762. package/exports/define/lion-switch-button.js +0 -1
  763. package/exports/define/lion-switch.js +0 -1
  764. package/exports/define/lion-tabs.js +0 -1
  765. package/exports/define/lion-textarea.js +0 -1
  766. package/exports/define/lion-tooltip.js +0 -1
  767. package/exports/define/lion-validation-feedback.js +0 -1
  768. package/exports/define-helpers/sb-action-logger.js +0 -1
  769. package/exports/define-helpers/sb-locale-switcher.js +0 -1
  770. package/exports/form-core.js +0 -8
  771. package/exports/localize-no-side-effects.js +0 -1
  772. package/exports/localize.js +0 -2
  773. package/exports/overlays.js +0 -4
  774. package/generated/awesome-phonenumber/LICENSE +22 -0
  775. package/generated/awesome-phonenumber/LICENSE.closure-library +176 -0
  776. package/generated/awesome-phonenumber/LICENSE.libphonenumber +176 -0
  777. package/generated/awesome-phonenumber/checksums.json +6 -0
  778. package/generated/awesome-phonenumber/index-esm.mjs +817 -0
  779. package/generated/awesome-phonenumber/index.d.ts +227 -0
  780. package/generated/awesome-phonenumber/index.js +45 -0
  781. package/generated/awesome-phonenumber/lib/index.js +710 -0
  782. package/generated/awesome-phonenumber/package.json +9 -0
  783. package/generated/awesome-phonenumber/provenance.json +13 -0
  784. package/package.json +32 -10
  785. package/web-types.json +1 -1
  786. package/vendor/README.md +0 -61
  787. package/vendor/awesome-phonenumber-7.9.0-tlouisse.libphonenumber-9.0.41.tgz +0 -0
@@ -2,7 +2,6 @@ import { defineCE, unsafeStatic } from '@open-wc/testing';
2
2
  import { LitElement, html } from 'lit';
3
3
  import { OverlayMixin } from '@lion/ui/overlays.js';
4
4
  import { runOverlayMixinSuite } from '../test-suites/OverlayMixin.suite.js';
5
-
6
5
  const tagString = defineCE(
7
6
  class extends OverlayMixin(LitElement) {
8
7
  render() {
@@ -16,7 +15,6 @@ const tagString = defineCE(
16
15
  },
17
16
  );
18
17
  const tag = unsafeStatic(tagString);
19
-
20
18
  describe('OverlayMixin integrations', () => {
21
19
  runOverlayMixinSuite({
22
20
  tagString,
@@ -13,28 +13,22 @@ describe('OverlaysManager', () => {
13
13
  let defaultOptions;
14
14
  /** @type {OverlaysManager} */
15
15
  let mngr;
16
-
17
16
  beforeEach(async () => {
18
- const contentNode = /** @type {HTMLElement} */ (await fixture(html`<p>my content</p>`));
19
-
17
+ const contentNode = /** @type {HTMLElement} */ await fixture(html`<p>my content</p>`);
20
18
  defaultOptions = {
21
19
  placementMode: 'global',
22
20
  contentNode,
23
21
  };
24
22
  mngr = new OverlaysManager();
25
23
  });
26
-
27
24
  afterEach(() => {
28
25
  mngr.teardown();
29
26
  });
30
-
31
27
  it('provides global stylesheet for arrangement of body scroll', () => {
32
28
  expect(document.head.querySelectorAll('[data-overlays]').length).to.equal(1);
33
29
  });
34
-
35
30
  it('provides .teardown() for cleanup', () => {
36
31
  expect(document.head.querySelector('[data-overlays=""]')).not.be.undefined;
37
-
38
32
  mngr.teardown();
39
33
  expect(document.head.querySelector('[data-overlays=""]')).be.null;
40
34
 
@@ -48,84 +42,71 @@ describe('OverlaysManager', () => {
48
42
  // @ts-ignore [allow-private-in-test]
49
43
  expect(mngr._siblingsInert).to.be.false;
50
44
  });
51
-
52
45
  it('can add/remove controllers', () => {
53
46
  // OverlayControllers will add themselves
54
47
  const dialog = new OverlayController(defaultOptions, mngr);
55
48
  const popup = new OverlayController(defaultOptions, mngr);
56
-
57
49
  expect(mngr.list).to.deep.equal([dialog, popup]);
58
-
59
50
  mngr.remove(popup);
60
51
  expect(mngr.list).to.deep.equal([dialog]);
61
-
62
52
  mngr.remove(dialog);
63
53
  expect(mngr.list).to.deep.equal([]);
64
54
  });
65
-
66
55
  it('throws if you try to add the same controller', () => {
67
56
  const ctrl = new OverlayController(defaultOptions, mngr);
68
57
  expect(() => mngr.add(ctrl)).to.throw('controller instance is already added');
69
58
  });
70
-
71
59
  it('throws if you try to remove a non existing controller', () => {
72
60
  // we do not pass one our own manager so it will not be added to it
73
61
  const ctrl = new OverlayController(defaultOptions);
74
62
  expect(() => mngr.remove(ctrl)).to.throw('could not find controller to remove');
75
63
  });
76
-
77
64
  it('adds a reference to the manager to the controller', () => {
78
65
  const dialog = new OverlayController(defaultOptions, mngr);
79
-
80
66
  expect(dialog.manager).to.equal(mngr);
81
67
  });
82
-
83
68
  it('has a .shownList which is ordered based on last shown', async () => {
84
69
  const dialog = new OverlayController(defaultOptions, mngr);
85
70
  const dialog2 = new OverlayController(defaultOptions, mngr);
86
71
  expect(mngr.shownList).to.deep.equal([]);
87
-
88
72
  await dialog.show();
89
73
  expect(mngr.shownList).to.deep.equal([dialog]);
90
-
91
74
  await dialog2.show();
92
75
  expect(mngr.shownList).to.deep.equal([dialog2, dialog]);
93
-
94
76
  await dialog.show();
95
77
  expect(mngr.shownList).to.deep.equal([dialog, dialog2]);
96
-
97
78
  await dialog.hide();
98
79
  expect(mngr.shownList).to.deep.equal([dialog2]);
99
-
100
80
  await dialog2.hide();
101
81
  expect(mngr.shownList).to.deep.equal([]);
102
82
  });
103
-
104
83
  describe('Browser/device edge cases', () => {
105
84
  const isIOSDetectionStub = sinon.stub(browserDetection, 'isIOS');
106
85
  const isMacSafariDetectionStub = sinon.stub(browserDetection, 'isMacSafari');
107
-
108
86
  function mockIOS() {
109
87
  isIOSDetectionStub.value(true);
110
88
  isMacSafariDetectionStub.value(false);
111
89
  }
112
-
113
90
  function mockMacSafari() {
114
91
  // When we are iOS
115
92
  isIOSDetectionStub.value(false);
116
93
  isMacSafariDetectionStub.value(true);
117
94
  }
118
-
119
95
  afterEach(() => {
120
96
  // Restore original values
121
97
  isIOSDetectionStub.restore();
122
98
  isMacSafariDetectionStub.restore();
123
99
  });
124
-
125
100
  describe('When initialized with "preventsScroll: true"', () => {
126
101
  it('adds class "overlays-scroll-lock-ios-fix" to body and html on iOS', async () => {
127
102
  mockIOS();
128
- const dialog = new OverlayController({ ...defaultOptions, preventsScroll: true }, mngr);
103
+ const dialog = new OverlayController(
104
+ {
105
+ ...defaultOptions,
106
+ preventsScroll: true,
107
+ },
108
+ mngr,
109
+ );
129
110
  await dialog.show();
130
111
  expect(Array.from(document.body.classList)).to.contain('overlays-scroll-lock-ios-fix');
131
112
  expect(Array.from(document.documentElement.classList)).to.contain(
@@ -140,18 +121,28 @@ describe('OverlaysManager', () => {
140
121
  // When we are not iOS nor MacSafari
141
122
  isIOSDetectionStub.value(false);
142
123
  isMacSafariDetectionStub.value(false);
143
-
144
- const dialog2 = new OverlayController({ ...defaultOptions, preventsScroll: true }, mngr);
124
+ const dialog2 = new OverlayController(
125
+ {
126
+ ...defaultOptions,
127
+ preventsScroll: true,
128
+ },
129
+ mngr,
130
+ );
145
131
  await dialog2.show();
146
132
  expect(Array.from(document.body.classList)).to.not.contain('overlays-scroll-lock-ios-fix');
147
133
  expect(Array.from(document.documentElement.classList)).to.not.contain(
148
134
  'overlays-scroll-lock-ios-fix',
149
135
  );
150
136
  });
151
-
152
137
  it('adds class "overlays-scroll-lock-ios-fix" to body on MacSafari', async () => {
153
138
  mockMacSafari();
154
- const dialog = new OverlayController({ ...defaultOptions, preventsScroll: true }, mngr);
139
+ const dialog = new OverlayController(
140
+ {
141
+ ...defaultOptions,
142
+ preventsScroll: true,
143
+ },
144
+ mngr,
145
+ );
155
146
  await dialog.show();
156
147
  expect(Array.from(document.body.classList)).to.contain('overlays-scroll-lock-ios-fix');
157
148
  expect(Array.from(document.documentElement.classList)).to.not.contain(
@@ -165,13 +156,17 @@ describe('OverlaysManager', () => {
165
156
  });
166
157
  it('remove class "overlays-scroll-lock-ios-fix" after teardown', async () => {
167
158
  mockIOS();
168
- const dialog = new OverlayController({ ...defaultOptions, preventsScroll: true }, mngr);
159
+ const dialog = new OverlayController(
160
+ {
161
+ ...defaultOptions,
162
+ preventsScroll: true,
163
+ },
164
+ mngr,
165
+ );
169
166
  await dialog.show();
170
-
171
167
  await dialog.teardown();
172
-
173
168
  expect(
174
- Array.from(document.body.classList).filter(cls =>
169
+ Array.from(document.body.classList).filter((cls) =>
175
170
  ['overlays-scroll-lock', 'overlays-scroll-lock-ios-fix'].includes(cls),
176
171
  ),
177
172
  ).to.be.empty;
@@ -7,17 +7,14 @@ import { OverlayController, overlays } from '@lion/ui/overlays.js';
7
7
  * @typedef {import('../types/OverlayConfig.js').ViewportPlacement} ViewportPlacement
8
8
  */
9
9
 
10
- const withDefaultGlobalConfig = () =>
11
- /** @type {OverlayConfig} */ ({
12
- placementMode: 'global',
13
- contentNode: fixtureSync(html`<p>my content</p>`),
14
- });
15
-
10
+ const withDefaultGlobalConfig = () => /** @type {OverlayConfig} */ ({
11
+ placementMode: 'global',
12
+ contentNode: fixtureSync(html`<p>my content</p>`),
13
+ });
16
14
  describe('Global Positioning', () => {
17
15
  afterEach(() => {
18
16
  overlays.teardown();
19
17
  });
20
-
21
18
  describe('viewportConfig', () => {
22
19
  it('positions the overlay in center by default', async () => {
23
20
  const ctrl = new OverlayController({
@@ -27,7 +24,6 @@ describe('Global Positioning', () => {
27
24
  expect(ctrl.contentWrapperNode.classList.contains('overlays__overlay-container--center')).to
28
25
  .be.true;
29
26
  });
30
-
31
27
  it('positions relative to the viewport ', async () => {
32
28
  const placementMap = [
33
29
  'top-left',
@@ -40,11 +36,11 @@ describe('Global Positioning', () => {
40
36
  'left',
41
37
  'center',
42
38
  ];
43
- placementMap.forEach(async viewportPlacement => {
39
+ placementMap.forEach(async (viewportPlacement) => {
44
40
  const ctrl = new OverlayController({
45
41
  ...withDefaultGlobalConfig(),
46
42
  viewportConfig: {
47
- placement: /** @type {ViewportPlacement} */ (viewportPlacement),
43
+ placement: /** @type {ViewportPlacement} */ viewportPlacement,
48
44
  },
49
45
  });
50
46
  await ctrl.show();
@@ -17,41 +17,34 @@ import { normalizeTransformStyle } from '../test-helpers/normalizeTransformStyle
17
17
  * @param {{clickHandler?: function; width?: number; height?: number}} opts
18
18
  */
19
19
  function createInvokerSync({ clickHandler = () => {}, width = 100, height = 20 }) {
20
- return /** @type {HTMLDivElement} */ (
21
- fixtureSync(html`
22
- <div
23
- role="button"
24
- style="width: ${width}px; height: ${height}px; background: red; color: white;"
25
- @click=${clickHandler}
26
- >
27
- Invoker
28
- </div>
29
- `)
30
- );
20
+ return /** @type {HTMLDivElement} */ fixtureSync(html`
21
+ <div
22
+ role="button"
23
+ style="width: ${width}px; height: ${height}px; background: red; color: white;"
24
+ @click=${clickHandler}
25
+ >
26
+ Invoker
27
+ </div>
28
+ `);
31
29
  }
32
30
 
33
31
  /**
34
32
  * @param {{ width?: number; height?: number }} opts
35
33
  */
36
34
  function createContentSync({ width = 80, height = 20 }) {
37
- return /** @type {HTMLDivElement} */ (
38
- fixtureSync(html`
39
- <div style="width: ${width}px; height: ${height}px; background: green; color: white;">
40
- Content
41
- </div>
42
- `)
43
- );
35
+ return /** @type {HTMLDivElement} */ fixtureSync(html`
36
+ <div style="width: ${width}px; height: ${height}px; background: green; color: white;">
37
+ Content
38
+ </div>
39
+ `);
44
40
  }
45
-
46
- const withLocalTestConfig = () =>
47
- /** @type {OverlayConfig} */ ({
48
- placementMode: 'local',
49
- contentNode: /** @type {HTMLElement} */ (fixtureSync(html` <div>my content</div> `)),
50
- invokerNode: /** @type {HTMLElement} */ (
51
- fixtureSync(html` <div role="button" style="width: 100px; height: 20px;">Invoker</div> `)
52
- ),
53
- });
54
-
41
+ const withLocalTestConfig = () => /** @type {OverlayConfig} */ ({
42
+ placementMode: 'local',
43
+ contentNode: /** @type {HTMLElement} */ fixtureSync(html` <div>my content</div> `),
44
+ invokerNode:
45
+ /** @type {HTMLElement} */
46
+ fixtureSync(html` <div role="button" style="width: 100px; height: 20px;">Invoker</div> `),
47
+ });
55
48
  describe('Local Positioning', () => {
56
49
  // Please use absolute positions in the tests below to prevent the HTML generated by
57
50
  // the test runner from interfering.
@@ -67,19 +60,18 @@ describe('Local Positioning', () => {
67
60
  // @ts-ignore [popper-instance-access-in-test]
68
61
  expect(ctrl._popper.state.modifiersData).to.exist;
69
62
  });
70
-
71
63
  it('positions correctly', async () => {
72
64
  // smoke test for integration of popper
73
65
  const ctrl = new OverlayController({
74
66
  ...withLocalTestConfig(),
75
- contentNode: /** @type {HTMLElement} */ (
76
- fixtureSync(html` <div style="width: 80px; height: 30px; background: green;"></div> `)
77
- ),
78
- invokerNode: /** @type {HTMLElement} */ (
67
+ contentNode:
68
+ /** @type {HTMLElement} */
69
+ fixtureSync(html` <div style="width: 80px; height: 30px; background: green;"></div> `),
70
+ invokerNode:
71
+ /** @type {HTMLElement} */
79
72
  fixtureSync(html`
80
73
  <div role="button" style="width: 20px; height: 10px; background: orange;">Button</div>
81
- `)
82
- ),
74
+ `),
83
75
  });
84
76
  await fixture(html`
85
77
  <div style="position: fixed; left: 100px; top: 100px;">
@@ -92,25 +84,23 @@ describe('Local Positioning', () => {
92
84
  if (browserDetection.isFirefox) {
93
85
  return;
94
86
  }
95
-
96
87
  expect(normalizeTransformStyle(ctrl.contentWrapperNode.style.transform)).to.equal(
97
88
  'translate(70px, -508px)',
98
89
  );
99
90
  });
100
-
101
91
  it('uses top as the default placement', async () => {
102
92
  const ctrl = new OverlayController({
103
93
  ...withLocalTestConfig(),
104
- contentNode: /** @type {HTMLElement} */ (
105
- fixtureSync(html` <div style="width: 80px; height: 20px;"></div> `)
106
- ),
107
- invokerNode: /** @type {HTMLElement} */ (
94
+ contentNode:
95
+ /** @type {HTMLElement} */
96
+ fixtureSync(html` <div style="width: 80px; height: 20px;"></div> `),
97
+ invokerNode:
98
+ /** @type {HTMLElement} */
108
99
  fixtureSync(html`
109
100
  <div role="button" style="width: 100px; height: 20px;" @click=${() => ctrl.show()}>
110
101
  Button
111
102
  </div>
112
- `)
113
- ),
103
+ `),
114
104
  });
115
105
  await fixture(html`
116
106
  <div style="position: fixed; left: 100px; top: 100px;">
@@ -120,20 +110,19 @@ describe('Local Positioning', () => {
120
110
  await ctrl.show();
121
111
  expect(ctrl.contentWrapperNode.getAttribute('data-popper-placement')).to.equal('top');
122
112
  });
123
-
124
113
  it('positions to preferred place if placement is set and space is available', async () => {
125
114
  const ctrl = new OverlayController({
126
115
  ...withLocalTestConfig(),
127
- contentNode: /** @type {HTMLElement} */ (
128
- fixtureSync(html` <div style="width: 80px; height: 20px;"></div> `)
129
- ),
130
- invokerNode: /** @type {HTMLElement} */ (
116
+ contentNode:
117
+ /** @type {HTMLElement} */
118
+ fixtureSync(html` <div style="width: 80px; height: 20px;"></div> `),
119
+ invokerNode:
120
+ /** @type {HTMLElement} */
131
121
  fixtureSync(html`
132
122
  <div role="button" style="width: 100px; height: 20px;" @click=${() => ctrl.show()}>
133
123
  Button
134
124
  </div>
135
- `)
136
- ),
125
+ `),
137
126
  popperConfig: {
138
127
  placement: 'left-start',
139
128
  },
@@ -143,24 +132,22 @@ describe('Local Positioning', () => {
143
132
  ${ctrl.invokerNode}${ctrl.contentWrapperNode}
144
133
  </div>
145
134
  `);
146
-
147
135
  await ctrl.show();
148
136
  expect(ctrl.contentWrapperNode.getAttribute('data-popper-placement')).to.equal('left-start');
149
137
  });
150
-
151
138
  it('positions to different place if placement is set and no space is available', async () => {
152
139
  const ctrl = new OverlayController({
153
140
  ...withLocalTestConfig(),
154
- contentNode: /** @type {HTMLElement} */ (
155
- fixtureSync(html` <div style="width: 80px; height: 20px;">invoker</div> `)
156
- ),
157
- invokerNode: /** @type {HTMLElement} */ (
141
+ contentNode:
142
+ /** @type {HTMLElement} */
143
+ fixtureSync(html` <div style="width: 80px; height: 20px;">invoker</div> `),
144
+ invokerNode:
145
+ /** @type {HTMLElement} */
158
146
  fixtureSync(html`
159
147
  <div role="button" style="width: 100px; height: 20px;" @click=${() => ctrl.show()}>
160
148
  content
161
149
  </div>
162
- `)
163
- ),
150
+ `),
164
151
  popperConfig: {
165
152
  placement: 'left',
166
153
  },
@@ -170,31 +157,35 @@ describe('Local Positioning', () => {
170
157
  ${ctrl.invokerNode}${ctrl.contentWrapperNode}
171
158
  </div>
172
159
  `);
173
-
174
160
  await ctrl.show();
175
161
  expect(ctrl.contentWrapperNode.getAttribute('data-popper-placement')).to.equal('right');
176
162
  });
177
-
178
163
  it('allows the user to override default Popper modifiers', async () => {
179
164
  const ctrl = new OverlayController({
180
165
  ...withLocalTestConfig(),
181
- contentNode: /** @type {HTMLElement} */ (
182
- fixtureSync(html` <div style="width: 80px; height: 20px;"></div> `)
183
- ),
184
- invokerNode: /** @type {HTMLElement} */ (
166
+ contentNode:
167
+ /** @type {HTMLElement} */
168
+ fixtureSync(html` <div style="width: 80px; height: 20px;"></div> `),
169
+ invokerNode:
170
+ /** @type {HTMLElement} */
185
171
  fixtureSync(html`
186
172
  <div role="button" style="width: 100px; height: 20px;" @click=${() => ctrl.show()}>
187
173
  Button
188
174
  </div>
189
- `)
190
- ),
175
+ `),
191
176
  popperConfig: {
192
177
  modifiers: [
193
178
  {
194
179
  name: 'keepTogether',
195
180
  enabled: false,
196
181
  },
197
- { name: 'offset', enabled: true, options: { offset: [0, 16] } },
182
+ {
183
+ name: 'offset',
184
+ enabled: true,
185
+ options: {
186
+ offset: [0, 16],
187
+ },
188
+ },
198
189
  ],
199
190
  },
200
191
  });
@@ -203,17 +194,25 @@ describe('Local Positioning', () => {
203
194
  ${ctrl.invokerNode}${ctrl.contentWrapperNode}
204
195
  </div>
205
196
  `);
206
-
207
197
  await ctrl.show();
208
198
  // @ts-ignore [popper-instance-access-in-test]
209
- expect(ctrl._popper.state.modifiersData.offset.auto).to.eql({ x: 0, y: 16 });
199
+ expect(ctrl._popper.state.modifiersData.offset.auto).to.eql({
200
+ x: 0,
201
+ y: 16,
202
+ });
210
203
  });
211
-
212
204
  it('positions the Popper element correctly on show', async () => {
213
205
  const ctrl = new OverlayController({
214
206
  ...withLocalTestConfig(),
215
- contentNode: createContentSync({ width: 80, height: 20 }),
216
- invokerNode: createInvokerSync({ clickHandler: () => ctrl.show(), width: 100, height: 20 }),
207
+ contentNode: createContentSync({
208
+ width: 80,
209
+ height: 20,
210
+ }),
211
+ invokerNode: createInvokerSync({
212
+ clickHandler: () => ctrl.show(),
213
+ width: 100,
214
+ height: 20,
215
+ }),
217
216
  popperConfig: {
218
217
  placement: 'top',
219
218
  },
@@ -223,7 +222,6 @@ describe('Local Positioning', () => {
223
222
  ${ctrl.invokerNode}${ctrl.__wrappingDialogNode}
224
223
  </div>
225
224
  `);
226
-
227
225
  await ctrl.show();
228
226
 
229
227
  // TODO: test fails on Firefox, but looks fine in browser => try again in a later version and investigate when persists (or move to anchor positioning when available in all browsers)
@@ -236,7 +234,6 @@ describe('Local Positioning', () => {
236
234
  'translate(110px, -308px)',
237
235
  '110 = (100 + (100-80)/2); -308= 300 + 8',
238
236
  );
239
-
240
237
  await ctrl.hide();
241
238
  await ctrl.show();
242
239
  expect(normalizeTransformStyle(ctrl.contentWrapperNode.style.transform)).to.equal(
@@ -249,16 +246,16 @@ describe('Local Positioning', () => {
249
246
  it.skip('updates placement properly even during hidden state', async () => {
250
247
  const ctrl = new OverlayController({
251
248
  ...withLocalTestConfig(),
252
- contentNode: /** @type {HTMLElement} */ (
253
- fixtureSync(html` <div style="width: 80px; height: 20px;"></div> `)
254
- ),
255
- invokerNode: /** @type {HTMLElement} */ (
249
+ contentNode:
250
+ /** @type {HTMLElement} */
251
+ fixtureSync(html` <div style="width: 80px; height: 20px;"></div> `),
252
+ invokerNode:
253
+ /** @type {HTMLElement} */
256
254
  fixtureSync(html`
257
255
  <div role="button" style="width: 100px; height: 20px;" @click=${() => ctrl.show()}>
258
256
  Button
259
257
  </div>
260
- `)
261
- ),
258
+ `),
262
259
  popperConfig: {
263
260
  placement: 'top',
264
261
  modifiers: [
@@ -277,13 +274,11 @@ describe('Local Positioning', () => {
277
274
  ${ctrl.invokerNode} ${ctrl.contentWrapperNode}
278
275
  </div>
279
276
  `);
280
-
281
277
  await ctrl.show();
282
278
  expect(normalizeTransformStyle(ctrl.contentWrapperNode.style.transform)).to.equal(
283
279
  'translate3d(10px, -30px, 0px)',
284
280
  'Popper positioning values',
285
281
  );
286
-
287
282
  await ctrl.hide();
288
283
  await ctrl.updateConfig({
289
284
  popperConfig: {
@@ -311,16 +306,16 @@ describe('Local Positioning', () => {
311
306
  it.skip('updates positioning correctly during shown state when config gets updated', async () => {
312
307
  const ctrl = new OverlayController({
313
308
  ...withLocalTestConfig(),
314
- contentNode: /** @type {HTMLElement} */ (
315
- fixtureSync(html` <div style="width: 80px; height: 20px;"></div> `)
316
- ),
317
- invokerNode: /** @type {HTMLElement} */ (
309
+ contentNode:
310
+ /** @type {HTMLElement} */
311
+ fixtureSync(html` <div style="width: 80px; height: 20px;"></div> `),
312
+ invokerNode:
313
+ /** @type {HTMLElement} */
318
314
  fixtureSync(html`
319
315
  <div role="button" style="width: 100px; height: 20px;" @click=${() => ctrl.show()}>
320
316
  Invoker
321
317
  </div>
322
- `)
323
- ),
318
+ `),
324
319
  popperConfig: {
325
320
  placement: 'top',
326
321
  modifiers: [
@@ -339,16 +334,22 @@ describe('Local Positioning', () => {
339
334
  ${ctrl.invokerNode} ${ctrl.contentWrapperNode}
340
335
  </div>
341
336
  `);
342
-
343
337
  await ctrl.show();
344
338
  expect(normalizeTransformStyle(ctrl.contentWrapperNode.style.transform)).to.equal(
345
339
  'translate3d(10px, -30px, 0px)',
346
340
  'Popper positioning values',
347
341
  );
348
-
349
342
  await ctrl.updateConfig({
350
343
  popperConfig: {
351
- modifiers: [{ name: 'offset', enabled: true, options: { offset: [0, 20] } }],
344
+ modifiers: [
345
+ {
346
+ name: 'offset',
347
+ enabled: true,
348
+ options: {
349
+ offset: [0, 20],
350
+ },
351
+ },
352
+ ],
352
353
  },
353
354
  });
354
355
  expect(normalizeTransformStyle(ctrl.contentWrapperNode.style.transform)).to.equal(
@@ -356,11 +357,10 @@ describe('Local Positioning', () => {
356
357
  'Popper positioning Y value should be 10 less than previous, due to the added extra 10px offset',
357
358
  );
358
359
  });
359
-
360
360
  it('can set the contentNode minWidth as the invokerNode width', async () => {
361
- const invokerNode = /** @type {HTMLElement} */ (
362
- await fixture(html` <div role="button" style="width: 60px;">invoker</div> `)
363
- );
361
+ const invokerNode =
362
+ /** @type {HTMLElement} */
363
+ await fixture(html` <div role="button" style="width: 60px;">invoker</div> `);
364
364
  const ctrl = new OverlayController({
365
365
  ...withLocalTestConfig(),
366
366
  inheritsReferenceWidth: 'min',
@@ -369,11 +369,10 @@ describe('Local Positioning', () => {
369
369
  await ctrl.show();
370
370
  expect(ctrl.contentWrapperNode.style.minWidth).to.equal('60px');
371
371
  });
372
-
373
372
  it('can set the contentNode maxWidth as the invokerNode width', async () => {
374
- const invokerNode = /** @type {HTMLElement} */ (
375
- await fixture(html` <div role="button" style="width: 60px;">invoker</div> `)
376
- );
373
+ const invokerNode =
374
+ /** @type {HTMLElement} */
375
+ await fixture(html` <div role="button" style="width: 60px;">invoker</div> `);
377
376
  const ctrl = new OverlayController({
378
377
  ...withLocalTestConfig(),
379
378
  inheritsReferenceWidth: 'max',
@@ -382,11 +381,10 @@ describe('Local Positioning', () => {
382
381
  await ctrl.show();
383
382
  expect(ctrl.contentWrapperNode.style.maxWidth).to.equal('60px');
384
383
  });
385
-
386
384
  it('can set the contentNode width as the invokerNode width', async () => {
387
- const invokerNode = /** @type {HTMLElement} */ (
388
- await fixture(html` <div role="button" style="width: 60px;">invoker</div> `)
389
- );
385
+ const invokerNode =
386
+ /** @type {HTMLElement} */
387
+ await fixture(html` <div role="button" style="width: 60px;">invoker</div> `);
390
388
  const ctrl = new OverlayController({
391
389
  ...withLocalTestConfig(),
392
390
  inheritsReferenceWidth: 'full',