@lion/ui 0.23.0 → 0.25.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 (803) 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 +127 -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 +20 -8
  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 +5 -2
  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 +172 -152
  430. package/components/overlays/src/OverlayMixin.js +64 -69
  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 +406 -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/invoker-compatibility.test.js +37 -0
  456. package/components/overlays/test/local-positioning.test.js +101 -103
  457. package/components/overlays/test/utils-tests/active-element.test.js +12 -27
  458. package/components/overlays/test/utils-tests/adopt-styles.test.js +25 -56
  459. package/components/overlays/test/utils-tests/deep-contains.test.js +73 -74
  460. package/components/overlays/test/utils-tests/get-focusable-elements.test.js +6 -23
  461. package/components/overlays/test/utils-tests/is-equal-config.test.js +32 -13
  462. package/components/overlays/test/utils-tests/visibility.test.js +44 -79
  463. package/components/overlays/test-helpers/createShadowHost.js +5 -3
  464. package/components/overlays/test-helpers/normalizeTransformStyle.js +2 -4
  465. package/components/overlays/test-suites/OverlayMixin.suite.js +152 -181
  466. package/components/overlays/test-suites/WithHoverInteraction.suite.js +96 -79
  467. package/components/overlays/translations/bg-BG.js +0 -1
  468. package/components/overlays/translations/cs-CZ.js +0 -1
  469. package/components/overlays/translations/de-DE.js +0 -1
  470. package/components/overlays/translations/en-AU.js +0 -1
  471. package/components/overlays/translations/en-GB.js +0 -1
  472. package/components/overlays/translations/en-US.js +0 -1
  473. package/components/overlays/translations/es-ES.js +0 -1
  474. package/components/overlays/translations/fr-BE.js +0 -1
  475. package/components/overlays/translations/fr-FR.js +0 -1
  476. package/components/overlays/translations/hu-HU.js +0 -1
  477. package/components/overlays/translations/it-IT.js +0 -1
  478. package/components/overlays/translations/nl-BE.js +0 -1
  479. package/components/overlays/translations/nl-NL.js +0 -1
  480. package/components/overlays/translations/pl-PL.js +0 -1
  481. package/components/overlays/translations/ro-RO.js +0 -1
  482. package/components/overlays/translations/ru-RU.js +0 -1
  483. package/components/overlays/translations/sk-SK.js +0 -1
  484. package/components/overlays/translations/tr-TR.js +0 -1
  485. package/components/overlays/translations/uk-UA.js +0 -1
  486. package/components/pagination/src/LionPagination.js +9 -12
  487. package/components/pagination/test/lion-pagination.test.js +18 -50
  488. package/components/progress-indicator/src/LionProgressIndicator.js +10 -12
  489. package/components/progress-indicator/test/lion-progress-indicator.test.js +1 -22
  490. package/components/radio-group/src/LionRadioGroup.js +1 -2
  491. package/components/radio-group/test/lion-radio-group-integrations.test.js +0 -1
  492. package/components/radio-group/test/lion-radio-group.test.js +27 -27
  493. package/components/radio-group/test/lion-radio-integrations.test.js +3 -2
  494. package/components/radio-group/test/lion-radio.test.js +30 -16
  495. package/components/select/src/LionSelect.js +12 -13
  496. package/components/select/test/lion-select.test.js +7 -12
  497. package/components/select-rich/src/LionSelectInvoker.js +18 -11
  498. package/components/select-rich/src/LionSelectRich.js +22 -44
  499. package/components/select-rich/test/demos.screenshots-test.js +40 -9
  500. package/components/select-rich/test/lion-select-invoker.test.js +26 -43
  501. package/components/select-rich/test/lion-select-listbox-suite-integration.test.js +3 -3
  502. package/components/select-rich/test/lion-select-rich-dialog-integration.test.js +4 -9
  503. package/components/select-rich/test/lion-select-rich-interaction.test.js +116 -116
  504. package/components/select-rich/test/lion-select-rich-upgrade.test.js +3 -7
  505. package/components/select-rich/test/lion-select-rich.test.js +153 -195
  506. package/components/select-rich/test-helpers/getSelectRichMembers.js +4 -1
  507. package/components/steps/src/LionStep.js +21 -12
  508. package/components/steps/src/LionSteps.js +25 -25
  509. package/components/steps/test/lion-step.test.js +18 -25
  510. package/components/steps/test/lion-steps.test.js +45 -78
  511. package/components/switch/src/LionSwitch.js +2 -7
  512. package/components/switch/src/LionSwitchButton.js +5 -6
  513. package/components/switch/test/lion-switch-button.test.js +16 -28
  514. package/components/switch/test/lion-switch.test.js +17 -31
  515. package/components/tabs/src/LionTabs.js +25 -28
  516. package/components/tabs/test/lion-tabs.test.js +156 -154
  517. package/components/textarea/src/LionTextarea.js +4 -23
  518. package/components/textarea/test/lion-textarea-integrations.test.js +0 -5
  519. package/components/textarea/test/lion-textarea.test.js +2 -28
  520. package/components/tooltip/src/LionTooltip.js +6 -6
  521. package/components/tooltip/test/lion-tooltip.test.js +75 -102
  522. package/components/validate-messages/src/getLocalizedMessage.js +8 -7
  523. package/components/validate-messages/src/loadDefaultFeedbackMessages.js +3 -1
  524. package/components/validate-messages/src/loadDefaultFeedbackMessagesNoSideEffects.js +9 -5
  525. package/components/validate-messages/src/per-entrypoint/loadComboboxMessagesNoSideEffects.js +5 -2
  526. package/components/validate-messages/src/per-entrypoint/loadFormCoreMessagesNoSideEffects.js +99 -35
  527. package/components/validate-messages/src/per-entrypoint/loadInputTelMessagesNoSideEffects.js +4 -3
  528. package/components/validate-messages/test/loadDefaultFeedbackMessages.test.js +5 -3
  529. package/components/validate-messages/test/loadDefaultFeedbackMessagesNoSideEffects.test.js +80 -45
  530. package/components/validate-messages/translations/bg-BG.js +0 -1
  531. package/components/validate-messages/translations/cs-CZ.js +0 -1
  532. package/components/validate-messages/translations/de-DE.js +0 -1
  533. package/components/validate-messages/translations/en-AU.js +0 -1
  534. package/components/validate-messages/translations/en-GB.js +0 -1
  535. package/components/validate-messages/translations/en-PH.js +0 -1
  536. package/components/validate-messages/translations/en-US.js +0 -1
  537. package/components/validate-messages/translations/es-ES.js +0 -1
  538. package/components/validate-messages/translations/fr-BE.js +0 -1
  539. package/components/validate-messages/translations/fr-FR.js +0 -1
  540. package/components/validate-messages/translations/hu-HU.js +0 -1
  541. package/components/validate-messages/translations/it-IT.js +0 -1
  542. package/components/validate-messages/translations/nl-BE.js +0 -1
  543. package/components/validate-messages/translations/nl-NL.js +0 -1
  544. package/components/validate-messages/translations/pl-PL.js +0 -1
  545. package/components/validate-messages/translations/ro-RO.js +0 -1
  546. package/components/validate-messages/translations/ru-RU.js +0 -1
  547. package/components/validate-messages/translations/sk-SK.js +0 -1
  548. package/components/validate-messages/translations/tr-TR.js +0 -1
  549. package/components/validate-messages/translations/uk-UA.js +0 -1
  550. package/custom-elements.json +229 -85
  551. package/dist-types/components/core/src/SlotMixin.d.ts +6 -1
  552. package/dist-types/components/core/src/SlotMixin.d.ts.map +1 -1
  553. package/dist-types/components/core/types/SlotMixinTypes.d.ts +5 -1
  554. package/dist-types/components/core/types/SlotMixinTypes.d.ts.map +1 -1
  555. package/dist-types/components/form-core/src/LionField.d.ts +3 -1
  556. package/dist-types/components/form-core/src/LionField.d.ts.map +1 -1
  557. package/dist-types/components/input-tel/src/LionInputTel.d.ts +6 -6
  558. package/dist-types/components/input-tel/src/LionInputTel.d.ts.map +1 -1
  559. package/dist-types/components/input-tel/src/PhoneUtilManager.d.ts +2 -2
  560. package/dist-types/components/input-tel/src/PhoneUtilManager.d.ts.map +1 -1
  561. package/dist-types/components/input-tel/src/formatters.d.ts +2 -2
  562. package/dist-types/components/input-tel/src/formatters.d.ts.map +1 -1
  563. package/dist-types/components/input-tel/src/preprocessors.d.ts +2 -2
  564. package/dist-types/components/input-tel/src/preprocessors.d.ts.map +1 -1
  565. package/dist-types/components/input-tel/test/validators.test.d.ts +1 -1
  566. package/dist-types/components/input-tel/test/validators.test.d.ts.map +1 -1
  567. package/dist-types/components/input-tel/test-helpers/mockPhoneUtilManager.d.ts +5 -0
  568. package/dist-types/components/input-tel/test-helpers/mockPhoneUtilManager.d.ts.map +1 -1
  569. package/dist-types/components/listbox/src/LionListbox.d.ts +2 -2
  570. package/dist-types/components/listbox/src/LionListbox.d.ts.map +1 -1
  571. package/dist-types/components/listbox/src/LionOption.d.ts +5 -2
  572. package/dist-types/components/listbox/src/LionOption.d.ts.map +1 -1
  573. package/dist-types/components/overlays/src/OverlayController.d.ts +3 -1
  574. package/dist-types/components/overlays/src/OverlayController.d.ts.map +1 -1
  575. package/dist-types/components/overlays/src/OverlayMixin.d.ts.map +1 -1
  576. package/dist-types/components/overlays/src/OverlaysManager.d.ts.map +1 -1
  577. package/dist-types/components/overlays/src/overlayDocumentStyle.d.ts.map +1 -1
  578. package/dist-types/components/overlays/test/invoker-compatibility.test.d.ts +3 -0
  579. package/dist-types/components/overlays/test/invoker-compatibility.test.d.ts.map +1 -0
  580. package/dist-types/components/select-rich/src/LionSelectInvoker.d.ts +3 -1
  581. package/dist-types/components/select-rich/src/LionSelectInvoker.d.ts.map +1 -1
  582. package/dist-types/components/select-rich/src/LionSelectRich.d.ts +6 -5
  583. package/dist-types/components/select-rich/src/LionSelectRich.d.ts.map +1 -1
  584. package/dist-types/tsconfig.tsbuildinfo +1 -1
  585. package/docs/components/accordion/overview.md +2 -2
  586. package/docs/components/accordion/reference.md +2 -2
  587. package/docs/components/accordion/use-cases.md +2 -2
  588. package/docs/components/button/examples.md +2 -2
  589. package/docs/components/button/extensions.md +2 -2
  590. package/docs/components/button/overview.md +2 -2
  591. package/docs/components/button/use-cases.md +2 -2
  592. package/docs/components/calendar/overview.md +2 -2
  593. package/docs/components/calendar/use-cases.md +2 -2
  594. package/docs/components/checkbox-group/overview.md +4 -4
  595. package/docs/components/checkbox-group/use-cases.md +2 -2
  596. package/docs/components/collapsible/examples.md +2 -2
  597. package/docs/components/collapsible/overview.md +3 -3
  598. package/docs/components/collapsible/use-cases.md +2 -2
  599. package/docs/components/combobox/api-table.md +1 -1
  600. package/docs/components/combobox/extensions.md +2 -2
  601. package/docs/components/combobox/overview.md +3 -3
  602. package/docs/components/combobox/use-cases.md +3 -3
  603. package/docs/components/dialog/overview.md +3 -3
  604. package/docs/components/dialog/use-cases.md +2 -2
  605. package/docs/components/drawer/overview.md +2 -2
  606. package/docs/components/drawer/use-cases.md +2 -2
  607. package/docs/components/fieldset/overview.md +7 -7
  608. package/docs/components/fieldset/use-cases.md +2 -2
  609. package/docs/components/form/overview.md +5 -5
  610. package/docs/components/form/use-cases.md +4 -4
  611. package/docs/components/icon/overview.md +2 -2
  612. package/docs/components/icon/use-cases.md +3 -3
  613. package/docs/components/input/overview.md +3 -3
  614. package/docs/components/input/use-cases.md +2 -2
  615. package/docs/components/input-amount/overview.md +5 -5
  616. package/docs/components/input-amount/use-cases.md +2 -2
  617. package/docs/components/input-amount-dropdown/use-cases.md +2 -2
  618. package/docs/components/input-date/overview.md +5 -5
  619. package/docs/components/input-date/use-cases.md +2 -2
  620. package/docs/components/input-datepicker/overview.md +7 -7
  621. package/docs/components/input-datepicker/use-cases.md +2 -2
  622. package/docs/components/input-email/overview.md +4 -4
  623. package/docs/components/input-email/use-cases.md +2 -2
  624. package/docs/components/input-file/overview.md +3 -3
  625. package/docs/components/input-file/use-cases.md +2 -2
  626. package/docs/components/input-iban/overview.md +4 -4
  627. package/docs/components/input-iban/use-cases.md +2 -2
  628. package/docs/components/input-range/overview.md +4 -4
  629. package/docs/components/input-range/use-cases.md +2 -2
  630. package/docs/components/input-stepper/overview.md +3 -3
  631. package/docs/components/input-stepper/use-cases.md +2 -2
  632. package/docs/components/input-tel/overview.md +3 -3
  633. package/docs/components/input-tel/use-cases.md +8 -8
  634. package/docs/components/input-tel-dropdown/extensions.md +2 -2
  635. package/docs/components/input-tel-dropdown/overview.md +3 -3
  636. package/docs/components/input-tel-dropdown/use-cases.md +2 -2
  637. package/docs/components/listbox/api-table.md +4 -4
  638. package/docs/components/listbox/overview.md +2 -2
  639. package/docs/components/listbox/use-cases.md +3 -3
  640. package/docs/components/menu/extensions.md +2 -2
  641. package/docs/components/menu/migration.md +2 -2
  642. package/docs/components/menu/overview.md +2 -2
  643. package/docs/components/menu/use-cases.md +1 -1
  644. package/docs/components/pagination/overview.md +2 -2
  645. package/docs/components/pagination/use-cases.md +2 -2
  646. package/docs/components/progress-indicator/examples.md +2 -2
  647. package/docs/components/progress-indicator/overview.md +2 -2
  648. package/docs/components/radio-group/overview.md +5 -5
  649. package/docs/components/radio-group/use-cases.md +2 -2
  650. package/docs/components/select/overview.md +2 -2
  651. package/docs/components/select/use-cases.md +3 -3
  652. package/docs/components/select-rich/api-table.md +1 -1
  653. package/docs/components/select-rich/examples.md +2 -2
  654. package/docs/components/select-rich/overview.md +2 -2
  655. package/docs/components/select-rich/use-cases.md +4 -4
  656. package/docs/components/steps/overview.md +2 -2
  657. package/docs/components/steps/use-cases.md +2 -2
  658. package/docs/components/switch/overview.md +2 -2
  659. package/docs/components/switch/reference.md +2 -2
  660. package/docs/components/switch/use-cases.md +2 -2
  661. package/docs/components/tabs/examples.md +3 -3
  662. package/docs/components/tabs/overview.md +2 -2
  663. package/docs/components/tabs/use-cases.md +2 -2
  664. package/docs/components/textarea/overview.md +2 -2
  665. package/docs/components/textarea/use-cases.md +2 -2
  666. package/docs/components/tooltip/examples.md +2 -2
  667. package/docs/components/tooltip/overview.md +2 -2
  668. package/docs/components/tooltip/use-cases.md +2 -2
  669. package/docs/fundamentals/index.md +4 -4
  670. package/docs/fundamentals/node-tools/babel-plugin-extend-docs/index.md +2 -2
  671. package/docs/fundamentals/node-tools/babel-plugin-extend-docs/overview.md +2 -2
  672. package/docs/fundamentals/node-tools/providence-analytics/index.md +2 -2
  673. package/docs/fundamentals/node-tools/providence-analytics/overview.md +2 -2
  674. package/docs/fundamentals/node-tools/publish-docs/index.md +2 -2
  675. package/docs/fundamentals/node-tools/publish-docs/overview.md +5 -5
  676. package/docs/fundamentals/node-tools/remark-extend/index.md +2 -2
  677. package/docs/fundamentals/node-tools/remark-extend/overview.md +2 -2
  678. package/docs/fundamentals/node-tools/rocket-preset-extend-lion-docs/index.md +2 -2
  679. package/docs/fundamentals/node-tools/rocket-preset-extend-lion-docs/overview.md +4 -4
  680. package/docs/fundamentals/rationales/TypeScript.md +62 -2
  681. package/docs/fundamentals/rationales/accessibility.md +5 -5
  682. package/docs/fundamentals/rationales/side-effects.md +2 -2
  683. package/docs/fundamentals/rationales/versioning.md +2 -2
  684. package/docs/fundamentals/systems/core/SlotMixin.md +3 -3
  685. package/docs/fundamentals/systems/core/index.md +2 -2
  686. package/docs/fundamentals/systems/core/overview.md +3 -3
  687. package/docs/fundamentals/systems/form/formatting-and-parsing.md +6 -6
  688. package/docs/fundamentals/systems/form/index.md +2 -2
  689. package/docs/fundamentals/systems/form/interaction-states.md +2 -2
  690. package/docs/fundamentals/systems/form/model-value.md +3 -3
  691. package/docs/fundamentals/systems/form/overview.md +30 -30
  692. package/docs/fundamentals/systems/form/styling.md +2 -2
  693. package/docs/fundamentals/systems/form/use-cases.md +2 -2
  694. package/docs/fundamentals/systems/form/validate.md +4 -4
  695. package/docs/fundamentals/systems/icon/index.md +2 -2
  696. package/docs/fundamentals/systems/icon/overview.md +2 -2
  697. package/docs/fundamentals/systems/localize/dates.md +2 -2
  698. package/docs/fundamentals/systems/localize/index.md +2 -2
  699. package/docs/fundamentals/systems/localize/numbers.md +2 -2
  700. package/docs/fundamentals/systems/localize/overview.md +6 -6
  701. package/docs/fundamentals/systems/localize/rationale.md +2 -2
  702. package/docs/fundamentals/systems/localize/text.md +2 -2
  703. package/docs/fundamentals/systems/localize/use-cases.md +2 -2
  704. package/docs/fundamentals/systems/overlays/_edge-cases.md +2 -2
  705. package/docs/fundamentals/systems/overlays/api-table.md +1 -1
  706. package/docs/fundamentals/systems/overlays/configuration.md +4 -4
  707. package/docs/fundamentals/systems/overlays/index.md +2 -2
  708. package/docs/fundamentals/systems/overlays/overview.md +7 -7
  709. package/docs/fundamentals/systems/overlays/rationale.md +2 -2
  710. package/docs/fundamentals/systems/overlays/use-cases.md +4 -4
  711. package/docs/fundamentals/tools/ajax/index.md +2 -2
  712. package/docs/fundamentals/tools/ajax/overview.md +2 -2
  713. package/docs/fundamentals/tools/ajax/use-cases.md +2 -2
  714. package/docs/fundamentals/tools/helpers/action-logger.md +2 -2
  715. package/docs/fundamentals/tools/helpers/index.md +2 -2
  716. package/docs/fundamentals/tools/helpers/overview.md +3 -3
  717. package/docs/fundamentals/tools/singleton-manager/example-complex/index.md +2 -2
  718. package/docs/fundamentals/tools/singleton-manager/example-fail/index.md +2 -2
  719. package/docs/fundamentals/tools/singleton-manager/example-success/index.md +2 -2
  720. package/docs/fundamentals/tools/singleton-manager/index.md +2 -2
  721. package/docs/fundamentals/tools/singleton-manager/overview.md +6 -6
  722. package/docs/guides/how-to/create-a-custom-field.md +7 -7
  723. package/docs/guides/how-to/create-a-form.md +6 -6
  724. package/docs/guides/how-to/extend-a-native-input.md +4 -4
  725. package/docs/guides/how-to/get-started.md +2 -2
  726. package/docs/guides/how-to/index.md +1 -1
  727. package/docs/guides/index.md +8 -8
  728. package/docs/guides/principles/definitions-and-terms.md +2 -2
  729. package/docs/guides/principles/index.md +5 -5
  730. package/docs/guides/principles/scoped-elements.md +2 -2
  731. package/docs/guides/principles/styling.md +3 -3
  732. package/docs/guides/principles/subclasser-apis.md +2 -2
  733. package/exports/define/lion-accordion.js +0 -1
  734. package/exports/define/lion-button-reset.js +0 -1
  735. package/exports/define/lion-button-submit.js +0 -1
  736. package/exports/define/lion-button.js +0 -1
  737. package/exports/define/lion-calendar.js +0 -1
  738. package/exports/define/lion-checkbox-group.js +0 -1
  739. package/exports/define/lion-checkbox-indeterminate.js +0 -1
  740. package/exports/define/lion-checkbox.js +0 -1
  741. package/exports/define/lion-collapsible.js +0 -1
  742. package/exports/define/lion-combobox.js +0 -1
  743. package/exports/define/lion-dialog.js +0 -1
  744. package/exports/define/lion-drawer.js +0 -1
  745. package/exports/define/lion-field.js +0 -1
  746. package/exports/define/lion-fieldset.js +0 -1
  747. package/exports/define/lion-form.js +0 -1
  748. package/exports/define/lion-icon.js +0 -1
  749. package/exports/define/lion-input-amount-dropdown.js +0 -1
  750. package/exports/define/lion-input-amount.js +0 -1
  751. package/exports/define/lion-input-date.js +0 -1
  752. package/exports/define/lion-input-datepicker.js +0 -1
  753. package/exports/define/lion-input-email.js +0 -1
  754. package/exports/define/lion-input-file.js +0 -1
  755. package/exports/define/lion-input-iban.js +0 -1
  756. package/exports/define/lion-input-range.js +0 -1
  757. package/exports/define/lion-input-stepper.js +0 -1
  758. package/exports/define/lion-input-tel-dropdown.js +0 -1
  759. package/exports/define/lion-input-tel.js +0 -1
  760. package/exports/define/lion-input.js +0 -1
  761. package/exports/define/lion-item.js +0 -1
  762. package/exports/define/lion-listbox.js +0 -1
  763. package/exports/define/lion-menu.js +0 -1
  764. package/exports/define/lion-menuitem.js +0 -1
  765. package/exports/define/lion-option.js +0 -1
  766. package/exports/define/lion-options.js +0 -1
  767. package/exports/define/lion-pagination.js +0 -1
  768. package/exports/define/lion-progress-indicator.js +0 -1
  769. package/exports/define/lion-radio-group.js +0 -1
  770. package/exports/define/lion-radio.js +0 -1
  771. package/exports/define/lion-select-invoker.js +0 -1
  772. package/exports/define/lion-select-rich.js +0 -1
  773. package/exports/define/lion-select.js +0 -1
  774. package/exports/define/lion-selected-file-list.js +0 -1
  775. package/exports/define/lion-step.js +0 -1
  776. package/exports/define/lion-steps.js +0 -1
  777. package/exports/define/lion-switch-button.js +0 -1
  778. package/exports/define/lion-switch.js +0 -1
  779. package/exports/define/lion-tabs.js +0 -1
  780. package/exports/define/lion-textarea.js +0 -1
  781. package/exports/define/lion-tooltip.js +0 -1
  782. package/exports/define/lion-validation-feedback.js +0 -1
  783. package/exports/define-helpers/sb-action-logger.js +0 -1
  784. package/exports/define-helpers/sb-locale-switcher.js +0 -1
  785. package/exports/form-core.js +0 -8
  786. package/exports/localize-no-side-effects.js +0 -1
  787. package/exports/localize.js +0 -2
  788. package/exports/overlays.js +0 -4
  789. package/generated/awesome-phonenumber/LICENSE +22 -0
  790. package/generated/awesome-phonenumber/LICENSE.closure-library +176 -0
  791. package/generated/awesome-phonenumber/LICENSE.libphonenumber +176 -0
  792. package/generated/awesome-phonenumber/checksums.json +6 -0
  793. package/generated/awesome-phonenumber/index-esm.mjs +817 -0
  794. package/generated/awesome-phonenumber/index.d.ts +227 -0
  795. package/generated/awesome-phonenumber/index.js +45 -0
  796. package/generated/awesome-phonenumber/lib/index.js +710 -0
  797. package/generated/awesome-phonenumber/package.json +9 -0
  798. package/generated/awesome-phonenumber/provenance.json +13 -0
  799. package/package.json +38 -15
  800. package/vscode.html-custom-data.json +5 -5
  801. package/web-types.json +1 -1
  802. package/vendor/README.md +0 -61
  803. 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
  /**
@@ -309,11 +299,16 @@ export class OverlayController extends EventTarget {
309
299
  }
310
300
 
311
301
  /**
312
- * The contentWrapperNode
302
+ * The outer wrapper while set up, or the original content after teardown.
303
+ * Keep the fallback for existing clients that remove content after teardown;
304
+ * changing or removing it is deferred to a future breaking release.
313
305
  * @type {HTMLDialogElement | HTMLDivElement}
314
306
  */
