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

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 (496) hide show
  1. package/README.md +1 -1
  2. package/dist/breakpoints.d.ts +37 -10
  3. package/dist/breakpoints.js +38 -10
  4. package/dist/cdn/components/chunks/{chunk-MMLIPCOY.js → chunk-22D3SRFR.js} +1 -1
  5. package/dist/cdn/components/chunks/{chunk-4MXL6PZC.js → chunk-2Y2EU2CI.js} +28 -28
  6. package/dist/cdn/components/chunks/chunk-3MTUVMM5.js +1 -0
  7. package/dist/cdn/components/chunks/chunk-4PI6RDUS.js +1 -0
  8. package/dist/cdn/components/chunks/chunk-5GKM5DIB.js +1 -0
  9. package/dist/cdn/components/chunks/chunk-624VJYNA.js +1 -0
  10. package/dist/cdn/components/chunks/{chunk-5XJLIHAU.js → chunk-7KKWYPHY.js} +4 -2
  11. package/dist/cdn/components/chunks/chunk-A3X4KD2X.js +1 -0
  12. package/dist/cdn/components/chunks/chunk-BKZGTCMF.js +1 -0
  13. package/dist/cdn/components/chunks/{chunk-GW3VP2L7.js → chunk-BO3JOEWM.js} +1 -1
  14. package/dist/cdn/components/chunks/{chunk-NHFWATVN.js → chunk-BQFJR2UP.js} +5 -5
  15. package/dist/cdn/components/chunks/chunk-EUWUDCBZ.js +1 -0
  16. package/dist/cdn/components/chunks/{chunk-P32B7BFD.js → chunk-FF3I7C3C.js} +15 -15
  17. package/dist/cdn/components/chunks/{chunk-74AOAB4X.js → chunk-FOILAXLL.js} +6 -5
  18. package/dist/cdn/components/chunks/{chunk-E4IS25H7.js → chunk-G5SBDQQ3.js} +1 -1
  19. package/dist/cdn/components/chunks/{chunk-LGLQ36QB.js → chunk-GDBPWZN6.js} +1 -1
  20. package/dist/cdn/components/chunks/{chunk-S2UCEWNG.js → chunk-JYIIWN2P.js} +13 -11
  21. package/dist/cdn/components/chunks/{chunk-EOWBYZV7.js → chunk-KDN4O5W2.js} +26 -13
  22. package/dist/cdn/components/chunks/chunk-KSZRQRN4.js +1 -0
  23. package/dist/cdn/components/chunks/{chunk-PED5ATYN.js → chunk-L2ADCEN7.js} +1 -1
  24. package/dist/cdn/components/chunks/chunk-LMVW522V.js +1 -0
  25. package/dist/cdn/components/chunks/{chunk-5XJGYXW7.js → chunk-MOMYII3P.js} +1 -1
  26. package/dist/cdn/components/chunks/{chunk-SIHZFOTK.js → chunk-MQQ4BGVJ.js} +5 -5
  27. package/dist/cdn/components/chunks/{chunk-A4EQSU36.js → chunk-O7PHBLH2.js} +1 -1
  28. package/dist/cdn/components/chunks/chunk-PD62MBOJ.js +1 -0
  29. package/dist/cdn/components/chunks/{chunk-KBH5PCUO.js → chunk-PE4DAXHQ.js} +1 -1
  30. package/dist/cdn/components/chunks/{chunk-GSJEJLFA.js → chunk-PMPSJG5V.js} +7 -7
  31. package/dist/cdn/components/chunks/{chunk-5EVP7YNE.js → chunk-PPCHQG7P.js} +1 -1
  32. package/dist/cdn/components/chunks/{chunk-EJIX2D4Z.js → chunk-QZ5SHR3I.js} +15 -11
  33. package/dist/cdn/components/chunks/chunk-RS7TWEMQ.js +1 -0
  34. package/dist/cdn/components/chunks/chunk-SMTIDNGW.js +1 -0
  35. package/dist/cdn/components/chunks/{chunk-YGUJJ25C.js → chunk-SZYEBMG6.js} +11 -10
  36. package/dist/cdn/components/chunks/chunk-UDVB4LAE.js +56 -0
  37. package/dist/cdn/components/chunks/{chunk-UAGCQF23.js → chunk-UYZR4JXZ.js} +17 -12
  38. package/dist/cdn/components/chunks/chunk-VG6NAAIV.js +1 -0
  39. package/dist/cdn/components/chunks/chunk-VJCNHMQZ.js +10 -0
  40. package/dist/cdn/components/chunks/chunk-VOTRXBDS.js +38 -0
  41. package/dist/cdn/components/chunks/{chunk-BMQOI7HX.js → chunk-VYFR364B.js} +128 -74
  42. package/dist/cdn/components/chunks/{chunk-IJ5WFMK4.js → chunk-XDPRWUKN.js} +7 -6
  43. package/dist/cdn/components/chunks/{chunk-XH6NREVZ.js → chunk-YITWLCD3.js} +1 -1
  44. package/dist/cdn/components/chunks/{chunk-BQHYZB2W.js → chunk-ZBN4HTWP.js} +1 -1
  45. package/dist/cdn/components/chunks/{chunk-RJCJXB7Y.js → chunk-ZKZV2YG5.js} +18 -18
  46. package/dist/cdn/components/eun-alert.js +24 -16
  47. package/dist/cdn/components/eun-animate.js +12 -6
  48. package/dist/cdn/components/eun-badge.js +7 -7
  49. package/dist/cdn/components/eun-breadcrumb.js +25 -41
  50. package/dist/cdn/components/eun-button.js +1 -1
  51. package/dist/cdn/components/eun-calendar.js +68 -66
  52. package/dist/cdn/components/eun-card.js +67 -13
  53. package/dist/cdn/components/eun-carousel.js +66 -35
  54. package/dist/cdn/components/eun-check-card.js +13 -6
  55. package/dist/cdn/components/eun-checkbox-list.js +4 -4
  56. package/dist/cdn/components/eun-checkbox.js +1 -1
  57. package/dist/cdn/components/eun-chip.js +1 -1
  58. package/dist/cdn/components/eun-collapse.js +87 -39
  59. package/dist/cdn/components/eun-color-picker.js +54 -53
  60. package/dist/cdn/components/eun-counter.js +14 -13
  61. package/dist/cdn/components/eun-date-picker.js +66 -63
  62. package/dist/cdn/components/eun-description-list.js +152 -0
  63. package/dist/cdn/components/eun-divider.js +1 -1
  64. package/dist/cdn/components/eun-drawer.js +26 -12
  65. package/dist/cdn/components/eun-dropdown-button.js +1 -1
  66. package/dist/cdn/components/eun-dropdown-item.js +6 -5
  67. package/dist/cdn/components/eun-fab.js +20 -19
  68. package/dist/cdn/components/eun-icon.js +1 -1
  69. package/dist/cdn/components/eun-image-card.js +79 -22
  70. package/dist/cdn/components/eun-image-carousel.js +92 -47
  71. package/dist/cdn/components/eun-infinite-list.js +23 -11
  72. package/dist/cdn/components/eun-input-file.js +14 -13
  73. package/dist/cdn/components/eun-input-phone.js +26 -26
  74. package/dist/cdn/components/eun-input.js +1 -1
  75. package/dist/cdn/components/eun-label.js +4 -4
  76. package/dist/cdn/components/eun-link.js +174 -27
  77. package/dist/cdn/components/eun-loader.js +1 -1
  78. package/dist/cdn/components/eun-modal.js +29 -22
  79. package/dist/cdn/components/eun-pagination.js +17 -12
  80. package/dist/cdn/components/eun-password-strength.js +6 -2
  81. package/dist/cdn/components/eun-progress-bar.js +13 -5
  82. package/dist/cdn/components/eun-radio-card.js +16 -9
  83. package/dist/cdn/components/eun-radio-list.js +4 -4
  84. package/dist/cdn/components/eun-radio.js +1 -1
  85. package/dist/cdn/components/eun-scheduler-event-editor.js +8 -8
  86. package/dist/cdn/components/eun-scheduler-event.js +1 -1
  87. package/dist/cdn/components/eun-scheduler.js +42 -42
  88. package/dist/cdn/components/eun-search.js +21 -20
  89. package/dist/cdn/components/eun-select.js +12 -11
  90. package/dist/cdn/components/eun-sidebar.js +34 -20
  91. package/dist/cdn/components/eun-skeleton.js +1 -1
  92. package/dist/cdn/components/eun-slider.js +15 -14
  93. package/dist/cdn/components/eun-sliding-card.js +8 -4
  94. package/dist/cdn/components/eun-step.js +17 -6
  95. package/dist/cdn/components/eun-stepper.js +17 -6
  96. package/dist/cdn/components/eun-switch.js +10 -8
  97. package/dist/cdn/components/eun-tab-group.js +22 -17
  98. package/dist/cdn/components/eun-tab-panel.js +11 -3
  99. package/dist/cdn/components/eun-tab.js +1 -1
  100. package/dist/cdn/components/eun-table-action-bar.js +1 -1
  101. package/dist/cdn/components/eun-table.js +572 -31
  102. package/dist/cdn/components/eun-tag.js +13 -7
  103. package/dist/cdn/components/eun-textarea.js +24 -24
  104. package/dist/cdn/components/eun-time-picker.js +21 -19
  105. package/dist/cdn/components/eun-toast.js +36 -16
  106. package/dist/cdn/components/eun-toggle-group.js +64 -37
  107. package/dist/cdn/components/eun-toggle-item.js +24 -21
  108. package/dist/cdn/components/eun-toggle.js +12 -10
  109. package/dist/cdn/components/eun-toolbar.js +62 -52
  110. package/dist/cdn/components/eun-tooltip.js +30 -14
  111. package/dist/cdn/styles/breakpoints.scss +8 -0
  112. package/dist/cdn/styles/eunomia-grid.scss +6 -0
  113. package/dist/cdn/styles/eunomia-themes.css +1 -1
  114. package/dist/cdn/styles/themes/eunomia-theme.css +1 -1
  115. package/dist/cdn/styles/themes/eunomia-theme.scss +4 -3
  116. package/dist/cdn/styles/themes/mixins/eunomia-a11y-color.mixin.scss +34 -1
  117. package/dist/cdn/styles/themes/mixins/eunomia-neutrals.mixin.scss +4 -0
  118. package/dist/cdn/styles/themes/mixins/eunomia-states.mixin.scss +36 -12
  119. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +10 -10
  120. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +10 -10
  121. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.css +1 -1
  122. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +3 -2
  123. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +10 -10
  124. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +10 -10
  125. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.css +1 -1
  126. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +3 -2
  127. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +10 -10
  128. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +10 -10
  129. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.css +1 -1
  130. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +3 -2
  131. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +10 -10
  132. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +10 -10
  133. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.css +1 -1
  134. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +3 -2
  135. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +10 -10
  136. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +10 -10
  137. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.css +1 -1
  138. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +3 -2
  139. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +10 -10
  140. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +10 -10
  141. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.css +1 -1
  142. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +3 -2
  143. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +10 -10
  144. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +10 -10
  145. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.css +1 -1
  146. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +3 -2
  147. package/dist/cdn/styles/tools/indexes/eunomia-media-queries.index.scss +1 -3
  148. package/dist/cdn/styles/tools/indexes/eunomia-tools.index.scss +1 -0
  149. package/dist/cdn/styles/tools/mixins/layout/eunomia-grid.mixin.scss +117 -53
  150. package/dist/cdn/styles/tools/mixins/media-queries/eunomia-media-queries.mixin.scss +69 -0
  151. package/dist/cdn/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +28 -4
  152. package/dist/cdn/styles/tools/mixins/settings/eunomia-motion.mixin.scss +9 -0
  153. package/dist/cdn/styles/tools/variables/eunomia.breakpoints.scss +4 -0
  154. package/dist/components/action/button/button.d.ts +51 -19
  155. package/dist/components/action/button/button.js +107 -24
  156. package/dist/components/action/button/button.styles.js +115 -62
  157. package/dist/components/action/dropdown-button/dropdown-button.d.ts +10 -10
  158. package/dist/components/action/dropdown-button/dropdown-button.js +18 -17
  159. package/dist/components/action/dropdown-button/dropdown-button.styles.js +3 -2
  160. package/dist/components/action/dropdown-button/dropdown-item.js +5 -6
  161. package/dist/components/action/dropdown-button/dropdown-item.styles.js +3 -2
  162. package/dist/components/action/fab/fab.d.ts +7 -6
  163. package/dist/components/action/fab/fab.js +11 -8
  164. package/dist/components/action/fab/fab.styles.js +18 -17
  165. package/dist/components/action/link/link.d.ts +72 -9
  166. package/dist/components/action/link/link.js +183 -23
  167. package/dist/components/action/link/link.styles.js +146 -10
  168. package/dist/components/action/shared-styles/button-palette.styles.d.ts +3 -3
  169. package/dist/components/action/shared-styles/button-palette.styles.js +29 -29
  170. package/dist/components/action/toggle/toggle-group.d.ts +17 -5
  171. package/dist/components/action/toggle/toggle-group.js +46 -19
  172. package/dist/components/action/toggle/toggle-group.styles.d.ts +4 -1
  173. package/dist/components/action/toggle/toggle-group.styles.js +56 -27
  174. package/dist/components/action/toggle/toggle-item.d.ts +4 -4
  175. package/dist/components/action/toggle/toggle-item.js +2 -2
  176. package/dist/components/action/toggle/toggle-item.styles.js +20 -17
  177. package/dist/components/action/toggle/toggle.d.ts +2 -0
  178. package/dist/components/action/toggle/toggle.js +2 -0
  179. package/dist/components/action/toggle/toggle.styles.d.ts +2 -0
  180. package/dist/components/action/toggle/toggle.styles.js +12 -8
  181. package/dist/components/alert/alert/alert.d.ts +2 -0
  182. package/dist/components/alert/alert/alert.js +2 -0
  183. package/dist/components/alert/alert/alert.styles.js +23 -13
  184. package/dist/components/alert/drawer/drawer.d.ts +3 -1
  185. package/dist/components/alert/drawer/drawer.js +5 -3
  186. package/dist/components/alert/drawer/drawer.styles.js +25 -9
  187. package/dist/components/alert/modal/modal.d.ts +11 -9
  188. package/dist/components/alert/modal/modal.js +15 -13
  189. package/dist/components/alert/modal/modal.styles.js +16 -7
  190. package/dist/components/alert/toast/toast.d.ts +2 -0
  191. package/dist/components/alert/toast/toast.js +2 -0
  192. package/dist/components/alert/toast/toast.styles.js +37 -15
  193. package/dist/components/content/badge/badge.d.ts +6 -6
  194. package/dist/components/content/badge/badge.js +4 -4
  195. package/dist/components/content/badge/badge.styles.js +4 -4
  196. package/dist/components/content/card/card.d.ts +39 -7
  197. package/dist/components/content/card/card.js +71 -7
  198. package/dist/components/content/card/card.styles.js +58 -11
  199. package/dist/components/content/card/image-card.d.ts +62 -7
  200. package/dist/components/content/card/image-card.js +121 -11
  201. package/dist/components/content/card/image-card.styles.js +66 -15
  202. package/dist/components/content/card/sliding-card.d.ts +4 -1
  203. package/dist/components/content/card/sliding-card.js +3 -0
  204. package/dist/components/content/card/sliding-card.styles.js +5 -1
  205. package/dist/components/content/collapse/collapse.d.ts +39 -12
  206. package/dist/components/content/collapse/collapse.js +65 -25
  207. package/dist/components/content/collapse/collapse.styles.d.ts +10 -1
  208. package/dist/components/content/collapse/collapse.styles.js +69 -18
  209. package/dist/components/content/description-list/description-list.d.ts +87 -0
  210. package/dist/components/content/description-list/description-list.js +107 -0
  211. package/dist/components/content/description-list/description-list.styles.d.ts +1 -0
  212. package/dist/components/content/description-list/description-list.styles.js +185 -0
  213. package/dist/components/content/icon/icon.d.ts +14 -2
  214. package/dist/components/content/icon/icon.js +54 -22
  215. package/dist/components/content/icon/icon.style.d.ts +2 -0
  216. package/dist/components/content/icon/icon.style.js +8 -2
  217. package/dist/components/content/image-carousel/image-carousel.d.ts +30 -19
  218. package/dist/components/content/image-carousel/image-carousel.js +48 -45
  219. package/dist/components/content/image-carousel/image-carousel.styles.js +69 -30
  220. package/dist/components/content/password-strength/password-strength.styles.js +5 -1
  221. package/dist/components/content/progress-bar/progress-bar.styles.js +12 -4
  222. package/dist/components/content/shared-styles/card-link.styles.js +5 -3
  223. package/dist/components/content/shared-styles/tone-surface.styles.d.ts +5 -0
  224. package/dist/components/content/shared-styles/tone-surface.styles.js +19 -14
  225. package/dist/components/content/tag/tag.d.ts +4 -0
  226. package/dist/components/content/tag/tag.js +4 -0
  227. package/dist/components/content/tag/tag.styles.js +14 -4
  228. package/dist/components/content/tooltip/tooltip.d.ts +3 -2
  229. package/dist/components/content/tooltip/tooltip.js +9 -16
  230. package/dist/components/content/tooltip/tooltip.styles.js +25 -7
  231. package/dist/components/form/checkbox/check-card.d.ts +4 -1
  232. package/dist/components/form/checkbox/check-card.js +4 -1
  233. package/dist/components/form/checkbox/check-card.styles.js +13 -4
  234. package/dist/components/form/checkbox/checkbox-list.d.ts +4 -1
  235. package/dist/components/form/checkbox/checkbox-list.js +11 -7
  236. package/dist/components/form/checkbox/checkbox.d.ts +4 -1
  237. package/dist/components/form/checkbox/checkbox.js +4 -1
  238. package/dist/components/form/checkbox/checkbox.styles.js +2 -2
  239. package/dist/components/form/color-picker/color-picker.d.ts +10 -4
  240. package/dist/components/form/color-picker/color-picker.js +23 -25
  241. package/dist/components/form/color-picker/color-picker.styles.js +6 -5
  242. package/dist/components/form/counter/counter.d.ts +7 -4
  243. package/dist/components/form/counter/counter.js +8 -5
  244. package/dist/components/form/counter/counter.styles.js +10 -9
  245. package/dist/components/form/date-picker/date-picker.d.ts +40 -36
  246. package/dist/components/form/date-picker/date-picker.js +35 -45
  247. package/dist/components/form/date-picker/date-picker.styles.js +13 -10
  248. package/dist/components/form/input/input.d.ts +10 -4
  249. package/dist/components/form/input/input.js +12 -6
  250. package/dist/components/form/input-file/input-file.d.ts +4 -1
  251. package/dist/components/form/input-file/input-file.js +8 -5
  252. package/dist/components/form/input-file/input-file.styles.js +3 -2
  253. package/dist/components/form/input-phone/input-phone.d.ts +11 -5
  254. package/dist/components/form/input-phone/input-phone.js +16 -20
  255. package/dist/components/form/input-phone/input-phone.styles.js +16 -16
  256. package/dist/components/form/label/label.styles.js +3 -3
  257. package/dist/components/form/radio/radio-card.d.ts +5 -2
  258. package/dist/components/form/radio/radio-card.js +5 -2
  259. package/dist/components/form/radio/radio-card.styles.js +14 -5
  260. package/dist/components/form/radio/radio-list.d.ts +5 -2
  261. package/dist/components/form/radio/radio-list.js +14 -10
  262. package/dist/components/form/radio/radio.d.ts +5 -2
  263. package/dist/components/form/radio/radio.js +5 -2
  264. package/dist/components/form/radio/radio.styles.js +4 -4
  265. package/dist/components/form/search/search.d.ts +2 -1
  266. package/dist/components/form/search/search.js +6 -15
  267. package/dist/components/form/search/search.styles.js +8 -7
  268. package/dist/components/form/select/select.d.ts +12 -5
  269. package/dist/components/form/select/select.js +18 -21
  270. package/dist/components/form/select/select.styles.js +3 -2
  271. package/dist/components/form/shared-styles/card.styles.js +5 -4
  272. package/dist/components/form/shared-styles/field.styles.js +21 -11
  273. package/dist/components/form/shared-styles/form-labels.styles.js +1 -1
  274. package/dist/components/form/slider/slider.d.ts +4 -1
  275. package/dist/components/form/slider/slider.js +5 -2
  276. package/dist/components/form/slider/slider.styles.js +8 -7
  277. package/dist/components/form/switch/switch.d.ts +4 -1
  278. package/dist/components/form/switch/switch.js +4 -1
  279. package/dist/components/form/switch/switch.styles.js +7 -5
  280. package/dist/components/form/textarea/textarea.d.ts +10 -4
  281. package/dist/components/form/textarea/textarea.js +18 -12
  282. package/dist/components/form/time-picker/time-picker-columns.styles.js +4 -2
  283. package/dist/components/form/time-picker/time-picker-list.styles.js +2 -1
  284. package/dist/components/form/time-picker/time-picker.d.ts +9 -5
  285. package/dist/components/form/time-picker/time-picker.js +25 -29
  286. package/dist/components/form/time-picker/time-picker.styles.js +9 -8
  287. package/dist/components/layout/animate/animate.d.ts +41 -11
  288. package/dist/components/layout/animate/animate.js +48 -16
  289. package/dist/components/layout/animate/animate.styles.js +9 -16
  290. package/dist/components/layout/infinite-list/infinite-list.d.ts +33 -10
  291. package/dist/components/layout/infinite-list/infinite-list.js +115 -18
  292. package/dist/components/layout/infinite-list/infinite-list.styles.d.ts +3 -0
  293. package/dist/components/layout/infinite-list/infinite-list.styles.js +17 -5
  294. package/dist/components/loader/loader/loader.styles.js +3 -1
  295. package/dist/components/navigation/breadcrumb/breadcrumb.d.ts +31 -45
  296. package/dist/components/navigation/breadcrumb/breadcrumb.js +111 -77
  297. package/dist/components/navigation/breadcrumb/breadcrumb.styles.d.ts +3 -0
  298. package/dist/components/navigation/breadcrumb/breadcrumb.styles.js +22 -26
  299. package/dist/components/navigation/carousel/carousel.d.ts +30 -10
  300. package/dist/components/navigation/carousel/carousel.js +37 -18
  301. package/dist/components/navigation/carousel/carousel.styles.js +60 -20
  302. package/dist/components/navigation/pagination/pagination.styles.js +8 -3
  303. package/dist/components/navigation/sidebar/sidebar.d.ts +2 -0
  304. package/dist/components/navigation/sidebar/sidebar.js +2 -0
  305. package/dist/components/navigation/sidebar/sidebar.styles.js +27 -11
  306. package/dist/components/navigation/stepper/step.styles.js +16 -5
  307. package/dist/components/navigation/stepper/stepper.styles.js +16 -5
  308. package/dist/components/navigation/tabs/tab/tab.d.ts +11 -0
  309. package/dist/components/navigation/tabs/tab/tab.js +11 -0
  310. package/dist/components/navigation/tabs/tab/tab.styles.js +22 -16
  311. package/dist/components/navigation/tabs/tab-group/tab-group.js +7 -8
  312. package/dist/components/navigation/tabs/tab-group/tab-group.styles.js +19 -14
  313. package/dist/components/navigation/tabs/tab-panel/tab-panel.d.ts +4 -0
  314. package/dist/components/navigation/tabs/tab-panel/tab-panel.js +4 -0
  315. package/dist/components/navigation/tabs/tab-panel/tab-panel.styles.js +18 -1
  316. package/dist/components/navigation/toolbar/toolbar.d.ts +17 -49
  317. package/dist/components/navigation/toolbar/toolbar.js +23 -71
  318. package/dist/components/navigation/toolbar/toolbar.styles.js +59 -36
  319. package/dist/events/table-row-click.event.d.ts +5 -4
  320. package/dist/events/table-row-click.event.js +10 -5
  321. package/dist/features/scheduler/calendar/calendar.d.ts +12 -12
  322. package/dist/features/scheduler/calendar/calendar.js +15 -14
  323. package/dist/features/scheduler/calendar/calendar.styles.js +8 -6
  324. package/dist/features/scheduler/scheduler/scheduler.d.ts +7 -7
  325. package/dist/features/scheduler/scheduler/scheduler.js +21 -35
  326. package/dist/features/scheduler/scheduler/scheduler.styles.js +6 -4
  327. package/dist/features/scheduler/scheduler-event/scheduler-event.d.ts +12 -8
  328. package/dist/features/scheduler/scheduler-event/scheduler-event.js +9 -7
  329. package/dist/features/scheduler/scheduler-event/scheduler-event.styles.js +16 -10
  330. package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.js +5 -5
  331. package/dist/features/scheduler/shared/scheduler-event-popover.js +2 -2
  332. package/dist/features/scheduler/shared/scheduler-hour-grid.d.ts +2 -2
  333. package/dist/features/scheduler/shared/scheduler-hour-grid.js +3 -3
  334. package/dist/features/scheduler/shared/scheduler-hour-grid.styles.js +3 -3
  335. package/dist/features/scheduler/shared/scheduler-month-view.d.ts +3 -3
  336. package/dist/features/scheduler/shared/scheduler-month-view.js +2 -2
  337. package/dist/features/scheduler/shared/scheduler-month-view.styles.js +2 -2
  338. package/dist/features/scheduler/shared/scheduler-year-view.styles.js +2 -2
  339. package/dist/features/table/table/table-native.styles.d.ts +28 -0
  340. package/dist/features/table/table/table-native.styles.js +502 -0
  341. package/dist/features/table/table/table.d.ts +342 -294
  342. package/dist/features/table/table/table.js +820 -546
  343. package/dist/features/table/table/table.styles.js +31 -17
  344. package/dist/features/table/table/table.types.d.ts +18 -23
  345. package/dist/features/table/table/table.utils.d.ts +6 -36
  346. package/dist/features/table/table/table.utils.js +16 -65
  347. package/dist/features/table/table-action-bar/table-action-bar.d.ts +33 -16
  348. package/dist/features/table/table-action-bar/table-action-bar.js +18 -25
  349. package/dist/features/table/table-action-bar/table-action-bar.styles.js +15 -3
  350. package/dist/i18n/en.d.ts +34 -0
  351. package/dist/i18n/en.js +34 -0
  352. package/dist/i18n/fr.js +38 -0
  353. package/dist/index.d.ts +7 -13
  354. package/dist/index.js +6 -10
  355. package/dist/jsx.d.ts +1 -1
  356. package/dist/mixins/button.mixin.d.ts +10 -9
  357. package/dist/mixins/button.mixin.js +14 -6
  358. package/dist/mixins/card-link.mixin.d.ts +3 -2
  359. package/dist/mixins/card-link.mixin.js +12 -5
  360. package/dist/mixins/check.mixin.js +4 -5
  361. package/dist/mixins/disabled.mixin.d.ts +3 -3
  362. package/dist/mixins/disabled.mixin.js +10 -5
  363. package/dist/mixins/field-appearance.mixin.d.ts +19 -0
  364. package/dist/mixins/{field-variant.mixin.js → field-appearance.mixin.js} +11 -11
  365. package/dist/mixins/form.mixin.d.ts +17 -1
  366. package/dist/mixins/form.mixin.js +80 -25
  367. package/dist/mixins/radio.mixin.js +4 -5
  368. package/dist/mixins/validators.mixin.d.ts +7 -1
  369. package/dist/mixins/validators.mixin.js +36 -17
  370. package/dist/ssr/animate-ssr.css +27 -72
  371. package/dist/ssr/button-ssr.css +319 -0
  372. package/dist/ssr/card-ssr.css +184 -0
  373. package/dist/ssr/description-list-ssr.css +150 -0
  374. package/dist/ssr/links-ssr.css +35 -0
  375. package/dist/ssr/overlay-ssr.css +0 -41
  376. package/dist/ssr/rich-text.css +38 -0
  377. package/dist/ssr/sidebar-ssr.css +0 -38
  378. package/dist/ssr/table-ssr.css +472 -0
  379. package/dist/ssr/tag-ssr.css +197 -0
  380. package/dist/ssr/toolbar-ssr.css +77 -39
  381. package/dist/types/variant.type.d.ts +26 -10
  382. package/dist/utils/drag-drop.utils.js +18 -2
  383. package/dist/utils/dropdown-menu.utils.d.ts +2 -2
  384. package/dist/utils/dropdown-menu.utils.js +4 -14
  385. package/dist/utils/light-dom-styles.utils.d.ts +14 -0
  386. package/dist/utils/light-dom-styles.utils.js +37 -0
  387. package/dist/utils/media.styles.d.ts +19 -0
  388. package/dist/utils/media.styles.js +23 -0
  389. package/dist/utils/motion.utils.d.ts +40 -0
  390. package/dist/utils/motion.utils.js +51 -0
  391. package/dist/utils/navigation.utils.d.ts +14 -0
  392. package/dist/utils/navigation.utils.js +33 -0
  393. package/dist/utils/new-tab-anchor.controller.d.ts +44 -0
  394. package/dist/utils/new-tab-anchor.controller.js +102 -0
  395. package/dist/utils/severity-icon.utils.d.ts +1 -1
  396. package/dist/utils/severity-icon.utils.js +1 -1
  397. package/dist/utils/theme-generator.utils.d.ts +9 -2
  398. package/dist/utils/theme-generator.utils.js +62 -21
  399. package/package.json +24 -29
  400. package/styles/breakpoints.scss +8 -0
  401. package/styles/eunomia-grid.scss +6 -0
  402. package/styles/themes/eunomia-theme.scss +4 -3
  403. package/styles/themes/mixins/eunomia-a11y-color.mixin.scss +34 -1
  404. package/styles/themes/mixins/eunomia-neutrals.mixin.scss +4 -0
  405. package/styles/themes/mixins/eunomia-states.mixin.scss +36 -12
  406. package/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +10 -10
  407. package/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +10 -10
  408. package/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +3 -2
  409. package/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +10 -10
  410. package/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +10 -10
  411. package/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +3 -2
  412. package/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +10 -10
  413. package/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +10 -10
  414. package/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +3 -2
  415. package/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +10 -10
  416. package/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +10 -10
  417. package/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +3 -2
  418. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +10 -10
  419. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +10 -10
  420. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +3 -2
  421. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +10 -10
  422. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +10 -10
  423. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +3 -2
  424. package/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +10 -10
  425. package/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +10 -10
  426. package/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +3 -2
  427. package/styles/tools/indexes/eunomia-media-queries.index.scss +1 -3
  428. package/styles/tools/indexes/eunomia-tools.index.scss +1 -0
  429. package/styles/tools/mixins/layout/eunomia-grid.mixin.scss +117 -53
  430. package/styles/tools/mixins/media-queries/eunomia-media-queries.mixin.scss +69 -0
  431. package/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +28 -4
  432. package/styles/tools/mixins/settings/eunomia-motion.mixin.scss +9 -0
  433. package/styles/tools/variables/eunomia.breakpoints.scss +4 -0
  434. package/dist/cdn/components/chunks/chunk-2JLDJFYD.js +0 -48
  435. package/dist/cdn/components/chunks/chunk-A6KGFALA.js +0 -132
  436. package/dist/cdn/components/chunks/chunk-ATH2OAMU.js +0 -1
  437. package/dist/cdn/components/chunks/chunk-BKHD4S57.js +0 -1
  438. package/dist/cdn/components/chunks/chunk-CEDHJUUH.js +0 -1
  439. package/dist/cdn/components/chunks/chunk-D2M4BV5Y.js +0 -328
  440. package/dist/cdn/components/chunks/chunk-E74CM7UG.js +0 -66
  441. package/dist/cdn/components/chunks/chunk-EST3M4AO.js +0 -1
  442. package/dist/cdn/components/chunks/chunk-GU6BVMFJ.js +0 -1
  443. package/dist/cdn/components/chunks/chunk-KVYUNKUO.js +0 -27
  444. package/dist/cdn/components/chunks/chunk-OAULRKHQ.js +0 -38
  445. package/dist/cdn/components/chunks/chunk-PCM7D3YF.js +0 -84
  446. package/dist/cdn/components/chunks/chunk-T4PTHUYF.js +0 -10
  447. package/dist/cdn/components/chunks/chunk-T7WABJEJ.js +0 -1
  448. package/dist/cdn/components/chunks/chunk-VRGRCYIO.js +0 -1
  449. package/dist/cdn/components/chunks/chunk-X2AUBZD2.js +0 -30
  450. package/dist/cdn/components/chunks/chunk-XSMCT4DF.js +0 -1
  451. package/dist/cdn/components/eun-breadcrumb-item.js +0 -93
  452. package/dist/cdn/components/eun-table-cell.js +0 -1
  453. package/dist/cdn/components/eun-table-column.js +0 -1
  454. package/dist/cdn/components/eun-table-header.js +0 -1
  455. package/dist/cdn/components/eun-table-item.js +0 -1
  456. package/dist/cdn/components/eun-table-skeleton-row.js +0 -1
  457. package/dist/cdn/styles/tools/mixins/media-queries/eunomia-device.mixin.scss +0 -14
  458. package/dist/cdn/styles/tools/mixins/media-queries/eunomia-gte.mixin.scss +0 -26
  459. package/dist/cdn/styles/tools/mixins/media-queries/eunomia-lte.mixin.scss +0 -26
  460. package/dist/components/navigation/breadcrumb/breadcrumb-item.d.ts +0 -77
  461. package/dist/components/navigation/breadcrumb/breadcrumb-item.js +0 -130
  462. package/dist/components/navigation/breadcrumb/breadcrumb-item.styles.d.ts +0 -6
  463. package/dist/components/navigation/breadcrumb/breadcrumb-item.styles.js +0 -78
  464. package/dist/features/table/native-table.css +0 -276
  465. package/dist/features/table/shared-styles/table-row.styles.d.ts +0 -7
  466. package/dist/features/table/shared-styles/table-row.styles.js +0 -47
  467. package/dist/features/table/shared-styles/table-shared.styles.d.ts +0 -23
  468. package/dist/features/table/shared-styles/table-shared.styles.js +0 -33
  469. package/dist/features/table/table-cell/table-cell.d.ts +0 -59
  470. package/dist/features/table/table-cell/table-cell.js +0 -73
  471. package/dist/features/table/table-cell/table-cell.styles.d.ts +0 -1
  472. package/dist/features/table/table-cell/table-cell.styles.js +0 -46
  473. package/dist/features/table/table-column/table-column.d.ts +0 -73
  474. package/dist/features/table/table-column/table-column.js +0 -89
  475. package/dist/features/table/table-column/table-column.styles.d.ts +0 -1
  476. package/dist/features/table/table-column/table-column.styles.js +0 -51
  477. package/dist/features/table/table-header/table-header.d.ts +0 -102
  478. package/dist/features/table/table-header/table-header.js +0 -165
  479. package/dist/features/table/table-header/table-header.styles.d.ts +0 -1
  480. package/dist/features/table/table-header/table-header.styles.js +0 -147
  481. package/dist/features/table/table-item/table-item.d.ts +0 -179
  482. package/dist/features/table/table-item/table-item.js +0 -291
  483. package/dist/features/table/table-item/table-item.styles.d.ts +0 -1
  484. package/dist/features/table/table-item/table-item.styles.js +0 -404
  485. package/dist/features/table/table-managed/table-managed.d.ts +0 -19
  486. package/dist/features/table/table-managed/table-managed.js +0 -128
  487. package/dist/features/table/table-skeleton-row/table-skeleton-row.d.ts +0 -46
  488. package/dist/features/table/table-skeleton-row/table-skeleton-row.js +0 -110
  489. package/dist/features/table/table-skeleton-row/table-skeleton-row.styles.d.ts +0 -12
  490. package/dist/features/table/table-skeleton-row/table-skeleton-row.styles.js +0 -65
  491. package/dist/mixins/field-variant.mixin.d.ts +0 -22
  492. package/dist/mixins/table-row.mixin.d.ts +0 -37
  493. package/dist/mixins/table-row.mixin.js +0 -103
  494. package/styles/tools/mixins/media-queries/eunomia-device.mixin.scss +0 -14
  495. package/styles/tools/mixins/media-queries/eunomia-gte.mixin.scss +0 -26
  496. package/styles/tools/mixins/media-queries/eunomia-lte.mixin.scss +0 -26
