@eunomia/elements 1.0.0-beta.5 → 1.0.0-beta.7

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 (516) hide show
  1. package/README.md +2 -2
  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-36KLGY6U.js +209 -0
  6. package/dist/cdn/components/chunks/chunk-3BMACIDO.js +1 -0
  7. package/dist/cdn/components/chunks/{chunk-IDKZKLJR.js → chunk-3PNGQEG4.js} +24 -11
  8. package/dist/cdn/components/chunks/{chunk-NBIENHLV.js → chunk-5XPOGBPL.js} +18 -18
  9. package/dist/cdn/components/chunks/chunk-624VJYNA.js +1 -0
  10. package/dist/cdn/components/chunks/chunk-62RLISRD.js +1 -0
  11. package/dist/cdn/components/chunks/{chunk-6ETDXUH2.js → chunk-6FYW5TQU.js} +7 -7
  12. package/dist/cdn/components/chunks/chunk-AK2DIJX7.js +1 -0
  13. package/dist/cdn/components/chunks/chunk-B5XMGWM7.js +10 -0
  14. package/dist/cdn/components/chunks/chunk-BKZGTCMF.js +1 -0
  15. package/dist/cdn/components/chunks/{chunk-GW3VP2L7.js → chunk-BO3JOEWM.js} +1 -1
  16. package/dist/cdn/components/chunks/chunk-BVASCT2V.js +109 -0
  17. package/dist/cdn/components/chunks/{chunk-DKOPI7QA.js → chunk-DGI7TKCU.js} +83 -68
  18. package/dist/cdn/components/chunks/chunk-EUWUDCBZ.js +1 -0
  19. package/dist/cdn/components/chunks/{chunk-P32B7BFD.js → chunk-FF3I7C3C.js} +15 -15
  20. package/dist/cdn/components/chunks/{chunk-74AOAB4X.js → chunk-FOILAXLL.js} +6 -5
  21. package/dist/cdn/components/chunks/{chunk-LGLQ36QB.js → chunk-GDBPWZN6.js} +1 -1
  22. package/dist/cdn/components/chunks/chunk-GVS6IUKC.js +1 -0
  23. package/dist/cdn/components/chunks/chunk-GWLD2I3P.js +8 -0
  24. package/dist/cdn/components/chunks/{chunk-JRGM3W7I.js → chunk-I4ERDXSM.js} +9 -4
  25. package/dist/cdn/components/chunks/{chunk-AIS3UICU.js → chunk-J3SZBXM6.js} +11 -7
  26. package/dist/cdn/components/chunks/{chunk-5XJGYXW7.js → chunk-LVKMAHMU.js} +11 -1
  27. package/dist/cdn/components/chunks/{chunk-SD2WHGPF.js → chunk-MQQJ6DID.js} +1 -1
  28. package/dist/cdn/components/chunks/{chunk-A4EQSU36.js → chunk-O7PHBLH2.js} +1 -1
  29. package/dist/cdn/components/chunks/chunk-PD62MBOJ.js +1 -0
  30. package/dist/cdn/components/chunks/{chunk-5EVP7YNE.js → chunk-PPCHQG7P.js} +1 -1
  31. package/dist/cdn/components/chunks/{chunk-MPQP4R54.js → chunk-PXF554MD.js} +10 -9
  32. package/dist/cdn/components/chunks/chunk-QL5GSW2A.js +1 -0
  33. package/dist/cdn/components/chunks/{chunk-5XJLIHAU.js → chunk-QXQ25SQS.js} +24 -20
  34. package/dist/cdn/components/chunks/chunk-SMTIDNGW.js +1 -0
  35. package/dist/cdn/components/chunks/{chunk-PED5ATYN.js → chunk-SVGWCKWT.js} +2 -2
  36. package/dist/cdn/components/chunks/{chunk-2XASWWKR.js → chunk-TFTRCIIK.js} +9 -8
  37. package/dist/cdn/components/chunks/chunk-TLBXTBMM.js +46 -0
  38. package/dist/cdn/components/chunks/chunk-UVHVQRPT.js +1 -0
  39. package/dist/cdn/components/chunks/{chunk-L65WUTXM.js → chunk-UYZR4JXZ.js} +12 -7
  40. package/dist/cdn/components/chunks/chunk-VG6NAAIV.js +1 -0
  41. package/dist/cdn/components/chunks/chunk-VJCNHMQZ.js +10 -0
  42. package/dist/cdn/components/chunks/chunk-WW4BTWMH.js +1 -0
  43. package/dist/cdn/components/chunks/{chunk-XH6NREVZ.js → chunk-YITWLCD3.js} +1 -1
  44. package/dist/cdn/components/chunks/{chunk-OW7XKDCH.js → chunk-Z3OFIE7S.js} +16 -16
  45. package/dist/cdn/components/chunks/{chunk-BQHYZB2W.js → chunk-ZBN4HTWP.js} +1 -1
  46. package/dist/cdn/components/eun-alert.js +33 -18
  47. package/dist/cdn/components/eun-animate.js +14 -10
  48. package/dist/cdn/components/eun-badge.js +2 -2
  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 +67 -65
  52. package/dist/cdn/components/eun-card.js +34 -19
  53. package/dist/cdn/components/eun-carousel.js +76 -42
  54. package/dist/cdn/components/eun-check-card.js +13 -6
  55. package/dist/cdn/components/eun-checkbox-list.js +11 -8
  56. package/dist/cdn/components/eun-checkbox.js +1 -1
  57. package/dist/cdn/components/eun-chip.js +3 -3
  58. package/dist/cdn/components/eun-collapse.js +56 -27
  59. package/dist/cdn/components/eun-color-picker.js +79 -86
  60. package/dist/cdn/components/eun-counter.js +16 -15
  61. package/dist/cdn/components/eun-date-picker.js +71 -67
  62. package/dist/cdn/components/eun-description-list.js +152 -0
  63. package/dist/cdn/components/eun-divider.js +3 -3
  64. package/dist/cdn/components/eun-drawer.js +34 -20
  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 +17 -16
  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 +20 -19
  73. package/dist/cdn/components/eun-input-phone.js +17 -16
  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 +78 -29
  77. package/dist/cdn/components/eun-loader.js +1 -1
  78. package/dist/cdn/components/eun-modal.js +27 -20
  79. package/dist/cdn/components/eun-pagination.js +24 -19
  80. package/dist/cdn/components/eun-password-strength.js +19 -11
  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 +12 -9
  84. package/dist/cdn/components/eun-radio.js +1 -1
  85. package/dist/cdn/components/eun-rating.js +276 -0
  86. package/dist/cdn/components/eun-scheduler-event-editor.js +10 -10
  87. package/dist/cdn/components/eun-scheduler-event.js +1 -1
  88. package/dist/cdn/components/eun-scheduler.js +27 -27
  89. package/dist/cdn/components/eun-search.js +24 -25
  90. package/dist/cdn/components/eun-select.js +32 -31
  91. package/dist/cdn/components/eun-sidebar.js +40 -24
  92. package/dist/cdn/components/eun-skeleton.js +1 -1
  93. package/dist/cdn/components/eun-slider.js +15 -14
  94. package/dist/cdn/components/eun-sliding-card.js +8 -4
  95. package/dist/cdn/components/eun-step.js +22 -10
  96. package/dist/cdn/components/eun-stepper.js +41 -30
  97. package/dist/cdn/components/eun-switch.js +10 -8
  98. package/dist/cdn/components/eun-tab-group.js +24 -19
  99. package/dist/cdn/components/eun-tab-panel.js +11 -3
  100. package/dist/cdn/components/eun-tab.js +1 -1
  101. package/dist/cdn/components/eun-table-action-bar.js +1 -1
  102. package/dist/cdn/components/eun-table.js +572 -31
  103. package/dist/cdn/components/eun-tag.js +13 -7
  104. package/dist/cdn/components/eun-textarea.js +34 -29
  105. package/dist/cdn/components/eun-time-picker.js +24 -21
  106. package/dist/cdn/components/eun-toast.js +51 -22
  107. package/dist/cdn/components/eun-toggle-group.js +57 -36
  108. package/dist/cdn/components/eun-toggle-item.js +16 -15
  109. package/dist/cdn/components/eun-toggle.js +12 -10
  110. package/dist/cdn/components/eun-toolbar.js +64 -54
  111. package/dist/cdn/components/eun-tooltip.js +30 -14
  112. package/dist/cdn/styles/breakpoints.scss +8 -0
  113. package/dist/cdn/styles/eunomia-grid.scss +6 -0
  114. package/dist/cdn/styles/eunomia-themes.css +1 -1
  115. package/dist/cdn/styles/themes/eunomia-theme.css +1 -1
  116. package/dist/cdn/styles/themes/eunomia-theme.scss +4 -3
  117. package/dist/cdn/styles/themes/mixins/eunomia-a11y-color.mixin.scss +34 -1
  118. package/dist/cdn/styles/themes/mixins/eunomia-neutrals.mixin.scss +4 -0
  119. package/dist/cdn/styles/themes/mixins/eunomia-states.mixin.scss +36 -12
  120. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +10 -10
  121. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +10 -10
  122. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.css +1 -1
  123. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +3 -2
  124. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +10 -10
  125. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +10 -10
  126. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.css +1 -1
  127. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +3 -2
  128. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +10 -10
  129. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +10 -10
  130. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.css +1 -1
  131. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +3 -2
  132. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +10 -10
  133. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +10 -10
  134. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.css +1 -1
  135. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +3 -2
  136. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +10 -10
  137. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +10 -10
  138. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.css +1 -1
  139. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +3 -2
  140. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +10 -10
  141. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +10 -10
  142. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.css +1 -1
  143. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +3 -2
  144. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +10 -10
  145. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +10 -10
  146. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.css +1 -1
  147. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +3 -2
  148. package/dist/cdn/styles/tools/indexes/eunomia-media-queries.index.scss +1 -3
  149. package/dist/cdn/styles/tools/indexes/eunomia-tools.index.scss +1 -0
  150. package/dist/cdn/styles/tools/mixins/layout/eunomia-grid.mixin.scss +117 -53
  151. package/dist/cdn/styles/tools/mixins/media-queries/eunomia-media-queries.mixin.scss +69 -0
  152. package/dist/cdn/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +28 -4
  153. package/dist/cdn/styles/tools/mixins/settings/eunomia-motion.mixin.scss +9 -0
  154. package/dist/cdn/styles/tools/variables/eunomia.breakpoints.scss +4 -0
  155. package/dist/components/action/button/button.d.ts +9 -3
  156. package/dist/components/action/button/button.js +10 -4
  157. package/dist/components/action/button/button.styles.js +61 -41
  158. package/dist/components/action/dropdown-button/dropdown-button.d.ts +2 -2
  159. package/dist/components/action/dropdown-button/dropdown-button.js +21 -15
  160. package/dist/components/action/dropdown-button/dropdown-button.styles.js +3 -2
  161. package/dist/components/action/dropdown-button/dropdown-item.js +5 -6
  162. package/dist/components/action/dropdown-button/dropdown-item.styles.js +3 -2
  163. package/dist/components/action/fab/fab.styles.js +14 -13
  164. package/dist/components/action/link/link.d.ts +7 -3
  165. package/dist/components/action/link/link.js +11 -7
  166. package/dist/components/action/link/link.styles.js +66 -15
  167. package/dist/components/action/shared-styles/button-palette.styles.js +15 -15
  168. package/dist/components/action/toggle/toggle-group.d.ts +2 -0
  169. package/dist/components/action/toggle/toggle-group.js +6 -4
  170. package/dist/components/action/toggle/toggle-group.styles.d.ts +2 -0
  171. package/dist/components/action/toggle/toggle-group.styles.js +46 -23
  172. package/dist/components/action/toggle/toggle-item.styles.js +13 -12
  173. package/dist/components/action/toggle/toggle.d.ts +2 -0
  174. package/dist/components/action/toggle/toggle.js +3 -1
  175. package/dist/components/action/toggle/toggle.styles.d.ts +2 -0
  176. package/dist/components/action/toggle/toggle.styles.js +12 -8
  177. package/dist/components/alert/alert/alert.d.ts +11 -7
  178. package/dist/components/alert/alert/alert.js +13 -14
  179. package/dist/components/alert/alert/alert.styles.js +32 -15
  180. package/dist/components/alert/drawer/drawer.d.ts +8 -6
  181. package/dist/components/alert/drawer/drawer.js +12 -14
  182. package/dist/components/alert/drawer/drawer.styles.js +26 -10
  183. package/dist/components/alert/modal/modal.d.ts +13 -11
  184. package/dist/components/alert/modal/modal.js +17 -27
  185. package/dist/components/alert/modal/modal.styles.js +16 -7
  186. package/dist/components/alert/toast/toast.d.ts +9 -5
  187. package/dist/components/alert/toast/toast.js +11 -13
  188. package/dist/components/alert/toast/toast.styles.js +49 -18
  189. package/dist/components/content/badge/badge.js +2 -2
  190. package/dist/components/content/card/card.d.ts +7 -3
  191. package/dist/components/content/card/card.js +8 -4
  192. package/dist/components/content/card/card.styles.js +28 -13
  193. package/dist/components/content/card/image-card.d.ts +60 -6
  194. package/dist/components/content/card/image-card.js +120 -11
  195. package/dist/components/content/card/image-card.styles.js +66 -15
  196. package/dist/components/content/card/sliding-card.d.ts +2 -0
  197. package/dist/components/content/card/sliding-card.js +2 -0
  198. package/dist/components/content/card/sliding-card.styles.js +5 -1
  199. package/dist/components/content/chip/chip.d.ts +4 -4
  200. package/dist/components/content/chip/chip.js +8 -8
  201. package/dist/components/content/collapse/collapse.d.ts +10 -1
  202. package/dist/components/content/collapse/collapse.js +12 -2
  203. package/dist/components/content/collapse/collapse.styles.d.ts +10 -1
  204. package/dist/components/content/collapse/collapse.styles.js +56 -18
  205. package/dist/components/content/description-list/description-list.d.ts +87 -0
  206. package/dist/components/content/description-list/description-list.js +107 -0
  207. package/dist/components/content/description-list/description-list.styles.d.ts +1 -0
  208. package/dist/components/content/description-list/description-list.styles.js +185 -0
  209. package/dist/components/content/icon/icon.d.ts +5 -0
  210. package/dist/components/content/icon/icon.js +5 -0
  211. package/dist/components/content/icon/icon.style.d.ts +2 -0
  212. package/dist/components/content/icon/icon.style.js +8 -1
  213. package/dist/components/content/image-carousel/image-carousel.d.ts +30 -19
  214. package/dist/components/content/image-carousel/image-carousel.js +58 -55
  215. package/dist/components/content/image-carousel/image-carousel.styles.js +69 -30
  216. package/dist/components/content/password-strength/password-strength.d.ts +21 -6
  217. package/dist/components/content/password-strength/password-strength.js +37 -16
  218. package/dist/components/content/password-strength/password-strength.styles.js +9 -1
  219. package/dist/components/content/progress-bar/progress-bar.styles.js +12 -4
  220. package/dist/components/content/shared-styles/card-link.styles.js +4 -3
  221. package/dist/components/content/shared-styles/tone-surface.styles.d.ts +5 -0
  222. package/dist/components/content/shared-styles/tone-surface.styles.js +19 -14
  223. package/dist/components/content/tag/tag.d.ts +4 -0
  224. package/dist/components/content/tag/tag.js +6 -2
  225. package/dist/components/content/tag/tag.styles.js +14 -4
  226. package/dist/components/content/tooltip/tooltip.d.ts +3 -2
  227. package/dist/components/content/tooltip/tooltip.js +12 -19
  228. package/dist/components/content/tooltip/tooltip.styles.js +25 -7
  229. package/dist/components/form/checkbox/check-card.d.ts +5 -1
  230. package/dist/components/form/checkbox/check-card.js +5 -1
  231. package/dist/components/form/checkbox/check-card.styles.js +13 -4
  232. package/dist/components/form/checkbox/checkbox-list.d.ts +21 -1
  233. package/dist/components/form/checkbox/checkbox-list.js +50 -17
  234. package/dist/components/form/checkbox/checkbox.d.ts +5 -1
  235. package/dist/components/form/checkbox/checkbox.js +7 -2
  236. package/dist/components/form/checkbox/checkbox.styles.js +5 -4
  237. package/dist/components/form/color-picker/color-picker.d.ts +48 -29
  238. package/dist/components/form/color-picker/color-picker.js +85 -71
  239. package/dist/components/form/color-picker/color-picker.styles.js +7 -6
  240. package/dist/components/form/counter/counter.d.ts +26 -19
  241. package/dist/components/form/counter/counter.js +64 -63
  242. package/dist/components/form/counter/counter.styles.js +5 -4
  243. package/dist/components/form/date-picker/date-picker.d.ts +64 -39
  244. package/dist/components/form/date-picker/date-picker.js +107 -96
  245. package/dist/components/form/date-picker/date-picker.styles.js +8 -5
  246. package/dist/components/form/input/input.d.ts +45 -40
  247. package/dist/components/form/input/input.js +93 -111
  248. package/dist/components/form/input-file/input-file.d.ts +30 -14
  249. package/dist/components/form/input-file/input-file.js +43 -40
  250. package/dist/components/form/input-file/input-file.styles.js +7 -6
  251. package/dist/components/form/input-phone/input-phone.d.ts +30 -7
  252. package/dist/components/form/input-phone/input-phone.js +54 -30
  253. package/dist/components/form/input-phone/input-phone.styles.js +4 -4
  254. package/dist/components/form/label/label.styles.js +3 -3
  255. package/dist/components/form/radio/radio-card.d.ts +6 -2
  256. package/dist/components/form/radio/radio-card.js +6 -2
  257. package/dist/components/form/radio/radio-card.styles.js +14 -5
  258. package/dist/components/form/radio/radio-list.d.ts +28 -9
  259. package/dist/components/form/radio/radio-list.js +61 -32
  260. package/dist/components/form/radio/radio.d.ts +6 -2
  261. package/dist/components/form/radio/radio.js +6 -2
  262. package/dist/components/form/radio/radio.styles.js +4 -4
  263. package/dist/components/form/rating/rating.d.ts +349 -0
  264. package/dist/components/form/rating/rating.js +665 -0
  265. package/dist/components/form/rating/rating.styles.d.ts +1 -0
  266. package/dist/components/form/rating/rating.styles.js +213 -0
  267. package/dist/components/form/search/search.d.ts +10 -9
  268. package/dist/components/form/search/search.js +29 -56
  269. package/dist/components/form/search/search.styles.js +5 -4
  270. package/dist/components/form/select/select.d.ts +32 -12
  271. package/dist/components/form/select/select.js +74 -59
  272. package/dist/components/form/select/select.styles.js +3 -2
  273. package/dist/components/form/shared-styles/card.styles.js +5 -4
  274. package/dist/components/form/shared-styles/field.styles.js +16 -6
  275. package/dist/components/form/shared-styles/form-labels.styles.js +1 -1
  276. package/dist/components/form/shared-styles/listbox.styles.js +10 -0
  277. package/dist/components/form/slider/slider.d.ts +11 -9
  278. package/dist/components/form/slider/slider.js +14 -14
  279. package/dist/components/form/slider/slider.styles.js +8 -7
  280. package/dist/components/form/switch/switch.d.ts +5 -1
  281. package/dist/components/form/switch/switch.js +5 -1
  282. package/dist/components/form/switch/switch.styles.js +7 -5
  283. package/dist/components/form/textarea/textarea.d.ts +96 -24
  284. package/dist/components/form/textarea/textarea.js +206 -51
  285. package/dist/components/form/time-picker/time-picker-columns.d.ts +2 -2
  286. package/dist/components/form/time-picker/time-picker-columns.js +8 -8
  287. package/dist/components/form/time-picker/time-picker-columns.styles.js +4 -2
  288. package/dist/components/form/time-picker/time-picker-list.styles.js +2 -1
  289. package/dist/components/form/time-picker/time-picker.d.ts +30 -10
  290. package/dist/components/form/time-picker/time-picker.js +81 -64
  291. package/dist/components/form/time-picker/time-picker.styles.js +4 -3
  292. package/dist/components/layout/animate/animate.d.ts +37 -15
  293. package/dist/components/layout/animate/animate.js +36 -16
  294. package/dist/components/layout/animate/animate.styles.js +11 -18
  295. package/dist/components/layout/divider/divider.js +1 -1
  296. package/dist/components/layout/divider/divider.styles.js +1 -1
  297. package/dist/components/layout/infinite-list/infinite-list.d.ts +33 -10
  298. package/dist/components/layout/infinite-list/infinite-list.js +115 -18
  299. package/dist/components/layout/infinite-list/infinite-list.styles.d.ts +3 -0
  300. package/dist/components/layout/infinite-list/infinite-list.styles.js +17 -5
  301. package/dist/components/loader/loader/loader.js +2 -2
  302. package/dist/components/loader/loader/loader.styles.js +17 -13
  303. package/dist/components/loader/skeleton/skeleton.js +1 -1
  304. package/dist/components/navigation/breadcrumb/breadcrumb.d.ts +31 -45
  305. package/dist/components/navigation/breadcrumb/breadcrumb.js +111 -77
  306. package/dist/components/navigation/breadcrumb/breadcrumb.styles.d.ts +3 -0
  307. package/dist/components/navigation/breadcrumb/breadcrumb.styles.js +22 -26
  308. package/dist/components/navigation/carousel/carousel.d.ts +55 -11
  309. package/dist/components/navigation/carousel/carousel.js +101 -43
  310. package/dist/components/navigation/carousel/carousel.styles.js +65 -22
  311. package/dist/components/navigation/pagination/pagination.d.ts +23 -21
  312. package/dist/components/navigation/pagination/pagination.js +30 -53
  313. package/dist/components/navigation/pagination/pagination.styles.js +8 -3
  314. package/dist/components/navigation/sidebar/sidebar.d.ts +17 -13
  315. package/dist/components/navigation/sidebar/sidebar.js +23 -33
  316. package/dist/components/navigation/sidebar/sidebar.styles.js +32 -14
  317. package/dist/components/navigation/stepper/step.js +9 -8
  318. package/dist/components/navigation/stepper/step.styles.js +16 -5
  319. package/dist/components/navigation/stepper/stepper.js +12 -5
  320. package/dist/components/navigation/stepper/stepper.styles.js +16 -5
  321. package/dist/components/navigation/tabs/tab/tab.d.ts +11 -0
  322. package/dist/components/navigation/tabs/tab/tab.js +11 -0
  323. package/dist/components/navigation/tabs/tab/tab.styles.js +22 -16
  324. package/dist/components/navigation/tabs/tab-group/tab-group.js +9 -10
  325. package/dist/components/navigation/tabs/tab-group/tab-group.styles.js +21 -16
  326. package/dist/components/navigation/tabs/tab-panel/tab-panel.d.ts +4 -0
  327. package/dist/components/navigation/tabs/tab-panel/tab-panel.js +4 -0
  328. package/dist/components/navigation/tabs/tab-panel/tab-panel.styles.js +18 -1
  329. package/dist/components/navigation/toolbar/toolbar.d.ts +30 -62
  330. package/dist/components/navigation/toolbar/toolbar.js +43 -105
  331. package/dist/components/navigation/toolbar/toolbar.styles.js +59 -36
  332. package/dist/events/table-row-click.event.d.ts +5 -4
  333. package/dist/events/table-row-click.event.js +10 -5
  334. package/dist/features/scheduler/calendar/calendar.d.ts +6 -6
  335. package/dist/features/scheduler/calendar/calendar.js +7 -6
  336. package/dist/features/scheduler/calendar/calendar.styles.js +8 -6
  337. package/dist/features/scheduler/scheduler/scheduler.d.ts +8 -8
  338. package/dist/features/scheduler/scheduler/scheduler.js +24 -47
  339. package/dist/features/scheduler/scheduler/scheduler.styles.js +6 -4
  340. package/dist/features/scheduler/scheduler-event/scheduler-event.d.ts +2 -0
  341. package/dist/features/scheduler/scheduler-event/scheduler-event.js +5 -3
  342. package/dist/features/scheduler/scheduler-event/scheduler-event.styles.js +11 -5
  343. package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.d.ts +6 -4
  344. package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.js +6 -7
  345. package/dist/features/scheduler/shared/scheduler-hour-grid.styles.js +3 -3
  346. package/dist/features/scheduler/shared/scheduler-month-view.styles.js +2 -2
  347. package/dist/features/scheduler/shared/scheduler-year-view.styles.js +2 -2
  348. package/dist/features/table/table/table-native.styles.d.ts +28 -0
  349. package/dist/features/table/table/table-native.styles.js +502 -0
  350. package/dist/features/table/table/table.d.ts +342 -294
  351. package/dist/features/table/table/table.js +820 -546
  352. package/dist/features/table/table/table.styles.js +31 -17
  353. package/dist/features/table/table/table.types.d.ts +11 -20
  354. package/dist/features/table/table/table.utils.d.ts +6 -36
  355. package/dist/features/table/table/table.utils.js +16 -65
  356. package/dist/features/table/table-action-bar/table-action-bar.d.ts +33 -16
  357. package/dist/features/table/table-action-bar/table-action-bar.js +15 -22
  358. package/dist/features/table/table-action-bar/table-action-bar.styles.js +15 -3
  359. package/dist/i18n/en.d.ts +99 -0
  360. package/dist/i18n/en.js +99 -0
  361. package/dist/i18n/fr.js +103 -2
  362. package/dist/index.d.ts +6 -10
  363. package/dist/index.js +7 -10
  364. package/dist/mixins/button.mixin.js +3 -2
  365. package/dist/mixins/check.mixin.js +15 -15
  366. package/dist/mixins/disabled.mixin.d.ts +5 -0
  367. package/dist/mixins/disabled.mixin.js +21 -1
  368. package/dist/mixins/editable.mixin.js +28 -5
  369. package/dist/mixins/field-appearance.mixin.js +3 -2
  370. package/dist/mixins/form.mixin.d.ts +21 -1
  371. package/dist/mixins/form.mixin.js +156 -27
  372. package/dist/mixins/localizable.mixin.d.ts +1 -1
  373. package/dist/mixins/localizable.mixin.js +1 -1
  374. package/dist/mixins/radio.mixin.js +15 -15
  375. package/dist/mixins/readonly.mixin.d.ts +2 -1
  376. package/dist/mixins/readonly.mixin.js +10 -3
  377. package/dist/mixins/validators.mixin.d.ts +7 -1
  378. package/dist/mixins/validators.mixin.js +36 -17
  379. package/dist/ssr/alert-ssr.css +187 -0
  380. package/dist/ssr/animate-ssr.css +3 -2
  381. package/dist/ssr/badge-ssr.css +67 -0
  382. package/dist/ssr/breadcrumb-ssr.css +41 -0
  383. package/dist/ssr/button-ssr.css +319 -0
  384. package/dist/ssr/card-ssr.css +196 -0
  385. package/dist/ssr/carousel-ssr.css +238 -0
  386. package/dist/ssr/checkbox-ssr.css +67 -0
  387. package/dist/ssr/chip-ssr.css +242 -0
  388. package/dist/ssr/collapse-ssr.css +151 -0
  389. package/dist/ssr/description-list-ssr.css +150 -0
  390. package/dist/ssr/field-ssr.css +163 -0
  391. package/dist/ssr/icon-ssr.css +266 -0
  392. package/dist/ssr/image-carousel-ssr.css +24 -0
  393. package/dist/ssr/links-ssr.css +8 -2
  394. package/dist/ssr/pagination-ssr.css +4 -0
  395. package/dist/ssr/rating-ssr.css +254 -0
  396. package/dist/ssr/sidebar-ssr.css +9 -1
  397. package/dist/ssr/skeleton-ssr.css +63 -0
  398. package/dist/ssr/table-ssr.css +472 -0
  399. package/dist/ssr/tabs-ssr.css +129 -0
  400. package/dist/ssr/tag-ssr.css +197 -0
  401. package/dist/ssr/toggle-group-ssr.css +182 -0
  402. package/dist/ssr/toolbar-ssr.css +34 -1
  403. package/dist/utils/drag-drop.utils.js +18 -2
  404. package/dist/utils/dropdown-menu.utils.d.ts +2 -2
  405. package/dist/utils/dropdown-menu.utils.js +4 -14
  406. package/dist/utils/implicit-submission.utils.d.ts +18 -0
  407. package/dist/utils/implicit-submission.utils.js +79 -0
  408. package/dist/utils/light-dom-styles.utils.d.ts +14 -0
  409. package/dist/utils/light-dom-styles.utils.js +37 -0
  410. package/dist/utils/listbox-options.utils.d.ts +11 -0
  411. package/dist/utils/listbox-options.utils.js +41 -3
  412. package/dist/utils/media.styles.d.ts +19 -0
  413. package/dist/utils/media.styles.js +23 -0
  414. package/dist/utils/motion.utils.d.ts +40 -0
  415. package/dist/utils/motion.utils.js +51 -0
  416. package/dist/utils/theme-generator.utils.d.ts +6 -1
  417. package/dist/utils/theme-generator.utils.js +59 -20
  418. package/package.json +39 -31
  419. package/styles/breakpoints.scss +8 -0
  420. package/styles/eunomia-grid.scss +6 -0
  421. package/styles/themes/eunomia-theme.scss +4 -3
  422. package/styles/themes/mixins/eunomia-a11y-color.mixin.scss +34 -1
  423. package/styles/themes/mixins/eunomia-neutrals.mixin.scss +4 -0
  424. package/styles/themes/mixins/eunomia-states.mixin.scss +36 -12
  425. package/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +10 -10
  426. package/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +10 -10
  427. package/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +3 -2
  428. package/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +10 -10
  429. package/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +10 -10
  430. package/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +3 -2
  431. package/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +10 -10
  432. package/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +10 -10
  433. package/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +3 -2
  434. package/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +10 -10
  435. package/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +10 -10
  436. package/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +3 -2
  437. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +10 -10
  438. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +10 -10
  439. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +3 -2
  440. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +10 -10
  441. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +10 -10
  442. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +3 -2
  443. package/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +10 -10
  444. package/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +10 -10
  445. package/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +3 -2
  446. package/styles/tools/indexes/eunomia-media-queries.index.scss +1 -3
  447. package/styles/tools/indexes/eunomia-tools.index.scss +1 -0
  448. package/styles/tools/mixins/layout/eunomia-grid.mixin.scss +117 -53
  449. package/styles/tools/mixins/media-queries/eunomia-media-queries.mixin.scss +69 -0
  450. package/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +28 -4
  451. package/styles/tools/mixins/settings/eunomia-motion.mixin.scss +9 -0
  452. package/styles/tools/variables/eunomia.breakpoints.scss +4 -0
  453. package/dist/cdn/components/chunks/chunk-32DTNR52.js +0 -1
  454. package/dist/cdn/components/chunks/chunk-A6KGFALA.js +0 -132
  455. package/dist/cdn/components/chunks/chunk-CEDHJUUH.js +0 -1
  456. package/dist/cdn/components/chunks/chunk-D2M4BV5Y.js +0 -328
  457. package/dist/cdn/components/chunks/chunk-E4IS25H7.js +0 -1
  458. package/dist/cdn/components/chunks/chunk-E74CM7UG.js +0 -66
  459. package/dist/cdn/components/chunks/chunk-EAKYD33D.js +0 -110
  460. package/dist/cdn/components/chunks/chunk-EST3M4AO.js +0 -1
  461. package/dist/cdn/components/chunks/chunk-GU6BVMFJ.js +0 -1
  462. package/dist/cdn/components/chunks/chunk-KBH5PCUO.js +0 -3
  463. package/dist/cdn/components/chunks/chunk-KVYUNKUO.js +0 -27
  464. package/dist/cdn/components/chunks/chunk-LFCXUVDO.js +0 -1
  465. package/dist/cdn/components/chunks/chunk-OAULRKHQ.js +0 -38
  466. package/dist/cdn/components/chunks/chunk-PCM7D3YF.js +0 -84
  467. package/dist/cdn/components/chunks/chunk-S2UCEWNG.js +0 -207
  468. package/dist/cdn/components/chunks/chunk-SJWRE6PW.js +0 -1
  469. package/dist/cdn/components/chunks/chunk-T4PTHUYF.js +0 -10
  470. package/dist/cdn/components/chunks/chunk-VRGRCYIO.js +0 -1
  471. package/dist/cdn/components/chunks/chunk-X2AUBZD2.js +0 -30
  472. package/dist/cdn/components/eun-breadcrumb-item.js +0 -93
  473. package/dist/cdn/components/eun-table-cell.js +0 -1
  474. package/dist/cdn/components/eun-table-column.js +0 -1
  475. package/dist/cdn/components/eun-table-header.js +0 -1
  476. package/dist/cdn/components/eun-table-item.js +0 -1
  477. package/dist/cdn/components/eun-table-skeleton-row.js +0 -1
  478. package/dist/cdn/styles/tools/mixins/media-queries/eunomia-device.mixin.scss +0 -14
  479. package/dist/cdn/styles/tools/mixins/media-queries/eunomia-gte.mixin.scss +0 -26
  480. package/dist/cdn/styles/tools/mixins/media-queries/eunomia-lte.mixin.scss +0 -26
  481. package/dist/components/navigation/breadcrumb/breadcrumb-item.d.ts +0 -77
  482. package/dist/components/navigation/breadcrumb/breadcrumb-item.js +0 -130
  483. package/dist/components/navigation/breadcrumb/breadcrumb-item.styles.d.ts +0 -6
  484. package/dist/components/navigation/breadcrumb/breadcrumb-item.styles.js +0 -78
  485. package/dist/features/table/native-table.css +0 -276
  486. package/dist/features/table/shared-styles/table-row.styles.d.ts +0 -7
  487. package/dist/features/table/shared-styles/table-row.styles.js +0 -47
  488. package/dist/features/table/shared-styles/table-shared.styles.d.ts +0 -23
  489. package/dist/features/table/shared-styles/table-shared.styles.js +0 -33
  490. package/dist/features/table/table-cell/table-cell.d.ts +0 -59
  491. package/dist/features/table/table-cell/table-cell.js +0 -73
  492. package/dist/features/table/table-cell/table-cell.styles.d.ts +0 -1
  493. package/dist/features/table/table-cell/table-cell.styles.js +0 -46
  494. package/dist/features/table/table-column/table-column.d.ts +0 -73
  495. package/dist/features/table/table-column/table-column.js +0 -89
  496. package/dist/features/table/table-column/table-column.styles.d.ts +0 -1
  497. package/dist/features/table/table-column/table-column.styles.js +0 -51
  498. package/dist/features/table/table-header/table-header.d.ts +0 -102
  499. package/dist/features/table/table-header/table-header.js +0 -165
  500. package/dist/features/table/table-header/table-header.styles.d.ts +0 -1
  501. package/dist/features/table/table-header/table-header.styles.js +0 -147
  502. package/dist/features/table/table-item/table-item.d.ts +0 -179
  503. package/dist/features/table/table-item/table-item.js +0 -291
  504. package/dist/features/table/table-item/table-item.styles.d.ts +0 -1
  505. package/dist/features/table/table-item/table-item.styles.js +0 -404
  506. package/dist/features/table/table-managed/table-managed.d.ts +0 -19
  507. package/dist/features/table/table-managed/table-managed.js +0 -128
  508. package/dist/features/table/table-skeleton-row/table-skeleton-row.d.ts +0 -46
  509. package/dist/features/table/table-skeleton-row/table-skeleton-row.js +0 -110
  510. package/dist/features/table/table-skeleton-row/table-skeleton-row.styles.d.ts +0 -12
  511. package/dist/features/table/table-skeleton-row/table-skeleton-row.styles.js +0 -65
  512. package/dist/mixins/table-row.mixin.d.ts +0 -37
  513. package/dist/mixins/table-row.mixin.js +0 -103
  514. package/styles/tools/mixins/media-queries/eunomia-device.mixin.scss +0 -14
  515. package/styles/tools/mixins/media-queries/eunomia-gte.mixin.scss +0 -26
  516. package/styles/tools/mixins/media-queries/eunomia-lte.mixin.scss +0 -26
