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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (455) hide show
  1. package/README.md +1 -1
  2. package/dist/breakpoints.d.ts +37 -10
  3. package/dist/breakpoints.js +38 -10
  4. package/dist/cdn/components/chunks/{chunk-MMLIPCOY.js → chunk-22D3SRFR.js} +1 -1
  5. package/dist/cdn/components/chunks/{chunk-OW7XKDCH.js → chunk-2Y2EU2CI.js} +16 -16
  6. package/dist/cdn/components/chunks/{chunk-LFCXUVDO.js → chunk-4PI6RDUS.js} +1 -1
  7. package/dist/cdn/components/chunks/chunk-624VJYNA.js +1 -0
  8. package/dist/cdn/components/chunks/{chunk-5XJLIHAU.js → chunk-7KKWYPHY.js} +4 -2
  9. package/dist/cdn/components/chunks/chunk-A3X4KD2X.js +1 -0
  10. package/dist/cdn/components/chunks/chunk-BKZGTCMF.js +1 -0
  11. package/dist/cdn/components/chunks/{chunk-GW3VP2L7.js → chunk-BO3JOEWM.js} +1 -1
  12. package/dist/cdn/components/chunks/{chunk-EAKYD33D.js → chunk-BQFJR2UP.js} +4 -4
  13. package/dist/cdn/components/chunks/chunk-EUWUDCBZ.js +1 -0
  14. package/dist/cdn/components/chunks/{chunk-P32B7BFD.js → chunk-FF3I7C3C.js} +15 -15
  15. package/dist/cdn/components/chunks/{chunk-74AOAB4X.js → chunk-FOILAXLL.js} +6 -5
  16. package/dist/cdn/components/chunks/{chunk-E4IS25H7.js → chunk-G5SBDQQ3.js} +1 -1
  17. package/dist/cdn/components/chunks/{chunk-LGLQ36QB.js → chunk-GDBPWZN6.js} +1 -1
  18. package/dist/cdn/components/chunks/{chunk-S2UCEWNG.js → chunk-JYIIWN2P.js} +13 -11
  19. package/dist/cdn/components/chunks/{chunk-IDKZKLJR.js → chunk-KDN4O5W2.js} +24 -11
  20. package/dist/cdn/components/chunks/chunk-KSZRQRN4.js +1 -0
  21. package/dist/cdn/components/chunks/{chunk-PED5ATYN.js → chunk-L2ADCEN7.js} +1 -1
  22. package/dist/cdn/components/chunks/chunk-LMVW522V.js +1 -0
  23. package/dist/cdn/components/chunks/{chunk-5XJGYXW7.js → chunk-MOMYII3P.js} +1 -1
  24. package/dist/cdn/components/chunks/{chunk-2XASWWKR.js → chunk-MQQ4BGVJ.js} +5 -5
  25. package/dist/cdn/components/chunks/{chunk-A4EQSU36.js → chunk-O7PHBLH2.js} +1 -1
  26. package/dist/cdn/components/chunks/chunk-PD62MBOJ.js +1 -0
  27. package/dist/cdn/components/chunks/{chunk-KBH5PCUO.js → chunk-PE4DAXHQ.js} +1 -1
  28. package/dist/cdn/components/chunks/{chunk-6ETDXUH2.js → chunk-PMPSJG5V.js} +7 -7
  29. package/dist/cdn/components/chunks/{chunk-5EVP7YNE.js → chunk-PPCHQG7P.js} +1 -1
  30. package/dist/cdn/components/chunks/{chunk-AIS3UICU.js → chunk-QZ5SHR3I.js} +9 -5
  31. package/dist/cdn/components/chunks/{chunk-32DTNR52.js → chunk-RS7TWEMQ.js} +1 -1
  32. package/dist/cdn/components/chunks/chunk-SMTIDNGW.js +1 -0
  33. package/dist/cdn/components/chunks/{chunk-MPQP4R54.js → chunk-SZYEBMG6.js} +10 -9
  34. package/dist/cdn/components/chunks/{chunk-JRGM3W7I.js → chunk-UDVB4LAE.js} +5 -2
  35. package/dist/cdn/components/chunks/{chunk-L65WUTXM.js → chunk-UYZR4JXZ.js} +12 -7
  36. package/dist/cdn/components/chunks/chunk-VG6NAAIV.js +1 -0
  37. package/dist/cdn/components/chunks/chunk-VJCNHMQZ.js +10 -0
  38. package/dist/cdn/components/chunks/chunk-VOTRXBDS.js +38 -0
  39. package/dist/cdn/components/chunks/{chunk-DKOPI7QA.js → chunk-VYFR364B.js} +73 -63
  40. package/dist/cdn/components/chunks/{chunk-SD2WHGPF.js → chunk-XDPRWUKN.js} +1 -1
  41. package/dist/cdn/components/chunks/{chunk-XH6NREVZ.js → chunk-YITWLCD3.js} +1 -1
  42. package/dist/cdn/components/chunks/{chunk-BQHYZB2W.js → chunk-ZBN4HTWP.js} +1 -1
  43. package/dist/cdn/components/chunks/{chunk-NBIENHLV.js → chunk-ZKZV2YG5.js} +18 -18
  44. package/dist/cdn/components/eun-alert.js +24 -16
  45. package/dist/cdn/components/eun-animate.js +12 -8
  46. package/dist/cdn/components/eun-badge.js +1 -1
  47. package/dist/cdn/components/eun-breadcrumb.js +25 -41
  48. package/dist/cdn/components/eun-button.js +1 -1
  49. package/dist/cdn/components/eun-calendar.js +67 -65
  50. package/dist/cdn/components/eun-card.js +32 -17
  51. package/dist/cdn/components/eun-carousel.js +66 -35
  52. package/dist/cdn/components/eun-check-card.js +13 -6
  53. package/dist/cdn/components/eun-checkbox-list.js +4 -4
  54. package/dist/cdn/components/eun-checkbox.js +1 -1
  55. package/dist/cdn/components/eun-chip.js +1 -1
  56. package/dist/cdn/components/eun-collapse.js +56 -27
  57. package/dist/cdn/components/eun-color-picker.js +53 -52
  58. package/dist/cdn/components/eun-counter.js +9 -8
  59. package/dist/cdn/components/eun-date-picker.js +59 -56
  60. package/dist/cdn/components/eun-description-list.js +152 -0
  61. package/dist/cdn/components/eun-divider.js +1 -1
  62. package/dist/cdn/components/eun-drawer.js +32 -18
  63. package/dist/cdn/components/eun-dropdown-button.js +1 -1
  64. package/dist/cdn/components/eun-dropdown-item.js +6 -5
  65. package/dist/cdn/components/eun-fab.js +17 -16
  66. package/dist/cdn/components/eun-icon.js +1 -1
  67. package/dist/cdn/components/eun-image-card.js +79 -22
  68. package/dist/cdn/components/eun-image-carousel.js +92 -47
  69. package/dist/cdn/components/eun-infinite-list.js +23 -11
  70. package/dist/cdn/components/eun-input-file.js +14 -13
  71. package/dist/cdn/components/eun-input-phone.js +15 -15
  72. package/dist/cdn/components/eun-input.js +1 -1
  73. package/dist/cdn/components/eun-label.js +4 -4
  74. package/dist/cdn/components/eun-link.js +78 -29
  75. package/dist/cdn/components/eun-loader.js +1 -1
  76. package/dist/cdn/components/eun-modal.js +17 -10
  77. package/dist/cdn/components/eun-pagination.js +17 -12
  78. package/dist/cdn/components/eun-password-strength.js +6 -2
  79. package/dist/cdn/components/eun-progress-bar.js +13 -5
  80. package/dist/cdn/components/eun-radio-card.js +16 -9
  81. package/dist/cdn/components/eun-radio-list.js +4 -4
  82. package/dist/cdn/components/eun-radio.js +1 -1
  83. package/dist/cdn/components/eun-scheduler-event-editor.js +1 -1
  84. package/dist/cdn/components/eun-scheduler-event.js +1 -1
  85. package/dist/cdn/components/eun-scheduler.js +36 -36
  86. package/dist/cdn/components/eun-search.js +11 -10
  87. package/dist/cdn/components/eun-select.js +12 -11
  88. package/dist/cdn/components/eun-sidebar.js +34 -20
  89. package/dist/cdn/components/eun-skeleton.js +1 -1
  90. package/dist/cdn/components/eun-slider.js +15 -14
  91. package/dist/cdn/components/eun-sliding-card.js +8 -4
  92. package/dist/cdn/components/eun-step.js +17 -6
  93. package/dist/cdn/components/eun-stepper.js +17 -6
  94. package/dist/cdn/components/eun-switch.js +10 -8
  95. package/dist/cdn/components/eun-tab-group.js +22 -17
  96. package/dist/cdn/components/eun-tab-panel.js +11 -3
  97. package/dist/cdn/components/eun-tab.js +1 -1
  98. package/dist/cdn/components/eun-table-action-bar.js +1 -1
  99. package/dist/cdn/components/eun-table.js +572 -31
  100. package/dist/cdn/components/eun-tag.js +13 -7
  101. package/dist/cdn/components/eun-textarea.js +23 -23
  102. package/dist/cdn/components/eun-time-picker.js +17 -15
  103. package/dist/cdn/components/eun-toast.js +36 -16
  104. package/dist/cdn/components/eun-toggle-group.js +53 -34
  105. package/dist/cdn/components/eun-toggle-item.js +16 -15
  106. package/dist/cdn/components/eun-toggle.js +12 -10
  107. package/dist/cdn/components/eun-toolbar.js +62 -52
  108. package/dist/cdn/components/eun-tooltip.js +30 -14
  109. package/dist/cdn/styles/breakpoints.scss +8 -0
  110. package/dist/cdn/styles/eunomia-grid.scss +6 -0
  111. package/dist/cdn/styles/eunomia-themes.css +1 -1
  112. package/dist/cdn/styles/themes/eunomia-theme.css +1 -1
  113. package/dist/cdn/styles/themes/eunomia-theme.scss +4 -3
  114. package/dist/cdn/styles/themes/mixins/eunomia-a11y-color.mixin.scss +34 -1
  115. package/dist/cdn/styles/themes/mixins/eunomia-neutrals.mixin.scss +4 -0
  116. package/dist/cdn/styles/themes/mixins/eunomia-states.mixin.scss +36 -12
  117. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +10 -10
  118. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +10 -10
  119. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.css +1 -1
  120. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +3 -2
  121. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +10 -10
  122. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +10 -10
  123. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.css +1 -1
  124. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +3 -2
  125. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +10 -10
  126. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +10 -10
  127. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.css +1 -1
  128. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +3 -2
  129. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +10 -10
  130. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +10 -10
  131. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.css +1 -1
  132. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +3 -2
  133. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +10 -10
  134. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +10 -10
  135. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.css +1 -1
  136. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +3 -2
  137. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +10 -10
  138. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +10 -10
  139. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.css +1 -1
  140. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +3 -2
  141. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +10 -10
  142. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +10 -10
  143. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.css +1 -1
  144. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +3 -2
  145. package/dist/cdn/styles/tools/indexes/eunomia-media-queries.index.scss +1 -3
  146. package/dist/cdn/styles/tools/indexes/eunomia-tools.index.scss +1 -0
  147. package/dist/cdn/styles/tools/mixins/layout/eunomia-grid.mixin.scss +117 -53
  148. package/dist/cdn/styles/tools/mixins/media-queries/eunomia-media-queries.mixin.scss +69 -0
  149. package/dist/cdn/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +28 -4
  150. package/dist/cdn/styles/tools/mixins/settings/eunomia-motion.mixin.scss +9 -0
  151. package/dist/cdn/styles/tools/variables/eunomia.breakpoints.scss +4 -0
  152. package/dist/components/action/button/button.d.ts +7 -2
  153. package/dist/components/action/button/button.js +7 -2
  154. package/dist/components/action/button/button.styles.js +51 -36
  155. package/dist/components/action/dropdown-button/dropdown-button.d.ts +2 -2
  156. package/dist/components/action/dropdown-button/dropdown-button.js +11 -10
  157. package/dist/components/action/dropdown-button/dropdown-button.styles.js +3 -2
  158. package/dist/components/action/dropdown-button/dropdown-item.js +5 -6
  159. package/dist/components/action/dropdown-button/dropdown-item.styles.js +3 -2
  160. package/dist/components/action/fab/fab.styles.js +14 -13
  161. package/dist/components/action/link/link.d.ts +7 -3
  162. package/dist/components/action/link/link.js +11 -7
  163. package/dist/components/action/link/link.styles.js +66 -15
  164. package/dist/components/action/shared-styles/button-palette.styles.js +15 -15
  165. package/dist/components/action/toggle/toggle-group.d.ts +2 -0
  166. package/dist/components/action/toggle/toggle-group.js +5 -3
  167. package/dist/components/action/toggle/toggle-group.styles.d.ts +2 -0
  168. package/dist/components/action/toggle/toggle-group.styles.js +42 -21
  169. package/dist/components/action/toggle/toggle-item.styles.js +13 -12
  170. package/dist/components/action/toggle/toggle.d.ts +2 -0
  171. package/dist/components/action/toggle/toggle.js +2 -0
  172. package/dist/components/action/toggle/toggle.styles.d.ts +2 -0
  173. package/dist/components/action/toggle/toggle.styles.js +12 -8
  174. package/dist/components/alert/alert/alert.d.ts +2 -0
  175. package/dist/components/alert/alert/alert.js +2 -0
  176. package/dist/components/alert/alert/alert.styles.js +23 -13
  177. package/dist/components/alert/drawer/drawer.d.ts +3 -1
  178. package/dist/components/alert/drawer/drawer.js +4 -2
  179. package/dist/components/alert/drawer/drawer.styles.js +25 -9
  180. package/dist/components/alert/modal/modal.d.ts +3 -1
  181. package/dist/components/alert/modal/modal.js +4 -2
  182. package/dist/components/alert/modal/modal.styles.js +16 -7
  183. package/dist/components/alert/toast/toast.d.ts +2 -0
  184. package/dist/components/alert/toast/toast.js +2 -0
  185. package/dist/components/alert/toast/toast.styles.js +37 -15
  186. package/dist/components/content/card/card.d.ts +7 -3
  187. package/dist/components/content/card/card.js +7 -3
  188. package/dist/components/content/card/card.styles.js +26 -11
  189. package/dist/components/content/card/image-card.d.ts +60 -6
  190. package/dist/components/content/card/image-card.js +120 -11
  191. package/dist/components/content/card/image-card.styles.js +66 -15
  192. package/dist/components/content/card/sliding-card.d.ts +2 -0
  193. package/dist/components/content/card/sliding-card.js +2 -0
  194. package/dist/components/content/card/sliding-card.styles.js +5 -1
  195. package/dist/components/content/collapse/collapse.d.ts +10 -1
  196. package/dist/components/content/collapse/collapse.js +12 -2
  197. package/dist/components/content/collapse/collapse.styles.d.ts +10 -1
  198. package/dist/components/content/collapse/collapse.styles.js +56 -18
  199. package/dist/components/content/description-list/description-list.d.ts +87 -0
  200. package/dist/components/content/description-list/description-list.js +107 -0
  201. package/dist/components/content/description-list/description-list.styles.d.ts +1 -0
  202. package/dist/components/content/description-list/description-list.styles.js +185 -0
  203. package/dist/components/content/icon/icon.d.ts +2 -0
  204. package/dist/components/content/icon/icon.js +2 -0
  205. package/dist/components/content/icon/icon.style.js +4 -1
  206. package/dist/components/content/image-carousel/image-carousel.d.ts +30 -19
  207. package/dist/components/content/image-carousel/image-carousel.js +48 -45
  208. package/dist/components/content/image-carousel/image-carousel.styles.js +69 -30
  209. package/dist/components/content/password-strength/password-strength.styles.js +5 -1
  210. package/dist/components/content/progress-bar/progress-bar.styles.js +12 -4
  211. package/dist/components/content/shared-styles/card-link.styles.js +4 -3
  212. package/dist/components/content/shared-styles/tone-surface.styles.d.ts +5 -0
  213. package/dist/components/content/shared-styles/tone-surface.styles.js +19 -14
  214. package/dist/components/content/tag/tag.d.ts +4 -0
  215. package/dist/components/content/tag/tag.js +4 -0
  216. package/dist/components/content/tag/tag.styles.js +14 -4
  217. package/dist/components/content/tooltip/tooltip.d.ts +3 -2
  218. package/dist/components/content/tooltip/tooltip.js +9 -16
  219. package/dist/components/content/tooltip/tooltip.styles.js +25 -7
  220. package/dist/components/form/checkbox/check-card.d.ts +4 -1
  221. package/dist/components/form/checkbox/check-card.js +4 -1
  222. package/dist/components/form/checkbox/check-card.styles.js +13 -4
  223. package/dist/components/form/checkbox/checkbox-list.d.ts +4 -1
  224. package/dist/components/form/checkbox/checkbox-list.js +11 -7
  225. package/dist/components/form/checkbox/checkbox.d.ts +4 -1
  226. package/dist/components/form/checkbox/checkbox.js +4 -1
  227. package/dist/components/form/checkbox/checkbox.styles.js +2 -2
  228. package/dist/components/form/color-picker/color-picker.d.ts +7 -1
  229. package/dist/components/form/color-picker/color-picker.js +19 -21
  230. package/dist/components/form/color-picker/color-picker.styles.js +6 -5
  231. package/dist/components/form/counter/counter.d.ts +4 -1
  232. package/dist/components/form/counter/counter.js +5 -2
  233. package/dist/components/form/counter/counter.styles.js +5 -4
  234. package/dist/components/form/date-picker/date-picker.d.ts +37 -33
  235. package/dist/components/form/date-picker/date-picker.js +32 -42
  236. package/dist/components/form/date-picker/date-picker.styles.js +8 -5
  237. package/dist/components/form/input/input.d.ts +7 -1
  238. package/dist/components/form/input/input.js +8 -2
  239. package/dist/components/form/input-file/input-file.d.ts +4 -1
  240. package/dist/components/form/input-file/input-file.js +8 -5
  241. package/dist/components/form/input-file/input-file.styles.js +3 -2
  242. package/dist/components/form/input-phone/input-phone.d.ts +8 -2
  243. package/dist/components/form/input-phone/input-phone.js +13 -17
  244. package/dist/components/form/input-phone/input-phone.styles.js +4 -4
  245. package/dist/components/form/label/label.styles.js +3 -3
  246. package/dist/components/form/radio/radio-card.d.ts +5 -2
  247. package/dist/components/form/radio/radio-card.js +5 -2
  248. package/dist/components/form/radio/radio-card.styles.js +14 -5
  249. package/dist/components/form/radio/radio-list.d.ts +5 -2
  250. package/dist/components/form/radio/radio-list.js +14 -10
  251. package/dist/components/form/radio/radio.d.ts +5 -2
  252. package/dist/components/form/radio/radio.js +5 -2
  253. package/dist/components/form/radio/radio.styles.js +4 -4
  254. package/dist/components/form/search/search.d.ts +2 -1
  255. package/dist/components/form/search/search.js +6 -15
  256. package/dist/components/form/search/search.styles.js +5 -4
  257. package/dist/components/form/select/select.d.ts +9 -2
  258. package/dist/components/form/select/select.js +15 -18
  259. package/dist/components/form/select/select.styles.js +3 -2
  260. package/dist/components/form/shared-styles/card.styles.js +5 -4
  261. package/dist/components/form/shared-styles/field.styles.js +16 -6
  262. package/dist/components/form/shared-styles/form-labels.styles.js +1 -1
  263. package/dist/components/form/slider/slider.d.ts +4 -1
  264. package/dist/components/form/slider/slider.js +5 -2
  265. package/dist/components/form/slider/slider.styles.js +8 -7
  266. package/dist/components/form/switch/switch.d.ts +4 -1
  267. package/dist/components/form/switch/switch.js +4 -1
  268. package/dist/components/form/switch/switch.styles.js +7 -5
  269. package/dist/components/form/textarea/textarea.d.ts +7 -1
  270. package/dist/components/form/textarea/textarea.js +14 -8
  271. package/dist/components/form/time-picker/time-picker-columns.styles.js +4 -2
  272. package/dist/components/form/time-picker/time-picker-list.styles.js +2 -1
  273. package/dist/components/form/time-picker/time-picker.d.ts +6 -2
  274. package/dist/components/form/time-picker/time-picker.js +22 -26
  275. package/dist/components/form/time-picker/time-picker.styles.js +4 -3
  276. package/dist/components/layout/animate/animate.d.ts +37 -15
  277. package/dist/components/layout/animate/animate.js +35 -15
  278. package/dist/components/layout/animate/animate.styles.js +9 -16
  279. package/dist/components/layout/infinite-list/infinite-list.d.ts +33 -10
  280. package/dist/components/layout/infinite-list/infinite-list.js +115 -18
  281. package/dist/components/layout/infinite-list/infinite-list.styles.d.ts +3 -0
  282. package/dist/components/layout/infinite-list/infinite-list.styles.js +17 -5
  283. package/dist/components/loader/loader/loader.styles.js +3 -1
  284. package/dist/components/navigation/breadcrumb/breadcrumb.d.ts +31 -45
  285. package/dist/components/navigation/breadcrumb/breadcrumb.js +111 -77
  286. package/dist/components/navigation/breadcrumb/breadcrumb.styles.d.ts +3 -0
  287. package/dist/components/navigation/breadcrumb/breadcrumb.styles.js +22 -26
  288. package/dist/components/navigation/carousel/carousel.d.ts +30 -10
  289. package/dist/components/navigation/carousel/carousel.js +37 -18
  290. package/dist/components/navigation/carousel/carousel.styles.js +60 -20
  291. package/dist/components/navigation/pagination/pagination.styles.js +8 -3
  292. package/dist/components/navigation/sidebar/sidebar.d.ts +2 -0
  293. package/dist/components/navigation/sidebar/sidebar.js +2 -0
  294. package/dist/components/navigation/sidebar/sidebar.styles.js +27 -11
  295. package/dist/components/navigation/stepper/step.styles.js +16 -5
  296. package/dist/components/navigation/stepper/stepper.styles.js +16 -5
  297. package/dist/components/navigation/tabs/tab/tab.d.ts +11 -0
  298. package/dist/components/navigation/tabs/tab/tab.js +11 -0
  299. package/dist/components/navigation/tabs/tab/tab.styles.js +22 -16
  300. package/dist/components/navigation/tabs/tab-group/tab-group.js +7 -8
  301. package/dist/components/navigation/tabs/tab-group/tab-group.styles.js +19 -14
  302. package/dist/components/navigation/tabs/tab-panel/tab-panel.d.ts +4 -0
  303. package/dist/components/navigation/tabs/tab-panel/tab-panel.js +4 -0
  304. package/dist/components/navigation/tabs/tab-panel/tab-panel.styles.js +18 -1
  305. package/dist/components/navigation/toolbar/toolbar.d.ts +17 -49
  306. package/dist/components/navigation/toolbar/toolbar.js +23 -71
  307. package/dist/components/navigation/toolbar/toolbar.styles.js +59 -36
  308. package/dist/events/table-row-click.event.d.ts +5 -4
  309. package/dist/events/table-row-click.event.js +10 -5
  310. package/dist/features/scheduler/calendar/calendar.d.ts +6 -6
  311. package/dist/features/scheduler/calendar/calendar.js +6 -5
  312. package/dist/features/scheduler/calendar/calendar.styles.js +8 -6
  313. package/dist/features/scheduler/scheduler/scheduler.d.ts +1 -1
  314. package/dist/features/scheduler/scheduler/scheduler.js +9 -23
  315. package/dist/features/scheduler/scheduler/scheduler.styles.js +6 -4
  316. package/dist/features/scheduler/scheduler-event/scheduler-event.d.ts +2 -0
  317. package/dist/features/scheduler/scheduler-event/scheduler-event.js +2 -0
  318. package/dist/features/scheduler/scheduler-event/scheduler-event.styles.js +10 -4
  319. package/dist/features/scheduler/shared/scheduler-hour-grid.styles.js +3 -3
  320. package/dist/features/scheduler/shared/scheduler-month-view.styles.js +2 -2
  321. package/dist/features/scheduler/shared/scheduler-year-view.styles.js +2 -2
  322. package/dist/features/table/table/table-native.styles.d.ts +28 -0
  323. package/dist/features/table/table/table-native.styles.js +502 -0
  324. package/dist/features/table/table/table.d.ts +342 -294
  325. package/dist/features/table/table/table.js +820 -546
  326. package/dist/features/table/table/table.styles.js +31 -17
  327. package/dist/features/table/table/table.types.d.ts +11 -20
  328. package/dist/features/table/table/table.utils.d.ts +6 -36
  329. package/dist/features/table/table/table.utils.js +16 -65
  330. package/dist/features/table/table-action-bar/table-action-bar.d.ts +33 -16
  331. package/dist/features/table/table-action-bar/table-action-bar.js +15 -22
  332. package/dist/features/table/table-action-bar/table-action-bar.styles.js +15 -3
  333. package/dist/i18n/en.d.ts +31 -0
  334. package/dist/i18n/en.js +31 -0
  335. package/dist/i18n/fr.js +35 -0
  336. package/dist/index.d.ts +4 -10
  337. package/dist/index.js +6 -10
  338. package/dist/mixins/check.mixin.js +4 -5
  339. package/dist/mixins/form.mixin.d.ts +17 -1
  340. package/dist/mixins/form.mixin.js +80 -25
  341. package/dist/mixins/radio.mixin.js +4 -5
  342. package/dist/mixins/validators.mixin.d.ts +7 -1
  343. package/dist/mixins/validators.mixin.js +36 -17
  344. package/dist/ssr/animate-ssr.css +3 -2
  345. package/dist/ssr/button-ssr.css +319 -0
  346. package/dist/ssr/card-ssr.css +184 -0
  347. package/dist/ssr/description-list-ssr.css +150 -0
  348. package/dist/ssr/links-ssr.css +1 -1
  349. package/dist/ssr/table-ssr.css +472 -0
  350. package/dist/ssr/tag-ssr.css +197 -0
  351. package/dist/ssr/toolbar-ssr.css +5 -1
  352. package/dist/utils/drag-drop.utils.js +18 -2
  353. package/dist/utils/dropdown-menu.utils.d.ts +2 -2
  354. package/dist/utils/dropdown-menu.utils.js +4 -14
  355. package/dist/utils/light-dom-styles.utils.d.ts +14 -0
  356. package/dist/utils/light-dom-styles.utils.js +37 -0
  357. package/dist/utils/media.styles.d.ts +19 -0
  358. package/dist/utils/media.styles.js +23 -0
  359. package/dist/utils/motion.utils.d.ts +40 -0
  360. package/dist/utils/motion.utils.js +51 -0
  361. package/dist/utils/theme-generator.utils.d.ts +6 -1
  362. package/dist/utils/theme-generator.utils.js +59 -20
  363. package/package.json +17 -28
  364. package/styles/breakpoints.scss +8 -0
  365. package/styles/eunomia-grid.scss +6 -0
  366. package/styles/themes/eunomia-theme.scss +4 -3
  367. package/styles/themes/mixins/eunomia-a11y-color.mixin.scss +34 -1
  368. package/styles/themes/mixins/eunomia-neutrals.mixin.scss +4 -0
  369. package/styles/themes/mixins/eunomia-states.mixin.scss +36 -12
  370. package/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +10 -10
  371. package/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +10 -10
  372. package/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +3 -2
  373. package/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +10 -10
  374. package/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +10 -10
  375. package/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +3 -2
  376. package/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +10 -10
  377. package/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +10 -10
  378. package/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +3 -2
  379. package/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +10 -10
  380. package/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +10 -10
  381. package/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +3 -2
  382. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +10 -10
  383. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +10 -10
  384. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +3 -2
  385. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +10 -10
  386. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +10 -10
  387. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +3 -2
  388. package/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +10 -10
  389. package/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +10 -10
  390. package/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +3 -2
  391. package/styles/tools/indexes/eunomia-media-queries.index.scss +1 -3
  392. package/styles/tools/indexes/eunomia-tools.index.scss +1 -0
  393. package/styles/tools/mixins/layout/eunomia-grid.mixin.scss +117 -53
  394. package/styles/tools/mixins/media-queries/eunomia-media-queries.mixin.scss +69 -0
  395. package/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +28 -4
  396. package/styles/tools/mixins/settings/eunomia-motion.mixin.scss +9 -0
  397. package/styles/tools/variables/eunomia.breakpoints.scss +4 -0
  398. package/dist/cdn/components/chunks/chunk-A6KGFALA.js +0 -132
  399. package/dist/cdn/components/chunks/chunk-CEDHJUUH.js +0 -1
  400. package/dist/cdn/components/chunks/chunk-D2M4BV5Y.js +0 -328
  401. package/dist/cdn/components/chunks/chunk-E74CM7UG.js +0 -66
  402. package/dist/cdn/components/chunks/chunk-EST3M4AO.js +0 -1
  403. package/dist/cdn/components/chunks/chunk-GU6BVMFJ.js +0 -1
  404. package/dist/cdn/components/chunks/chunk-KVYUNKUO.js +0 -27
  405. package/dist/cdn/components/chunks/chunk-OAULRKHQ.js +0 -38
  406. package/dist/cdn/components/chunks/chunk-PCM7D3YF.js +0 -84
  407. package/dist/cdn/components/chunks/chunk-SJWRE6PW.js +0 -1
  408. package/dist/cdn/components/chunks/chunk-T4PTHUYF.js +0 -10
  409. package/dist/cdn/components/chunks/chunk-VRGRCYIO.js +0 -1
  410. package/dist/cdn/components/chunks/chunk-X2AUBZD2.js +0 -30
  411. package/dist/cdn/components/eun-breadcrumb-item.js +0 -93
  412. package/dist/cdn/components/eun-table-cell.js +0 -1
  413. package/dist/cdn/components/eun-table-column.js +0 -1
  414. package/dist/cdn/components/eun-table-header.js +0 -1
  415. package/dist/cdn/components/eun-table-item.js +0 -1
  416. package/dist/cdn/components/eun-table-skeleton-row.js +0 -1
  417. package/dist/cdn/styles/tools/mixins/media-queries/eunomia-device.mixin.scss +0 -14
  418. package/dist/cdn/styles/tools/mixins/media-queries/eunomia-gte.mixin.scss +0 -26
  419. package/dist/cdn/styles/tools/mixins/media-queries/eunomia-lte.mixin.scss +0 -26
  420. package/dist/components/navigation/breadcrumb/breadcrumb-item.d.ts +0 -77
  421. package/dist/components/navigation/breadcrumb/breadcrumb-item.js +0 -130
  422. package/dist/components/navigation/breadcrumb/breadcrumb-item.styles.d.ts +0 -6
  423. package/dist/components/navigation/breadcrumb/breadcrumb-item.styles.js +0 -78
  424. package/dist/features/table/native-table.css +0 -276
  425. package/dist/features/table/shared-styles/table-row.styles.d.ts +0 -7
  426. package/dist/features/table/shared-styles/table-row.styles.js +0 -47
  427. package/dist/features/table/shared-styles/table-shared.styles.d.ts +0 -23
  428. package/dist/features/table/shared-styles/table-shared.styles.js +0 -33
  429. package/dist/features/table/table-cell/table-cell.d.ts +0 -59
  430. package/dist/features/table/table-cell/table-cell.js +0 -73
  431. package/dist/features/table/table-cell/table-cell.styles.d.ts +0 -1
  432. package/dist/features/table/table-cell/table-cell.styles.js +0 -46
  433. package/dist/features/table/table-column/table-column.d.ts +0 -73
  434. package/dist/features/table/table-column/table-column.js +0 -89
  435. package/dist/features/table/table-column/table-column.styles.d.ts +0 -1
  436. package/dist/features/table/table-column/table-column.styles.js +0 -51
  437. package/dist/features/table/table-header/table-header.d.ts +0 -102
  438. package/dist/features/table/table-header/table-header.js +0 -165
  439. package/dist/features/table/table-header/table-header.styles.d.ts +0 -1
  440. package/dist/features/table/table-header/table-header.styles.js +0 -147
  441. package/dist/features/table/table-item/table-item.d.ts +0 -179
  442. package/dist/features/table/table-item/table-item.js +0 -291
  443. package/dist/features/table/table-item/table-item.styles.d.ts +0 -1
  444. package/dist/features/table/table-item/table-item.styles.js +0 -404
  445. package/dist/features/table/table-managed/table-managed.d.ts +0 -19
  446. package/dist/features/table/table-managed/table-managed.js +0 -128
  447. package/dist/features/table/table-skeleton-row/table-skeleton-row.d.ts +0 -46
  448. package/dist/features/table/table-skeleton-row/table-skeleton-row.js +0 -110
  449. package/dist/features/table/table-skeleton-row/table-skeleton-row.styles.d.ts +0 -12
  450. package/dist/features/table/table-skeleton-row/table-skeleton-row.styles.js +0 -65
  451. package/dist/mixins/table-row.mixin.d.ts +0 -37
  452. package/dist/mixins/table-row.mixin.js +0 -103
  453. package/styles/tools/mixins/media-queries/eunomia-device.mixin.scss +0 -14
  454. package/styles/tools/mixins/media-queries/eunomia-gte.mixin.scss +0 -26
  455. package/styles/tools/mixins/media-queries/eunomia-lte.mixin.scss +0 -26