@@ -1,34 +1,27 @@
1
- import { LitElement, TemplateResult } from "lit";
2
- import { EunomiaIconName } from "../../content/icon/icon.type.js";
1
+ import { LitElement, PropertyValues, TemplateResult } from "lit";
3
2
  /**
4
3
  * Tag name of the breadcrumb component.
5
4
  */
6
5
  export declare const EunomiaBreadcrumbTagName = "eun-breadcrumb";
7
- /**
8
- * A single step in a `eun-breadcrumb` trail.
9
- */
10
- export type EunomiaBreadcrumbItemData = {
11
- label: string;
12
- href?: string;
13
- icon?: EunomiaIconName;
14
- };
15
6
  /**
16
7
  * A trail of links showing the current page's position within a site's
17
- * hierarchy. The last item always renders as the current, unlinked page
18
- * regardless of whether it has an href. Intermediate items without an
19
- * href render as plain, unlinked text, such as a category that groups
20
- * pages but isn't itself a page.
8
+ * hierarchy. Each direct child is one step, in order, from the root to the
9
+ * current page: a native anchor, or any other element, such as a span,
10
+ * for a step that isn't itself a page. The links stay in the light
11
+ * DOM, so a framework's own link component, such as Next's Link, keeps its
12
+ * client-side navigation and prefetching.
21
13
  *
22
- * There are two ways to declare items, usable together: the data-driven
23
- * items array for the common case, including an optional leading icon per
24
- * step, or slotted breadcrumb item elements when a step needs more than
25
- * plain text and an icon, such as rich content.
14
+ * The breadcrumb wraps each step in its own list item with a separator.
15
+ * The last step is the current page : unless a step already sets
16
+ * aria-current, the breadcrumb marks the last one itself.
26
17
  *
27
- * @slot [default] - Breadcrumb item elements, used instead of or alongside items
28
- * @prop {Array<EunomiaBreadcrumbItemData>} [items=[]] - The trail's steps, in order, from the root to the current page. Each entry may set a label, an href, and an optional leading icon
18
+ * @slot [default] - The steps, one per direct child : an anchor, or a plain element for an unlinked step
29
19
  * @attr {string} [aria-label='Breadcrumb'] - The accessible label for the navigation landmark
20
+ * @cssprop [--breadcrumb-font-size] - Sets the font size of the whole trail, 14px by default
30
21
  * @cssprop [--breadcrumb-link-color] - Sets the color of linked steps
31
22
  * @cssprop [--breadcrumb-link-color-hover] - Sets the color of linked steps on hover or focus
23
+ * @cssprop [--breadcrumb-link-text-decoration] - Sets the text decoration of linked steps, underline by default, such as none
24
+ * @cssprop [--breadcrumb-link-text-decoration-hover] - Sets the text decoration of linked steps on hover or focus, underline by default
32
25
  * @cssprop [--breadcrumb-current-color] - Sets the color of the current page and unlinked steps
33
26
  * @cssprop [--breadcrumb-focus-outline-color] - Sets the color of a linked step's focus outline
34
27
  * @cssprop [--breadcrumb-separator] - Sets the separator between steps, as a quoted CSS string, such as '>'
@@ -37,10 +30,10 @@ export type EunomiaBreadcrumbItemData = {
37
30
  * @cssprop [--breadcrumb-item-max-width] - Sets the maximum width of each step, beyond which its label truncates with an ellipsis
38
31
  * @cssprop [--breadcrumb-gap] - Sets the row gap, used when the trail wraps onto multiple lines
39
32
  * @cssprop [--breadcrumb-transition-duration] - Sets the duration of the link hover color transition
40
- * @fires {NavigationEvent} eunnavigate - Fired before following a step's link, so a client-side router can intercept the navigation. Cancelable
41
33
  * @element eun-breadcrumb
42
34
  */
