@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
@@ -33,8 +33,10 @@ export const EunomiaRadioCardTagName = "eun-radio-card";
33
33
  * @attr {boolean} [default-checked] - The checked state applied when the card connects, and restored on form reset
34
34
  * @prop {boolean} [disabled=false] - Whether the card is disabled
35
35
  * @prop {boolean} [readonly=false] - Whether the card is read only
36
- * @prop {boolean} [hideError=false] - Whether the error message is hidden
37
- * @attr {boolean} [hide-error=false] - Whether the error message is hidden
36
+ * @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
37
+ * @prop {boolean} [invalid=false] - Shows the field as invalid without any message, for an error displayed elsewhere
38
+ * @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
39
+ * @attr {boolean} [hide-error=false] - Whether the error message is hidden. The hint stays visible
38
40
  * @prop {boolean} [required=false] - Whether a selection is required
39
41
  * @prop {string} name - The name of the field
40
42
  * @prop {string} value - The value submitted with the card
@@ -55,6 +57,8 @@ export const EunomiaRadioCardTagName = "eun-radio-card";
55
57
  * @cssprop [--radio-card-border-width] - Sets the width of the border
56
58
  * @cssprop [--radio-card-border-radius] - Sets the corner radius of the card
57
59
  * @cssprop [--radio-card-padding] - Sets the padding inside the card
60
+ * @cssprop [--radio-card-padding-block] - Sets the vertical padding, as one length applied to both sides. Ignored when --radio-card-padding is set
61
+ * @cssprop [--radio-card-padding-inline] - Sets the horizontal padding, as one length applied to both sides. Ignored when --radio-card-padding is set
58
62
  * @cssprop [--radio-card-min-width] - Sets the minimum width of the card
59
63
  * @cssprop [--radio-card-icon-color] - Sets the color of the leading icon while not checked
60
64
  * @cssprop [--radio-card-icon-color-checked] - Sets the color of the leading icon while checked
@@ -14,6 +14,8 @@ import { css } from "lit";
14
14
  * [--radio-card-border-width] - Set a custom border width
15
15
  * [--radio-card-border-radius] - Set a custom border radius to the card
16
16
  * [--radio-card-padding] - Set a custom padding inside the card
17
+ * [--radio-card-padding-block] - Set a custom vertical padding, as one length applied to both sides. Ignored when --radio-card-padding is set
18
+ * [--radio-card-padding-inline] - Set a custom horizontal padding, as one length applied to both sides. Ignored when --radio-card-padding is set
17
19
  * [--radio-card-min-width] - Set a custom minimum width for the card
18
20
  * [--radio-card-icon-color] - Set a custom color to the leading icon when not checked
19
21
  * [--radio-card-icon-color-checked] - Set a custom color to the leading icon when checked
@@ -28,7 +30,10 @@ const base = css `
28
30
  --radio-card-border-color,
29
31
  var(--eun-border-color, #dee0e7)
30
32
  );
31
- --_background: var(--radio-card-background, var(--eun-surface-color, #ffffff));
33
+ --_background: var(
34
+ --radio-card-background,
35
+ var(--eun-surface-color, #ffffff)
36
+ );
32
37
  --_errorColor: var(
33
38
  --radio-card-error-color,
34
39
  var(--eun-color-critical-100, #aa0014)
@@ -47,7 +52,11 @@ const base = css `
47
52
  var(--eun-color-primary-500, #3d6fff)
48
53
  );
49
54
  --_minWidth: var(--radio-card-min-width, 180px);