315
307
  get content() {
316
- return /** @type {HTMLDialogElement | HTMLDivElement} */ (this.__wrappingDialogNode);
308
+ return (
309
+ /** @type {HTMLDialogElement | HTMLDivElement} */ this.__wrappingDialogNode ||
310
+ this.contentNode
311
+ );
317
312
  }
318
313
 
319
314
  /**
@@ -339,7 +334,7 @@ export class OverlayController extends EventTarget {
339
334
  * @type {HTMLElement}
340
335
  */
341
336
  get referenceNode() {
342
- return /** @type {HTMLElement} */ (this.config?.referenceNode);
337
+ return /** @type {HTMLElement} */ this.config?.referenceNode;
343
338
  }
344
339
 
345
340
  /**
@@ -347,7 +342,7 @@ export class OverlayController extends EventTarget {
347
342
  * @type {HTMLElement}
348
343
  */
349
344
  get contentNode() {
350
- return /** @type {HTMLElement} */ (this.config?.contentNode);
345
+ return /** @type {HTMLElement} */ this.config?.contentNode;
351
346
  }
352
347
 
353
348
  /**
@@ -358,9 +353,7 @@ export class OverlayController extends EventTarget {
358
353
  * @type {HTMLElement}
359
354
  */
360
355
  get contentWrapperNode() {
361
- return /** @type {HTMLElement} */ (
362
- this.__contentWrapperNode || this.config?.contentWrapperNode
363
- );
356
+ return /** @type {HTMLElement} */ this.__contentWrapperNode || this.config?.contentWrapperNode;
364
357
  }
