@lion/ui 0.23.0 → 0.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (787) hide show
  1. package/README.md +50 -20
  2. package/components/accordion/src/LionAccordion.js +31 -42
  3. package/components/accordion/test/lion-accordion.test.js +108 -134
  4. package/components/button/src/LionButton.js +9 -12
  5. package/components/button/src/LionButtonReset.js +0 -5
  6. package/components/button/src/LionButtonSubmit.js +7 -12
  7. package/components/button/test/demos.screenshots-test.js +50 -11
  8. package/components/button/test/lion-button.test.js +0 -1
  9. package/components/button/test-suites/LionButton.suite.js +135 -145
  10. package/components/button/test-suites/LionButtonReset.suite.js +54 -72
  11. package/components/button/test-suites/LionButtonSubmit.suite.js +49 -68
  12. package/components/calendar/src/LionCalendar.js +151 -104
  13. package/components/calendar/src/calendarStyle.js +0 -1
  14. package/components/calendar/src/utils/createMonth.js +3 -4
  15. package/components/calendar/src/utils/createMultipleMonth.js +15 -7
  16. package/components/calendar/src/utils/createWeek.js +0 -2
  17. package/components/calendar/src/utils/dataTemplate.js +8 -4
  18. package/components/calendar/src/utils/dayTemplate.js +0 -6
  19. package/components/calendar/src/utils/getDayMonthYear.js +6 -2
  20. package/components/calendar/test/demos.screenshots-test.js +40 -9
  21. package/components/calendar/test/lion-calendar.test.js +171 -282
  22. package/components/calendar/test/utils/createMonth.test.js +61 -22
  23. package/components/calendar/test/utils/createMultipleMonth.test.js +14 -7
  24. package/components/calendar/test/utils/createWeek.test.js +51 -17
  25. package/components/calendar/test/utils/dataTemplate.test.js +3 -4
  26. package/components/calendar/test/utils/dayTemplate.test.js +106 -34
  27. package/components/calendar/test/utils/getFirstDayNextMonth.test.js +0 -1
  28. package/components/calendar/test/utils/getLastDayPreviousMonth.test.js +0 -1
  29. package/components/calendar/test/utils/isSameDate.test.js +0 -1
  30. package/components/calendar/test/utils/snapshots/monthTemplate_en-GB_Sunday_2018-12.js +1 -2
  31. package/components/calendar/test-helpers/CalendarObject.js +31 -62
  32. package/components/calendar/test-helpers/DayObject.js +7 -15
  33. package/components/calendar/test-suites/LionCalendar.suite.js +7 -9
  34. package/components/checkbox-group/src/LionCheckboxIndeterminate.js +17 -30
  35. package/components/checkbox-group/test/lion-checkbox-group-integrations.test.js +0 -1
  36. package/components/checkbox-group/test/lion-checkbox-group.test.js +21 -16
  37. package/components/checkbox-group/test/lion-checkbox-indeterminate-integrations.test.js +3 -3
  38. package/components/checkbox-group/test/lion-checkbox-integrations.test.js +3 -2
  39. package/components/checkbox-group/test/lion-checkbox.test.js +30 -16
  40. package/components/checkbox-group/test-suites/CheckboxIndeterminate.suite.js +147 -191
  41. package/components/collapsible/src/LionCollapsible.js +10 -15
  42. package/components/collapsible/test/lion-collapsible.test.js +4 -18
  43. package/components/combobox/src/LionCombobox.js +35 -53
  44. package/components/combobox/src/utils/makeMatchingTextBold.js +2 -5
  45. package/components/combobox/src/validators.js +0 -1
  46. package/components/combobox/test/lion-combobox-integrations.test.js +6 -6
  47. package/components/combobox/test/lion-combobox.test.js +576 -869
  48. package/components/combobox/test/validators.test.js +6 -13
  49. package/components/combobox/test-helpers/combobox-helpers.js +24 -11
  50. package/components/core/src/DisabledMixin.js +61 -66
  51. package/components/core/src/DisabledWithTabIndexMixin.js +76 -83
  52. package/components/core/src/EventTargetShim.js +1 -4
  53. package/components/core/src/ScopedElementsMixin.js +4 -15
  54. package/components/core/src/ScopedStylesController.js +1 -5
  55. package/components/core/src/SlotMixin.js +236 -239
  56. package/components/core/src/browserDetection.js +5 -12
  57. package/components/core/test/DisabledMixin.test.js +24 -39
  58. package/components/core/test/DisabledWithTabIndexMixin.test.js +21 -34
  59. package/components/core/test/EventTargetShim.test.js +0 -8
  60. package/components/core/test/ScopedElementsMixin.test.js +22 -38
  61. package/components/core/test/ScopedStylesController.test.js +11 -20
  62. package/components/core/test/SlotMixin.test.js +102 -154
  63. package/components/core/test-helpers/getCachedFixture.js +5 -11
  64. package/components/core/types/SlotMixinTypes.ts +8 -3
  65. package/components/dialog/src/LionDialog.js +4 -3
  66. package/components/dialog/test/lion-dialog.integration.test.js +10 -20
  67. package/components/dialog/test/lion-dialog.test.js +48 -62
  68. package/components/dialog/test-helpers/test-router.js +4 -6
  69. package/components/drawer/src/LionDrawer.js +18 -34
  70. package/components/drawer/src/drawerStyle.js +0 -1
  71. package/components/drawer/test/lion-drawer.test.js +1 -17
  72. package/components/fieldset/test/lion-fieldset.test.js +6 -4
  73. package/components/form/src/LionForm.js +18 -13
  74. package/components/form/test/lion-form.test.js +22 -52
  75. package/components/form-core/src/FocusMixin.js +172 -174
  76. package/components/form-core/src/FormControlMixin.js +811 -813
  77. package/components/form-core/src/FormatMixin.js +537 -537
  78. package/components/form-core/src/InteractionStateMixin.js +196 -183
  79. package/components/form-core/src/LionField.js +9 -5
  80. package/components/form-core/src/NativeTextFieldMixin.js +114 -116
  81. package/components/form-core/src/choice-group/ChoiceGroupMixin.js +322 -364
  82. package/components/form-core/src/choice-group/ChoiceInputMixin.js +306 -296
  83. package/components/form-core/src/choice-group/CustomChoiceGroupMixin.js +114 -139
  84. package/components/form-core/src/form-group/FormElementsHaveNoError.js +0 -2
  85. package/components/form-core/src/form-group/FormGroupMixin.js +551 -557
  86. package/components/form-core/src/registration/FormRegisteringMixin.js +72 -71
  87. package/components/form-core/src/registration/FormRegistrarMixin.js +201 -217
  88. package/components/form-core/src/registration/FormRegistrarPortalMixin.js +31 -37
  89. package/components/form-core/src/utils/SyncUpdatableMixin.js +106 -117
  90. package/components/form-core/src/utils/getAriaElementsInRightDomOrder.js +1 -2
  91. package/components/form-core/src/validate/LionValidationFeedback.js +12 -8
  92. package/components/form-core/src/validate/Unparseable.js +4 -2
  93. package/components/form-core/src/validate/ValidateMixin.js +829 -883
  94. package/components/form-core/src/validate/Validator.js +3 -6
  95. package/components/form-core/src/validate/resultValidators/DefaultSuccess.js +1 -2
  96. package/components/form-core/src/validate/validators/DateValidators.js +0 -5
  97. package/components/form-core/src/validate/validators/NumberValidators.js +1 -5
  98. package/components/form-core/src/validate/validators/Required.js +1 -1
  99. package/components/form-core/src/validate/validators/StringValidators.js +1 -8
  100. package/components/form-core/test/FocusMixin.test.js +96 -82
  101. package/components/form-core/test/FormControlMixin.test.js +120 -176
  102. package/components/form-core/test/FormRegistrationMixins.test.js +0 -2
  103. package/components/form-core/test/FormatMixin.test.js +0 -1
  104. package/components/form-core/test/InteractionStateMixin.test.js +0 -1
  105. package/components/form-core/test/NativeTextFieldMixin.test.js +0 -1
  106. package/components/form-core/test/choice-group/ChoiceGroupMixin.test.js +0 -1
  107. package/components/form-core/test/choice-group/ChoiceInputMixin.test.js +0 -1
  108. package/components/form-core/test/choice-group/CustomChoiceGroupMixin.integrations.test.js +6 -8
  109. package/components/form-core/test/choice-group/CustomChoiceGroupMixin.test.js +0 -3
  110. package/components/form-core/test/form-group/FormGroupMixin.test.js +0 -1
  111. package/components/form-core/test/lion-field.test.js +88 -98
  112. package/components/form-core/test/utils/SyncUpdatableMixin.test.js +51 -65
  113. package/components/form-core/test/utils/getAriaElementsInRightDomOrder.test.js +3 -3
  114. package/components/form-core/test/validate/DateValidators.test.js +5 -27
  115. package/components/form-core/test/validate/NumberValidators.test.js +4 -16
  116. package/components/form-core/test/validate/Required.test.js +8 -21
  117. package/components/form-core/test/validate/ResultValidator.test.js +1 -2
  118. package/components/form-core/test/validate/StringValidators.test.js +4 -35
  119. package/components/form-core/test/validate/ValidateMixin.test.js +0 -1
  120. package/components/form-core/test/validate/ValidateMixinFeedbackPart.test.js +0 -1
  121. package/components/form-core/test/validate/Validator.test.js +39 -34
  122. package/components/form-core/test/validate/lion-validation-feedback.test.js +81 -43
  123. package/components/form-core/test-helpers/ExampleValidators.js +0 -5
  124. package/components/form-core/test-helpers/getFormControlMembers.js +2 -2
  125. package/components/form-core/test-helpers/mimicUserInput.js +5 -1
  126. package/components/form-core/test-suites/FormRegistrationMixins.suite.js +65 -122
  127. package/components/form-core/test-suites/FormatMixin.suite.js +202 -227
  128. package/components/form-core/test-suites/InteractionStateMixin.suite.js +47 -60
  129. package/components/form-core/test-suites/NativeTextFieldMixin.suite.js +8 -11
  130. package/components/form-core/test-suites/ValidateMixin.suite.js +280 -359
  131. package/components/form-core/test-suites/ValidateMixinFeedbackPart.suite.js +112 -163
  132. package/components/form-core/test-suites/choice-group/ChoiceGroupMixin.suite.js +185 -218
  133. package/components/form-core/test-suites/choice-group/ChoiceInputMixin.suite.js +116 -109
  134. package/components/form-core/test-suites/choice-group/CustomChoiceGroupMixin.suite.js +36 -70
  135. package/components/form-core/test-suites/form-group/FormGroupMixin-input.suite.js +57 -65
  136. package/components/form-core/test-suites/form-group/FormGroupMixin.suite.js +664 -523
  137. package/components/form-core/translations/bg-BG.js +0 -1
  138. package/components/form-core/translations/cs-CZ.js +0 -1
  139. package/components/form-core/translations/de-DE.js +0 -1
  140. package/components/form-core/translations/en-AU.js +0 -1
  141. package/components/form-core/translations/en-GB.js +0 -1
  142. package/components/form-core/translations/en-US.js +0 -1
  143. package/components/form-core/translations/es-ES.js +0 -1
  144. package/components/form-core/translations/fr-BE.js +0 -1
  145. package/components/form-core/translations/fr-FR.js +0 -1
  146. package/components/form-core/translations/hu-HU.js +0 -1
  147. package/components/form-core/translations/it-IT.js +0 -1
  148. package/components/form-core/translations/nl-BE.js +0 -1
  149. package/components/form-core/translations/nl-NL.js +0 -1
  150. package/components/form-core/translations/pl-PL.js +0 -1
  151. package/components/form-core/translations/ro-RO.js +0 -1
  152. package/components/form-core/translations/ru-RU.js +0 -1
  153. package/components/form-core/translations/sk-SK.js +0 -1
  154. package/components/form-core/translations/tr-TR.js +0 -1
  155. package/components/form-core/translations/uk-UA.js +0 -1
  156. package/components/form-integrations/test/dialog-integrations.test.js +1 -4
  157. package/components/form-integrations/test/form-group-methods.test.js +28 -31
  158. package/components/form-integrations/test/form-integrations.test.js +27 -28
  159. package/components/form-integrations/test/form-validation-integrations.test.js +21 -29
  160. package/components/form-integrations/test/helpers/umbrella-form.js +3 -5
  161. package/components/form-integrations/test/model-value-consistency.test.js +75 -77
  162. package/components/form-integrations/test/model-value-event.test.js +10 -20
  163. package/components/helpers/src/SbActionLogger.js +13 -17
  164. package/components/helpers/src/SbLocaleSwitcher.js +5 -5
  165. package/components/helpers/src/sortEachDepth.js +0 -2
  166. package/components/helpers/test/renderLitAsNode.test.js +0 -4
  167. package/components/helpers/test/sb-action-logger.test.js +24 -55
  168. package/components/icon/src/IconManager.js +0 -2
  169. package/components/icon/src/LionIcon.js +2 -7
  170. package/components/icon/src/icons.js +0 -2
  171. package/components/icon/test/IconManager.test.js +0 -15
  172. package/components/icon/test/hammer.svg.js +3 -4
  173. package/components/icon/test/heart.svg.js +3 -4
  174. package/components/icon/test/lion-icon.test.js +14 -43
  175. package/components/input/src/LionInput.js +2 -8
  176. package/components/input/test/input-integrations.test.js +0 -5
  177. package/components/input/test/lion-input-integrations.test.js +0 -4
  178. package/components/input/test/lion-input.test.js +28 -58
  179. package/components/input/test-helpers/getInputMembers.js +2 -2
  180. package/components/input-amount/src/LionInputAmount.js +20 -20
  181. package/components/input-amount/src/formatters.js +0 -3
  182. package/components/input-amount/src/parsers.js +0 -3
  183. package/components/input-amount/test/formatters.test.js +24 -16
  184. package/components/input-amount/test/lion-input-amount-integrations.test.js +0 -4
  185. package/components/input-amount/test/lion-input-amount.test.js +123 -147
  186. package/components/input-amount/test/parsers.test.js +33 -17
  187. package/components/input-amount/test/preprocessors.test.js +0 -3
  188. package/components/input-amount-dropdown/src/LionInputAmountDropdown.js +49 -59
  189. package/components/input-amount-dropdown/src/currencyUtil.js +8 -7
  190. package/components/input-amount-dropdown/src/parsers.js +0 -1
  191. package/components/input-amount-dropdown/src/validators.js +0 -1
  192. package/components/input-amount-dropdown/test/LionInputAmountDropdown.test.js +34 -36
  193. package/components/input-amount-dropdown/test/lion-input-amount-dropdown-integrations.test.js +18 -13
  194. package/components/input-amount-dropdown/test-helpers/mimicUserChangingDropdown.js +5 -1
  195. package/components/input-amount-dropdown/test-suites/LionInputAmountDropdown.suite.js +132 -107
  196. package/components/input-date/src/LionInputDate.js +4 -3
  197. package/components/input-date/test/lion-input-date-integrations.test.js +0 -3
  198. package/components/input-date/test/lion-input-date.test.js +19 -32
  199. package/components/input-datepicker/src/LionInputDatepicker.js +17 -29
  200. package/components/input-datepicker/src/localizeNamespaceLoader.js +1 -2
  201. package/components/input-datepicker/test/lion-input-datepicker-integrations.test.js +0 -3
  202. package/components/input-datepicker/test/lion-input-datepicker.test.js +88 -153
  203. package/components/input-datepicker/test-helpers/DatepickerInputObject.js +9 -12
  204. package/components/input-datepicker/test-suites/LionInputDatepicker.suite.js +6 -4
  205. package/components/input-datepicker/translations/bg-BG.js +0 -1
  206. package/components/input-datepicker/translations/cs-CZ.js +0 -1
  207. package/components/input-datepicker/translations/de-DE.js +0 -1
  208. package/components/input-datepicker/translations/en-AU.js +0 -1
  209. package/components/input-datepicker/translations/en-GB.js +0 -1
  210. package/components/input-datepicker/translations/en-US.js +0 -1
  211. package/components/input-datepicker/translations/es-ES.js +0 -1
  212. package/components/input-datepicker/translations/fr-BE.js +0 -1
  213. package/components/input-datepicker/translations/fr-FR.js +0 -1
  214. package/components/input-datepicker/translations/hu-HU.js +0 -1
  215. package/components/input-datepicker/translations/it-IT.js +0 -1
  216. package/components/input-datepicker/translations/nl-BE.js +0 -1
  217. package/components/input-datepicker/translations/nl-NL.js +0 -1
  218. package/components/input-datepicker/translations/pl-PL.js +0 -1
  219. package/components/input-datepicker/translations/ro-RO.js +0 -1
  220. package/components/input-datepicker/translations/ru-RU.js +0 -1
  221. package/components/input-datepicker/translations/sk-SK.js +0 -1
  222. package/components/input-datepicker/translations/tr-TR.js +0 -1
  223. package/components/input-datepicker/translations/uk-UA.js +0 -1
  224. package/components/input-email/test/lion-input-email-integrations.test.js +0 -2
  225. package/components/input-email/test/lion-input-email.test.js +1 -7
  226. package/components/input-file/src/FileHandle.js +0 -3
  227. package/components/input-file/src/LionInputFile.js +85 -83
  228. package/components/input-file/src/LionSelectedFileList.js +12 -12
  229. package/components/input-file/src/validators.js +10 -9
  230. package/components/input-file/test/FileValidators.test.js +170 -80
  231. package/components/input-file/test/lion-input-file.test.js +160 -244
  232. package/components/input-file/test/lion-selected-file-list.test.js +13 -22
  233. package/components/input-file/translations/bg-BG.js +0 -1
  234. package/components/input-file/translations/cs-CZ.js +0 -1
  235. package/components/input-file/translations/de-DE.js +0 -1
  236. package/components/input-file/translations/en-AU.js +0 -1
  237. package/components/input-file/translations/en-GB.js +0 -1
  238. package/components/input-file/translations/en-PH.js +0 -1
  239. package/components/input-file/translations/en-US.js +0 -1
  240. package/components/input-file/translations/en.js +2 -1
  241. package/components/input-file/translations/es-ES.js +0 -1
  242. package/components/input-file/translations/fr-BE.js +0 -1
  243. package/components/input-file/translations/fr-FR.js +0 -1
  244. package/components/input-file/translations/hu-HU.js +0 -1
  245. package/components/input-file/translations/id-ID.js +0 -1
  246. package/components/input-file/translations/id.js +2 -1
  247. package/components/input-file/translations/it-IT.js +0 -1
  248. package/components/input-file/translations/nl-BE.js +0 -1
  249. package/components/input-file/translations/nl-NL.js +0 -1
  250. package/components/input-file/translations/pl-PL.js +0 -1
  251. package/components/input-file/translations/ro-RO.js +0 -1
  252. package/components/input-file/translations/ru-RU.js +0 -1
  253. package/components/input-file/translations/sk-SK.js +0 -1
  254. package/components/input-file/translations/uk-UA.js +0 -1
  255. package/components/input-file/translations/zh-CN.js +0 -1
  256. package/components/input-iban/src/validators.js +6 -11
  257. package/components/input-iban/test/formatters.test.js +0 -3
  258. package/components/input-iban/test/lion-input-iban-integrations.test.js +0 -2
  259. package/components/input-iban/test/lion-input-iban.test.js +1 -9
  260. package/components/input-iban/test/parsers.test.js +0 -2
  261. package/components/input-iban/test/validators.test.js +0 -12
  262. package/components/input-iban/translations/bg-BG.js +0 -1
  263. package/components/input-iban/translations/cs-CZ.js +0 -1
  264. package/components/input-iban/translations/de-DE.js +0 -1
  265. package/components/input-iban/translations/en-AU.js +0 -1
  266. package/components/input-iban/translations/en-GB.js +0 -1
  267. package/components/input-iban/translations/en-US.js +0 -1
  268. package/components/input-iban/translations/es-ES.js +0 -1
  269. package/components/input-iban/translations/fr-BE.js +0 -1
  270. package/components/input-iban/translations/fr-FR.js +0 -1
  271. package/components/input-iban/translations/hu-HU.js +0 -1
  272. package/components/input-iban/translations/it-IT.js +0 -1
  273. package/components/input-iban/translations/nl-BE.js +0 -1
  274. package/components/input-iban/translations/nl-NL.js +0 -1
  275. package/components/input-iban/translations/pl-PL.js +0 -1
  276. package/components/input-iban/translations/ro-RO.js +0 -1
  277. package/components/input-iban/translations/ru-RU.js +0 -1
  278. package/components/input-iban/translations/sk-SK.js +0 -1
  279. package/components/input-iban/translations/uk-UA.js +0 -1
  280. package/components/input-range/src/LionInputRange.js +18 -19
  281. package/components/input-range/test/lion-input-range.test.js +23 -48
  282. package/components/input-range/translations/bg-BG.js +0 -1
  283. package/components/input-range/translations/cs-CZ.js +0 -1
  284. package/components/input-range/translations/de-DE.js +0 -1
  285. package/components/input-range/translations/en-AU.js +0 -1
  286. package/components/input-range/translations/en-GB.js +0 -1
  287. package/components/input-range/translations/en-PH.js +0 -1
  288. package/components/input-range/translations/en-US.js +0 -1
  289. package/components/input-range/translations/es-ES.js +0 -1
  290. package/components/input-range/translations/fr-BE.js +0 -1
  291. package/components/input-range/translations/fr-FR.js +0 -1
  292. package/components/input-range/translations/hu-HU.js +0 -1
  293. package/components/input-range/translations/it-IT.js +0 -1
  294. package/components/input-range/translations/nl-BE.js +0 -1
  295. package/components/input-range/translations/nl-NL.js +0 -1
  296. package/components/input-range/translations/pl-PL.js +0 -1
  297. package/components/input-range/translations/ro-RO.js +0 -1
  298. package/components/input-range/translations/ru-RU.js +0 -1
  299. package/components/input-range/translations/sk-SK.js +0 -1
  300. package/components/input-range/translations/uk-UA.js +0 -1
  301. package/components/input-range/translations/zh-CN.js +0 -1
  302. package/components/input-stepper/src/LionInputStepper.js +19 -38
  303. package/components/input-stepper/test/lion-input-stepper-integrations.test.js +0 -1
  304. package/components/input-stepper/test/lion-input-stepper.test.js +0 -1
  305. package/components/input-stepper/test-suites/lion-input-stepper.integration.suite.js +0 -2
  306. package/components/input-stepper/test-suites/lion-input-stepper.suite.js +56 -105
  307. package/components/input-stepper/translations/bg-BG.js +0 -1
  308. package/components/input-stepper/translations/cs-CZ.js +0 -1
  309. package/components/input-stepper/translations/de-DE.js +0 -1
  310. package/components/input-stepper/translations/en-AU.js +0 -1
  311. package/components/input-stepper/translations/en-GB.js +0 -1
  312. package/components/input-stepper/translations/en-US.js +0 -1
  313. package/components/input-stepper/translations/es-ES.js +0 -1
  314. package/components/input-stepper/translations/fr-BE.js +0 -1
  315. package/components/input-stepper/translations/fr-FR.js +0 -1
  316. package/components/input-stepper/translations/hu-HU.js +0 -1
  317. package/components/input-stepper/translations/it-IT.js +0 -1
  318. package/components/input-stepper/translations/nl-BE.js +0 -1
  319. package/components/input-stepper/translations/nl-NL.js +0 -1
  320. package/components/input-stepper/translations/pl-PL.js +0 -1
  321. package/components/input-stepper/translations/ro-RO.js +0 -1
  322. package/components/input-stepper/translations/ru-RU.js +0 -1
  323. package/components/input-stepper/translations/sk-SK.js +0 -1
  324. package/components/input-stepper/translations/uk-UA.js +0 -1
  325. package/components/input-tel/src/LionInputTel.js +53 -37
  326. package/components/input-tel/src/PhoneUtilManager.js +6 -4
  327. package/components/input-tel/src/formatters.js +12 -10
  328. package/components/input-tel/src/parsers.js +3 -3
  329. package/components/input-tel/src/preprocessors.js +15 -7
  330. package/components/input-tel/src/validators.js +4 -6
  331. package/components/input-tel/test/LionInputTel.test.js +4 -2
  332. package/components/input-tel/test/formatters.test.js +22 -10
  333. package/components/input-tel/test/parsers.test.js +40 -11
  334. package/components/input-tel/test/preprocessors.test.js +24 -13
  335. package/components/input-tel/test/validators.test.js +7 -14
  336. package/components/input-tel/test-helpers/mockPhoneUtilManager.js +7 -6
  337. package/components/input-tel/test-suites/LionInputTel.suite.js +33 -73
  338. package/components/input-tel/translations/bg-BG.js +0 -1
  339. package/components/input-tel/translations/cs-CZ.js +0 -1
  340. package/components/input-tel/translations/de-DE.js +0 -1
  341. package/components/input-tel/translations/en-AU.js +0 -1
  342. package/components/input-tel/translations/en-GB.js +0 -1
  343. package/components/input-tel/translations/en-US.js +0 -1
  344. package/components/input-tel/translations/es-ES.js +0 -1
  345. package/components/input-tel/translations/fr-BE.js +0 -1
  346. package/components/input-tel/translations/fr-FR.js +0 -1
  347. package/components/input-tel/translations/hu-HU.js +0 -1
  348. package/components/input-tel/translations/it-IT.js +0 -1
  349. package/components/input-tel/translations/nl-BE.js +0 -1
  350. package/components/input-tel/translations/nl-NL.js +0 -1
  351. package/components/input-tel/translations/pl-PL.js +0 -1
  352. package/components/input-tel/translations/ro-RO.js +0 -1
  353. package/components/input-tel/translations/ru-RU.js +0 -1
  354. package/components/input-tel/translations/sk-SK.js +0 -1
  355. package/components/input-tel/translations/uk-UA.js +0 -1
  356. package/components/input-tel-dropdown/src/LionInputTelDropdown.js +10 -28
  357. package/components/input-tel-dropdown/src/regionCodeToLocale.js +3 -1
  358. package/components/input-tel-dropdown/test/LionInputTelDropdown.test.js +31 -38
  359. package/components/input-tel-dropdown/test/regionCodeToLocale.test.js +0 -1
  360. package/components/input-tel-dropdown/test-helpers/mimicUserChangingDropdown.js +5 -1
  361. package/components/input-tel-dropdown/test-suites/LionInputTelDropdown--parentheses.suite.js +16 -11
  362. package/components/input-tel-dropdown/test-suites/LionInputTelDropdown.suite.js +54 -79
  363. package/components/listbox/src/LionListbox.js +4 -1
  364. package/components/listbox/src/LionOption.js +8 -7
  365. package/components/listbox/src/LionOptions.js +0 -3
  366. package/components/listbox/src/ListboxMixin.js +786 -820
  367. package/components/listbox/test/lion-listbox.test.js +0 -1
  368. package/components/listbox/test/lion-option.test.js +53 -64
  369. package/components/listbox/test/lion-options.test.js +3 -4
  370. package/components/listbox/test-helpers/getListboxMembers.js +6 -3
  371. package/components/listbox/test-suites/ListboxMixin.suite.js +101 -261
  372. package/components/localize/src/LocalizeManager.js +40 -40
  373. package/components/localize/src/LocalizeMixin.js +130 -157
  374. package/components/localize/src/date/formatDate.js +1 -5
  375. package/components/localize/src/date/getDateFormatBasedOnLocale.js +5 -3
  376. package/components/localize/src/date/getMonthNames.js +3 -5
  377. package/components/localize/src/date/getWeekdayNames.js +1 -5
  378. package/components/localize/src/date/parseDate.js +5 -20
  379. package/components/localize/src/date/utils/normalizeIntlDate.js +0 -7
  380. package/components/localize/src/getLocalizeManager.js +0 -3
  381. package/components/localize/src/number/formatNumber.js +3 -7
  382. package/components/localize/src/number/formatNumberToParts.js +52 -18
  383. package/components/localize/src/number/getCurrencyName.js +5 -5
  384. package/components/localize/src/number/getFractionDigits.js +4 -4
  385. package/components/localize/src/number/getSeparatorsFromNumber.js +1 -3
  386. package/components/localize/src/number/parseNumber.js +0 -3
  387. package/components/localize/src/number/utils/normalize-format-number-to-parts/forceAddGroupSeparators.js +0 -1
  388. package/components/localize/src/number/utils/normalize-format-number-to-parts/forceSpaceBetweenCurrencyCodeAndNumber.js +4 -1
  389. package/components/localize/test/LocalizeManager.test.js +385 -278
  390. package/components/localize/test/LocalizeMixin.test.js +28 -112
  391. package/components/localize/test/date/formatDate.test.js +18 -48
  392. package/components/localize/test/date/getDateFormatBasedOnLocale.test.js +0 -3
  393. package/components/localize/test/date/getMonthNames.test.js +27 -12
  394. package/components/localize/test/date/getWeekdayNames.test.js +93 -49
  395. package/components/localize/test/date/normalizeDateTime.test.js +0 -2
  396. package/components/localize/test/date/parseDate.test.js +12 -16
  397. package/components/localize/test/getLocalizeManager.test.js +0 -3
  398. package/components/localize/test/isLocalizeESModule.test.js +32 -13
  399. package/components/localize/test/localize.test.js +0 -4
  400. package/components/localize/test/number/formatNumber.test.js +215 -106
  401. package/components/localize/test/number/formatNumberToParts.test.js +31 -38
  402. package/components/localize/test/number/getCurrencyName.test.js +20 -6
  403. package/components/localize/test/number/getDecimalSeparator.test.js +5 -4
  404. package/components/localize/test/number/getFractionDigits.test.js +0 -2
  405. package/components/localize/test/number/getGroupSeparator.test.js +0 -2
  406. package/components/localize/test/number/getSeparatorsFromNumber.test.js +5 -3
  407. package/components/localize/test/number/parseNumber.test.js +123 -56
  408. package/components/localize/test/side-effect-free-entrypoint.test.js +0 -6
  409. package/components/localize/test-helpers/fake-imports.js +11 -6
  410. package/components/localize/test-helpers/localizeTearDown.js +0 -1
  411. package/components/menu/src/InteractiveListMixin.js +637 -638
  412. package/components/menu/src/LionMenu.js +46 -59
  413. package/components/menu/src/MoreButtonMenuMixin.js +215 -238
  414. package/components/menu/src/MultiLevelListMixin.js +240 -246
  415. package/components/menu/src/utils/isInView.js +0 -1
  416. package/components/menu/src/utils/listItemInteractions.js +4 -4
  417. package/components/menu/test/InteractiveListMixin.test.js +0 -1
  418. package/components/menu/test/MoreButtonMenuMixin.test.js +3 -2
  419. package/components/menu/test/MultiLevelListMixin.test.js +0 -1
  420. package/components/menu/test/lion-menu-interactions.test.js +0 -1
  421. package/components/menu/test/lion-menu.test.js +6 -2
  422. package/components/menu/test-helpers/mimicKeyPress.js +12 -2
  423. package/components/menu/test-suites/InteractiveListMixin.suite.js +4 -43
  424. package/components/menu/test-suites/LionMenu.suite.js +1 -8
  425. package/components/menu/test-suites/LionMenuInteractions.suite.js +22 -44
  426. package/components/menu/test-suites/MoreButtonMenuMixin.suite.js +34 -41
  427. package/components/menu/test-suites/MultiLevelListMixin.suite.js +5 -23
  428. package/components/overlays/src/ArrowMixin.js +111 -127
  429. package/components/overlays/src/OverlayController.js +166 -151
  430. package/components/overlays/src/OverlayMixin.js +61 -63
  431. package/components/overlays/src/OverlaysManager.js +30 -32
  432. package/components/overlays/src/configurations/visibility-trigger-partials/withClickInteraction.js +0 -1
  433. package/components/overlays/src/configurations/visibility-trigger-partials/withHoverInteraction.js +11 -11
  434. package/components/overlays/src/configurations/withBottomSheetConfig.js +12 -13
  435. package/components/overlays/src/configurations/withDropdownConfig.js +4 -2
  436. package/components/overlays/src/configurations/withModalDialogConfig.js +12 -13
  437. package/components/overlays/src/configurations/withPopoverConfig.js +27 -25
  438. package/components/overlays/src/configurations/withTooltipConfig.js +15 -13
  439. package/components/overlays/src/overlayDocumentStyle.js +1 -1
  440. package/components/overlays/src/overlayShadowDomStyle.js +0 -1
  441. package/components/overlays/src/singleton.js +0 -2
  442. package/components/overlays/src/utils/adopt-styles.js +18 -18
  443. package/components/overlays/src/utils/deep-contains.js +7 -6
  444. package/components/overlays/src/utils/get-focusable-elements.js +7 -10
  445. package/components/overlays/src/utils/inert-siblings.js +2 -4
  446. package/components/overlays/src/utils/is-equal-config.js +2 -3
  447. package/components/overlays/src/utils/is-visible.js +0 -1
  448. package/components/overlays/src/utils/simulate-tab.js +1 -4
  449. package/components/overlays/src/utils/sort-by-tabindex.js +2 -4
  450. package/components/overlays/test/ArrowMixin.test.js +18 -30
  451. package/components/overlays/test/OverlayController.test.js +375 -555
  452. package/components/overlays/test/OverlayMixin.test.js +0 -2
  453. package/components/overlays/test/OverlaysManager.test.js +30 -35
  454. package/components/overlays/test/global-positioning.test.js +6 -10
  455. package/components/overlays/test/local-positioning.test.js +101 -103
  456. package/components/overlays/test/utils-tests/active-element.test.js +12 -27
  457. package/components/overlays/test/utils-tests/adopt-styles.test.js +25 -56
  458. package/components/overlays/test/utils-tests/deep-contains.test.js +73 -74
  459. package/components/overlays/test/utils-tests/get-focusable-elements.test.js +6 -23
  460. package/components/overlays/test/utils-tests/is-equal-config.test.js +32 -13
  461. package/components/overlays/test/utils-tests/visibility.test.js +44 -79
  462. package/components/overlays/test-helpers/createShadowHost.js +5 -3
  463. package/components/overlays/test-helpers/normalizeTransformStyle.js +2 -4
  464. package/components/overlays/test-suites/OverlayMixin.suite.js +152 -181
  465. package/components/overlays/test-suites/WithHoverInteraction.suite.js +96 -79
  466. package/components/overlays/translations/bg-BG.js +0 -1
  467. package/components/overlays/translations/cs-CZ.js +0 -1
  468. package/components/overlays/translations/de-DE.js +0 -1
  469. package/components/overlays/translations/en-AU.js +0 -1
  470. package/components/overlays/translations/en-GB.js +0 -1
  471. package/components/overlays/translations/en-US.js +0 -1
  472. package/components/overlays/translations/es-ES.js +0 -1
  473. package/components/overlays/translations/fr-BE.js +0 -1
  474. package/components/overlays/translations/fr-FR.js +0 -1
  475. package/components/overlays/translations/hu-HU.js +0 -1
  476. package/components/overlays/translations/it-IT.js +0 -1
  477. package/components/overlays/translations/nl-BE.js +0 -1
  478. package/components/overlays/translations/nl-NL.js +0 -1
  479. package/components/overlays/translations/pl-PL.js +0 -1
  480. package/components/overlays/translations/ro-RO.js +0 -1
  481. package/components/overlays/translations/ru-RU.js +0 -1
  482. package/components/overlays/translations/sk-SK.js +0 -1
  483. package/components/overlays/translations/tr-TR.js +0 -1
  484. package/components/overlays/translations/uk-UA.js +0 -1
  485. package/components/pagination/src/LionPagination.js +9 -12
  486. package/components/pagination/test/lion-pagination.test.js +18 -50
  487. package/components/progress-indicator/src/LionProgressIndicator.js +10 -12
  488. package/components/progress-indicator/test/lion-progress-indicator.test.js +1 -22
  489. package/components/radio-group/src/LionRadioGroup.js +1 -2
  490. package/components/radio-group/test/lion-radio-group-integrations.test.js +0 -1
  491. package/components/radio-group/test/lion-radio-group.test.js +27 -27
  492. package/components/radio-group/test/lion-radio-integrations.test.js +3 -2
  493. package/components/radio-group/test/lion-radio.test.js +30 -16
  494. package/components/select/src/LionSelect.js +12 -13
  495. package/components/select/test/lion-select.test.js +7 -12
  496. package/components/select-rich/src/LionSelectInvoker.js +18 -11
  497. package/components/select-rich/src/LionSelectRich.js +20 -43
  498. package/components/select-rich/test/demos.screenshots-test.js +40 -9
  499. package/components/select-rich/test/lion-select-invoker.test.js +26 -43
  500. package/components/select-rich/test/lion-select-listbox-suite-integration.test.js +3 -3
  501. package/components/select-rich/test/lion-select-rich-dialog-integration.test.js +4 -9
  502. package/components/select-rich/test/lion-select-rich-interaction.test.js +116 -116
  503. package/components/select-rich/test/lion-select-rich-upgrade.test.js +3 -7
  504. package/components/select-rich/test/lion-select-rich.test.js +153 -195
  505. package/components/select-rich/test-helpers/getSelectRichMembers.js +4 -1
  506. package/components/steps/src/LionStep.js +21 -12
  507. package/components/steps/src/LionSteps.js +25 -25
  508. package/components/steps/test/lion-step.test.js +18 -25
  509. package/components/steps/test/lion-steps.test.js +45 -78
  510. package/components/switch/src/LionSwitch.js +2 -7
  511. package/components/switch/src/LionSwitchButton.js +5 -6
  512. package/components/switch/test/lion-switch-button.test.js +16 -28
  513. package/components/switch/test/lion-switch.test.js +17 -31
  514. package/components/tabs/src/LionTabs.js +25 -28
  515. package/components/tabs/test/lion-tabs.test.js +156 -154
  516. package/components/textarea/src/LionTextarea.js +4 -23
  517. package/components/textarea/test/lion-textarea-integrations.test.js +0 -5
  518. package/components/textarea/test/lion-textarea.test.js +2 -28
  519. package/components/tooltip/src/LionTooltip.js +6 -6
  520. package/components/tooltip/test/lion-tooltip.test.js +75 -102
  521. package/components/validate-messages/src/getLocalizedMessage.js +8 -7
  522. package/components/validate-messages/src/loadDefaultFeedbackMessages.js +3 -1
  523. package/components/validate-messages/src/loadDefaultFeedbackMessagesNoSideEffects.js +9 -5
  524. package/components/validate-messages/src/per-entrypoint/loadComboboxMessagesNoSideEffects.js +5 -2
  525. package/components/validate-messages/src/per-entrypoint/loadFormCoreMessagesNoSideEffects.js +99 -35
  526. package/components/validate-messages/src/per-entrypoint/loadInputTelMessagesNoSideEffects.js +4 -3
  527. package/components/validate-messages/test/loadDefaultFeedbackMessages.test.js +5 -3
  528. package/components/validate-messages/test/loadDefaultFeedbackMessagesNoSideEffects.test.js +80 -45
  529. package/components/validate-messages/translations/bg-BG.js +0 -1
  530. package/components/validate-messages/translations/cs-CZ.js +0 -1
  531. package/components/validate-messages/translations/de-DE.js +0 -1
  532. package/components/validate-messages/translations/en-AU.js +0 -1
  533. package/components/validate-messages/translations/en-GB.js +0 -1
  534. package/components/validate-messages/translations/en-PH.js +0 -1
  535. package/components/validate-messages/translations/en-US.js +0 -1
  536. package/components/validate-messages/translations/es-ES.js +0 -1
  537. package/components/validate-messages/translations/fr-BE.js +0 -1
  538. package/components/validate-messages/translations/fr-FR.js +0 -1
  539. package/components/validate-messages/translations/hu-HU.js +0 -1
  540. package/components/validate-messages/translations/it-IT.js +0 -1
  541. package/components/validate-messages/translations/nl-BE.js +0 -1
  542. package/components/validate-messages/translations/nl-NL.js +0 -1
  543. package/components/validate-messages/translations/pl-PL.js +0 -1
  544. package/components/validate-messages/translations/ro-RO.js +0 -1
  545. package/components/validate-messages/translations/ru-RU.js +0 -1
  546. package/components/validate-messages/translations/sk-SK.js +0 -1
  547. package/components/validate-messages/translations/tr-TR.js +0 -1
  548. package/components/validate-messages/translations/uk-UA.js +0 -1
  549. package/custom-elements.json +191 -56
  550. package/dist-types/components/core/src/SlotMixin.d.ts +6 -1
  551. package/dist-types/components/core/src/SlotMixin.d.ts.map +1 -1
  552. package/dist-types/components/core/types/SlotMixinTypes.d.ts +5 -1
  553. package/dist-types/components/core/types/SlotMixinTypes.d.ts.map +1 -1
  554. package/dist-types/components/form-core/src/LionField.d.ts +3 -1
  555. package/dist-types/components/form-core/src/LionField.d.ts.map +1 -1
  556. package/dist-types/components/input-tel/src/LionInputTel.d.ts +6 -6
  557. package/dist-types/components/input-tel/src/LionInputTel.d.ts.map +1 -1
  558. package/dist-types/components/input-tel/src/PhoneUtilManager.d.ts +2 -2
  559. package/dist-types/components/input-tel/src/PhoneUtilManager.d.ts.map +1 -1
  560. package/dist-types/components/input-tel/src/formatters.d.ts +2 -2
  561. package/dist-types/components/input-tel/src/formatters.d.ts.map +1 -1
  562. package/dist-types/components/input-tel/src/preprocessors.d.ts +2 -2
  563. package/dist-types/components/input-tel/src/preprocessors.d.ts.map +1 -1
  564. package/dist-types/components/input-tel/test/validators.test.d.ts +1 -1
  565. package/dist-types/components/input-tel/test/validators.test.d.ts.map +1 -1
  566. package/dist-types/components/listbox/src/LionOption.d.ts +5 -2
  567. package/dist-types/components/listbox/src/LionOption.d.ts.map +1 -1
  568. package/dist-types/components/overlays/src/OverlaysManager.d.ts.map +1 -1
  569. package/dist-types/components/overlays/src/overlayDocumentStyle.d.ts.map +1 -1
  570. package/dist-types/components/select-rich/src/LionSelectInvoker.d.ts +3 -1
  571. package/dist-types/components/select-rich/src/LionSelectInvoker.d.ts.map +1 -1
  572. package/dist-types/components/select-rich/src/LionSelectRich.d.ts +1 -1
  573. package/dist-types/tsconfig.tsbuildinfo +1 -1
  574. package/docs/components/accordion/overview.md +2 -2
  575. package/docs/components/accordion/reference.md +2 -2
  576. package/docs/components/accordion/use-cases.md +2 -2
  577. package/docs/components/button/examples.md +2 -2
  578. package/docs/components/button/extensions.md +2 -2
  579. package/docs/components/button/overview.md +2 -2
  580. package/docs/components/button/use-cases.md +2 -2
  581. package/docs/components/calendar/overview.md +2 -2
  582. package/docs/components/calendar/use-cases.md +2 -2
  583. package/docs/components/checkbox-group/overview.md +4 -4
  584. package/docs/components/checkbox-group/use-cases.md +2 -2
  585. package/docs/components/collapsible/examples.md +2 -2
  586. package/docs/components/collapsible/overview.md +3 -3
  587. package/docs/components/collapsible/use-cases.md +2 -2
  588. package/docs/components/combobox/extensions.md +2 -2
  589. package/docs/components/combobox/overview.md +3 -3
  590. package/docs/components/combobox/use-cases.md +3 -3
  591. package/docs/components/dialog/overview.md +3 -3
  592. package/docs/components/dialog/use-cases.md +2 -2
  593. package/docs/components/drawer/overview.md +2 -2
  594. package/docs/components/drawer/use-cases.md +2 -2
  595. package/docs/components/fieldset/overview.md +7 -7
  596. package/docs/components/fieldset/use-cases.md +2 -2
  597. package/docs/components/form/overview.md +5 -5
  598. package/docs/components/form/use-cases.md +4 -4
  599. package/docs/components/icon/overview.md +2 -2
  600. package/docs/components/icon/use-cases.md +3 -3
  601. package/docs/components/input/overview.md +3 -3
  602. package/docs/components/input/use-cases.md +2 -2
  603. package/docs/components/input-amount/overview.md +5 -5
  604. package/docs/components/input-amount/use-cases.md +2 -2
  605. package/docs/components/input-amount-dropdown/use-cases.md +2 -2
  606. package/docs/components/input-date/overview.md +5 -5
  607. package/docs/components/input-date/use-cases.md +2 -2
  608. package/docs/components/input-datepicker/overview.md +7 -7
  609. package/docs/components/input-datepicker/use-cases.md +2 -2
  610. package/docs/components/input-email/overview.md +4 -4
  611. package/docs/components/input-email/use-cases.md +2 -2
  612. package/docs/components/input-file/overview.md +3 -3
  613. package/docs/components/input-file/use-cases.md +2 -2
  614. package/docs/components/input-iban/overview.md +4 -4
  615. package/docs/components/input-iban/use-cases.md +2 -2
  616. package/docs/components/input-range/overview.md +4 -4
  617. package/docs/components/input-range/use-cases.md +2 -2
  618. package/docs/components/input-stepper/overview.md +3 -3
  619. package/docs/components/input-stepper/use-cases.md +2 -2
  620. package/docs/components/input-tel/overview.md +3 -3
  621. package/docs/components/input-tel/use-cases.md +8 -8
  622. package/docs/components/input-tel-dropdown/extensions.md +2 -2
  623. package/docs/components/input-tel-dropdown/overview.md +3 -3
  624. package/docs/components/input-tel-dropdown/use-cases.md +2 -2
  625. package/docs/components/listbox/overview.md +2 -2
  626. package/docs/components/listbox/use-cases.md +3 -3
  627. package/docs/components/menu/extensions.md +2 -2
  628. package/docs/components/menu/migration.md +2 -2
  629. package/docs/components/menu/overview.md +2 -2
  630. package/docs/components/menu/use-cases.md +1 -1
  631. package/docs/components/pagination/overview.md +2 -2
  632. package/docs/components/pagination/use-cases.md +2 -2
  633. package/docs/components/progress-indicator/examples.md +2 -2
  634. package/docs/components/progress-indicator/overview.md +2 -2
  635. package/docs/components/radio-group/overview.md +5 -5
  636. package/docs/components/radio-group/use-cases.md +2 -2
  637. package/docs/components/select/overview.md +2 -2
  638. package/docs/components/select/use-cases.md +3 -3
  639. package/docs/components/select-rich/examples.md +2 -2
  640. package/docs/components/select-rich/overview.md +2 -2
  641. package/docs/components/select-rich/use-cases.md +4 -4
  642. package/docs/components/steps/overview.md +2 -2
  643. package/docs/components/steps/use-cases.md +2 -2
  644. package/docs/components/switch/overview.md +2 -2
  645. package/docs/components/switch/reference.md +2 -2
  646. package/docs/components/switch/use-cases.md +2 -2
  647. package/docs/components/tabs/examples.md +3 -3
  648. package/docs/components/tabs/overview.md +2 -2
  649. package/docs/components/tabs/use-cases.md +2 -2
  650. package/docs/components/textarea/overview.md +2 -2
  651. package/docs/components/textarea/use-cases.md +2 -2
  652. package/docs/components/tooltip/examples.md +2 -2
  653. package/docs/components/tooltip/overview.md +2 -2
  654. package/docs/components/tooltip/use-cases.md +2 -2
  655. package/docs/fundamentals/index.md +4 -4
  656. package/docs/fundamentals/node-tools/babel-plugin-extend-docs/index.md +2 -2
  657. package/docs/fundamentals/node-tools/babel-plugin-extend-docs/overview.md +2 -2
  658. package/docs/fundamentals/node-tools/providence-analytics/index.md +2 -2
  659. package/docs/fundamentals/node-tools/providence-analytics/overview.md +2 -2
  660. package/docs/fundamentals/node-tools/publish-docs/index.md +2 -2
  661. package/docs/fundamentals/node-tools/publish-docs/overview.md +5 -5
  662. package/docs/fundamentals/node-tools/remark-extend/index.md +2 -2
  663. package/docs/fundamentals/node-tools/remark-extend/overview.md +2 -2
  664. package/docs/fundamentals/node-tools/rocket-preset-extend-lion-docs/index.md +2 -2
  665. package/docs/fundamentals/node-tools/rocket-preset-extend-lion-docs/overview.md +4 -4
  666. package/docs/fundamentals/rationales/TypeScript.md +62 -2
  667. package/docs/fundamentals/rationales/accessibility.md +5 -5
  668. package/docs/fundamentals/rationales/side-effects.md +2 -2
  669. package/docs/fundamentals/rationales/versioning.md +2 -2
  670. package/docs/fundamentals/systems/core/SlotMixin.md +3 -3
  671. package/docs/fundamentals/systems/core/index.md +2 -2
  672. package/docs/fundamentals/systems/core/overview.md +3 -3
  673. package/docs/fundamentals/systems/form/formatting-and-parsing.md +6 -6
  674. package/docs/fundamentals/systems/form/index.md +2 -2
  675. package/docs/fundamentals/systems/form/interaction-states.md +2 -2
  676. package/docs/fundamentals/systems/form/model-value.md +3 -3
  677. package/docs/fundamentals/systems/form/overview.md +30 -30
  678. package/docs/fundamentals/systems/form/styling.md +2 -2
  679. package/docs/fundamentals/systems/form/use-cases.md +2 -2
  680. package/docs/fundamentals/systems/form/validate.md +4 -4
  681. package/docs/fundamentals/systems/icon/index.md +2 -2
  682. package/docs/fundamentals/systems/icon/overview.md +2 -2
  683. package/docs/fundamentals/systems/localize/dates.md +2 -2
  684. package/docs/fundamentals/systems/localize/index.md +2 -2
  685. package/docs/fundamentals/systems/localize/numbers.md +2 -2
  686. package/docs/fundamentals/systems/localize/overview.md +6 -6
  687. package/docs/fundamentals/systems/localize/rationale.md +2 -2
  688. package/docs/fundamentals/systems/localize/text.md +2 -2
  689. package/docs/fundamentals/systems/localize/use-cases.md +2 -2
  690. package/docs/fundamentals/systems/overlays/_edge-cases.md +2 -2
  691. package/docs/fundamentals/systems/overlays/configuration.md +4 -4
  692. package/docs/fundamentals/systems/overlays/index.md +2 -2
  693. package/docs/fundamentals/systems/overlays/overview.md +7 -7
  694. package/docs/fundamentals/systems/overlays/rationale.md +2 -2
  695. package/docs/fundamentals/systems/overlays/use-cases.md +4 -4
  696. package/docs/fundamentals/tools/ajax/index.md +2 -2
  697. package/docs/fundamentals/tools/ajax/overview.md +2 -2
  698. package/docs/fundamentals/tools/ajax/use-cases.md +2 -2
  699. package/docs/fundamentals/tools/helpers/action-logger.md +2 -2
  700. package/docs/fundamentals/tools/helpers/index.md +2 -2
  701. package/docs/fundamentals/tools/helpers/overview.md +3 -3
  702. package/docs/fundamentals/tools/singleton-manager/example-complex/index.md +2 -2
  703. package/docs/fundamentals/tools/singleton-manager/example-fail/index.md +2 -2
  704. package/docs/fundamentals/tools/singleton-manager/example-success/index.md +2 -2
  705. package/docs/fundamentals/tools/singleton-manager/index.md +2 -2
  706. package/docs/fundamentals/tools/singleton-manager/overview.md +6 -6
  707. package/docs/guides/how-to/create-a-custom-field.md +7 -7
  708. package/docs/guides/how-to/create-a-form.md +6 -6
  709. package/docs/guides/how-to/extend-a-native-input.md +4 -4
  710. package/docs/guides/how-to/get-started.md +2 -2
  711. package/docs/guides/how-to/index.md +1 -1
  712. package/docs/guides/index.md +8 -8
  713. package/docs/guides/principles/definitions-and-terms.md +2 -2
  714. package/docs/guides/principles/index.md +5 -5
  715. package/docs/guides/principles/scoped-elements.md +2 -2
  716. package/docs/guides/principles/styling.md +3 -3
  717. package/docs/guides/principles/subclasser-apis.md +2 -2
  718. package/exports/define/lion-accordion.js +0 -1
  719. package/exports/define/lion-button-reset.js +0 -1
  720. package/exports/define/lion-button-submit.js +0 -1
  721. package/exports/define/lion-button.js +0 -1
  722. package/exports/define/lion-calendar.js +0 -1
  723. package/exports/define/lion-checkbox-group.js +0 -1
  724. package/exports/define/lion-checkbox-indeterminate.js +0 -1
  725. package/exports/define/lion-checkbox.js +0 -1
  726. package/exports/define/lion-collapsible.js +0 -1
  727. package/exports/define/lion-combobox.js +0 -1
  728. package/exports/define/lion-dialog.js +0 -1
  729. package/exports/define/lion-drawer.js +0 -1
  730. package/exports/define/lion-field.js +0 -1
  731. package/exports/define/lion-fieldset.js +0 -1
  732. package/exports/define/lion-form.js +0 -1
  733. package/exports/define/lion-icon.js +0 -1
  734. package/exports/define/lion-input-amount-dropdown.js +0 -1
  735. package/exports/define/lion-input-amount.js +0 -1
  736. package/exports/define/lion-input-date.js +0 -1
  737. package/exports/define/lion-input-datepicker.js +0 -1
  738. package/exports/define/lion-input-email.js +0 -1
  739. package/exports/define/lion-input-file.js +0 -1
  740. package/exports/define/lion-input-iban.js +0 -1
  741. package/exports/define/lion-input-range.js +0 -1
  742. package/exports/define/lion-input-stepper.js +0 -1
  743. package/exports/define/lion-input-tel-dropdown.js +0 -1
  744. package/exports/define/lion-input-tel.js +0 -1
  745. package/exports/define/lion-input.js +0 -1
  746. package/exports/define/lion-item.js +0 -1
  747. package/exports/define/lion-listbox.js +0 -1
  748. package/exports/define/lion-menu.js +0 -1
  749. package/exports/define/lion-menuitem.js +0 -1
  750. package/exports/define/lion-option.js +0 -1
  751. package/exports/define/lion-options.js +0 -1
  752. package/exports/define/lion-pagination.js +0 -1
  753. package/exports/define/lion-progress-indicator.js +0 -1
  754. package/exports/define/lion-radio-group.js +0 -1
  755. package/exports/define/lion-radio.js +0 -1
  756. package/exports/define/lion-select-invoker.js +0 -1
  757. package/exports/define/lion-select-rich.js +0 -1
  758. package/exports/define/lion-select.js +0 -1
  759. package/exports/define/lion-selected-file-list.js +0 -1
  760. package/exports/define/lion-step.js +0 -1
  761. package/exports/define/lion-steps.js +0 -1
  762. package/exports/define/lion-switch-button.js +0 -1
  763. package/exports/define/lion-switch.js +0 -1
  764. package/exports/define/lion-tabs.js +0 -1
  765. package/exports/define/lion-textarea.js +0 -1
  766. package/exports/define/lion-tooltip.js +0 -1
  767. package/exports/define/lion-validation-feedback.js +0 -1
  768. package/exports/define-helpers/sb-action-logger.js +0 -1
  769. package/exports/define-helpers/sb-locale-switcher.js +0 -1
  770. package/exports/form-core.js +0 -8
  771. package/exports/localize-no-side-effects.js +0 -1
  772. package/exports/localize.js +0 -2
  773. package/exports/overlays.js +0 -4
  774. package/generated/awesome-phonenumber/LICENSE +22 -0
  775. package/generated/awesome-phonenumber/LICENSE.closure-library +176 -0
  776. package/generated/awesome-phonenumber/LICENSE.libphonenumber +176 -0
  777. package/generated/awesome-phonenumber/checksums.json +6 -0
  778. package/generated/awesome-phonenumber/index-esm.mjs +817 -0
  779. package/generated/awesome-phonenumber/index.d.ts +227 -0
  780. package/generated/awesome-phonenumber/index.js +45 -0
  781. package/generated/awesome-phonenumber/lib/index.js +710 -0
  782. package/generated/awesome-phonenumber/package.json +9 -0
  783. package/generated/awesome-phonenumber/provenance.json +13 -0
  784. package/package.json +32 -10
  785. package/web-types.json +1 -1
  786. package/vendor/README.md +0 -61
  787. package/vendor/awesome-phonenumber-7.9.0-tlouisse.libphonenumber-9.0.41.tgz +0 -0