50
- --_padding: var(--radio-card-padding, var(--eun-space-m, 16px));
55
+ --_padding: var(
56
+ --radio-card-padding,
57
+ var(--radio-card-padding-block, var(--eun-space-m, 16px))
58
+ var(--radio-card-padding-inline, var(--eun-space-m, 16px))
59
+ );
51
60
  --_borderRadius: var(
52
61
  --radio-card-border-radius,
53
62
  var(--eun-border-radius-m, 10px)
@@ -64,7 +73,7 @@ const base = css `
64
73
  );
65
74
  --_background: var(
66
75
  --radio-card-background-checked,
67
- var(--eun-color-primary-bg-hover, rgba(18, 123, 185, 0.08))
76
+ var(--eun-color-primary-alpha-10, rgba(18, 123, 185, 0.08))
68
77
  );
69
78
  --_iconColor: var(
70
79
  --radio-card-icon-color-checked,
@@ -132,7 +141,7 @@ const base = css `
132
141
  box-sizing: border-box;
133
142
  border: 1px solid var(--_indicatorBorder);
134
143
  border-radius: 50%;
135
- transition: all 0.2s ease;
144
+ transition: all var(--eun-duration-m, 200ms) var(--eun-easing-default, ease);
136
145
  }
137
146
 
138
147
  #indicator::before {
@@ -141,7 +150,7 @@ const base = css `
141
150
  inset: var(--_indicatorGap);
142
151
  border-radius: 50%;
143
152
  background: var(--_indicatorDot);
144
- transition: all 0.2s ease;
153
+ transition: all var(--eun-duration-m, 200ms) var(--eun-easing-default, ease);
145
154
  }
146
155
  `;
147
156
  export const radioCardStyles = base;