365
358
 
366
359
  /**
@@ -369,7 +362,7 @@ export class OverlayController extends EventTarget {
369
362
  * @type {HTMLElement}
370
363
  */
371
364
  get backdropNode() {
372
- return /** @type {HTMLElement} */ (this.__backdropNode || this.config?.backdropNode);
365
+ return /** @type {HTMLElement} */ this.__backdropNode || this.config?.backdropNode;
373
366
  }
374
367
 
375
368
  /**
@@ -377,8 +370,9 @@ export class OverlayController extends EventTarget {
377
370
  * @type {HTMLElement}
378
371
  */
379
372
  get elementToFocusAfterHide() {
380
- return /** @type {HTMLElement} */ (
381
- this.__elementToFocusAfterHide || this.config?.elementToFocusAfterHide
373
+ return (
374
+ /** @type {HTMLElement} */ this.__elementToFocusAfterHide ||
375
+ this.config?.elementToFocusAfterHide
382
376
  );
383
377
  }
384
378
 
@@ -387,7 +381,7 @@ export class OverlayController extends EventTarget {
387
381
  * @type {boolean}
388
382
  */
389
383
  get hasBackdrop() {
390
- return /** @type {boolean} */ (!!this.backdropNode || this.config?.hasBackdrop);
384
+ return /** @type {boolean} */ !!this.backdropNode || this.config?.hasBackdrop;
391
385
  }
392
386
 
393
387
  /**
@@ -395,7 +389,7 @@ export class OverlayController extends EventTarget {
395
389
  * @type {boolean}
396
390
  */
397
391
  get isBlocking() {
398
- return /** @type {boolean} */ (this.config?.isBlocking);
392
+ return /** @type {boolean} */ this.config?.isBlocking;
399
393
  }
400
394
 
401
395
  /**
@@ -403,7 +397,7 @@ export class OverlayController extends EventTarget {
403
397
  * @type {boolean}
404
398
  */
405
399
  get preventsScroll() {
406
- return /** @type {boolean} */ (this.config?.preventsScroll);
400
+ return /** @type {boolean} */ this.config?.preventsScroll;
407
401
  }
408
402
 
409
403
  /**
@@ -411,7 +405,7 @@ export class OverlayController extends EventTarget {
411
405
  * @type {boolean}
412
406
  */
413
407
  get trapsKeyboardFocus() {
414
- return /** @type {boolean} */ (this.config?.trapsKeyboardFocus);
408
+ return /** @type {boolean} */ this.config?.trapsKeyboardFocus;
415
409
  }
416
410
 
417
411
  /**
@@ -419,7 +413,7 @@ export class OverlayController extends EventTarget {
419
413
  * @type {boolean}
420
414
  */
421
415
  get hidesOnEsc() {
422
- return /** @type {boolean} */ (this.config?.hidesOnEsc);
416
+ return /** @type {boolean} */ this.config?.hidesOnEsc;
423
417
  }
424
418
 
425
419
  /**
@@ -427,7 +421,7 @@ export class OverlayController extends EventTarget {
427
421
  * @type {boolean}
428
422
  */
429
423
  get hidesOnOutsideClick() {
430
- return /** @type {boolean} */ (this.config?.hidesOnOutsideClick);
424
+ return /** @type {boolean} */ this.config?.hidesOnOutsideClick;
431
425
  }
432
426
 
433
427
  /**
@@ -435,7 +429,7 @@ export class OverlayController extends EventTarget {
435
429
  * @type {boolean}
436
430
  */
437
431
  get hidesOnOutsideEsc() {
438
- return /** @type {boolean} */ (this.config?.hidesOnOutsideEsc);
432
+ return /** @type {boolean} */ this.config?.hidesOnOutsideEsc;
439
433
  }
440
434
 
441
435
  /**
@@ -462,7 +456,7 @@ export class OverlayController extends EventTarget {
462
456
  * @type {boolean}
463
457
  */
464
458
  get handlesAccessibility() {
465
- return /** @type {boolean} */ (this.config?.handlesAccessibility);
459
+ return /** @type {boolean} */ this.config?.handlesAccessibility;
466
460
  }
467
461
 
468
462
  /**
@@ -471,7 +465,7 @@ export class OverlayController extends EventTarget {
471
465
  * @type {boolean}
472
466
  */
473
467
  get isTooltip() {
474
- return /** @type {boolean} */ (this.config?.isTooltip);
468
+ return /** @type {boolean} */ this.config?.isTooltip;
475
469
  }
476
470
 
477
471
  /**
@@ -479,7 +473,7 @@ export class OverlayController extends EventTarget {
479
473
  * to communicate an important message and require a response.
480
474
  */
481
475
  get isAlertDialog() {
482
- return /** @type {boolean} */ (this.config?.isAlertDialog);
476
+ return /** @type {boolean} */ this.config?.isAlertDialog;
483
477
  }
484
478
 
485
479
  /**
@@ -496,7 +490,7 @@ export class OverlayController extends EventTarget {
496
490
  * @type {PopperOptions}
497
491
  */
498
492
  get popperConfig() {
499
- return /** @type {PopperOptions} */ (this.config?.popperConfig);
493
+ return /** @type {PopperOptions} */ this.config?.popperConfig;
500
494
  }
501
495
 
502
496
  /**
@@ -504,11 +498,10 @@ export class OverlayController extends EventTarget {
504
498
  * @type {ViewportConfig}
505
499
  */
506
500
  get viewportConfig() {
507
- return /** @type {ViewportConfig} */ (this.config?.viewportConfig);
501
+ return /** @type {ViewportConfig} */ this.config?.viewportConfig;
508
502
  }
509
-
510
503
  get visibilityTriggerFunction() {
511
- return /** @type {function} */ (this.config?.visibilityTriggerFunction);
504
+ return /** @type {function} */ this.config?.visibilityTriggerFunction;
512
505
  }
513
506
 
514
507
  /**
@@ -551,9 +544,12 @@ export class OverlayController extends EventTarget {
551
544
 
552
545
  /** @type {OverlayConfig} */
553
546
  const newConfig = {
554
- ...this._defaultConfig, // our basic ingredients
555
- ...this.__sharedConfig, // the initial configured overlayController
556
- ...cfgToAdd, // the added config
547
+ ...this._defaultConfig,
548
+ // our basic ingredients
549
+ ...this.__sharedConfig,
550
+ // the initial configured overlayController
551
+ ...cfgToAdd,
552
+ // the added config
557
553
  popperConfig: {
558
554
  ...(this._defaultConfig.popperConfig || {}),
559
555
  ...(this.__sharedConfig.popperConfig || {}),
@@ -565,27 +561,23 @@ export class OverlayController extends EventTarget {
565
561
  ],
566
562
  },
567
563
  };
568
-
569
564
  const shouldUpdate = !this.__hasSetup || !isEqualConfig(prevConfig, newConfig);
570
565
  if (!shouldUpdate) return;
571
566
  // Teardown all previous configs
572
567
 
573
568
  this.teardown();
574
-
575
569
  this.config = newConfig;
576
570
 
577
571
  /** @private */
578
572
  this.__validateConfiguration(this.config);
579
573
  /** @protected */
580
574
  this._init();
581
-
582
575
  if (!this.#isRegisteredOnManager()) {
583
576
  this.manager.add(this);
584
577
  }
585
578
  }
586
-
587
579
  #isRegisteredOnManager() {
588
- return Boolean(this.manager.list.find(ctrl => this === ctrl));
580
+ return Boolean(this.manager.list.find((ctrl) => this === ctrl));
589
581
  }