@@ -6,7 +6,6 @@ import {
6
6
  LocalizeMixin,
7
7
  normalizeDateTime,
8
8
  } from '@lion/ui/localize-no-side-effects.js';
9
-
10
9
  import { calendarStyle } from './calendarStyle.js';
11
10
  import { createDay } from './utils/createDay.js';
12
11
  import { createMultipleMonth } from './utils/createMultipleMonth.js';
@@ -23,7 +22,7 @@ import { getDayMonthYear } from './utils/getDayMonthYear.js';
23
22
  * @typedef {import('../types/day.js').Month} Month
24
23
  */
25
24
 
26
- const isDayButton = /** @param {HTMLElement} el */ el =>
25
+ const isDayButton = /** @param {HTMLElement} el */ (el) =>
27
26
  el.classList.contains('calendar__day-button');
28
27
 
29
28
  /**
@@ -41,7 +40,7 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
41
40
  static get localizeNamespaces() {
42
41
  return [
43
42
  {
44
- 'lion-calendar': /** @param {string} locale */ locale => {
43
+ 'lion-calendar': /** @param {string} locale */ (locale) => {
45
44
  switch (locale) {
46
45
  case 'bg-BG':
47
46
  case 'bg':
@@ -105,44 +104,49 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
105
104
  ...super.localizeNamespaces,
106
105
  ];
107
106
  }
108
-
109
107
  static get properties() {
110
108
  return {
111
109
  /**
112
110
  * Minimum date. All dates before will be disabled
113
111
  */
114
- minDate: { attribute: false },
115
-
112
+ minDate: {
113
+ attribute: false,
114
+ },
116
115
  /**
117
116
  * Maximum date. All dates after will be disabled
118
117
  */
119
- maxDate: { attribute: false },
120
-
118
+ maxDate: {
119
+ attribute: false,
120
+ },
121
121
  /**
122
122
  * Disable certain dates
123
123
  */
124
- disableDates: { attribute: false },
125
-
124
+ disableDates: {
125
+ attribute: false,
126
+ },
126
127
  /**
127
128
  * The selected date, usually synchronized with datepicker-input
128
129
  * Not to be confused with the focused date (therefore not necessarily in active month view)
129
130
  */
130
- selectedDate: { attribute: false },
131
-
131
+ selectedDate: {
132
+ attribute: false,
133
+ },
132
134
  /**
133
135
  * The date that
134
136
  * 1. determines the currently visible month
135
137
  * 2. will be focused when the month grid gets focused by the keyboard
136
138
  */
137
- centralDate: { attribute: false },
138
-
139
+ centralDate: {
140
+ attribute: false,
141
+ },
139
142
  /**
140
143
  * Weekday that will be displayed in first column of month grid.
141
144
  * 0: sunday, 1: monday, 2: tuesday, 3: wednesday , 4: thursday, 5: friday, 6: saturday
142
145
  * Default is 0
143
146
  */
144
- firstDayOfWeek: { attribute: false },
145
-
147
+ firstDayOfWeek: {
148
+ attribute: false,
149
+ },
146
150
  /**
147
151
  * Weekday header notation, based on Intl DatetimeFormat:
148
152
  * - 'long' (e.g., Thursday)
@@ -150,22 +154,27 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
150
154
  * - 'narrow' (e.g., T).
151
155
  * Default is 'short'
152
156
  */
153
- weekdayHeaderNotation: { attribute: false },
154
-
157
+ weekdayHeaderNotation: {
158
+ attribute: false,
159
+ },
155
160
  /**
156
161
  * Different locale for this component scope
157
162
  */
158
- locale: { attribute: false },
159
-
163
+ locale: {
164
+ attribute: false,
165
+ },
160
166
  /**
161
167
  * The currently focused date (if any)
162
168
  */
163
- __focusedDate: { attribute: false },
164
-
169
+ __focusedDate: {
170
+ attribute: false,
171
+ },
165
172
  /**
166
173
  * Data to render current month grid
167
174
  */
168
- __data: { attribute: false },
175
+ __data: {
176
+ attribute: false,
177
+ },
169
178
  };
170
179
  }
171
180
 
@@ -189,23 +198,23 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
189
198
 
190
199
  /** @private */
191
200
  __boundBlurDateDelegation;
192
-
193
201
  constructor() {
194
202
  super();
195
203
  /** @type {{months: Month[]}}
196
204
  * @private
197
205
  */
198
- this.__data = { months: [] };
206
+ this.__data = {
207
+ months: [],
208
+ };
199
209
  this.minDate = new Date(0);
200
210
  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
201
211
  this.maxDate = new Date(8640000000000000);
202
212
  /** @param {Day} day */
203
- this.dayPreprocessor = day => day;
213
+ this.dayPreprocessor = (day) => day;
204
214
 
205
215
  /** @param {Date} day */
206
216
  // eslint-disable-next-line no-unused-vars
207
- this.disableDates = day => false;
208
-
217
+ this.disableDates = (day) => false;
209
218
  this.firstDayOfWeek = 0;
210
219
  this.weekdayHeaderNotation = 'short';
211
220
  this.__today = normalizeDateTime(new Date());
@@ -224,11 +233,9 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
224
233
  this.__boundFocusDateDelegation = this.__focusDateDelegation.bind(this);
225
234
  this.__boundBlurDateDelegation = this.__focusDateDelegation.bind(this);
226
235
  }
227
-
228
236
  static get styles() {
229
237
  return [calendarStyle];
230
238
  }
231
-
232
239
  render() {
233
240
  return html`
234
241
  <div class="calendar" role="application">
@@ -236,25 +243,32 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
236
243
  </div>
237
244
  `;
238
245
  }
239
-
240
246
  get focusedDate() {
241
247
  return this.__focusedDate;
242
248
  }
243
-
244
249
  goToNextMonth() {
245
- this.__modifyDate(1, { dateType: 'centralDate', type: 'Month' });
250
+ this.__modifyDate(1, {
251
+ dateType: 'centralDate',
252
+ type: 'Month',
253
+ });
246
254
  }
247
-
248
255
  goToPreviousMonth() {
249
- this.__modifyDate(-1, { dateType: 'centralDate', type: 'Month' });
256
+ this.__modifyDate(-1, {
257
+ dateType: 'centralDate',
258
+ type: 'Month',
259
+ });
250
260
  }
251
-
252
261
  goToNextYear() {
253
- this.__modifyDate(1, { dateType: 'centralDate', type: 'FullYear' });
262
+ this.__modifyDate(1, {
263
+ dateType: 'centralDate',
264
+ type: 'FullYear',
265
+ });
254
266
  }
255
-
256
267
  goToPreviousYear() {
257
- this.__modifyDate(-1, { dateType: 'centralDate', type: 'FullYear' });
268
+ this.__modifyDate(-1, {
269
+ dateType: 'centralDate',
270
+ type: 'FullYear',
271
+ });
258
272
  }
259
273
 
260
274
  /**
@@ -265,26 +279,22 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
265
279
  await this.updateComplete;
266
280
  this.focusCentralDate();
267
281
  }
268
-
269
282
  focusCentralDate() {
270
- const datesTable = /** @type {HTMLElement} */ (
271
- this.shadowRoot?.querySelector('#js-content-wrapper')
272
- );
273
- const button = /** @type {HTMLElement} */ (datesTable.querySelector('[tabindex="0"]'));
283
+ const datesTable =
284
+ /** @type {HTMLElement} */
285
+ this.shadowRoot?.querySelector('#js-content-wrapper');
286
+ const button = /** @type {HTMLElement} */ datesTable.querySelector('[tabindex="0"]');
274
287
  button?.focus();
275
288
  this.__focusedDate = this.centralDate;
276
289
  }
