@eunomia/elements 1.0.0-beta.6 → 1.0.0-beta.8

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 (327) hide show
  1. package/README.md +1 -1
  2. package/dist/cdn/components/chunks/{chunk-KDN4O5W2.js → chunk-32L2QYWQ.js} +5 -5
  3. package/dist/cdn/components/chunks/{chunk-JYIIWN2P.js → chunk-36KLGY6U.js} +8 -8
  4. package/dist/cdn/components/chunks/chunk-3BMACIDO.js +1 -0
  5. package/dist/cdn/components/chunks/{chunk-2Y2EU2CI.js → chunk-3UUZM7X2.js} +1 -1
  6. package/dist/cdn/components/chunks/chunk-55PUDL7D.js +109 -0
  7. package/dist/cdn/components/chunks/chunk-5LA5DQMP.js +1 -0
  8. package/dist/cdn/components/chunks/chunk-5LXGJVJR.js +1 -0
  9. package/dist/cdn/components/chunks/{chunk-ZKZV2YG5.js → chunk-5XPOGBPL.js} +1 -1
  10. package/dist/cdn/components/chunks/{chunk-LMVW522V.js → chunk-62RLISRD.js} +1 -1
  11. package/dist/cdn/components/chunks/{chunk-PMPSJG5V.js → chunk-6FYW5TQU.js} +3 -3
  12. package/dist/cdn/components/chunks/chunk-6TIEBY34.js +1 -0
  13. package/dist/cdn/components/chunks/{chunk-MOMYII3P.js → chunk-AH2SKZ7T.js} +14 -1
  14. package/dist/cdn/components/chunks/chunk-AK2DIJX7.js +1 -0
  15. package/dist/cdn/components/chunks/chunk-B5XMGWM7.js +10 -0
  16. package/dist/cdn/components/chunks/chunk-GVS6IUKC.js +1 -0
  17. package/dist/cdn/components/chunks/chunk-GWLD2I3P.js +8 -0
  18. package/dist/cdn/components/chunks/{chunk-UDVB4LAE.js → chunk-I4ERDXSM.js} +5 -3
  19. package/dist/cdn/components/chunks/{chunk-QZ5SHR3I.js → chunk-J3SZBXM6.js} +2 -2
  20. package/dist/cdn/components/chunks/chunk-JAGZL7JH.js +1 -0
  21. package/dist/cdn/components/chunks/{chunk-VYFR364B.js → chunk-LD35BFNK.js} +18 -17
  22. package/dist/cdn/components/chunks/{chunk-XDPRWUKN.js → chunk-MQQJ6DID.js} +1 -1
  23. package/dist/cdn/components/chunks/chunk-P6LGU3FT.js +1 -0
  24. package/dist/cdn/components/chunks/chunk-QL5GSW2A.js +1 -0
  25. package/dist/cdn/components/chunks/{chunk-UYZR4JXZ.js → chunk-QSZO4GIH.js} +45 -9
  26. package/dist/cdn/components/chunks/{chunk-7KKWYPHY.js → chunk-QXQ25SQS.js} +21 -19
  27. package/dist/cdn/components/chunks/{chunk-SZYEBMG6.js → chunk-QYB6Z6FG.js} +5 -5
  28. package/dist/cdn/components/chunks/{chunk-RIFF2D2F.js → chunk-RGC3I6MK.js} +1 -1
  29. package/dist/cdn/components/chunks/{chunk-L2ADCEN7.js → chunk-SVGWCKWT.js} +1 -1
  30. package/dist/cdn/components/chunks/{chunk-N6ZW5CDN.js → chunk-TCSB2MLU.js} +1 -1
  31. package/dist/cdn/components/chunks/{chunk-MQQ4BGVJ.js → chunk-TFTRCIIK.js} +7 -6
  32. package/dist/cdn/components/chunks/chunk-TLBXTBMM.js +46 -0
  33. package/dist/cdn/components/chunks/chunk-UVHVQRPT.js +1 -0
  34. package/dist/cdn/components/chunks/chunk-WIUERJII.js +1 -0
  35. package/dist/cdn/components/chunks/chunk-WW4BTWMH.js +1 -0
  36. package/dist/cdn/components/eun-alert.js +13 -6
  37. package/dist/cdn/components/eun-animate.js +6 -6
  38. package/dist/cdn/components/eun-badge.js +1 -1
  39. package/dist/cdn/components/eun-button.js +1 -1
  40. package/dist/cdn/components/eun-calendar.js +2 -2
  41. package/dist/cdn/components/eun-card.js +4 -4
  42. package/dist/cdn/components/eun-carousel.js +26 -22
  43. package/dist/cdn/components/eun-check-card.js +1 -1
  44. package/dist/cdn/components/eun-checkbox-list.js +11 -8
  45. package/dist/cdn/components/eun-checkbox.js +1 -1
  46. package/dist/cdn/components/eun-chip.js +17 -11
  47. package/dist/cdn/components/eun-collapse.js +1 -1
  48. package/dist/cdn/components/eun-color-picker.js +74 -69
  49. package/dist/cdn/components/eun-counter.js +16 -14
  50. package/dist/cdn/components/eun-date-picker.js +67 -63
  51. package/dist/cdn/components/eun-description-list.js +2 -2
  52. package/dist/cdn/components/eun-divider.js +3 -3
  53. package/dist/cdn/components/eun-drawer.js +21 -22
  54. package/dist/cdn/components/eun-dropdown-button.js +1 -1
  55. package/dist/cdn/components/eun-dropdown-item.js +3 -3
  56. package/dist/cdn/components/eun-fab.js +2 -2
  57. package/dist/cdn/components/eun-icon.js +1 -1
  58. package/dist/cdn/components/eun-image-card.js +1 -1
  59. package/dist/cdn/components/eun-image-carousel.js +10 -10
  60. package/dist/cdn/components/eun-infinite-list.js +1 -1
  61. package/dist/cdn/components/eun-input-file.js +21 -21
  62. package/dist/cdn/components/eun-input-phone.js +16 -12
  63. package/dist/cdn/components/eun-input.js +1 -1
  64. package/dist/cdn/components/eun-link.js +59 -13
  65. package/dist/cdn/components/eun-loader.js +1 -1
  66. package/dist/cdn/components/eun-modal.js +33 -23
  67. package/dist/cdn/components/eun-pagination.js +16 -16
  68. package/dist/cdn/components/eun-password-strength.js +14 -10
  69. package/dist/cdn/components/eun-radio-card.js +1 -1
  70. package/dist/cdn/components/eun-radio-list.js +11 -8
  71. package/dist/cdn/components/eun-radio.js +1 -1
  72. package/dist/cdn/components/eun-rating.js +276 -0
  73. package/dist/cdn/components/eun-scheduler-event-editor.js +11 -11
  74. package/dist/cdn/components/eun-scheduler-event.js +1 -1
  75. package/dist/cdn/components/eun-scheduler.js +28 -28
  76. package/dist/cdn/components/eun-search.js +36 -32
  77. package/dist/cdn/components/eun-select.js +27 -27
  78. package/dist/cdn/components/eun-sidebar.js +73 -26
  79. package/dist/cdn/components/eun-skeleton.js +1 -1
  80. package/dist/cdn/components/eun-slider.js +3 -3
  81. package/dist/cdn/components/eun-sliding-card.js +1 -1
  82. package/dist/cdn/components/eun-step.js +5 -4
  83. package/dist/cdn/components/eun-stepper.js +30 -30
  84. package/dist/cdn/components/eun-switch.js +1 -1
  85. package/dist/cdn/components/eun-tab-group.js +4 -4
  86. package/dist/cdn/components/eun-tab-panel.js +1 -1
  87. package/dist/cdn/components/eun-tab.js +1 -1
  88. package/dist/cdn/components/eun-table-action-bar.js +1 -1
  89. package/dist/cdn/components/eun-table.js +2 -2
  90. package/dist/cdn/components/eun-tag.js +3 -3
  91. package/dist/cdn/components/eun-textarea.js +36 -28
  92. package/dist/cdn/components/eun-time-picker.js +31 -28
  93. package/dist/cdn/components/eun-toast.js +24 -15
  94. package/dist/cdn/components/eun-toggle-group.js +75 -37
  95. package/dist/cdn/components/eun-toggle-item.js +9 -9
  96. package/dist/cdn/components/eun-toggle.js +2 -2
  97. package/dist/cdn/components/eun-toolbar.js +22 -22
  98. package/dist/cdn/components/eun-tooltip.js +6 -6
  99. package/dist/cdn/styles/eunomia-themes.css +1 -1
  100. package/dist/cdn/styles/themes/mixins/eunomia-neutrals.mixin.scss +6 -2
  101. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +6 -2
  102. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.css +1 -1
  103. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +6 -2
  104. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.css +1 -1
  105. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +6 -2
  106. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.css +1 -1
  107. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +6 -2
  108. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.css +1 -1
  109. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +6 -2
  110. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.css +1 -1
  111. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +6 -2
  112. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.css +1 -1
  113. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +6 -2
  114. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.css +1 -1
  115. package/dist/components/action/button/button.d.ts +4 -3
  116. package/dist/components/action/button/button.js +6 -9
  117. package/dist/components/action/button/button.styles.js +13 -8
  118. package/dist/components/action/dropdown-button/dropdown-button.d.ts +4 -6
  119. package/dist/components/action/dropdown-button/dropdown-button.js +16 -13
  120. package/dist/components/action/dropdown-button/dropdown-item.d.ts +10 -2
  121. package/dist/components/action/dropdown-button/dropdown-item.js +24 -9
  122. package/dist/components/action/link/link.d.ts +10 -1
  123. package/dist/components/action/link/link.js +13 -1
  124. package/dist/components/action/link/link.styles.js +50 -3
  125. package/dist/components/action/toggle/toggle-group.d.ts +12 -2
  126. package/dist/components/action/toggle/toggle-group.js +18 -3
  127. package/dist/components/action/toggle/toggle-group.styles.js +58 -20
  128. package/dist/components/action/toggle/toggle-item.js +1 -3
  129. package/dist/components/action/toggle/toggle-item.styles.js +7 -7
  130. package/dist/components/action/toggle/toggle.js +1 -1
  131. package/dist/components/alert/alert/alert.d.ts +9 -7
  132. package/dist/components/alert/alert/alert.js +11 -14
  133. package/dist/components/alert/alert/alert.styles.js +9 -2
  134. package/dist/components/alert/drawer/drawer.d.ts +30 -5
  135. package/dist/components/alert/drawer/drawer.js +48 -13
  136. package/dist/components/alert/drawer/drawer.styles.js +7 -7
  137. package/dist/components/alert/modal/modal.d.ts +35 -10
  138. package/dist/components/alert/modal/modal.js +55 -28
  139. package/dist/components/alert/modal/modal.styles.js +17 -6
  140. package/dist/components/alert/toast/toast.d.ts +7 -5
  141. package/dist/components/alert/toast/toast.js +12 -15
  142. package/dist/components/alert/toast/toast.styles.js +18 -9
  143. package/dist/components/content/badge/badge.js +2 -2
  144. package/dist/components/content/card/card.js +1 -1
  145. package/dist/components/content/card/card.styles.js +2 -2
  146. package/dist/components/content/chip/chip.d.ts +4 -4
  147. package/dist/components/content/chip/chip.js +11 -10
  148. package/dist/components/content/chip/chip.styles.js +9 -3
  149. package/dist/components/content/description-list/description-list.js +3 -3
  150. package/dist/components/content/icon/icon.d.ts +3 -0
  151. package/dist/components/content/icon/icon.js +3 -0
  152. package/dist/components/content/icon/icon.style.d.ts +2 -0
  153. package/dist/components/content/icon/icon.style.js +4 -0
  154. package/dist/components/content/image-carousel/image-carousel.d.ts +12 -12
  155. package/dist/components/content/image-carousel/image-carousel.js +29 -28
  156. package/dist/components/content/password-strength/password-strength.d.ts +21 -6
  157. package/dist/components/content/password-strength/password-strength.js +37 -16
  158. package/dist/components/content/password-strength/password-strength.styles.js +4 -0
  159. package/dist/components/content/tag/tag.js +2 -2
  160. package/dist/components/content/tooltip/tooltip.d.ts +16 -9
  161. package/dist/components/content/tooltip/tooltip.js +31 -15
  162. package/dist/components/content/tooltip/tooltip.styles.js +1 -1
  163. package/dist/components/form/checkbox/check-card.d.ts +1 -0
  164. package/dist/components/form/checkbox/check-card.js +1 -0
  165. package/dist/components/form/checkbox/checkbox-list.d.ts +17 -0
  166. package/dist/components/form/checkbox/checkbox-list.js +39 -10
  167. package/dist/components/form/checkbox/checkbox.d.ts +1 -0
  168. package/dist/components/form/checkbox/checkbox.js +3 -1
  169. package/dist/components/form/checkbox/checkbox.styles.js +3 -2
  170. package/dist/components/form/color-picker/color-picker.d.ts +47 -28
  171. package/dist/components/form/color-picker/color-picker.js +73 -51
  172. package/dist/components/form/color-picker/color-picker.styles.js +14 -1
  173. package/dist/components/form/counter/counter.d.ts +24 -18
  174. package/dist/components/form/counter/counter.js +61 -61
  175. package/dist/components/form/counter/counter.styles.js +6 -4
  176. package/dist/components/form/date-picker/date-picker.d.ts +33 -7
  177. package/dist/components/form/date-picker/date-picker.js +82 -56
  178. package/dist/components/form/date-picker/date-picker.styles.js +9 -6
  179. package/dist/components/form/input/input.d.ts +43 -39
  180. package/dist/components/form/input/input.js +91 -110
  181. package/dist/components/form/input-file/input-file.d.ts +26 -13
  182. package/dist/components/form/input-file/input-file.js +35 -35
  183. package/dist/components/form/input-file/input-file.styles.js +4 -4
  184. package/dist/components/form/input-phone/input-phone.d.ts +28 -5
  185. package/dist/components/form/input-phone/input-phone.js +47 -13
  186. package/dist/components/form/input-phone/input-phone.styles.js +6 -3
  187. package/dist/components/form/radio/radio-card.d.ts +1 -0
  188. package/dist/components/form/radio/radio-card.js +1 -0
  189. package/dist/components/form/radio/radio-list.d.ts +23 -7
  190. package/dist/components/form/radio/radio-list.js +47 -22
  191. package/dist/components/form/radio/radio.d.ts +1 -0
  192. package/dist/components/form/radio/radio.js +1 -0
  193. package/dist/components/form/rating/rating.d.ts +349 -0
  194. package/dist/components/form/rating/rating.js +665 -0
  195. package/dist/components/form/rating/rating.styles.d.ts +1 -0
  196. package/dist/components/form/rating/rating.styles.js +213 -0
  197. package/dist/components/form/search/search.d.ts +72 -18
  198. package/dist/components/form/search/search.js +135 -72
  199. package/dist/components/form/search/search.styles.js +2 -0
  200. package/dist/components/form/select/select.d.ts +29 -10
  201. package/dist/components/form/select/select.js +65 -41
  202. package/dist/components/form/shared-styles/field.styles.js +45 -8
  203. package/dist/components/form/shared-styles/listbox.styles.js +15 -1
  204. package/dist/components/form/slider/slider.d.ts +7 -8
  205. package/dist/components/form/slider/slider.js +9 -12
  206. package/dist/components/form/switch/switch.d.ts +1 -0
  207. package/dist/components/form/switch/switch.js +1 -0
  208. package/dist/components/form/textarea/textarea.d.ts +90 -23
  209. package/dist/components/form/textarea/textarea.js +194 -44
  210. package/dist/components/form/textarea/textarea.styles.js +3 -0
  211. package/dist/components/form/time-picker/time-picker-columns.d.ts +2 -2
  212. package/dist/components/form/time-picker/time-picker-columns.js +8 -8
  213. package/dist/components/form/time-picker/time-picker.d.ts +30 -9
  214. package/dist/components/form/time-picker/time-picker.js +66 -40
  215. package/dist/components/form/time-picker/time-picker.styles.js +7 -5
  216. package/dist/components/layout/animate/animate.js +3 -2
  217. package/dist/components/layout/animate/animate.styles.js +2 -2
  218. package/dist/components/layout/divider/divider.js +1 -1
  219. package/dist/components/layout/divider/divider.styles.js +1 -1
  220. package/dist/components/loader/loader/loader.js +2 -2
  221. package/dist/components/loader/loader/loader.styles.js +14 -12
  222. package/dist/components/loader/skeleton/skeleton.js +1 -1
  223. package/dist/components/navigation/carousel/carousel.d.ts +32 -9
  224. package/dist/components/navigation/carousel/carousel.js +88 -41
  225. package/dist/components/navigation/carousel/carousel.styles.js +10 -6
  226. package/dist/components/navigation/pagination/pagination.d.ts +23 -21
  227. package/dist/components/navigation/pagination/pagination.js +30 -53
  228. package/dist/components/navigation/sidebar/sidebar.d.ts +113 -65
  229. package/dist/components/navigation/sidebar/sidebar.js +161 -118
  230. package/dist/components/navigation/sidebar/sidebar.styles.d.ts +1 -1
  231. package/dist/components/navigation/sidebar/sidebar.styles.js +74 -24
  232. package/dist/components/navigation/stepper/step.js +9 -8
  233. package/dist/components/navigation/stepper/stepper.d.ts +1 -3
  234. package/dist/components/navigation/stepper/stepper.js +15 -26
  235. package/dist/components/navigation/tabs/tab-group/tab-group.js +2 -2
  236. package/dist/components/navigation/tabs/tab-group/tab-group.styles.js +2 -2
  237. package/dist/components/navigation/toolbar/toolbar.d.ts +23 -13
  238. package/dist/components/navigation/toolbar/toolbar.js +28 -35
  239. package/dist/components/navigation/toolbar/toolbar.styles.js +18 -17
  240. package/dist/events/select.event.d.ts +3 -2
  241. package/dist/events/select.event.js +2 -1
  242. package/dist/features/scheduler/calendar/calendar.js +1 -1
  243. package/dist/features/scheduler/scheduler/scheduler.d.ts +7 -7
  244. package/dist/features/scheduler/scheduler/scheduler.js +15 -24
  245. package/dist/features/scheduler/scheduler-event/scheduler-event.js +3 -3
  246. package/dist/features/scheduler/scheduler-event/scheduler-event.styles.js +1 -1
  247. package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.d.ts +6 -4
  248. package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.js +7 -8
  249. package/dist/features/table/table/table.js +1 -1
  250. package/dist/features/table/table-action-bar/table-action-bar.js +2 -2
  251. package/dist/i18n/en.d.ts +68 -0
  252. package/dist/i18n/en.js +68 -0
  253. package/dist/i18n/fr.js +68 -2
  254. package/dist/index.d.ts +3 -0
  255. package/dist/index.js +1 -0
  256. package/dist/mixins/button.mixin.d.ts +1 -1
  257. package/dist/mixins/button.mixin.js +9 -6
  258. package/dist/mixins/check.mixin.js +11 -10
  259. package/dist/mixins/dialog-surface.mixin.d.ts +8 -0
  260. package/dist/mixins/disabled.mixin.d.ts +5 -0
  261. package/dist/mixins/disabled.mixin.js +21 -1
  262. package/dist/mixins/editable.mixin.js +28 -5
  263. package/dist/mixins/field-appearance.mixin.js +3 -2
  264. package/dist/mixins/field-size.mixin.d.ts +19 -0
  265. package/dist/mixins/field-size.mixin.js +33 -0
  266. package/dist/mixins/form.mixin.d.ts +4 -0
  267. package/dist/mixins/form.mixin.js +87 -13
  268. package/dist/mixins/localizable.mixin.d.ts +1 -1
  269. package/dist/mixins/localizable.mixin.js +1 -1
  270. package/dist/mixins/radio.mixin.js +11 -10
  271. package/dist/mixins/readonly.mixin.d.ts +2 -1
  272. package/dist/mixins/readonly.mixin.js +10 -3
  273. package/dist/mixins/rounded.mixin.d.ts +18 -0
  274. package/dist/mixins/rounded.mixin.js +32 -0
  275. package/dist/ssr/alert-ssr.css +187 -0
  276. package/dist/ssr/badge-ssr.css +67 -0
  277. package/dist/ssr/breadcrumb-ssr.css +41 -0
  278. package/dist/ssr/button-ssr.css +5 -5
  279. package/dist/ssr/card-ssr.css +27 -15
  280. package/dist/ssr/carousel-ssr.css +247 -0
  281. package/dist/ssr/checkbox-ssr.css +67 -0
  282. package/dist/ssr/chip-ssr.css +250 -0
  283. package/dist/ssr/collapse-ssr.css +180 -0
  284. package/dist/ssr/field-ssr.css +202 -0
  285. package/dist/ssr/icon-ssr.css +266 -0
  286. package/dist/ssr/image-carousel-ssr.css +34 -0
  287. package/dist/ssr/links-ssr.css +44 -1
  288. package/dist/ssr/pagination-ssr.css +4 -0
  289. package/dist/ssr/rating-ssr.css +254 -0
  290. package/dist/ssr/sidebar-ssr.css +102 -3
  291. package/dist/ssr/skeleton-ssr.css +63 -0
  292. package/dist/ssr/tabs-ssr.css +129 -0
  293. package/dist/ssr/toggle-group-ssr.css +233 -0
  294. package/dist/ssr/toolbar-ssr.css +81 -2
  295. package/dist/types/variant.type.d.ts +4 -1
  296. package/dist/utils/boolean.utils.d.ts +14 -0
  297. package/dist/utils/boolean.utils.js +20 -0
  298. package/dist/utils/dropdown-menu.utils.d.ts +1 -1
  299. package/dist/utils/focusable-elements.utils.d.ts +12 -0
  300. package/dist/utils/focusable-elements.utils.js +26 -0
  301. package/dist/utils/implicit-submission.utils.d.ts +18 -0
  302. package/dist/utils/implicit-submission.utils.js +79 -0
  303. package/dist/utils/input-modality.utils.d.ts +13 -0
  304. package/dist/utils/input-modality.utils.js +34 -0
  305. package/dist/utils/listbox-options.utils.d.ts +11 -0
  306. package/dist/utils/listbox-options.utils.js +41 -3
  307. package/dist/utils/theme-generator.utils.d.ts +8 -2
  308. package/dist/utils/theme-generator.utils.js +30 -9
  309. package/package.json +26 -7
  310. package/styles/themes/mixins/eunomia-neutrals.mixin.scss +6 -2
  311. package/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +6 -2
  312. package/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +6 -2
  313. package/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +6 -2
  314. package/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +6 -2
  315. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +6 -2
  316. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +6 -2
  317. package/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +6 -2
  318. package/dist/cdn/components/chunks/chunk-4PI6RDUS.js +0 -1
  319. package/dist/cdn/components/chunks/chunk-6VK6SHCG.js +0 -1
  320. package/dist/cdn/components/chunks/chunk-A3X4KD2X.js +0 -1
  321. package/dist/cdn/components/chunks/chunk-BQFJR2UP.js +0 -110
  322. package/dist/cdn/components/chunks/chunk-G5SBDQQ3.js +0 -1
  323. package/dist/cdn/components/chunks/chunk-KSZRQRN4.js +0 -1
  324. package/dist/cdn/components/chunks/chunk-PE4DAXHQ.js +0 -3
  325. package/dist/cdn/components/chunks/chunk-RS7TWEMQ.js +0 -1
  326. package/dist/cdn/components/chunks/chunk-UDOZRIJZ.js +0 -1
  327. package/dist/cdn/components/chunks/chunk-VOTRXBDS.js +0 -38