43
35
  export declare class EunomiaBreadcrumb extends LitElement {
36
+ #private;
44
37
  /**
45
38
  * Styles to import to the component.
46
39
  *
@@ -50,35 +43,28 @@ export declare class EunomiaBreadcrumb extends LitElement {
50
43
  */
51
44
  static readonly styles: import("lit").CSSResult[];
52
45
  /**
53
- * The trail's steps, in order, from the root to the current page. Also
54
- * reflected as a JSON-serialized `items` attribute (Lit's default
55
- * `Array` converter), matching `eun-toggle-group`/`eun-segmented-filter`
56
- * — needed for the API tab's playground, which round-trips components
57
- * through an HTML string and would otherwise drop a JS-only property.
58
- * @default []
46
+ * Manual slot assignment : each step is assigned to the slot of its own
47
+ * list item without the breadcrumb writing a `slot` attribute on the
48
+ * consumer's elements, which a framework would then reset or report as
49
+ * a hydration mismatch.
50
+ * @internal
59
51
  */
60
- items: EunomiaBreadcrumbItemData[];
52
+ static readonly shadowRootOptions: ShadowRootInit;
61
53
  /**
62
- * Re-renders when the slotted `eun-breadcrumb-item`s change, since that
63
- * affects both whether the data-driven trail's own last item still
64
- * counts as the overall trail's last (current) step, and whether the
65
- * items-slot wrapper should stay hidden.
66
- * @private
54
+ * The steps, the host's element children in order.
55
+ * @internal
67
56
  */
68
- private readonly handleItemsSlotChange;
69
- render(): TemplateResult;
57
+ private steps;
70
58
  /**
71
- * Renders a single data-driven step, including its trailing separator —
72
- * skipped only when this is genuinely the trail's last visible step, so
73
- * it doesn't dangle after a step that's actually followed by slotted
74
- * items (see {@link render}).
75
- *
76
- * @param item the step to render.
77
- * @param isLastVisible whether this is the trail's actual last step.
78
- * @returns the rendered template.
79
- * @private
59
+ * One slot per step, in order.
60
+ * @internal
61
+ * @readonly
80
62
  */
81
- private renderItem;
63
+ private readonly stepSlots;
64
+ connectedCallback(): void;
65
+ disconnectedCallback(): void;
66
+ protected updated(changed: PropertyValues): void;
67
+ render(): TemplateResult;
82
68
  }