590
582
 
591
583
  /**
@@ -635,33 +627,32 @@ export class OverlayController extends EventTarget {
635
627
  this.contentWrapperNode.removeAttribute('style');
636
628
  this.contentWrapperNode.removeAttribute('class');
637
629
  }
638
-
639
630
  if (this.placementMode === 'local') {
640
631
  // Lazily load Popper as soon as the first local overlay is used...
641
632
  if (!OverlayController.popperModule) {
642
633
  OverlayController.popperModule = preloadPopper();
643
634
  }
644
635
  }
645
- this.__handleOverlayStyles({ phase: 'init' });
646
- this._handleFeatures({ phase: 'init' });
636
+ this.__handleOverlayStyles({
637
+ phase: 'init',
638
+ });
639
+ this._handleFeatures({
640
+ phase: 'init',
641
+ });
647
642
 
648
643
  /** @private */
649
644
  this.__elementToFocusAfterHide = undefined;
650
-
651
645
  this.contentNode.dataset.content = '';
652
646
 
653
647
  // Use event delegation to listen for clicks on close buttons...
654
648
  this.contentNode.addEventListener('click', this.#hideOnCloseButtonClick);
655
-
656
649
  this.__hasSetup = true;
657
650
  }
658
-
659
651
  #hideOnCloseButtonClick = (/** @type {{ target: any; }} */ ev) => {