@@ -1,4 +1,5 @@
1
- import { css } from "lit";
1
+ import { css, unsafeCSS } from "lit";
2
+ import { EUNOMIA_BREAKPOINTS, mediaBelow, } from "../../../breakpoints.js";
2
3
  /**
3
4
  * Base style for the sidebar component.
4
5
  *
@@ -6,13 +7,16 @@ import { css } from "lit";
6
7
  * [--sidebar-width] - Set a custom expanded width to the sidebar ; also the floor of the drag-resize range and, once resized, holds the user's chosen width
7
8
  * [--sidebar-mini-width] - Set a custom width for the collapse-mode="mini" state ; also the floor of the drag-resize range
8
9
  * [--sidebar-max-width] - Set a custom ceiling for the drag-resize range
9
- * [--sidebar-background] - Set a custom background color to the sidebar
10
- * [--sidebar-color] - Set a custom text color to the sidebar (pair with --sidebar-background for contrast)
10
+ * [--sidebar-background] - Set a custom background color to the sidebar, for both themes. Use an opaque color : the sidebar always paints its own background, so a translucent one adds up with whatever is painted behind it. Use transparent to show the background behind the sidebar instead
11
+ * [--sidebar-color] - Set a custom text color to the sidebar, for both themes (pair with --sidebar-background for contrast)
11
12
  * [--sidebar-border-color] - Set a custom color to the sidebar's side border
12
13
  * [--sidebar-padding] - Set a custom padding to the header/body/footer
13
14
  * [--sidebar-padding-block] - Set a custom vertical padding, as one length applied to both sides. Ignored when --sidebar-padding is set
14
15
  * [--sidebar-padding-inline] - Set a custom horizontal padding, as one length applied to both sides. Ignored when --sidebar-padding is set
15
16
  * [--sidebar-gap] - Set a custom gap inside the header/footer rows
17
+ * [--sidebar-toggle-color] - Set a custom color to the toggle button
18
+ * [--sidebar-toggle-background-hover] - Set a custom background color to the toggle button on hover
19
+ * [--sidebar-resize-handle-delay] - Set how long the pointer must rest on the border before the resize handle shows (default 300ms, 0 to show it right away)
16
20
  * [--sidebar-transition-duration] - Set a custom duration for the collapse/resize transition
17
21
  */