83
69
  declare global {
84
70
  interface HTMLElementTagNameMap {
@@ -4,32 +4,44 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { customElement, property } from "lit/decorators.js";
8
- import { html, LitElement, nothing } from "lit";
9
- import { classMap } from "lit/directives/class-map.js";
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
13
+ if (kind === "m") throw new TypeError("Private method is not writable");
14
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
15
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
16
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
17
+ };
18
+ var _EunomiaBreadcrumb_instances, _EunomiaBreadcrumb_autoCurrent, _EunomiaBreadcrumb_childObserver, _EunomiaBreadcrumb_syncSteps, _EunomiaBreadcrumb_markCurrent, _EunomiaBreadcrumb_setCurrent;
19
+ import { customElement, queryAll, state } from "lit/decorators.js";
20
+ import { html, LitElement } from "lit";
10
21
  import { breadcrumbStyles } from "./breadcrumb.styles.js";
11
- import { handleLinkNavigation } from "../../../utils/navigation.utils.js";
12
22
  /**
13
23
  * Tag name of the breadcrumb component.
14
24
  */
15
25
  export const EunomiaBreadcrumbTagName = "eun-breadcrumb";
16
26
  /**
17
27
  * A trail of links showing the current page's position within a site's
18
- * hierarchy. The last item always renders as the current, unlinked page
19
- * regardless of whether it has an href. Intermediate items without an
20
- * href render as plain, unlinked text, such as a category that groups
21
- * pages but isn't itself a page.
28
+ * hierarchy. Each direct child is one step, in order, from the root to the
29
+ * current page: a native anchor, or any other element, such as a span,
30
+ * for a step that isn't itself a page. The links stay in the light
31
+ * DOM, so a framework's own link component, such as Next's Link, keeps its
32
+ * client-side navigation and prefetching.
22
33
  *
23
- * There are two ways to declare items, usable together: the data-driven
24
- * items array for the common case, including an optional leading icon per
25
- * step, or slotted breadcrumb item elements when a step needs more than
26
- * plain text and an icon, such as rich content.
34
+ * The breadcrumb wraps each step in its own list item with a separator.
35
+ * The last step is the current page : unless a step already sets
36
+ * aria-current, the breadcrumb marks the last one itself.
27
37
  *
28
- * @slot [default] - Breadcrumb item elements, used instead of or alongside items
29
- * @prop {Array<EunomiaBreadcrumbItemData>} [items=[]] - The trail's steps, in order, from the root to the current page. Each entry may set a label, an href, and an optional leading icon
38
+ * @slot [default] - The steps, one per direct child : an anchor, or a plain element for an unlinked step
30
39
  * @attr {string} [aria-label='Breadcrumb'] - The accessible label for the navigation landmark
40
+ * @cssprop [--breadcrumb-font-size] - Sets the font size of the whole trail, 14px by default
31
41
  * @cssprop [--breadcrumb-link-color] - Sets the color of linked steps
32
42
  * @cssprop [--breadcrumb-link-color-hover] - Sets the color of linked steps on hover or focus
43
+ * @cssprop [--breadcrumb-link-text-decoration] - Sets the text decoration of linked steps, underline by default, such as none
44
+ * @cssprop [--breadcrumb-link-text-decoration-hover] - Sets the text decoration of linked steps on hover or focus, underline by default
33
45
  * @cssprop [--breadcrumb-current-color] - Sets the color of the current page and unlinked steps
34
46
  * @cssprop [--breadcrumb-focus-outline-color] - Sets the color of a linked step's focus outline
35
47
  * @cssprop [--breadcrumb-separator] - Sets the separator between steps, as a quoted CSS string, such as '>'
@@ -38,87 +50,95 @@ export const EunomiaBreadcrumbTagName = "eun-breadcrumb";
38
50
  * @cssprop [--breadcrumb-item-max-width] - Sets the maximum width of each step, beyond which its label truncates with an ellipsis
39
51
  * @cssprop [--breadcrumb-gap] - Sets the row gap, used when the trail wraps onto multiple lines
40
52
  * @cssprop [--breadcrumb-transition-duration] - Sets the duration of the link hover color transition
41
- * @fires {NavigationEvent} eunnavigate - Fired before following a step's link, so a client-side router can intercept the navigation. Cancelable
42
53
  * @element eun-breadcrumb
43
54
  */
44
55
  let EunomiaBreadcrumb = class EunomiaBreadcrumb extends LitElement {
45
56
  constructor() {
46
57
  super(...arguments);
58
+ _EunomiaBreadcrumb_instances.add(this);
47
59
  /**
48
- * The trail's steps, in order, from the root to the current page. Also
49
- * reflected as a JSON-serialized `items` attribute (Lit's default
50
- * `Array` converter), matching `eun-toggle-group`/`eun-segmented-filter`
51
- * — needed for the API tab's playground, which round-trips components
52
- * through an HTML string and would otherwise drop a JS-only property.
53
- * @default []
60
+ * The steps, the host's element children in order.
61
+ * @internal
54
62
  */
55
- this.items = [];
63
+ this.steps = [];
56
64
  /**
57
- * Re-renders when the slotted `eun-breadcrumb-item`s change, since that
58
- * affects both whether the data-driven trail's own last item still
59
- * counts as the overall trail's last (current) step, and whether the
60
- * items-slot wrapper should stay hidden.
61
- * @private
65
+ * The step this breadcrumb marked as the current page itself, so the
66
+ * mark can be removed once it stops being the last step.
67
+ * @internal
62
68
  */
63
- this.handleItemsSlotChange = () => {
64
- this.requestUpdate();
65
- };
69
+ _EunomiaBreadcrumb_autoCurrent.set(this, void 0);
70
+ /**
71
+ * Keeps {@link steps} in sync with the host's children. Created on
72
+ * connection rather than as a field, so the class stays constructible
73
+ * where `MutationObserver` doesn't exist, such as during SSR.
74
+ * @internal
75
+ */
76
+ _EunomiaBreadcrumb_childObserver.set(this, void 0);
77
+ }
78
+ connectedCallback() {
79
+ super.connectedCallback();
80
+ __classPrivateFieldGet(this, _EunomiaBreadcrumb_instances, "m", _EunomiaBreadcrumb_syncSteps).call(this);
81
+ __classPrivateFieldSet(this, _EunomiaBreadcrumb_childObserver, __classPrivateFieldGet(this, _EunomiaBreadcrumb_childObserver, "f") ?? new MutationObserver(() => __classPrivateFieldGet(this, _EunomiaBreadcrumb_instances, "m", _EunomiaBreadcrumb_syncSteps).call(this)), "f");
82
+ __classPrivateFieldGet(this, _EunomiaBreadcrumb_childObserver, "f").observe(this, { childList: true });
83
+ }
84
+ disconnectedCallback() {
85
+ __classPrivateFieldGet(this, _EunomiaBreadcrumb_childObserver, "f")?.disconnect();
86
+ super.disconnectedCallback();
87
+ }
88
+ updated(changed) {
89
+ super.updated(changed);
90
+ this.stepSlots.forEach((slot, index) => {
91
+ const step = this.steps[index];
92
+ if (step && slot.assignedElements()[0] !== step) {
93
+ slot.assign(step);
94
+ }
95
+ });
96
+ __classPrivateFieldGet(this, _EunomiaBreadcrumb_instances, "m", _EunomiaBreadcrumb_markCurrent).call(this);
66
97
  }
67
98
  render() {
68
- // Whichever step ends up last overall — a slotted `eun-breadcrumb-item`
69
- // if there's one, otherwise the last data-driven item — is the trail's
70
- // real current step. `this.children` (not a queried `<slot>`) is what
71
- // makes this available synchronously on the very first render.
72
- const hasSlottedItems = this.children.length > 0;
73
- const lastIndex = this.items.length - 1;
74
- // `role="list"` below is deliberate, not redundant : Safari drops the
75
- // implicit "list" role once `list-style: none` is applied (see #list
76
- // in the stylesheet), silently skipping this list for VoiceOver users
77
- // unless it's restored explicitly.
99
+ const lastIndex = this.steps.length - 1;
78
100
  /* eslint-disable lit-a11y/no-redundant-role */
79
101
  return html `
80
102
  <nav aria-label=${this.ariaLabel ?? "Breadcrumb"}>
81
103
  <ol id="list" role="list">
82
- ${this.items.map((item, index) => this.renderItem(item, !hasSlottedItems && index === lastIndex))}
83
- <li id="items-slot" class=${classMap({ hidden: !hasSlottedItems })}>
84
- <slot @slotchange=${this.handleItemsSlotChange}></slot>
85
- </li>
104
+ ${this.steps.map((_, index) => html `<li>
105
+ <slot></slot>${index < lastIndex
106
+ ? html `<span class="separator" aria-hidden="true"></span>`
107
+ : ""}
108
+ </li>`)}
86
109
  </ol>
87
110
  </nav>
88
111
  `;
89
112
  /* eslint-enable lit-a11y/no-redundant-role */
90
113
  }
91
- /**
92
- * Renders a single data-driven step, including its trailing separator —
93
- * skipped only when this is genuinely the trail's last visible step, so
94
- * it doesn't dangle after a step that's actually followed by slotted
95
- * items (see {@link render}).
96
- *
97
- * @param item the step to render.
98
- * @param isLastVisible whether this is the trail's actual last step.
99
- * @returns the rendered template.
100
- * @private
101
- */
102
- renderItem(item, isLastVisible) {
103
- const icon = item.icon
104
- ? html `<eun-icon name=${item.icon} size="14"></eun-icon>`
105
- : nothing;
106
- if (isLastVisible) {
107
- return html `<li>
108
- <span aria-current="page">${icon}${item.label}</span>
109
- </li>`;
110
- }
111
- const separator = html `<span class="separator" aria-hidden="true"></span>`;
112
- if (item.href) {
113
- return html `<li>
114
- <a
115
- href=${item.href}
116
- @click=${(event) => handleLinkNavigation(this, event, item.href)}
117
- >${icon}${item.label}</a
118
- >${separator}
119
- </li>`;
120
- }
121
- return html `<li><span>${icon}${item.label}</span>${separator}</li>`;
114
+ };
115
+ _EunomiaBreadcrumb_autoCurrent = new WeakMap();
116
+ _EunomiaBreadcrumb_childObserver = new WeakMap();
117
+ _EunomiaBreadcrumb_instances = new WeakSet();
118
+ _EunomiaBreadcrumb_syncSteps = function _EunomiaBreadcrumb_syncSteps() {
119
+ this.steps = Array.from(this.children);
120
+ };
121
+ _EunomiaBreadcrumb_markCurrent = function _EunomiaBreadcrumb_markCurrent() {
122
+ const last = this.steps[this.steps.length - 1];
123
+ if (__classPrivateFieldGet(this, _EunomiaBreadcrumb_autoCurrent, "f") && __classPrivateFieldGet(this, _EunomiaBreadcrumb_autoCurrent, "f") !== last) {
124
+ __classPrivateFieldGet(this, _EunomiaBreadcrumb_instances, "m", _EunomiaBreadcrumb_setCurrent).call(this, __classPrivateFieldGet(this, _EunomiaBreadcrumb_autoCurrent, "f"), false);
125
+ __classPrivateFieldSet(this, _EunomiaBreadcrumb_autoCurrent, undefined, "f");
126
+ }
127
+ if (!last || last === __classPrivateFieldGet(this, _EunomiaBreadcrumb_autoCurrent, "f")) {
128
+ return;
129
+ }
130
+ const hasCurrent = this.steps.some((step) => step.getAttribute("aria-current") === "page");
131
+ if (!hasCurrent) {
132
+ __classPrivateFieldGet(this, _EunomiaBreadcrumb_instances, "m", _EunomiaBreadcrumb_setCurrent).call(this, last, true);
133
+ __classPrivateFieldSet(this, _EunomiaBreadcrumb_autoCurrent, last, "f");
134
+ }
135
+ };
136
+ _EunomiaBreadcrumb_setCurrent = function _EunomiaBreadcrumb_setCurrent(step, current) {
137
+ if (current) {
138
+ step.setAttribute("aria-current", "page");
139
+ }
140
+ else {
141
+ step.removeAttribute("aria-current");
122
142
  }
123
143
  };
124
144
  /**
@@ -129,9 +149,23 @@ let EunomiaBreadcrumb = class EunomiaBreadcrumb extends LitElement {
129
149
  * @readonly
130
150
  */
131
151
  EunomiaBreadcrumb.styles = [breadcrumbStyles];
152
+ /**
153
+ * Manual slot assignment : each step is assigned to the slot of its own
154
+ * list item without the breadcrumb writing a `slot` attribute on the
155
+ * consumer's elements, which a framework would then reset or report as
156
+ * a hydration mismatch.
157
+ * @internal
158
+ */
159
+ EunomiaBreadcrumb.shadowRootOptions = {
160
+ ...LitElement.shadowRootOptions,
161
+ slotAssignment: "manual",
162
+ };
163
+ __decorate([
164
+ state()
165
+ ], EunomiaBreadcrumb.prototype, "steps", void 0);
132
166
  __decorate([
133
- property({ type: Array, reflect: true })
134
- ], EunomiaBreadcrumb.prototype, "items", void 0);
167
+ queryAll("#list slot")
168
+ ], EunomiaBreadcrumb.prototype, "stepSlots", void 0);
135
169
  EunomiaBreadcrumb = __decorate([
136
170
  customElement(EunomiaBreadcrumbTagName)
137
171
  ], EunomiaBreadcrumb);
