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

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 (321) hide show
  1. package/README.md +1 -1
  2. package/dist/cdn/components/chunks/{chunk-3LMI7KUA.js → chunk-2JLDJFYD.js} +1 -1
  3. package/dist/cdn/components/chunks/chunk-4MXL6PZC.js +124 -0
  4. package/dist/cdn/components/chunks/{chunk-32KRPOPV.js → chunk-5XJGYXW7.js} +6 -6
  5. package/dist/cdn/components/chunks/{chunk-O2HNWH65.js → chunk-5XJLIHAU.js} +7 -7
  6. package/dist/cdn/components/chunks/{chunk-5GF2Q3NR.js → chunk-74AOAB4X.js} +1 -1
  7. package/dist/cdn/components/chunks/{chunk-WYMBUIKX.js → chunk-A6KGFALA.js} +4 -4
  8. package/dist/cdn/components/chunks/chunk-BMQOI7HX.js +371 -0
  9. package/dist/cdn/components/chunks/{chunk-LJYTHDZP.js → chunk-D2M4BV5Y.js} +6 -6
  10. package/dist/cdn/components/chunks/{chunk-NEYBPT3D.js → chunk-EJIX2D4Z.js} +2 -2
  11. package/dist/cdn/components/chunks/{chunk-BYBUXKXC.js → chunk-EOWBYZV7.js} +2 -2
  12. package/dist/cdn/components/chunks/chunk-EST3M4AO.js +1 -0
  13. package/dist/cdn/components/chunks/{chunk-TBKKTJOX.js → chunk-GSJEJLFA.js} +3 -3
  14. package/dist/cdn/components/chunks/{chunk-5RCCZVFZ.js → chunk-IJ5WFMK4.js} +1 -1
  15. package/dist/cdn/components/chunks/{chunk-RWONCXTF.js → chunk-KVYUNKUO.js} +2 -2
  16. package/dist/cdn/components/chunks/chunk-LGLQ36QB.js +16 -0
  17. package/dist/cdn/components/chunks/{chunk-53QH6MPM.js → chunk-NHFWATVN.js} +1 -1
  18. package/dist/cdn/components/chunks/chunk-OAULRKHQ.js +38 -0
  19. package/dist/cdn/components/chunks/chunk-P32B7BFD.js +118 -0
  20. package/dist/cdn/components/chunks/{chunk-ZPFHTJSS.js → chunk-PCM7D3YF.js} +1 -1
  21. package/dist/cdn/components/chunks/{chunk-ABYEBP57.js → chunk-PED5ATYN.js} +11 -8
  22. package/dist/cdn/components/chunks/{chunk-ON42P6FI.js → chunk-RJCJXB7Y.js} +5 -5
  23. package/dist/cdn/components/chunks/{chunk-5C7YND22.js → chunk-S2UCEWNG.js} +8 -8
  24. package/dist/cdn/components/chunks/{chunk-EAGGN3ZI.js → chunk-SIHZFOTK.js} +9 -9
  25. package/dist/cdn/components/chunks/{chunk-6UPI7GHJ.js → chunk-UAGCQF23.js} +7 -7
  26. package/dist/cdn/components/chunks/{chunk-6IILPCSQ.js → chunk-X2AUBZD2.js} +3 -3
  27. package/dist/cdn/components/chunks/chunk-YGUJJ25C.js +263 -0
  28. package/dist/cdn/components/eun-alert.js +65 -45
  29. package/dist/cdn/components/eun-badge.js +1 -1
  30. package/dist/cdn/components/eun-breadcrumb-item.js +14 -10
  31. package/dist/cdn/components/eun-breadcrumb.js +11 -7
  32. package/dist/cdn/components/eun-button.js +1 -1
  33. package/dist/cdn/components/eun-calendar.js +16 -16
  34. package/dist/cdn/components/eun-card.js +21 -12
  35. package/dist/cdn/components/eun-carousel.js +35 -27
  36. package/dist/cdn/components/eun-check-card.js +3 -3
  37. package/dist/cdn/components/eun-checkbox-list.js +3 -3
  38. package/dist/cdn/components/eun-checkbox.js +1 -1
  39. package/dist/cdn/components/eun-chip.js +45 -207
  40. package/dist/cdn/components/eun-collapse.js +13 -12
  41. package/dist/cdn/components/eun-color-picker.js +12 -12
  42. package/dist/cdn/components/eun-counter.js +8 -8
  43. package/dist/cdn/components/eun-date-picker.js +50 -50
  44. package/dist/cdn/components/eun-drawer.js +3 -3
  45. package/dist/cdn/components/eun-dropdown-button.js +1 -1
  46. package/dist/cdn/components/eun-dropdown-item.js +6 -6
  47. package/dist/cdn/components/eun-fab.js +31 -53
  48. package/dist/cdn/components/eun-icon.js +1 -1
  49. package/dist/cdn/components/eun-image-card.js +18 -11
  50. package/dist/cdn/components/eun-image-carousel.js +16 -16
  51. package/dist/cdn/components/eun-infinite-list.js +1 -1
  52. package/dist/cdn/components/eun-input-file.js +12 -12
  53. package/dist/cdn/components/eun-input-phone.js +13 -13
  54. package/dist/cdn/components/eun-input.js +1 -1
  55. package/dist/cdn/components/eun-label.js +4 -4
  56. package/dist/cdn/components/eun-link.js +29 -11
  57. package/dist/cdn/components/eun-loader.js +1 -1
  58. package/dist/cdn/components/eun-modal.js +6 -6
  59. package/dist/cdn/components/eun-pagination.js +3 -3
  60. package/dist/cdn/components/eun-password-strength.js +9 -6
  61. package/dist/cdn/components/eun-progress-bar.js +13 -13
  62. package/dist/cdn/components/eun-radio-card.js +2 -2
  63. package/dist/cdn/components/eun-radio-list.js +1 -1
  64. package/dist/cdn/components/eun-radio.js +1 -1
  65. package/dist/cdn/components/eun-scheduler-event-editor.js +2 -2
  66. package/dist/cdn/components/eun-scheduler-event.js +1 -1
  67. package/dist/cdn/components/eun-scheduler.js +10 -10
  68. package/dist/cdn/components/eun-search.js +7 -7
  69. package/dist/cdn/components/eun-select.js +10 -10
  70. package/dist/cdn/components/eun-sidebar.js +9 -9
  71. package/dist/cdn/components/eun-skeleton.js +1 -1
  72. package/dist/cdn/components/eun-slider.js +8 -8
  73. package/dist/cdn/components/eun-sliding-card.js +4 -3
  74. package/dist/cdn/components/eun-step.js +8 -8
  75. package/dist/cdn/components/eun-stepper.js +8 -8
  76. package/dist/cdn/components/eun-switch.js +10 -10
  77. package/dist/cdn/components/eun-tab-group.js +19 -11
  78. package/dist/cdn/components/eun-tab-panel.js +1 -1
  79. package/dist/cdn/components/eun-tab.js +1 -1
  80. package/dist/cdn/components/eun-table-action-bar.js +1 -1
  81. package/dist/cdn/components/eun-table-cell.js +1 -1
  82. package/dist/cdn/components/eun-table-column.js +1 -1
  83. package/dist/cdn/components/eun-table-header.js +1 -1
  84. package/dist/cdn/components/eun-table-item.js +1 -1
  85. package/dist/cdn/components/eun-table-skeleton-row.js +1 -1
  86. package/dist/cdn/components/eun-table.js +3 -3
  87. package/dist/cdn/components/eun-tag.js +34 -126
  88. package/dist/cdn/components/eun-textarea.js +22 -22
  89. package/dist/cdn/components/eun-time-picker.js +25 -25
  90. package/dist/cdn/components/eun-toast.js +40 -36
  91. package/dist/cdn/components/eun-toggle-group.js +199 -66
  92. package/dist/cdn/components/eun-toggle-item.js +41 -24
  93. package/dist/cdn/components/eun-toggle.js +11 -8
  94. package/dist/cdn/components/eun-toolbar.js +14 -7
  95. package/dist/cdn/components/eun-tooltip.js +122 -87
  96. package/dist/cdn/styles/eunomia-themes.css +1 -1
  97. package/dist/cdn/styles/themes/eunomia-theme.css +1 -1
  98. package/dist/cdn/styles/themes/eunomia-theme.scss +1 -0
  99. package/dist/cdn/styles/themes/mixins/eunomia-neutrals.mixin.scss +71 -0
  100. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +3 -13
  101. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +3 -13
  102. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.css +1 -1
  103. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +2 -0
  104. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +3 -13
  105. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +3 -13
  106. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.css +1 -1
  107. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +2 -0
  108. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +3 -13
  109. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +3 -13
  110. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.css +1 -1
  111. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +2 -0
  112. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +3 -13
  113. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +3 -13
  114. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.css +1 -1
  115. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +2 -0
  116. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +3 -13
  117. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +3 -13
  118. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.css +1 -1
  119. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +2 -0
  120. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +3 -13
  121. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +3 -13
  122. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.css +1 -1
  123. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +2 -0
  124. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +3 -13
  125. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +3 -13
  126. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.css +1 -1
  127. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +2 -0
  128. package/dist/cdn/styles/tools/indexes/eunomia-tools.index.scss +1 -0
  129. package/dist/cdn/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +39 -0
  130. package/dist/cdn/styles/tools/mixins/settings/eunomia-border.mixin.scss +3 -3
  131. package/dist/cdn/styles/tools/mixins/settings/eunomia-font.mixin.scss +12 -12
  132. package/dist/cdn/styles/tools/mixins/settings/eunomia-radius.mixin.scss +4 -4
  133. package/dist/components/action/button/button.d.ts +2 -0
  134. package/dist/components/action/button/button.js +2 -0
  135. package/dist/components/action/button/button.styles.js +132 -384
  136. package/dist/components/action/dropdown-button/dropdown-button.d.ts +7 -0
  137. package/dist/components/action/dropdown-button/dropdown-button.js +11 -0
  138. package/dist/components/action/dropdown-button/dropdown-button.styles.js +8 -8
  139. package/dist/components/action/dropdown-button/dropdown-item.styles.js +6 -6
  140. package/dist/components/action/fab/fab.d.ts +3 -1
  141. package/dist/components/action/fab/fab.js +3 -1
  142. package/dist/components/action/fab/fab.styles.js +26 -49
  143. package/dist/components/action/link/link.d.ts +50 -0
  144. package/dist/components/action/link/link.js +69 -1
  145. package/dist/components/action/link/link.styles.js +19 -2
  146. package/dist/components/action/shared-styles/button-palette.styles.d.ts +27 -0
  147. package/dist/components/action/shared-styles/button-palette.styles.js +151 -0
  148. package/dist/components/action/toggle/toggle-group.d.ts +41 -7
  149. package/dist/components/action/toggle/toggle-group.js +161 -45
  150. package/dist/components/action/toggle/toggle-group.styles.d.ts +6 -5
  151. package/dist/components/action/toggle/toggle-group.styles.js +152 -35
  152. package/dist/components/action/toggle/toggle-item.styles.js +37 -20
  153. package/dist/components/action/toggle/toggle.d.ts +1 -1
  154. package/dist/components/action/toggle/toggle.js +1 -1
  155. package/dist/components/action/toggle/toggle.styles.d.ts +2 -2
  156. package/dist/components/action/toggle/toggle.styles.js +13 -10
  157. package/dist/components/alert/alert/alert.d.ts +4 -3
  158. package/dist/components/alert/alert/alert.js +4 -3
  159. package/dist/components/alert/alert/alert.styles.js +57 -36
  160. package/dist/components/alert/drawer/drawer.styles.js +3 -3
  161. package/dist/components/alert/modal/modal.styles.js +6 -6
  162. package/dist/components/alert/toast/toast.d.ts +4 -3
  163. package/dist/components/alert/toast/toast.js +4 -3
  164. package/dist/components/alert/toast/toast.styles.js +41 -36
  165. package/dist/components/content/badge/badge.styles.js +1 -1
  166. package/dist/components/content/card/card.d.ts +4 -4
  167. package/dist/components/content/card/card.js +4 -4
  168. package/dist/components/content/card/card.styles.js +19 -10
  169. package/dist/components/content/card/image-card.d.ts +1 -1
  170. package/dist/components/content/card/image-card.js +1 -1
  171. package/dist/components/content/card/image-card.styles.js +17 -10
  172. package/dist/components/content/card/sliding-card.styles.js +3 -2
  173. package/dist/components/content/chip/chip.d.ts +16 -7
  174. package/dist/components/content/chip/chip.js +18 -6
  175. package/dist/components/content/chip/chip.styles.d.ts +1 -1
  176. package/dist/components/content/chip/chip.styles.js +43 -207
  177. package/dist/components/content/collapse/collapse.styles.js +10 -9
  178. package/dist/components/content/icon/icon.style.js +1 -1
  179. package/dist/components/content/image-carousel/image-carousel.styles.js +14 -14
  180. package/dist/components/content/password-strength/password-strength.styles.js +7 -4
  181. package/dist/components/content/progress-bar/progress-bar.styles.js +9 -9
  182. package/dist/components/content/shared-styles/tone-surface.styles.d.ts +31 -0
  183. package/dist/components/content/shared-styles/tone-surface.styles.js +149 -0
  184. package/dist/components/content/tag/tag.d.ts +16 -6
  185. package/dist/components/content/tag/tag.js +19 -6
  186. package/dist/components/content/tag/tag.styles.d.ts +1 -1
  187. package/dist/components/content/tag/tag.styles.js +40 -125
  188. package/dist/components/content/tooltip/tooltip.d.ts +15 -4
  189. package/dist/components/content/tooltip/tooltip.js +21 -4
  190. package/dist/components/content/tooltip/tooltip.styles.js +115 -79
  191. package/dist/components/form/checkbox/check-card.styles.js +2 -2
  192. package/dist/components/form/checkbox/checkbox-list.d.ts +1 -1
  193. package/dist/components/form/checkbox/checkbox.d.ts +1 -1
  194. package/dist/components/form/checkbox/checkbox.styles.js +6 -6
  195. package/dist/components/form/color-picker/color-picker.d.ts +1 -1
  196. package/dist/components/form/color-picker/color-picker.styles.js +7 -7
  197. package/dist/components/form/counter/counter.d.ts +1 -1
  198. package/dist/components/form/counter/counter.styles.js +7 -7
  199. package/dist/components/form/date-picker/date-picker-day-grid.styles.js +2 -2
  200. package/dist/components/form/date-picker/date-picker-grid.styles.js +15 -15
  201. package/dist/components/form/date-picker/date-picker-month-grid.styles.js +1 -1
  202. package/dist/components/form/date-picker/date-picker-year-grid.styles.js +1 -1
  203. package/dist/components/form/date-picker/date-picker.d.ts +1 -1
  204. package/dist/components/form/date-picker/date-picker.styles.js +12 -12
  205. package/dist/components/form/input/input.d.ts +1 -1
  206. package/dist/components/form/input-file/input-file.d.ts +1 -1
  207. package/dist/components/form/input-file/input-file.styles.js +9 -9
  208. package/dist/components/form/input-phone/input-phone.d.ts +1 -1
  209. package/dist/components/form/input-phone/input-phone.styles.js +7 -7
  210. package/dist/components/form/label/label.styles.js +4 -4
  211. package/dist/components/form/radio/radio-card.styles.js +1 -1
  212. package/dist/components/form/radio/radio-list.d.ts +1 -1
  213. package/dist/components/form/radio/radio.d.ts +1 -1
  214. package/dist/components/form/radio/radio.styles.js +2 -2
  215. package/dist/components/form/search/search.styles.js +6 -6
  216. package/dist/components/form/select/select.d.ts +1 -1
  217. package/dist/components/form/select/select.styles.js +6 -6
  218. package/dist/components/form/shared-styles/card.styles.js +1 -1
  219. package/dist/components/form/shared-styles/field.styles.js +7 -7
  220. package/dist/components/form/shared-styles/form-labels.styles.js +1 -1
  221. package/dist/components/form/shared-styles/listbox.styles.js +6 -6
  222. package/dist/components/form/slider/slider.d.ts +1 -1
  223. package/dist/components/form/slider/slider.styles.js +6 -6
  224. package/dist/components/form/switch/switch.d.ts +1 -1
  225. package/dist/components/form/switch/switch.styles.js +8 -8
  226. package/dist/components/form/textarea/textarea.d.ts +1 -1
  227. package/dist/components/form/textarea/textarea.styles.js +6 -6
  228. package/dist/components/form/time-picker/time-picker-columns.styles.js +6 -6
  229. package/dist/components/form/time-picker/time-picker-list.styles.js +2 -2
  230. package/dist/components/form/time-picker/time-picker.d.ts +1 -1
  231. package/dist/components/form/time-picker/time-picker.styles.js +8 -8
  232. package/dist/components/loader/loader/loader.styles.js +2 -2
  233. package/dist/components/loader/skeleton/skeleton.styles.js +8 -5
  234. package/dist/components/navigation/breadcrumb/breadcrumb-item.d.ts +7 -0
  235. package/dist/components/navigation/breadcrumb/breadcrumb-item.js +15 -1
  236. package/dist/components/navigation/breadcrumb/breadcrumb-item.styles.js +3 -3
  237. package/dist/components/navigation/breadcrumb/breadcrumb.d.ts +1 -0
  238. package/dist/components/navigation/breadcrumb/breadcrumb.js +7 -1
  239. package/dist/components/navigation/breadcrumb/breadcrumb.styles.js +3 -3
  240. package/dist/components/navigation/carousel/carousel.d.ts +40 -6
  241. package/dist/components/navigation/carousel/carousel.js +61 -12
  242. package/dist/components/navigation/carousel/carousel.styles.js +19 -7
  243. package/dist/components/navigation/pagination/pagination.styles.js +3 -3
  244. package/dist/components/navigation/sidebar/sidebar.styles.js +9 -9
  245. package/dist/components/navigation/stepper/step.styles.js +8 -8
  246. package/dist/components/navigation/stepper/stepper.styles.js +8 -8
  247. package/dist/components/navigation/tabs/tab/tab.styles.js +5 -5
  248. package/dist/components/navigation/tabs/tab-group/tab-group.d.ts +9 -0
  249. package/dist/components/navigation/tabs/tab-group/tab-group.js +19 -2
  250. package/dist/components/navigation/tabs/tab-group/tab-group.styles.js +12 -4
  251. package/dist/components/navigation/tabs/tab-panel/tab-panel.styles.js +1 -1
  252. package/dist/components/navigation/toolbar/toolbar.d.ts +2 -0
  253. package/dist/components/navigation/toolbar/toolbar.js +2 -0
  254. package/dist/components/navigation/toolbar/toolbar.styles.js +16 -7
  255. package/dist/features/scheduler/calendar/calendar.js +1 -1
  256. package/dist/features/scheduler/calendar/calendar.styles.js +3 -3
  257. package/dist/features/scheduler/scheduler/scheduler.styles.js +2 -2
  258. package/dist/features/scheduler/scheduler-event/scheduler-event.styles.js +2 -2
  259. package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.styles.js +2 -2
  260. package/dist/features/scheduler/shared/scheduler-event-popover.styles.js +4 -4
  261. package/dist/features/scheduler/shared/scheduler-hour-grid.styles.js +1 -1
  262. package/dist/features/scheduler/shared/scheduler-month-view.styles.js +1 -1
  263. package/dist/features/scheduler/shared/scheduler-year-view.styles.js +1 -1
  264. package/dist/features/table/native-table.css +11 -11
  265. package/dist/features/table/table/table.styles.js +2 -2
  266. package/dist/features/table/table-action-bar/table-action-bar.styles.js +2 -2
  267. package/dist/features/table/table-cell/table-cell.styles.js +2 -2
  268. package/dist/features/table/table-column/table-column.styles.js +3 -3
  269. package/dist/features/table/table-header/table-header.styles.js +4 -4
  270. package/dist/features/table/table-item/table-item.styles.js +6 -6
  271. package/dist/features/table/table-skeleton-row/table-skeleton-row.styles.js +1 -1
  272. package/dist/index.d.ts +4 -4
  273. package/dist/index.js +5 -2
  274. package/dist/jsx.d.ts +18 -5
  275. package/dist/mixins/button.mixin.d.ts +1 -0
  276. package/dist/mixins/button.mixin.js +10 -0
  277. package/dist/mixins/check.mixin.d.ts +1 -1
  278. package/dist/mixins/editable.mixin.d.ts +1 -1
  279. package/dist/mixins/form.mixin.d.ts +5 -1
  280. package/dist/mixins/form.mixin.js +32 -12
  281. package/dist/mixins/overflow-navigation.mixin.js +2 -1
  282. package/dist/mixins/radio.mixin.d.ts +1 -1
  283. package/dist/mixins/validators.mixin.d.ts +9 -3
  284. package/dist/utils/rich-text.utils.d.ts +33 -0
  285. package/dist/utils/rich-text.utils.js +140 -49
  286. package/dist/utils/theme-generator.utils.d.ts +24 -3
  287. package/dist/utils/theme-generator.utils.js +66 -21
  288. package/package.json +6 -1
  289. package/styles/themes/eunomia-theme.scss +1 -0
  290. package/styles/themes/mixins/eunomia-neutrals.mixin.scss +71 -0
  291. package/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +3 -13
  292. package/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +3 -13
  293. package/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +2 -0
  294. package/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +3 -13
  295. package/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +3 -13
  296. package/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +2 -0
  297. package/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +3 -13
  298. package/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +3 -13
  299. package/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +2 -0
  300. package/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +3 -13
  301. package/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +3 -13
  302. package/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +2 -0
  303. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +3 -13
  304. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +3 -13
  305. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +2 -0
  306. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +3 -13
  307. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +3 -13
  308. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +2 -0
  309. package/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +3 -13
  310. package/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +3 -13
  311. package/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +2 -0
  312. package/styles/tools/indexes/eunomia-tools.index.scss +1 -0
  313. package/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +39 -0
  314. package/styles/tools/mixins/settings/eunomia-border.mixin.scss +3 -3
  315. package/styles/tools/mixins/settings/eunomia-font.mixin.scss +12 -12
  316. package/styles/tools/mixins/settings/eunomia-radius.mixin.scss +4 -4
  317. package/dist/cdn/components/chunks/chunk-5TH3P53V.js +0 -16
  318. package/dist/cdn/components/chunks/chunk-KNM5QHDK.js +0 -38
  319. package/dist/cdn/components/chunks/chunk-MBF52GEL.js +0 -1
  320. package/dist/cdn/components/chunks/chunk-Z6PJYSC3.js +0 -622
  321. package/dist/cdn/components/chunks/chunk-ZKPCO5RB.js +0 -262