660
652
  const isOurCloseButton =
661
653
  ev.target.hasAttribute('data-close') &&
662
654
  deepClosest(ev.target, '[data-content]') === this.contentNode;
663
655
  if (!isOurCloseButton) return;
664
-
665
656
  this.hide();
666
657
  };
667
658
 
@@ -670,11 +661,13 @@ export class OverlayController extends EventTarget {
670
661
  * @private
671
662
  */
672
663
  __handleOverlayStyles({ phase }) {
673
- const rootNode = /** @type {ShadowRoot} */ (this.contentWrapperNode?.getRootNode());
664
+ const rootNode = /** @type {ShadowRoot} */ this.contentWrapperNode?.getRootNode();
674
665
  if (phase === 'init') {
675
666
  _adoptStyleUtils.adoptStyle(rootNode, overlayShadowDomStyle);
676
667
  } else if (phase === 'teardown') {
677
- _adoptStyleUtils.adoptStyle(rootNode, overlayShadowDomStyle, { teardown: true });
668
+ _adoptStyleUtils.adoptStyle(rootNode, overlayShadowDomStyle, {
669
+ teardown: true,
670
+ });
678
671
  }
679
672
  }
680
673
 
@@ -739,7 +732,6 @@ export class OverlayController extends EventTarget {
739
732
  this.contentWrapperNode.setAttribute('data-id', 'content-wrapper');
740
733
  // 'hack' that makes sure popperjs (that is applied one level lower) works correctly in deeply nested shadow roots
741
734
  this.contentWrapperNode.style.transform = 'translateZ(0px)';
742
-
743
735
  this.__rearrangeNodesCleanup = rearrangeNodes({
744
736
  wrappingDialogNodeL1: wrappingDialogElement,
745
737
  contentWrapperNodeL2: this.contentWrapperNode,
@@ -747,7 +739,6 @@ export class OverlayController extends EventTarget {
747
739
  // requireConnectedNodes: Boolean(this.config.requireConnectedNodes),
748
740
  });
749
741
  wrappingDialogElement.open = true;
750
-
751
742
  if (this.isTooltip) {
752
743
  // needed to prevent tooltip getting focus in Safari and Firefox
753
744
  wrappingDialogElement.setAttribute('tabindex', '-1');
@@ -783,10 +774,10 @@ export class OverlayController extends EventTarget {
783
774
  }
784
775
  },
785
776
  );
786
- wrappingDialogElement.addEventListener('cancel', event => {
777
+ wrappingDialogElement.addEventListener('cancel', (event) => {
787
778
  event.stopPropagation();
788
779
  });
789
- wrappingDialogElement.addEventListener('close', event => {
780
+ wrappingDialogElement.addEventListener('close', (event) => {
790
781
  event.stopPropagation();
791
782
  });
792
783
  }
@@ -796,17 +787,18 @@ export class OverlayController extends EventTarget {
796
787
  this.__wrappingDialogNode = this.contentNode;
797
788
  }
798
789
  }
799
-
800
790
  __initVisibility() {
801
791
  // TODO: allow defaultOpen?
802
- /** @type {HTMLDialogElement} */ (this.__wrappingDialogNode).style.display = 'none';
792
+ /** @type {HTMLDialogElement} */
793
+ this.__wrappingDialogNode.style.display = 'none';
803
794
  }
804
795
 
805
796
  // Clean up the DOM structure, leaving it as we found it.
806
797
  // TODO: __teardownContentDomStructure method... use Resettable (rename ro Restorable) found in VisibilitToggleCtrl
807
798
  __teardownVisibility() {
808
799
  // TODO: full structure. For now we just reset display prop...
809
- /** @type {HTMLDialogElement} */ (this.__wrappingDialogNode).style.display = '';
800
+ /** @type {HTMLDialogElement} */
801
+ this.__wrappingDialogNode.style.display = '';
810
802
  }
811
803
 
812
804
  /**
@@ -818,7 +810,6 @@ export class OverlayController extends EventTarget {
818
810
  if (this.placementMode !== 'local') {
819
811
  return;
820
812
  }
821
-
822
813
  if (phase === 'setup') {
823
814
  const zIndexNumber = Number(getComputedStyle(this.contentNode).zIndex);
824
815
  if (zIndexNumber < 1 || Number.isNaN(zIndexNumber)) {
@@ -835,7 +826,6 @@ export class OverlayController extends EventTarget {
835
826
  if (phase === 'init') {
836
827
  this.__storeOriginalAttrs(this.contentNode, ['role', 'id']);
837
828
  const isModal = this.trapsKeyboardFocus;
838
-
839
829
  if (this.invokerNode) {
840
830
  const attributesToStore = ['aria-labelledby', 'aria-describedby'];
841
831
  if (!isModal) {
@@ -843,7 +833,6 @@ export class OverlayController extends EventTarget {
843
833
  }
844
834
  this.__storeOriginalAttrs(this.invokerNode, attributesToStore);
845
835
  }
846
-
847
836
  if (!this.contentNode.id) {
848
837
  this.contentNode.setAttribute('id', this._contentId);
849
838
  }
@@ -879,7 +868,7 @@ export class OverlayController extends EventTarget {
879
868
  __storeOriginalAttrs(node, attrs) {
880
869
  /** @type {Record<string, any>} */
881
870
  const attrMap = {};
882
- attrs.forEach(attrName => {
871
+ attrs.forEach((attrName) => {
883
872
  attrMap[attrName] = node.getAttribute(attrName);
884
873
  });
885
874
  this.__originalAttrs.set(node, attrMap);
@@ -898,7 +887,6 @@ export class OverlayController extends EventTarget {
898
887
  }
899
888
  this.__originalAttrs.clear();
900
889
  }
901
-
902
890
  get isShown() {
903
891
  return Boolean(this.__wrappingDialogNode && this.__wrappingDialogNode.style.display !== 'none');
904
892
  }
@@ -914,7 +902,7 @@ export class OverlayController extends EventTarget {
914
902
  if (this._showComplete) {
915
903
  await this._showComplete;
916
904
  }
917
- this._showComplete = new Promise(resolve => {
905
+ this._showComplete = new Promise((resolve) => {
918
906
  this._showResolve = resolve;
919
907
  });
920
908
 
@@ -924,18 +912,17 @@ export class OverlayController extends EventTarget {
924
912
  if (!this.__wrappingDialogNode) {
925
913
  this._init();
926
914
  }
927
-
928
915
  if (this.manager) {
929
916
  this.manager.show(this);
930
917
  }
931
-
932
918
  if (this.isShown) {
933
919
  /** @type {function} */
934
- (this._showResolve)();
920
+ this._showResolve();
935
921
  return;
936
922
  }
937
-
938
- const event = new CustomEvent('before-show', { cancelable: true });
923
+ const event = new CustomEvent('before-show', {
924
+ cancelable: true,
925
+ });
939
926
  this.dispatchEvent(event);
940
927
  if (!event.defaultPrevented) {
941
928
  if ('HTMLDialogElement' in window && this.__wrappingDialogNode instanceof HTMLDialogElement) {
@@ -944,10 +931,18 @@ export class OverlayController extends EventTarget {
944
931
 
945
932
  // @ts-ignore
946
933
  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' });
934
+ this._keepBodySize({
935
+ phase: 'before-show',
936
+ });
937
+ await this._handleFeatures({
938
+ phase: 'show',
939
+ });
940
+ this._keepBodySize({
941
+ phase: 'show',
942
+ });
943
+ await this._handlePosition({
944
+ phase: 'show',
945
+ });
951
946
  this.__elementToFocusAfterHide = elementToFocusAfterHide;
952
947
  this.dispatchEvent(new Event('show'));
953
948
  await this._transitionShow({
@@ -958,13 +953,14 @@ export class OverlayController extends EventTarget {
958
953
 
959
954
  // a styling/debug hook for open state
960
955
  this.contentNode.setAttribute('data-open', '');
961
-
962
956
  if (this.config.elementToFocusOnShow) {
963
- this.contentNode.focus({ preventScroll: true });
957
+ this.contentNode.focus({
958
+ preventScroll: true,
959
+ });
964
960
  }
965
961
 
966
962
  /** @type {function} */
967
- (this._showResolve)();
963
+ this._showResolve();
968
964
  }
969
965
 
970
966
  /**
@@ -974,7 +970,6 @@ export class OverlayController extends EventTarget {
974
970
  async _handlePosition({ phase }) {
975
971
  if (this.placementMode === 'global') {
976
972
  const placementClass = `overlays__overlay-container--${this.viewportConfig.placement}`;
977
-
978
973
  if (phase === 'show') {
979
974
  this.contentWrapperNode.classList.add('overlays__overlay-container');
980
975
  this.contentWrapperNode.classList.add(placementClass);
@@ -993,7 +988,8 @@ export class OverlayController extends EventTarget {
993
988
  * This is however necessary for initial placement.
994
989
  */
995
990
  await this.__createPopperInstance();
996
- /** @type {import('@popperjs/core').Instance} */ (this._popper).forceUpdate();
991
+ /** @type {import('@popperjs/core').Instance} */
992
+ this._popper.forceUpdate();
997
993
  }
998
994
  // N.B. leave it up to the user if placementMode === 'custom'
999
995
  }
@@ -1004,8 +1000,9 @@ export class OverlayController extends EventTarget {
1004
1000
  */
1005
1001
  _keepBodySize({ phase }) {
1006
1002
  if (!this.preventsScroll) return;
1007
-
1008
- this.manager.requestToKeepBodySize({ phase });
1003
+ this.manager.requestToKeepBodySize({
1004
+ phase,
1005
+ });
1009
1006
  }
1010
1007
 
1011
1008
  /**
@@ -1015,8 +1012,7 @@ export class OverlayController extends EventTarget {
1015
1012
  async hide() {
1016
1013
  // Function like a no-op for dynamic edge cases...
1017
1014
  if (!this.config.isActivated) return;
1018
-
1019
- this._hideComplete = new Promise(resolve => {
1015
+ this._hideComplete = new Promise((resolve) => {
1020
1016
  this._hideResolve = resolve;
1021
1017
  });
1022
1018
 
@@ -1024,39 +1020,40 @@ export class OverlayController extends EventTarget {
1024
1020
  // while the dialog was open.
1025
1021
  // We need this in the _restoreFocus method to determine if we should focus this.elementToFocusAfterHide when the
1026
1022
  // 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
-
1023
+ this.__activeElementRightBeforeHide =
1024
+ /** @type {ShadowRoot} */ this.contentNode.getRootNode().activeElement;
1031
1025
  if (this.manager && this.#isRegisteredOnManager()) {
1032
1026
  this.manager.hide(this);
1033
1027
  }
1034
-
1035
1028
  if (!this.isShown) {
1036
- /** @type {function} */ (this._hideResolve)();
1029
+ /** @type {function} */ this._hideResolve();
1037
1030
  return;
1038
1031
  }
1039
-
1040
- const event = new CustomEvent('before-hide', { cancelable: true });
1032
+ const event = new CustomEvent('before-hide', {
1033
+ cancelable: true,
1034
+ });
1041
1035
  this.dispatchEvent(event);
1042
1036
  if (!event.defaultPrevented) {
1043
1037
  await this._transitionHide({
1044
1038
  backdropNode: this.backdropNode,
1045
1039
  contentNode: this.contentNode,
1046
1040
  });
1047
-
1048
1041
  if ('HTMLDialogElement' in window && this.__wrappingDialogNode instanceof HTMLDialogElement) {
1049
1042
  this.__wrappingDialogNode.close();
1050
1043
  }
1051
1044
  // @ts-ignore
1052
1045
  this.__wrappingDialogNode.style.display = 'none';
1053
- this._handleFeatures({ phase: 'hide' });
1054
- this._keepBodySize({ phase: 'hide' });
1046
+ this._handleFeatures({
1047
+ phase: 'hide',
1048
+ });
1049
+ this._keepBodySize({
1050
+ phase: 'hide',
1051
+ });
1055
1052
  this.dispatchEvent(new Event('hide'));
1056
1053
  this._restoreFocus();
1057
1054
  }
1058
- /** @type {function} */ (this._hideResolve)();
1059
-
1055
+ /** @type {function} */
1056
+ this._hideResolve();
1060
1057
  this.contentNode.removeAttribute('data-open');
1061
1058
  }
1062
1059
 
@@ -1076,8 +1073,13 @@ export class OverlayController extends EventTarget {
1076
1073
  // eslint-disable-next-line class-methods-use-this, no-empty-function, no-unused-vars
1077
1074
  async _transitionHide({ backdropNode, contentNode }) {
1078
1075
  // `this.transitionHide` is a hook for our users
1079
- await this.transitionHide({ backdropNode, contentNode });
1080
- this._handlePosition({ phase: 'hide' });
1076
+ await this.transitionHide({
1077
+ backdropNode,
1078
+ contentNode,
1079
+ });
1080
+ this._handlePosition({
1081
+ phase: 'hide',
1082
+ });
1081
1083
  if (!backdropNode) {
1082
1084
  return;
1083
1085
  }
@@ -1099,8 +1101,10 @@ export class OverlayController extends EventTarget {
1099
1101
  // eslint-disable-next-line class-methods-use-this, no-empty-function, no-unused-vars
1100
1102
  async _transitionShow(showConfig) {
1101
1103
  // `this.transitionShow` is a hook for our users
1102
- await this.transitionShow({ backdropNode: this.backdropNode, contentNode: this.contentNode });
1103
-
1104
+ await this.transitionShow({
1105
+ backdropNode: this.backdropNode,
1106
+ contentNode: this.contentNode,
1107
+ });
1104
1108
  if (showConfig.backdropNode) {
1105
1109
  showConfig.backdropNode.classList.add(`overlays__backdrop--animation-in`);
1106
1110
  }
@@ -1113,19 +1117,18 @@ export class OverlayController extends EventTarget {
1113
1117
  const weStillOwnActiveElement =
1114
1118
  this.__activeElementRightBeforeHide instanceof HTMLElement &&
1115
1119
  this.contentNode.contains(this.__activeElementRightBeforeHide);
1116
-
1117
1120
  if (!weStillOwnActiveElement) {
1118
1121
  return;
1119
1122
  }
1120
-
1121
1123
  if (this.elementToFocusAfterHide instanceof HTMLElement) {
1122
1124
  this.elementToFocusAfterHide.focus();
1123
- this.elementToFocusAfterHide.scrollIntoView({ block: 'nearest' });
1125
+ this.elementToFocusAfterHide.scrollIntoView({
1126
+ block: 'nearest',
1127
+ });
1124
1128
  } else {
1125
- /** @type {HTMLElement} */ (this.__activeElementRightBeforeHide).blur();
1129
+ /** @type {HTMLElement} */ this.__activeElementRightBeforeHide.blur();
1126
1130
  }
1127
1131
  }
1128
-
1129
1132
  async toggle() {
1130
1133
  return this.isShown ? this.hide() : this.show();
1131
1134
  }
@@ -1136,43 +1139,66 @@ export class OverlayController extends EventTarget {
1136
1139
  * @protected
1137
1140
  */
1138
1141
  _handleFeatures({ phase }) {
1139
- this._handleZIndex({ phase });
1140
-
1142
+ this._handleZIndex({
1143
+ phase,
1144
+ });
1141
1145
  if (this.preventsScroll) {
1142
- this._handlePreventsScroll({ phase });
1146
+ this._handlePreventsScroll({
1147
+ phase,
1148
+ });
1143
1149
  }
1144
1150
  if (this.isBlocking) {
1145
- this._handleBlocking({ phase });
1151
+ this._handleBlocking({
1152
+ phase,
1153
+ });
1146
1154
  }
1147
1155
  if (this.hasBackdrop) {
1148
- this._handleBackdrop({ phase });
1156
+ this._handleBackdrop({
1157
+ phase,
1158
+ });
1149
1159
  }
1150
1160
  if (this.trapsKeyboardFocus) {
1151
- this._handleTrapsKeyboardFocus({ phase });
1161
+ this._handleTrapsKeyboardFocus({
1162
+ phase,
1163
+ });
1152
1164
  }
1153
1165
  if (this.hidesOnEsc) {
1154
- this._handleHidesOnEsc({ phase });
1166
+ this._handleHidesOnEsc({
1167
+ phase,
1168
+ });
1155
1169
  }
1156
1170
  if (this.hidesOnOutsideEsc) {
1157
- this._handleHidesOnOutsideEsc({ phase });
1171
+ this._handleHidesOnOutsideEsc({
1172
+ phase,
1173
+ });
1158
1174
  }
1159
1175
  if (this.hidesOnOutsideClick) {
1160
- this._handleHidesOnOutsideClick({ phase });
1176
+ this._handleHidesOnOutsideClick({
1177
+ phase,
1178
+ });
1161
1179
  }
1162
1180
  if (this.handlesAccessibility) {
1163
- this._handleAccessibility({ phase });
1181
+ this._handleAccessibility({
1182
+ phase,
1183
+ });
1164
1184
  }
1165
1185
  if (this.inheritsReferenceWidth) {
1166
1186
  this._handleInheritsReferenceWidth();
1167
1187
  }
1168
1188
  if (this.visibilityTriggerFunction) {
1169
- this._handleVisibilityTriggers({ phase });
1189
+ this._handleVisibilityTriggers({
1190
+ phase,
1191
+ });
1170
1192
  }
1171
1193
  if (this.config.syncChildrenCloseState) {
1172
- this._handleSyncChildrenCloseState({ phase });
1194
+ this._handleSyncChildrenCloseState({
1195
+ phase,
1196
+ });
1173
1197
  }
1174
1198
  if (this.config.elementToFocusOnShow) {
1175
- this._handleElementToFocusOnShow({ phase });
1199
+ this._handleElementToFocusOnShow({
1200
+ phase,
1201
+ });
1176
1202
  }
1177
1203
  }
1178
1204
 
@@ -1195,11 +1221,10 @@ export class OverlayController extends EventTarget {
1195
1221
  */
1196
1222
  _handleSyncChildrenCloseState({ phase }) {
1197
1223
  if (phase !== 'hide') return;
1198
-
1199
1224
  const visibleChildren = this.manager.shownList.filter(
1200
- ctrl => ctrl !== this && deepContains(this.contentNode, ctrl.contentNode),
1225
+ (ctrl) => ctrl !== this && deepContains(this.contentNode, ctrl.contentNode),
1201
1226
  );
1202
- visibleChildren.forEach(ctrl => ctrl.hide());
1227
+ visibleChildren.forEach((ctrl) => ctrl.hide());
1203
1228
  }
1204
1229
 
1205
1230
  /**
@@ -1211,7 +1236,9 @@ export class OverlayController extends EventTarget {
1211
1236
  // Here we initialize the __visibilityTriggerHandler of our invokerNode. It's important that we ONLY do this on init,
1212
1237
  // otherwise we risk not being able to properly clean up listeners...
1213
1238
  if (phase === 'init') {
1214
- this.__visibilityTriggerHandler = this.visibilityTriggerFunction({ controller: this });
1239
+ this.__visibilityTriggerHandler = this.visibilityTriggerFunction({
1240
+ controller: this,
1241
+ });
1215
1242
  }
1216
1243
  // Here we run the appropriate lifecycle, if defined in our handler
1217
1244
  this.__visibilityTriggerHandler[phase]?.();
@@ -1251,7 +1278,6 @@ export class OverlayController extends EventTarget {
1251
1278
  /* no default */
1252
1279
  }
1253
1280
  }
1254
-
1255
1281
  get hasActiveBackdrop() {
1256
1282
  return this.__hasActiveBackdrop;
1257
1283
  }
@@ -1296,7 +1322,7 @@ export class OverlayController extends EventTarget {
1296
1322
  /**
1297
1323
  * @param {KeyboardEvent} event
1298
1324
  */
1299
- #isShiftPressedOnKeyDownHandler = event => {
1325
+ #isShiftPressedOnKeyDownHandler = (event) => {
1300
1326
  if (event.key === 'Shift') {
1301
1327
  this.#isShiftPressed = true;
1302
1328
  }
@@ -1305,26 +1331,23 @@ export class OverlayController extends EventTarget {
1305
1331
  /**
1306
1332
  * @param {KeyboardEvent} event
1307
1333
  */
1308
- #isShiftPressedOnKeyUpHandler = event => {
1334
+ #isShiftPressedOnKeyUpHandler = (event) => {
1309
1335
  if (event.key === 'Shift') {
1310
1336
  this.#isShiftPressed = false;
1311
1337
  }
1312
1338
  };
1313
-
1314
1339
  #handleShiftKeyPress = () => {
1315
1340
  window.addEventListener('keydown', this.#isShiftPressedOnKeyDownHandler);
1316
1341
  window.addEventListener('keyup', this.#isShiftPressedOnKeyUpHandler);
1317
1342
  };
1318
-
1319
1343
  #stopHandlingShiftKeyPress = () => {
1320
1344
  window.removeEventListener('keydown', this.#isShiftPressedOnKeyDownHandler);
1321
1345
  window.removeEventListener('keyup', this.#isShiftPressedOnKeyUpHandler);
1322
1346
  };
1323
-
1324
1347
  #getInitialElementToFocus = () => {
1325
1348
  const focusableElements = getFocusableElements(this.contentNode);
1326
1349
  // Initial focus goes to first element with autofocus, or `contentNode`
1327
- return focusableElements.find(e => e.hasAttribute('autofocus')) || this.contentNode;
1350
+ return focusableElements.find((e) => e.hasAttribute('autofocus')) || this.contentNode;
1328
1351
  };
1329
1352
 
1330
1353
  /**
@@ -1359,7 +1382,6 @@ export class OverlayController extends EventTarget {
1359
1382
  if (phase === 'init') {
1360
1383
  this.contentNode.style.outline = 'none';
1361
1384
  this.contentNode.tabIndex = -1;
1362
-
1363
1385
  const isContentShadowHost = Boolean(this.contentNode.shadowRoot);
1364
1386
  if (isContentShadowHost) {
1365
1387
  // eslint-disable-next-line no-console
@@ -1412,7 +1434,6 @@ export class OverlayController extends EventTarget {
1412
1434
  ) {
1413
1435
  return;
1414
1436
  }
1415
-
1416
1437
  if (this.#hasPressedInside(event)) {
1417
1438
  this.__escKeyHandlerCalled = true;
1418
1439
  this.hide();
@@ -1427,18 +1448,17 @@ export class OverlayController extends EventTarget {
1427
1448
  * @param {KeyboardEvent} event
1428
1449
  * @returns {boolean}
1429
1450
  */
1430
- #hasPressedInside = event =>
1431
- event.composedPath().includes(/** @type {EventTarget} */ (this.__wrappingDialogNode)) ||
1451
+ #hasPressedInside = (event) =>
1452
+ event.composedPath().includes(/** @type {EventTarget} */ this.__wrappingDialogNode) ||
1432
1453
  (this.invokerNode && event.composedPath().includes(this.invokerNode)) ||
1433
- deepContains(this.contentNode, /** @type {HTMLElement|ShadowRoot} */ (event.target));
1454
+ deepContains(this.contentNode, /** @type {HTMLElement|ShadowRoot} */ event.target);
1434
1455
 
1435
1456
  /**
1436
1457
  * @param {KeyboardEvent} event
1437
1458
  * @returns {void}
1438
1459
  */
1439
- #outsideEscKeyHandler = event => {
1460
+ #outsideEscKeyHandler = (event) => {
1440
1461
  if (event.key !== 'Escape') return;
1441
-
1442
1462
  if (this.#hasPressedInside(event)) return;
1443
1463
  this.hide();
1444
1464
  };
@@ -1510,7 +1530,6 @@ export class OverlayController extends EventTarget {
1510
1530
  */
1511
1531
  _handleHidesOnOutsideClick({ phase }) {
1512
1532
  const addOrRemoveListener = phase === 'show' ? 'addEventListener' : 'removeEventListener';
1513
-
1514
1533
  if (phase === 'show') {
1515
1534
  /**
1516
1535
  * We listen to click (more specifically mouseup and mousedown) events
@@ -1538,7 +1557,6 @@ export class OverlayController extends EventTarget {
1538
1557
  // [1]. was mousedown inside content or invoker
1539
1558
  wasMouseDownInside = true;
1540
1559
  };
1541
-
1542
1560
  this.__onInsideMouseUp = () => {
1543
1561
  // [3]. was mouseup inside content or invoker
1544
1562
  wasMouseUpInside = true;
@@ -1567,7 +1585,6 @@ export class OverlayController extends EventTarget {
1567
1585
  });
1568
1586
  };
1569
1587
  }
1570
-
1571
1588
  this.contentWrapperNode[addOrRemoveListener](
1572
1589
  'mousedown',
1573
1590
  /** @type {EventListenerOrEventListenerObject} */
@@ -1578,7 +1595,7 @@ export class OverlayController extends EventTarget {
1578
1595
  this.contentWrapperNode[addOrRemoveListener](
1579
1596
  'mouseup',
1580
1597
  /** @type {EventListenerOrEventListenerObject} */
1581
- (this.__onInsideMouseUp),
1598
+ this.__onInsideMouseUp,
1582
1599
  true,
1583
1600
  );
1584
1601
  if (this.invokerNode) {
@@ -1594,7 +1611,7 @@ export class OverlayController extends EventTarget {
1594
1611
  this.invokerNode[addOrRemoveListener](
1595
1612
  'mouseup',
1596
1613
  /** @type {EventListenerOrEventListenerObject} */
1597
- (this.__onInsideMouseUp),
1614
+ this.__onInsideMouseUp,
1598
1615
  true,
1599
1616
  );
1600
1617
  }
@@ -1619,25 +1636,31 @@ export class OverlayController extends EventTarget {
1619
1636
  */
1620
1637
  _handleAccessibility({ phase }) {
1621
1638
  if (phase === 'init' || phase === 'teardown') {
1622
- this.__setupTeardownAccessibility({ phase });
1639
+ this.__setupTeardownAccessibility({
1640
+ phase,
1641
+ });
1623
1642
  }
1624
1643
  const isModal = this.trapsKeyboardFocus;
1625
1644
  if (this.invokerNode && !this.isTooltip && !isModal) {
1626
1645
  this.invokerNode.setAttribute('aria-expanded', `${phase === 'show'}`);
1627
1646
  }
1628
1647
  }
1629
-
1630
1648
  teardown() {
1631
1649
  if (!this.__hasSetup) return;
1632
- this.__handleOverlayStyles({ phase: 'teardown' });
1650
+ this.__handleOverlayStyles({
1651
+ phase: 'teardown',
1652
+ });
1633
1653
  if (this.isShown) {
1634
- this._keepBodySize({ phase: 'teardown' });
1654
+ this._keepBodySize({
1655
+ phase: 'teardown',
1656
+ });
1635
1657
  }
1636
- this._handleFeatures({ phase: 'teardown' });
1658
+ this._handleFeatures({
1659
+ phase: 'teardown',
1660
+ });
1637
1661
  if (this.#isRegisteredOnManager()) {
1638
1662
  this.manager.remove(this);
1639
1663
  }
1640
-
1641
1664
  this.contentNode?.removeEventListener('click', this.#hideOnCloseButtonClick);
1642
1665
 
1643
1666
  // if (this.config._shouldTeardownDomStructure) {
@@ -1656,7 +1679,6 @@ export class OverlayController extends EventTarget {
1656
1679
  this.__contentWrapperNode = undefined;
1657
1680
  this.__wrappingDialogNode = undefined;
1658
1681
  }
1659
-
1660
1682
  this.__hasSetup = false;
1661
1683
  }
1662
1684
 
@@ -1666,11 +1688,10 @@ export class OverlayController extends EventTarget {
1666
1688
  this._popper.destroy();
1667
1689
  this._popper = undefined;
1668
1690
  }
1669
-
1670
1691
  if (OverlayController.popperModule !== undefined) {
1671
1692
  const { createPopper } = await OverlayController.popperModule;
1672
1693
  this._popper = createPopper(
1673
- /** @type {HTMLElement} */ (this._referenceNode),
1694
+ /** @type {HTMLElement} */ this._referenceNode,
1674
1695
  this.contentWrapperNode,
1675
1696
  {
1676
1697
  ...this.config?.popperConfig,
@@ -1678,11 +1699,10 @@ export class OverlayController extends EventTarget {
1678
1699
  );
1679
1700
  }
1680
1701
  }
1681
-
1682
1702
  _hasDisabledInvoker() {
1683
1703
  if (this.invokerNode) {
1684
1704
  return (
1685
- /** @type {HTMLElement & { disabled: boolean }} */ (this.invokerNode).disabled ||
1705
+ /** @type {HTMLElement & { disabled: boolean }} */ this.invokerNode.disabled ||
1686
1706
  this.invokerNode.getAttribute('aria-disabled') === 'true'
1687
1707
  );
1688
1708
  }