@@ -2,8 +2,11 @@
2
2
  * Base style for the breadcrumb component.
3
3
  *
4
4
  * Custom css variables:
5
+ * [--breadcrumb-font-size] - Set a custom font size for the whole trail
5
6
  * [--breadcrumb-link-color] - Set a custom color for linked steps
6
7
  * [--breadcrumb-link-color-hover] - Set a custom color for linked steps on hover/focus
8
+ * [--breadcrumb-link-text-decoration] - Set a custom text decoration for linked steps, underline by default
9
+ * [--breadcrumb-link-text-decoration-hover] - Set a custom text decoration for linked steps on hover/focus, underline by default
7
10
  * [--breadcrumb-current-color] - Set a custom color for the current page and unlinked steps
8
11
  * [--breadcrumb-focus-outline-color] - Set a custom color for a linked step's focus outline
9
12
  * [--breadcrumb-separator] - Set a custom separator between steps ; a quoted CSS string, e.g. '>'
@@ -3,8 +3,11 @@ import { css } from "lit";
3
3
  * Base style for the breadcrumb component.
4
4
  *
5
5
  * Custom css variables:
6
+ * [--breadcrumb-font-size] - Set a custom font size for the whole trail
6
7
  * [--breadcrumb-link-color] - Set a custom color for linked steps