@@ -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} [previousLabel] - The accessible label of the previous control. Defaults to the localized string for the current locale (English: "Previous slide")
68
+ * @attr {string} [previous-label] - The accessible label of the previous control. Defaults to the localized string for the current locale (English: "Previous slide")
69
+ * @prop {string} [nextLabel] - The accessible label of the next control. Defaults to the localized string for the current locale (English: "Next slide")
70
+ * @attr {string} [next-label] - 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
+ previousLabel?: 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
+ nextLabel?: string;
209
220
  /**
210
221
  * Index of the currently active slide (see {@link ACTIVE_SLIDE_CLASS}).
211
222
  * @internal
@@ -349,6 +360,38 @@ 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;
372
+ /**
373
+ * Whether the track lays out right to left. Slides then start from the
374
+ * track's right edge and `scrollLeft` runs from `0` down to negative
375
+ * values, so every scroll measurement goes through the logical helpers
376
+ * below instead of reading `left`/`scrollLeft` directly.
377
+ * @private
378
+ */
379
+ private isRtl;
380
+ /**
381
+ * How far the track has scrolled from its inline start, always positive
382
+ * whatever the direction.
383
+ * @private
384
+ */
385
+ private getScrollProgress;
386
+ /**
387
+ * Distance from the track's inline-start edge to a rect's own
388
+ * inline-start edge (`left` in LTR, `right` in RTL), positive toward the
389
+ * end of the track.
390
+ * @param rect the measured element's rect.
391
+ * @param trackRect the track's own rect.
392
+ * @private
393
+ */
394
+ private getInlineStartOffset;
352
395
  /**
353
396
  * The highest valid slide index a page can start on, without leaving
354
397
  * empty space at the end of the track. Measured from the slides' actual
@@ -543,7 +586,8 @@ export declare class EunomiaCarousel extends EunomiaCarousel_base {
543
586
  private updateFromScrollPosition;
544
587
  /**
545
588
  * Handles keyboard navigation on the track : arrow keys page by
546
- * `scrollStep`, Home/End jump to the bounds.
589
+ * `scrollStep`, Home/End jump to the bounds. Right to left, the arrows
590
+ * swap so each one still moves toward the side it points to.
547
591
  *
548
592
  * @param event the native keyboard event.
549
593
  * @private
@@ -54,22 +54,27 @@ const ACTIVE_SLIDE_CLASS = "eun-carousel-active-slide";
54
54
  * @prop {boolean} [showArrows=true] - Shows the previous and next buttons
55
55
  * @prop {boolean} [showDots=true] - Shows the pagination dots
56
56
  * @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
57
- * @prop {string} [ariaLabelPrevious='Previous slide'] - The accessible label of the previous control
58
- * @attr {string} [aria-label-previous='Previous slide'] - The accessible label of the previous control
59
- * @prop {string} [ariaLabelNext='Next slide'] - The accessible label of the next control
60
- * @attr {string} [aria-label-next='Next slide'] - The accessible label of the next control
57
+ * @prop {string} [previousLabel] - The accessible label of the previous control. Defaults to the localized string for the current locale (English: "Previous slide")
58
+ * @attr {string} [previous-label] - The accessible label of the previous control. Defaults to the localized string for the current locale (English: "Previous slide")
59
+ * @prop {string} [nextLabel] - The accessible label of the next control. Defaults to the localized string for the current locale (English: "Next slide")
60
+ * @attr {string} [next-label] - The accessible label of the next control. Defaults to the localized string for the current locale (English: "Next slide")
61
61
  * @fires {SlideChangeEvent} eunslidechange - Fired once the active slide settles on a new index
62
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
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
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
65
65
  * @cssprop [--carousel-gap] - Sets the gap between slides
66
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
67
+ * @cssprop [--carousel-track-padding-top] - Sets the top padding on the track, falling back to --carousel-track-padding
68
+ * @cssprop [--carousel-track-padding-bottom] - Sets the bottom padding on the track, falling back to --carousel-track-padding
69
+ * @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
70
+ * @cssprop [--carousel-slide-width] - Sets a fixed width for every slide, overriding visibleSlides, fullSlides and --carousel-min-slide-width
67
71
  * @cssprop [--carousel-min-slide-width] - Sets the minimum slide width. On a narrow viewport, this wins over visibleSlides so slides never get uncomfortably small
68
72
  * @cssprop [--carousel-peek-size] - Sets how much of the next slide peeks at the edge, when fullSlides is off
69
73
  * @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
70
74
  * @cssprop [--carousel-fade-width] - Sets the width of the edge fades
71
75
  * @cssprop [--carousel-fade-color] - Sets the color of the edge fades, which fade to transparent
72
76
  * @cssprop [--carousel-active-scale] - Sets the scale applied to the active slide
77
+ * @cssprop [--carousel-header-margin] - Sets the space between the header row and the track
73
78
  * @cssprop [--carousel-header-gap] - Sets the gap between the title slot and the header navigation buttons
74
79
  * @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
75
80
  * @cssprop [--carousel-nav-display] - Set to none to hide the previous and next buttons through pure CSS, regardless of showArrows
@@ -78,6 +83,10 @@ const ACTIVE_SLIDE_CLASS = "eun-carousel-active-slide";
78
83
  * @cssprop [--carousel-nav-color] - Sets the icon color of the previous and next buttons
79
84
  * @cssprop [--carousel-nav-background] - Sets the background color of the previous and next buttons
80
85
  * @cssprop [--carousel-nav-border-color] - Sets the border color of the previous and next buttons
86
+ * @cssprop [--carousel-nav-border-width] - Sets the border width of the previous and next buttons
87
+ * @cssprop [--carousel-nav-hover-background] - Sets the background color of the previous and next buttons on hover
88
+ * @cssprop [--carousel-nav-hover-color] - Sets the icon color of the previous and next buttons on hover
89
+ * @cssprop [--carousel-nav-hover-border-color] - Sets the border color of the previous and next buttons on hover
81
90
  * @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
82
91
  * @cssprop [--carousel-nav-disabled-background] - Sets the background and border color of a disabled previous or next button
83
92
  * @cssprop [--carousel-nav-disabled-color] - Sets the icon color of a disabled previous or next button
@@ -180,16 +189,6 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
180
189
  * @default true
181
190
  */