@@ -32,13 +32,17 @@ declare const EunomiaRadioList_base: import("../../../utils/constructor.type.js"
32
32
  * @prop {boolean} [inline=false] - Whether the list's elements are displayed in a row
33
33
  * @prop {string} [defaultValue] - The value reselected when the list connects, and restored on form reset
34
34
  * @attr {string} [default-value] - The value reselected when the list connects, and restored on form reset
35
- * @prop {boolean} [hideError=false] - Whether the errors are hidden
36
- * @attr {boolean} [hide-error=false] - Whether the errors are hidden
35
+ * @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
36
+ * @prop {boolean} [invalid=false] - Shows the field as invalid without any message, for an error displayed elsewhere
37
+ * @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
38
+ * @attr {boolean} [hide-error=false] - Whether the errors are hidden. The hint stays visible
37
39
  * @prop {Array<import('../../../types/form-validators.type.js').Validators<string | undefined>>} validators - A list of validation rules applied to the group's selected value
38
40
  * @fires {ChangeEvent} eunchange - Fired whenever the group's selection changes
39
41
  * @cssprop [--radio-list-gap] - Sets the gap between the labels and the list
40
42
  * @cssprop [--radio-list-options-gap] - Sets the gap between the radios in the list
41
43
  * @cssprop [--radio-list-error-color] - Sets the color of the list's error state
44
+ * @cssprop [--field-label-font-size] - Sets the font size of the label
45
+ * @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
42
46
  * @element eun-radio-list
43
47
  */
44
48
  export declare class EunomiaRadioList extends EunomiaRadioList_base {
@@ -50,6 +54,11 @@ export declare class EunomiaRadioList extends EunomiaRadioList_base {
50
54
  * @readonly
51
55
  */
52
56
  static readonly styles: import("lit").CSSResult[];
57
+ /**
58
+ * Every change is a complete choice, so its error shows right away.
59
+ * @internal
60
+ */
61
+ errorOnChange: boolean;
53
62
  /**
54
63
  * Configuration options for the component Shadow DOM
55
64
  * @internal
@@ -107,8 +116,7 @@ export declare class EunomiaRadioList extends EunomiaRadioList_base {
107
116
  * Assigns `name`/`id` to every child, applies a `default-value` selection
108
117
  * once the slotted children actually exist (see `handleSlotChange` for
109
118
  * why this can't rely on `FormMixin`'s own `defaultValue` setter alone),
110
- * restores `aria-activedescendant` for a child checked directly in
111
- * markup, and sets up the initial roving `tabindex`.
119
+ * and sets up the initial roving `tabindex`.
112
120
  *
113
121
  * The roving `tabindex` is applied only once every child's own first
114
122
  * update has settled — each `eun-radio` is itself a `DisabledMixin` user,
@@ -127,6 +135,17 @@ export declare class EunomiaRadioList extends EunomiaRadioList_base {
127
135
  * Cleans up event listeners.
128
136
  */
129
137
  disconnectedCallback(): void;
138
+ /**
139
+ * Whether the group's own `disabled`/`readonly` changed in a way to pass
140
+ * on to every child : always once set, but not for the initial `false`,
141
+ * which would otherwise re-enable a child disabled on its own.
142
+ *
143
+ * @param changed - The changed properties of the update.
144
+ * @param name - The property to check.
145
+ * @returns true when the children should take the group's value.
146
+ * @private
147
+ */
148
+ private isGroupChange;
130
149
  /**
131
150
  * Lifecycle hook called whenever reactive properties change.
132
151
  * @param _changedProperties - Map of changed properties
@@ -152,8 +171,8 @@ export declare class EunomiaRadioList extends EunomiaRadioList_base {
152
171
  */
153
172
  private handleKeydown;
154
173
  /**
155
- * Applies the roving `tabindex` : the checked child (or the first one, if
156
- * none is checked yet) is the group's single tab stop, matching a native
174
+ * Applies the roving `tabindex` : the checked child (or the first enabled
175
+ * one, if none is checked yet) is the group's single tab stop, matching a native
157
176
  * `radiogroup`'s "one tab stop, arrows move focus" behavior.
158
177
  * @private
159
178
  */
@@ -167,7 +186,7 @@ export declare class EunomiaRadioList extends EunomiaRadioList_base {
167
186
  private readonly handleChangeEvent;
168
187
  /**
169
188
  * Checks the given child, unchecking every other one, updates the roving
170
- * `tabindex`/`aria-activedescendant`, and re-validates the group.
189
+ * `tabindex`, and re-validates the group.
171
190
  *
172
191
  * @param item the child to activate
173
192
  * @param focus whether to also move DOM focus onto it (arrow-key navigation)
@@ -187,8 +206,8 @@ export declare class EunomiaRadioList extends EunomiaRadioList_base {
187
206
  private sendChangeEvent;
188
207
  /**
189
208
  * Handler called when slot content changes.
190
- * Propagates the group `name` and assigns a stable `id` (needed for
191
- * `aria-activedescendant`) to every child radio.
209
+ * Propagates the group `name` and assigns a stable `id` to every child
210
+ * radio.
192
211
  *
193
212
  * @private
194
213
  */
@@ -5,10 +5,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { customElement, property, query } from "lit/decorators.js";
8
- import { html, LitElement } from "lit";
8
+ import { html, LitElement, nothing } from "lit";
9
9
  import { classMap } from "lit/directives/class-map.js";
10
+ import { ifDefined } from "lit/directives/if-defined.js";
10
11
  import { FormLabelMixin } from "../../../mixins/form-label.mixin.js";
11
- import { FormMixin } from "../../../mixins/form.mixin.js";
12
+ import { FormMixin, hasErrorDisplayChange, } from "../../../mixins/form.mixin.js";
12
13
  import { DisabledMixin } from "../../../mixins/disabled.mixin.js";
13
14
  import { ValidatorsMixin } from "../../../mixins/validators.mixin.js";
14
15
  import { ReadonlyMixin } from "../../../mixins/readonly.mixin.js";
@@ -80,18 +81,27 @@ const Base = DisabledMixin(ValidatorsMixin(LitElement));
80
81
  * @prop {boolean} [inline=false] - Whether the list's elements are displayed in a row
81
82
  * @prop {string} [defaultValue] - The value reselected when the list connects, and restored on form reset
82
83
  * @attr {string} [default-value] - The value reselected when the list connects, and restored on form reset
83
- * @prop {boolean} [hideError=false] - Whether the errors are hidden
84
- * @attr {boolean} [hide-error=false] - Whether the errors are hidden
84
+ * @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
85
+ * @prop {boolean} [invalid=false] - Shows the field as invalid without any message, for an error displayed elsewhere
86
+ * @prop {string} [error] - An error computed outside the field, by the form or by the server. While set, the field is invalid and shows this message right away
87
+ * @attr {boolean} [hide-error=false] - Whether the errors are hidden. The hint stays visible
85
88
  * @prop {Array<import('../../../types/form-validators.type.js').Validators<string | undefined>>} validators - A list of validation rules applied to the group's selected value
86
89
  * @fires {ChangeEvent} eunchange - Fired whenever the group's selection changes
87
90
  * @cssprop [--radio-list-gap] - Sets the gap between the labels and the list
88
91
  * @cssprop [--radio-list-options-gap] - Sets the gap between the radios in the list
89
92
  * @cssprop [--radio-list-error-color] - Sets the color of the list's error state
93
+ * @cssprop [--field-label-font-size] - Sets the font size of the label
94
+ * @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
90
95
  * @element eun-radio-list
91
96
  */
92
97
  let EunomiaRadioList = class EunomiaRadioList extends FormLabelMixin(ReadonlyMixin(FormMixin(Base))) {
93
98
  constructor() {
94
99
  super(...arguments);
100
+ /**
101
+ * Every change is a complete choice, so its error shows right away.
102
+ * @internal
103
+ */
104
+ this.errorOnChange = true;
95
105
  /**
96
106
  * Indicates whether the elements into the list should be displayed inline.
97
107
  * @default false
@@ -137,7 +147,7 @@ let EunomiaRadioList = class EunomiaRadioList extends FormLabelMixin(ReadonlyMix
137
147
  * Setter allowing to check the child whose value matches, unchecking every other.
138
148
  */
139
149
  set value(value) {
140
- this.updateComplete.then(() => {
150
+ void this.updateComplete.then(() => {
141
151
  this.fields.forEach((field) => {
142
152
  field.checked = field.value === value;
143
153
  });
@@ -166,8 +176,7 @@ let EunomiaRadioList = class EunomiaRadioList extends FormLabelMixin(ReadonlyMix
166
176
  * Assigns `name`/`id` to every child, applies a `default-value` selection
167
177
  * once the slotted children actually exist (see `handleSlotChange` for
168
178
  * why this can't rely on `FormMixin`'s own `defaultValue` setter alone),
169
- * restores `aria-activedescendant` for a child checked directly in
170
- * markup, and sets up the initial roving `tabindex`.
179
+ * and sets up the initial roving `tabindex`.
171
180
  *
172
181
  * The roving `tabindex` is applied only once every child's own first
173
182
  * update has settled — each `eun-radio` is itself a `DisabledMixin` user,
@@ -188,10 +197,7 @@ let EunomiaRadioList = class EunomiaRadioList extends FormLabelMixin(ReadonlyMix
188
197
  this.value = this.defaultValue;
189
198
  this.sendChangeEvent();
190
199
  }
191
- Promise.all(this.fields.map((field) => field.updateComplete)).then(() => {
192
- if (this.active && this.optionsList) {
193
- this.optionsList.setAttribute("aria-activedescendant", this.active.id);
194
- }
200
+ void Promise.all(this.fields.map((field) => field.updateComplete)).then(() => {
195
201
  this.setFocus();
196
202
  this.checkValidity(this.value);
197
203
  });
@@ -215,33 +221,44 @@ let EunomiaRadioList = class EunomiaRadioList extends FormLabelMixin(ReadonlyMix
215
221
  this.removeEventListener("keydown", this.handleKeydown);
216
222
  super.disconnectedCallback?.();
217
223
  }
224
+ /**
225
+ * Whether the group's own `disabled`/`readonly` changed in a way to pass
226
+ * on to every child : always once set, but not for the initial `false`,
227
+ * which would otherwise re-enable a child disabled on its own.
228
+ *
229
+ * @param changed - The changed properties of the update.
230
+ * @param name - The property to check.
231
+ * @returns true when the children should take the group's value.
232
+ * @private
233
+ */
234
+ isGroupChange(changed, name) {
235
+ return changed.has(name) && (this[name] || changed.get(name) !== undefined);
236
+ }
218
237
  /**
219
238
  * Lifecycle hook called whenever reactive properties change.
220
239
  * @param _changedProperties - Map of changed properties
221
240
  */
222
241
  updated(_changedProperties) {
223
242
  super.updated(_changedProperties);
224
- if (_changedProperties.has("disabled")) {
243
+ if (this.isGroupChange(_changedProperties, "disabled")) {
225
244
  this.fields.forEach((field) => {
226
245
  field.disabled = this.disabled;
227
246
  });
228
247
  this.setFocus();
229
248
  }
230
- if (_changedProperties.has("readonly")) {
249
+ if (this.isGroupChange(_changedProperties, "readonly")) {
231
250
  this.fields.forEach((field) => {
232
251
  field.readonly = this.readonly;
233
252
  });
234
253
  this.setFocus();
235
254
  }
236
- if (_changedProperties.has("valid") ||
237
- _changedProperties.has("hideError")) {
255
+ if (hasErrorDisplayChange(_changedProperties)) {
256
+ const { showError } = this;
238
257
  this.fields.forEach((field) => {
239
- field.valid = this.valid && !this.hideError;
258
+ field.valid = !showError;
259
+ field.validationRequested = showError;
240
260
  });
241
261
  }
242
- if (_changedProperties.has("label") && !this.hasAttribute("aria-label")) {
243
- this.setAttribute("aria-label", `${this.label}. ${this.instructions ?? ""}`);
244
- }
245
262
  if (_changedProperties.has("name")) {
246
263
  this.fields.forEach((field) => {
247
264
  field.name = this.name;
@@ -309,8 +326,8 @@ let EunomiaRadioList = class EunomiaRadioList extends FormLabelMixin(ReadonlyMix
309
326
  this.setActive(enabled[activeIndex], true);
310
327
  }
311
328
  /**
312
- * Applies the roving `tabindex` : the checked child (or the first one, if
313
- * none is checked yet) is the group's single tab stop, matching a native
329
+ * Applies the roving `tabindex` : the checked child (or the first enabled
330
+ * one, if none is checked yet) is the group's single tab stop, matching a native
314
331
  * `radiogroup`'s "one tab stop, arrows move focus" behavior.
315
332
  * @private
316
333
  */
@@ -324,14 +341,15 @@ let EunomiaRadioList = class EunomiaRadioList extends FormLabelMixin(ReadonlyMix
324
341
  if (this.readonly || this.disabled) {
325
342
  return;
326
343
  }
327
- const toFocus = this.active ?? this.fields[0];
344
+ const toFocus = this.active ??
345
+ this.fields.find((field) => !field.disabled && !field.readonly);
328
346
  if (toFocus && !toFocus.disabled && !toFocus.readonly) {
329
347
  toFocus.setAttribute("tabindex", "0");
330
348
  }
331
349
  }
332
350
  /**
333
351
  * Checks the given child, unchecking every other one, updates the roving
334
- * `tabindex`/`aria-activedescendant`, and re-validates the group.
352
+ * `tabindex`, and re-validates the group.
335
353
  *
336
354
  * @param item the child to activate
337
355
  * @param focus whether to also move DOM focus onto it (arrow-key navigation)
@@ -341,7 +359,6 @@ let EunomiaRadioList = class EunomiaRadioList extends FormLabelMixin(ReadonlyMix
341
359
  if (this.disabled || this.readonly || !item || !this.optionsList) {
342
360
  return;
343
361
  }
344
- this.optionsList.setAttribute("aria-activedescendant", item.id);
345
362
  if (focus) {
346
363
  item.focus();
347
364
  }
@@ -359,7 +376,7 @@ let EunomiaRadioList = class EunomiaRadioList extends FormLabelMixin(ReadonlyMix
359
376
  */
360
377
  formResetCallback() {
361
378
  super.formResetCallback?.();
362
- this.updateComplete.then(() => {
379
+ void this.updateComplete.then(() => {
363
380
  this.setFocus();
364
381
  this.sendChangeEvent();
365
382
  });
@@ -374,8 +391,8 @@ let EunomiaRadioList = class EunomiaRadioList extends FormLabelMixin(ReadonlyMix
374
391
  }
375
392
  /**
376
393
  * Handler called when slot content changes.
377
- * Propagates the group `name` and assigns a stable `id` (needed for
378
- * `aria-activedescendant`) to every child radio.
394
+ * Propagates the group `name` and assigns a stable `id` to every child
395
+ * radio.
379
396
  *
380
397
  * @private
381
398
  */
@@ -390,25 +407,37 @@ let EunomiaRadioList = class EunomiaRadioList extends FormLabelMixin(ReadonlyMix
390
407
  * @returns The rendered template
391
408
  */
392
409
  render() {
410
+ const description = this.renderDescription();
411
+ const describedBy = [
412
+ this.instructions ? "group-instructions" : "",
413
+ description === nothing ? "" : "description",
414
+ ]
415
+ .filter(Boolean)
416
+ .join(" ") || undefined;
393
417
  return html `
394
- <fieldset id="fieldset">
418
+ <fieldset id="fieldset" role="presentation">
395
419
  <div id="legend">${this.renderFormLabels("options")}</div>
420
+ ${this.instructions
421
+ ? html `<span id="group-instructions" hidden
422
+ >${this.instructions}</span
423
+ >`
424
+ : nothing}
396
425
  <div
397
426
  id="options"
398
427
  part="options"
399
428
  role="radiogroup"
400
429
  class=${classMap({ inline: this.inline })}
401
430
  ?disabled=${this.disabled}
402
- aria-labelledby="legend"
403
- aria-describedby="messages"
431
+ aria-label=${ifDefined(this.label)}
432
+ aria-describedby=${ifDefined(describedBy)}
404
433
  aria-disabled=${this.disabled ? "true" : "false"}
405
434
  aria-readonly=${this.readonly ? "true" : "false"}
406
435
  aria-required=${this.required ? "true" : "false"}
407
- aria-invalid=${!this.hideError && !this.disabled && !this.valid}
436
+ aria-invalid=${this.showError}
408
437
  >
409
438
  <slot @slotchange=${this.handleSlotChange}></slot>
410
439
  </div>
411
- ${this.renderDescription()}
440
+ ${description}
412
441
  </fieldset>
413
442
  `;
414
443
  }
@@ -33,8 +33,10 @@ declare const EunomiaRadioMixinBase: Constructor<EunomiaRadioBase>;
33
33
  * @attr {boolean} [default-checked] - The checked state applied when the radio connects, and restored on form reset
34
34
  * @prop {boolean} [disabled=false] - Whether the radio is disabled
35
35
  * @prop {boolean} [readonly=false] - Whether the radio is read only
36
- * @prop {boolean} [hideError=false] - Whether the error message is hidden
37
- * @attr {boolean} [hide-error=false] - Whether the error message is hidden
36
+ * @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
37
+ * @prop {boolean} [invalid=false] - Shows the field as invalid without any message, for an error displayed elsewhere
38
+ * @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
39
+ * @attr {boolean} [hide-error=false] - Whether the error message is hidden. The hint stays visible
38
40
  * @prop {boolean} [required=false] - Whether a selection is required
39
41
  * @prop {string} name - The name of the radio field
40
42
  * @prop {string} value - The value submitted with the radio
@@ -55,6 +57,8 @@ declare const EunomiaRadioMixinBase: Constructor<EunomiaRadioBase>;
55
57
  * @cssprop [--radio-error-color] - Sets the color of the error message
56
58
  * @cssprop [--radio-hint-color] - Sets the color of the hint message
57
59
  * @cssprop [--radio-size] - Sets the size of the radio
60
+ * @cssprop [--field-label-font-size] - Sets the font size of the label
61
+ * @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
58
62
  * @fires {ChangeEvent} eunchange - Fired when the radio's checked state changes
59
63
  * @element eun-radio
60
64
  */
@@ -36,8 +36,10 @@ const EunomiaRadioMixinBase = RadioMixin(ReadonlyMixin(FormMixin(DisabledMixin(V
36
36
  * @attr {boolean} [default-checked] - The checked state applied when the radio connects, and restored on form reset
37
37
  * @prop {boolean} [disabled=false] - Whether the radio is disabled
38
38
  * @prop {boolean} [readonly=false] - Whether the radio is read only
39
- * @prop {boolean} [hideError=false] - Whether the error message is hidden
40
- * @attr {boolean} [hide-error=false] - Whether the error message is hidden
39
+ * @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
40
+ * @prop {boolean} [invalid=false] - Shows the field as invalid without any message, for an error displayed elsewhere
41
+ * @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
42
+ * @attr {boolean} [hide-error=false] - Whether the error message is hidden. The hint stays visible
41
43
  * @prop {boolean} [required=false] - Whether a selection is required
42
44
  * @prop {string} name - The name of the radio field
43
45
  * @prop {string} value - The value submitted with the radio
@@ -58,6 +60,8 @@ const EunomiaRadioMixinBase = RadioMixin(ReadonlyMixin(FormMixin(DisabledMixin(V
58
60
  * @cssprop [--radio-error-color] - Sets the color of the error message
59
61
  * @cssprop [--radio-hint-color] - Sets the color of the hint message
60
62
  * @cssprop [--radio-size] - Sets the size of the radio
63
+ * @cssprop [--field-label-font-size] - Sets the font size of the label
64
+ * @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
61
65
  * @fires {ChangeEvent} eunchange - Fired when the radio's checked state changes
62
66
  * @element eun-radio
63
67
  */
@@ -35,14 +35,14 @@ const base = css `
35
35
  --_roundGap: 2px;
36
36
  --_cursor: pointer;
37
37
  font-family: var(--eun-font-family, "Mulish", sans-serif);
38
- font-size: var(--eun-font-size-s, 14px);
38
+ font-size: var(--field-label-font-size, var(--eun-font-size-s, 14px));
39
39
  display: inline-flex;
40
40
  align-items: center;
41
41
  outline: none;
42
42
  }
43
43
 
44
44
  :host #radio {
45
- transition: all 0.2s ease-out;
45
+ transition: all var(--eun-duration-m, 200ms) var(--eun-easing-out, ease-out);
46
46
  }
47
47
 
48
48
  :host(:focus-visible) #radio {
@@ -148,7 +148,7 @@ const base = css `
148
148
  border-radius: 50%;
149
149
  display: inline-block;
150
150
  box-sizing: border-box;
151
- transition: all 0.2s ease;
151
+ transition: all var(--eun-duration-m, 200ms) var(--eun-easing-default, ease);
152
152
  outline: 2px solid transparent;
153
153
  }
154
154
 
@@ -158,7 +158,7 @@ const base = css `
158
158
  inset: 0;
159
159
  border-radius: 50%;
160
160
  background: var(--_background);
161
- transition: all ease 0.2s;
161
+ transition: all var(--eun-easing-default, ease) var(--eun-duration-m, 200ms);
162
162
  top: var(--_roundGap);
163
163
  bottom: var(--_roundGap);
164
164
  left: var(--_roundGap);