@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
@@ -60,22 +60,26 @@ declare const EunomiaImageCarousel_base: import("../../../utils/constructor.type
60
60
  * @prop {boolean} [autoplay=false] - Automatically advances to the next image on a set interval. Pauses on hover or focus and while the lightbox is open, but renders no pause or play control of its own, so pair this with a visible control calling the public pause and resume methods, since a moving gallery nobody can stop fails accessibility guidelines
61
61
  * @prop {number} [autoplayInterval=4000] - Milliseconds between each autoplay advance
62
62
  * @attr {number} [autoplay-interval=4000] - Milliseconds between each autoplay advance
63
- * @attr {string} aria-label - The accessible name for the main stage. Defaults to "Image gallery"
64
- * @prop {string} [ariaLabelPrevious='Previous image'] - The accessible label of the previous controls, on both the main stage and the lightbox
65
- * @attr {string} [aria-label-previous='Previous image'] - The accessible label of the previous controls, on both the main stage and the lightbox
66
- * @prop {string} [ariaLabelNext='Next image'] - The accessible label of the next controls, on both the main stage and the lightbox
67
- * @attr {string} [aria-label-next='Next image'] - The accessible label of the next controls, on both the main stage and the lightbox
68
- * @prop {string} [ariaLabelExpand='View full-size image'] - The accessible label of the main stage's expand control
69
- * @attr {string} [aria-label-expand='View full-size image'] - The accessible label of the main stage's expand control
70
- * @prop {string} [ariaLabelLightbox='Image viewer'] - The accessible name of the lightbox dialog
71
- * @attr {string} [aria-label-lightbox='Image viewer'] - The accessible name of the lightbox dialog
63
+ * @attr {string} aria-label - The accessible name for the main stage. Defaults to the localized string for the current locale (English: "Image gallery")
64
+ * @prop {string} [previousLabel] - The accessible label of the previous controls, on both the main stage and the lightbox. Defaults to the localized string for the current locale (English: "Previous image")
65
+ * @attr {string} [previous-label] - The accessible label of the previous controls, on both the main stage and the lightbox. Defaults to the localized string for the current locale (English: "Previous image")
66
+ * @prop {string} [nextLabel] - The accessible label of the next controls, on both the main stage and the lightbox. Defaults to the localized string for the current locale (English: "Next image")
67
+ * @attr {string} [next-label] - The accessible label of the next controls, on both the main stage and the lightbox. Defaults to the localized string for the current locale (English: "Next image")
68
+ * @prop {string} [expandLabel] - The accessible label of the main stage's expand control. Defaults to the localized string for the current locale (English: "View full-size image")
69
+ * @attr {string} [expand-label] - The accessible label of the main stage's expand control. Defaults to the localized string for the current locale (English: "View full-size image")
70
+ * @prop {string} [lightboxLabel] - The accessible name of the lightbox dialog. Defaults to the localized string for the current locale (English: "Image viewer")
71
+ * @attr {string} [lightbox-label] - The accessible name of the lightbox dialog. Defaults to the localized string for the current locale (English: "Image viewer")
72
72
  * @fires {ImageChangeEvent} eunimagechange - Fired whenever the active image changes, from either the main stage or the lightbox
73
73
  * @cssprop [--image-carousel-aspect-ratio] - Sets the aspect ratio of the main stage
74
74
  * @cssprop [--image-carousel-object-fit] - Sets how the main image fits its box
75
75
  * @cssprop [--image-carousel-border-radius] - Sets the corner radius of the main stage
76
76
  * @cssprop [--image-carousel-background] - Sets the background color behind the main stage, visible when the image is set to fit without cropping
77
+ * @cssprop [--image-carousel-border-width] - Sets the border width of the main stage, once a border color is set
78
+ * @cssprop [--image-carousel-border-color] - Sets the border color of the main stage, which has no border by default
77
79
  * @cssprop [--image-carousel-thumbnail-size] - Sets the size of each thumbnail
78
80
  * @cssprop [--image-carousel-thumbnail-gap] - Sets the gap between thumbnails, and between the strip and the main stage
81
+ * @cssprop [--image-carousel-thumbnail-border-color] - Sets the border color of the thumbnails and of the lightbox's grid items at rest, transparent by default
82
+ * @cssprop [--image-carousel-thumbnail-active-border-color] - Sets the border color of the active thumbnail and of the lightbox's active grid item
79
83
  * @cssprop [--image-carousel-nav-color] - Sets the icon color of the main stage's previous and next controls
80
84
  * @cssprop [--image-carousel-transition-duration] - Sets the duration of the transition animation between images, for click, keyboard, and autoplay changes only, since a touch swipe never plays this
81
85
  * @cssprop [--image-carousel-swipe-duration] - Sets the duration of the main stage's touch swipe settling into place on release, whether committing or springing back. Forced to zero under reduced motion settings or when transitions are turned off
@@ -85,6 +89,7 @@ declare const EunomiaImageCarousel_base: import("../../../utils/constructor.type
85
89
  * @cssprop [--image-carousel-lightbox-image-radius] - Sets the corner radius of the lightbox's own image
86
90
  * @cssprop [--image-carousel-grid-width] - Sets the width of the lightbox's grid column
87
91
  * @cssprop [--image-carousel-grid-columns] - Sets the column count of the lightbox's grid
92
+ * @cssprop [--image-carousel-divider-color] - Sets the color of the line between the lightbox's main image and its grid
88
93
  * @cssprop [--image-carousel-dot-size] - Sets the size of the pagination dots
89
94
  * @cssprop [--image-carousel-dot-gap] - Sets the gap between pagination dots
90
95
  * @cssprop [--image-carousel-dot-color] - Sets the color of the pagination dots
@@ -182,24 +187,30 @@ export declare class EunomiaImageCarousel extends EunomiaImageCarousel_base {
182
187
  autoplayInterval: number;
183
188
  /**
184
189
  * Accessible label of the Previous controls (main stage and lightbox).
185
- * @default Previous image
190
+ * Resolved from the locale dictionary when unset, so it follows
191
+ * `locale` automatically.
192
+ * @default {i18n:imageCarousel.previous}
186
193
  */
187
- ariaLabelPrevious: string;
194
+ previousLabel?: string;
188
195
  /**
189
196
  * Accessible label of the Next controls (main stage and lightbox).
190
- * @default Next image
197
+ * Resolved from the locale dictionary when unset, so it follows
198
+ * `locale` automatically.
199
+ * @default {i18n:imageCarousel.next}
191
200
  */
192
- ariaLabelNext: string;
201
+ nextLabel?: string;
193
202
  /**
194
- * Accessible label of the main stage's expand control.
195
- * @default View full-size image
203
+ * Accessible label of the main stage's expand control. Resolved from the
204
+ * locale dictionary when unset, so it follows `locale` automatically.
205
+ * @default {i18n:imageCarousel.expand}
196
206
  */
197
- ariaLabelExpand: string;
207
+ expandLabel?: string;
198
208
  /**
199
- * Accessible name of the lightbox dialog.
200
- * @default Image viewer
209
+ * Accessible name of the lightbox dialog. Resolved from the locale
210
+ * dictionary when unset, so it follows `locale` automatically.
211
+ * @default {i18n:imageCarousel.lightbox}
201
212
  */
202
- ariaLabelLightbox: string;
213
+ lightboxLabel?: string;
203
214
  /**
204
215
  * Text of the visually-hidden live region, debounced so rapid prev/next
205
216
  * clicks announce once rather than flooding it.
@@ -13,6 +13,7 @@ import { createSwipeGesture, } from "../../../utils/swipe-gesture.utils.js";
13
13
  import { ImageChangeEvent } from "../../../events/imagechange.event.js";
14
14
  import { imageCarouselStyles } from "./image-carousel.styles.js";
15
15
  import { LocalizableMixin } from "../../../mixins/localizable.mixin.js";
16
+ import { cssTimeToMs } from "../../../utils/motion.utils.js";
16
17
  /**
17
18
  * Tag name of the image carousel component.
18
19
  */
@@ -56,22 +57,26 @@ export const EunomiaImageCarouselTagName = "eun-image-carousel";
56
57
  * @prop {boolean} [autoplay=false] - Automatically advances to the next image on a set interval. Pauses on hover or focus and while the lightbox is open, but renders no pause or play control of its own, so pair this with a visible control calling the public pause and resume methods, since a moving gallery nobody can stop fails accessibility guidelines
57
58
  * @prop {number} [autoplayInterval=4000] - Milliseconds between each autoplay advance
58
59
  * @attr {number} [autoplay-interval=4000] - Milliseconds between each autoplay advance
59
- * @attr {string} aria-label - The accessible name for the main stage. Defaults to "Image gallery"
60
- * @prop {string} [ariaLabelPrevious='Previous image'] - The accessible label of the previous controls, on both the main stage and the lightbox
61
- * @attr {string} [aria-label-previous='Previous image'] - The accessible label of the previous controls, on both the main stage and the lightbox
62
- * @prop {string} [ariaLabelNext='Next image'] - The accessible label of the next controls, on both the main stage and the lightbox
63
- * @attr {string} [aria-label-next='Next image'] - The accessible label of the next controls, on both the main stage and the lightbox
64
- * @prop {string} [ariaLabelExpand='View full-size image'] - The accessible label of the main stage's expand control
65
- * @attr {string} [aria-label-expand='View full-size image'] - The accessible label of the main stage's expand control
66
- * @prop {string} [ariaLabelLightbox='Image viewer'] - The accessible name of the lightbox dialog
67
- * @attr {string} [aria-label-lightbox='Image viewer'] - The accessible name of the lightbox dialog
60
+ * @attr {string} aria-label - The accessible name for the main stage. Defaults to the localized string for the current locale (English: "Image gallery")
61
+ * @prop {string} [previousLabel] - The accessible label of the previous controls, on both the main stage and the lightbox. Defaults to the localized string for the current locale (English: "Previous image")
62
+ * @attr {string} [previous-label] - The accessible label of the previous controls, on both the main stage and the lightbox. Defaults to the localized string for the current locale (English: "Previous image")
63
+ * @prop {string} [nextLabel] - The accessible label of the next controls, on both the main stage and the lightbox. Defaults to the localized string for the current locale (English: "Next image")
64
+ * @attr {string} [next-label] - The accessible label of the next controls, on both the main stage and the lightbox. Defaults to the localized string for the current locale (English: "Next image")
65
+ * @prop {string} [expandLabel] - The accessible label of the main stage's expand control. Defaults to the localized string for the current locale (English: "View full-size image")
66
+ * @attr {string} [expand-label] - The accessible label of the main stage's expand control. Defaults to the localized string for the current locale (English: "View full-size image")
67
+ * @prop {string} [lightboxLabel] - The accessible name of the lightbox dialog. Defaults to the localized string for the current locale (English: "Image viewer")
68
+ * @attr {string} [lightbox-label] - The accessible name of the lightbox dialog. Defaults to the localized string for the current locale (English: "Image viewer")
68
69
  * @fires {ImageChangeEvent} eunimagechange - Fired whenever the active image changes, from either the main stage or the lightbox
69
70
  * @cssprop [--image-carousel-aspect-ratio] - Sets the aspect ratio of the main stage
70
71
  * @cssprop [--image-carousel-object-fit] - Sets how the main image fits its box
71
72
  * @cssprop [--image-carousel-border-radius] - Sets the corner radius of the main stage
72
73
  * @cssprop [--image-carousel-background] - Sets the background color behind the main stage, visible when the image is set to fit without cropping
74
+ * @cssprop [--image-carousel-border-width] - Sets the border width of the main stage, once a border color is set
75
+ * @cssprop [--image-carousel-border-color] - Sets the border color of the main stage, which has no border by default
73
76
  * @cssprop [--image-carousel-thumbnail-size] - Sets the size of each thumbnail
74
77
  * @cssprop [--image-carousel-thumbnail-gap] - Sets the gap between thumbnails, and between the strip and the main stage
78
+ * @cssprop [--image-carousel-thumbnail-border-color] - Sets the border color of the thumbnails and of the lightbox's grid items at rest, transparent by default
79
+ * @cssprop [--image-carousel-thumbnail-active-border-color] - Sets the border color of the active thumbnail and of the lightbox's active grid item
75
80
  * @cssprop [--image-carousel-nav-color] - Sets the icon color of the main stage's previous and next controls
76
81
  * @cssprop [--image-carousel-transition-duration] - Sets the duration of the transition animation between images, for click, keyboard, and autoplay changes only, since a touch swipe never plays this
77
82
  * @cssprop [--image-carousel-swipe-duration] - Sets the duration of the main stage's touch swipe settling into place on release, whether committing or springing back. Forced to zero under reduced motion settings or when transitions are turned off
@@ -81,6 +86,7 @@ export const EunomiaImageCarouselTagName = "eun-image-carousel";
81
86
  * @cssprop [--image-carousel-lightbox-image-radius] - Sets the corner radius of the lightbox's own image
82
87
  * @cssprop [--image-carousel-grid-width] - Sets the width of the lightbox's grid column
83
88
  * @cssprop [--image-carousel-grid-columns] - Sets the column count of the lightbox's grid
89
+ * @cssprop [--image-carousel-divider-color] - Sets the color of the line between the lightbox's main image and its grid
84
90
  * @cssprop [--image-carousel-dot-size] - Sets the size of the pagination dots
85
91
  * @cssprop [--image-carousel-dot-gap] - Sets the gap between pagination dots
86
92
  * @cssprop [--image-carousel-dot-color] - Sets the color of the pagination dots
@@ -170,26 +176,6 @@ let EunomiaImageCarousel = EunomiaImageCarousel_1 = class EunomiaImageCarousel e
170
176
  * @default 4000
171
177
  */
172
178
  this.autoplayInterval = 4000;
173
- /**
174
- * Accessible label of the Previous controls (main stage and lightbox).
175
- * @default Previous image
176
- */
177
- this.ariaLabelPrevious = "Previous image";
178
- /**
179
- * Accessible label of the Next controls (main stage and lightbox).
180
- * @default Next image
181
- */
182
- this.ariaLabelNext = "Next image";
183
- /**
184
- * Accessible label of the main stage's expand control.
185
- * @default View full-size image
186
- */
187
- this.ariaLabelExpand = "View full-size image";
188
- /**
189
- * Accessible name of the lightbox dialog.
190
- * @default Image viewer
191
- */
192
- this.ariaLabelLightbox = "Image viewer";
193
179
  /**
194
180
  * Text of the visually-hidden live region, debounced so rapid prev/next
195
181
  * clicks announce once rather than flooding it.
@@ -772,11 +758,11 @@ let EunomiaImageCarousel = EunomiaImageCarousel_1 = class EunomiaImageCarousel e
772
758
  const edgeSign = this.dragDirection;
773
759
  const mainFinal = commit ? `${-edgeSign * 100}%` : "0px";
774
760
  const previewFinal = commit ? "0px" : `${edgeSign * 100}%`;
775
- const duration = getComputedStyle(this).getPropertyValue("--_swipe-duration");
776
- const instant = Number.parseFloat(duration) <= 0;
761
+ const duration = cssTimeToMs(getComputedStyle(this).getPropertyValue("--_swipe-duration")) ?? 260;
762
+ const instant = duration <= 0;
777
763
  const transition = instant
778
764
  ? "none"
779
- : "transform var(--_swipe-duration) ease-out";
765
+ : "transform var(--_swipe-duration) var(--eun-easing-out, ease-out)";
780
766
  if (mainImg) {
781
767
  mainImg.style.transition = transition;
782
768
  mainImg.style.transform = `translateX(${mainFinal})`;
@@ -798,7 +784,7 @@ let EunomiaImageCarousel = EunomiaImageCarousel_1 = class EunomiaImageCarousel e
798
784
  this.finalizeImageDrag(commit);
799
785
  };
800
786
  mainImg?.addEventListener("transitionend", onSettled, { once: true });
801
- window.setTimeout(onSettled, Number.parseFloat(duration) || 260);
787
+ window.setTimeout(onSettled, duration || 260);
802
788
  }
803
789
  /**
804
790
  * Clears every inline style {@link beginImageDrag}/
@@ -837,7 +823,7 @@ let EunomiaImageCarousel = EunomiaImageCarousel_1 = class EunomiaImageCarousel e
837
823
  };
838
824
  if (commit && target !== undefined) {
839
825
  this.goToIndex(target, direction, { skipTransition: true });
840
- this.updateComplete.then(cleanup);
826
+ void this.updateComplete.then(cleanup);
841
827
  }
842
828
  else {
843
829
  cleanup();
@@ -982,7 +968,9 @@ let EunomiaImageCarousel = EunomiaImageCarousel_1 = class EunomiaImageCarousel e
982
968
  type="button"
983
969
  id="expand-trigger"
984
970
  aria-haspopup="dialog"
985
- aria-label="${this.ariaLabelExpand} (${this.activeIndex + 1}/${count})"
971
+ aria-label="${this.expandLabel ??
972
+ this.dictionary.imageCarousel.expand} (${this.activeIndex +
973
+ 1}/${count})"
986
974
  @click=${this.handleExpandClick}
987
975
  >
988
976
  ${img}
@@ -1002,7 +990,8 @@ let EunomiaImageCarousel = EunomiaImageCarousel_1 = class EunomiaImageCarousel e
1002
990
  type="button"
1003
991
  class="stage-nav"
1004
992
  id="prev"
1005
- aria-label=${this.ariaLabelPrevious}
993
+ aria-label=${this.previousLabel ??
994
+ this.dictionary.imageCarousel.previous}
1006
995
  ?disabled=${disablePrev}
1007
996
  @click=${() => this.previous()}
1008
997
  >
@@ -1012,7 +1001,7 @@ let EunomiaImageCarousel = EunomiaImageCarousel_1 = class EunomiaImageCarousel e
1012
1001
  type="button"
1013
1002
  class="stage-nav"
1014
1003
  id="next"
1015
- aria-label=${this.ariaLabelNext}
1004
+ aria-label=${this.nextLabel ?? this.dictionary.imageCarousel.next}
1016
1005
  ?disabled=${disableNext}
1017
1006
  @click=${() => this.next()}
1018
1007
  >
@@ -1028,7 +1017,11 @@ let EunomiaImageCarousel = EunomiaImageCarousel_1 = class EunomiaImageCarousel e
1028
1017
  */
1029
1018
  renderThumbnails(count) {
1030
1019
  return html `
1031
- <div id="thumbnails" role="group" aria-label=${this.dictionary.imageCarousel.selectImage}>
1020
+ <div
1021
+ id="thumbnails"
1022
+ role="group"
1023
+ aria-label=${this.dictionary.imageCarousel.selectImage}
1024
+ >
1032
1025
  ${this.images.map((image, index) => html `
1033
1026
  <button
1034
1027
  type="button"
@@ -1052,7 +1045,11 @@ let EunomiaImageCarousel = EunomiaImageCarousel_1 = class EunomiaImageCarousel e
1052
1045
  */
1053
1046
  renderDots(count) {
1054
1047
  return html `
1055
- <div id="dots" role="group" aria-label=${this.dictionary.imageCarousel.imageNavigation}>
1048
+ <div
1049
+ id="dots"
1050
+ role="group"
1051
+ aria-label=${this.dictionary.imageCarousel.imageNavigation}
1052
+ >
1056
1053
  ${this.images.map((_, index) => {
1057
1054
  const active = index === this.activeIndex;
1058
1055
  return html `
@@ -1099,9 +1096,9 @@ let EunomiaImageCarousel = EunomiaImageCarousel_1 = class EunomiaImageCarousel e
1099
1096
  return html `
1100
1097
  <eun-modal
1101
1098
  id="modal"
1102
- kind="search"
1103
1099
  hide-actions
1104
- aria-label=${this.ariaLabelLightbox}
1100
+ aria-label=${this.lightboxLabel ??
1101
+ this.dictionary.imageCarousel.lightbox}
1105
1102
  @euncancel=${() => this.handleTransientResume()}
1106
1103
  >
1107
1104
  <div id="lightbox" @keydown=${this.handleKeydown}>
@@ -1136,7 +1133,8 @@ let EunomiaImageCarousel = EunomiaImageCarousel_1 = class EunomiaImageCarousel e
1136
1133
  type="button"
1137
1134
  class="lightbox-nav"
1138
1135
  id="lightbox-prev"
1139
- aria-label=${this.ariaLabelPrevious}
1136
+ aria-label=${this.previousLabel ??
1137
+ this.dictionary.imageCarousel.previous}
1140
1138
  ?disabled=${!this.loop && this.activeIndex <= 0}
1141
1139
  @click=${() => this.previous()}
1142
1140
  >
@@ -1146,7 +1144,8 @@ let EunomiaImageCarousel = EunomiaImageCarousel_1 = class EunomiaImageCarousel e
1146
1144
  type="button"
1147
1145
  class="lightbox-nav"
1148
1146
  id="lightbox-next"
1149
- aria-label=${this.ariaLabelNext}
1147
+ aria-label=${this.nextLabel ??
1148
+ this.dictionary.imageCarousel.next}
1150
1149
  ?disabled=${!this.loop && this.activeIndex >= count - 1}
1151
1150
  @click=${() => this.next()}
1152
1151
  >
@@ -1160,7 +1159,11 @@ let EunomiaImageCarousel = EunomiaImageCarousel_1 = class EunomiaImageCarousel e
1160
1159
  </div>
1161
1160
  ${this.lightboxGrid && hasMultiple
1162
1161
  ? html `
1163
- <div id="lightbox-grid" role="group" aria-label=${this.dictionary.imageCarousel.allImages}>
1162
+ <div
1163
+ id="lightbox-grid"
1164
+ role="group"
1165
+ aria-label=${this.dictionary.imageCarousel.allImages}
1166
+ >
1164
1167
  ${this.images.map((image, index) => html `
1165
1168
  <button
1166
1169
  type="button"
@@ -1196,7 +1199,7 @@ let EunomiaImageCarousel = EunomiaImageCarousel_1 = class EunomiaImageCarousel e
1196
1199
  <div
1197
1200
  id="stage"
1198
1201
  role="group"
1199
- aria-label=${this.ariaLabel || "Image gallery"}
1202
+ aria-label=${this.ariaLabel || this.dictionary.imageCarousel.gallery}
1200
1203
  @keydown=${this.handleKeydown}
1201
1204
  >
1202
1205
  ${this.renderMainImage(current, count)}
@@ -1245,7 +1248,7 @@ EunomiaImageCarousel.SWIPE_THRESHOLD = 40;
1245
1248
  */
1246
1249
  EunomiaImageCarousel.EDGE_RESISTANCE = 0.3;
1247
1250
  __decorate([
1248
- property({ type: Array, reflect: true })
1251
+ property({ type: Array, reflect: true, useDefault: true })
1249
1252
  ], EunomiaImageCarousel.prototype, "images", void 0);
1250
1253
  __decorate([
1251
1254
  property({ type: Number, attribute: "active-index" })
@@ -1272,7 +1275,7 @@ __decorate([
1272
1275
  property({ type: Boolean })
1273
1276
  ], EunomiaImageCarousel.prototype, "loop", void 0);
1274
1277
  __decorate([
1275
- property({ reflect: true })
1278
+ property({ reflect: true, useDefault: true })
1276
1279
  ], EunomiaImageCarousel.prototype, "transition", void 0);
1277
1280
  __decorate([
1278
1281
  property({ type: Boolean })
@@ -1281,17 +1284,17 @@ __decorate([
1281
1284
  property({ type: Number, attribute: "autoplay-interval" })
1282
1285
  ], EunomiaImageCarousel.prototype, "autoplayInterval", void 0);
1283
1286
  __decorate([
1284
- property({ attribute: "aria-label-previous" })
1285
- ], EunomiaImageCarousel.prototype, "ariaLabelPrevious", void 0);
1287
+ property({ attribute: "previous-label" })
1288
+ ], EunomiaImageCarousel.prototype, "previousLabel", void 0);
1286
1289
  __decorate([
1287
- property({ attribute: "aria-label-next" })
1288
- ], EunomiaImageCarousel.prototype, "ariaLabelNext", void 0);
1290
+ property({ attribute: "next-label" })
1291
+ ], EunomiaImageCarousel.prototype, "nextLabel", void 0);
1289
1292
  __decorate([
1290
- property({ attribute: "aria-label-expand" })
1291
- ], EunomiaImageCarousel.prototype, "ariaLabelExpand", void 0);
1293
+ property({ attribute: "expand-label" })
1294
+ ], EunomiaImageCarousel.prototype, "expandLabel", void 0);
1292
1295
  __decorate([
1293
- property({ attribute: "aria-label-lightbox" })
1294
- ], EunomiaImageCarousel.prototype, "ariaLabelLightbox", void 0);
1296
+ property({ attribute: "lightbox-label" })
1297
+ ], EunomiaImageCarousel.prototype, "lightboxLabel", void 0);
1295
1298
  __decorate([
1296
1299
  state()
1297
1300
  ], EunomiaImageCarousel.prototype, "announcement", void 0);
@@ -1,5 +1,5 @@
1
1
  import { css } from "lit";
2
- import { EUNOMIA_BREAKPOINTS } from "../../../breakpoints.js";
2
+ import { cssBelow } from "../../../utils/media.styles.js";
3
3
  /**
4
4
  * Base style for the image carousel component.
5
5
  *
@@ -8,8 +8,12 @@ import { EUNOMIA_BREAKPOINTS } from "../../../breakpoints.js";
8
8
  * [--image-carousel-object-fit] - Set a custom `object-fit` for the main image
9
9
  * [--image-carousel-border-radius] - Set a custom border radius for the main stage
10
10
  * [--image-carousel-background] - Set a custom background color behind the main stage, visible with `object-fit: contain`
11
+ * [--image-carousel-border-width] - Set a custom border width for the main stage, once a border color is set
12
+ * [--image-carousel-border-color] - Set a custom border color for the main stage (no border by default)
11
13
  * [--image-carousel-thumbnail-size] - Set a custom size for each thumbnail
12
14
  * [--image-carousel-thumbnail-gap] - Set a custom gap between thumbnails, and between the strip and the main stage
15
+ * [--image-carousel-thumbnail-border-color] - Set a custom border color for the thumbnails and the lightbox's grid items at rest (transparent by default)
16
+ * [--image-carousel-thumbnail-active-border-color] - Set a custom border color for the active thumbnail and the lightbox's active grid item
13
17
  * [--image-carousel-nav-color] - Set a custom icon color for the main stage's prev/next controls
14
18
  * [--image-carousel-transition-duration] - Set a custom duration for the `transition` animation between images
15
19
  * [--image-carousel-swipe-duration] - Set a custom duration for the main stage's touch swipe settling into place on release (committing, or springing back)
@@ -19,6 +23,7 @@ import { EUNOMIA_BREAKPOINTS } from "../../../breakpoints.js";
19
23
  * [--image-carousel-lightbox-image-radius] - Set a custom border radius for the lightbox's own image
20
24
  * [--image-carousel-grid-width] - Set a custom width for the lightbox's grid column
21
25
  * [--image-carousel-grid-columns] - Set a custom column count for the lightbox's grid
26
+ * [--image-carousel-divider-color] - Set a custom color for the line between the lightbox's main image and its grid
22
27
  * [--image-carousel-dot-size] - Set a custom size for the pagination dots
23
28
  * [--image-carousel-dot-gap] - Set a custom gap between pagination dots
24
29
  * [--image-carousel-dot-color] - Set a custom color for the pagination dots
@@ -29,7 +34,10 @@ const base = css `
29
34
  display: block;
30
35
  --_magnifierZoom: 2.5;
31
36
  --_transitionDuration: var(--image-carousel-transition-duration, 380ms);
32
- --_swipe-duration: var(--image-carousel-swipe-duration, 200ms);
37
+ --_swipe-duration: var(
38
+ --image-carousel-swipe-duration,
39
+ var(--eun-duration-m, 200ms)
40
+ );
33
41
  }
34
42
 
35
43
  :host([transition="none"]) {
@@ -62,7 +70,18 @@ const base = css `
62
70
  var(--eun-surface-sunken, #f7f8fa)
63
71
  );
64
72
  outline: 3px solid transparent;
65
- transition: outline-color 0.2s ease-out;
73
+ transition: outline-color var(--eun-duration-m, 200ms)
74
+ var(--eun-easing-out, ease-out);
75
+ }
76
+ #stage::after {
77
+ content: "";
78
+ position: absolute;
79
+ inset: 0;
80
+ z-index: 4;
81
+ border: var(--image-carousel-border-width, var(--eun-border-width-s, 1px))
82
+ solid var(--image-carousel-border-color, transparent);
83
+ border-radius: inherit;
84
+ pointer-events: none;
66
85
  }
67
86
 
68
87
  #stage:has(#expand-trigger:focus-visible) {
@@ -100,7 +119,8 @@ const base = css `
100
119
  }
101
120
 
102
121
  #main-image {
103
- transition: transform 0.15s ease;
122
+ transition: transform var(--eun-duration-s, 150ms)
123
+ var(--eun-easing-default, ease);
104
124
  }
105
125
  #main-image.zoomed {
106
126
  transform: scale(var(--_magnifierZoom));
@@ -158,22 +178,28 @@ const base = css `
158
178
  }
159
179
  }
160
180
  .transition-slide.entering.dir-next {
161
- animation: ic-slide-in-next var(--_transitionDuration) ease;
181
+ animation: ic-slide-in-next var(--_transitionDuration)
182
+ var(--eun-easing-default, ease);
162
183
  }
163
184
  .transition-slide.entering.dir-prev {
164
- animation: ic-slide-in-prev var(--_transitionDuration) ease;
185
+ animation: ic-slide-in-prev var(--_transitionDuration)
186
+ var(--eun-easing-default, ease);
165
187
  }
166
188
  .transition-slide.leaving.dir-next {
167
- animation: ic-slide-out-next var(--_transitionDuration) ease;
189
+ animation: ic-slide-out-next var(--_transitionDuration)
190
+ var(--eun-easing-default, ease);
168
191
  }
169
192
  .transition-slide.leaving.dir-prev {
170
- animation: ic-slide-out-prev var(--_transitionDuration) ease;
193
+ animation: ic-slide-out-prev var(--_transitionDuration)
194
+ var(--eun-easing-default, ease);
171
195
  }
172
196
  .transition-fade.entering {
173
- animation: ic-fade-in var(--_transitionDuration) ease;
197
+ animation: ic-fade-in var(--_transitionDuration)
198
+ var(--eun-easing-default, ease);
174
199
  }
175
200
  .transition-fade.leaving {
176
- animation: ic-fade-out var(--_transitionDuration) ease;
201
+ animation: ic-fade-out var(--_transitionDuration)
202
+ var(--eun-easing-default, ease);
177
203
  }
178
204
 
179
205
  #expand-icon {
@@ -190,7 +216,8 @@ const base = css `
190
216
  background: rgba(7, 22, 33, 0.55);
191
217
  color: #fff;
192
218
  opacity: 0.85;
193
- transition: opacity 0.2s ease;
219
+ transition: opacity var(--eun-duration-m, 200ms)
220
+ var(--eun-easing-default, ease);
194
221
  cursor: pointer;
195
222
  }
196
223
 
@@ -213,9 +240,10 @@ const base = css `
213
240
  box-shadow: none;
214
241
  outline: 2px solid transparent;
215
242
  transition:
216
- outline 0.2s ease-out,
217
- background-color 0.2s ease,
218
- box-shadow 0.2s ease;
243
+ outline var(--eun-duration-m, 200ms) var(--eun-easing-out, ease-out),
244
+ background-color var(--eun-duration-m, 200ms)
245
+ var(--eun-easing-default, ease),
246
+ box-shadow var(--eun-duration-m, 200ms) var(--eun-easing-default, ease);
219
247
  }
220
248
  #prev {
221
249
  left: var(--eun-space-s, 8px);
@@ -268,16 +296,17 @@ const base = css `
268
296
  width: var(--image-carousel-thumbnail-size, 64px);
269
297
  height: var(--image-carousel-thumbnail-size, 64px);
270
298
  overflow: hidden;
271
- border: var(--eun-border-width-m, 1.5px) solid transparent;
299
+ border: var(--eun-border-width-m, 1.5px) solid
300
+ var(--image-carousel-thumbnail-border-color, transparent);
272
301
  border-radius: var(--eun-border-radius-s, 6px);
273
302
  cursor: pointer;
274
303
  opacity: 0.6;
275
304
  outline: 2px solid transparent;
276
305
  outline-offset: -2px;
277
306
  transition:
278
- opacity 0.2s ease,
279
- outline 0.2s ease-out,
280
- border-color 0.2s ease;
307
+ opacity var(--eun-duration-m, 200ms) var(--eun-easing-default, ease),
308
+ outline var(--eun-duration-m, 200ms) var(--eun-easing-out, ease-out),
309
+ border-color var(--eun-duration-m, 200ms) var(--eun-easing-default, ease);
281
310
  }
282
311
  .thumbnail img {
283
312
  display: block;
@@ -290,7 +319,10 @@ const base = css `
290
319
  }
291
320
  .thumbnail[aria-current="true"] {
292
321
  opacity: 1;
293
- border-color: var(--eun-color-primary-500, #3d6fff);
322
+ border-color: var(
323
+ --image-carousel-thumbnail-active-border-color,
324
+ var(--eun-color-primary-500, #3d6fff)
325
+ );
294
326
  }
295
327
  .thumbnail:focus-visible {
296
328
  outline-color: var(--eun-color-primary-500, #3d6fff);
@@ -317,9 +349,10 @@ const base = css `
317
349
  outline: 2px solid transparent;
318
350
  outline-offset: 2px;
319
351
  transition:
320
- width 0.2s ease,
321
- border-radius 0.2s ease,
322
- background-color 0.2s ease;
352
+ width var(--eun-duration-m, 200ms) var(--eun-easing-default, ease),
353
+ border-radius var(--eun-duration-m, 200ms) var(--eun-easing-default, ease),
354
+ background-color var(--eun-duration-m, 200ms)
355
+ var(--eun-easing-default, ease);
323
356
  }
324
357
  .dot:focus-visible {
325
358
  outline-color: var(--eun-color-primary-500, #3d6fff);
@@ -334,6 +367,7 @@ const base = css `
334
367
  }
335
368
 
336
369
  #modal {
370
+ --modal-padding: 0;
337
371
  --modal-width: var(--image-carousel-lightbox-width, min(1200px, 94vw));
338
372
  --modal-max-height: var(
339
373
  --image-carousel-lightbox-max-height,
@@ -384,7 +418,8 @@ const base = css `
384
418
  cursor: pointer;
385
419
  outline: 2px solid transparent;
386
420
  outline-offset: 2px;
387
- transition: background-color 0.2s ease;
421
+ transition: background-color var(--eun-duration-m, 200ms)
422
+ var(--eun-easing-default, ease);
388
423
  }
389
424
  #lightbox-prev {
390
425
  left: var(--eun-space-m, 16px);
@@ -426,20 +461,21 @@ const base = css `
426
461
  overflow-y: auto;
427
462
  background: var(--eun-surface-color, #ffffff);
428
463
  border-left: var(--eun-border-width-s, 1px) solid
429
- var(--eun-border-color, #dee0e7);
464
+ var(--image-carousel-divider-color, var(--eun-border-color, #dee0e7));
430
465
  }
431
466
  .grid-item {
432
467
  all: unset;
433
468
  box-sizing: border-box;
434
469
  aspect-ratio: 1;
435
470
  overflow: hidden;
436
- border: var(--eun-border-width-m, 1.5px) solid transparent;
471
+ border: var(--eun-border-width-m, 1.5px) solid
472
+ var(--image-carousel-thumbnail-border-color, transparent);
437
473
  border-radius: var(--eun-border-radius-s, 6px);
438
474
  cursor: pointer;
439
475
  opacity: 0.7;
440
476
  transition:
441
- opacity 0.2s ease,
442
- border-color 0.2s ease;
477
+ opacity var(--eun-duration-m, 200ms) var(--eun-easing-default, ease),
478
+ border-color var(--eun-duration-m, 200ms) var(--eun-easing-default, ease);
443
479
  }
444
480
  .grid-item img {
445
481
  display: block;
@@ -452,14 +488,17 @@ const base = css `
452
488
  }
453
489
  .grid-item[aria-current="true"] {
454
490
  opacity: 1;
455
- border-color: var(--eun-color-primary-500, #3d6fff);
491
+ border-color: var(
492
+ --image-carousel-thumbnail-active-border-color,
493
+ var(--eun-color-primary-500, #3d6fff)
494
+ );
456
495
  }
457
496
  .grid-item:focus-visible {
458
497
  outline: 2px solid var(--eun-color-primary-500, #3d6fff);
459
498
  outline-offset: 2px;
460
499
  }
461
500
 
462
- @media (max-width: ${EUNOMIA_BREAKPOINTS.mobile}px) {
501
+ @media ${cssBelow("mobile")} {
463
502
  #lightbox {
464
503
  flex-direction: column;
465
504
  }
@@ -472,7 +511,7 @@ const base = css `
472
511
  overflow-x: auto;
473
512
  overflow-y: hidden;
474
513
  border-top: var(--eun-border-width-s, 1px) solid
475
- var(--eun-border-color, #dee0e7);
514
+ var(--image-carousel-divider-color, var(--eun-border-color, #dee0e7));
476
515
  border-left: none;
477
516
  }
478
517
  }