@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
@@ -1,11 +1,12 @@
1
1
  import { css } from "lit";
2
2
  /**
3
- * Style for `eun-table` — the outer CSS Grid every `eun-table-header`/
4
- * `eun-table-item` row shares its column tracks with via CSS Subgrid (see
5
- * the class doc for the full mechanism). `:host` is deliberately both the
6
- * grid container *and* the scroll container (`overflow: auto`) : a sticky
7
- * header/column/pinned row sticks relative to whichever ancestor actually
8
- * scrolls, and this is the one meant to.
3
+ * Style for `eun-table`'s own shadow root. `#frame` is the table's border
4
+ * and its scroll container: a sticky header, column, or footer sticks
5
+ * relative to whichever ancestor actually scrolls, and this is the one
6
+ * meant to. The host only reserves room above it for the `<caption>`,
7
+ * which the light DOM sheet positions against the host, outside the
8
+ * frame's clipping. The slotted native table itself is styled from the light DOM
9
+ * (see `table-native.styles.ts`).
9
10
  *
10
11
  * Custom css variables:
11
12
  * [--table-border-color] - Set a custom border color
@@ -15,30 +16,31 @@ import { css } from "lit";
15
16
  */
16
17
  const base = css `
17
18
  :host {
18
- display: grid;
19
- grid-template-columns: var(--_columns, none);
20
- align-items: stretch;
19
+ display: flex;
20
+ flex-direction: column;
21
+ position: relative;
22
+ box-sizing: border-box;
23
+ max-height: var(--table-max-height, none);
24
+ padding-top: var(--_table-caption-height, 0px);
25
+ font-family: var(--eun-font-family, "Mulish", sans-serif);
26
+ }
27
+
28
+ #frame {
29
+ flex: 1 1 auto;
30
+ min-height: 0;
21
31
  box-sizing: border-box;
22
32
  border: var(--eun-border-width-s, 1px) solid
23
33
  var(--table-border-color, var(--eun-border-color, #dee0e7));
24
34
  border-radius: var(--eun-border-radius-m, 10px);
25
35
  background: var(--table-background, var(--eun-surface-color, #ffffff));
26
36
  overflow: auto;
27
- max-height: var(--table-max-height, none);
28
- font-family: var(--eun-font-family, "Mulish", sans-serif);
29
- }
30
-
31
- :host([loading]) ::slotted(eun-table-item) {
32
- display: none;
33
37
  }
34
38
 
35
39
  #table-sentinel {
36
- grid-column: 1 / -1;
37
40
  block-size: 1px;
38
41
  }
39
42
 
40
43
  #table-loading-row {
41
- grid-column: 1 / -1;
42
44
  display: flex;
43
45
  align-items: center;
44
46
  justify-content: center;
@@ -49,5 +51,17 @@ const base = css `
49
51
  #table-loading-row[hidden] {
50
52
  display: none;
51
53
  }
