@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
@@ -35,8 +35,8 @@ export interface TimePickerColumnsProps {
35
35
  ariaLabelHour?: string;
36
36
  ariaLabelMinute?: string;
37
37
  ariaLabelPeriod?: string;
38
- ariaLabelIncrement?: string;
39
- ariaLabelDecrement?: string;
38
+ incrementLabel?: string;
39
+ decrementLabel?: string;
40
40
  onHourChange: (hour24: number) => void;
41
41
  onMinuteChange: (minute: number) => void;
42
42
  onPeriodChange: (period: Period) => void;
@@ -73,8 +73,8 @@ export function renderTimePickerColumns(props) {
73
73
  disabled,
74
74
  noAnimation,
75
75
  label: props.ariaLabelHour ?? "Hour",
76
- ariaLabelIncrement: props.ariaLabelIncrement ?? "Increase hour",
77
- ariaLabelDecrement: props.ariaLabelDecrement ?? "Decrease hour",
76
+ incrementLabel: props.incrementLabel ?? "Increase hour",
77
+ decrementLabel: props.decrementLabel ?? "Decrease hour",
78
78
  min: hourMin,
79
79
  max: hourMax,
80
80
  current: display.hour,
@@ -89,8 +89,8 @@ export function renderTimePickerColumns(props) {
89
89
  disabled,
90
90
  noAnimation,
91
91
  label: props.ariaLabelMinute ?? "Minute",
92
- ariaLabelIncrement: props.ariaLabelIncrement ?? "Increase minute",
93
- ariaLabelDecrement: props.ariaLabelDecrement ?? "Decrease minute",
92
+ incrementLabel: props.incrementLabel ?? "Increase minute",
93
+ decrementLabel: props.decrementLabel ?? "Decrease minute",
94
94
  min: 0,
95
95
  max: 59,
96
96
  current: minute,
@@ -106,8 +106,8 @@ export function renderTimePickerColumns(props) {
106
106
  disabled,
107
107
  noAnimation,
108
108
  label: props.ariaLabelPeriod ?? "AM/PM",
109
- ariaLabelIncrement: props.ariaLabelIncrement ?? "Toggle AM/PM",
110
- ariaLabelDecrement: props.ariaLabelDecrement ?? "Toggle AM/PM",
109
+ incrementLabel: props.incrementLabel ?? "Toggle AM/PM",
110
+ decrementLabel: props.decrementLabel ?? "Toggle AM/PM",
111
111
  min: 0,
112
112
  max: 1,
113
113
  current: period === "AM" ? 0 : 1,
@@ -164,7 +164,7 @@ function renderColumn(config) {
164
164
  type="button"
165
165
  class="tp-arrow tp-arrow-up"
166
166
  tabindex="-1"
167
- aria-label=${config.ariaLabelIncrement}
167
+ aria-label=${config.incrementLabel}
168
168
  ?disabled=${disabled}
169
169
  @click=${() => onStep(1)}
170
170
  >
@@ -194,7 +194,7 @@ function renderColumn(config) {
194
194
  type="button"
195
195
  class="tp-arrow tp-arrow-down"
196
196
  tabindex="-1"
197
- aria-label=${config.ariaLabelDecrement}
197
+ aria-label=${config.decrementLabel}
198
198
  ?disabled=${disabled}
199
199
  @click=${() => onStep(-1)}
200
200
  >
@@ -36,7 +36,8 @@ const timePickerColumns = css `
36
36
  padding: var(--eun-space-xxs, 1.6px);
37
37
  color: var(--_iconColor, var(--eun-text-secondary, #484e61));
38
38
  cursor: pointer;
39
- transition: background-color 0.15s ease;
39
+ transition: background-color var(--eun-duration-s, 150ms)
40
+ var(--eun-easing-default, ease);
40
41
  }
41
42
  .tp-arrow:hover:not(:disabled) {
42
43
  background-color: var(
@@ -109,7 +110,8 @@ const timePickerColumns = css `
109
110
  color: var(--_placeholderColor, var(--eun-color-grey-400, #c1c9d6));
110
111
  font: inherit;
111
112
  cursor: pointer;
112
- transition: color 0.15s ease;
113
+ transition: color var(--eun-duration-s, 150ms)
114
+ var(--eun-easing-default, ease);
113
115
  }
114
116
  .tp-wheel-item.selected {
115
117
  color: var(--_textColor, var(--eun-text-color, #071621));
@@ -27,7 +27,8 @@ const timePickerList = css `
27
27
  font-variant-numeric: tabular-nums;
28
28
  text-align: start;
29
29
  cursor: pointer;
30
- transition: background-color 0.15s ease;
30
+ transition: background-color var(--eun-duration-s, 150ms)
31
+ var(--eun-easing-default, ease);
31
32
  }
32
33
  .tp-list-item:hover:not(:disabled) {
33
34
  background-color: var(
@@ -64,14 +64,16 @@ declare const EunomiaTimePickerMixinBase: Constructor<EunomiaTimePickerBase>;
64
64
  * @prop {boolean} [disabled=false] - Whether the field is disabled
65
65
  * @prop {boolean} [readonly=false] - Whether the field is read only
66
66
  * @prop {boolean} [required=false] - Whether the field is required
67
- * @prop {boolean} [hideError=false] - Whether the errors are hidden
67
+ * @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
68
+ * @prop {boolean} [invalid=false] - Shows the field as invalid without any message, for an error displayed elsewhere
69
+ * @prop {string} [error] - An error computed outside the field, by the form or by the server. While set, the field is invalid and shows this message right away
68
70
  * @prop {Array<Validators<Date | null>>} validators - The list of custom validation rules applied to the value
69
71
  * @prop {string} [applyLabel='Apply'] - The label of the mobile modal's confirm button
70
72
  * @attr {string} [apply-label='Apply'] - The label of the mobile modal's confirm button
71
- * @prop {string} [cancelLabel='Cancel'] - The label of the mobile modal's cancel button
72
- * @attr {string} [cancel-label='Cancel'] - The label of the mobile modal's cancel button
73
- * @prop {string} [ariaLabelClock='Open clock'] - The accessible label of the trailing clock button
74
- * @attr {string} [aria-label-clock='Open clock'] - The accessible label of the trailing clock button
73
+ * @prop {string} [cancelLabel] - The label of the mobile modal's cancel button. Defaults to the localized string for the current locale (English: "Cancel")
74
+ * @attr {string} [cancel-label] - The label of the mobile modal's cancel button. Defaults to the localized string for the current locale (English: "Cancel")
75
+ * @prop {string} [clockLabel] - The accessible label of the trailing clock button. Defaults to the localized string for the current locale (English: "Open clock")
76
+ * @attr {string} [clock-label] - The accessible label of the trailing clock button. Defaults to the localized string for the current locale (English: "Open clock")
75
77
  * @prop {string} [hourPlaceholder='hh'] - The placeholder shown in the empty hour segment
76
78
  * @attr {string} [hour-placeholder='hh'] - The placeholder shown in the empty hour segment
77
79
  * @prop {string} [minutePlaceholder='mm'] - The placeholder shown in the empty minute segment
@@ -96,6 +98,9 @@ declare const EunomiaTimePickerMixinBase: Constructor<EunomiaTimePickerBase>;
96
98
  * @cssprop [--time-picker-selected-color] - Sets the text color of the selected item in the list panel mode
97
99
  * @cssprop [--time-picker-panel-background] - Sets the background color of the popover panel
98
100
  * @cssprop [--time-picker-panel-transition-duration=200ms] - Sets the duration of the popover panel's open and close transition
101
+ * @cssprop [--field-font-size] - Sets the font size of the field's value and placeholder
102
+ * @cssprop [--field-label-font-size] - Sets the font size of the label
103
+ * @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
99
104
  * @element eun-time-picker
100
105
  */
101
106
  export declare class EunomiaTimePicker extends EunomiaTimePickerMixinBase {
@@ -182,14 +187,14 @@ export declare class EunomiaTimePicker extends EunomiaTimePickerMixinBase {
182
187
  applyLabel: string;
183
188
  /**
184
189
  * Label of the mobile modal's cancel button.
185
- * @default Cancel
190
+ * Falls back to the localized string for the current locale when unset.
186
191
  */
187
- cancelLabel: string;
192
+ cancelLabel?: string;
188
193
  /**
189
194
  * Accessible label of the trailing clock button.
190
- * @default Open clock
195
+ * Falls back to the localized string for the current locale when unset.
191
196
  */
192
- ariaLabelClock: string;
197
+ clockLabel?: string;
193
198
  /**
194
199
  * Placeholder shown in the empty hour segment.
195
200
  * @default hh
@@ -223,6 +228,15 @@ export declare class EunomiaTimePicker extends EunomiaTimePickerMixinBase {
223
228
  * @internal
224
229
  */
225
230
  private isOpen;
231
+ constructor();
232
+ /**
233
+ * Submits the owning form on Enter in one of the field's segments, as a
234
+ * native time input does, since the browser never does it from a
235
+ * shadow root. Left alone while the panel is open, and on keys a
236
+ * segment already handles, such as Enter toggling the AM/PM segment.
237
+ * @private
238
+ */
239
+ private readonly handleImplicitSubmission;
226
240
  /**
227
241
  * Whether the mobile modal is open.
228
242
  * @internal
@@ -323,6 +337,12 @@ export declare class EunomiaTimePicker extends EunomiaTimePickerMixinBase {
323
337
  * @returns validity state and optional message.
324
338
  */
325
339
  checkLocalValidators: () => Validity;
340
+ /**
341
+ * The host is never a tab stop of its own : sequential navigation goes
342
+ * straight to the controls inside, in both directions, and
343
+ * {@link focus} covers a direct call on the host.
344
+ */
345
+ protected get hostTabStop(): boolean;
326
346
  /**
327
347
  * Returns the first segment element to focus/anchor on validation errors.
328
348
  *
@@ -429,7 +449,7 @@ export declare class EunomiaTimePicker extends EunomiaTimePickerMixinBase {
429
449
  * The popover's open/close animation duration, in ms : `0` if
430
450
  * `noAnimation` is set or the browser reports `prefers-reduced-motion:
431
451
  * reduce`, otherwise `--time-picker-panel-transition-duration` (default
432
- * `200ms`).
452
+ * `--eun-duration-m`).
433
453
  *
434
454
  * @param el the popover to read `--time-picker-panel-transition-duration` off.
435
455
  * @private
@@ -9,7 +9,7 @@ import { html, LitElement, nothing } from "lit";
9
9
  import { DisabledMixin, } from "../../../mixins/disabled.mixin.js";
10
10
  import { ReadonlyMixin, } from "../../../mixins/readonly.mixin.js";
11
11
  import { ValidatorsMixin, } from "../../../mixins/validators.mixin.js";
12
- import { FormMixin } from "../../../mixins/form.mixin.js";
12
+ import { FormMixin, hasErrorDisplayChange, } from "../../../mixins/form.mixin.js";
13
13
  import { FormLabelMixin, } from "../../../mixins/form-label.mixin.js";
14
14
  import { FieldAppearanceMixin, } from "../../../mixins/field-appearance.mixin.js";
15
15
  import { AnchorPositionMixin, } from "../../../mixins/anchor-position.mixin.js";
@@ -24,6 +24,9 @@ import { timePickerColumnsStyles } from "./time-picker-columns.styles.js";
24
24
  import { renderTimePickerColumns } from "./time-picker-columns.js";
25
25
  import { timePickerListStyles } from "./time-picker-list.styles.js";
26
26
  import { renderTimePickerList } from "./time-picker-list.js";
27
+ import { resolveDurationMs, resolveEasing, } from "../../../utils/motion.utils.js";
28
+ import { mediaBelow } from "../../../breakpoints.js";
29
+ import { isImplicitSubmissionKey, submitImplicitly, } from "../../../utils/implicit-submission.utils.js";
27
30
  /**
28
31
  * Tag name of the time-picker component.
29
32
  */
@@ -78,14 +81,16 @@ const EunomiaTimePickerMixinBase = LocalizableMixin(AnchorPositionMixin(FieldApp
78
81
  * @prop {boolean} [disabled=false] - Whether the field is disabled
79
82
  * @prop {boolean} [readonly=false] - Whether the field is read only
80
83
  * @prop {boolean} [required=false] - Whether the field is required
81
- * @prop {boolean} [hideError=false] - Whether the errors are hidden
84
+ * @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
85
+ * @prop {boolean} [invalid=false] - Shows the field as invalid without any message, for an error displayed elsewhere
86
+ * @prop {string} [error] - An error computed outside the field, by the form or by the server. While set, the field is invalid and shows this message right away
82
87
  * @prop {Array<Validators<Date | null>>} validators - The list of custom validation rules applied to the value
83
88
  * @prop {string} [applyLabel='Apply'] - The label of the mobile modal's confirm button
84
89
  * @attr {string} [apply-label='Apply'] - The label of the mobile modal's confirm button
85
- * @prop {string} [cancelLabel='Cancel'] - The label of the mobile modal's cancel button
86
- * @attr {string} [cancel-label='Cancel'] - The label of the mobile modal's cancel button
87
- * @prop {string} [ariaLabelClock='Open clock'] - The accessible label of the trailing clock button
88
- * @attr {string} [aria-label-clock='Open clock'] - The accessible label of the trailing clock button
90
+ * @prop {string} [cancelLabel] - The label of the mobile modal's cancel button. Defaults to the localized string for the current locale (English: "Cancel")
91
+ * @attr {string} [cancel-label] - The label of the mobile modal's cancel button. Defaults to the localized string for the current locale (English: "Cancel")
92
+ * @prop {string} [clockLabel] - The accessible label of the trailing clock button. Defaults to the localized string for the current locale (English: "Open clock")
93
+ * @attr {string} [clock-label] - The accessible label of the trailing clock button. Defaults to the localized string for the current locale (English: "Open clock")
89
94
  * @prop {string} [hourPlaceholder='hh'] - The placeholder shown in the empty hour segment
90
95
  * @attr {string} [hour-placeholder='hh'] - The placeholder shown in the empty hour segment
91
96
  * @prop {string} [minutePlaceholder='mm'] - The placeholder shown in the empty minute segment
@@ -110,11 +115,31 @@ const EunomiaTimePickerMixinBase = LocalizableMixin(AnchorPositionMixin(FieldApp
110
115
  * @cssprop [--time-picker-selected-color] - Sets the text color of the selected item in the list panel mode
111
116
  * @cssprop [--time-picker-panel-background] - Sets the background color of the popover panel
112
117
  * @cssprop [--time-picker-panel-transition-duration=200ms] - Sets the duration of the popover panel's open and close transition
118
+ * @cssprop [--field-font-size] - Sets the font size of the field's value and placeholder
119
+ * @cssprop [--field-label-font-size] - Sets the font size of the label
120
+ * @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
113
121
  * @element eun-time-picker
114
122
  */
115
123
  let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBase {
124
+ /**
125
+ * The default value applied on connection and form reset. Overrides the
126
+ * `defaultValue` accessor inherited from `FormMixin` only to swap its
127
+ * attribute converter — the mixin's generic one always splits
128
+ * `default-value` on commas, which would silently produce the wrong thing
129
+ * for a `Date` ; matches `eun-date-picker`'s identical override. The
130
+ * actual get/set logic (applying the default when the field resets)
131
+ * still comes from `FormMixin` itself, via `super`.
132
+ * @default-value-format an ISO 8601 date-time string
133
+ */
134
+ get defaultValue() {
135
+ return super.defaultValue;
136
+ }
137
+ set defaultValue(value) {
138
+ // @ts-expect-error — see comment above ; FormMixin's real setter exists.
139
+ super.defaultValue = value;
140
+ }
116
141
  constructor() {
117
- super(...arguments);
142
+ super();
118
143
  /**
119
144
  * The minute column's increment step, and which minute values the mobile
120
145
  * wheel enumerates (e.g. `15` only ever shows/lands on `:00`/`:15`/`:30`/
@@ -162,16 +187,6 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
162
187
  * @default Apply
163
188
  */
164
189
  this.applyLabel = "Apply";
165
- /**
166
- * Label of the mobile modal's cancel button.
167
- * @default Cancel
168
- */
169
- this.cancelLabel = "Cancel";
170
- /**
171
- * Accessible label of the trailing clock button.
172
- * @default Open clock
173
- */
174
- this.ariaLabelClock = "Open clock";
175
190
  /**
176
191
  * Placeholder shown in the empty hour segment.
177
192
  * @default hh
@@ -193,6 +208,25 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
193
208
  * @internal
194
209
  */
195
210
  this.isOpen = false;
211
+ /**
212
+ * Submits the owning form on Enter in one of the field's segments, as a
213
+ * native time input does, since the browser never does it from a
214
+ * shadow root. Left alone while the panel is open, and on keys a
215
+ * segment already handles, such as Enter toggling the AM/PM segment.
216
+ * @private
217
+ */
218
+ this.handleImplicitSubmission = (event) => {
219
+ const form = this.internals.form;
220
+ const origin = event.composedPath()[0];
221
+ if (!form ||
222
+ this.isOpen ||
223
+ !(origin instanceof Element && origin.matches(".segment")) ||
224
+ !isImplicitSubmissionKey(event)) {
225
+ return;
226
+ }
227
+ event.preventDefault();
228
+ submitImplicitly(form);
229
+ };
196
230
  /**
197
231
  * Whether the mobile modal is open.
198
232
  * @internal
@@ -227,7 +261,10 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
227
261
  const format = this.resolvedHourFormat();
228
262
  if (isPartiallyFilled(this.segments) &&
229
263
  !clockSegmentsToTime(this.segments, format)) {
230
- return { validity: { badInput: true }, message: "Enter a valid time" };
264
+ return {
265
+ validity: { badInput: true },
266
+ message: this.dictionary.validation.invalidTime,
267
+ };
231
268
  }
232
269
  if (this.value) {
233
270
  const { hour, minute } = getZonedParts(this.value, this.timezone);
@@ -285,7 +322,7 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
285
322
  this.isModalOpen = true;
286
323
  return;
287
324
  }
288
- this.updateComplete.then(() => {
325
+ void this.updateComplete.then(() => {
289
326
  const popover = this.popoverEl;
290
327
  if (!popover) {
291
328
  return;
@@ -318,7 +355,7 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
318
355
  });
319
356
  }
320
357
  this.observeAnchorVisibility(this.fieldWrapperEl, () => this.closePopover());
321
- this.updateComplete.then(() => this.panelMode === "list"
358
+ void this.updateComplete.then(() => this.panelMode === "list"
322
359
  ? this.focusListSelection()
323
360
  : this.focusFirstSpinbutton());
324
361
  return;
@@ -402,23 +439,7 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
402
439
  break;
403
440
  }
404
441
  };
405
- }
406
- /**
407
- * The default value applied on connection and form reset. Overrides the
408
- * `defaultValue` accessor inherited from `FormMixin` only to swap its
409
- * attribute converter — the mixin's generic one always splits
410
- * `default-value` on commas, which would silently produce the wrong thing
411
- * for a `Date` ; matches `eun-date-picker`'s identical override. The
412
- * actual get/set logic (applying the default when the field resets)
413
- * still comes from `FormMixin` itself, via `super`.
414
- * @default-value-format an ISO 8601 date-time string
415
- */
416
- get defaultValue() {
417
- return super.defaultValue;
418
- }
419
- set defaultValue(value) {
420
- // @ts-expect-error — see comment above ; FormMixin's real setter exists.
421
- super.defaultValue = value;
442
+ this.addEventListener("keydown", this.handleImplicitSubmission);
422
443
  }
423
444
  /**
424
445
  * Lifecycle hook called before an update, ahead of render. Keeps the
@@ -469,12 +490,18 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
469
490
  */
470
491
  updated(changed) {
471
492
  super.updated(changed);
472
- if (changed.has("valid") ||
473
- changed.has("hideError") ||
474
- changed.has("disabled")) {
475
- this.setAttribute("aria-invalid", String(!this.hideError && !this.disabled && !this.valid));
493
+ if (hasErrorDisplayChange(changed)) {
494
+ this.setAttribute("aria-invalid", String(this.showError));
476
495
  }
477
496
  }
497
+ /**
498
+ * The host is never a tab stop of its own : sequential navigation goes
499
+ * straight to the controls inside, in both directions, and
500
+ * {@link focus} covers a direct call on the host.
501
+ */
502
+ get hostTabStop() {
503
+ return false;
504
+ }
478
505
  /**
479
506
  * Returns the first segment element to focus/anchor on validation errors.
480
507
  *
@@ -498,7 +525,7 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
498
525
  * @private
499
526
  */
500
527
  isMobileViewport() {
501
- return window.matchMedia("(max-width: 767px)").matches;
528
+ return window.matchMedia(mediaBelow("tablet")).matches;
502
529
  }
503
530
  /**
504
531
  * The hour format actually in effect, resolving `hourFormat`/`locale`
@@ -599,7 +626,7 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
599
626
  * The popover's open/close animation duration, in ms : `0` if
600
627
  * `noAnimation` is set or the browser reports `prefers-reduced-motion:
601
628
  * reduce`, otherwise `--time-picker-panel-transition-duration` (default
602
- * `200ms`).
629
+ * `--eun-duration-m`).
603
630
  *
604
631
  * @param el the popover to read `--time-picker-panel-transition-duration` off.
605
632
  * @private
@@ -609,18 +636,7 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
609
636
  window.matchMedia("(prefers-reduced-motion: reduce)").matches) {
610
637
  return 0;
611
638
  }
612
- const raw = getComputedStyle(el)
613
- .getPropertyValue("--time-picker-panel-transition-duration")
614
- .trim();
615
- if (raw) {
616
- const parsed = raw.endsWith("ms")
617
- ? Number.parseFloat(raw)
618
- : Number.parseFloat(raw) * 1000;
619
- if (Number.isFinite(parsed) && parsed >= 0) {
620
- return parsed;
621
- }
622
- }
623
- return 200;
639
+ return resolveDurationMs(el, "--time-picker-panel-transition-duration", "m", 200);
624
640
  }
625
641
  /**
626
642
  * Plays the fade/scaleY-in, replacing any {@link popoverAnimation}
@@ -638,7 +654,7 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
638
654
  this.popoverAnimation = popover.animate([
639
655
  { opacity: 0, transform: "scaleY(0.01)" },
640
656
  { opacity: 1, transform: "scaleY(1)" },
641
- ], { duration, easing: "ease", fill: "forwards" });
657
+ ], { duration, easing: resolveEasing(popover), fill: "forwards" });
642
658
  }
643
659
  /**
644
660
  * Closes the popover, if open — accepting an instant, unanimated close
@@ -676,7 +692,7 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
676
692
  const animation = popover.animate([
677
693
  { opacity: 1, transform: "scaleY(1)" },
678
694
  { opacity: 0, transform: "scaleY(0.01)" },
679
- ], { duration, easing: "ease", fill: "forwards" });
695
+ ], { duration, easing: resolveEasing(popover), fill: "forwards" });
680
696
  this.popoverAnimation = animation;
681
697
  animation.finished
682
698
  .then(() => {
@@ -909,7 +925,8 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
909
925
  <div
910
926
  class="segment-group"
911
927
  role="group"
912
- aria-label=${this.label ?? "Time"}
928
+ aria-label=${this.label ?? this.dictionary.timePicker.time}
929
+ aria-describedby=${this.description?.length ? "description" : nothing}
913
930
  >
914
931
  ${order.map((kind, index) => {
915
932
  const previous = order[index - 1];
@@ -928,7 +945,7 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
928
945
  <button
929
946
  type="button"
930
947
  id="clock-trigger"
931
- aria-label=${this.ariaLabelClock}
948
+ aria-label=${this.clockLabel ?? this.dictionary.timePicker.openClock}
932
949
  aria-haspopup=${this.panelMode === "list" ? "listbox" : "dialog"}
933
950
  aria-expanded=${this.isOpen || this.isModalOpen ? "true" : "false"}
934
951
  ?disabled=${this.disabled}
@@ -949,7 +966,7 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
949
966
  renderTimezoneLabel() {
950
967
  if (this.hideTimezoneLabel ||
951
968
  !this.timezone ||
952
- isSameTimeZone(this.timezone, undefined)) {
969
+ isSameTimeZone(this.timezone)) {
953
970
  return nothing;
954
971
  }
955
972
  const label = getTimeZoneOffsetLabel(this.value ?? new Date(), this.timezone, {
@@ -1039,7 +1056,7 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
1039
1056
  ?open=${this.isModalOpen}
1040
1057
  .closeable=${false}
1041
1058
  confirm-label=${this.applyLabel}
1042
- cancel-label=${this.cancelLabel}
1059
+ cancel-label=${this.cancelLabel ?? this.dictionary.common.cancel}
1043
1060
  aria-label=${this.label ?? this.dictionary.timePicker.selectATime}
1044
1061
  @eunconfirm=${this.handleModalConfirm}
1045
1062
  @euncancel=${this.handleModalCancel}
@@ -1057,7 +1074,7 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
1057
1074
  id="cancel"
1058
1075
  @click=${() => this.modalEl?.cancel()}
1059
1076
  >
1060
- ${this.cancelLabel}
1077
+ ${this.cancelLabel ?? this.dictionary.common.cancel}
1061
1078
  </eun-button>
1062
1079
  <eun-button id="confirm" @click=${() => this.modalEl?.confirm()}>
1063
1080
  ${this.applyLabel}
@@ -1117,8 +1134,8 @@ __decorate([
1117
1134
  property({ attribute: "cancel-label" })
1118
1135
  ], EunomiaTimePicker.prototype, "cancelLabel", void 0);
1119
1136
  __decorate([
1120
- property({ attribute: "aria-label-clock" })
1121
- ], EunomiaTimePicker.prototype, "ariaLabelClock", void 0);
1137
+ property({ attribute: "clock-label" })
1138
+ ], EunomiaTimePicker.prototype, "clockLabel", void 0);
1122
1139
  __decorate([
1123
1140
  property({ attribute: "hour-placeholder" })
1124
1141
  ], EunomiaTimePicker.prototype, "hourPlaceholder", void 0);
@@ -28,8 +28,8 @@ const timePicker = css `
28
28
  outline: 1px solid transparent;
29
29
  box-sizing: border-box;
30
30
  transition:
31
- border-color 0.15s ease,
32
- outline-color 0.15s ease;
31
+ border-color var(--eun-duration-s, 150ms) var(--eun-easing-default, ease),
32
+ outline-color var(--eun-duration-s, 150ms) var(--eun-easing-default, ease);
33
33
  }
34
34
  :host(:not([aria-readonly="true"]))
35
35
  #field-wrapper:hover:not(:has(:disabled)) {
@@ -120,7 +120,8 @@ const timePicker = css `
120
120
  color: var(--_iconColor);
121
121
  outline: 2px solid transparent;
122
122
  cursor: pointer;
123
- transition: outline 0.2s ease-out;
123
+ transition: outline var(--eun-duration-m, 200ms)
124
+ var(--eun-easing-out, ease-out);
124
125
  }
125
126
  #clock-trigger:hover:not(:disabled) {
126
127
  color: var(--_textColor);
@@ -20,14 +20,19 @@ export type EunomiaAnimateAnimation = "none" | "fade" | "scroll-right" | "scroll
20
20
  *
21
21
  * @slot [default] - The content to animate on scroll. Always present in the DOM and readable by assistive technology, regardless of viewport intersection
22
22
  * @prop {EunomiaAnimateAnimation} [animation='fade'] - Which transition to apply. None renders the content immediately, with no transition
23
- * @prop {number} [duration=600] - The transition duration, in milliseconds
23
+ * @prop {number} [duration=1000] - The transition duration, in milliseconds. Left unset, it follows --animate-duration
24
24
  * @prop {number} [delay=0] - The transition delay, in milliseconds
25
+ * @prop {number} [tabletDelay] - Overrides `delay` below the tablet breakpoint (width < 768px)
26
+ * @attr {number} [tablet-delay] - Overrides `delay` below the tablet breakpoint (width < 768px)
27
+ * @prop {number} [mobileDelay] - Overrides `delay` (and `tabletDelay`, if also set) below the mobile breakpoint (width < 600px)
28
+ * @attr {number} [mobile-delay] - Overrides `delay` (and `tabletDelay`, if also set) below the mobile breakpoint (width < 600px)
25
29
  * @prop {boolean} [once=true] - Whether the animation plays only the first time it enters the viewport, or replays every time it re-enters
26
30
  * @prop {number} [threshold=0.1] - The ratio of the element, from 0 to 1, that must be visible before the animation triggers
27
31
  * @prop {string} [rootMargin='0px'] - The margin applied around the viewport before threshold is evaluated, accepting CSS-like values such as -50px 0px
28
- * @prop {EunomiaAnimateAnimation} [tabletAnimation] - Overrides `animation` at tablet-width viewports and narrower (max-width: 768px). Left unset, the viewport keeps using `animation`
29
- * @prop {EunomiaAnimateAnimation} [mobileAnimation] - Overrides `animation` (and `tabletAnimation`, if also set) at mobile-width viewports and narrower (max-width: 600px)
32
+ * @prop {EunomiaAnimateAnimation} [tabletAnimation] - Overrides `animation` below the tablet breakpoint (width < 768px). Left unset, the viewport keeps using `animation`
33
+ * @prop {EunomiaAnimateAnimation} [mobileAnimation] - Overrides `animation` (and `tabletAnimation`, if also set) below the mobile breakpoint (width < 600px)
30
34
  * @cssprop [--animate-distance] - Sets the travel distance for the scroll and faded-scroll animations
35
+ * @cssprop [--animate-duration=1000ms] - Sets the transition duration of every animate that has no duration of its own, for example once for the whole site
31
36
  * @element eun-animate
32
37
  */
33
38
  export declare class EunomiaAnimate extends LitElement {
@@ -47,15 +52,30 @@ export declare class EunomiaAnimate extends LitElement {
47
52
  */
48
53
  animation: EunomiaAnimateAnimation;
49
54
  /**
50
- * Transition duration, in milliseconds.
51
- * @default 600
55
+ * Transition duration, in milliseconds. Left `undefined`, the stylesheet
56
+ * applies `--animate-duration`, `1000ms` by default.
57
+ * @default undefined
52
58
  */
53
- duration: number;
59
+ duration?: number;
54
60
  /**
55
61
  * Transition delay, in milliseconds.
56
62
  * @default 0
57
63
  */
58
64
  delay: number;
65
+ /**
66
+ * Overrides `delay` at tablet-width viewports and narrower, with the same
67
+ * `@media` switch as {@link tabletAnimation}. A stagger between cards in
68
+ * a desktop grid, for example, makes no sense once they're stacked.
69
+ * @default undefined
70
+ */
71
+ tabletDelay?: number;
72
+ /**
73
+ * Overrides `delay` (and `tabletDelay`, if also set) at mobile-width
74
+ * viewports and narrower, with the same `@media` switch as
75
+ * {@link mobileAnimation}.
76
+ * @default undefined
77
+ */
78
+ mobileDelay?: number;
59
79
  /**
60
80
  * Whether the animation plays only the first time it enters the
61
81
  * viewport (unobserved right after), or replays every time it re-enters.
@@ -75,8 +95,8 @@ export declare class EunomiaAnimate extends LitElement {
75
95
  */
76
96
  rootMargin: string;
77
97
  /**
78
- * Overrides `animation` at tablet-width viewports and narrower
79
- * (`max-width: 768px`, matching `EUNOMIA_BREAKPOINTS.tablet`). Purely a
98
+ * Overrides `animation` below the tablet breakpoint
99
+ * (`mediaBelow("tablet")`, `width < 768px`). Purely a
80
100
  * CSS `@media` switch (`animate.styles.ts`, mirrored in
81
101
  * `animate-ssr.css` for the pre-hydration state) — never read from JS,
82
102
  * so there's no `matchMedia` listener to keep in sync with the actual
@@ -87,9 +107,9 @@ export declare class EunomiaAnimate extends LitElement {
87
107
  */
88
108
  tabletAnimation?: EunomiaAnimateAnimation;
89
109
  /**
90
- * Overrides `animation` (and `tabletAnimation`, if also set) at
91
- * mobile-width viewports and narrower (`max-width: 600px`, matching
92
- * `EUNOMIA_BREAKPOINTS.mobile`). Same pure-CSS mechanism as
110
+ * Overrides `animation` (and `tabletAnimation`, if also set)
111
+ * below the mobile breakpoint (`mediaBelow("mobile")`,
112
+ * `width < 600px`). Same pure-CSS mechanism as
93
113
  * {@link tabletAnimation}.
94
114
  * @default undefined
95
115
  */
@@ -130,10 +150,12 @@ export declare class EunomiaAnimate extends LitElement {
130
150
  */
131
151
  private teardownObserver;
132
152
  /**
133
- * Forwards `duration`/`delay` to the host's transition through a
134
- * shadow-internal `<style>`, only when they differ from the stylesheet's
135
- * own defaults : an inline style on the host would be a hydration
136
- * mismatch for an SSR framework, since the server never renders it.
153
+ * Forwards `duration`, `delay` and the per-breakpoint delays to the
154
+ * host's transition through a shadow-internal `<style>`, only when they
155
+ * differ from the stylesheet's own defaults : an inline style on the host
156
+ * would be a hydration mismatch for an SSR framework, since the server
157
+ * never renders it. The breakpoints match {@link tabletAnimation} and
158
+ * {@link mobileAnimation}.
137
159
  * @private
138
160
  */
139
161
  private renderTiming;