182
191
  this.showDots = true;
183
- /**
184
- * Accessible label of the Previous control.
185
- * @default Previous slide
186
- */
187
- this.ariaLabelPrevious = "Previous slide";
188
- /**
189
- * Accessible label of the Next control.
190
- * @default Next slide
191
- */
192
- this.ariaLabelNext = "Next slide";
193
192
  /**
194
193
  * Index of the currently active slide (see {@link ACTIVE_SLIDE_CLASS}).
195
194
  * @internal
@@ -415,6 +414,51 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
415
414
  const parsed = Number.parseFloat(getComputedStyle(this).getPropertyValue(name));
416
415
  return Number.isNaN(parsed) ? fallback : parsed;
417
416
  }
417
+ /**
418
+ * The track's inline padding in pixels, set by
419
+ * `--carousel-track-padding-inline` to let the track bleed past the
420
+ * host. Slides rest that far from the track's own edge, so scroll math
421
+ * measured from that edge has to offset by it.
422
+ * @returns the inline padding, `0` when unset.
423
+ * @private
424
+ */
425
+ getTrackInset() {
426
+ if (!this.trackEl) {
427
+ return 0;
428
+ }
429
+ return Number.parseFloat(getComputedStyle(this.trackEl).paddingLeft) || 0;
430
+ }
431
+ /**
432
+ * Whether the track lays out right to left. Slides then start from the
433
+ * track's right edge and `scrollLeft` runs from `0` down to negative
434
+ * values, so every scroll measurement goes through the logical helpers
435
+ * below instead of reading `left`/`scrollLeft` directly.
436
+ * @private
437
+ */
438
+ isRtl() {
439
+ return !!this.trackEl && getComputedStyle(this.trackEl).direction === "rtl";
440
+ }
441
+ /**
442
+ * How far the track has scrolled from its inline start, always positive
443
+ * whatever the direction.
444
+ * @private
445
+ */
446
+ getScrollProgress() {
447
+ return this.trackEl ? Math.abs(this.trackEl.scrollLeft) : 0;
448
+ }
449
+ /**
450
+ * Distance from the track's inline-start edge to a rect's own
451
+ * inline-start edge (`left` in LTR, `right` in RTL), positive toward the
452
+ * end of the track.
453
+ * @param rect the measured element's rect.
454
+ * @param trackRect the track's own rect.
455
+ * @private
456
+ */
457
+ getInlineStartOffset(rect, trackRect) {
458
+ return this.isRtl()
459
+ ? trackRect.right - rect.right
460
+ : rect.left - trackRect.left;
461
+ }
418
462
  /**
419
463
  * Number of pagination dots, derived from how many `scrollStep`-sized
420
464
  * jumps it takes to cover every slide. Rounds up so a trailing partial
@@ -480,12 +524,16 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
480
524
  }
481
525
  const track = this.trackEl;
482
526
  const trackRect = track.getBoundingClientRect();
483
- const maxScrollLeft = Math.max(0, track.scrollWidth - track.clientWidth);
527
+ const maxScroll = Math.max(0, track.scrollWidth - track.clientWidth);
528
+ const scrolled = this.getScrollProgress();
529
+ const inset = this.getTrackInset();
484
530
  let max = 0;
485
531
  let closestDistance = Infinity;
486
532
  this.slides.forEach((slide, index) => {
487
- const slideStart = slide.getBoundingClientRect().left - trackRect.left + track.scrollLeft;
488
- const distance = Math.abs(slideStart - maxScrollLeft);
533
+ const slideStart = this.getInlineStartOffset(slide.getBoundingClientRect(), trackRect) +
534
+ scrolled -
535
+ inset;
536
+ const distance = Math.abs(slideStart - maxScroll);
489
537
  if (distance < closestDistance) {
490
538
  closestDistance = distance;
491
539
  max = index;
@@ -512,7 +560,7 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
512
560
  this.style.setProperty("--_centerPadding", "0px");
513
561
  return;
514
562
  }
515
- const trackWidth = this.trackEl.clientWidth;
563
+ const trackWidth = this.trackEl.clientWidth - 2 * this.getTrackInset();
516
564
  const slideWidth = this.slides[0].getBoundingClientRect().width;
517
565
  const padding = Math.max(0, (trackWidth - slideWidth) / 2);
518
566
  this.style.setProperty("--_centerPadding", `${padding}px`);
@@ -596,8 +644,9 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
596
644
  ? ((index % (max + 1)) + (max + 1)) % (max + 1)
597
645
  : Math.max(0, Math.min(index, max));
598
646
  if (!this.centerSnap && target === max) {
647
+ const maxScroll = this.trackEl.scrollWidth - this.trackEl.clientWidth;
599
648
  this.trackEl.scrollTo({
600
- left: this.trackEl.scrollWidth - this.trackEl.clientWidth,
649
+ left: this.isRtl() ? -maxScroll : maxScroll,
601
650
  behavior: this.scrollBehavior(),
602
651
  });
603
652
  return;
@@ -695,27 +744,20 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
695
744
  }
696
745
  const trackRect = this.trackEl.getBoundingClientRect();
697
746
  const reference = this.centerSnap
698
- ? trackRect.left + trackRect.width / 2
699
- : trackRect.left;
747
+ ? trackRect.width / 2
748
+ : this.getTrackInset();
700
749
  let closestIndex = 0;
701
750
  let closestDistance = Infinity;
702
751
  this.slides.forEach((slide, index) => {
703
752
  const rect = slide.getBoundingClientRect();
704
- const point = this.centerSnap ? rect.left + rect.width / 2 : rect.left;
753
+ const start = this.getInlineStartOffset(rect, trackRect);
754
+ const point = this.centerSnap ? start + rect.width / 2 : start;
705
755
  const distance = Math.abs(point - reference);
706
756
  if (distance < closestDistance) {
707
757
  closestDistance = distance;
708
758
  closestIndex = index;
709
759
  }
710
760
  });
711
- // At the true scroll end, the nearest slide to `reference` can sit past
712
- // `measureMaxIndex`'s result — e.g. when the slide count doesn't evenly
713
- // divide into pages, the flush-end scroll position (see the `target ===
714
- // max` branch in `goToIndex`) reveals a trailing slide that ends up
715
- // closer to `reference` than the officially "reachable" last page. Left
716
- // unclamped, `currentIndex` would exceed `maxIndex`, which breaks the
717
- // pagination dot lookup (no dot matches) and gets `previous()` stuck,
718
- // since it re-targets that same last-page scroll position every time.
719
761
  this.maxIndex = this.measureMaxIndex();
720
762
  closestIndex = Math.min(closestIndex, this.maxIndex);
721
763
  this.slides.forEach((slide, index) => {
@@ -723,17 +765,21 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
723
765
  });
724
766
  const changedIndex = closestIndex !== this.currentIndex;
725
767
  this.currentIndex = closestIndex;
726
- const { scrollLeft } = this.trackEl;
768
+ const scrolled = this.getScrollProgress();
727
769
  const maxScroll = this.trackEl.scrollWidth - this.trackEl.clientWidth;
728
- this.style.setProperty("--_showLeftFade", scrollLeft > 1 ? "1" : "0");
729
- this.style.setProperty("--_showRightFade", scrollLeft < maxScroll - 1 ? "1" : "0");
770
+ const startFade = scrolled > 1 ? "1" : "0";
771
+ const endFade = scrolled < maxScroll - 1 ? "1" : "0";
772
+ const rtl = this.isRtl();
773
+ this.style.setProperty("--_showLeftFade", rtl ? endFade : startFade);
774
+ this.style.setProperty("--_showRightFade", rtl ? startFade : endFade);
730
775
  if (changedIndex) {
731
776
  this.scheduleAnnounce();
732
777
  }
733
778
  }
734
779
  /**
735
780
  * Handles keyboard navigation on the track : arrow keys page by
736
- * `scrollStep`, Home/End jump to the bounds.
781
+ * `scrollStep`, Home/End jump to the bounds. Right to left, the arrows
782
+ * swap so each one still moves toward the side it points to.
737
783
  *
738
784
  * @param event the native keyboard event.
739
785
  * @private
@@ -742,11 +788,21 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
742
788
  switch (event.key) {
743
789
  case "ArrowLeft":
744
790
  event.preventDefault();
745
- this.previous();
791
+ if (this.isRtl()) {
792
+ this.next();
793
+ }
794
+ else {
795
+ this.previous();
796
+ }
746
797
  break;
747
798
  case "ArrowRight":
748
799
  event.preventDefault();
749
- this.next();
800
+ if (this.isRtl()) {
801
+ this.previous();
802
+ }
803
+ else {
804
+ this.next();
805
+ }
750
806
  break;
751
807
  case "Home":
752
808
  event.preventDefault();
@@ -804,7 +860,9 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
804
860
  type="button"
805
861
  id=${direction}
806
862
  class="nav"
807
- aria-label=${isPrev ? this.ariaLabelPrevious : this.ariaLabelNext}
863
+ aria-label=${isPrev
864
+ ? (this.previousLabel ?? this.dictionary.carousel.previous)
865
+ : (this.nextLabel ?? this.dictionary.carousel.next)}
808
866
  aria-controls="track"
809
867
  ?disabled=${disabled}
810
868
  @click=${() => (isPrev ? this.previous() : this.next())}
@@ -873,10 +931,10 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
873
931
  */