@@ -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,8 @@ 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";
27
29
  /**
28
30
  * Tag name of the time-picker component.
29
31
  */
@@ -78,7 +80,8 @@ const EunomiaTimePickerMixinBase = LocalizableMixin(AnchorPositionMixin(FieldApp
78
80
  * @prop {boolean} [disabled=false] - Whether the field is disabled
79
81
  * @prop {boolean} [readonly=false] - Whether the field is read only
80
82
  * @prop {boolean} [required=false] - Whether the field is required
81
- * @prop {boolean} [hideError=false] - Whether the errors are hidden
83
+ * @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
84
+ * @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
85
  * @prop {Array<Validators<Date | null>>} validators - The list of custom validation rules applied to the value
83
86
  * @prop {string} [applyLabel='Apply'] - The label of the mobile modal's confirm button
84
87
  * @attr {string} [apply-label='Apply'] - The label of the mobile modal's confirm button
@@ -110,6 +113,9 @@ const EunomiaTimePickerMixinBase = LocalizableMixin(AnchorPositionMixin(FieldApp
110
113
  * @cssprop [--time-picker-selected-color] - Sets the text color of the selected item in the list panel mode
111
114
  * @cssprop [--time-picker-panel-background] - Sets the background color of the popover panel
112
115
  * @cssprop [--time-picker-panel-transition-duration=200ms] - Sets the duration of the popover panel's open and close transition
116
+ * @cssprop [--field-font-size] - Sets the font size of the field's value and placeholder
117
+ * @cssprop [--field-label-font-size] - Sets the font size of the label
118
+ * @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
113
119
  * @element eun-time-picker
114
120
  */
115
121
  let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBase {
@@ -227,7 +233,10 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
227
233
  const format = this.resolvedHourFormat();
228
234
  if (isPartiallyFilled(this.segments) &&
229
235
  !clockSegmentsToTime(this.segments, format)) {
230
- return { validity: { badInput: true }, message: "Enter a valid time" };
236
+ return {
237
+ validity: { badInput: true },
238
+ message: this.dictionary.validation.invalidTime,
239
+ };
231
240
  }
232
241
  if (this.value) {
233
242
  const { hour, minute } = getZonedParts(this.value, this.timezone);
@@ -285,7 +294,7 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
285
294
  this.isModalOpen = true;
286
295
  return;
287
296
  }
288
- this.updateComplete.then(() => {
297
+ void this.updateComplete.then(() => {
289
298
  const popover = this.popoverEl;
290
299
  if (!popover) {
291
300
  return;
@@ -318,7 +327,7 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
318
327
  });
319
328
  }
320
329
  this.observeAnchorVisibility(this.fieldWrapperEl, () => this.closePopover());
321
- this.updateComplete.then(() => this.panelMode === "list"
330
+ void this.updateComplete.then(() => this.panelMode === "list"
322
331
  ? this.focusListSelection()
323
332
  : this.focusFirstSpinbutton());
324
333
  return;
@@ -469,10 +478,8 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
469
478
  */
470
479
  updated(changed) {
471
480
  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));
481
+ if (hasErrorDisplayChange(changed)) {
482
+ this.setAttribute("aria-invalid", String(this.showError));
476
483
  }
477
484
  }
478
485
  /**
@@ -498,7 +505,7 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
498
505
  * @private
499
506
  */
500
507
  isMobileViewport() {
501
- return window.matchMedia("(max-width: 767px)").matches;
508
+ return window.matchMedia(mediaBelow("tablet")).matches;
502
509
  }
503
510
  /**
504
511
  * The hour format actually in effect, resolving `hourFormat`/`locale`
@@ -599,7 +606,7 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
599
606
  * The popover's open/close animation duration, in ms : `0` if
600
607
  * `noAnimation` is set or the browser reports `prefers-reduced-motion:
601
608
  * reduce`, otherwise `--time-picker-panel-transition-duration` (default
602
- * `200ms`).
609
+ * `--eun-duration-m`).
603
610
  *
604
611
  * @param el the popover to read `--time-picker-panel-transition-duration` off.
605
612
  * @private
@@ -609,18 +616,7 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
609
616
  window.matchMedia("(prefers-reduced-motion: reduce)").matches) {
610
617
  return 0;
611
618
  }
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;
619
+ return resolveDurationMs(el, "--time-picker-panel-transition-duration", "m", 200);
624
620
  }
625
621
  /**
626
622
  * Plays the fade/scaleY-in, replacing any {@link popoverAnimation}
@@ -638,7 +634,7 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
638
634
  this.popoverAnimation = popover.animate([
639
635
  { opacity: 0, transform: "scaleY(0.01)" },
640
636
  { opacity: 1, transform: "scaleY(1)" },
641
- ], { duration, easing: "ease", fill: "forwards" });
637
+ ], { duration, easing: resolveEasing(popover), fill: "forwards" });
642
638
  }
643
639
  /**
644
640
  * Closes the popover, if open — accepting an instant, unanimated close
@@ -676,7 +672,7 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
676
672
  const animation = popover.animate([
677
673
  { opacity: 1, transform: "scaleY(1)" },
678
674
  { opacity: 0, transform: "scaleY(0.01)" },
679
- ], { duration, easing: "ease", fill: "forwards" });
675
+ ], { duration, easing: resolveEasing(popover), fill: "forwards" });
680
676
  this.popoverAnimation = animation;
681
677
  animation.finished
682
678
  .then(() => {
@@ -949,7 +945,7 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
949
945
  renderTimezoneLabel() {
950
946
  if (this.hideTimezoneLabel ||
951
947
  !this.timezone ||
952
- isSameTimeZone(this.timezone, undefined)) {
948
+ isSameTimeZone(this.timezone)) {
953
949
  return nothing;
954
950
  }
955
951
  const label = getTimeZoneOffsetLabel(this.value ?? new Date(), this.timezone, {
@@ -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;
@@ -7,6 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { customElement, property } from "lit/decorators.js";
8
8
  import { html, LitElement, nothing } from "lit";
9
9
  import { animateStyles } from "./animate.styles.js";
10
+ import { mediaBelow } from "../../../breakpoints.js";
10
11
  /**
11
12
  * Tag name of the animate component.
12
13
  */
@@ -31,14 +32,19 @@ const IN_VIEW_ATTR = "in-view";
31
32
  *
32
33
  * @slot [default] - The content to animate on scroll. Always present in the DOM and readable by assistive technology, regardless of viewport intersection
33
34
  * @prop {EunomiaAnimateAnimation} [animation='fade'] - Which transition to apply. None renders the content immediately, with no transition
34
- * @prop {number} [duration=600] - The transition duration, in milliseconds
35
+ * @prop {number} [duration=1000] - The transition duration, in milliseconds. Left unset, it follows --animate-duration
35
36
  * @prop {number} [delay=0] - The transition delay, in milliseconds
37
+ * @prop {number} [tabletDelay] - Overrides `delay` below the tablet breakpoint (width < 768px)
38
+ * @attr {number} [tablet-delay] - Overrides `delay` below the tablet breakpoint (width < 768px)
39
+ * @prop {number} [mobileDelay] - Overrides `delay` (and `tabletDelay`, if also set) below the mobile breakpoint (width < 600px)
40
+ * @attr {number} [mobile-delay] - Overrides `delay` (and `tabletDelay`, if also set) below the mobile breakpoint (width < 600px)
36
41
  * @prop {boolean} [once=true] - Whether the animation plays only the first time it enters the viewport, or replays every time it re-enters
37
42
  * @prop {number} [threshold=0.1] - The ratio of the element, from 0 to 1, that must be visible before the animation triggers
38
43
  * @prop {string} [rootMargin='0px'] - The margin applied around the viewport before threshold is evaluated, accepting CSS-like values such as -50px 0px
39
- * @prop {EunomiaAnimateAnimation} [tabletAnimation] - Overrides `animation` at tablet-width viewports and narrower (max-width: 768px). Left unset, the viewport keeps using `animation`
40
- * @prop {EunomiaAnimateAnimation} [mobileAnimation] - Overrides `animation` (and `tabletAnimation`, if also set) at mobile-width viewports and narrower (max-width: 600px)
44
+ * @prop {EunomiaAnimateAnimation} [tabletAnimation] - Overrides `animation` below the tablet breakpoint (width < 768px). Left unset, the viewport keeps using `animation`
45
+ * @prop {EunomiaAnimateAnimation} [mobileAnimation] - Overrides `animation` (and `tabletAnimation`, if also set) below the mobile breakpoint (width < 600px)
41
46
  * @cssprop [--animate-distance] - Sets the travel distance for the scroll and faded-scroll animations
47
+ * @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
42
48
  * @element eun-animate
43
49
  */
44
50
  let EunomiaAnimate = class EunomiaAnimate extends LitElement {
@@ -51,11 +57,6 @@ let EunomiaAnimate = class EunomiaAnimate extends LitElement {
51
57
  * @default fade
52
58
  */
53
59
  this.animation = "fade";
54
- /**
55
- * Transition duration, in milliseconds.
56
- * @default 600
57
- */
58
- this.duration = 600;
59
60
  /**
60
61
  * Transition delay, in milliseconds.
61
62
  * @default 0
@@ -150,20 +151,33 @@ let EunomiaAnimate = class EunomiaAnimate extends LitElement {
150
151
  this.observer = undefined;
151
152
  }
152
153
  /**
153
- * Forwards `duration`/`delay` to the host's transition through a
154
- * shadow-internal `<style>`, only when they differ from the stylesheet's
155
- * own defaults : an inline style on the host would be a hydration
156
- * mismatch for an SSR framework, since the server never renders it.
154
+ * Forwards `duration`, `delay` and the per-breakpoint delays to the
155
+ * host's transition through a shadow-internal `<style>`, only when they
156
+ * differ from the stylesheet's own defaults : an inline style on the host
157
+ * would be a hydration mismatch for an SSR framework, since the server
158
+ * never renders it. The breakpoints match {@link tabletAnimation} and
159
+ * {@link mobileAnimation}.
157
160
  * @private
158
161
  */
159
162
  renderTiming() {
160
- const rules = [
161
- this.duration !== 600 ? `--_duration: ${Number(this.duration)}ms;` : "",
163
+ const host = [
164
+ this.duration !== undefined
165
+ ? `--_duration: ${Number(this.duration)}ms;`
166
+ : "",
162
167
  this.delay !== 0 ? `--_delay: ${Number(this.delay)}ms;` : "",
163
168
  ].join("");
169
+ const rules = [
170
+ host ? `:host { ${host} }` : "",
171
+ this.tabletDelay !== undefined
172
+ ? `@media ${mediaBelow("tablet")} { :host { --_delay: ${Number(this.tabletDelay)}ms; } }`
173
+ : "",
174
+ this.mobileDelay !== undefined
175
+ ? `@media ${mediaBelow("mobile")} { :host { --_delay: ${Number(this.mobileDelay)}ms; } }`
176
+ : "",
177
+ ].join("");
164
178
  return rules
165
179
  ? html `<style>
166
- :host { ${rules} }
180
+ ${rules}
167
181
  </style>`
168
182
  : nothing;
169
183
  }
@@ -188,6 +202,12 @@ __decorate([
188
202
  __decorate([
189
203
  property({ type: Number })
190
204
  ], EunomiaAnimate.prototype, "delay", void 0);
205
+ __decorate([
206
+ property({ type: Number, attribute: "tablet-delay" })
207
+ ], EunomiaAnimate.prototype, "tabletDelay", void 0);
208
+ __decorate([
209
+ property({ type: Number, attribute: "mobile-delay" })
210
+ ], EunomiaAnimate.prototype, "mobileDelay", void 0);
191
211
  __decorate([
192
212
  property({ type: Boolean })
193
213
  ], EunomiaAnimate.prototype, "once", void 0);
@@ -1,19 +1,25 @@
1
1
  import { css } from "lit";
2
+ import { cssBelow } from "../../../utils/media.styles.js";
2
3
  /**
3
4
  * Base style for the animate component.
4
5
  *
5
6
  * Custom css variables:
6
7
  * [--animate-distance] - Set a custom travel distance for the scroll and faded-scroll animations
8
+ * [--animate-duration] - Set a custom transition duration for every animate without a duration of its own
7
9
  */
8
10
  const base = css `
9
11
  :host {
10
12
  display: block;
11
13
  --_distance: var(--animate-distance, 80px);
12
- transition-duration: var(--_duration, 600ms);
14
+ transition-duration: var(--_duration, var(--animate-duration, 1000ms));
13
15
  transition-delay: var(--_delay, 0ms);
14
16
  transition-timing-function: ease-in-out;
15
17
  }
16
18
 
19
+ :host([animation="none"]) {
20
+ transition-property: none;
21
+ }
22
+
17
23
  :host([animation="fade"]) {
18
24
  opacity: 0;
19
25
  transition-property: opacity;
@@ -100,21 +106,8 @@ const base = css `
100
106
  }
101
107
  }
102
108
  `;
103
- /**
104
- * \`tablet-animation\`/\`mobile-animation\` overrides — pure CSS \`@media\`
105
- * switches, mirroring \`base\` above per animation value, so no JS ever
106
- * needs to read the actual viewport width (see \`animate.ts\`'s own
107
- * \`tabletAnimation\`/\`mobileAnimation\` doc comments). Placed after \`base\`
108
- * so equal-specificity ties (e.g. both \`animation="fade"\` and
109
- * \`tablet-animation="none"\` present at once) resolve in the narrower
110
- * breakpoint's favor by source order, once its \`@media\` condition is true.
111
- *
112
- * \`max-width\` values match \`EUNOMIA_BREAKPOINTS.tablet\`/\`.mobile\`
113
- * (\`breakpoints.ts\`) — hardcoded here since a plain CSS \`@media\` query
114
- * can't read a JS constant.
115
- */
116
109
  const breakpoints = css `
117
- @media (max-width: 768px) {
110
+ @media ${cssBelow("tablet")} {
118
111
  :host([tablet-animation="none"]) {
119
112
  opacity: 1;
120
113
  transform: none;
@@ -202,7 +195,7 @@ const breakpoints = css `
202
195
  }
203
196
  }
204
197
 
205
- @media (max-width: 600px) {
198
+ @media ${cssBelow("mobile")} {
206
199
  :host([mobile-animation="none"]) {
207
200
  opacity: 1;
208
201
  transform: none;
@@ -4,7 +4,13 @@ import "../../loader/loader/loader.js";
4
4
  * Tag name of the infinite list component.
5
5
  */
6
6
  export declare const EunomiaInfiniteListTagName = "eun-infinite-list";
7
- declare const EunomiaInfiniteList_base: import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/load-more-sentinel.mixin.js").LoadMoreSentinelMixinInterface> & typeof LitElement;
7
+ /**
8
+ * How the list puts its items in the tab order: `roving` keeps the active
9
+ * item as the single Tab stop of the list, `none` leaves every item out of
10
+ * it, for items that already hold their own link or button.
11
+ */
12
+ export type InfiniteListItemTabStop = "roving" | "none";
13
+ declare const EunomiaInfiniteList_base: import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/localizable.mixin.js").LocalizableMixinInterface> & import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/load-more-sentinel.mixin.js").LoadMoreSentinelMixinInterface> & typeof LitElement;
8
14
  /**
9
15
  * Wraps a slotted list of items with scroll-triggered pagination: it
10
16
  * reveals or fetches more as the user nears the end, shows a loading
@@ -32,21 +38,26 @@ declare const EunomiaInfiniteList_base: import("../../../utils/constructor.type.
32
38
  * @slot [end] - Shown once hasMore is false, its own default, and every item has been slotted at least once. Empty by default, rendering nothing until you provide content
33
39
  * @slot [empty] - Shown while there are zero items and loading is false
34
40
  * @prop {number} [pageSize=20] - The number of items per page, both the unit the load-more event requests are made in, and the chunk size virtualization mounts and unmounts as a whole
35
- * @prop {boolean} [virtualize=true] - Detaches pages far from the current scroll position once the list exceeds virtualizeThreshold, replacing each with a single sized spacer. Sound for a single-column, block or flex-column layout, not for a CSS grid of items
41
+ * @prop {boolean} [virtualize=false] - Detaches pages far from the current scroll position once the list exceeds virtualizeThreshold, replacing each with a single sized spacer. Ignored while --infinite-list-columns is above 1, and best left off when a framework renders the items
36
42
  * @prop {number} [virtualizeThreshold=100] - The total known item count above which virtualize actually starts detaching pages. Below it, every page stays mounted, since the bookkeeping isn't worth it for a short list
37
43
  * @prop {number} [bufferPages=1] - The number of extra pages kept mounted before and after the page currently in view, so a small scroll doesn't immediately re-trigger a mount or unmount
38
44
  * @prop {boolean} [loading=false] - Whether a load-more request is in flight. The list sets this to true itself right before dispatching the event, since only it can detect the scroll trigger. Setting it back to false once the new items are appended, or there aren't any, is your own responsibility, exactly like the search and select components' own loading
39
45
  * @prop {boolean} [hasMore=false] - Whether more items can still be obtained, from local unrevealed children or a future load-more page. Defaults to false, so the zero-config, no script needed static case is the default, and API-paginated consumers opt in explicitly. Set it back to false once you've exhausted your dataset, or it keeps requesting empty pages forever
40
- * @prop {string} [loadingLabel='Loading more items…'] - The accessible label passed to the trailing loading indicator
46
+ * @prop {string} [loadingLabel] - The accessible label passed to the trailing loading indicator. Defaults to the localized string for the current locale (English: "Loading more items…")
47
+ * @prop {'roving' | 'none'} [itemTabStop='roving'] - How items enter the tab order. With roving, the active item is the list's single Tab stop. With none, no item is a Tab stop, so Tab only reaches the links and buttons inside them, while the arrow, Page Up/Down, Home and End keys still move between items
41
48
  * @prop {string} [label] - The accessible name for the feed region. Strongly recommended
42
49
  * @prop {string} [rootMargin='400px'] - How far before the physical end of the list the load-more event triggers, as a CSS-like margin. The default preloads a page before the user actually hits the bottom, so the loading indicator rarely shows for long
43
50
  * @fires {LoadMoreEvent} eunloadmore - Fired when more items are needed and hasMore is true. Loading is already true by the time this fires
44
51
  * @cssprop [--infinite-list-height] - Sets a fixed height, past which the list scrolls internally instead of the surrounding page. Unset, the default, the list grows with its content and the page scrolls it like any other block
52
+ * @cssprop [--infinite-list-columns] - Sets the number of columns items are laid out in, as a grid. Above 1, virtualization is turned off
45
53
  * @cssprop [--infinite-list-gap] - Sets the gap between items
46
54
  * @cssprop [--infinite-list-padding] - Sets the padding around the scrollable area
55
+ * @cssprop [--infinite-list-padding-block] - Sets the vertical padding, as one length applied to both sides. Ignored when --infinite-list-padding is set
56
+ * @cssprop [--infinite-list-padding-inline] - Sets the horizontal padding, as one length applied to both sides. Ignored when --infinite-list-padding is set
47
57
  * @cssprop [--infinite-list-loading-padding] - Sets the padding around the trailing loading indicator
48
58
  * @cssprop [--infinite-list-end-color] - Sets the color of the default end and empty slot area
49
59
  * @cssprop [--infinite-list-focus-outline-color] - Sets a fallback focus outline color applied to slotted items that don't set their own
60
+ * @csspart feed - The element wrapping the items, laid out as a grid
50
61
  * @element eun-infinite-list
51
62
  */
52
63
  export declare class EunomiaInfiniteList extends EunomiaInfiniteList_base {
@@ -66,8 +77,10 @@ export declare class EunomiaInfiniteList extends EunomiaInfiniteList_base {
66
77
  pageSize: number;
67
78
  /**
68
79
  * Detaches pages far from the current scroll position once the list
69
- * exceeds `virtualizeThreshold`.
70
- * @default true
80
+ * exceeds `virtualizeThreshold`. Off by default, so a framework that
81
+ * renders the items (and can only set attributes before the element
82
+ * upgrades) never has to turn it off.
83
+ * @default false
71
84
  */
72
85
  virtualize: boolean;
73
86
  /**
@@ -98,10 +111,18 @@ export declare class EunomiaInfiniteList extends EunomiaInfiniteList_base {
98
111
  */
99
112
  hasMore: boolean;
100
113
  /**
101
- * Accessible label passed to the trailing `eun-loader`.
102
- * @default Loading more items…
114
+ * Accessible label passed to the trailing `eun-loader`. Falls back to
115
+ * `this.dictionary.infiniteList.loadingMore` (see `LocalizableMixin`)
116
+ * when unset.
117
+ */
118
+ loadingLabel?: string;
119
+ /**
120
+ * How items enter the tab order : `roving` keeps the active item as the
121
+ * list's single Tab stop, `none` leaves them all out of it, for items
122
+ * that already hold their own link or button.
123
+ * @default roving
103
124
  */
104
- loadingLabel: string;
125
+ itemTabStop: InfiniteListItemTabStop;
105
126
  /**
106
127
  * Accessible name for the feed region.
107
128
  */
@@ -119,8 +140,9 @@ export declare class EunomiaInfiniteList extends EunomiaInfiniteList_base {
119
140
  */
120
141
  private itemCount;
121
142
  /**
122
- * The scrollable container, used as the `IntersectionObserver` root and
123
- * to read/react to scroll position.
143
+ * The container wrapping the feed, which scrolls internally (and becomes
144
+ * the `IntersectionObserver` root) only once `--infinite-list-height`
145
+ * bounds it.
124
146
  * @internal
125
147
  * @readonly
126
148
  */
@@ -139,6 +161,7 @@ export declare class EunomiaInfiniteList extends EunomiaInfiniteList_base {
139
161
  * @readonly
140
162
  */
141
163
  private readonly announcerEl?;
164
+ connectedCallback(): void;
142
165
  disconnectedCallback(): void;
143
166
  protected firstUpdated(): void;
144
167
  protected updated(changed: PropertyValues): void;