7
8
  * [--breadcrumb-link-color-hover] - Set a custom color for linked steps on hover/focus
9
+ * [--breadcrumb-link-text-decoration] - Set a custom text decoration for linked steps, underline by default
10
+ * [--breadcrumb-link-text-decoration-hover] - Set a custom text decoration for linked steps on hover/focus, underline by default
8
11
  * [--breadcrumb-current-color] - Set a custom color for the current page and unlinked steps
9
12
  * [--breadcrumb-focus-outline-color] - Set a custom color for a linked step's focus outline
10
13
  * [--breadcrumb-separator] - Set a custom separator between steps ; a quoted CSS string, e.g. '>'
@@ -18,7 +21,7 @@ export const breadcrumbStyles = css `
18
21
  :host {
19
22
  display: block;
20
23
  font-family: var(--eun-font-family, "Mulish", sans-serif);
21
- font-size: var(--eun-font-size-s, 14px);
24
+ font-size: var(--breadcrumb-font-size, var(--eun-font-size-s, 14px));
22
25
  }
23
26
  #list {
24
27
  display: flex;
@@ -32,54 +35,47 @@ export const breadcrumbStyles = css `
32
35
  #list li {
33
36
  display: inline-flex;
34
37
  align-items: center;
35
- max-width: var(--breadcrumb-item-max-width, 240px);
36
- }
37
- #items-slot {
38
- display: contents;
39
- }
40
- #items-slot.hidden {
41
- display: none;
38
+ min-width: 0;
42
39
  }