874
932
  EunomiaCarousel.styles = carouselStyles;
875
933
  __decorate([
876
- property({ reflect: true })
934
+ property({ reflect: true, useDefault: true })
877
935
  ], EunomiaCarousel.prototype, "layout", void 0);
878
936
  __decorate([
879
- property({ reflect: true, attribute: "nav-placement" })
937
+ property({ reflect: true, attribute: "nav-placement", useDefault: true })
880
938
  ], EunomiaCarousel.prototype, "navPlacement", void 0);
881
939
  __decorate([
882
940
  property({ type: Number, attribute: "responsive-breakpoint" })
@@ -912,11 +970,11 @@ __decorate([
912
970
  property({ type: Boolean, attribute: "show-dots" })
913
971
  ], EunomiaCarousel.prototype, "showDots", void 0);
914
972
  __decorate([
915
- property({ attribute: "aria-label-previous" })
916
- ], EunomiaCarousel.prototype, "ariaLabelPrevious", void 0);
973
+ property({ attribute: "previous-label" })
974
+ ], EunomiaCarousel.prototype, "previousLabel", void 0);
917
975
  __decorate([
918
- property({ attribute: "aria-label-next" })
919
- ], EunomiaCarousel.prototype, "ariaLabelNext", void 0);
976
+ property({ attribute: "next-label" })
977
+ ], EunomiaCarousel.prototype, "nextLabel", void 0);
920
978
  __decorate([
921
979
  state()
922
980
  ], EunomiaCarousel.prototype, "currentIndex", void 0);