18
22
  const base = css `
@@ -25,6 +29,14 @@ const base = css `
25
29
  --sidebar-border-color,
26
30
  var(--eun-border-color, #dee0e7)
27
31
  );
32
+ --_toggleColor: var(
33
+ --sidebar-toggle-color,
34
+ var(--eun-text-secondary, #484e61)
35
+ );
36
+ --_toggleBackgroundHover: var(
37
+ --sidebar-toggle-background-hover,
38
+ var(--eun-content-hover, #edeff0)
39
+ );
28
40
  --_paddingBlock: var(
29
41
  --sidebar-padding,
30
42
  var(--sidebar-padding-block, var(--eun-space-m, 16px))
@@ -51,22 +63,37 @@ const base = css `
51
63
  :host([dragging]) {
52
64
  transition: none;
53
65
  }
66
+ :host([theme="dark"]) {
67
+ --_background: var(
68
+ --sidebar-background,
69
+ var(--eun-surface-inverse, #0b1620)
70
+ );
71
+ --_color: var(--sidebar-color, var(--eun-text-on-inverse, #f5f7fa));
72
+ --_borderColor: var(
73
+ --sidebar-border-color,
74
+ color-mix(in srgb, var(--_color) 16%, transparent)
75
+ );
76
+ --_toggleColor: var(
77
+ --sidebar-toggle-color,
78
+ color-mix(in srgb, var(--_color) 75%, transparent)
79
+ );
80
+ --_toggleBackgroundHover: var(
81
+ --sidebar-toggle-background-hover,
82
+ color-mix(in srgb, var(--_color) 12%, transparent)
83
+ );
84
+ }
54
85
  :host([position="end"]) {
55
86
  border-inline-end: none;
56
87
  border-inline-start: var(--eun-border-width-s, 1px) solid
57
88
  var(--_borderColor);
58
89
  }
59
- :host([collapsed][collapse-mode="mini"]) {
90
+ :host([collapsed]:is([collapse-mode="mini"], :not([collapse-mode]))) {
60
91
  --_width: var(--_miniWidth);
61
92
  }
62
93
  :host([collapsed][collapse-mode="hidden"]) {
63
94
  --_width: 0px;
64
95
  border-color: transparent;
65
96
  }
66
- :host([dragged-hidden]) {
67
- --_width: 0px !important;
68
- border-color: transparent !important;
69
- }
70
97
 
71
98
  #surface {
72
99
  box-sizing: border-box;
@@ -118,20 +145,20 @@ const base = css `
118
145
  inset-inline-end: -4px;
119
146
  z-index: 0;
120
147
  width: 8px;
121
- cursor: ew-resize;
122
148
  touch-action: none;
123
149
  background: transparent;
124
- transition: background-color var(--eun-duration-s, 150ms)
125
- var(--eun-easing-default, ease);
126
150
  }
127
151
  :host([position="end"]) #resize-handle {
128
152
  inset-inline-end: auto;
129
153
  inset-inline-start: -4px;
130
154
  }
131
- #resize-handle:hover,
155
+ #resize-handle.armed,
132
156
  #resize-handle:focus-visible {
157
+ cursor: ew-resize;
133
158
  background: var(--eun-color-primary-500, #3d6fff);
134
159
  opacity: 0.35;
160
+ transition: background-color var(--eun-duration-s, 150ms)
161
+ var(--eun-easing-default, ease);
135
162
  }
136
163
  #resize-handle:focus-visible {
137
164
  outline: none;
@@ -155,17 +182,25 @@ const base = css `
155
182
  background: var(--_background);
156
183
  border: var(--eun-border-width-s, 1px) solid var(--_borderColor);
157
184
  border-radius: var(--eun-border-radius-xl, 999px);
158
- color: var(--eun-text-secondary, #484e61);
185
+ color: var(--_toggleColor);
159
186
  cursor: pointer;
160
- transition: background-color var(--eun-duration-s, 150ms)
161
- var(--eun-easing-default, ease);
187
+ outline: 2px solid transparent;
188
+ transition:
189
+ background-color var(--eun-duration-s, 150ms)
190
+ var(--eun-easing-default, ease),
191
+ outline var(--eun-duration-m, 200ms) var(--eun-easing-out, ease-out);
162
192
  }
163
193
  :host([position="end"]) #collapse-toggle:not(.inline) {
164
194
  inset-inline-end: auto;
165
195
  inset-inline-start: -14px;
166
196
  }
167
197
  #collapse-toggle:not(.inline):hover {
168
- background: var(--eun-content-hover, #edeff0);
198
+ background:
199
+ linear-gradient(
200
+ var(--_toggleBackgroundHover),
201
+ var(--_toggleBackgroundHover)
202
+ ),
203
+ var(--_background);
169
204
  }
170
205
 
171
206
  #collapse-toggle.inline {
@@ -179,33 +214,45 @@ const base = css `
179
214
  border-top: var(--eun-border-width-s, 1px) solid var(--_borderColor);
180
215
  border-radius: 0;
181
216
  background: transparent;
182
- color: var(--eun-text-secondary, #484e61);
217
+ color: var(--_toggleColor);
183
218
  font: inherit;
184
219
  font-size: var(--eun-font-size-s, 14px);
185
220
  text-align: start;
186
221
  cursor: pointer;
187
- transition: background-color var(--eun-duration-s, 150ms)
188
- var(--eun-easing-default, ease);
222
+ outline: 2px solid transparent;
223
+ transition:
224
+ background-color var(--eun-duration-s, 150ms)
225
+ var(--eun-easing-default, ease),
226
+ outline var(--eun-duration-m, 200ms) var(--eun-easing-out, ease-out);
189
227
  }
190
228
  #collapse-toggle.inline:hover {
191
- background: var(--eun-content-hover, #edeff0);
229
+ background: var(--_toggleBackgroundHover);
192
230
  }
193
231
  #collapse-toggle-label {
194
232
  overflow: hidden;
195
233
  white-space: nowrap;
196
234
  text-overflow: ellipsis;
197
235
  }