43
- #list li > a,
44
- #list li > span {
40
+ ::slotted(*) {
41
+ max-width: var(--breadcrumb-item-max-width, 240px);
45
42
  overflow: hidden;
46
43
  text-overflow: ellipsis;
47
44
  white-space: nowrap;
45
+ color: var(--breadcrumb-current-color, var(--eun-text-secondary, #484e61));
46
+ font-weight: var(--eun-font-weight-m, 500);
48
47
  }
49
- #list li eun-icon {
50
- display: inline-flex;
51
- vertical-align: middle;
52
- margin-inline-end: var(--eun-space-xxs, 1.6px);
53
- margin-block-end: 3px;
54
- }
55
- #list li > a {
48
+ ::slotted(a[href]) {
56
49
  color: var(--breadcrumb-link-color, var(--eun-color-primary-500, #3d6fff));
57
- text-decoration: none;
50
+ font-weight: inherit;
51
+ text-decoration: var(--breadcrumb-link-text-decoration, underline);
58
52
  border-radius: var(--eun-border-radius-s, 5px);
59
53
  outline: 2px solid transparent;
60
54
  transition:
61
- color var(--breadcrumb-transition-duration, 0.2s) ease-out,
62
- outline 0.2s ease-out;
55
+ color var(--breadcrumb-transition-duration, var(--eun-duration-m, 200ms))
56
+ var(--eun-easing-out, ease-out),
57
+ outline var(--eun-duration-m, 200ms) var(--eun-easing-out, ease-out);
63
58
  }
64
- #list li > a:hover,
65
- #list li > a:focus-visible {
59
+ ::slotted(a[href]:hover),
60
+ ::slotted(a[href]:focus-visible) {
66
61
  color: var(
67
62
  --breadcrumb-link-color-hover,
68
63
  var(--eun-color-primary-700, #3662e0)
69
64
  );
70
- text-decoration: underline;
65
+ text-decoration: var(--breadcrumb-link-text-decoration-hover, underline);
71
66
  }
72
- #list li > a:focus-visible {
73
- text-decoration: none;
67
+ ::slotted(a[href]:focus-visible) {
74
68
  outline-color: var(
75
69
  --breadcrumb-focus-outline-color,
76
70
  var(--eun-color-primary-500, #3d6fff)
77
71
  );
78
72
  outline-offset: 2px;
79
73
  }
80
- #list li > span {
74
+ ::slotted(a[aria-current="page"]),
75
+ ::slotted(a[aria-current="page"]:hover) {
81
76
  color: var(--breadcrumb-current-color, var(--eun-text-secondary, #484e61));
82
77
  font-weight: var(--eun-font-weight-m, 500);
78
+ text-decoration: none;
83
79
  }
84
80
  #list li > .separator {
85
81
  margin-inline: var(--breadcrumb-separator-gap, var(--eun-space-s, 8px));
@@ -64,22 +64,27 @@ declare const EunomiaCarousel_base: import("../../../utils/constructor.type.js")
64
64
  * @prop {boolean} [showArrows=true] - Shows the previous and next buttons
65
65
  * @prop {boolean} [showDots=true] - Shows the pagination dots
66
66
  * @attr {string} aria-label - The accessible name for the carousel region. Defaults to Carousel, and is recommended whenever a page has more than one carousel, or its purpose isn't already clear from a preceding heading
67
- * @prop {string} [ariaLabelPrevious='Previous slide'] - The accessible label of the previous control
68
- * @attr {string} [aria-label-previous='Previous slide'] - The accessible label of the previous control
69
- * @prop {string} [ariaLabelNext='Next slide'] - The accessible label of the next control
70
- * @attr {string} [aria-label-next='Next slide'] - The accessible label of the next control
67
+ * @prop {string} [ariaLabelPrevious] - The accessible label of the previous control. Defaults to the localized string for the current locale (English: "Previous slide")
68
+ * @attr {string} [aria-label-previous] - The accessible label of the previous control. Defaults to the localized string for the current locale (English: "Previous slide")
69
+ * @prop {string} [ariaLabelNext] - The accessible label of the next control. Defaults to the localized string for the current locale (English: "Next slide")
70
+ * @attr {string} [aria-label-next] - The accessible label of the next control. Defaults to the localized string for the current locale (English: "Next slide")
71
71
  * @fires {SlideChangeEvent} eunslidechange - Fired once the active slide settles on a new index
72
72
  * @cssprop [--carousel-visible-slides] - Sets how many slides are shown at once, overriding visibleSlides. Meant to be changed from your own media or container queries, so the slide count follows the available space without any script
73
73
  * @cssprop [--carousel-scroll-step] - Sets how many slides a previous, next, or dot click advances by, overriding scrollStep. Read again whenever the carousel resizes
74
74
  * @cssprop [--carousel-responsive-breakpoint] - Sets the width, in pixels, below which an inline layout moves its buttons into the header row, overriding responsiveBreakpoint. Zero disables the automatic switch. Read again whenever the carousel resizes
75
75
  * @cssprop [--carousel-gap] - Sets the gap between slides
76
76
  * @cssprop [--carousel-track-padding] - Sets the vertical padding on the track, giving slides' own effects that bleed outside their box, such as a hover shadow, room to render before it gets clipped
77
+ * @cssprop [--carousel-track-padding-top] - Sets the top padding on the track, falling back to --carousel-track-padding
78
+ * @cssprop [--carousel-track-padding-bottom] - Sets the bottom padding on the track, falling back to --carousel-track-padding
79
+ * @cssprop [--carousel-track-padding-inline] - Lets the track bleed past the carousel on both sides by this length, while slides stay aligned on its edges. The next slide and the hover shadows of the edge slides show past the container
80
+ * @cssprop [--carousel-slide-width] - Sets a fixed width for every slide, overriding visibleSlides, fullSlides and --carousel-min-slide-width
77
81
  * @cssprop [--carousel-min-slide-width] - Sets the minimum slide width. On a narrow viewport, this wins over visibleSlides so slides never get uncomfortably small
78
82
  * @cssprop [--carousel-peek-size] - Sets how much of the next slide peeks at the edge, when fullSlides is off
79
83
  * @cssprop [--carousel-fade-display] - Set to none to hide the edge fades through pure CSS, regardless of edgeFade, for instance on a narrow screen where a single slide fills the whole width
80
84
  * @cssprop [--carousel-fade-width] - Sets the width of the edge fades
81
85
  * @cssprop [--carousel-fade-color] - Sets the color of the edge fades, which fade to transparent
82
86
  * @cssprop [--carousel-active-scale] - Sets the scale applied to the active slide
87
+ * @cssprop [--carousel-header-margin] - Sets the space between the header row and the track
83
88
  * @cssprop [--carousel-header-gap] - Sets the gap between the title slot and the header navigation buttons
84
89
  * @cssprop [--carousel-header-align] - Sets the cross-axis alignment (align-items) between the title slot and the header navigation buttons. Defaults to baseline, which keeps the nav buttons close to the track below regardless of how tall a multi-line title ends up
85
90
  * @cssprop [--carousel-nav-display] - Set to none to hide the previous and next buttons through pure CSS, regardless of showArrows
@@ -88,6 +93,10 @@ declare const EunomiaCarousel_base: import("../../../utils/constructor.type.js")
88
93
  * @cssprop [--carousel-nav-color] - Sets the icon color of the previous and next buttons
89
94
  * @cssprop [--carousel-nav-background] - Sets the background color of the previous and next buttons
90
95
  * @cssprop [--carousel-nav-border-color] - Sets the border color of the previous and next buttons
96
+ * @cssprop [--carousel-nav-border-width] - Sets the border width of the previous and next buttons
97
+ * @cssprop [--carousel-nav-hover-background] - Sets the background color of the previous and next buttons on hover
98
+ * @cssprop [--carousel-nav-hover-color] - Sets the icon color of the previous and next buttons on hover
99
+ * @cssprop [--carousel-nav-hover-border-color] - Sets the border color of the previous and next buttons on hover
91
100
  * @cssprop [--carousel-nav-shadow] - Sets the shadow of the previous and next buttons in the inline layout, when enabled. Unset for the header layout, and always unset while a button is disabled
92
101
  * @cssprop [--carousel-nav-disabled-background] - Sets the background and border color of a disabled previous or next button
93
102
  * @cssprop [--carousel-nav-disabled-color] - Sets the icon color of a disabled previous or next button
@@ -197,15 +206,17 @@ export declare class EunomiaCarousel extends EunomiaCarousel_base {
197
206
  */
198
207
  showDots: boolean;
199
208
  /**
200
- * Accessible label of the Previous control.
201
- * @default Previous slide
209
+ * Accessible label of the Previous control. Resolved from the locale
210
+ * dictionary when unset, so it follows `locale` automatically.
211
+ * @default {i18n:carousel.previous}
202
212
  */
203
- ariaLabelPrevious: string;
213
+ ariaLabelPrevious?: string;
204
214
  /**
205
- * Accessible label of the Next control.
206
- * @default Next slide
215
+ * Accessible label of the Next control. Resolved from the locale
216
+ * dictionary when unset, so it follows `locale` automatically.
217
+ * @default {i18n:carousel.next}
207
218
  */
208
- ariaLabelNext: string;
219
+ ariaLabelNext?: string;
209
220
  /**
210
221
  * Index of the currently active slide (see {@link ACTIVE_SLIDE_CLASS}).
211
222
  * @internal
@@ -349,6 +360,15 @@ export declare class EunomiaCarousel extends EunomiaCarousel_base {
349
360
  * @private
350
361
  */
351
362
  private getCssPixelValue;
363
+ /**
364
+ * The track's inline padding in pixels, set by
365
+ * `--carousel-track-padding-inline` to let the track bleed past the
366
+ * host. Slides rest that far from the track's own edge, so scroll math
367
+ * measured from that edge has to offset by it.
368
+ * @returns the inline padding, `0` when unset.
369
+ * @private
370
+ */
371
+ private getTrackInset;
352
372
  /**
353
373
  * The highest valid slide index a page can start on, without leaving
354
374
  * empty space at the end of the track. Measured from the slides' actual