@@ -9,11 +9,16 @@ import { css } from "lit";
9
9
  * [--carousel-fade-display] - Set to `none` to hide the edge fades via pure CSS (e.g. in a container query), regardless of `edgeFade`
10
10
  * [--carousel-gap] - Set a custom gap between slides
11
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
12
+ * [--carousel-track-padding-top] - Set a custom top padding on the track, falling back to --carousel-track-padding
13
+ * [--carousel-track-padding-bottom] - Set a custom bottom padding on the track, falling back to --carousel-track-padding
14
+ * [--carousel-track-padding-inline] - Let the track bleed out of the carousel on both sides by this length, while slides stay aligned on the carousel's edges. Shows the next slide and the edge slides' shadows past the container
15
+ * [--carousel-slide-width] - Set a fixed width for every slide, overriding `visibleSlides`, `fullSlides` and --carousel-min-slide-width
12
16
  * [--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
13
17
  * [--carousel-peek-size] - Set how much of the next slide peeks at the edge, when `fullSlides` is off
14
18
  * [--carousel-fade-width] - Set a custom width for the edge fades
15
19
  * [--carousel-fade-color] - Set a custom color for the edge fades (fades to transparent)
16
20
  * [--carousel-active-scale] - Set a custom scale applied to the active slide
21
+ * [--carousel-header-margin] - Set a custom space between the header and the track
17
22
  * [--carousel-header-gap] - Set a custom gap between the title slot and the header nav buttons
18
23
  * [--carousel-header-align] - Set a custom cross-axis alignment (`align-items`) between the title slot and the header nav buttons ; defaults to `baseline`, which keeps the nav buttons close to the track below regardless of how tall a multi-line title ends up
19
24
  * [--carousel-nav-display] - Set to `none` to hide the prev/next buttons via pure CSS (e.g. in a media query), regardless of `showArrows`
@@ -22,6 +27,10 @@ import { css } from "lit";
22
27
  * [--carousel-nav-color] - Set a custom icon color for the prev/next buttons
23
28
  * [--carousel-nav-background] - Set a custom background color for the prev/next buttons
24
29
  * [--carousel-nav-border-color] - Set a custom border color for the prev/next buttons
30
+ * [--carousel-nav-border-width] - Set a custom border width for the prev/next buttons
31
+ * [--carousel-nav-hover-background] - Set a custom background color for the prev/next buttons on hover
32
+ * [--carousel-nav-hover-color] - Set a custom icon color for the prev/next buttons on hover
33
+ * [--carousel-nav-hover-border-color] - Set a custom border color for the prev/next buttons on hover
25
34
  * [--carousel-nav-shadow] - Set a custom shadow for the `inline`-layout prev/next buttons, when enabled ; unset for `header`'s, and always unset while `disabled`
26
35
  * [--carousel-nav-disabled-background] - Set a custom background/border color for a disabled prev/next button
27
36
  * [--carousel-nav-disabled-color] - Set a custom icon color for a disabled prev/next button
@@ -42,6 +51,7 @@ const base = css `
42
51
  var(--_visibleCount)
43
52
  );
44
53
  --_snapAlign: start;
54
+ --_trackInline: var(--carousel-track-padding-inline, 0px);
45
55
  }
46
56
 
47
57
  .sr-only {
@@ -61,7 +71,7 @@ const base = css `
61
71
  align-items: var(--carousel-header-align, flex-end);
62
72
  justify-content: space-between;
63
73
  gap: var(--carousel-header-gap, var(--eun-space-m, 16px));
64
- margin-bottom: var(--eun-space-m, 16px);
74
+ margin-bottom: var(--carousel-header-margin, var(--eun-space-m, 16px));
65
75
  }