277
-
278
290
  async focusSelectedDate() {
279
291
  if (this.selectedDate) {
280
292
  await this.focusDate(this.selectedDate);
281
293
  }
282
294
  }
283
-
284
295
  async connectedCallback() {
285
296
  // eslint-disable-next-line wc/guard-super-call
286
297
  super.connectedCallback();
287
-
288
298
  this.__connectedCallbackDone = true;
289
299
 
290
300
  /**
@@ -306,9 +316,9 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
306
316
  * we can guard against adding events twice
307
317
  */
308
318
  if (!this.__eventsAdded) {
309
- this.__contentWrapperElement = /** @type {HTMLButtonElement} */ (
310
- this.shadowRoot?.getElementById('js-content-wrapper')
311
- );
319
+ this.__contentWrapperElement =
320
+ /** @type {HTMLButtonElement} */
321
+ this.shadowRoot?.getElementById('js-content-wrapper');
312
322
  this.__contentWrapperElement.addEventListener('click', this.__boundClickDateDelegation);
313
323
  this.__contentWrapperElement.addEventListener('focus', this.__boundFocusDateDelegation);
314
324
  this.__contentWrapperElement.addEventListener('blur', this.__boundBlurDateDelegation);
@@ -325,7 +335,6 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
325
335
  // setup data for initial render
326
336
  this.__data = this.__createData();
327
337
  }
328
-
329
338
  disconnectedCallback() {
330
339
  super.disconnectedCallback();
331
340
  if (this.__contentWrapperElement) {
@@ -336,7 +345,6 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
336
345
  'keydown',
337
346
  this.__boundKeyboardNavigationEvent,
338
347
  );
339
-
340
348
  this.__eventsAdded = false;
341
349
  }
342
350
  }