@@ -9,7 +9,7 @@ export const breadcrumbItemStyles = css `
9
9
  display: inline-flex;
10
10
  align-items: center;
11
11
  font-family: var(--eun-font-family, "Mulish", sans-serif);
12
- font-size: var(--eun-fontSize-s, 14px);
12
+ font-size: var(--eun-font-size-s, 14px);
13
13
  }
14
14
  #label {
15
15
  max-width: var(--breadcrumb-item-max-width, 240px);
@@ -35,7 +35,7 @@ export const breadcrumbItemStyles = css `
35
35
  a#label {
36
36
  color: var(--breadcrumb-link-color, var(--eun-color-primary-500, #3d6fff));
37
37
  text-decoration: none;
38
- border-radius: var(--eun-borderRadius-s, 5px);
38
+ border-radius: var(--eun-border-radius-s, 5px);
39
39
  outline: 2px solid transparent;
40
40
  transition:
41
41
  color var(--breadcrumb-transition-duration, 0.2s) ease-out,
@@ -59,7 +59,7 @@ export const breadcrumbItemStyles = css `
59
59
  }
60
60
  span#label {
61
61
  color: var(--breadcrumb-current-color, var(--eun-text-secondary, #484e61));
62
- font-weight: var(--eun-fontWeight-m, 500);
62
+ font-weight: var(--eun-font-weight-m, 500);
63
63
  }
64
64
  #separator {
65
65
  margin-inline: var(--breadcrumb-separator-gap, var(--eun-space-s, 8px));
@@ -37,6 +37,7 @@ export type EunomiaBreadcrumbItemData = {
37
37
  * @cssprop [--breadcrumb-item-max-width] - Sets the maximum width of each step, beyond which its label truncates with an ellipsis
38
38
  * @cssprop [--breadcrumb-gap] - Sets the row gap, used when the trail wraps onto multiple lines
39
39
  * @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
40
41
  * @element eun-breadcrumb
41
42
  */
42
43
  export declare class EunomiaBreadcrumb extends LitElement {
@@ -8,6 +8,7 @@ import { customElement, property } from "lit/decorators.js";
8
8
  import { html, LitElement, nothing } from "lit";
9
9
  import { classMap } from "lit/directives/class-map.js";
10
10
  import { breadcrumbStyles } from "./breadcrumb.styles.js";
11
+ import { handleLinkNavigation } from "../../../utils/navigation.utils.js";
11
12
  /**
12
13
  * Tag name of the breadcrumb component.
13
14
  */
@@ -37,6 +38,7 @@ export const EunomiaBreadcrumbTagName = "eun-breadcrumb";
37
38
  * @cssprop [--breadcrumb-item-max-width] - Sets the maximum width of each step, beyond which its label truncates with an ellipsis
38
39
  * @cssprop [--breadcrumb-gap] - Sets the row gap, used when the trail wraps onto multiple lines
39
40
  * @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
40
42
  * @element eun-breadcrumb
41
43
  */
42
44
  let EunomiaBreadcrumb = class EunomiaBreadcrumb extends LitElement {
@@ -109,7 +111,11 @@ let EunomiaBreadcrumb = class EunomiaBreadcrumb extends LitElement {
109
111
  const separator = html `<span class="separator" aria-hidden="true"></span>`;
110
112
  if (item.href) {
111
113
  return html `<li>
112
- <a href=${item.href}>${icon}${item.label}</a>${separator}
114
+ <a
115
+ href=${item.href}
116
+ @click=${(event) => handleLinkNavigation(this, event, item.href)}
117
+ >${icon}${item.label}</a
118
+ >${separator}
113
119
  </li>`;
114
120
  }
115
121
  return html `<li><span>${icon}${item.label}</span>${separator}</li>`;
@@ -18,7 +18,7 @@ export const breadcrumbStyles = css `
18
18
  :host {
19
19
  display: block;
20
20
  font-family: var(--eun-font-family, "Mulish", sans-serif);
21
- font-size: var(--eun-fontSize-s, 14px);
21
+ font-size: var(--eun-font-size-s, 14px);
22
22
  }
23
23
  #list {
24
24
  display: flex;
@@ -55,7 +55,7 @@ export const breadcrumbStyles = css `
55
55
  #list li > a {
56
56
  color: var(--breadcrumb-link-color, var(--eun-color-primary-500, #3d6fff));
57
57
  text-decoration: none;
58
- border-radius: var(--eun-borderRadius-s, 5px);
58
+ border-radius: var(--eun-border-radius-s, 5px);
59
59
  outline: 2px solid transparent;
60
60
  transition:
61
61
  color var(--breadcrumb-transition-duration, 0.2s) ease-out,
@@ -79,7 +79,7 @@ export const breadcrumbStyles = css `
79
79
  }
80
80
  #list li > span {
81
81
  color: var(--breadcrumb-current-color, var(--eun-text-secondary, #484e61));
82
- font-weight: var(--eun-fontWeight-m, 500);
82
+ font-weight: var(--eun-font-weight-m, 500);
83
83
  }
84
84
  #list li > .separator {
85
85
  margin-inline: var(--breadcrumb-separator-gap, var(--eun-space-s, 8px));
@@ -69,10 +69,14 @@ declare const EunomiaCarousel_base: import("../../../utils/constructor.type.js")
69
69
  * @prop {string} [ariaLabelNext='Next slide'] - The accessible label of the next control
70
70
  * @attr {string} [aria-label-next='Next slide'] - The accessible label of the next control
71
71
  * @fires {SlideChangeEvent} eunslidechange - Fired once the active slide settles on a new index
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
+ * @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
+ * @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
72
75
  * @cssprop [--carousel-gap] - Sets the gap between slides
73
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
74
77
  * @cssprop [--carousel-min-slide-width] - Sets the minimum slide width. On a narrow viewport, this wins over visibleSlides so slides never get uncomfortably small
75
78
  * @cssprop [--carousel-peek-size] - Sets how much of the next slide peeks at the edge, when fullSlides is off
79
+ * @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
76
80
  * @cssprop [--carousel-fade-width] - Sets the width of the edge fades
77
81
  * @cssprop [--carousel-fade-color] - Sets the color of the edge fades, which fade to transparent
78
82
  * @cssprop [--carousel-active-scale] - Sets the scale applied to the active slide
@@ -240,6 +244,21 @@ export declare class EunomiaCarousel extends EunomiaCarousel_base {
240
244
  * @internal
241
245
  */
242
246
  private narrow;
247
+ /**
248
+ * The slide count actually in effect : `--carousel-visible-slides` when
249
+ * set on the host (or inherited from an ancestor, e.g. from a consumer's
250
+ * own container query), `visibleSlides` otherwise. Only the live-region
251
+ * announcement needs it on the JS side, since slide sizing reads the
252
+ * custom property directly in CSS. Refreshed by {@link syncCssOverrides}.
253
+ * @internal
254
+ */
255
+ private effectiveVisibleSlides;
256
+ /**
257
+ * The scroll step actually in effect : `--carousel-scroll-step` when set,
258
+ * `scrollStep` otherwise. Refreshed by {@link syncCssOverrides}.
259
+ * @internal
260
+ */
261
+ private effectiveScrollStep;
243
262
  /**
244
263
  * The scrollable track.
245
264
  * @internal
@@ -320,9 +339,10 @@ export declare class EunomiaCarousel extends EunomiaCarousel_base {
320
339
  */
321
340
  goTo(index: number): void;
322
341
  /**
323
- * Reads a length custom property (e.g. `--carousel-nav-icon-size`) off
324
- * the host as a plain number of pixels, falling back when unset or
325
- * invalid.
342
+ * Reads a numeric custom property (a length such as
343
+ * `--carousel-nav-icon-size`, or a plain count such as
344
+ * `--carousel-visible-slides`) off the host as a plain number, pixels
345
+ * for a length, falling back when unset or invalid.
326
346
  *
327
347
  * @param name the custom property's name.
328
348
  * @param fallback the value to use when unset or invalid.
@@ -351,6 +371,17 @@ export declare class EunomiaCarousel extends EunomiaCarousel_base {
351
371
  * @private
352
372
  */
353
373
  private get pageCount();
374
+ /**
375
+ * Re-reads the custom properties that override a numeric prop
376
+ * (`--carousel-visible-slides`, `--carousel-scroll-step`), so a
377
+ * consumer's own media or container query can change them without any
378
+ * script. Runs on first render, whenever the matching prop changes, and
379
+ * on every resize : a query flipping these values almost always goes
380
+ * together with the carousel itself changing size, which is what the
381
+ * {@link resizeObserver} already watches.
382
+ * @private
383
+ */
384
+ private syncCssOverrides;
354
385
  /**
355
386
  * Measures, from actual rendered geometry, which slide index the track
356
387
  * will end up settling on once scrolled all the way to its true
@@ -400,8 +431,9 @@ export declare class EunomiaCarousel extends EunomiaCarousel_base {
400
431
  */
401
432
  private updateCenterPadding;
402
433
  /**
403
- * Re-measures the host's own width against {@link responsiveBreakpoint},
404
- * driving {@link narrow}. A `responsiveBreakpoint` of `0` (or less)
434
+ * Re-measures the host's own width against the breakpoint in effect
435
+ * (`--carousel-responsive-breakpoint` when set, {@link responsiveBreakpoint}
436
+ * otherwise), driving {@link narrow}. A breakpoint of `0` (or less)
405
437
  * disables the auto-switch outright, leaving `narrow` permanently
406
438
  * `false`.
407
439
  * @private
@@ -449,7 +481,9 @@ export declare class EunomiaCarousel extends EunomiaCarousel_base {
449
481
  */
450
482
  private goToIndex;
451
483
  /**
452
- * Advances (or retreats) by `scrollStep` slides from the current index.
484
+ * Advances (or retreats) by the scroll step in effect (see
485
+ * {@link effectiveScrollStep}), re-read first so a custom property that
486
+ * changed without a resize is still honored.
453
487
  *
454
488
  * @param direction `1` for next, `-1` for previous.
455
489
  * @private
@@ -59,10 +59,14 @@ const ACTIVE_SLIDE_CLASS = "eun-carousel-active-slide";
59
59
  * @prop {string} [ariaLabelNext='Next slide'] - The accessible label of the next control
60
60
  * @attr {string} [aria-label-next='Next slide'] - The accessible label of the next control
61
61
  * @fires {SlideChangeEvent} eunslidechange - Fired once the active slide settles on a new index
62
+ * @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
63
+ * @cssprop [--carousel-scroll-step] - Sets how many slides a previous, next, or dot click advances by, overriding scrollStep. Read again whenever the carousel resizes
64
+ * @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
62
65
  * @cssprop [--carousel-gap] - Sets the gap between slides
63
66
  * @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
64
67
  * @cssprop [--carousel-min-slide-width] - Sets the minimum slide width. On a narrow viewport, this wins over visibleSlides so slides never get uncomfortably small
65
68
  * @cssprop [--carousel-peek-size] - Sets how much of the next slide peeks at the edge, when fullSlides is off
69
+ * @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
66
70
  * @cssprop [--carousel-fade-width] - Sets the width of the edge fades
67
71
  * @cssprop [--carousel-fade-color] - Sets the color of the edge fades, which fade to transparent
68
72
  * @cssprop [--carousel-active-scale] - Sets the scale applied to the active slide
@@ -224,6 +228,21 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
224
228
  * @internal
225
229
  */
226
230
  this.narrow = false;
231
+ /**
232
+ * The slide count actually in effect : `--carousel-visible-slides` when
233
+ * set on the host (or inherited from an ancestor, e.g. from a consumer's
234
+ * own container query), `visibleSlides` otherwise. Only the live-region
235
+ * announcement needs it on the JS side, since slide sizing reads the
236
+ * custom property directly in CSS. Refreshed by {@link syncCssOverrides}.
237
+ * @internal
238
+ */
239
+ this.effectiveVisibleSlides = 1;
240
+ /**
241
+ * The scroll step actually in effect : `--carousel-scroll-step` when set,
242
+ * `scrollStep` otherwise. Refreshed by {@link syncCssOverrides}.
243
+ * @internal
244
+ */
245
+ this.effectiveScrollStep = 1;
227
246
  /**
228
247
  * Observes the host's own size, so the active slide / edge fades stay
229
248
  * correct after a layout change that isn't a scroll (an orientation
@@ -242,6 +261,7 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
242
261
  }
243
262
  this.resizeRaf = requestAnimationFrame(() => {
244
263
  this.resizeRaf = undefined;
264
+ this.syncCssOverrides();
245
265
  this.updateFromScrollPosition();
246
266
  this.updateCenterPadding();
247
267
  this.updateNarrow();
@@ -330,6 +350,7 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
330
350
  }
331
351
  firstUpdated(changed) {
332
352
  super.firstUpdated(changed);
353
+ this.syncCssOverrides();
333
354
  this.resizeObserver.observe(this);
334
355
  }
335
356
  updated(changed) {
@@ -337,6 +358,9 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
337
358
  if (changed.has("visibleSlides")) {
338
359
  this.style.setProperty("--_visibleCount", String(Math.max(1, this.visibleSlides)));
339
360
  }
361
+ if (changed.has("visibleSlides") || changed.has("scrollStep")) {
362
+ this.syncCssOverrides();
363
+ }
340
364
  if (changed.has("centerSnap")) {
341
365
  this.style.setProperty("--_snapAlign", this.centerSnap ? "center" : "start");
342
366
  this.updateCenterPadding();
@@ -378,9 +402,10 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
378
402
  this.goToIndex(index);
379
403
  }
380
404
  /**
381
- * Reads a length custom property (e.g. `--carousel-nav-icon-size`) off
382
- * the host as a plain number of pixels, falling back when unset or
383
- * invalid.
405
+ * Reads a numeric custom property (a length such as
406
+ * `--carousel-nav-icon-size`, or a plain count such as
407
+ * `--carousel-visible-slides`) off the host as a plain number, pixels
408
+ * for a length, falling back when unset or invalid.
384
409
  *
385
410
  * @param name the custom property's name.
386
411
  * @param fallback the value to use when unset or invalid.
@@ -398,7 +423,21 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
398
423
  * @private
399
424
  */
400
425
  get pageCount() {
401
- return Math.ceil(this.maxIndex / Math.max(1, this.scrollStep)) + 1;
426
+ return Math.ceil(this.maxIndex / this.effectiveScrollStep) + 1;
427
+ }
428
+ /**
429
+ * Re-reads the custom properties that override a numeric prop
430
+ * (`--carousel-visible-slides`, `--carousel-scroll-step`), so a
431
+ * consumer's own media or container query can change them without any
432
+ * script. Runs on first render, whenever the matching prop changes, and
433
+ * on every resize : a query flipping these values almost always goes
434
+ * together with the carousel itself changing size, which is what the
435
+ * {@link resizeObserver} already watches.
436
+ * @private
437
+ */
438
+ syncCssOverrides() {
439
+ this.effectiveVisibleSlides = Math.max(1, Math.round(this.getCssPixelValue("--carousel-visible-slides", this.visibleSlides)));
440
+ this.effectiveScrollStep = Math.max(1, Math.round(this.getCssPixelValue("--carousel-scroll-step", this.scrollStep)));
402
441
  }
403
442
  /**
404
443
  * Measures, from actual rendered geometry, which slide index the track
@@ -479,16 +518,17 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
479
518
  this.style.setProperty("--_centerPadding", `${padding}px`);
480
519
  }
481
520
  /**
482
- * Re-measures the host's own width against {@link responsiveBreakpoint},
483
- * driving {@link narrow}. A `responsiveBreakpoint` of `0` (or less)
521
+ * Re-measures the host's own width against the breakpoint in effect
522
+ * (`--carousel-responsive-breakpoint` when set, {@link responsiveBreakpoint}
523
+ * otherwise), driving {@link narrow}. A breakpoint of `0` (or less)
484
524
  * disables the auto-switch outright, leaving `narrow` permanently
485
525
  * `false`.
486
526
  * @private
487
527
  */
488
528
  updateNarrow() {
529
+ const breakpoint = this.getCssPixelValue("--carousel-responsive-breakpoint", this.responsiveBreakpoint);
489
530
  this.narrow =
490
- this.responsiveBreakpoint > 0 &&
491
- this.getBoundingClientRect().width < this.responsiveBreakpoint;
531
+ breakpoint > 0 && this.getBoundingClientRect().width < breakpoint;
492
532
  }
493
533
  /**
494
534
  * Re-scans the default slot for its current slides, and (re)applies the
@@ -573,13 +613,16 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
573
613
  });
574
614
  }
575
615
  /**
576
- * Advances (or retreats) by `scrollStep` slides from the current index.
616
+ * Advances (or retreats) by the scroll step in effect (see
617
+ * {@link effectiveScrollStep}), re-read first so a custom property that
618
+ * changed without a resize is still honored.
577
619
  *
578
620
  * @param direction `1` for next, `-1` for previous.
579
621
  * @private
580
622
  */
581
623
  step(direction) {
582
- this.goToIndex(this.currentIndex + direction * Math.max(1, this.scrollStep));
624
+ this.syncCssOverrides();
625
+ this.goToIndex(this.currentIndex + direction * this.effectiveScrollStep);
583
626
  }
584
627
  /**
585
628
  * Starts the autoplay timer, if not already running, autoplay is on,
@@ -632,7 +675,7 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
632
675
  return "";
633
676
  }
634
677
  const start = this.currentIndex + 1;
635
- const visible = Math.max(1, Math.min(this.visibleSlides, this.slideCount - this.currentIndex));
678
+ const visible = Math.max(1, Math.min(this.effectiveVisibleSlides, this.slideCount - this.currentIndex));
636
679
  const end = Math.min(start + visible - 1, this.slideCount);
637
680
  return end > start
638
681
  ? `Showing slides ${start} to ${end} of ${this.slideCount}`
@@ -721,7 +764,7 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
721
764
  if (!this.showDots || this.pageCount <= 1) {
722
765
  return nothing;
723
766
  }
724
- const step = Math.max(1, this.scrollStep);
767
+ const step = this.effectiveScrollStep;
725
768
  const currentPage = Math.round(this.currentIndex / step);
726
769
  return html `
727
770
  <div
@@ -892,6 +935,12 @@ __decorate([
892
935
  __decorate([
893
936
  state()
894
937
  ], EunomiaCarousel.prototype, "narrow", void 0);
938
+ __decorate([
939
+ state()
940
+ ], EunomiaCarousel.prototype, "effectiveVisibleSlides", void 0);
941
+ __decorate([
942
+ state()
943
+ ], EunomiaCarousel.prototype, "effectiveScrollStep", void 0);
895
944
  __decorate([
896
945
  query("#track")
897
946
  ], EunomiaCarousel.prototype, "trackEl", void 0);
@@ -3,6 +3,10 @@ import { css } from "lit";
3
3
  * Base style for the carousel component.
4
4
  *
5
5
  * Custom css variables:
6
+ * [--carousel-visible-slides] - Set how many slides are shown at once, overriding `visibleSlides` ; meant for the consumer's own media/container queries
7
+ * [--carousel-scroll-step] - Set how many slides a prev/next/dot click advances by, overriding `scrollStep`
8
+ * [--carousel-responsive-breakpoint] - Set the width (px) below which an `inline` layout moves its buttons into the header row, overriding `responsiveBreakpoint`
9
+ * [--carousel-fade-display] - Set to `none` to hide the edge fades via pure CSS (e.g. in a container query), regardless of `edgeFade`
6
10
  * [--carousel-gap] - Set a custom gap between slides
7
11
  * [--carousel-track-padding] - Set a custom vertical padding on the track, giving slides' own effects that bleed outside their box (a hover shadow, `eun-sliding-card`'s bottom fade, ...) room to render before `overflow-y: hidden` clips them
8
12
  * [--carousel-min-slide-width] - Set a custom minimum slide width ; on a narrow viewport, this wins over `visibleSlides` so slides never get uncomfortably small — fewer of them just become scrollable off-screen instead
@@ -33,6 +37,10 @@ const base = css `
33
37
  :host {
34
38
  display: block;
35
39
  --_visibleCount: 1;
40
+ --_effectiveVisibleCount: var(
41
+ --carousel-visible-slides,
42
+ var(--_visibleCount)
43
+ );
36
44
  --_snapAlign: start;
37
45
  }
38
46
 
@@ -84,6 +92,7 @@ const base = css `
84
92
  #viewport::before,
85
93
  #viewport::after {
86
94
  content: "";
95
+ display: var(--carousel-fade-display, block);
87
96
  position: absolute;
88
97
  top: 0;
89
98
  bottom: 0;
@@ -125,7 +134,7 @@ const base = css `
125
134
  scrollbar-width: none;
126
135
  outline: 2px solid transparent;
127
136
  outline-offset: 8px;
128
- border-radius: var(--eun-borderRadius-m);
137
+ border-radius: var(--eun-border-radius-m);
129
138
  transition: outline 0.2s ease-out;
130
139
  }
131
140
  #track::-webkit-scrollbar {
@@ -156,8 +165,11 @@ const base = css `
156
165
  flex-basis: max(
157
166
  var(--carousel-min-slide-width, 220px),
158
167
  calc(
159
- (100% - (var(--_visibleCount) - 1) * var(--carousel-gap, 16px)) /
160
- var(--_visibleCount)
168
+ (
169
+ 100% - (var(--_effectiveVisibleCount) - 1) *
170
+ var(--carousel-gap, 16px)
171
+ ) /
172
+ var(--_effectiveVisibleCount)
161
173
  )
162
174
  );
163
175
  }
@@ -167,9 +179,9 @@ const base = css `
167
179
  calc(
168
180
  (
169
181
  100% - var(--carousel-peek-size, 32px) -
170
- (var(--_visibleCount) - 1) * var(--carousel-gap, 16px)
182
+ (var(--_effectiveVisibleCount) - 1) * var(--carousel-gap, 16px)
171
183
  ) /
172
- var(--_visibleCount)
184
+ var(--_effectiveVisibleCount)
173
185
  )
174
186
  );
175
187
  }
@@ -190,7 +202,7 @@ const base = css `
190
202
  align-items: center;
191
203
  justify-content: center;
192
204
  border-radius: 50%;
193
- border: var(--eun-borderWidth-s, 1px) solid
205
+ border: var(--eun-border-width-s, 1px) solid
194
206
  var(--carousel-nav-border-color, var(--eun-border-color, #dee0e7));
195
207
  background: var(
196
208
  --carousel-nav-background,
@@ -274,7 +286,7 @@ const base = css `
274
286
  width: calc(var(--carousel-dot-size, 6px) * 3.5);
275
287
  border-radius: var(
276
288
  --carousel-dot-border-radius,
277
- var(--eun-borderRadius-full, 999px)
289
+ var(--eun-border-radius-full, 999px)
278
290
  );
279
291
  background: var(
280
292
  --carousel-dot-active-color,
@@ -55,8 +55,8 @@ export const paginationStyles = css `
55
55
  height: var(--pagination-item-size, 32px);
56
56
  padding-inline: var(--eun-space-xs, 4px);
57
57
  font-family: inherit;
58
- font-size: var(--pagination-font-size, var(--eun-fontSize-s, 14px));
59
- font-weight: var(--eun-fontWeight-m, 500);
58
+ font-size: var(--pagination-font-size, var(--eun-font-size-s, 14px));
59
+ font-weight: var(--eun-font-weight-m, 500);
60
60
  line-height: 1;
61
61
  }
62
62
  :host([show-labels]) button.control {
@@ -71,7 +71,7 @@ export const paginationStyles = css `
71
71
  border: none;
72
72
  border-radius: var(
73
73
  --pagination-border-radius,
74
- var(--eun-borderRadius-m, 8px)
74
+ var(--eun-border-radius-m, 8px)
75
75
  );
76
76
  background: transparent;
77
77
  color: var(--pagination-item-color, var(--eun-text-secondary, #484e61));
@@ -34,14 +34,14 @@ const base = css `
34
34
  box-sizing: border-box;
35
35
  width: var(--_width);
36
36
  transition: width var(--_transitionDuration) ease;
37
- border-inline-end: var(--eun-borderWidth-s, 1px) solid var(--_borderColor);
37
+ border-inline-end: var(--eun-border-width-s, 1px) solid var(--_borderColor);
38
38
  }
39
39
  :host([dragging]) {
40
40
  transition: none;
41
41
  }
42
42
  :host([position="end"]) {
43
43
  border-inline-end: none;
44
- border-inline-start: var(--eun-borderWidth-s, 1px) solid var(--_borderColor);
44
+ border-inline-start: var(--eun-border-width-s, 1px) solid var(--_borderColor);
45
45
  }
46
46
  :host([collapsed][collapse-mode="mini"]) {
47
47
  --_width: var(--_miniWidth);
@@ -80,8 +80,8 @@ const base = css `
80
80
  }
81
81
  #heading {
82
82
  margin: 0;
83
- font-size: var(--eun-fontSize-l, 18px);
84
- font-weight: var(--eun-fontWeight-l, 700);
83
+ font-size: var(--eun-font-size-l, 18px);
84
+ font-weight: var(--eun-font-weight-l, 700);
85
85
  color: inherit;
86
86
  }
87
87
  #body {
@@ -89,7 +89,7 @@ const base = css `
89
89
  min-height: 0;
90
90
  overflow-y: auto;
91
91
  padding: var(--_gap) var(--_padding);
92
- font-size: var(--eun-fontSize-s, 14px);
92
+ font-size: var(--eun-font-size-s, 14px);
93
93
  }
94
94
  #footer {
95
95
  flex: none;
@@ -139,8 +139,8 @@ const base = css `
139
139
  height: 28px;
140
140
  padding: 0;
141
141
  background: var(--_background);
142
- border: var(--eun-borderWidth-s, 1px) solid var(--_borderColor);
143
- border-radius: var(--eun-borderRadius-xl, 999px);
142
+ border: var(--eun-border-width-s, 1px) solid var(--_borderColor);
143
+ border-radius: var(--eun-border-radius-xl, 999px);
144
144
  color: var(--eun-text-secondary, #484e61);
145
145
  cursor: pointer;
146
146
  transition: background-color 0.15s ease;
@@ -161,12 +161,12 @@ const base = css `
161
161
  width: 100%;
162
162
  padding: var(--eun-space-s, 8px) var(--_padding);
163
163
  border: none;
164
- border-top: var(--eun-borderWidth-s, 1px) solid var(--_borderColor);
164
+ border-top: var(--eun-border-width-s, 1px) solid var(--_borderColor);
165
165
  border-radius: 0;
166
166
  background: transparent;
167
167
  color: var(--eun-text-secondary, #484e61);
168
168
  font: inherit;
169
- font-size: var(--eun-fontSize-s, 14px);
169
+ font-size: var(--eun-font-size-s, 14px);
170
170
  text-align: start;
171
171
  cursor: pointer;
172
172
  transition: background-color 0.15s ease;
@@ -61,7 +61,7 @@ export const stepStyles = css `
61
61
  text-align: left;
62
62
  outline: 2px solid transparent;
63
63
  outline-offset: 2px;
64
- border-radius: var(--eun-borderRadius-m, 8px);
64
+ border-radius: var(--eun-border-radius-m, 8px);
65
65
  flex: 0 1 auto;
66
66
  min-width: 0;
67
67
  }
@@ -100,17 +100,17 @@ export const stepStyles = css `
100
100
  height: var(--_indicatorSize);
101
101
  border-radius: var(
102
102
  --stepper-indicator-border-radius,
103
- var(--eun-borderRadius-xl, 999px)
103
+ var(--eun-border-radius-xl, 999px)
104
104
  );
105
105
  background: var(
106
106
  --stepper-indicator-background,
107
107
  var(--eun-content-hover, #edeff0)
108
108
  );
109
109
  color: var(--stepper-indicator-color, var(--eun-text-secondary, #484e61));
110
- font-size: var(--stepper-indicator-font-size, var(--eun-fontSize-xs, 12px));
110
+ font-size: var(--stepper-indicator-font-size, var(--eun-font-size-xs, 12px));
111
111
  font-weight: var(
112
112
  --stepper-indicator-font-weight,
113
- var(--eun-fontWeight-m, 500)
113
+ var(--eun-font-weight-m, 500)
114
114
  );
115
115
  transition:
116
116
  background var(--stepper-transition-duration, 0.2s) ease-out,
@@ -163,18 +163,18 @@ export const stepStyles = css `
163
163
  min-width: 0;
164
164
  }
165
165
  .label {
166
- font-size: var(--stepper-label-font-size, var(--eun-fontSize-s, 14px));
167
- font-weight: var(--stepper-label-font-weight, var(--eun-fontWeight-m, 500));
166
+ font-size: var(--stepper-label-font-size, var(--eun-font-size-s, 14px));
167
+ font-weight: var(--stepper-label-font-weight, var(--eun-font-weight-m, 500));
168
168
  color: var(--stepper-label-color, var(--eun-text-color, #071621));
169
169
  }
170
170
  :host([status="current"]) .label {
171
171
  color: var(--stepper-label-color-current, var(--eun-text-color, #071621));
172
- font-weight: var(--eun-fontWeight-l, 700);
172
+ font-weight: var(--eun-font-weight-l, 700);
173
173
  }
174
174
  .description {
175
175
  font-size: var(
176
176
  --stepper-description-font-size,
177
- var(--eun-fontSize-xs, 12px)
177
+ var(--eun-font-size-xs, 12px)
178
178
  );
179
179
  color: var(--stepper-description-color, var(--eun-text-secondary, #484e61));
180
180
  }
@@ -161,7 +161,7 @@ export const stepperStyles = css `
161
161
  text-align: left;
162
162
  outline: 2px solid transparent;
163
163
  outline-offset: 2px;
164
- border-radius: var(--eun-borderRadius-m, 8px);
164
+ border-radius: var(--eun-border-radius-m, 8px);
165
165
  }
166
166
 
167
167
  .step-control.has-description {
@@ -199,17 +199,17 @@ export const stepperStyles = css `
199
199
  height: var(--_indicatorSize);
200
200
  border-radius: var(
201
201
  --stepper-indicator-border-radius,
202
- var(--eun-borderRadius-xl, 999px)
202
+ var(--eun-border-radius-xl, 999px)
203
203
  );
204
204
  background: var(
205
205
  --stepper-indicator-background,
206
206
  var(--eun-content-hover, #edeff0)
207
207
  );
208
208
  color: var(--stepper-indicator-color, var(--eun-text-secondary, #484e61));
209
- font-size: var(--stepper-indicator-font-size, var(--eun-fontSize-xs, 12px));
209
+ font-size: var(--stepper-indicator-font-size, var(--eun-font-size-xs, 12px));
210
210
  font-weight: var(
211
211
  --stepper-indicator-font-weight,
212
- var(--eun-fontWeight-m, 500)
212
+ var(--eun-font-weight-m, 500)
213
213
  );
214
214
  transition:
215
215
  background var(--stepper-transition-duration, 0.2s) ease-out,
@@ -304,18 +304,18 @@ export const stepperStyles = css `
304
304
  min-width: 0;
305
305
  }
306
306
  .label {
307
- font-size: var(--stepper-label-font-size, var(--eun-fontSize-s, 14px));
308
- font-weight: var(--stepper-label-font-weight, var(--eun-fontWeight-m, 500));
307
+ font-size: var(--stepper-label-font-size, var(--eun-font-size-s, 14px));
308
+ font-weight: var(--stepper-label-font-weight, var(--eun-font-weight-m, 500));
309
309
  color: var(--stepper-label-color, var(--eun-text-color, #071621));
310
310
  }
311
311
  li.step[data-status="current"] .label {
312
312
  color: var(--stepper-label-color-current, var(--eun-text-color, #071621));
313
- font-weight: var(--eun-fontWeight-l, 700);
313
+ font-weight: var(--eun-font-weight-l, 700);
314
314
  }
315
315
  .description {
316
316
  font-size: var(
317
317
  --stepper-description-font-size,
318
- var(--eun-fontSize-xs, 12px)
318
+ var(--eun-font-size-xs, 12px)
319
319
  );
320
320
  color: var(--stepper-description-color, var(--eun-text-secondary, #484e61));
321
321
  }
@@ -38,8 +38,8 @@ const base = css `
38
38
  --_border: var(--tab-border);
39
39
  --_border-radius: var(--tab-border-radius, 8px);
40
40
  --_pointerEvents: all;
41
- font-size: var(--eun-fontSize-s, 14px);
42
- font-weight: var(--eun-fontWeight-m, 500);
41
+ font-size: var(--eun-font-size-s, 14px);
42
+ font-weight: var(--eun-font-weight-m, 500);
43
43
  outline: none;
44
44
  font-family: var(--eun-font-family, "Mulish", sans-serif);
45
45
  z-index: 1;
@@ -110,7 +110,7 @@ const base = css `
110
110
  :host([icon]) div slot[name="icon"],
111
111
  div[has-icon] slot[name="icon"] {
112
112
  grid-area: icon;
113
- font-size: var(--eun-fontSize-m, 16px);
113
+ font-size: var(--eun-font-size-m, 16px);
114
114
  line-height: 1;
115
115
  display: block;
116
116
  }
@@ -137,7 +137,7 @@ const base = css `
137
137
  --tab-notification-color,
138
138
  var(--eun-color-critical-100, #aa0014)
139
139
  );
140
- border-radius: var(--eun-borderRadius-xl, 999px);
140
+ border-radius: var(--eun-border-radius-xl, 999px);
141
141
  transition: scale 0.2s cubic-bezier(0.35, 0.92, 0.65, 1.28);
142
142
  scale: 1;
143
143
  place-self: var(--_badge-place, start);
@@ -165,7 +165,7 @@ const base = css `
165
165
 
166
166
  @media (min-width: ${EUNOMIA_BREAKPOINTS.tablet}px) {
167
167
  :host {
168
- font-size: var(--eun-fontSize-s, 14px);
168
+ font-size: var(--eun-font-size-s, 14px);
169
169
  }
170
170
  :host([badge]) div::after {
171
171
  --_y-correction: none;