66
76
  #carousel-header[hidden] {
67
77
  display: none;
@@ -99,10 +109,11 @@ const base = css `
99
109
  width: var(--carousel-fade-width, 60px);
100
110
  z-index: 2;
101
111
  pointer-events: none;
102
- transition: opacity 0.3s ease;
112
+ transition: opacity var(--eun-duration-xl, 300ms)
113
+ var(--eun-easing-default, ease);
103
114
  }
104
115
  #viewport::before {
105
- left: 0;
116
+ left: calc(-1 * var(--_trackInline));
106
117
  opacity: var(--_showLeftFade, 0);
107
118
  background: linear-gradient(
108
119
  to right,
@@ -111,7 +122,7 @@ const base = css `
111
122
  );
112
123
  }
113
124
  #viewport::after {
114
- right: 0;
125
+ right: calc(-1 * var(--_trackInline));
115
126
  opacity: var(--_showRightFade, 0);
116
127
  background: linear-gradient(
117
128
  to left,
@@ -127,7 +138,17 @@ const base = css `
127
138
  #track {
128
139
  display: flex;
129
140
  gap: var(--carousel-gap, 16px);
130
- padding-block: var(--carousel-track-padding, 0);
141
+ padding-block: var(
142
+ --carousel-track-padding-top,
143
+ var(--carousel-track-padding, var(--eun-space-l))
144
+ )
145
+ var(
146
+ --carousel-track-padding-bottom,
147
+ var(--carousel-track-padding, var(--eun-space-l))
148
+ );
149
+ padding-inline: var(--_trackInline);
150
+ margin-inline: calc(-1 * var(--_trackInline));
151
+ scroll-padding-inline: var(--_trackInline);
131
152
  overflow-x: auto;
132
153
  overflow-y: hidden;
133
154
  scroll-snap-type: x mandatory;
@@ -135,7 +156,8 @@ const base = css `
135
156
  outline: 2px solid transparent;
136
157
  outline-offset: 8px;
137
158
  border-radius: var(--eun-border-radius-m);
138
- transition: outline 0.2s ease-out;
159
+ transition: outline var(--eun-duration-m, 200ms)
160
+ var(--eun-easing-out, ease-out);
139
161
  }