@@ -357,17 +365,13 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
357
365
  */
358
366
  requestUpdate(name, oldValue, options) {
359
367
  super.requestUpdate(name, oldValue, options);
360
-
361
368
  if (name === undefined) {
362
369
  return;
363
370
  }
364
-
365
371
  if (name === '__focusedDate') {
366
372
  this.__focusedDateChanged();
367
373
  }
368
-
369
374
  const updateDataOn = ['centralDate', 'minDate', 'maxDate', 'selectedDate', 'disableDates'];
370
-
371
375
  if (updateDataOn.includes(name) && this.__connectedCallbackDone) {
372
376
  this.__data = this.__createData();
373
377
  }
@@ -381,10 +385,10 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
381
385
  if (this.selectedDate) {
382
386
  this.focusSelectedDate();
383
387
  } else {
384
- if (!this.__isEnabledDate(/** @type {Date} */ (this.__initialCentralDate))) {
388
+ if (!this.__isEnabledDate(/** @type {Date} */ this.__initialCentralDate)) {
385
389
  this.centralDate = this.findNearestEnabledDate(this.__initialCentralDate);
386
390
  } else {
387
- this.centralDate = /** @type {Date} */ (this.__initialCentralDate);
391
+ this.centralDate = /** @type {Date} */ this.__initialCentralDate;
388
392
  }
389
393
  this.focusCentralDate();
390
394
  }
@@ -394,7 +398,7 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
394
398
  * // TODO: check if this is a false positive or if we can improve
395
399
  * @configure ReactiveElement
396
400
  */
397
- static enabledWarnings = super.enabledWarnings?.filter(w => w !== 'change-in-update') || [];
401
+ static enabledWarnings = super.enabledWarnings?.filter((w) => w !== 'change-in-update') || [];
398
402
 
399
403
  /**
400
404
  * @private
@@ -418,12 +422,20 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
418
422
  __renderMonthNavigation(month, year) {
419
423
  const nextMonth =
420
424
  this.centralDate.getMonth() === 11
421
- ? getMonthNames({ locale: this.__getLocale() })[0]
422
- : getMonthNames({ locale: this.__getLocale() })[this.centralDate.getMonth() + 1];
425
+ ? getMonthNames({
426
+ locale: this.__getLocale(),
427
+ })[0]
428
+ : getMonthNames({
429
+ locale: this.__getLocale(),
430
+ })[this.centralDate.getMonth() + 1];
423
431
  const previousMonth =
424
432
  this.centralDate.getMonth() === 0
425
- ? getMonthNames({ locale: this.__getLocale() })[11]
426
- : getMonthNames({ locale: this.__getLocale() })[this.centralDate.getMonth() - 1];
433
+ ? getMonthNames({
434
+ locale: this.__getLocale(),
435
+ })[11]
436
+ : getMonthNames({
437
+ locale: this.__getLocale(),
438
+ })[this.centralDate.getMonth() - 1];
427
439
  const nextYear = this.centralDate.getMonth() === 11 ? year + 1 : year;
428
440
  const previousYear = this.centralDate.getMonth() === 0 ? year - 1 : year;
429
441
  return html`
@@ -443,7 +455,6 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
443
455
  __renderYearNavigation(month, year) {
444
456
  const nextYear = year + 1;
445
457
  const previousYear = year - 1;
446
-
447
458
  return html`
448
459
  <div class="calendar__navigation__year">
449
460
  ${this.__renderPreviousButton('FullYear', month, previousYear)}
@@ -457,7 +468,9 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
457
468
  * @private
458
469
  */
459
470
  __renderNavigation() {
460
- const month = getMonthNames({ locale: this.__getLocale() })[this.centralDate.getMonth()];
471
+ const month = getMonthNames({
472
+ locale: this.__getLocale(),
473
+ })[this.centralDate.getMonth()];
461
474
  const year = this.centralDate.getFullYear();
462
475
  return html`
463
476
  <div class="calendar__navigation">
@@ -471,7 +484,9 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
471
484
  */
472
485
  __renderData() {
473
486
  return dataTemplate(this.__data, {
474
- monthsLabels: getMonthNames({ locale: this.__getLocale() }),
487
+ monthsLabels: getMonthNames({
488
+ locale: this.__getLocale(),
489
+ }),
475
490
  weekdaysShort: getWeekdayNames({
476
491
  locale: this.__getLocale(),
477
492
  style: this.weekdayHeaderNotation,
@@ -504,11 +519,16 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
504
519
  // change the month to the first available month
505
520
  if (previousYear === this.minDate.getFullYear()) {
506
521
  if (this.centralDate.getMonth() < this.minDate.getMonth()) {
507
- month = getMonthNames({ locale: this.__getLocale() })[this.minDate.getMonth()];
522
+ month = getMonthNames({
523
+ locale: this.__getLocale(),
524
+ })[this.minDate.getMonth()];
508
525
  }
509
526
  }
510
527
  }
511
- return { disabled, month };
528
+ return {
529
+ disabled,
530
+ month,
531
+ };
512
532
  }
513
533
 
514
534
  /**
@@ -529,11 +549,16 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
529
549
  // change the month to the first available month
530
550
  if (nextYear === this.maxDate.getFullYear()) {
531
551
  if (this.centralDate.getMonth() >= this.maxDate.getMonth()) {
532
- month = getMonthNames({ locale: this.__getLocale() })[this.maxDate.getMonth()];
552
+ month = getMonthNames({
553
+ locale: this.__getLocale(),
554
+ })[this.maxDate.getMonth()];
533
555
  }
534
556
  }
535
557
  }
536
- return { disabled, month };
558
+ return {
559
+ disabled,
560
+ month,
561
+ };
537
562
  }
538
563
 
539
564
  /**
@@ -553,7 +578,6 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
553
578
  this.goToPreviousMonth();
554
579
  }
555
580
  };
556
-
557
581
  return html`
558
582
  <button
559
583
  class="calendar__previous-button"
@@ -589,7 +613,6 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
589
613
  this.goToNextMonth();
590
614
  }
591
615
  };
592
-
593
616
  return html`
594
617
  <button
595
618
  class="calendar__next-button"
@@ -627,7 +650,6 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
627
650
  __getSelectableDateRange() {
628
651
  const newMinDate = createDay(new Date(this.minDate));
629
652
  const newMaxDate = createDay(new Date(this.maxDate));
630
-
631
653
  const getSelectableDate = (/** @type {import("../types/day.js").Day} */ date) => {
632
654
  const { dayNumber, monthName, year } = getDayMonthYear(
633
655
  date,
@@ -639,10 +661,8 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
639
661
  );
640
662
  return `${dayNumber} ${monthName} ${year}`;
641
663
  };
642
-
643
664
  const earliestSelectableDate = getSelectableDate(newMinDate);
644
665
  const latestSelectableDate = getSelectableDate(newMaxDate);
645
-
646
666
  return {
647
667
  earliestSelectableDate,
648
668
  latestSelectableDate,
@@ -674,19 +694,21 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
674
694
  day.ariaPressed = day.selected ? 'true' : 'false';
675
695
  day.ariaCurrent = day.today ? 'date' : undefined;
676
696
  day.disabledInfo = '';
677
-
678
697
  if (day.disabled) {
679
698
  day.disabledInfo = `${this.msgLit(`lion-calendar:defaultDisabledDate`)}`;
680
699
  }
681
700
  if (this.minDate && normalizeDateTime(day.date) < normalizeDateTime(this.minDate)) {
682
701
  day.disabled = true;
683
- day.disabledInfo = `${this.msgLit(`lion-calendar:beforeDisabledDate`, { params: this.__getSelectableDateRange().earliestSelectableDate })}`;
702
+ day.disabledInfo = `${this.msgLit(`lion-calendar:beforeDisabledDate`, {
703
+ params: this.__getSelectableDateRange().earliestSelectableDate,
704
+ })}`;
684
705
  }
685
706
  if (this.maxDate && normalizeDateTime(day.date) > normalizeDateTime(this.maxDate)) {
686
707
  day.disabled = true;
687
- day.disabledInfo = `${this.msgLit(`lion-calendar:afterDisabledDate`, { params: this.__getSelectableDateRange().latestSelectableDate })}`;
708
+ day.disabledInfo = `${this.msgLit(`lion-calendar:afterDisabledDate`, {
709
+ params: this.__getSelectableDateRange().latestSelectableDate,
710
+ })}`;
688
711
  }
689
-
690
712
  return this.dayPreprocessor(day);
691
713
  }
692
714
 
@@ -745,7 +767,9 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
745
767
  */
746
768
  findNextEnabledDate(date) {
747
769
  const _date = date || this.centralDate;
748
- return this.__findBestEnabledDateFor(_date, { mode: 'future' });
770
+ return this.__findBestEnabledDateFor(_date, {
771
+ mode: 'future',
772
+ });
749
773
  }
750
774
 
751
775
  /**
@@ -754,7 +778,9 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
754
778
  */
755
779
  findPreviousEnabledDate(date) {
756
780
  const _date = date || this.centralDate;
757
- return this.__findBestEnabledDateFor(_date, { mode: 'past' });
781
+ return this.__findBestEnabledDateFor(_date, {
782
+ mode: 'past',
783
+ });
758
784
  }
759
785
 
760
786
  /**
@@ -763,7 +789,9 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
763
789
  */
764
790
  findNearestEnabledDate(date) {
765
791
  const _date = date || this.centralDate;
766
- return this.__findBestEnabledDateFor(_date, { mode: 'both' });
792
+ return this.__findBestEnabledDateFor(_date, {
793
+ mode: 'both',
794
+ });
767
795
  }
768
796
 
769
797
  /**
@@ -771,7 +799,9 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
771
799
  * @private
772
800
  */
773
801
  __isEnabledDate(date) {
774
- const processedDay = this.__coreDayPreprocessor({ date });
802
+ const processedDay = this.__coreDayPreprocessor({
803
+ date,
804
+ });
775
805
  return !processedDay.disabled;
776
806
  }
777
807
 
@@ -785,14 +815,12 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
785
815
  const futureDate =
786
816
  this.minDate && this.minDate > date ? new Date(this.minDate) : new Date(date);
787
817
  const pastDate = this.maxDate && this.maxDate < date ? new Date(this.maxDate) : new Date(date);
788
-
789
818
  if (this.minDate && this.minDate > date) {
790
819
  futureDate.setDate(futureDate.getDate() - 1);
791
820
  }
792
821
  if (this.maxDate && this.maxDate < date) {
793
822
  pastDate.setDate(pastDate.getDate() + 1);
794
823
  }
795
-
796
824
  let i = 0;
797
825
  do {
798
826
  i += 1;
@@ -823,7 +851,7 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
823
851
  * @private
824
852
  */
825
853
  __clickDateDelegation(ev) {
826
- const el = /** @type {HTMLElement & { date: Date }} */ (ev.composedPath()[0]);
854
+ const el = /** @type {HTMLElement & { date: Date }} */ ev.composedPath()[0];
827
855
  if (isDayButton(el) && !isDisabledDayButton(el)) {
828
856
  this.__dateSelectedByUser(el.date);
829
857
  }
@@ -835,11 +863,10 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
835
863
  __focusDateDelegation() {
836
864
  if (
837
865
  !this.__focusedDate &&
838
- isDayButton(/** @type {HTMLElement} el */ (this.shadowRoot?.activeElement))
866
+ isDayButton(/** @type {HTMLElement} el */ this.shadowRoot?.activeElement)
839
867
  ) {
840
- this.__focusedDate = /** @type {HTMLButtonElement & { date: Date }} */ (
841
- this.shadowRoot?.activeElement
842
- )?.date;
868
+ this.__focusedDate =
869
+ /** @type {HTMLButtonElement & { date: Date }} */ this.shadowRoot?.activeElement?.date;
843
870
  }
844
871
  }
845
872
 
@@ -850,7 +877,7 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
850
877
  setTimeout(() => {
851
878
  if (
852
879
  this.shadowRoot?.activeElement &&
853
- !isDayButton(/** @type {HTMLElement} el */ (this.shadowRoot?.activeElement))
880
+ !isDayButton(/** @type {HTMLElement} el */ this.shadowRoot?.activeElement)
854
881
  ) {
855
882
  this.__focusedDate = null;
856
883
  }
@@ -882,42 +909,62 @@ export class LionCalendar extends LocalizeMixin(LitElement) {
882
909
  ' ',
883
910
  'Enter',
884
911
  ];
885
-
886
912
  if (preventedKeys.includes(ev.key)) {
887
913
  ev.preventDefault();
888
914
  }
889
-
890
915
  switch (ev.key) {
891
916
  case ' ':
892
917
  case 'Enter':
893
- this.__dayButtonSelection(
894
- /** @type {HTMLElement & { date: Date }} */ (ev.composedPath()[0]),
895
- );
918
+ this.__dayButtonSelection(/** @type {HTMLElement & { date: Date }} */ ev.composedPath()[0]);
896
919
  break;
897
920
  case 'ArrowUp':
898
- this.__modifyDate(-7, { dateType: '__focusedDate', type: 'Date' });
921
+ this.__modifyDate(-7, {
922
+ dateType: '__focusedDate',
923
+ type: 'Date',
924
+ });
899
925
  break;
900
926
  case 'ArrowDown':
901
- this.__modifyDate(7, { dateType: '__focusedDate', type: 'Date' });
927
+ this.__modifyDate(7, {
928
+ dateType: '__focusedDate',
929
+ type: 'Date',
930
+ });
902
931
  break;
903
932
  case 'ArrowLeft':
904
- this.__modifyDate(-1, { dateType: '__focusedDate', type: 'Date' });
933
+ this.__modifyDate(-1, {
934
+ dateType: '__focusedDate',
935
+ type: 'Date',
936
+ });
905
937
  break;
906
938
  case 'ArrowRight':
907
- this.__modifyDate(1, { dateType: '__focusedDate', type: 'Date' });
939
+ this.__modifyDate(1, {
940
+ dateType: '__focusedDate',
941
+ type: 'Date',
942
+ });
908
943
  break;
909
944
  case 'PageDown':
910
945
  if (ev.altKey === true) {
911
- this.__modifyDate(1, { dateType: '__focusedDate', type: 'FullYear' });
946
+ this.__modifyDate(1, {
947
+ dateType: '__focusedDate',
948
+ type: 'FullYear',
949
+ });
912
950
  } else {
913
- this.__modifyDate(1, { dateType: '__focusedDate', type: 'Month' });
951
+ this.__modifyDate(1, {
952
+ dateType: '__focusedDate',
953
+ type: 'Month',
954
+ });
914
955
  }
915
956
  break;
916
957
  case 'PageUp':
917
958
  if (ev.altKey === true) {
918
- this.__modifyDate(-1, { dateType: '__focusedDate', type: 'FullYear' });
959
+ this.__modifyDate(-1, {
960
+ dateType: '__focusedDate',
961
+ type: 'FullYear',
962
+ });
919
963
  } else {
920
- this.__modifyDate(-1, { dateType: '__focusedDate', type: 'Month' });
964
+ this.__modifyDate(-1, {
965
+ dateType: '__focusedDate',
966
+ type: 'Month',
967
+ });
921
968
  }
922
969
  break;
923
970
  case 'Tab':
@@ -1,5 +1,4 @@
1
1
  import { css } from 'lit';
2
-
3
2
  export const calendarStyle = css`
4
3
  :host {
5
4
  display: block;
@@ -13,13 +13,13 @@ export function createMonth(date, { firstDayOfWeek = 0 } = {}) {
13
13
  }
14
14
  const firstDayOfMonth = new Date(date);
15
15
  firstDayOfMonth.setDate(1);
16
- const weekOptions = { firstDayOfWeek };
17
-
16
+ const weekOptions = {
17
+ firstDayOfWeek,
18
+ };
18
19
  const month = {
19
20
  /** @type {{days: import('../../types/day.js').Day[]}[]} */
20
21
  weeks: [],
21
22
  };
22
-
23
23
  let nextWeek = createWeek(firstDayOfMonth, weekOptions);
24
24
  do {
25
25
  month.weeks.push(nextWeek);
@@ -27,6 +27,5 @@ export function createMonth(date, { firstDayOfWeek = 0 } = {}) {
27
27
  firstDayOfNextWeek.setDate(firstDayOfNextWeek.getDate() + 1); // make it first day of next week
28
28
  nextWeek = createWeek(firstDayOfNextWeek, weekOptions);
29
29
  } while (month.weeks.length !== 6);
30
-
31
30
  return month;
32
31
  }
@@ -13,20 +13,28 @@ export function createMultipleMonth(
13
13
  /** @type {{weeks: {days: import('../../types/day.js').Day[]}[]}[]} */
14
14
  months: [],
15
15
  };
16
-
17
16
  for (let i = pastMonths; i > 0; i -= 1) {
18
17
  const pastDate = new Date(date);
19
18
  pastDate.setMonth(pastDate.getMonth() - i);
20
- multipleMonths.months.push(createMonth(pastDate, { firstDayOfWeek }));
19
+ multipleMonths.months.push(
20
+ createMonth(pastDate, {
21
+ firstDayOfWeek,
22
+ }),
23
+ );
21
24
  }
22
-
23
- multipleMonths.months.push(createMonth(date, { firstDayOfWeek }));
24
-
25
+ multipleMonths.months.push(
26
+ createMonth(date, {
27
+ firstDayOfWeek,
28
+ }),
29
+ );
25
30
  for (let i = 0; i < futureMonths; i += 1) {
26
31
  const futureDate = new Date(date);
27
32
  futureDate.setMonth(futureDate.getMonth() + (i + 1));
28
- multipleMonths.months.push(createMonth(futureDate, { firstDayOfWeek }));
33
+ multipleMonths.months.push(
34
+ createMonth(futureDate, {
35
+ firstDayOfWeek,
36
+ }),
37
+ );
29
38
  }
30
-
31
39
  return multipleMonths;
32
40
  }