54
+
55
+ .visually-hidden {
56
+ position: absolute;
57
+ inline-size: 1px;
58
+ block-size: 1px;
59
+ padding: 0;
60
+ margin: -1px;
61
+ overflow: hidden;
62
+ clip: rect(0, 0, 0, 0);
63
+ white-space: nowrap;
64
+ border: 0;
65
+ }
52
66
  `;
53
67
  export const tableStyles = base;
@@ -1,7 +1,6 @@
1
1
  import { TemplateResult } from "lit";
2
2
  import { EunomiaIconName } from "../../../components/content/icon/icon.type.js";
3
3
  import { EunomiaDropdownOption } from "../../../components/action/dropdown-button/dropdown-button.js";
4
- import { EunomiaTableColumnSort } from "../table-column/table-column.js";
5
4
  import { EunomiaActionColor } from "../../../types/variant.type.js";
6
5
  /**
7
6
  * A single action rendered in `eun-table-action-bar`'s center region — a
@@ -16,24 +15,16 @@ export interface EunomiaTableAction {
16
15
  disabled?: boolean;
17
16
  }
18
17
  /**
19
- * The `{ row, col }` coordinates of a single cell within `eun-table`'s
20
- * roving-tabindex grid — `row` 0 is the header, `row` 1..N are `eun-table-item`s
21
- * in DOM order ; `col` 0 is the select cell (when selectable), 1..M are data
22
- * cells, and the last index is the action cell (when any row has one).
23
- * @internal
18
+ * Sort state of a column, reflected as `aria-sort` on its header cell.
24
19
  */
25
- export interface EunomiaTableCellCoords {
26
- row: number;
27
- col: number;
28
- }
20
+ export type EunomiaTableColumnSort = "ascending" | "descending" | "none";
29
21
  /**
30
22
  * Definition of a single column, for `eun-table`'s programmatic `columns` +
31
- * `data` mode — an alternative to hand-authoring `eun-table-header`/
32
- * `eun-table-column`/`eun-table-item`/`eun-table-cell` markup yourself.
33
- * `eun-table` generates that exact same markup from `columns`/`data`
34
- * internally, so the rendered result — visuals, CSS, ARIA, sticky/selection
35
- * behavior — is identical either way ; this is a convenience input mode,
36
- * not a second implementation.
23
+ * `data` mode — an alternative to hand-authoring the native `<table>`
24
+ * markup yourself. `eun-table` renders that same native markup from
25
+ * `columns`/`data`, so the result (visuals, semantics, sticky and
26
+ * selection behavior) is identical either way. `width` is any CSS width
27
+ * (`120px`, `20%`), applied to the column's header cell.
37
28
  *
38
29
  * @template T Shape of a data row.
39
30
  */
@@ -47,8 +38,8 @@ export interface EunomiaTableColumnDef<T extends object = Record<string, unknown
47
38
  }
48
39
  /**
49
40
  * A single row-end button action, for `eun-table`'s programmatic `rowAction`
50
- * — the data-driven equivalent of slotting a `eun-button` into
51
- * `slot="action"` yourself.
41
+ * — the data-driven equivalent of putting a `eun-button` in a
42
+ * `data-table-action` cell yourself.
52
43
  *
53
44
  * @template T Shape of a data row.
54
45
  */
@@ -66,8 +57,8 @@ export interface EunomiaTableRowButtonActionDef<T extends object = Record<string
66
57
  }
67
58
  /**
68
59
  * A single row-end dropdown action, for `eun-table`'s programmatic
69
- * `rowAction` — the data-driven equivalent of slotting a
70
- * `eun-dropdown-button` into `slot="action"` yourself. `options`/
60
+ * `rowAction` — the data-driven equivalent of putting a
61
+ * `eun-dropdown-button` in a `data-table-action` cell yourself. `options`/
71
62
  * `disabledKeys` are computed per row so they can reflect that row's own
72
63
  * state.
73
64
  *
@@ -1,43 +1,13 @@
1
- import { TemplateResult } from "lit";
2
1
  /**
3
- * Builds the `grid-template-columns` track list shared, via CSS Subgrid, by
4
- * `eun-table`'s outer grid and every `eun-table-header`/`eun-table-item`
5
- * row. A missing/blank column width falls back to `minmax(0, 1fr)` (never
6
- * bare `auto`, which can blow the grid out on long unwrapped content).
7
- * @internal
8
- */
9
- export declare function computeColumnsTemplate(columnWidths: Array<string | undefined>, opts: {
10
- selectable: boolean;
11
- hasAction: boolean;
12
- }): string;
13
- /**
14
- * Resolves a row's stable identity : its own `row-key` if set, otherwise a
15
- * fallback keyed on DOM order. The fallback is documented as unstable
16
- * across client-side sort/filter/reorder — callers needing a table with any
17
- * of those should always set `row-key`.
2
+ * Resolves a row's stable identity : its own `data-row-key` if set,
3
+ * otherwise a fallback keyed on DOM order. The fallback is documented as
4
+ * unstable across client-side sort/filter/reorder — callers needing a
5
+ * table with any of those should always set `data-row-key`.
18
6
  * @internal
19
7
  */
20
8
  export declare function resolveRowKey(explicitKey: string | null | undefined, index: number): string;
21
9
  /**
22
- * Shared checkbox-cell markup rendered by both `eun-table-header` (the
23
- * select-all control) and `eun-table-item` (a per-row checkbox) — identical
24
- * internal markup in both, so factored out rather than duplicated. Not
25
- * exported from `index.ts` : this is an implementation detail of the two
26
- * elements that use it, not something a consumer authors directly.
27
- *
28
- * Both callers pin the checkbox's own `tabindex` to `"0"` explicitly,
29
- * overriding `eun-checkbox`'s own default (`"-1"`, meant for a composite
30
- * widget awaiting external promotion elsewhere, e.g. inside a radio
31
- * group) — this one is always meant to be its own plain, independently
32
- * `Tab`-reachable control, never a roving-tabindex stop managed by
33
- * anything else.
10
+ * Converts a column `align` value into the matching logical `text-align`.
34
11
  * @internal
35
12
  */
36
- export declare function renderSelectCell(props: {
37
- role: "gridcell" | "columnheader";
38
- checked: boolean;
39
- indeterminate?: boolean;
40
- ariaLabel: string;
41
- disabled?: boolean;
42
- onChange: () => void;
43
- }): TemplateResult;
13
+ export declare function alignToTextAlign(align: "left" | "center" | "right" | undefined): string | undefined;
@@ -1,75 +1,26 @@
1
- import { html } from "lit";
2
1
  /**
3
- * Builds the `grid-template-columns` track list shared, via CSS Subgrid, by
4
- * `eun-table`'s outer grid and every `eun-table-header`/`eun-table-item`
5
- * row. A missing/blank column width falls back to `minmax(0, 1fr)` (never
6
- * bare `auto`, which can blow the grid out on long unwrapped content).
7
- * @internal
8
- */
9
- export function computeColumnsTemplate(columnWidths, opts) {
10
- const tracks = [];
11
- if (opts.selectable) {
12
- tracks.push("var(--eun-table-select-col-width, 40px)");
13
- }
14
- for (const width of columnWidths) {
15
- tracks.push(width?.trim() ? width.trim() : "minmax(0, 1fr)");
16
- }
17
- if (opts.hasAction) {
18
- tracks.push("var(--eun-table-action-col-width, 56px)");
19
- }
20
- return tracks.join(" ") || "none";
21
- }
22
- /**
23
- * Resolves a row's stable identity : its own `row-key` if set, otherwise a
24
- * fallback keyed on DOM order. The fallback is documented as unstable
25
- * across client-side sort/filter/reorder — callers needing a table with any
26
- * of those should always set `row-key`.
2
+ * Resolves a row's stable identity : its own `data-row-key` if set,
3
+ * otherwise a fallback keyed on DOM order. The fallback is documented as
4
+ * unstable across client-side sort/filter/reorder — callers needing a
5
+ * table with any of those should always set `data-row-key`.
27
6
  * @internal
28
7
  */
29
8
  export function resolveRowKey(explicitKey, index) {
30
9
  return explicitKey?.length ? explicitKey : `__row-${index}`;
31
10
  }
32
11
  /**
33
- * Shared checkbox-cell markup rendered by both `eun-table-header` (the
34
- * select-all control) and `eun-table-item` (a per-row checkbox) — identical
35
- * internal markup in both, so factored out rather than duplicated. Not
36
- * exported from `index.ts` : this is an implementation detail of the two
37
- * elements that use it, not something a consumer authors directly.
38
- *
39
- * Both callers pin the checkbox's own `tabindex` to `"0"` explicitly,
40
- * overriding `eun-checkbox`'s own default (`"-1"`, meant for a composite
41
- * widget awaiting external promotion elsewhere, e.g. inside a radio
42
- * group) — this one is always meant to be its own plain, independently
43
- * `Tab`-reachable control, never a roving-tabindex stop managed by
44
- * anything else.
12
+ * Converts a column `align` value into the matching logical `text-align`.
45
13
  * @internal
46
14
  */
47
- /* eslint-disable lit-a11y/click-events-have-key-events -- this div only
48
- stops a click's propagation so it doesn't also trigger the owning row's
49
- click handling ; the real interactive control is the eun-checkbox inside
50
- it, already independently keyboard-accessible. */
51
- export function renderSelectCell(props) {
52
- return html `
53
- <div
54
- id="select-cell"
55
- role=${props.role}
56
- tabindex="-1"
57
- @click=${(event) => event.stopPropagation()}
58
- >
59
- <eun-checkbox
60
- tabindex="0"
61
- ?checked=${props.checked}
62
- .indeterminate=${props.indeterminate ?? false}
63
- aria-label=${props.ariaLabel}
64
- ?disabled=${props.disabled ?? false}
65
- @eunchange=${props.onChange}
66
- @click=${() => {
67
- if (props.indeterminate) {
68
- props.onChange();
69
- }
70
- }}
71
- ></eun-checkbox>
72
- </div>
73
- `;
15
+ export function alignToTextAlign(align) {
16
+ switch (align) {
17
+ case "center":
18
+ return "center";
19
+ case "right":
20
+ return "end";
21
+ case "left":
22
+ return "start";
23
+ default:
24
+ return undefined;
25
+ }
74
26
  }
75
- /* eslint-enable lit-a11y/click-events-have-key-events */
@@ -4,6 +4,7 @@ import { EunomiaTableAction } from "../table/table.types.js";
4
4
  * Tag name of the table-action-bar component.
5
5
  */
6
6
  export declare const EunomiaTableActionBarTagName = "eun-table-action-bar";
7
+ declare const EunomiaTableActionBar_base: import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/localizable.mixin.js").LocalizableMixinInterface> & typeof LitElement;
7
8
  /**
8
9
  * A floating, bottom-centered toolbar shown while one or more rows are
9
10
  * selected: a count badge, a select or deselect all toggle, any number of
@@ -24,15 +25,15 @@ export declare const EunomiaTableActionBarTagName = "eun-table-action-bar";
24
25
  * @attr {number} [total-count=0] - The total number of selectable rows
25
26
  * @slot [default] - Extra content rendered in the center region, after the actions-driven buttons and dropdowns. An escape hatch for markup actions can't express, such as a custom control or a status message
26
27
  * @prop {Array<import('./table.types.js').EunomiaTableAction>} [actions=[]] - The custom actions rendered in the center region
27
- * @prop {string} [toolbarAriaLabel='Selection actions'] - The accessible label for the toolbar itself
28
+ * @prop {string} [toolbarAriaLabel='Selection actions'] - The accessible label for the toolbar itself ; translated from `locale` while unset
28
29
  * @attr {string} [toolbar-aria-label='Selection actions'] - The accessible label for the toolbar itself
29
- * @prop {string} [selectedLabel='selected'] - Text shown after the count in the badge
30
+ * @prop {string} [selectedLabel='selected'] - Text shown after the count in the badge ; translated from `locale` while unset
30
31
  * @attr {string} [selected-label='selected'] - Text shown after the count in the badge
31
- * @prop {string} [selectAllLabel='Select all'] - The label of the select-all button while not every row is selected
32
+ * @prop {string} [selectAllLabel='Select all'] - The label of the select-all button while not every row is selected ; translated from `locale` while unset
32
33
  * @attr {string} [select-all-label='Select all'] - The label of the select-all button while not every row is selected
33
- * @prop {string} [deselectAllLabel='Deselect all'] - The label of the select-all button once every row is selected
34
+ * @prop {string} [deselectAllLabel='Deselect all'] - The label of the select-all button once every row is selected ; translated from `locale` while unset
34
35
  * @attr {string} [deselect-all-label='Deselect all'] - The label of the select-all button once every row is selected
35
- * @prop {string} [closeAriaLabel='Clear selection'] - The accessible label for the close button
36
+ * @prop {string} [closeAriaLabel='Clear selection'] - The accessible label for the close button ; translated from `locale` while unset
36
37
  * @attr {string} [close-aria-label='Clear selection'] - The accessible label for the close button
37
38
  * @fires {TableActionEvent} euntableaction - Fired when a custom action is activated
38
39
  * @csspart bar - The bar's own surface box, carrying its padding, background, and border. Exposed for effects the bar's CSS custom properties don't cover
@@ -44,7 +45,7 @@ export declare const EunomiaTableActionBarTagName = "eun-table-action-bar";
44
45
  * @cssprop [--table-action-bar-border-radius] - Sets the corner radius of the action bar
45
46
  * @element eun-table-action-bar
46
47
  */
47
- export declare class EunomiaTableActionBar extends LitElement {
48
+ export declare class EunomiaTableActionBar extends EunomiaTableActionBar_base {
48
49
  /**
49
50
  * Styles to import to the component.
50
51
  *
@@ -59,16 +60,31 @@ export declare class EunomiaTableActionBar extends LitElement {
59
60
  totalCount: number;
60
61
  /** @default [] */
61
62
  actions: EunomiaTableAction[];
62
- /** @default Selection actions */
63
- toolbarAriaLabel: string;
64
- /** @default selected */
65
- selectedLabel: string;
66
- /** @default Select all */
67
- selectAllLabel: string;
68
- /** @default Deselect all */
69
- deselectAllLabel: string;
70
- /** @default Clear selection */
71
- closeAriaLabel: string;
63
+ /**
64
+ * Translated from `locale` while unset.
65
+ * @default Selection actions
66
+ */
67
+ toolbarAriaLabel?: string;
68
+ /**
69
+ * Translated from `locale` while unset.
70
+ * @default selected
71
+ */
72
+ selectedLabel?: string;
73
+ /**
74
+ * Translated from `locale` while unset.
75
+ * @default Select all
76
+ */
77
+ selectAllLabel?: string;
78
+ /**
79
+ * Translated from `locale` while unset.
80
+ * @default Deselect all
81
+ */
82
+ deselectAllLabel?: string;
83
+ /**
84
+ * Translated from `locale` while unset.
85
+ * @default Clear selection
86
+ */
87
+ closeAriaLabel?: string;
72
88
  /**
73
89
  * Called when the select-all/deselect-all button is clicked. Set by the
74
90
  * owning `eun-table` (or a standalone consumer of this element).
@@ -94,3 +110,4 @@ declare global {
94
110
  [EunomiaTableActionBarTagName]: EunomiaTableActionBar;
95
111
  }
96
112
  }
113
+ export {};
@@ -9,6 +9,7 @@ import { html, LitElement, nothing } from "lit";
9
9
  import { ifDefined } from "lit/directives/if-defined.js";
10
10
  import { TableActionEvent } from "../../../events/table-action.event.js";
11
11
  import { tableActionBarStyles } from "./table-action-bar.styles.js";
12
+ import { LocalizableMixin } from "../../../mixins/localizable.mixin.js";
12
13
  /**
13
14
  * Tag name of the table-action-bar component.
14
15
  */
@@ -33,15 +34,15 @@ export const EunomiaTableActionBarTagName = "eun-table-action-bar";
33
34
  * @attr {number} [total-count=0] - The total number of selectable rows
34
35
  * @slot [default] - Extra content rendered in the center region, after the actions-driven buttons and dropdowns. An escape hatch for markup actions can't express, such as a custom control or a status message
35
36
  * @prop {Array<import('./table.types.js').EunomiaTableAction>} [actions=[]] - The custom actions rendered in the center region
36
- * @prop {string} [toolbarAriaLabel='Selection actions'] - The accessible label for the toolbar itself
37
+ * @prop {string} [toolbarAriaLabel='Selection actions'] - The accessible label for the toolbar itself ; translated from `locale` while unset
37
38
  * @attr {string} [toolbar-aria-label='Selection actions'] - The accessible label for the toolbar itself
38
- * @prop {string} [selectedLabel='selected'] - Text shown after the count in the badge
39
+ * @prop {string} [selectedLabel='selected'] - Text shown after the count in the badge ; translated from `locale` while unset
39
40
  * @attr {string} [selected-label='selected'] - Text shown after the count in the badge
40
- * @prop {string} [selectAllLabel='Select all'] - The label of the select-all button while not every row is selected
41
+ * @prop {string} [selectAllLabel='Select all'] - The label of the select-all button while not every row is selected ; translated from `locale` while unset
41
42
  * @attr {string} [select-all-label='Select all'] - The label of the select-all button while not every row is selected
42
- * @prop {string} [deselectAllLabel='Deselect all'] - The label of the select-all button once every row is selected
43
+ * @prop {string} [deselectAllLabel='Deselect all'] - The label of the select-all button once every row is selected ; translated from `locale` while unset
43
44
  * @attr {string} [deselect-all-label='Deselect all'] - The label of the select-all button once every row is selected
44
- * @prop {string} [closeAriaLabel='Clear selection'] - The accessible label for the close button
45
+ * @prop {string} [closeAriaLabel='Clear selection'] - The accessible label for the close button ; translated from `locale` while unset
45
46
  * @attr {string} [close-aria-label='Clear selection'] - The accessible label for the close button
46
47
  * @fires {TableActionEvent} euntableaction - Fired when a custom action is activated
47
48
  * @csspart bar - The bar's own surface box, carrying its padding, background, and border. Exposed for effects the bar's CSS custom properties don't cover
@@ -53,7 +54,7 @@ export const EunomiaTableActionBarTagName = "eun-table-action-bar";
53
54
  * @cssprop [--table-action-bar-border-radius] - Sets the corner radius of the action bar
54
55
  * @element eun-table-action-bar
55
56
  */
56
- let EunomiaTableActionBar = class EunomiaTableActionBar extends LitElement {
57
+ let EunomiaTableActionBar = class EunomiaTableActionBar extends LocalizableMixin(LitElement) {
57
58
  constructor() {
58
59
  super(...arguments);
59
60
  /** @default 0 */
@@ -62,16 +63,6 @@ let EunomiaTableActionBar = class EunomiaTableActionBar extends LitElement {
62
63
  this.totalCount = 0;
63
64
  /** @default [] */
64
65
  this.actions = [];
65
- /** @default Selection actions */
66
- this.toolbarAriaLabel = "Selection actions";
67
- /** @default selected */
68
- this.selectedLabel = "selected";
69
- /** @default Select all */
70
- this.selectAllLabel = "Select all";
71
- /** @default Deselect all */
72
- this.deselectAllLabel = "Deselect all";
73
- /** @default Clear selection */
74
- this.closeAriaLabel = "Clear selection";
75
66
  this.handleSelectAllClick = () => {
76
67
  this.onSelectAll?.();
77
68
  };
@@ -87,8 +78,8 @@ let EunomiaTableActionBar = class EunomiaTableActionBar extends LitElement {
87
78
  }
88
79
  updated(changed) {
89
80
  super.updated(changed);
90
- if (changed.has("toolbarAriaLabel")) {
91
- this.setAttribute("aria-label", this.toolbarAriaLabel);
81
+ if (changed.has("toolbarAriaLabel") || changed.has("locale")) {
82
+ this.setAttribute("aria-label", this.toolbarAriaLabel ?? this.dictionary.table.selectionActions);
92
83
  }
93
84
  }
94
85
  get allSelected() {
@@ -149,13 +140,14 @@ let EunomiaTableActionBar = class EunomiaTableActionBar extends LitElement {
149
140
  render() {
150
141
  const allSelected = this.allSelected;
151
142
  const toggleLabel = allSelected
152
- ? this.deselectAllLabel
153
- : this.selectAllLabel;
143
+ ? (this.deselectAllLabel ?? this.dictionary.table.deselectAll)
144
+ : (this.selectAllLabel ?? this.dictionary.table.selectAll);
154
145
  return html `