140
162
  #track::-webkit-scrollbar {
141
163
  display: none;
@@ -159,10 +181,11 @@ const base = css `
159
181
  flex-shrink: 0;
160
182
  scroll-snap-align: var(--_snapAlign, start);
161
183
  scroll-snap-stop: always;
162
- transition: transform 0.2s ease;
184
+ transition: transform var(--eun-duration-m, 200ms)
185
+ var(--eun-easing-default, ease);
163
186
  }
164
187
  :host([full-slides]) ::slotted(:not([slot])) {
165
- flex-basis: max(
188
+ --_slideBasis: max(
166
189
  var(--carousel-min-slide-width, 220px),
167
190
  calc(
168
191
  (
@@ -174,7 +197,7 @@ const base = css `
174
197
  );
175
198
  }
176
199
  :host(:not([full-slides])) ::slotted(:not([slot])) {
177
- flex-basis: max(
200
+ --_slideBasis: max(
178
201
  var(--carousel-min-slide-width, 220px),
179
202
  calc(
180
203
  (
@@ -185,6 +208,9 @@ const base = css `
185
208
  )
186
209
  );
187
210
  }
211
+ :host ::slotted(:not([slot])) {
212
+ flex-basis: var(--carousel-slide-width, var(--_slideBasis));
213
+ }
188
214
  ::slotted(.eun-carousel-active-slide) {
189
215
  transform: scale(var(--carousel-active-scale, 1));
190
216
  }
@@ -202,8 +228,8 @@ const base = css `
202
228
  align-items: center;
203
229
  justify-content: center;
204
230
  border-radius: 50%;
205
- border: var(--eun-border-width-s, 1px) solid
206
- var(--carousel-nav-border-color, var(--eun-border-color, #dee0e7));
231
+ border: var(--carousel-nav-border-width, var(--eun-border-width-s, 1px))
232
+ solid var(--carousel-nav-border-color, var(--eun-border-color, #dee0e7));
207
233
  background: var(
208
234
  --carousel-nav-background,
209
235
  var(--eun-surface-color, #ffffff)
@@ -211,14 +237,27 @@ const base = css `
211
237
  color: var(--carousel-nav-color, var(--eun-text-color, #071621));
212
238
  cursor: pointer;
213
239
  outline: 2px solid transparent;
214
- transition: outline 0.2s ease-out;
215
240
  transition:
216
- outline 0.2s ease-out,
217
- opacity 0.2s ease,
218
- background-color 0.2s ease;
241
+ outline var(--eun-duration-m, 200ms) var(--eun-easing-out, ease-out),
242
+ opacity var(--eun-duration-m, 200ms) var(--eun-easing-default, ease),
243
+ background-color var(--eun-duration-m, 200ms)
244
+ var(--eun-easing-default, ease),
245
+ color var(--eun-duration-m, 200ms) var(--eun-easing-default, ease),
246
+ border-color var(--eun-duration-m, 200ms) var(--eun-easing-default, ease);
219
247
  }
220
248
  .nav:hover:not(:disabled) {
221
- background: var(--eun-content-hover, #edeff0);
249
+ background: var(
250
+ --carousel-nav-hover-background,
251
+ var(--eun-content-hover, #edeff0)
252
+ );
253
+ color: var(
254
+ --carousel-nav-hover-color,
255
+ var(--carousel-nav-color, var(--eun-text-color, #071621))
256
+ );
257
+ border-color: var(
258
+ --carousel-nav-hover-border-color,
259
+ var(--carousel-nav-border-color, var(--eun-border-color, #dee0e7))
260
+ );
222
261
  }
223
262
  .nav:focus-visible {
224
263
  outline-color: var(--eun-color-primary-500, #3d6fff);
@@ -243,11 +282,14 @@ const base = css `
243
282
  .nav eun-icon {
244
283
  pointer-events: none;
245
284
  }
285
+ :host(:dir(rtl)) .nav eun-icon {
286
+ transform: scaleX(-1);
287
+ }
246
288
  #prev {
247
- left: var(--eun-space-s, 8px);
289
+ inset-inline-start: var(--eun-space-s, 8px);
248
290
  }
249
291
  #next {
250
- right: var(--eun-space-s, 8px);
292
+ inset-inline-end: var(--eun-space-s, 8px);
251
293
  }
252
294
  #viewport .nav {
253
295
  box-shadow: var(--carousel-nav-shadow, 0 2px 10px rgba(15, 23, 42, 0.18));
@@ -273,10 +315,11 @@ const base = css `
273
315
  cursor: pointer;
274
316
  outline: 2px solid transparent;
275
317
  transition:
276
- width 0.2s ease,
277
- outline 0.2s ease-out,
278
- border-radius 0.2s ease,
279
- background-color 0.2s ease;
318
+ width var(--eun-duration-m, 200ms) var(--eun-easing-default, ease),
319
+ outline var(--eun-duration-m, 200ms) var(--eun-easing-out, ease-out),
320
+ border-radius var(--eun-duration-m, 200ms) var(--eun-easing-default, ease),
321
+ background-color var(--eun-duration-m, 200ms)
322
+ var(--eun-easing-default, ease);
280
323
  }
281
324
  .dot:focus-visible {
282
325
  outline-color: var(--eun-color-primary-500, #3d6fff);