@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
@@ -46,7 +46,6 @@ function rearrangeNodes({ wrappingDialogNodeL1, contentWrapperNodeL2, contentNod
46
46
  // We could be initialized via a directive (in offline dom). It's important that we know about the parents,
47
47
  // as we cannot deal with single content nodes
48
48
  const hasContentNodeAttachmentPoints = Boolean(contentNodeL3.parentNode);
49
-
50
49
  if (!hasLegacyMethodOfProvidingWrapperNode && !hasContentNodeAttachmentPoints) {
51
50
  throw new Error(
52
51
  '[OverlayController] Could not find a render target, makes sure contentNode has a parent element (or contentWrapperNode is connected)',
@@ -59,7 +58,6 @@ function rearrangeNodes({ wrappingDialogNodeL1, contentWrapperNodeL2, contentNod
59
58
  // Moving the wrapper can change slot assignment, so capture the node we relocate up front
60
59
  // and restore that same node during cleanup.
61
60
  const contentNodeOrSlot = contentNodeL3.assignedSlot || contentNodeL3;
62
-
63
61
  if (hasLegacyMethodOfProvidingWrapperNode) {
64
62
  // This is the case when contentWrapperNode (living in shadow dom, wrapping <slot name="my-content-outlet">) is already provided via controller.
65
63
  parentElement = contentWrapperNodeL2.parentElement || contentWrapperNodeL2.getRootNode();
@@ -98,7 +96,6 @@ function rearrangeNodes({ wrappingDialogNodeL1, contentWrapperNodeL2, contentNod
98
96
  * ```
99
97
  */
100
98
  parentElement.insertBefore(wrappingDialogNodeL1, tempMarker);
101
-
102
99
  return function cleanup() {
103
100
  if (hasLegacyMethodOfProvidingWrapperNode) {
104
101
  parentElement?.insertBefore(contentWrapperNodeL2, tempMarker);
@@ -109,7 +106,6 @@ function rearrangeNodes({ wrappingDialogNodeL1, contentWrapperNodeL2, contentNod
109
106
  }
110
107
  }
111
108
  parentElement?.removeChild(tempMarker);
112
-
113
109
  if (parentElement.contains(wrappingDialogNodeL1)) {
114
110
  parentElement?.removeChild(wrappingDialogNodeL1);
115
111
  }
@@ -121,9 +117,8 @@ function rearrangeNodes({ wrappingDialogNodeL1, contentWrapperNodeL2, contentNod
121
117
  */
122
118
  async function preloadPopper() {
123
119
  // @ts-ignore [external]: import complains about untyped module, but we typecast it ourselves
124
- return /** @type {* & Promise<PopperModule>} */ (import('@popperjs/core/dist/esm/popper.js'));
120
+ return /** @type {* & Promise<PopperModule>} */ import('@popperjs/core/dist/esm/popper.js');
125
121
  }
126
-
127
122
  const childDialogsClosedInEventLoopWeakmap = new WeakMap();
128
123
 
129
124
  /**
@@ -208,12 +203,10 @@ export class OverlayController extends EventTarget {
208
203
  super();
209
204
  this.manager = manager;
210
205
  this.__sharedConfig = config;
211
-
212
206
  this.__activeElementRightBeforeHide = null;
213
207
 
214
208
  /** @type {OverlayConfig} */
215
209
  this.config = {};
216
-
217
210
  this._defaultConfig = {
218
211
  placementMode: undefined,
219
212
  contentNode: config.contentNode,
@@ -280,13 +273,11 @@ export class OverlayController extends EventTarget {
280
273
  // @ts-ignore - hideVisually is an extension property
281
274
  hideVisually: false,
282
275
  requireConnectedNodes: true,
283
-
284
276
  // hides children overlays when parent is closed...
285
277
  syncChildrenCloseState: false,
286
278
  // // In next major, we remove this prop. Now we disable it for backwards compatibility and enable it in the places we need it internally
287
279
  // _shouldTeardownDomStructure: false,
288
280
  };
289
-
290
281
  this._contentId = `overlay-content--${Math.random().toString(36).slice(2, 10)}`;
291
282
  this.__originalAttrs = new Map();
292
283
  /** @private */
@@ -297,7 +288,6 @@ export class OverlayController extends EventTarget {
297
288
  this.__cancelHandler = this.__cancelHandler.bind(this);
298
289
  this.__escKeyHandlerCalled = false;
299
290
  }
300
-
301
291
  __hasSetup = false;
302
292
 
303
293
  /**
@@ -313,7 +303,7 @@ export class OverlayController extends EventTarget {
313
303
  * @type {HTMLDialogElement | HTMLDivElement}
314
304
  */
315
305
  get content() {
316
- return /** @type {HTMLDialogElement | HTMLDivElement} */ (this.__wrappingDialogNode);
306
+ return /** @type {HTMLDialogElement | HTMLDivElement} */ this.__wrappingDialogNode;
317
307
  }
318
308
 
319
309
  /**
@@ -339,7 +329,7 @@ export class OverlayController extends EventTarget {
339
329
  * @type {HTMLElement}
340
330
  */
341
331
  get referenceNode() {
342
- return /** @type {HTMLElement} */ (this.config?.referenceNode);
332
+ return /** @type {HTMLElement} */ this.config?.referenceNode;
343
333
  }
344
334
 
345
335
  /**
@@ -347,7 +337,7 @@ export class OverlayController extends EventTarget {
347
337
  * @type {HTMLElement}
348
338
  */
349
339
  get contentNode() {
350
- return /** @type {HTMLElement} */ (this.config?.contentNode);
340
+ return /** @type {HTMLElement} */ this.config?.contentNode;
351
341
  }
352
342
 
353
343
  /**
@@ -358,9 +348,7 @@ export class OverlayController extends EventTarget {
358
348
  * @type {HTMLElement}
359
349
  */
360
350
  get contentWrapperNode() {
361
- return /** @type {HTMLElement} */ (
362
- this.__contentWrapperNode || this.config?.contentWrapperNode
363
- );
351
+ return /** @type {HTMLElement} */ this.__contentWrapperNode || this.config?.contentWrapperNode;
364
352
  }
365
353
 
366
354
  /**
@@ -369,7 +357,7 @@ export class OverlayController extends EventTarget {
369
357
  * @type {HTMLElement}
370
358
  */
371
359
  get backdropNode() {
372
- return /** @type {HTMLElement} */ (this.__backdropNode || this.config?.backdropNode);
360
+ return /** @type {HTMLElement} */ this.__backdropNode || this.config?.backdropNode;
373
361
  }
374
362
 
375
363
  /**
@@ -377,8 +365,9 @@ export class OverlayController extends EventTarget {
377
365
  * @type {HTMLElement}
378
366
  */
379
367
  get elementToFocusAfterHide() {
380
- return /** @type {HTMLElement} */ (
381
- this.__elementToFocusAfterHide || this.config?.elementToFocusAfterHide
368
+ return (
369
+ /** @type {HTMLElement} */ this.__elementToFocusAfterHide ||
370
+ this.config?.elementToFocusAfterHide
382
371
  );
383
372
  }
384
373
 
@@ -387,7 +376,7 @@ export class OverlayController extends EventTarget {
387
376
  * @type {boolean}
388
377
  */
389
378
  get hasBackdrop() {
390
- return /** @type {boolean} */ (!!this.backdropNode || this.config?.hasBackdrop);
379
+ return /** @type {boolean} */ !!this.backdropNode || this.config?.hasBackdrop;
391
380
  }
392
381
 
393
382
  /**
@@ -395,7 +384,7 @@ export class OverlayController extends EventTarget {
395
384
  * @type {boolean}
396
385
  */
397
386
  get isBlocking() {
398
- return /** @type {boolean} */ (this.config?.isBlocking);
387
+ return /** @type {boolean} */ this.config?.isBlocking;
399
388
  }
400
389
 
401
390
  /**
@@ -403,7 +392,7 @@ export class OverlayController extends EventTarget {
403
392
  * @type {boolean}
404
393
  */
405
394
  get preventsScroll() {
406
- return /** @type {boolean} */ (this.config?.preventsScroll);
395
+ return /** @type {boolean} */ this.config?.preventsScroll;
407
396
  }
408
397
 
409
398
  /**
@@ -411,7 +400,7 @@ export class OverlayController extends EventTarget {
411
400
  * @type {boolean}
412
401
  */
413
402
  get trapsKeyboardFocus() {
414
- return /** @type {boolean} */ (this.config?.trapsKeyboardFocus);
403
+ return /** @type {boolean} */ this.config?.trapsKeyboardFocus;
415
404
  }
416
405
 
417
406
  /**
@@ -419,7 +408,7 @@ export class OverlayController extends EventTarget {
419
408
  * @type {boolean}
420
409
  */
421
410
  get hidesOnEsc() {
422
- return /** @type {boolean} */ (this.config?.hidesOnEsc);
411
+ return /** @type {boolean} */ this.config?.hidesOnEsc;
423
412
  }
424
413
 
425
414
  /**
@@ -427,7 +416,7 @@ export class OverlayController extends EventTarget {
427
416
  * @type {boolean}
428
417
  */
429
418
  get hidesOnOutsideClick() {
430
- return /** @type {boolean} */ (this.config?.hidesOnOutsideClick);
419
+ return /** @type {boolean} */ this.config?.hidesOnOutsideClick;
431
420
  }
432
421
 
433
422
  /**
@@ -435,7 +424,7 @@ export class OverlayController extends EventTarget {
435
424
  * @type {boolean}
436
425
  */
437
426
  get hidesOnOutsideEsc() {
438
- return /** @type {boolean} */ (this.config?.hidesOnOutsideEsc);
427
+ return /** @type {boolean} */ this.config?.hidesOnOutsideEsc;
439
428
  }
440
429
 
441
430
  /**
@@ -462,7 +451,7 @@ export class OverlayController extends EventTarget {
462
451
  * @type {boolean}
463
452
  */
464
453
  get handlesAccessibility() {
465
- return /** @type {boolean} */ (this.config?.handlesAccessibility);
454
+ return /** @type {boolean} */ this.config?.handlesAccessibility;
466
455
  }
467
456
 
468
457
  /**
@@ -471,7 +460,7 @@ export class OverlayController extends EventTarget {
471
460
  * @type {boolean}
472
461
  */
473
462
  get isTooltip() {
474
- return /** @type {boolean} */ (this.config?.isTooltip);
463
+ return /** @type {boolean} */ this.config?.isTooltip;
475
464
  }
476
465
 
477
466
  /**
@@ -479,7 +468,7 @@ export class OverlayController extends EventTarget {
479
468
  * to communicate an important message and require a response.
480
469
  */
481
470
  get isAlertDialog() {
482
- return /** @type {boolean} */ (this.config?.isAlertDialog);
471
+ return /** @type {boolean} */ this.config?.isAlertDialog;
483
472
  }
484
473
 
485
474
  /**
@@ -496,7 +485,7 @@ export class OverlayController extends EventTarget {
496
485
  * @type {PopperOptions}
497
486
  */
498
487
  get popperConfig() {
499
- return /** @type {PopperOptions} */ (this.config?.popperConfig);
488
+ return /** @type {PopperOptions} */ this.config?.popperConfig;
500
489
  }
501
490
 
502
491
  /**
@@ -504,11 +493,10 @@ export class OverlayController extends EventTarget {
504
493
  * @type {ViewportConfig}
505
494
  */
506
495
  get viewportConfig() {
507
- return /** @type {ViewportConfig} */ (this.config?.viewportConfig);
496
+ return /** @type {ViewportConfig} */ this.config?.viewportConfig;
508
497
  }
509
-
510
498
  get visibilityTriggerFunction() {
511
- return /** @type {function} */ (this.config?.visibilityTriggerFunction);
499
+ return /** @type {function} */ this.config?.visibilityTriggerFunction;
512
500
  }
513
501
 
514
502
  /**
@@ -551,9 +539,12 @@ export class OverlayController extends EventTarget {
551
539
 
552
540
  /** @type {OverlayConfig} */
553
541
  const newConfig = {
554
- ...this._defaultConfig, // our basic ingredients
555
- ...this.__sharedConfig, // the initial configured overlayController
556
- ...cfgToAdd, // the added config
542
+ ...this._defaultConfig,
543
+ // our basic ingredients
544
+ ...this.__sharedConfig,
545
+ // the initial configured overlayController
546
+ ...cfgToAdd,
547
+ // the added config
557
548
  popperConfig: {
558
549
  ...(this._defaultConfig.popperConfig || {}),
559
550
  ...(this.__sharedConfig.popperConfig || {}),
@@ -565,27 +556,23 @@ export class OverlayController extends EventTarget {
565
556
  ],
566
557
  },
567
558
  };
568
-
569
559
  const shouldUpdate = !this.__hasSetup || !isEqualConfig(prevConfig, newConfig);
570
560
  if (!shouldUpdate) return;
571
561
  // Teardown all previous configs
572
562
 
573
563
  this.teardown();
574
-
575
564
  this.config = newConfig;
576
565
 
577
566
  /** @private */
578
567
  this.__validateConfiguration(this.config);
579
568
  /** @protected */
580
569
  this._init();
581
-
582
570
  if (!this.#isRegisteredOnManager()) {
583
571
  this.manager.add(this);
584
572
  }
585
573
  }
586
-
587
574
  #isRegisteredOnManager() {
588
- return Boolean(this.manager.list.find(ctrl => this === ctrl));
575
+ return Boolean(this.manager.list.find((ctrl) => this === ctrl));
589
576
  }
590
577
 
591
578
  /**
@@ -635,33 +622,32 @@ export class OverlayController extends EventTarget {
635
622
  this.contentWrapperNode.removeAttribute('style');
636
623
  this.contentWrapperNode.removeAttribute('class');
637
624
  }
638
-
639
625
  if (this.placementMode === 'local') {
640
626
  // Lazily load Popper as soon as the first local overlay is used...
641
627
  if (!OverlayController.popperModule) {
642
628
  OverlayController.popperModule = preloadPopper();
643
629
  }
644
630
  }
645
- this.__handleOverlayStyles({ phase: 'init' });
646
- this._handleFeatures({ phase: 'init' });
631
+ this.__handleOverlayStyles({
632
+ phase: 'init',
633
+ });
634
+ this._handleFeatures({
635
+ phase: 'init',
636
+ });
647
637
 
648
638
  /** @private */
649
639
  this.__elementToFocusAfterHide = undefined;
650
-
651
640
  this.contentNode.dataset.content = '';
652
641
 
653
642
  // Use event delegation to listen for clicks on close buttons...
654
643
  this.contentNode.addEventListener('click', this.#hideOnCloseButtonClick);
655
-
656
644
  this.__hasSetup = true;
657
645
  }
658
-
659
646
  #hideOnCloseButtonClick = (/** @type {{ target: any; }} */ ev) => {
660
647
  const isOurCloseButton =
661
648
  ev.target.hasAttribute('data-close') &&
662
649
  deepClosest(ev.target, '[data-content]') === this.contentNode;
663
650
  if (!isOurCloseButton) return;
664
-
665
651
  this.hide();
666
652
  };
667
653
 
@@ -670,11 +656,13 @@ export class OverlayController extends EventTarget {
670
656
  * @private
671
657
  */
672
658
  __handleOverlayStyles({ phase }) {
673
- const rootNode = /** @type {ShadowRoot} */ (this.contentWrapperNode?.getRootNode());
659
+ const rootNode = /** @type {ShadowRoot} */ this.contentWrapperNode?.getRootNode();
674
660
  if (phase === 'init') {
675
661
  _adoptStyleUtils.adoptStyle(rootNode, overlayShadowDomStyle);
676
662
  } else if (phase === 'teardown') {
677
- _adoptStyleUtils.adoptStyle(rootNode, overlayShadowDomStyle, { teardown: true });
663
+ _adoptStyleUtils.adoptStyle(rootNode, overlayShadowDomStyle, {
664
+ teardown: true,
665
+ });
678
666
  }
679
667
  }
680
668
 
@@ -739,7 +727,6 @@ export class OverlayController extends EventTarget {
739
727
  this.contentWrapperNode.setAttribute('data-id', 'content-wrapper');
740
728
  // 'hack' that makes sure popperjs (that is applied one level lower) works correctly in deeply nested shadow roots
741
729
  this.contentWrapperNode.style.transform = 'translateZ(0px)';
742
-
743
730
  this.__rearrangeNodesCleanup = rearrangeNodes({
744
731
  wrappingDialogNodeL1: wrappingDialogElement,
745
732
  contentWrapperNodeL2: this.contentWrapperNode,
@@ -747,7 +734,6 @@ export class OverlayController extends EventTarget {
747
734
  // requireConnectedNodes: Boolean(this.config.requireConnectedNodes),
748
735
  });
749
736
  wrappingDialogElement.open = true;
750
-
751
737
  if (this.isTooltip) {
752
738
  // needed to prevent tooltip getting focus in Safari and Firefox
753
739
  wrappingDialogElement.setAttribute('tabindex', '-1');
@@ -783,10 +769,10 @@ export class OverlayController extends EventTarget {
783
769
  }
784
770
  },
785
771
  );
786
- wrappingDialogElement.addEventListener('cancel', event => {
772
+ wrappingDialogElement.addEventListener('cancel', (event) => {
787
773
  event.stopPropagation();
788
774
  });
789
- wrappingDialogElement.addEventListener('close', event => {
775
+ wrappingDialogElement.addEventListener('close', (event) => {
790
776
  event.stopPropagation();
791
777
  });
792
778
  }
@@ -796,17 +782,18 @@ export class OverlayController extends EventTarget {
796
782
  this.__wrappingDialogNode = this.contentNode;
797
783
  }
798
784
  }
799
-
800
785
  __initVisibility() {
801
786
  // TODO: allow defaultOpen?
802
- /** @type {HTMLDialogElement} */ (this.__wrappingDialogNode).style.display = 'none';
787
+ /** @type {HTMLDialogElement} */
788
+ this.__wrappingDialogNode.style.display = 'none';
803
789
  }
804
790
 
805
791
  // Clean up the DOM structure, leaving it as we found it.
806
792
  // TODO: __teardownContentDomStructure method... use Resettable (rename ro Restorable) found in VisibilitToggleCtrl
807
793
  __teardownVisibility() {
808
794
  // TODO: full structure. For now we just reset display prop...
809
- /** @type {HTMLDialogElement} */ (this.__wrappingDialogNode).style.display = '';
795
+ /** @type {HTMLDialogElement} */
796
+ this.__wrappingDialogNode.style.display = '';
810
797
  }
811
798
 
812
799
  /**
@@ -818,7 +805,6 @@ export class OverlayController extends EventTarget {
818
805
  if (this.placementMode !== 'local') {
819
806
  return;
820
807
  }
821
-
822
808
  if (phase === 'setup') {
823
809
  const zIndexNumber = Number(getComputedStyle(this.contentNode).zIndex);
824
810
  if (zIndexNumber < 1 || Number.isNaN(zIndexNumber)) {
@@ -835,7 +821,6 @@ export class OverlayController extends EventTarget {
835
821
  if (phase === 'init') {
836
822
  this.__storeOriginalAttrs(this.contentNode, ['role', 'id']);
837
823
  const isModal = this.trapsKeyboardFocus;
838
-
839
824
  if (this.invokerNode) {
840
825
  const attributesToStore = ['aria-labelledby', 'aria-describedby'];
841
826
  if (!isModal) {
@@ -843,7 +828,6 @@ export class OverlayController extends EventTarget {
843
828
  }
844
829
  this.__storeOriginalAttrs(this.invokerNode, attributesToStore);
845
830
  }
846
-
847
831
  if (!this.contentNode.id) {
848
832
  this.contentNode.setAttribute('id', this._contentId);
849
833
  }
@@ -879,7 +863,7 @@ export class OverlayController extends EventTarget {
879
863
  __storeOriginalAttrs(node, attrs) {
880
864
  /** @type {Record<string, any>} */
881
865
  const attrMap = {};
882
- attrs.forEach(attrName => {
866
+ attrs.forEach((attrName) => {
883
867
  attrMap[attrName] = node.getAttribute(attrName);
884
868
  });
885
869
  this.__originalAttrs.set(node, attrMap);
@@ -898,7 +882,6 @@ export class OverlayController extends EventTarget {
898
882
  }
899
883
  this.__originalAttrs.clear();
900
884
  }
901
-
902
885
  get isShown() {
903
886
  return Boolean(this.__wrappingDialogNode && this.__wrappingDialogNode.style.display !== 'none');
904
887
  }
@@ -914,7 +897,7 @@ export class OverlayController extends EventTarget {
914
897
  if (this._showComplete) {
915
898
  await this._showComplete;
916
899
  }
917
- this._showComplete = new Promise(resolve => {
900
+ this._showComplete = new Promise((resolve) => {
918
901
  this._showResolve = resolve;
919
902
  });
920
903
 
@@ -924,18 +907,17 @@ export class OverlayController extends EventTarget {
924
907
  if (!this.__wrappingDialogNode) {
925
908
  this._init();
926
909
  }
927
-
928
910
  if (this.manager) {
929
911
  this.manager.show(this);
930
912
  }
931
-
932
913
  if (this.isShown) {
933
914
  /** @type {function} */
934
- (this._showResolve)();
915
+ this._showResolve();
935
916
  return;
936
917
  }
937
-
938
- const event = new CustomEvent('before-show', { cancelable: true });
918
+ const event = new CustomEvent('before-show', {
919
+ cancelable: true,
920
+ });
939
921
  this.dispatchEvent(event);
940
922
  if (!event.defaultPrevented) {
941
923
  if ('HTMLDialogElement' in window && this.__wrappingDialogNode instanceof HTMLDialogElement) {
@@ -944,10 +926,18 @@ export class OverlayController extends EventTarget {
944
926
 
945
927
  // @ts-ignore
946
928
  this.__wrappingDialogNode.style.display = '';
947
- this._keepBodySize({ phase: 'before-show' });
948
- await this._handleFeatures({ phase: 'show' });
949
- this._keepBodySize({ phase: 'show' });
950
- await this._handlePosition({ phase: 'show' });
929
+ this._keepBodySize({
930
+ phase: 'before-show',
931
+ });
932
+ await this._handleFeatures({
933
+ phase: 'show',
934
+ });
935
+ this._keepBodySize({
936
+ phase: 'show',
937
+ });
938
+ await this._handlePosition({
939
+ phase: 'show',
940
+ });
951
941
  this.__elementToFocusAfterHide = elementToFocusAfterHide;
952
942
  this.dispatchEvent(new Event('show'));
953
943
  await this._transitionShow({
@@ -958,13 +948,14 @@ export class OverlayController extends EventTarget {
958
948
 
959
949
  // a styling/debug hook for open state
960
950
  this.contentNode.setAttribute('data-open', '');
961
-
962
951
  if (this.config.elementToFocusOnShow) {
963
- this.contentNode.focus({ preventScroll: true });
952
+ this.contentNode.focus({
953
+ preventScroll: true,
954
+ });
964
955
  }
965
956
 
966
957
  /** @type {function} */
967
- (this._showResolve)();
958
+ this._showResolve();
968
959
  }
969
960
 
970
961
  /**
@@ -974,7 +965,6 @@ export class OverlayController extends EventTarget {
974
965
  async _handlePosition({ phase }) {
975
966
  if (this.placementMode === 'global') {
976
967
  const placementClass = `overlays__overlay-container--${this.viewportConfig.placement}`;
977
-
978
968
  if (phase === 'show') {
979
969
  this.contentWrapperNode.classList.add('overlays__overlay-container');
980
970
  this.contentWrapperNode.classList.add(placementClass);
@@ -993,7 +983,8 @@ export class OverlayController extends EventTarget {
993
983
  * This is however necessary for initial placement.
994
984
  */
995
985
  await this.__createPopperInstance();
996
- /** @type {import('@popperjs/core').Instance} */ (this._popper).forceUpdate();
986
+ /** @type {import('@popperjs/core').Instance} */
987
+ this._popper.forceUpdate();
997
988
  }
998
989
  // N.B. leave it up to the user if placementMode === 'custom'
999
990
  }
@@ -1004,8 +995,9 @@ export class OverlayController extends EventTarget {
1004
995
  */
1005
996
  _keepBodySize({ phase }) {
1006
997
  if (!this.preventsScroll) return;
1007
-
1008
- this.manager.requestToKeepBodySize({ phase });
998
+ this.manager.requestToKeepBodySize({
999
+ phase,
1000
+ });
1009
1001
  }
1010
1002
 
1011
1003
  /**
@@ -1015,8 +1007,7 @@ export class OverlayController extends EventTarget {
1015
1007
  async hide() {
1016
1008
  // Function like a no-op for dynamic edge cases...
1017
1009
  if (!this.config.isActivated) return;
1018
-
1019
- this._hideComplete = new Promise(resolve => {
1010
+ this._hideComplete = new Promise((resolve) => {
1020
1011
  this._hideResolve = resolve;
1021
1012
  });
1022
1013
 
@@ -1024,39 +1015,40 @@ export class OverlayController extends EventTarget {
1024
1015
  // while the dialog was open.
1025
1016
  // We need this in the _restoreFocus method to determine if we should focus this.elementToFocusAfterHide when the
1026
1017
  // dialog is closed or keep focus on the element that the user deliberately gave focus
1027
- this.__activeElementRightBeforeHide = /** @type {ShadowRoot} */ (
1028
- this.contentNode.getRootNode()
1029
- ).activeElement;
1030
-
1018
+ this.__activeElementRightBeforeHide =
1019
+ /** @type {ShadowRoot} */ this.contentNode.getRootNode().activeElement;
1031
1020
  if (this.manager && this.#isRegisteredOnManager()) {
1032
1021
  this.manager.hide(this);
1033
1022
  }
1034
-
1035
1023
  if (!this.isShown) {
1036
- /** @type {function} */ (this._hideResolve)();
1024
+ /** @type {function} */ this._hideResolve();
1037
1025
  return;
1038
1026
  }
1039
-
1040
- const event = new CustomEvent('before-hide', { cancelable: true });
1027
+ const event = new CustomEvent('before-hide', {
1028
+ cancelable: true,
1029
+ });
1041
1030
  this.dispatchEvent(event);
1042
1031
  if (!event.defaultPrevented) {
1043
1032
  await this._transitionHide({
1044
1033
  backdropNode: this.backdropNode,
1045
1034
  contentNode: this.contentNode,
1046
1035
  });
1047
-
1048
1036
  if ('HTMLDialogElement' in window && this.__wrappingDialogNode instanceof HTMLDialogElement) {
1049
1037
  this.__wrappingDialogNode.close();
1050
1038
  }
1051
1039
  // @ts-ignore
1052
1040
  this.__wrappingDialogNode.style.display = 'none';
1053
- this._handleFeatures({ phase: 'hide' });
1054
- this._keepBodySize({ phase: 'hide' });
1041
+ this._handleFeatures({
1042
+ phase: 'hide',
1043
+ });
1044
+ this._keepBodySize({
1045
+ phase: 'hide',
1046
+ });
1055
1047
  this.dispatchEvent(new Event('hide'));
1056
1048
  this._restoreFocus();
1057
1049
  }
1058
- /** @type {function} */ (this._hideResolve)();
1059
-
1050
+ /** @type {function} */
1051
+ this._hideResolve();
1060
1052
  this.contentNode.removeAttribute('data-open');
1061
1053
  }
1062
1054
 
@@ -1076,8 +1068,13 @@ export class OverlayController extends EventTarget {
1076
1068
  // eslint-disable-next-line class-methods-use-this, no-empty-function, no-unused-vars
1077
1069
  async _transitionHide({ backdropNode, contentNode }) {
1078
1070
  // `this.transitionHide` is a hook for our users
1079
- await this.transitionHide({ backdropNode, contentNode });
1080
- this._handlePosition({ phase: 'hide' });
1071
+ await this.transitionHide({
1072
+ backdropNode,
1073
+ contentNode,
1074
+ });
1075
+ this._handlePosition({
1076
+ phase: 'hide',
1077
+ });
1081
1078
  if (!backdropNode) {
1082
1079
  return;
1083
1080
  }
@@ -1099,8 +1096,10 @@ export class OverlayController extends EventTarget {
1099
1096
  // eslint-disable-next-line class-methods-use-this, no-empty-function, no-unused-vars
1100
1097
  async _transitionShow(showConfig) {
1101
1098
  // `this.transitionShow` is a hook for our users
1102
- await this.transitionShow({ backdropNode: this.backdropNode, contentNode: this.contentNode });
1103
-
1099
+ await this.transitionShow({
1100
+ backdropNode: this.backdropNode,
1101
+ contentNode: this.contentNode,
1102
+ });
1104
1103
  if (showConfig.backdropNode) {
1105
1104
  showConfig.backdropNode.classList.add(`overlays__backdrop--animation-in`);
1106
1105
  }
@@ -1113,19 +1112,18 @@ export class OverlayController extends EventTarget {
1113
1112
  const weStillOwnActiveElement =
1114
1113
  this.__activeElementRightBeforeHide instanceof HTMLElement &&
1115
1114
  this.contentNode.contains(this.__activeElementRightBeforeHide);
1116
-
1117
1115
  if (!weStillOwnActiveElement) {
1118
1116
  return;
1119
1117
  }
1120
-
1121
1118
  if (this.elementToFocusAfterHide instanceof HTMLElement) {
1122
1119
  this.elementToFocusAfterHide.focus();
1123
- this.elementToFocusAfterHide.scrollIntoView({ block: 'nearest' });
1120
+ this.elementToFocusAfterHide.scrollIntoView({
1121
+ block: 'nearest',
1122
+ });
1124
1123
  } else {
1125
- /** @type {HTMLElement} */ (this.__activeElementRightBeforeHide).blur();
1124
+ /** @type {HTMLElement} */ this.__activeElementRightBeforeHide.blur();
1126
1125
  }
1127
1126
  }
1128
-
1129
1127
  async toggle() {
1130
1128
  return this.isShown ? this.hide() : this.show();
1131
1129
  }
@@ -1136,43 +1134,66 @@ export class OverlayController extends EventTarget {
1136
1134
  * @protected
1137
1135
  */
1138
1136
  _handleFeatures({ phase }) {
1139
- this._handleZIndex({ phase });
1140
-
1137
+ this._handleZIndex({
1138
+ phase,
1139
+ });
1141
1140
  if (this.preventsScroll) {
1142
- this._handlePreventsScroll({ phase });
1141
+ this._handlePreventsScroll({
1142
+ phase,
1143
+ });
1143
1144
  }
1144
1145
  if (this.isBlocking) {
1145
- this._handleBlocking({ phase });
1146
+ this._handleBlocking({
1147
+ phase,
1148
+ });
1146
1149
  }
1147
1150
  if (this.hasBackdrop) {
1148
- this._handleBackdrop({ phase });
1151
+ this._handleBackdrop({
1152
+ phase,
1153
+ });
1149
1154
  }
1150
1155
  if (this.trapsKeyboardFocus) {
1151
- this._handleTrapsKeyboardFocus({ phase });
1156
+ this._handleTrapsKeyboardFocus({
1157
+ phase,
1158
+ });
1152
1159
  }
1153
1160
  if (this.hidesOnEsc) {
1154
- this._handleHidesOnEsc({ phase });
1161
+ this._handleHidesOnEsc({
1162
+ phase,
1163
+ });
1155
1164
  }
1156
1165
  if (this.hidesOnOutsideEsc) {
1157
- this._handleHidesOnOutsideEsc({ phase });
1166
+ this._handleHidesOnOutsideEsc({
1167
+ phase,
1168
+ });
1158
1169
  }
1159
1170
  if (this.hidesOnOutsideClick) {
1160
- this._handleHidesOnOutsideClick({ phase });
1171
+ this._handleHidesOnOutsideClick({
1172
+ phase,
1173
+ });
1161
1174
  }
1162
1175
  if (this.handlesAccessibility) {
1163
- this._handleAccessibility({ phase });
1176
+ this._handleAccessibility({
1177
+ phase,
1178
+ });
1164
1179
  }
1165
1180
  if (this.inheritsReferenceWidth) {
1166
1181
  this._handleInheritsReferenceWidth();
1167
1182
  }
1168
1183
  if (this.visibilityTriggerFunction) {
1169
- this._handleVisibilityTriggers({ phase });
1184
+ this._handleVisibilityTriggers({
1185
+ phase,
1186
+ });
1170
1187
  }
1171
1188
  if (this.config.syncChildrenCloseState) {
1172
- this._handleSyncChildrenCloseState({ phase });
1189
+ this._handleSyncChildrenCloseState({
1190
+ phase,
1191
+ });
1173
1192
  }
1174
1193
  if (this.config.elementToFocusOnShow) {
1175
- this._handleElementToFocusOnShow({ phase });
1194
+ this._handleElementToFocusOnShow({
1195
+ phase,
1196
+ });
1176
1197
  }
1177
1198
  }
1178
1199
 
@@ -1195,11 +1216,10 @@ export class OverlayController extends EventTarget {
1195
1216
  */
1196
1217
  _handleSyncChildrenCloseState({ phase }) {
1197
1218
  if (phase !== 'hide') return;
1198
-
1199
1219
  const visibleChildren = this.manager.shownList.filter(
1200
- ctrl => ctrl !== this && deepContains(this.contentNode, ctrl.contentNode),
1220
+ (ctrl) => ctrl !== this && deepContains(this.contentNode, ctrl.contentNode),
1201
1221
  );
1202
- visibleChildren.forEach(ctrl => ctrl.hide());
1222
+ visibleChildren.forEach((ctrl) => ctrl.hide());
1203
1223
  }
1204
1224
 
1205
1225
  /**
@@ -1211,7 +1231,9 @@ export class OverlayController extends EventTarget {
1211
1231
  // Here we initialize the __visibilityTriggerHandler of our invokerNode. It's important that we ONLY do this on init,
1212
1232
  // otherwise we risk not being able to properly clean up listeners...
1213
1233
  if (phase === 'init') {
1214
- this.__visibilityTriggerHandler = this.visibilityTriggerFunction({ controller: this });
1234
+ this.__visibilityTriggerHandler = this.visibilityTriggerFunction({
1235
+ controller: this,
1236
+ });
1215
1237
  }
1216
1238
  // Here we run the appropriate lifecycle, if defined in our handler
1217
1239
  this.__visibilityTriggerHandler[phase]?.();
@@ -1251,7 +1273,6 @@ export class OverlayController extends EventTarget {
1251
1273
  /* no default */
1252
1274
  }
1253
1275
  }
1254
-
1255
1276
  get hasActiveBackdrop() {
1256
1277
  return this.__hasActiveBackdrop;
1257
1278
  }
@@ -1296,7 +1317,7 @@ export class OverlayController extends EventTarget {
1296
1317
  /**
1297
1318
  * @param {KeyboardEvent} event
1298
1319
  */
1299
- #isShiftPressedOnKeyDownHandler = event => {
1320
+ #isShiftPressedOnKeyDownHandler = (event) => {
1300
1321
  if (event.key === 'Shift') {
1301
1322
  this.#isShiftPressed = true;
1302
1323
  }
@@ -1305,26 +1326,23 @@ export class OverlayController extends EventTarget {
1305
1326
  /**
1306
1327
  * @param {KeyboardEvent} event
1307
1328
  */
1308
- #isShiftPressedOnKeyUpHandler = event => {
1329
+ #isShiftPressedOnKeyUpHandler = (event) => {
1309
1330
  if (event.key === 'Shift') {
1310
1331
  this.#isShiftPressed = false;
1311
1332
  }
1312
1333
  };
1313
-
1314
1334
  #handleShiftKeyPress = () => {
1315
1335
  window.addEventListener('keydown', this.#isShiftPressedOnKeyDownHandler);
1316
1336
  window.addEventListener('keyup', this.#isShiftPressedOnKeyUpHandler);
1317
1337
  };
1318
-
1319
1338
  #stopHandlingShiftKeyPress = () => {
1320
1339
  window.removeEventListener('keydown', this.#isShiftPressedOnKeyDownHandler);
1321
1340
  window.removeEventListener('keyup', this.#isShiftPressedOnKeyUpHandler);
1322
1341
  };
1323
-
1324
1342
  #getInitialElementToFocus = () => {
1325
1343
  const focusableElements = getFocusableElements(this.contentNode);
1326
1344
  // Initial focus goes to first element with autofocus, or `contentNode`
1327
- return focusableElements.find(e => e.hasAttribute('autofocus')) || this.contentNode;
1345
+ return focusableElements.find((e) => e.hasAttribute('autofocus')) || this.contentNode;
1328
1346
  };
1329
1347
 
1330
1348
  /**
@@ -1359,7 +1377,6 @@ export class OverlayController extends EventTarget {
1359
1377
  if (phase === 'init') {
1360
1378
  this.contentNode.style.outline = 'none';
1361
1379
  this.contentNode.tabIndex = -1;
1362
-
1363
1380
  const isContentShadowHost = Boolean(this.contentNode.shadowRoot);
1364
1381
  if (isContentShadowHost) {
1365
1382
  // eslint-disable-next-line no-console
@@ -1412,7 +1429,6 @@ export class OverlayController extends EventTarget {
1412
1429
  ) {
1413
1430
  return;
1414
1431
  }
1415
-
1416
1432
  if (this.#hasPressedInside(event)) {
1417
1433
  this.__escKeyHandlerCalled = true;
1418
1434
  this.hide();
@@ -1427,18 +1443,17 @@ export class OverlayController extends EventTarget {
1427
1443
  * @param {KeyboardEvent} event
1428
1444
  * @returns {boolean}
1429
1445
  */
1430
- #hasPressedInside = event =>
1431
- event.composedPath().includes(/** @type {EventTarget} */ (this.__wrappingDialogNode)) ||
1446
+ #hasPressedInside = (event) =>
1447
+ event.composedPath().includes(/** @type {EventTarget} */ this.__wrappingDialogNode) ||
1432
1448
  (this.invokerNode && event.composedPath().includes(this.invokerNode)) ||
1433
- deepContains(this.contentNode, /** @type {HTMLElement|ShadowRoot} */ (event.target));
1449
+ deepContains(this.contentNode, /** @type {HTMLElement|ShadowRoot} */ event.target);
1434
1450
 
1435
1451
  /**
1436
1452
  * @param {KeyboardEvent} event
1437
1453
  * @returns {void}
1438
1454
  */
1439
- #outsideEscKeyHandler = event => {
1455
+ #outsideEscKeyHandler = (event) => {
1440
1456
  if (event.key !== 'Escape') return;
1441
-
1442
1457
  if (this.#hasPressedInside(event)) return;
1443
1458
  this.hide();
1444
1459
  };
@@ -1510,7 +1525,6 @@ export class OverlayController extends EventTarget {
1510
1525
  */
1511
1526
  _handleHidesOnOutsideClick({ phase }) {
1512
1527
  const addOrRemoveListener = phase === 'show' ? 'addEventListener' : 'removeEventListener';
1513
-
1514
1528
  if (phase === 'show') {
1515
1529
  /**
1516
1530
  * We listen to click (more specifically mouseup and mousedown) events
@@ -1538,7 +1552,6 @@ export class OverlayController extends EventTarget {
1538
1552
  // [1]. was mousedown inside content or invoker
1539
1553
  wasMouseDownInside = true;
1540
1554
  };
1541
-
1542
1555
  this.__onInsideMouseUp = () => {
1543
1556
  // [3]. was mouseup inside content or invoker
1544
1557
  wasMouseUpInside = true;
@@ -1567,7 +1580,6 @@ export class OverlayController extends EventTarget {
1567
1580
  });
1568
1581
  };
1569
1582
  }
1570
-
1571
1583
  this.contentWrapperNode[addOrRemoveListener](
1572
1584
  'mousedown',
1573
1585
  /** @type {EventListenerOrEventListenerObject} */
@@ -1578,7 +1590,7 @@ export class OverlayController extends EventTarget {
1578
1590
  this.contentWrapperNode[addOrRemoveListener](
1579
1591
  'mouseup',
1580
1592
  /** @type {EventListenerOrEventListenerObject} */
1581
- (this.__onInsideMouseUp),
1593
+ this.__onInsideMouseUp,
1582
1594
  true,
1583
1595
  );
1584
1596
  if (this.invokerNode) {
@@ -1594,7 +1606,7 @@ export class OverlayController extends EventTarget {
1594
1606
  this.invokerNode[addOrRemoveListener](
1595
1607
  'mouseup',
1596
1608
  /** @type {EventListenerOrEventListenerObject} */
1597
- (this.__onInsideMouseUp),
1609
+ this.__onInsideMouseUp,
1598
1610
  true,
1599
1611
  );
1600
1612
  }
@@ -1619,25 +1631,31 @@ export class OverlayController extends EventTarget {
1619
1631
  */
1620
1632
  _handleAccessibility({ phase }) {
1621
1633
  if (phase === 'init' || phase === 'teardown') {
1622
- this.__setupTeardownAccessibility({ phase });
1634
+ this.__setupTeardownAccessibility({
1635
+ phase,
1636
+ });
1623
1637
  }
1624
1638
  const isModal = this.trapsKeyboardFocus;
1625
1639
  if (this.invokerNode && !this.isTooltip && !isModal) {
1626
1640
  this.invokerNode.setAttribute('aria-expanded', `${phase === 'show'}`);
1627
1641
  }
1628
1642
  }
1629
-
1630
1643
  teardown() {
1631
1644
  if (!this.__hasSetup) return;
1632
- this.__handleOverlayStyles({ phase: 'teardown' });
1645
+ this.__handleOverlayStyles({
1646
+ phase: 'teardown',
1647
+ });
1633
1648
  if (this.isShown) {
1634
- this._keepBodySize({ phase: 'teardown' });
1649
+ this._keepBodySize({
1650
+ phase: 'teardown',
1651
+ });
1635
1652
  }
1636
- this._handleFeatures({ phase: 'teardown' });
1653
+ this._handleFeatures({
1654
+ phase: 'teardown',
1655
+ });
1637
1656
  if (this.#isRegisteredOnManager()) {
1638
1657
  this.manager.remove(this);
1639
1658
  }
1640
-
1641
1659
  this.contentNode?.removeEventListener('click', this.#hideOnCloseButtonClick);
1642
1660
 
1643
1661
  // if (this.config._shouldTeardownDomStructure) {
@@ -1656,7 +1674,6 @@ export class OverlayController extends EventTarget {
1656
1674
  this.__contentWrapperNode = undefined;
1657
1675
  this.__wrappingDialogNode = undefined;
1658
1676
  }
1659
-
1660
1677
  this.__hasSetup = false;
1661
1678
  }
1662
1679
 
@@ -1666,11 +1683,10 @@ export class OverlayController extends EventTarget {
1666
1683
  this._popper.destroy();
1667
1684
  this._popper = undefined;
1668
1685
  }
1669
-
1670
1686
  if (OverlayController.popperModule !== undefined) {
1671
1687
  const { createPopper } = await OverlayController.popperModule;
1672
1688
  this._popper = createPopper(
1673
- /** @type {HTMLElement} */ (this._referenceNode),
1689
+ /** @type {HTMLElement} */ this._referenceNode,
1674
1690
  this.contentWrapperNode,
1675
1691
  {
1676
1692
  ...this.config?.popperConfig,
@@ -1678,11 +1694,10 @@ export class OverlayController extends EventTarget {
1678
1694
  );
1679
1695
  }
1680
1696
  }
1681
-
1682
1697
  _hasDisabledInvoker() {
1683
1698
  if (this.invokerNode) {
1684
1699
  return (
1685
- /** @type {HTMLElement & { disabled: boolean }} */ (this.invokerNode).disabled ||
1700
+ /** @type {HTMLElement & { disabled: boolean }} */ this.invokerNode.disabled ||
1686
1701
  this.invokerNode.getAttribute('aria-disabled') === 'true'
1687
1702
  );
1688
1703
  }