155
146
  <div id="bar" part="bar">
156
147
  <div id="left">
157
148
  <eun-tag role="status"
158
- >${this.selectedCount} ${this.selectedLabel}</eun-tag
149
+ >${this.selectedCount}
150
+ ${this.selectedLabel ?? this.dictionary.table.selected}</eun-tag
159
151
  >
160
152
  <eun-button
161
153
  appearance="flat"
@@ -177,7 +169,8 @@ let EunomiaTableActionBar = class EunomiaTableActionBar extends LitElement {
177
169
  size="xs"
178
170
  rounded
179
171
  appearance="flat"
180
- aria-label=${this.closeAriaLabel}
172
+ aria-label=${this.closeAriaLabel ??
173
+ this.dictionary.table.clearSelection}
181
174
  @click=${this.handleCloseClick}
182
175
  >
183
176
  <eun-icon name="close" size="16"></eun-icon>
@@ -1,5 +1,5 @@
1
1
  import { css } from "lit";
2
- import { EUNOMIA_BREAKPOINTS } from "../../../breakpoints.js";
2
+ import { cssBelow } from "../../../utils/media.styles.js";
3
3
  /**
4
4
  * Style for `eun-table-action-bar` — a floating, bottom-centered toolbar,
5
5
  * visually modeled on the sibling `eunomia-elements` design system's own
@@ -36,7 +36,19 @@ const base = css `
36
36
  z-index: var(--table-action-bar-z-index, 100);
37
37
  display: block;
38
38
  max-width: calc(100vw - var(--eun-space-l, 32px) * 2);
39
- animation: eun-table-action-bar-in 180ms ease both;
39
+ animation: eun-table-action-bar-in var(--eun-duration-m, 200ms)
40
+ var(--eun-easing-default, ease) both;
41
+ }
42
+
43
+ :host([popover]) {
44
+ top: auto;
45
+ right: auto;
46
+ margin: 0;
47
+ padding: 0;
48
+ border: none;
49
+ background: none;
50
+ overflow: visible;
51
+ color: inherit;
40
52
  }
41
53
 
42
54
  :host([hidden]) {
@@ -84,7 +96,7 @@ const base = css `
84
96
  }
85
97
  }
86
98
 
87
- @media (max-width: ${EUNOMIA_BREAKPOINTS.mobile}px) {
99
+ @media ${cssBelow("mobile")} {
88
100
  :host {
89
101
  left: var(--eun-space-s, 8px);
90
102
  right: var(--eun-space-s, 8px);
package/dist/i18n/en.d.ts CHANGED
@@ -6,7 +6,15 @@
6
6
  * silent runtime fallback.
7
7
  */
8
8
  export declare const en: {
9
+ common: {
10
+ close: string;
11
+ cancel: string;
12
+ confirm: string;
13
+ noValue: string;
14
+ save: string;
15
+ };
9
16
  datePicker: {
17
+ openCalendar: string;
10
18
  previousMonth: string;
11
19
  chooseMonthYear: string;
12
20
  nextMonth: string;
@@ -19,6 +27,11 @@ export declare const en: {
19
27
  amPm: string;
20
28
  hour: string;
21
29
  minute: string;
30
+ day: string;
31
+ month: string;
32
+ year: string;
33
+ startDate: string;
34
+ endDate: string;
22
35
  heading: {
23
36
  day: {
24
37
  single: string;
@@ -49,6 +62,7 @@ export declare const en: {
49
62
  };
50
63
  };
51
64
  timePicker: {
65
+ openClock: string;
52
66
  amPm: string;
53
67
  hour: string;
54
68
  minute: string;
@@ -58,14 +72,23 @@ export declare const en: {
58
72
  mustBeAtOrBefore: (time: string) => string;
59
73
  };
60
74
  scheduler: {
75
+ previous: string;
76
+ next: string;
61
77
  calendarView: string;
62
78
  };
63
79
  carousel: {
64
80
  ofTotal: (index: number, total: number) => string;
65
81
  slideNavigation: string;
82
+ previous: string;
83
+ next: string;
66
84
  goToSlide: (index: number, total: number) => string;
67
85
  };
68
86
  imageCarousel: {
87
+ gallery: string;
88
+ previous: string;
89
+ next: string;
90
+ expand: string;
91
+ lightbox: string;
69
92
  selectImage: string;
70
93
  showImage: (index: number, total: number) => string;
71
94
  imageNavigation: string;
@@ -75,9 +98,85 @@ export declare const en: {
75
98
  chip: {
76
99
  remove: string;
77
100
  };
101
+ passwordStrength: {
102
+ label: string;
103
+ levels: string[];
104
+ caption: (label: string) => string;
105
+ };
106
+ infiniteList: {
107
+ loadingMore: string;
108
+ itemsLoaded: (count: number) => string;
109
+ };
110
+ table: {
111
+ loadingMore: string;
112
+ selected: string;
113
+ selectAll: string;
114
+ deselectAll: string;
115
+ selectAllRows: string;
116
+ deselectAllRows: string;
117
+ selectRow: string;
118
+ selectionActions: string;
119
+ clearSelection: string;
120
+ rowActions: string;
121
+ rowsLoaded: (count: number) => string;
122
+ };
78
123
  link: {
79
124
  opensInNewTab: string;
80
125
  };
126
+ input: {
127
+ clear: string;
128
+ showPassword: string;
129
+ hidePassword: string;
130
+ };
131
+ search: {
132
+ panel: string;
133
+ };
134
+ counter: {
135
+ increment: string;
136
+ decrement: string;
137
+ };
138
+ inputFile: {
139
+ remove: string;
140
+ select: string;
141
+ open: string;
142
+ };
143
+ inputPhone: {
144
+ selectCountry: string;
145
+ };
146
+ colorPicker: {
147
+ noColor: string;
148
+ };
149
+ pagination: {
150
+ previous: string;
151
+ next: string;
152
+ first: string;
153
+ last: string;
154
+ page: string;
155
+ };
156
+ sidebar: {
157
+ expand: string;
158
+ collapse: string;
159
+ resize: string;
160
+ };
161
+ toolbar: {
162
+ menuOpen: string;
163
+ menuClose: string;
164
+ menu: string;
165
+ };
166
+ rating: {
167
+ label: string;
168
+ valueText: (value: string, max: string) => string;
169
+ summary: (label: string, valueText: string) => string;
170
+ noValue: string;
171
+ clear: string;
172
+ };
173
+ validation: {
174
+ valueMissing: string;
175
+ tooShort: (min: number, length: number) => string;
176
+ tooLong: (max: number, length: number) => string;
177
+ invalidDate: string;
178
+ invalidTime: string;
179
+ };
81
180
  };
82
181
  /**
83
182
  * The shape every locale dictionary (see {@link ../i18n/fr.ts}) must match.