198
- :host([collapsed][collapse-mode="mini"]) #collapse-toggle.inline {
236
+ :host([collapsed]:is([collapse-mode="mini"], :not([collapse-mode])))
237
+ #collapse-toggle.inline {
199
238
  justify-content: center;
200
239
  }
201
- :host([collapsed][collapse-mode="mini"]) #collapse-toggle-label {
240
+ :host([collapsed]:is([collapse-mode="mini"], :not([collapse-mode])))
241
+ #collapse-toggle-label {
202
242
  display: none;
203
243
  }
204
244
 
205
245
  #collapse-toggle:focus-visible {
206
- outline: 2px solid var(--eun-color-primary-500, #3d6fff);
246
+ outline-color: var(--eun-color-primary-500, #3d6fff);
207
247
  outline-offset: 1px;
208
248
  }
249
+ #collapse-toggle.inline:focus-visible {
250
+ outline-offset: -2px;
251
+ outline-color: var(--eun-color-primary-500, #3d6fff);
252
+ border-start-start-radius: var(--eun-border-radius-m, 8px);
253
+ border-start-end-radius: var(--eun-border-radius-m, 8px);
254
+ background: var(--_toggleBackgroundHover);
255
+ }
209
256
 
210
257
  @media (prefers-reduced-motion: reduce) {
211
258
  :host {
@@ -213,4 +260,7 @@ const base = css `
213
260
  }
214
261
  }
215
262
  `;
216
- export const sidebarStyles = base;
263
+ const hideBelow = unsafeCSS(Object.keys(EUNOMIA_BREAKPOINTS)
264
+ .map((name) => `@media ${mediaBelow(name)} { :host([hide-below="${name}"]) { display: none; } }`)
265
+ .join("\n"));
266
+ export const sidebarStyles = [base, hideBelow];
@@ -140,13 +140,14 @@ let EunomiaStep = class EunomiaStep extends LitElement {
140
140
  type="button"
141
141
  class=${controlClasses}
142
142
  @click=${this.handleClick}
143
- >${indicator}${content}</button
144
- >`;
143
+ >
144
+ ${indicator}${content}
145
+ </button>`;
145
146
  }
146
147
  else {
147
- control = html `<button type="button" class=${controlClasses} disabled
148
- >${indicator}${content}</button
149
- >`;
148
+ control = html `<button type="button" class=${controlClasses} disabled>
149
+ ${indicator}${content}
150
+ </button>`;
150
151
  }
151
152
  return html `${control}<span class="connector" aria-hidden="true"></span>`;
152
153
  }
@@ -163,10 +164,10 @@ __decorate([
163
164
  property({ type: Boolean, reflect: true })
164
165
  ], EunomiaStep.prototype, "disabled", void 0);
165
166
  __decorate([
166
- property({ reflect: true })
167
+ property({ reflect: true, useDefault: true })
167
168
  ], EunomiaStep.prototype, "state", void 0);
168
169
  __decorate([
169
- property({ reflect: true })
170
+ property({ reflect: true, useDefault: true })
170
171
  ], EunomiaStep.prototype, "status", void 0);
171
172
  __decorate([
172
173
  property({ type: Boolean })
@@ -175,7 +176,7 @@ __decorate([
175
176
  property({ type: Number })
176
177
  ], EunomiaStep.prototype, "index", void 0);
177
178
  __decorate([
178
- property({ reflect: true })
179
+ property({ reflect: true, useDefault: true })
179
180
  ], EunomiaStep.prototype, "orientation", void 0);
180
181
  __decorate([
181
182
  queryAssignedElements({ slot: "description" })
@@ -98,7 +98,6 @@ export type EunomiaStepperVariant = "numbered" | "progress";
98
98
  * @prop {'horizontal' | 'vertical'} [orientation='horizontal'] - The numbered display's layout direction. Has no effect on the progress variant
99
99
  * @prop {'numbered' | 'progress'} [variant='numbered'] - Which of the two displays to render
100
100
  * @prop {boolean} [linear=true] - Restricts direct navigation to steps before activeStep. Set to false to allow jumping to any non-disabled step in any order
101
- * @attr {'true' | 'false'} [linear='true'] - Unlike most boolean attributes here, the literal string false genuinely means false, needed since linear is the one that defaults to true
102
101
  * @prop {boolean} [disabled=false] - Disables every step's control, leaving a read-only progress summary with no navigation at all, the same way an individual step's own disabled does
103
102
  * @attr {string} [aria-label='Progress'] - The accessible label for the navigation landmark. Numbered display only
104
103
  * @fires {StepChangeEvent} eunstepchange - Fired with the requested step whenever a reachable step is activated. ActiveStep and activeSubstep are never updated internally
@@ -176,8 +175,7 @@ export declare class EunomiaStepper extends LitElement {
176
175
  /**
177
176
  * Restricts direct navigation to steps before {@link activeStep} ; set
178
177
  * to `false` (either as the JS property, or the literal `linear="false"`
179
- * attribute — see {@link linearConverter} for why that works here,
180
- * unlike most other boolean attributes) to allow jumping to any
178
+ * attribute — see {@link defaultTrueConverter}) to allow jumping to any
181
179
  * non-`disabled` step in any order.
182
180
  * @default true
183
181
  */
@@ -9,27 +9,11 @@ import { html, LitElement, nothing } from "lit";
9
9
  import { classMap } from "lit/directives/class-map.js";
10
10
  import { StepChangeEvent } from "../../../events/stepchange.event.js";
11
11
  import { stepperStyles } from "./stepper.styles.js";
12
+ import { defaultTrueConverter } from "../../../utils/boolean.utils.js";
12
13
  /**
13
14
  * Tag name of the stepper component.
14
15
  */
15
16
  export const EunomiaStepperTagName = "eun-stepper";
16
- /**
17
- * Attribute converter for `linear`, making an explicit `linear="false"`
18
- * actually mean false. Lit's standard boolean converter only ever looks
19
- * at whether the attribute is *present*, the same way native HTML boolean
20
- * attributes work (`disabled="false"` is still disabled) — fine for every
21
- * other boolean here, which default to `false` and so are only ever
22
- * turned on by adding the attribute. `linear` is the one exception,
23
- * defaulting to `true` : without this, there would be no way to turn it
24
- * back off from plain HTML, only from script (`el.linear = false`).
25
- * @internal
26
- */
27
- const linearConverter = {
28
- fromAttribute(value) {
29
- return value !== null && value !== "false";
30
- },
31
- toAttribute: String,
32
- };
33
17
  /**
34
18
  * A status and progression indicator for a multi-step process, such as a
35
19
  * checkout flow, a multi-page form, or an onboarding wizard.
@@ -86,7 +70,6 @@ const linearConverter = {
86
70
  * @prop {'horizontal' | 'vertical'} [orientation='horizontal'] - The numbered display's layout direction. Has no effect on the progress variant
87
71
  * @prop {'numbered' | 'progress'} [variant='numbered'] - Which of the two displays to render
88
72
  * @prop {boolean} [linear=true] - Restricts direct navigation to steps before activeStep. Set to false to allow jumping to any non-disabled step in any order
89
- * @attr {'true' | 'false'} [linear='true'] - Unlike most boolean attributes here, the literal string false genuinely means false, needed since linear is the one that defaults to true
90
73
  * @prop {boolean} [disabled=false] - Disables every step's control, leaving a read-only progress summary with no navigation at all, the same way an individual step's own disabled does
91
74
  * @attr {string} [aria-label='Progress'] - The accessible label for the navigation landmark. Numbered display only
92
75
  * @fires {StepChangeEvent} eunstepchange - Fired with the requested step whenever a reachable step is activated. ActiveStep and activeSubstep are never updated internally
@@ -153,8 +136,7 @@ let EunomiaStepper = class EunomiaStepper extends LitElement {
153
136
  /**
154
137
  * Restricts direct navigation to steps before {@link activeStep} ; set
155
138
  * to `false` (either as the JS property, or the literal `linear="false"`
156
- * attribute — see {@link linearConverter} for why that works here,
157
- * unlike most other boolean attributes) to allow jumping to any
139
+ * attribute — see {@link defaultTrueConverter}) to allow jumping to any
158
140
  * non-`disabled` step in any order.
159
141
  * @default true
160
142
  */
@@ -218,8 +200,15 @@ let EunomiaStepper = class EunomiaStepper extends LitElement {
218
200
  syncSlottedSteps() {
219
201
  this.slottedSteps.forEach((step, index) => {
220
202
  step.index = index;
221
- step.orientation = this.orientation;
222
- step.status = this.statusOf(index, this.activeStep, step.state);
203
+ // Only assigned when they differ: assigning a step's default again
204
+ // would reflect it.
205
+ if (step.orientation !== this.orientation) {
206
+ step.orientation = this.orientation;
207
+ }
208
+ const status = this.statusOf(index, this.activeStep, step.state);
209
+ if (step.status !== status) {
210
+ step.status = status;
211
+ }
223
212
  const isCurrent = index === this.activeStep;
224
213
  step.reachable =
225
214
  !isCurrent &&
@@ -508,7 +497,7 @@ let EunomiaStepper = class EunomiaStepper extends LitElement {
508
497
  */
509
498
  EunomiaStepper.styles = [stepperStyles];
510
499
  __decorate([
511
- property({ type: Array, reflect: true })
500
+ property({ type: Array, reflect: true, useDefault: true })
512
501
  ], EunomiaStepper.prototype, "steps", void 0);
513
502
  __decorate([
514
503
  property({ type: Number, attribute: "active-step" })
@@ -517,13 +506,13 @@ __decorate([
517
506
  property({ type: Number, attribute: "active-substep" })
518
507
  ], EunomiaStepper.prototype, "activeSubstep", void 0);
519
508
  __decorate([
520
- property({ reflect: true })
509
+ property({ reflect: true, useDefault: true })
521
510
  ], EunomiaStepper.prototype, "orientation", void 0);
522
511
  __decorate([
523
- property({ reflect: true })
512
+ property({ reflect: true, useDefault: true })
524
513
  ], EunomiaStepper.prototype, "variant", void 0);
525
514
  __decorate([
526
- property({ reflect: true, converter: linearConverter })
515
+ property({ reflect: true, converter: defaultTrueConverter })
527
516
  ], EunomiaStepper.prototype, "linear", void 0);
528
517
  __decorate([
529
518
  property({ type: Boolean, reflect: true })
@@ -710,13 +710,13 @@ EunomiaTabGroup.styles = tabGroupStyle;
710
710
  */
711
711
  EunomiaTabGroup.EDGE_RESISTANCE = 0.3;
712
712
  __decorate([
713
- property({ reflect: true })
713
+ property({ reflect: true, useDefault: true })
714
714
  ], EunomiaTabGroup.prototype, "align", void 0);
715
715
  __decorate([
716
716
  property({ type: Boolean, reflect: true })
717
717
  ], EunomiaTabGroup.prototype, "full", void 0);
718
718
  __decorate([
719
- property({ reflect: true })
719
+ property({ reflect: true, useDefault: true })
720
720
  ], EunomiaTabGroup.prototype, "animation", void 0);
721
721
  __decorate([
722
722
  property({ type: Boolean, reflect: true })
@@ -206,13 +206,13 @@ const base = css `
206
206
  animation: var(--_animationTime) ease-in fade-in;
207
207
  }
208
208
 
209
- :host([animation="slide"])
209
+ :host(:is([animation="slide"], :not([animation])))
210
210
  slot:not([name])::slotted(eun-tab-panel.slide-left) {
211
211
  --_animationTime: var(--tab-panel-animation, 500ms);
212
212
  animation: var(--_animationTime) var(--eun-easing-out, ease-out) slide-left;
213
213
  }
214
214
 
215
- :host([animation="slide"])
215
+ :host(:is([animation="slide"], :not([animation])))
216
216
  slot:not([name])::slotted(eun-tab-panel.slide-right) {
217
217
  --_animationTime: var(--tab-panel-animation, 500ms);
218
218
  animation: var(--_animationTime) var(--eun-easing-out, ease-out) slide-right;
@@ -15,7 +15,7 @@ export type EunomiaToolbarPanelDirection = "top" | "bottom" | "left" | "right";
15
15
  * The two color schemes the toolbar itself can render in.
16
16
  */
17
17
  export type EunomiaToolbarTheme = "light" | "dark";
18
- declare const EunomiaToolbar_base: import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/dialog-surface.mixin.js").DialogSurfaceMixinInterface> & typeof LitElement;
18
+ declare const EunomiaToolbar_base: import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/dialog-surface.mixin.js").DialogSurfaceMixinInterface> & import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/localizable.mixin.js").LocalizableMixinInterface> & typeof LitElement;
19
19
  /**
20
20
  * A sticky top page toolbar with start, center, and end layout slots, and
21
21
  * a burger button that opens a slide-in panel below a mobile breakpoint.
@@ -70,14 +70,16 @@ declare const EunomiaToolbar_base: import("../../../utils/constructor.type.js").
70
70
  * @attr {'top' | 'bottom' | 'left' | 'right'} [panel-direction='top'] - Which edge the mobile panel slides in from
71
71
  * @prop {string} panelSize - A custom open size for the mobile panel, height for top or bottom, width for left or right. Any CSS length, defaulting to 100%
72
72
  * @attr {string} panel-size - A custom open size for the mobile panel
73
+ * @prop {string} mobileHide - The bar slots hidden below the mobile breakpoint, as a space-separated list of start, center and end, such as "center end" when their content is repeated in the panel. Applied by toolbar-ssr.css before the upgrade too
74
+ * @attr {string} mobile-hide - The bar slots hidden below the mobile breakpoint, as a space-separated list of start, center and end
73
75
  * @prop {boolean} [closeOnBackdrop=true] - Whether clicking outside the mobile panel closes it
74
76
  * @attr {boolean} [close-on-backdrop=true] - Whether clicking outside the mobile panel closes it
75
- * @prop {string} [ariaLabelMenuOpen='Open menu'] - The accessible label of the burger button while the panel is closed
76
- * @attr {string} [aria-label-menu-open='Open menu'] - The accessible label of the burger button while the panel is closed
77
- * @prop {string} [ariaLabelMenuClose='Close menu'] - The accessible label of the burger button while the panel is open
78
- * @attr {string} [aria-label-menu-close='Close menu'] - The accessible label of the burger button while the panel is open
79
- * @prop {string} [ariaLabelMenu='Menu'] - The accessible name of the mobile panel itself
80
- * @attr {string} [aria-label-menu='Menu'] - The accessible name of the mobile panel itself
77
+ * @prop {string} [menuOpenLabel] - The accessible label of the burger button while the panel is closed. Defaults to the localized string for the current locale (English: "Open menu")
78
+ * @attr {string} [menu-open-label] - The accessible label of the burger button while the panel is closed. Defaults to the localized string for the current locale (English: "Open menu")
79
+ * @prop {string} [menuCloseLabel] - The accessible label of the burger button while the panel is open. Defaults to the localized string for the current locale (English: "Close menu")
80
+ * @attr {string} [menu-close-label] - The accessible label of the burger button while the panel is open. Defaults to the localized string for the current locale (English: "Close menu")
81
+ * @prop {string} [menuLabel] - The accessible name of the mobile panel itself. Defaults to the localized string for the current locale (English: "Menu")
82
+ * @attr {string} [menu-label] - The accessible name of the mobile panel itself. Defaults to the localized string for the current locale (English: "Menu")
81
83
  * @attr {string} [aria-label='Main navigation'] - The accessible name of the toolbar's navigation landmark
82
84
  * @prop {boolean} [collapseOnScroll=false] - Enables the scroll-triggered collapse mode
83
85
  * @attr {boolean} [collapse-on-scroll=false] - Enables the scroll-triggered collapse mode
@@ -127,6 +129,7 @@ declare const EunomiaToolbar_base: import("../../../utils/constructor.type.js").
127
129
  * @cssprop [--toolbar-panel-padding] - Sets the padding of the mobile panel
128
130
  * @cssprop [--toolbar-panel-padding-block] - Sets the vertical padding, as one length applied to both sides. Ignored when --toolbar-panel-padding is set
129
131
  * @cssprop [--toolbar-panel-padding-inline] - Sets the horizontal padding, as one length applied to both sides. Ignored when --toolbar-panel-padding is set
132
+ * @cssprop [--toolbar-panel-offset] - Sets the room reserved above the mobile panel content for the burger, added to its padding. Defaults to the bar's height, or 0 with panel-direction="bottom"
130
133
  * @cssprop [--toolbar-burger-align] - Sets the vertical alignment of the burger button within the bar's height, defaulting to center ; set flex-start to pin it to the top instead
131
134
  * @cssprop [--toolbar-burger-padding] - Sets the padding around the burger button, defaulting to 0 on the block axis and --toolbar-panel-padding on the inline axis
132
135
  * @cssprop [--toolbar-burger-padding-block] - Sets the vertical padding, as one length applied to both sides. Ignored when --toolbar-burger-padding is set
@@ -175,6 +178,13 @@ export declare class EunomiaToolbar extends EunomiaToolbar_base {
175
178
  * left/right) ; any CSS length, defaults to `100%`.
176
179
  */
177
180
  panelSize?: string;
181
+ /**
182
+ * The bar slots hidden below `mobileBreakpoint`, as a space-separated
183
+ * list of `start`, `center` and `end`, such as `"center end"` once their
184
+ * content is repeated in the panel. Reflected, since the hiding is pure
185
+ * CSS on the attribute, also matched by `toolbar-ssr.css` before upgrade.
186
+ */
187
+ mobileHide?: string;
178
188
  /**
179
189
  * Whether clicking outside the mobile panel closes it.
180
190
  * @default true
@@ -182,19 +192,19 @@ export declare class EunomiaToolbar extends EunomiaToolbar_base {
182
192
  closeOnBackdrop: boolean;
183
193
  /**
184
194
  * Accessible label of the burger button while the panel is closed.
185
- * @default Open menu
195
+ * Falls back to the localized string for the current locale when unset.
186
196
  */
187
- ariaLabelMenuOpen: string;
197
+ menuOpenLabel?: string;
188
198
  /**
189
199
  * Accessible label of the burger button while the panel is open.
190
- * @default Close menu
200
+ * Falls back to the localized string for the current locale when unset.
191
201
  */
192
- ariaLabelMenuClose: string;
202
+ menuCloseLabel?: string;
193
203
  /**
194
204
  * Accessible name of the mobile panel itself.
195
- * @default Menu
205
+ * Falls back to the localized string for the current locale when unset.
196
206
  */
197
- ariaLabelMenu: string;
207
+ menuLabel?: string;
198
208
  /**
199
209
  * Enables the scroll-triggered collapse mode.
200
210
  * @default false
@@ -10,6 +10,8 @@ import { ChangeEvent } from "../../../events/change.event.js";
10
10
  import { DialogSurfaceMixin } from "../../../mixins/dialog-surface.mixin.js";
11
11
  import { EUNOMIA_BREAKPOINTS } from "../../../breakpoints.js";
12
12
  import { toolbarStyles } from "./toolbar.styles.js";
13
+ import { LocalizableMixin } from "../../../mixins/localizable.mixin.js";
14
+ import { defaultTrueConverter } from "../../../utils/boolean.utils.js";
13
15
  /**
14
16
  * Tag name of the toolbar component.
15
17
  */
@@ -68,14 +70,16 @@ export const EunomiaToolbarTagName = "eun-toolbar";
68
70
  * @attr {'top' | 'bottom' | 'left' | 'right'} [panel-direction='top'] - Which edge the mobile panel slides in from
69
71
  * @prop {string} panelSize - A custom open size for the mobile panel, height for top or bottom, width for left or right. Any CSS length, defaulting to 100%
70
72
  * @attr {string} panel-size - A custom open size for the mobile panel
73
+ * @prop {string} mobileHide - The bar slots hidden below the mobile breakpoint, as a space-separated list of start, center and end, such as "center end" when their content is repeated in the panel. Applied by toolbar-ssr.css before the upgrade too
74
+ * @attr {string} mobile-hide - The bar slots hidden below the mobile breakpoint, as a space-separated list of start, center and end
71
75
  * @prop {boolean} [closeOnBackdrop=true] - Whether clicking outside the mobile panel closes it
72
76
  * @attr {boolean} [close-on-backdrop=true] - Whether clicking outside the mobile panel closes it
73
- * @prop {string} [ariaLabelMenuOpen='Open menu'] - The accessible label of the burger button while the panel is closed
74
- * @attr {string} [aria-label-menu-open='Open menu'] - The accessible label of the burger button while the panel is closed
75
- * @prop {string} [ariaLabelMenuClose='Close menu'] - The accessible label of the burger button while the panel is open
76
- * @attr {string} [aria-label-menu-close='Close menu'] - The accessible label of the burger button while the panel is open
77
- * @prop {string} [ariaLabelMenu='Menu'] - The accessible name of the mobile panel itself
78
- * @attr {string} [aria-label-menu='Menu'] - The accessible name of the mobile panel itself
77
+ * @prop {string} [menuOpenLabel] - The accessible label of the burger button while the panel is closed. Defaults to the localized string for the current locale (English: "Open menu")
78
+ * @attr {string} [menu-open-label] - The accessible label of the burger button while the panel is closed. Defaults to the localized string for the current locale (English: "Open menu")
79
+ * @prop {string} [menuCloseLabel] - The accessible label of the burger button while the panel is open. Defaults to the localized string for the current locale (English: "Close menu")
80
+ * @attr {string} [menu-close-label] - The accessible label of the burger button while the panel is open. Defaults to the localized string for the current locale (English: "Close menu")
81
+ * @prop {string} [menuLabel] - The accessible name of the mobile panel itself. Defaults to the localized string for the current locale (English: "Menu")
82
+ * @attr {string} [menu-label] - The accessible name of the mobile panel itself. Defaults to the localized string for the current locale (English: "Menu")
79
83
  * @attr {string} [aria-label='Main navigation'] - The accessible name of the toolbar's navigation landmark
80
84
  * @prop {boolean} [collapseOnScroll=false] - Enables the scroll-triggered collapse mode
81
85
  * @attr {boolean} [collapse-on-scroll=false] - Enables the scroll-triggered collapse mode
@@ -125,6 +129,7 @@ export const EunomiaToolbarTagName = "eun-toolbar";
125
129
  * @cssprop [--toolbar-panel-padding] - Sets the padding of the mobile panel
126
130
  * @cssprop [--toolbar-panel-padding-block] - Sets the vertical padding, as one length applied to both sides. Ignored when --toolbar-panel-padding is set
127
131
  * @cssprop [--toolbar-panel-padding-inline] - Sets the horizontal padding, as one length applied to both sides. Ignored when --toolbar-panel-padding is set
132
+ * @cssprop [--toolbar-panel-offset] - Sets the room reserved above the mobile panel content for the burger, added to its padding. Defaults to the bar's height, or 0 with panel-direction="bottom"
128
133
  * @cssprop [--toolbar-burger-align] - Sets the vertical alignment of the burger button within the bar's height, defaulting to center ; set flex-start to pin it to the top instead
129
134
  * @cssprop [--toolbar-burger-padding] - Sets the padding around the burger button, defaulting to 0 on the block axis and --toolbar-panel-padding on the inline axis
130
135
  * @cssprop [--toolbar-burger-padding-block] - Sets the vertical padding, as one length applied to both sides. Ignored when --toolbar-burger-padding is set
@@ -138,7 +143,7 @@ export const EunomiaToolbarTagName = "eun-toolbar";
138
143
  * @cssprop [--toolbar-skip-links-gap] - Sets the gap between skip links, with the divider centered in it
139
144
  * @element eun-toolbar
140
145
  */
141
- let EunomiaToolbar = class EunomiaToolbar extends DialogSurfaceMixin(LitElement) {
146
+ let EunomiaToolbar = class EunomiaToolbar extends DialogSurfaceMixin(LocalizableMixin(LitElement)) {
142
147
  constructor() {
143
148
  super(...arguments);
144
149
  /**
@@ -167,21 +172,6 @@ let EunomiaToolbar = class EunomiaToolbar extends DialogSurfaceMixin(LitElement)
167
172
  * @default true
168
173
  */
169
174
  this.closeOnBackdrop = true;
170
- /**
171
- * Accessible label of the burger button while the panel is closed.
172
- * @default Open menu
173
- */
174
- this.ariaLabelMenuOpen = "Open menu";
175
- /**
176
- * Accessible label of the burger button while the panel is open.
177
- * @default Close menu
178
- */
179
- this.ariaLabelMenuClose = "Close menu";
180
- /**
181
- * Accessible name of the mobile panel itself.
182
- * @default Menu
183
- */
184
- this.ariaLabelMenu = "Menu";
185
175
  /**
186
176
  * Enables the scroll-triggered collapse mode.
187
177
  * @default false
@@ -821,8 +811,8 @@ let EunomiaToolbar = class EunomiaToolbar extends DialogSurfaceMixin(LitElement)
821
811
  size="s"
822
812
  aria-expanded=${this.open}
823
813
  aria-label=${this.open
824
- ? this.ariaLabelMenuClose
825
- : this.ariaLabelMenuOpen}
814
+ ? (this.menuCloseLabel ?? this.dictionary.toolbar.menuClose)
815
+ : (this.menuOpenLabel ?? this.dictionary.toolbar.menuOpen)}
826
816
  @click=${() => this.toggle()}
827
817
  >
828
818
  <slot name=${slotName} @slotchange=${this.handleIconSlotChange}>
@@ -859,7 +849,7 @@ let EunomiaToolbar = class EunomiaToolbar extends DialogSurfaceMixin(LitElement)
859
849
  popover="manual"
860
850
  role="dialog"
861
851
  aria-modal="true"
862
- aria-label=${this.ariaLabelMenu}
852
+ aria-label=${this.menuLabel ?? this.dictionary.toolbar.menu}
863
853
  data-direction=${this.panelDirection}
864
854
  tabindex="-1"
865
855
  @toggle=${this.handlePanelToggle}
@@ -896,7 +886,7 @@ let EunomiaToolbar = class EunomiaToolbar extends DialogSurfaceMixin(LitElement)
896
886
  */
897
887
  EunomiaToolbar.styles = toolbarStyles;
898
888
  __decorate([
899
- property({ reflect: true })
889
+ property({ reflect: true, useDefault: true })
900
890
  ], EunomiaToolbar.prototype, "position", void 0);
901
891
  __decorate([
902
892
  property({ type: Number, attribute: "mobile-breakpoint" })
@@ -905,23 +895,26 @@ __decorate([
905
895
  property({ type: Boolean, reflect: true })
906
896
  ], EunomiaToolbar.prototype, "open", void 0);
907
897
  __decorate([
908
- property({ reflect: true, attribute: "panel-direction" })
898
+ property({ reflect: true, attribute: "panel-direction", useDefault: true })
909
899
  ], EunomiaToolbar.prototype, "panelDirection", void 0);
910
900
  __decorate([
911
901
  property({ attribute: "panel-size" })
912
902
  ], EunomiaToolbar.prototype, "panelSize", void 0);
913
903
  __decorate([
914
- property({ type: Boolean, attribute: "close-on-backdrop" })
904
+ property({ reflect: true, attribute: "mobile-hide" })
905
+ ], EunomiaToolbar.prototype, "mobileHide", void 0);
906
+ __decorate([
907
+ property({ converter: defaultTrueConverter, attribute: "close-on-backdrop" })
915
908
  ], EunomiaToolbar.prototype, "closeOnBackdrop", void 0);
916
909
  __decorate([
917
- property({ attribute: "aria-label-menu-open" })
918
- ], EunomiaToolbar.prototype, "ariaLabelMenuOpen", void 0);
910
+ property({ attribute: "menu-open-label" })
911
+ ], EunomiaToolbar.prototype, "menuOpenLabel", void 0);
919
912
  __decorate([
920
- property({ attribute: "aria-label-menu-close" })
921
- ], EunomiaToolbar.prototype, "ariaLabelMenuClose", void 0);
913
+ property({ attribute: "menu-close-label" })
914
+ ], EunomiaToolbar.prototype, "menuCloseLabel", void 0);
922
915
  __decorate([
923
- property({ attribute: "aria-label-menu" })
924
- ], EunomiaToolbar.prototype, "ariaLabelMenu", void 0);
916
+ property({ attribute: "menu-label" })
917
+ ], EunomiaToolbar.prototype, "menuLabel", void 0);
925
918
  __decorate([
926
919
  property({ type: Boolean, attribute: "collapse-on-scroll" })
927
920
  ], EunomiaToolbar.prototype, "collapseOnScroll", void 0);
@@ -947,7 +940,7 @@ __decorate([
947
940
  property({ attribute: "adaptive-theme-selector" })
948
941
  ], EunomiaToolbar.prototype, "adaptiveThemeSelector", void 0);
949
942
  __decorate([
950
- property({ reflect: true })
943
+ property({ reflect: true, useDefault: true })
951
944
  ], EunomiaToolbar.prototype, "theme", void 0);
952
945
  __decorate([
953
946
  property({ attribute: "default-theme" })