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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (455) hide show
  1. package/README.md +1 -1
  2. package/dist/breakpoints.d.ts +37 -10
  3. package/dist/breakpoints.js +38 -10
  4. package/dist/cdn/components/chunks/{chunk-MMLIPCOY.js → chunk-22D3SRFR.js} +1 -1
  5. package/dist/cdn/components/chunks/{chunk-OW7XKDCH.js → chunk-2Y2EU2CI.js} +16 -16
  6. package/dist/cdn/components/chunks/{chunk-LFCXUVDO.js → chunk-4PI6RDUS.js} +1 -1
  7. package/dist/cdn/components/chunks/chunk-624VJYNA.js +1 -0
  8. package/dist/cdn/components/chunks/{chunk-5XJLIHAU.js → chunk-7KKWYPHY.js} +4 -2
  9. package/dist/cdn/components/chunks/chunk-A3X4KD2X.js +1 -0
  10. package/dist/cdn/components/chunks/chunk-BKZGTCMF.js +1 -0
  11. package/dist/cdn/components/chunks/{chunk-GW3VP2L7.js → chunk-BO3JOEWM.js} +1 -1
  12. package/dist/cdn/components/chunks/{chunk-EAKYD33D.js → chunk-BQFJR2UP.js} +4 -4
  13. package/dist/cdn/components/chunks/chunk-EUWUDCBZ.js +1 -0
  14. package/dist/cdn/components/chunks/{chunk-P32B7BFD.js → chunk-FF3I7C3C.js} +15 -15
  15. package/dist/cdn/components/chunks/{chunk-74AOAB4X.js → chunk-FOILAXLL.js} +6 -5
  16. package/dist/cdn/components/chunks/{chunk-E4IS25H7.js → chunk-G5SBDQQ3.js} +1 -1
  17. package/dist/cdn/components/chunks/{chunk-LGLQ36QB.js → chunk-GDBPWZN6.js} +1 -1
  18. package/dist/cdn/components/chunks/{chunk-S2UCEWNG.js → chunk-JYIIWN2P.js} +13 -11
  19. package/dist/cdn/components/chunks/{chunk-IDKZKLJR.js → chunk-KDN4O5W2.js} +24 -11
  20. package/dist/cdn/components/chunks/chunk-KSZRQRN4.js +1 -0
  21. package/dist/cdn/components/chunks/{chunk-PED5ATYN.js → chunk-L2ADCEN7.js} +1 -1
  22. package/dist/cdn/components/chunks/chunk-LMVW522V.js +1 -0
  23. package/dist/cdn/components/chunks/{chunk-5XJGYXW7.js → chunk-MOMYII3P.js} +1 -1
  24. package/dist/cdn/components/chunks/{chunk-2XASWWKR.js → chunk-MQQ4BGVJ.js} +5 -5
  25. package/dist/cdn/components/chunks/{chunk-A4EQSU36.js → chunk-O7PHBLH2.js} +1 -1
  26. package/dist/cdn/components/chunks/chunk-PD62MBOJ.js +1 -0
  27. package/dist/cdn/components/chunks/{chunk-KBH5PCUO.js → chunk-PE4DAXHQ.js} +1 -1
  28. package/dist/cdn/components/chunks/{chunk-6ETDXUH2.js → chunk-PMPSJG5V.js} +7 -7
  29. package/dist/cdn/components/chunks/{chunk-5EVP7YNE.js → chunk-PPCHQG7P.js} +1 -1
  30. package/dist/cdn/components/chunks/{chunk-AIS3UICU.js → chunk-QZ5SHR3I.js} +9 -5
  31. package/dist/cdn/components/chunks/{chunk-32DTNR52.js → chunk-RS7TWEMQ.js} +1 -1
  32. package/dist/cdn/components/chunks/chunk-SMTIDNGW.js +1 -0
  33. package/dist/cdn/components/chunks/{chunk-MPQP4R54.js → chunk-SZYEBMG6.js} +10 -9
  34. package/dist/cdn/components/chunks/{chunk-JRGM3W7I.js → chunk-UDVB4LAE.js} +5 -2
  35. package/dist/cdn/components/chunks/{chunk-L65WUTXM.js → chunk-UYZR4JXZ.js} +12 -7
  36. package/dist/cdn/components/chunks/chunk-VG6NAAIV.js +1 -0
  37. package/dist/cdn/components/chunks/chunk-VJCNHMQZ.js +10 -0
  38. package/dist/cdn/components/chunks/chunk-VOTRXBDS.js +38 -0
  39. package/dist/cdn/components/chunks/{chunk-DKOPI7QA.js → chunk-VYFR364B.js} +73 -63
  40. package/dist/cdn/components/chunks/{chunk-SD2WHGPF.js → chunk-XDPRWUKN.js} +1 -1
  41. package/dist/cdn/components/chunks/{chunk-XH6NREVZ.js → chunk-YITWLCD3.js} +1 -1
  42. package/dist/cdn/components/chunks/{chunk-BQHYZB2W.js → chunk-ZBN4HTWP.js} +1 -1
  43. package/dist/cdn/components/chunks/{chunk-NBIENHLV.js → chunk-ZKZV2YG5.js} +18 -18
  44. package/dist/cdn/components/eun-alert.js +24 -16
  45. package/dist/cdn/components/eun-animate.js +12 -8
  46. package/dist/cdn/components/eun-badge.js +1 -1
  47. package/dist/cdn/components/eun-breadcrumb.js +25 -41
  48. package/dist/cdn/components/eun-button.js +1 -1
  49. package/dist/cdn/components/eun-calendar.js +67 -65
  50. package/dist/cdn/components/eun-card.js +32 -17
  51. package/dist/cdn/components/eun-carousel.js +66 -35
  52. package/dist/cdn/components/eun-check-card.js +13 -6
  53. package/dist/cdn/components/eun-checkbox-list.js +4 -4
  54. package/dist/cdn/components/eun-checkbox.js +1 -1
  55. package/dist/cdn/components/eun-chip.js +1 -1
  56. package/dist/cdn/components/eun-collapse.js +56 -27
  57. package/dist/cdn/components/eun-color-picker.js +53 -52
  58. package/dist/cdn/components/eun-counter.js +9 -8
  59. package/dist/cdn/components/eun-date-picker.js +59 -56
  60. package/dist/cdn/components/eun-description-list.js +152 -0
  61. package/dist/cdn/components/eun-divider.js +1 -1
  62. package/dist/cdn/components/eun-drawer.js +32 -18
  63. package/dist/cdn/components/eun-dropdown-button.js +1 -1
  64. package/dist/cdn/components/eun-dropdown-item.js +6 -5
  65. package/dist/cdn/components/eun-fab.js +17 -16
  66. package/dist/cdn/components/eun-icon.js +1 -1
  67. package/dist/cdn/components/eun-image-card.js +79 -22
  68. package/dist/cdn/components/eun-image-carousel.js +92 -47
  69. package/dist/cdn/components/eun-infinite-list.js +23 -11
  70. package/dist/cdn/components/eun-input-file.js +14 -13
  71. package/dist/cdn/components/eun-input-phone.js +15 -15
  72. package/dist/cdn/components/eun-input.js +1 -1
  73. package/dist/cdn/components/eun-label.js +4 -4
  74. package/dist/cdn/components/eun-link.js +78 -29
  75. package/dist/cdn/components/eun-loader.js +1 -1
  76. package/dist/cdn/components/eun-modal.js +17 -10
  77. package/dist/cdn/components/eun-pagination.js +17 -12
  78. package/dist/cdn/components/eun-password-strength.js +6 -2
  79. package/dist/cdn/components/eun-progress-bar.js +13 -5
  80. package/dist/cdn/components/eun-radio-card.js +16 -9
  81. package/dist/cdn/components/eun-radio-list.js +4 -4
  82. package/dist/cdn/components/eun-radio.js +1 -1
  83. package/dist/cdn/components/eun-scheduler-event-editor.js +1 -1
  84. package/dist/cdn/components/eun-scheduler-event.js +1 -1
  85. package/dist/cdn/components/eun-scheduler.js +36 -36
  86. package/dist/cdn/components/eun-search.js +11 -10
  87. package/dist/cdn/components/eun-select.js +12 -11
  88. package/dist/cdn/components/eun-sidebar.js +34 -20
  89. package/dist/cdn/components/eun-skeleton.js +1 -1
  90. package/dist/cdn/components/eun-slider.js +15 -14
  91. package/dist/cdn/components/eun-sliding-card.js +8 -4
  92. package/dist/cdn/components/eun-step.js +17 -6
  93. package/dist/cdn/components/eun-stepper.js +17 -6
  94. package/dist/cdn/components/eun-switch.js +10 -8
  95. package/dist/cdn/components/eun-tab-group.js +22 -17
  96. package/dist/cdn/components/eun-tab-panel.js +11 -3
  97. package/dist/cdn/components/eun-tab.js +1 -1
  98. package/dist/cdn/components/eun-table-action-bar.js +1 -1
  99. package/dist/cdn/components/eun-table.js +572 -31
  100. package/dist/cdn/components/eun-tag.js +13 -7
  101. package/dist/cdn/components/eun-textarea.js +23 -23
  102. package/dist/cdn/components/eun-time-picker.js +17 -15
  103. package/dist/cdn/components/eun-toast.js +36 -16
  104. package/dist/cdn/components/eun-toggle-group.js +53 -34
  105. package/dist/cdn/components/eun-toggle-item.js +16 -15
  106. package/dist/cdn/components/eun-toggle.js +12 -10
  107. package/dist/cdn/components/eun-toolbar.js +62 -52
  108. package/dist/cdn/components/eun-tooltip.js +30 -14
  109. package/dist/cdn/styles/breakpoints.scss +8 -0
  110. package/dist/cdn/styles/eunomia-grid.scss +6 -0
  111. package/dist/cdn/styles/eunomia-themes.css +1 -1
  112. package/dist/cdn/styles/themes/eunomia-theme.css +1 -1
  113. package/dist/cdn/styles/themes/eunomia-theme.scss +4 -3
  114. package/dist/cdn/styles/themes/mixins/eunomia-a11y-color.mixin.scss +34 -1
  115. package/dist/cdn/styles/themes/mixins/eunomia-neutrals.mixin.scss +4 -0
  116. package/dist/cdn/styles/themes/mixins/eunomia-states.mixin.scss +36 -12
  117. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +10 -10
  118. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +10 -10
  119. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.css +1 -1
  120. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +3 -2
  121. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +10 -10
  122. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +10 -10
  123. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.css +1 -1
  124. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +3 -2
  125. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +10 -10
  126. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +10 -10
  127. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.css +1 -1
  128. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +3 -2
  129. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +10 -10
  130. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +10 -10
  131. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.css +1 -1
  132. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +3 -2
  133. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +10 -10
  134. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +10 -10
  135. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.css +1 -1
  136. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +3 -2
  137. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +10 -10
  138. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +10 -10
  139. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.css +1 -1
  140. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +3 -2
  141. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +10 -10
  142. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +10 -10
  143. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.css +1 -1
  144. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +3 -2
  145. package/dist/cdn/styles/tools/indexes/eunomia-media-queries.index.scss +1 -3
  146. package/dist/cdn/styles/tools/indexes/eunomia-tools.index.scss +1 -0
  147. package/dist/cdn/styles/tools/mixins/layout/eunomia-grid.mixin.scss +117 -53
  148. package/dist/cdn/styles/tools/mixins/media-queries/eunomia-media-queries.mixin.scss +69 -0
  149. package/dist/cdn/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +28 -4
  150. package/dist/cdn/styles/tools/mixins/settings/eunomia-motion.mixin.scss +9 -0
  151. package/dist/cdn/styles/tools/variables/eunomia.breakpoints.scss +4 -0
  152. package/dist/components/action/button/button.d.ts +7 -2
  153. package/dist/components/action/button/button.js +7 -2
  154. package/dist/components/action/button/button.styles.js +51 -36
  155. package/dist/components/action/dropdown-button/dropdown-button.d.ts +2 -2
  156. package/dist/components/action/dropdown-button/dropdown-button.js +11 -10
  157. package/dist/components/action/dropdown-button/dropdown-button.styles.js +3 -2
  158. package/dist/components/action/dropdown-button/dropdown-item.js +5 -6
  159. package/dist/components/action/dropdown-button/dropdown-item.styles.js +3 -2
  160. package/dist/components/action/fab/fab.styles.js +14 -13
  161. package/dist/components/action/link/link.d.ts +7 -3
  162. package/dist/components/action/link/link.js +11 -7
  163. package/dist/components/action/link/link.styles.js +66 -15
  164. package/dist/components/action/shared-styles/button-palette.styles.js +15 -15
  165. package/dist/components/action/toggle/toggle-group.d.ts +2 -0
  166. package/dist/components/action/toggle/toggle-group.js +5 -3
  167. package/dist/components/action/toggle/toggle-group.styles.d.ts +2 -0
  168. package/dist/components/action/toggle/toggle-group.styles.js +42 -21
  169. package/dist/components/action/toggle/toggle-item.styles.js +13 -12
  170. package/dist/components/action/toggle/toggle.d.ts +2 -0
  171. package/dist/components/action/toggle/toggle.js +2 -0
  172. package/dist/components/action/toggle/toggle.styles.d.ts +2 -0
  173. package/dist/components/action/toggle/toggle.styles.js +12 -8
  174. package/dist/components/alert/alert/alert.d.ts +2 -0
  175. package/dist/components/alert/alert/alert.js +2 -0
  176. package/dist/components/alert/alert/alert.styles.js +23 -13
  177. package/dist/components/alert/drawer/drawer.d.ts +3 -1
  178. package/dist/components/alert/drawer/drawer.js +4 -2
  179. package/dist/components/alert/drawer/drawer.styles.js +25 -9
  180. package/dist/components/alert/modal/modal.d.ts +3 -1
  181. package/dist/components/alert/modal/modal.js +4 -2
  182. package/dist/components/alert/modal/modal.styles.js +16 -7
  183. package/dist/components/alert/toast/toast.d.ts +2 -0
  184. package/dist/components/alert/toast/toast.js +2 -0
  185. package/dist/components/alert/toast/toast.styles.js +37 -15
  186. package/dist/components/content/card/card.d.ts +7 -3
  187. package/dist/components/content/card/card.js +7 -3
  188. package/dist/components/content/card/card.styles.js +26 -11
  189. package/dist/components/content/card/image-card.d.ts +60 -6
  190. package/dist/components/content/card/image-card.js +120 -11
  191. package/dist/components/content/card/image-card.styles.js +66 -15
  192. package/dist/components/content/card/sliding-card.d.ts +2 -0
  193. package/dist/components/content/card/sliding-card.js +2 -0
  194. package/dist/components/content/card/sliding-card.styles.js +5 -1
  195. package/dist/components/content/collapse/collapse.d.ts +10 -1
  196. package/dist/components/content/collapse/collapse.js +12 -2
  197. package/dist/components/content/collapse/collapse.styles.d.ts +10 -1
  198. package/dist/components/content/collapse/collapse.styles.js +56 -18
  199. package/dist/components/content/description-list/description-list.d.ts +87 -0
  200. package/dist/components/content/description-list/description-list.js +107 -0
  201. package/dist/components/content/description-list/description-list.styles.d.ts +1 -0
  202. package/dist/components/content/description-list/description-list.styles.js +185 -0
  203. package/dist/components/content/icon/icon.d.ts +2 -0
  204. package/dist/components/content/icon/icon.js +2 -0
  205. package/dist/components/content/icon/icon.style.js +4 -1
  206. package/dist/components/content/image-carousel/image-carousel.d.ts +30 -19
  207. package/dist/components/content/image-carousel/image-carousel.js +48 -45
  208. package/dist/components/content/image-carousel/image-carousel.styles.js +69 -30
  209. package/dist/components/content/password-strength/password-strength.styles.js +5 -1
  210. package/dist/components/content/progress-bar/progress-bar.styles.js +12 -4
  211. package/dist/components/content/shared-styles/card-link.styles.js +4 -3
  212. package/dist/components/content/shared-styles/tone-surface.styles.d.ts +5 -0
  213. package/dist/components/content/shared-styles/tone-surface.styles.js +19 -14
  214. package/dist/components/content/tag/tag.d.ts +4 -0
  215. package/dist/components/content/tag/tag.js +4 -0
  216. package/dist/components/content/tag/tag.styles.js +14 -4
  217. package/dist/components/content/tooltip/tooltip.d.ts +3 -2
  218. package/dist/components/content/tooltip/tooltip.js +9 -16
  219. package/dist/components/content/tooltip/tooltip.styles.js +25 -7
  220. package/dist/components/form/checkbox/check-card.d.ts +4 -1
  221. package/dist/components/form/checkbox/check-card.js +4 -1
  222. package/dist/components/form/checkbox/check-card.styles.js +13 -4
  223. package/dist/components/form/checkbox/checkbox-list.d.ts +4 -1
  224. package/dist/components/form/checkbox/checkbox-list.js +11 -7
  225. package/dist/components/form/checkbox/checkbox.d.ts +4 -1
  226. package/dist/components/form/checkbox/checkbox.js +4 -1
  227. package/dist/components/form/checkbox/checkbox.styles.js +2 -2
  228. package/dist/components/form/color-picker/color-picker.d.ts +7 -1
  229. package/dist/components/form/color-picker/color-picker.js +19 -21
  230. package/dist/components/form/color-picker/color-picker.styles.js +6 -5
  231. package/dist/components/form/counter/counter.d.ts +4 -1
  232. package/dist/components/form/counter/counter.js +5 -2
  233. package/dist/components/form/counter/counter.styles.js +5 -4
  234. package/dist/components/form/date-picker/date-picker.d.ts +37 -33
  235. package/dist/components/form/date-picker/date-picker.js +32 -42
  236. package/dist/components/form/date-picker/date-picker.styles.js +8 -5
  237. package/dist/components/form/input/input.d.ts +7 -1
  238. package/dist/components/form/input/input.js +8 -2
  239. package/dist/components/form/input-file/input-file.d.ts +4 -1
  240. package/dist/components/form/input-file/input-file.js +8 -5
  241. package/dist/components/form/input-file/input-file.styles.js +3 -2
  242. package/dist/components/form/input-phone/input-phone.d.ts +8 -2
  243. package/dist/components/form/input-phone/input-phone.js +13 -17
  244. package/dist/components/form/input-phone/input-phone.styles.js +4 -4
  245. package/dist/components/form/label/label.styles.js +3 -3
  246. package/dist/components/form/radio/radio-card.d.ts +5 -2
  247. package/dist/components/form/radio/radio-card.js +5 -2
  248. package/dist/components/form/radio/radio-card.styles.js +14 -5
  249. package/dist/components/form/radio/radio-list.d.ts +5 -2
  250. package/dist/components/form/radio/radio-list.js +14 -10
  251. package/dist/components/form/radio/radio.d.ts +5 -2
  252. package/dist/components/form/radio/radio.js +5 -2
  253. package/dist/components/form/radio/radio.styles.js +4 -4
  254. package/dist/components/form/search/search.d.ts +2 -1
  255. package/dist/components/form/search/search.js +6 -15
  256. package/dist/components/form/search/search.styles.js +5 -4
  257. package/dist/components/form/select/select.d.ts +9 -2
  258. package/dist/components/form/select/select.js +15 -18
  259. package/dist/components/form/select/select.styles.js +3 -2
  260. package/dist/components/form/shared-styles/card.styles.js +5 -4
  261. package/dist/components/form/shared-styles/field.styles.js +16 -6
  262. package/dist/components/form/shared-styles/form-labels.styles.js +1 -1
  263. package/dist/components/form/slider/slider.d.ts +4 -1
  264. package/dist/components/form/slider/slider.js +5 -2
  265. package/dist/components/form/slider/slider.styles.js +8 -7
  266. package/dist/components/form/switch/switch.d.ts +4 -1
  267. package/dist/components/form/switch/switch.js +4 -1
  268. package/dist/components/form/switch/switch.styles.js +7 -5
  269. package/dist/components/form/textarea/textarea.d.ts +7 -1
  270. package/dist/components/form/textarea/textarea.js +14 -8
  271. package/dist/components/form/time-picker/time-picker-columns.styles.js +4 -2
  272. package/dist/components/form/time-picker/time-picker-list.styles.js +2 -1
  273. package/dist/components/form/time-picker/time-picker.d.ts +6 -2
  274. package/dist/components/form/time-picker/time-picker.js +22 -26
  275. package/dist/components/form/time-picker/time-picker.styles.js +4 -3
  276. package/dist/components/layout/animate/animate.d.ts +37 -15
  277. package/dist/components/layout/animate/animate.js +35 -15
  278. package/dist/components/layout/animate/animate.styles.js +9 -16
  279. package/dist/components/layout/infinite-list/infinite-list.d.ts +33 -10
  280. package/dist/components/layout/infinite-list/infinite-list.js +115 -18
  281. package/dist/components/layout/infinite-list/infinite-list.styles.d.ts +3 -0
  282. package/dist/components/layout/infinite-list/infinite-list.styles.js +17 -5
  283. package/dist/components/loader/loader/loader.styles.js +3 -1
  284. package/dist/components/navigation/breadcrumb/breadcrumb.d.ts +31 -45
  285. package/dist/components/navigation/breadcrumb/breadcrumb.js +111 -77
  286. package/dist/components/navigation/breadcrumb/breadcrumb.styles.d.ts +3 -0
  287. package/dist/components/navigation/breadcrumb/breadcrumb.styles.js +22 -26
  288. package/dist/components/navigation/carousel/carousel.d.ts +30 -10
  289. package/dist/components/navigation/carousel/carousel.js +37 -18
  290. package/dist/components/navigation/carousel/carousel.styles.js +60 -20
  291. package/dist/components/navigation/pagination/pagination.styles.js +8 -3
  292. package/dist/components/navigation/sidebar/sidebar.d.ts +2 -0
  293. package/dist/components/navigation/sidebar/sidebar.js +2 -0
  294. package/dist/components/navigation/sidebar/sidebar.styles.js +27 -11
  295. package/dist/components/navigation/stepper/step.styles.js +16 -5
  296. package/dist/components/navigation/stepper/stepper.styles.js +16 -5
  297. package/dist/components/navigation/tabs/tab/tab.d.ts +11 -0
  298. package/dist/components/navigation/tabs/tab/tab.js +11 -0
  299. package/dist/components/navigation/tabs/tab/tab.styles.js +22 -16
  300. package/dist/components/navigation/tabs/tab-group/tab-group.js +7 -8
  301. package/dist/components/navigation/tabs/tab-group/tab-group.styles.js +19 -14
  302. package/dist/components/navigation/tabs/tab-panel/tab-panel.d.ts +4 -0
  303. package/dist/components/navigation/tabs/tab-panel/tab-panel.js +4 -0
  304. package/dist/components/navigation/tabs/tab-panel/tab-panel.styles.js +18 -1
  305. package/dist/components/navigation/toolbar/toolbar.d.ts +17 -49
  306. package/dist/components/navigation/toolbar/toolbar.js +23 -71
  307. package/dist/components/navigation/toolbar/toolbar.styles.js +59 -36
  308. package/dist/events/table-row-click.event.d.ts +5 -4
  309. package/dist/events/table-row-click.event.js +10 -5
  310. package/dist/features/scheduler/calendar/calendar.d.ts +6 -6
  311. package/dist/features/scheduler/calendar/calendar.js +6 -5
  312. package/dist/features/scheduler/calendar/calendar.styles.js +8 -6
  313. package/dist/features/scheduler/scheduler/scheduler.d.ts +1 -1
  314. package/dist/features/scheduler/scheduler/scheduler.js +9 -23
  315. package/dist/features/scheduler/scheduler/scheduler.styles.js +6 -4
  316. package/dist/features/scheduler/scheduler-event/scheduler-event.d.ts +2 -0
  317. package/dist/features/scheduler/scheduler-event/scheduler-event.js +2 -0
  318. package/dist/features/scheduler/scheduler-event/scheduler-event.styles.js +10 -4
  319. package/dist/features/scheduler/shared/scheduler-hour-grid.styles.js +3 -3
  320. package/dist/features/scheduler/shared/scheduler-month-view.styles.js +2 -2
  321. package/dist/features/scheduler/shared/scheduler-year-view.styles.js +2 -2
  322. package/dist/features/table/table/table-native.styles.d.ts +28 -0
  323. package/dist/features/table/table/table-native.styles.js +502 -0
  324. package/dist/features/table/table/table.d.ts +342 -294
  325. package/dist/features/table/table/table.js +820 -546
  326. package/dist/features/table/table/table.styles.js +31 -17
  327. package/dist/features/table/table/table.types.d.ts +11 -20
  328. package/dist/features/table/table/table.utils.d.ts +6 -36
  329. package/dist/features/table/table/table.utils.js +16 -65
  330. package/dist/features/table/table-action-bar/table-action-bar.d.ts +33 -16
  331. package/dist/features/table/table-action-bar/table-action-bar.js +15 -22
  332. package/dist/features/table/table-action-bar/table-action-bar.styles.js +15 -3
  333. package/dist/i18n/en.d.ts +31 -0
  334. package/dist/i18n/en.js +31 -0
  335. package/dist/i18n/fr.js +35 -0
  336. package/dist/index.d.ts +4 -10
  337. package/dist/index.js +6 -10
  338. package/dist/mixins/check.mixin.js +4 -5
  339. package/dist/mixins/form.mixin.d.ts +17 -1
  340. package/dist/mixins/form.mixin.js +80 -25
  341. package/dist/mixins/radio.mixin.js +4 -5
  342. package/dist/mixins/validators.mixin.d.ts +7 -1
  343. package/dist/mixins/validators.mixin.js +36 -17
  344. package/dist/ssr/animate-ssr.css +3 -2
  345. package/dist/ssr/button-ssr.css +319 -0
  346. package/dist/ssr/card-ssr.css +184 -0
  347. package/dist/ssr/description-list-ssr.css +150 -0
  348. package/dist/ssr/links-ssr.css +1 -1
  349. package/dist/ssr/table-ssr.css +472 -0
  350. package/dist/ssr/tag-ssr.css +197 -0
  351. package/dist/ssr/toolbar-ssr.css +5 -1
  352. package/dist/utils/drag-drop.utils.js +18 -2
  353. package/dist/utils/dropdown-menu.utils.d.ts +2 -2
  354. package/dist/utils/dropdown-menu.utils.js +4 -14
  355. package/dist/utils/light-dom-styles.utils.d.ts +14 -0
  356. package/dist/utils/light-dom-styles.utils.js +37 -0
  357. package/dist/utils/media.styles.d.ts +19 -0
  358. package/dist/utils/media.styles.js +23 -0
  359. package/dist/utils/motion.utils.d.ts +40 -0
  360. package/dist/utils/motion.utils.js +51 -0
  361. package/dist/utils/theme-generator.utils.d.ts +6 -1
  362. package/dist/utils/theme-generator.utils.js +59 -20
  363. package/package.json +17 -28
  364. package/styles/breakpoints.scss +8 -0
  365. package/styles/eunomia-grid.scss +6 -0
  366. package/styles/themes/eunomia-theme.scss +4 -3
  367. package/styles/themes/mixins/eunomia-a11y-color.mixin.scss +34 -1
  368. package/styles/themes/mixins/eunomia-neutrals.mixin.scss +4 -0
  369. package/styles/themes/mixins/eunomia-states.mixin.scss +36 -12
  370. package/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +10 -10
  371. package/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +10 -10
  372. package/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +3 -2
  373. package/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +10 -10
  374. package/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +10 -10
  375. package/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +3 -2
  376. package/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +10 -10
  377. package/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +10 -10
  378. package/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +3 -2
  379. package/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +10 -10
  380. package/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +10 -10
  381. package/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +3 -2
  382. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +10 -10
  383. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +10 -10
  384. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +3 -2
  385. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +10 -10
  386. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +10 -10
  387. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +3 -2
  388. package/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +10 -10
  389. package/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +10 -10
  390. package/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +3 -2
  391. package/styles/tools/indexes/eunomia-media-queries.index.scss +1 -3
  392. package/styles/tools/indexes/eunomia-tools.index.scss +1 -0
  393. package/styles/tools/mixins/layout/eunomia-grid.mixin.scss +117 -53
  394. package/styles/tools/mixins/media-queries/eunomia-media-queries.mixin.scss +69 -0
  395. package/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +28 -4
  396. package/styles/tools/mixins/settings/eunomia-motion.mixin.scss +9 -0
  397. package/styles/tools/variables/eunomia.breakpoints.scss +4 -0
  398. package/dist/cdn/components/chunks/chunk-A6KGFALA.js +0 -132
  399. package/dist/cdn/components/chunks/chunk-CEDHJUUH.js +0 -1
  400. package/dist/cdn/components/chunks/chunk-D2M4BV5Y.js +0 -328
  401. package/dist/cdn/components/chunks/chunk-E74CM7UG.js +0 -66
  402. package/dist/cdn/components/chunks/chunk-EST3M4AO.js +0 -1
  403. package/dist/cdn/components/chunks/chunk-GU6BVMFJ.js +0 -1
  404. package/dist/cdn/components/chunks/chunk-KVYUNKUO.js +0 -27
  405. package/dist/cdn/components/chunks/chunk-OAULRKHQ.js +0 -38
  406. package/dist/cdn/components/chunks/chunk-PCM7D3YF.js +0 -84
  407. package/dist/cdn/components/chunks/chunk-SJWRE6PW.js +0 -1
  408. package/dist/cdn/components/chunks/chunk-T4PTHUYF.js +0 -10
  409. package/dist/cdn/components/chunks/chunk-VRGRCYIO.js +0 -1
  410. package/dist/cdn/components/chunks/chunk-X2AUBZD2.js +0 -30
  411. package/dist/cdn/components/eun-breadcrumb-item.js +0 -93
  412. package/dist/cdn/components/eun-table-cell.js +0 -1
  413. package/dist/cdn/components/eun-table-column.js +0 -1
  414. package/dist/cdn/components/eun-table-header.js +0 -1
  415. package/dist/cdn/components/eun-table-item.js +0 -1
  416. package/dist/cdn/components/eun-table-skeleton-row.js +0 -1
  417. package/dist/cdn/styles/tools/mixins/media-queries/eunomia-device.mixin.scss +0 -14
  418. package/dist/cdn/styles/tools/mixins/media-queries/eunomia-gte.mixin.scss +0 -26
  419. package/dist/cdn/styles/tools/mixins/media-queries/eunomia-lte.mixin.scss +0 -26
  420. package/dist/components/navigation/breadcrumb/breadcrumb-item.d.ts +0 -77
  421. package/dist/components/navigation/breadcrumb/breadcrumb-item.js +0 -130
  422. package/dist/components/navigation/breadcrumb/breadcrumb-item.styles.d.ts +0 -6
  423. package/dist/components/navigation/breadcrumb/breadcrumb-item.styles.js +0 -78
  424. package/dist/features/table/native-table.css +0 -276
  425. package/dist/features/table/shared-styles/table-row.styles.d.ts +0 -7
  426. package/dist/features/table/shared-styles/table-row.styles.js +0 -47
  427. package/dist/features/table/shared-styles/table-shared.styles.d.ts +0 -23
  428. package/dist/features/table/shared-styles/table-shared.styles.js +0 -33
  429. package/dist/features/table/table-cell/table-cell.d.ts +0 -59
  430. package/dist/features/table/table-cell/table-cell.js +0 -73
  431. package/dist/features/table/table-cell/table-cell.styles.d.ts +0 -1
  432. package/dist/features/table/table-cell/table-cell.styles.js +0 -46
  433. package/dist/features/table/table-column/table-column.d.ts +0 -73
  434. package/dist/features/table/table-column/table-column.js +0 -89
  435. package/dist/features/table/table-column/table-column.styles.d.ts +0 -1
  436. package/dist/features/table/table-column/table-column.styles.js +0 -51
  437. package/dist/features/table/table-header/table-header.d.ts +0 -102
  438. package/dist/features/table/table-header/table-header.js +0 -165
  439. package/dist/features/table/table-header/table-header.styles.d.ts +0 -1
  440. package/dist/features/table/table-header/table-header.styles.js +0 -147
  441. package/dist/features/table/table-item/table-item.d.ts +0 -179
  442. package/dist/features/table/table-item/table-item.js +0 -291
  443. package/dist/features/table/table-item/table-item.styles.d.ts +0 -1
  444. package/dist/features/table/table-item/table-item.styles.js +0 -404
  445. package/dist/features/table/table-managed/table-managed.d.ts +0 -19
  446. package/dist/features/table/table-managed/table-managed.js +0 -128
  447. package/dist/features/table/table-skeleton-row/table-skeleton-row.d.ts +0 -46
  448. package/dist/features/table/table-skeleton-row/table-skeleton-row.js +0 -110
  449. package/dist/features/table/table-skeleton-row/table-skeleton-row.styles.d.ts +0 -12
  450. package/dist/features/table/table-skeleton-row/table-skeleton-row.styles.js +0 -65
  451. package/dist/mixins/table-row.mixin.d.ts +0 -37
  452. package/dist/mixins/table-row.mixin.js +0 -103
  453. package/styles/tools/mixins/media-queries/eunomia-device.mixin.scss +0 -14
  454. package/styles/tools/mixins/media-queries/eunomia-gte.mixin.scss +0 -26
  455. package/styles/tools/mixins/media-queries/eunomia-lte.mixin.scss +0 -26
@@ -54,7 +54,8 @@ declare const EunomiaInputPhoneMixinBase: Constructor<EunomiaInputPhoneBase>;
54
54
  * @prop {boolean} [disabled=false] - Whether the field is disabled
55
55
  * @prop {boolean} [readonly=false] - Whether the field is read only
56
56
  * @prop {boolean} [required=false] - Whether the field is required
57
- * @prop {boolean} [hideError=false] - Whether the errors are hidden
57
+ * @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
58
+ * @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
58
59
  * @prop {Array<Validators<string>>} validators - The list of validation rules applied to the field value
59
60
  * @prop {string} [placeholder] - The placeholder shown when the field is empty. Defaults to a generic formatted digit pattern, not a real per-country example, when unset
60
61
  * @prop {string} [countrySearchPlaceholder='Search a country…'] - The placeholder of the search field inside the country dropdown
@@ -70,6 +71,8 @@ declare const EunomiaInputPhoneMixinBase: Constructor<EunomiaInputPhoneBase>;
70
71
  * @cssprop [--field-border-color-focus] - Sets the border color on focus
71
72
  * @cssprop [--field-border-radius] - Sets the corner radius of the field
72
73
  * @cssprop [--field-padding] - Sets the padding of the field
74
+ * @cssprop [--field-padding-block] - Sets the vertical padding, as one length applied to both sides. Ignored when --field-padding is set
75
+ * @cssprop [--field-padding-inline] - Sets the horizontal padding, as one length applied to both sides. Ignored when --field-padding is set
73
76
  * @cssprop [--field-text-color] - Sets the text color of the field
74
77
  * @cssprop [--field-placeholder-color] - Sets the color of the placeholder
75
78
  * @cssprop [--field-icon-color] - Sets the color of the country selector button
@@ -80,6 +83,9 @@ declare const EunomiaInputPhoneMixinBase: Constructor<EunomiaInputPhoneBase>;
80
83
  * @cssprop [--field-listbox-transition-duration=200ms] - Sets the duration of the dropdown panel's open and close height transition, disabled entirely under reduced motion settings
81
84
  * @cssprop [--eun-viewport-inset-top] - Reserves space, such as a page's sticky header height, that the dropdown panel keeps clear of at the top of the viewport. Set on the root or an ancestor rather than on the field itself
82
85
  * @cssprop [--eun-viewport-inset-bottom] - The same as eun-viewport-inset-top, reserved at the bottom of the viewport, such as for a sticky footer
86
+ * @cssprop [--field-font-size] - Sets the font size of the field's value and placeholder
87
+ * @cssprop [--field-label-font-size] - Sets the font size of the label
88
+ * @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
83
89
  * @element eun-input-phone
84
90
  */
85
91
  export declare class EunomiaInputPhone extends EunomiaInputPhoneMixinBase {
@@ -290,7 +296,7 @@ export declare class EunomiaInputPhone extends EunomiaInputPhoneMixinBase {
290
296
  /**
291
297
  * The listbox's open/close animation duration, in ms : `0` under
292
298
  * `prefers-reduced-motion: reduce`, otherwise `--field-listbox-
293
- * transition-duration` (default `200ms`) — same custom property
299
+ * transition-duration` (default `--eun-duration-m`) — same custom property
294
300
  * `eun-select`/`eun-search` share.
295
301
  *
296
302
  * @param el the listbox to read `--field-listbox-transition-duration` off.
@@ -20,6 +20,7 @@ import { formLabelsStyles } from "../shared-styles/form-labels.styles.js";
20
20
  import { inputPhoneStyles } from "./input-phone.styles.js";
21
21
  import { isWebKit } from "../../../utils/browser.utils.js";
22
22
  import { COUNTRY_DIAL_CODES, formatNationalNumber, fromE164, getCountryName, getDialCode, getNationalLength, stripTrunkPrefix, getFlagEmoji, toE164, } from "./input-phone.type.js";
23
+ import { resolveDurationMs, resolveEasing, } from "../../../utils/motion.utils.js";
23
24
  /**
24
25
  * Tag name of the phone input component.
25
26
  */
@@ -99,7 +100,8 @@ const EunomiaInputPhoneMixinBase = AnchorPositionMixin(FieldAppearanceMixin(Form
99
100
  * @prop {boolean} [disabled=false] - Whether the field is disabled
100
101
  * @prop {boolean} [readonly=false] - Whether the field is read only
101
102
  * @prop {boolean} [required=false] - Whether the field is required
102
- * @prop {boolean} [hideError=false] - Whether the errors are hidden
103
+ * @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
104
+ * @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
103
105
  * @prop {Array<Validators<string>>} validators - The list of validation rules applied to the field value
104
106
  * @prop {string} [placeholder] - The placeholder shown when the field is empty. Defaults to a generic formatted digit pattern, not a real per-country example, when unset
105
107
  * @prop {string} [countrySearchPlaceholder='Search a country…'] - The placeholder of the search field inside the country dropdown
@@ -115,6 +117,8 @@ const EunomiaInputPhoneMixinBase = AnchorPositionMixin(FieldAppearanceMixin(Form
115
117
  * @cssprop [--field-border-color-focus] - Sets the border color on focus
116
118
  * @cssprop [--field-border-radius] - Sets the corner radius of the field
117
119
  * @cssprop [--field-padding] - Sets the padding of the field
120
+ * @cssprop [--field-padding-block] - Sets the vertical padding, as one length applied to both sides. Ignored when --field-padding is set
121
+ * @cssprop [--field-padding-inline] - Sets the horizontal padding, as one length applied to both sides. Ignored when --field-padding is set
118
122
  * @cssprop [--field-text-color] - Sets the text color of the field
119
123
  * @cssprop [--field-placeholder-color] - Sets the color of the placeholder
120
124
  * @cssprop [--field-icon-color] - Sets the color of the country selector button
@@ -125,6 +129,9 @@ const EunomiaInputPhoneMixinBase = AnchorPositionMixin(FieldAppearanceMixin(Form
125
129
  * @cssprop [--field-listbox-transition-duration=200ms] - Sets the duration of the dropdown panel's open and close height transition, disabled entirely under reduced motion settings
126
130
  * @cssprop [--eun-viewport-inset-top] - Reserves space, such as a page's sticky header height, that the dropdown panel keeps clear of at the top of the viewport. Set on the root or an ancestor rather than on the field itself
127
131
  * @cssprop [--eun-viewport-inset-bottom] - The same as eun-viewport-inset-top, reserved at the bottom of the viewport, such as for a sticky footer
132
+ * @cssprop [--field-font-size] - Sets the font size of the field's value and placeholder
133
+ * @cssprop [--field-label-font-size] - Sets the font size of the label
134
+ * @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
128
135
  * @element eun-input-phone
129
136
  */
130
137
  let EunomiaInputPhone = EunomiaInputPhone_1 = class EunomiaInputPhone extends EunomiaInputPhoneMixinBase {
@@ -382,7 +389,7 @@ let EunomiaInputPhone = EunomiaInputPhone_1 = class EunomiaInputPhone extends Eu
382
389
  /**
383
390
  * The listbox's open/close animation duration, in ms : `0` under
384
391
  * `prefers-reduced-motion: reduce`, otherwise `--field-listbox-
385
- * transition-duration` (default `200ms`) — same custom property
392
+ * transition-duration` (default `--eun-duration-m`) — same custom property
386
393
  * `eun-select`/`eun-search` share.
387
394
  *
388
395
  * @param el the listbox to read `--field-listbox-transition-duration` off.
@@ -392,18 +399,7 @@ let EunomiaInputPhone = EunomiaInputPhone_1 = class EunomiaInputPhone extends Eu
392
399
  if (window.matchMedia("(prefers-reduced-motion: reduce)").matches) {
393
400
  return 0;
394
401
  }
395
- const raw = getComputedStyle(el)
396
- .getPropertyValue("--field-listbox-transition-duration")
397
- .trim();
398
- if (raw) {
399
- const parsed = raw.endsWith("ms")
400
- ? Number.parseFloat(raw)
401
- : Number.parseFloat(raw) * 1000;
402
- if (Number.isFinite(parsed) && parsed >= 0) {
403
- return parsed;
404
- }
405
- }
406
- return 200;
402
+ return resolveDurationMs(el, "--field-listbox-transition-duration", "m", 200);
407
403
  }
408
404
  /**
409
405
  * Plays the fade/scaleY-in, replacing any {@link listboxAnimation}
@@ -421,7 +417,7 @@ let EunomiaInputPhone = EunomiaInputPhone_1 = class EunomiaInputPhone extends Eu
421
417
  this.listboxAnimation = listbox.animate([
422
418
  { opacity: 0, transform: "scaleY(0.01)" },
423
419
  { opacity: 1, transform: "scaleY(1)" },
424
- ], { duration, easing: "ease", fill: "forwards" });
420
+ ], { duration, easing: resolveEasing(listbox), fill: "forwards" });
425
421
  }
426
422
  /**
427
423
  * Closes the dropdown panel, if open. All state cleanup happens in
@@ -458,7 +454,7 @@ let EunomiaInputPhone = EunomiaInputPhone_1 = class EunomiaInputPhone extends Eu
458
454
  const animation = listbox.animate([
459
455
  { opacity: 1, transform: "scaleY(1)" },
460
456
  { opacity: 0, transform: "scaleY(0.01)" },
461
- ], { duration, easing: "ease", fill: "forwards" });
457
+ ], { duration, easing: resolveEasing(listbox), fill: "forwards" });
462
458
  this.listboxAnimation = animation;
463
459
  animation.finished
464
460
  .then(() => {
@@ -744,7 +740,7 @@ let EunomiaInputPhone = EunomiaInputPhone_1 = class EunomiaInputPhone extends Eu
744
740
  ?disabled=${this.disabled}
745
741
  ?readonly=${this.readonly}
746
742
  aria-describedby=${hasDescription ? "description" : nothing}
747
- aria-invalid=${!this.hideError && !this.disabled && !this.valid}
743
+ aria-invalid=${this.showError}
748
744
  @input=${this.handlePhoneInput}
749
745
  />
750
746
  </div>
@@ -51,8 +51,8 @@ const inputPhone = css `
51
51
  color: var(--_iconColor);
52
52
  cursor: pointer;
53
53
  transition:
54
- border-color 0.15s ease,
55
- outline-color 0.15s ease;
54
+ border-color var(--eun-duration-s, 150ms) var(--eun-easing-default, ease),
55
+ outline-color var(--eun-duration-s, 150ms) var(--eun-easing-default, ease);
56
56
  }
57
57
  :host(:not([aria-readonly="true"])) #country-trigger:focus-visible {
58
58
  z-index: 1;
@@ -82,8 +82,8 @@ const inputPhone = css `
82
82
  outline: 1px solid transparent;
83
83
  box-sizing: border-box;
84
84
  transition:
85
- border-color 0.15s ease,
86
- outline-color 0.15s ease;
85
+ border-color var(--eun-duration-s, 150ms) var(--eun-easing-default, ease),
86
+ outline-color var(--eun-duration-s, 150ms) var(--eun-easing-default, ease);
87
87
  }
88
88
  :host([hide-country-selector]) #field-wrapper {
89
89
  margin-inline-start: 0;
@@ -13,17 +13,17 @@ const base = css `
13
13
  }
14
14
  #name {
15
15
  color: var(--eun-text-color, #071621);
16
- font-size: var(--eun-font-size-s, 14px);
16
+ font-size: var(--field-label-font-size, var(--eun-font-size-s, 14px));
17
17
  font-weight: var(--eun-font-weight-l, 700);
18
18
  }
19
19
  slot[name="instructions"] {
20
20
  display: block;
21
- font-size: var(--eun-font-size-xs, 12px);
21
+ font-size: var(--field-message-font-size, var(--eun-font-size-xs, 12px));
22
22
  color: var(--eun-text-secondary, #484e61);
23
23
  }
24
24
  .required {
25
25
  color: var(--eun-color-critical-100, #aa0014);
26
- font-size: var(--eun-font-size-s, 10px);
26
+ font-size: var(--field-label-font-size, var(--eun-font-size-s, 10px));
27
27
  }
28
28
  `;
29
29
  export const labelStyles = base;
@@ -22,8 +22,9 @@ export declare const EunomiaRadioCardTagName = "eun-radio-card";
22
22
  * @attr {boolean} [default-checked] - The checked state applied when the card connects, and restored on form reset
23
23
  * @prop {boolean} [disabled=false] - Whether the card is disabled
24
24
  * @prop {boolean} [readonly=false] - Whether the card is read only
25
- * @prop {boolean} [hideError=false] - Whether the error message is hidden
26
- * @attr {boolean} [hide-error=false] - Whether the error message is hidden
25
+ * @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
26
+ * @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
27
+ * @attr {boolean} [hide-error=false] - Whether the error message is hidden. The hint stays visible
27
28
  * @prop {boolean} [required=false] - Whether a selection is required
28
29
  * @prop {string} name - The name of the field
29
30
  * @prop {string} value - The value submitted with the card
@@ -44,6 +45,8 @@ export declare const EunomiaRadioCardTagName = "eun-radio-card";
44
45
  * @cssprop [--radio-card-border-width] - Sets the width of the border
45
46
  * @cssprop [--radio-card-border-radius] - Sets the corner radius of the card
46
47
  * @cssprop [--radio-card-padding] - Sets the padding inside the card
48
+ * @cssprop [--radio-card-padding-block] - Sets the vertical padding, as one length applied to both sides. Ignored when --radio-card-padding is set
49
+ * @cssprop [--radio-card-padding-inline] - Sets the horizontal padding, as one length applied to both sides. Ignored when --radio-card-padding is set
47
50
  * @cssprop [--radio-card-min-width] - Sets the minimum width of the card
48
51
  * @cssprop [--radio-card-icon-color] - Sets the color of the leading icon while not checked
49
52
  * @cssprop [--radio-card-icon-color-checked] - Sets the color of the leading icon while checked
@@ -33,8 +33,9 @@ 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 {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 error message is hidden. The hint stays visible
38
39
  * @prop {boolean} [required=false] - Whether a selection is required
39
40
  * @prop {string} name - The name of the field
40
41
  * @prop {string} value - The value submitted with the card
@@ -55,6 +56,8 @@ export const EunomiaRadioCardTagName = "eun-radio-card";
55
56
  * @cssprop [--radio-card-border-width] - Sets the width of the border
56
57
  * @cssprop [--radio-card-border-radius] - Sets the corner radius of the card
57
58
  * @cssprop [--radio-card-padding] - Sets the padding inside the card
59
+ * @cssprop [--radio-card-padding-block] - Sets the vertical padding, as one length applied to both sides. Ignored when --radio-card-padding is set
60
+ * @cssprop [--radio-card-padding-inline] - Sets the horizontal padding, as one length applied to both sides. Ignored when --radio-card-padding is set
58
61
  * @cssprop [--radio-card-min-width] - Sets the minimum width of the card
59
62
  * @cssprop [--radio-card-icon-color] - Sets the color of the leading icon while not checked
60
63
  * @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,16 @@ 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 {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
37
+ * @attr {boolean} [hide-error=false] - Whether the errors are hidden. The hint stays visible
37
38
  * @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
39
  * @fires {ChangeEvent} eunchange - Fired whenever the group's selection changes
39
40
  * @cssprop [--radio-list-gap] - Sets the gap between the labels and the list
40
41
  * @cssprop [--radio-list-options-gap] - Sets the gap between the radios in the list
41
42
  * @cssprop [--radio-list-error-color] - Sets the color of the list's error state
43
+ * @cssprop [--field-label-font-size] - Sets the font size of the label
44
+ * @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
42
45
  * @element eun-radio-list
43
46
  */
44
47
  export declare class EunomiaRadioList extends EunomiaRadioList_base {
@@ -8,7 +8,7 @@ import { customElement, property, query } from "lit/decorators.js";
8
8
  import { html, LitElement } from "lit";
9
9
  import { classMap } from "lit/directives/class-map.js";
10
10
  import { FormLabelMixin } from "../../../mixins/form-label.mixin.js";
11
- import { FormMixin } from "../../../mixins/form.mixin.js";
11
+ import { FormMixin, hasErrorDisplayChange, } from "../../../mixins/form.mixin.js";
12
12
  import { DisabledMixin } from "../../../mixins/disabled.mixin.js";
13
13
  import { ValidatorsMixin } from "../../../mixins/validators.mixin.js";
14
14
  import { ReadonlyMixin } from "../../../mixins/readonly.mixin.js";
@@ -80,13 +80,16 @@ const Base = DisabledMixin(ValidatorsMixin(LitElement));
80
80
  * @prop {boolean} [inline=false] - Whether the list's elements are displayed in a row
81
81
  * @prop {string} [defaultValue] - The value reselected when the list connects, and restored on form reset
82
82
  * @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
83
+ * @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
84
+ * @prop {string} [error] - An error computed outside the field, by the form or by the server. While set, the field is invalid and shows this message right away
85
+ * @attr {boolean} [hide-error=false] - Whether the errors are hidden. The hint stays visible
85
86
  * @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
87
  * @fires {ChangeEvent} eunchange - Fired whenever the group's selection changes
87
88
  * @cssprop [--radio-list-gap] - Sets the gap between the labels and the list
88
89
  * @cssprop [--radio-list-options-gap] - Sets the gap between the radios in the list
89
90
  * @cssprop [--radio-list-error-color] - Sets the color of the list's error state
91
+ * @cssprop [--field-label-font-size] - Sets the font size of the label
92
+ * @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
90
93
  * @element eun-radio-list
91
94
  */
92
95
  let EunomiaRadioList = class EunomiaRadioList extends FormLabelMixin(ReadonlyMixin(FormMixin(Base))) {
@@ -137,7 +140,7 @@ let EunomiaRadioList = class EunomiaRadioList extends FormLabelMixin(ReadonlyMix
137
140
  * Setter allowing to check the child whose value matches, unchecking every other.
138
141
  */
139
142
  set value(value) {
140
- this.updateComplete.then(() => {
143
+ void this.updateComplete.then(() => {
141
144
  this.fields.forEach((field) => {
142
145
  field.checked = field.value === value;
143
146
  });
@@ -188,7 +191,7 @@ let EunomiaRadioList = class EunomiaRadioList extends FormLabelMixin(ReadonlyMix
188
191
  this.value = this.defaultValue;
189
192
  this.sendChangeEvent();
190
193
  }
191
- Promise.all(this.fields.map((field) => field.updateComplete)).then(() => {
194
+ void Promise.all(this.fields.map((field) => field.updateComplete)).then(() => {
192
195
  if (this.active && this.optionsList) {
193
196
  this.optionsList.setAttribute("aria-activedescendant", this.active.id);
194
197
  }
@@ -233,10 +236,11 @@ let EunomiaRadioList = class EunomiaRadioList extends FormLabelMixin(ReadonlyMix
233
236
  });
234
237
  this.setFocus();
235
238
  }
236
- if (_changedProperties.has("valid") ||
237
- _changedProperties.has("hideError")) {
239
+ if (hasErrorDisplayChange(_changedProperties)) {
240
+ const { showError } = this;
238
241
  this.fields.forEach((field) => {
239
- field.valid = this.valid && !this.hideError;
242
+ field.valid = !showError;
243
+ field.validationRequested = showError;
240
244
  });
241
245
  }
242
246
  if (_changedProperties.has("label") && !this.hasAttribute("aria-label")) {
@@ -359,7 +363,7 @@ let EunomiaRadioList = class EunomiaRadioList extends FormLabelMixin(ReadonlyMix
359
363
  */
360
364
  formResetCallback() {
361
365
  super.formResetCallback?.();
362
- this.updateComplete.then(() => {
366
+ void this.updateComplete.then(() => {
363
367
  this.setFocus();
364
368
  this.sendChangeEvent();
365
369
  });
@@ -404,7 +408,7 @@ let EunomiaRadioList = class EunomiaRadioList extends FormLabelMixin(ReadonlyMix
404
408
  aria-disabled=${this.disabled ? "true" : "false"}
405
409
  aria-readonly=${this.readonly ? "true" : "false"}
406
410
  aria-required=${this.required ? "true" : "false"}
407
- aria-invalid=${!this.hideError && !this.disabled && !this.valid}
411
+ aria-invalid=${this.showError}
408
412
  >
409
413
  <slot @slotchange=${this.handleSlotChange}></slot>
410
414
  </div>
@@ -33,8 +33,9 @@ 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 {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 error message is hidden. The hint stays visible
38
39
  * @prop {boolean} [required=false] - Whether a selection is required
39
40
  * @prop {string} name - The name of the radio field
40
41
  * @prop {string} value - The value submitted with the radio
@@ -55,6 +56,8 @@ declare const EunomiaRadioMixinBase: Constructor<EunomiaRadioBase>;
55
56
  * @cssprop [--radio-error-color] - Sets the color of the error message
56
57
  * @cssprop [--radio-hint-color] - Sets the color of the hint message
57
58
  * @cssprop [--radio-size] - Sets the size of the radio
59
+ * @cssprop [--field-label-font-size] - Sets the font size of the label
60
+ * @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
58
61
  * @fires {ChangeEvent} eunchange - Fired when the radio's checked state changes
59
62
  * @element eun-radio
60
63
  */
@@ -36,8 +36,9 @@ 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 {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
41
+ * @attr {boolean} [hide-error=false] - Whether the error message is hidden. The hint stays visible
41
42
  * @prop {boolean} [required=false] - Whether a selection is required
42
43
  * @prop {string} name - The name of the radio field
43
44
  * @prop {string} value - The value submitted with the radio
@@ -58,6 +59,8 @@ const EunomiaRadioMixinBase = RadioMixin(ReadonlyMixin(FormMixin(DisabledMixin(V
58
59
  * @cssprop [--radio-error-color] - Sets the color of the error message
59
60
  * @cssprop [--radio-hint-color] - Sets the color of the hint message
60
61
  * @cssprop [--radio-size] - Sets the size of the radio
62
+ * @cssprop [--field-label-font-size] - Sets the font size of the label
63
+ * @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
61
64
  * @fires {ChangeEvent} eunchange - Fired when the radio's checked state changes
62
65
  * @element eun-radio
63
66
  */
@@ -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);
@@ -38,6 +38,7 @@ declare const EunomiaSearch_base: import("../../../utils/constructor.type.js").C
38
38
  * @cssprop [--field-match-background] - Sets the background of the matched search substring, none by default. Shared with the select component
39
39
  * @cssprop [--field-match-font-weight] - Sets the font weight of the matched search substring. Shared with the select component
40
40
  * @cssprop [--field-match-text-decoration] - Sets the text decoration, such as underline, of the matched search substring, none by default. Shared with the select component
41
+ * @cssprop [--field-loader-color] - Sets the color of the spinner shown while loading, the icon color by default. Shared with the select component
41
42
  * @cssprop [--eun-viewport-inset-top] - Reserves space, such as a page's sticky header height, that the suggestions dropdown keeps clear of at the top of the viewport. Set on the root or an ancestor rather than on the field itself
42
43
  * @cssprop [--eun-viewport-inset-bottom] - The same as eun-viewport-inset-top, reserved at the bottom of the viewport, such as for a sticky footer
43
44
  * @element eun-search
@@ -270,7 +271,7 @@ export declare class EunomiaSearch extends EunomiaSearch_base {
270
271
  /**
271
272
  * The listbox's open/close animation duration, in ms : `0` under
272
273
  * `prefers-reduced-motion: reduce`, otherwise `--field-listbox-
273
- * transition-duration` (default `200ms`).
274
+ * transition-duration` (default `--eun-duration-m`).
274
275
  *
275
276
  * @param el the listbox to read `--field-listbox-transition-duration` off.
276
277
  * @private
@@ -16,6 +16,7 @@ import { ChangeEvent } from "../../../events/change.event.js";
16
16
  import { listboxStyles, listboxAnchorPositioningStyles, } from "../shared-styles/listbox.styles.js";
17
17
  import { parseListboxOptions, renderHighlightedLabel, } from "../../../utils/listbox-options.utils.js";
18
18
  import { isWebKit } from "../../../utils/browser.utils.js";
19
+ import { resolveDurationMs, resolveEasing, } from "../../../utils/motion.utils.js";
19
20
  /**
20
21
  * Tag name of the search component.
21
22
  */
@@ -52,6 +53,7 @@ export const EunomiaSearchTagName = "eun-search";
52
53
  * @cssprop [--field-match-background] - Sets the background of the matched search substring, none by default. Shared with the select component
53
54
  * @cssprop [--field-match-font-weight] - Sets the font weight of the matched search substring. Shared with the select component
54
55
  * @cssprop [--field-match-text-decoration] - Sets the text decoration, such as underline, of the matched search substring, none by default. Shared with the select component
56
+ * @cssprop [--field-loader-color] - Sets the color of the spinner shown while loading, the icon color by default. Shared with the select component
55
57
  * @cssprop [--eun-viewport-inset-top] - Reserves space, such as a page's sticky header height, that the suggestions dropdown keeps clear of at the top of the viewport. Set on the root or an ancestor rather than on the field itself
56
58
  * @cssprop [--eun-viewport-inset-bottom] - The same as eun-viewport-inset-top, reserved at the bottom of the viewport, such as for a sticky footer
57
59
  * @element eun-search
@@ -426,7 +428,7 @@ let EunomiaSearch = EunomiaSearch_1 = class EunomiaSearch extends AnchorPosition
426
428
  /**
427
429
  * The listbox's open/close animation duration, in ms : `0` under
428
430
  * `prefers-reduced-motion: reduce`, otherwise `--field-listbox-
429
- * transition-duration` (default `200ms`).
431
+ * transition-duration` (default `--eun-duration-m`).
430
432
  *
431
433
  * @param el the listbox to read `--field-listbox-transition-duration` off.
432
434
  * @private
@@ -435,18 +437,7 @@ let EunomiaSearch = EunomiaSearch_1 = class EunomiaSearch extends AnchorPosition
435
437
  if (window.matchMedia("(prefers-reduced-motion: reduce)").matches) {
436
438
  return 0;
437
439
  }
438
- const raw = getComputedStyle(el)
439
- .getPropertyValue("--field-listbox-transition-duration")
440
- .trim();
441
- if (raw) {
442
- const parsed = raw.endsWith("ms")
443
- ? Number.parseFloat(raw)
444
- : Number.parseFloat(raw) * 1000;
445
- if (Number.isFinite(parsed) && parsed >= 0) {
446
- return parsed;
447
- }
448
- }
449
- return 200;
440
+ return resolveDurationMs(el, "--field-listbox-transition-duration", "m", 200);
450
441
  }
451
442
  /**
452
443
  * Plays the fade/scaleY-in, replacing any {@link listboxAnimation}
@@ -464,7 +455,7 @@ let EunomiaSearch = EunomiaSearch_1 = class EunomiaSearch extends AnchorPosition
464
455
  this.listboxAnimation = listbox.animate([
465
456
  { opacity: 0, transform: "scaleY(0.01)" },
466
457
  { opacity: 1, transform: "scaleY(1)" },
467
- ], { duration, easing: "ease", fill: "forwards" });
458
+ ], { duration, easing: resolveEasing(listbox), fill: "forwards" });
468
459
  }
469
460
  /**
470
461
  * Closes the suggestions dropdown, if open. All state cleanup happens in
@@ -502,7 +493,7 @@ let EunomiaSearch = EunomiaSearch_1 = class EunomiaSearch extends AnchorPosition
502
493
  const animation = listbox.animate([
503
494
  { opacity: 1, transform: "scaleY(1)" },
504
495
  { opacity: 0, transform: "scaleY(0.01)" },
505
- ], { duration, easing: "ease", fill: "forwards" });
496
+ ], { duration, easing: resolveEasing(listbox), fill: "forwards" });
506
497
  this.listboxAnimation = animation;
507
498
  animation.finished
508
499
  .then(() => {
@@ -26,15 +26,16 @@ const search = css `
26
26
  :host([loading]) #clear {
27
27
  display: none;
28
28
  }
29
+ #field-loader {
30
+ color: var(--field-loader-color, var(--_iconColor));
31
+ }
29
32
  #field-wrapper #field-loader {
30
33
  position: absolute;
31
34
  right: var(--eun-space-s, 8px);
32
35
  pointer-events: none;
33
- color: var(--_iconColor);
34
36
  }
35
37
  #search-trigger #field-loader {
36
38
  flex-shrink: 0;
37
- color: var(--_iconColor);
38
39
  }
39
40
  #search-trigger {
40
41
  position: relative;
@@ -54,8 +55,8 @@ const search = css `
54
55
  appearance: none;
55
56
  outline: 1px solid transparent;
56
57
  transition:
57
- outline 0.15s ease,
58
- border-color 0.15s ease;
58
+ outline var(--eun-duration-s, 150ms) var(--eun-easing-default, ease),
59
+ border-color var(--eun-duration-s, 150ms) var(--eun-easing-default, ease);
59
60
  }
60
61
  :host(:not([aria-disabled="true"])) #search-trigger:hover {
61
62
  border-color: var(
@@ -59,7 +59,8 @@ declare const EunomiaSelectMixinBase: Constructor<EunomiaSelectBase>;
59
59
  * @prop {boolean} [disabled=false] - Whether the field is disabled
60
60
  * @prop {boolean} [readonly=false] - Whether the field is read only
61
61
  * @prop {boolean} [required=false] - Whether a selection is required
62
- * @prop {boolean} [hideError=false] - Whether the errors are hidden
62
+ * @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
63
+ * @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
63
64
  * @prop {Array<Validators<string | string[]>>} validators - The list of validation rules applied to the field value
64
65
  * @prop {EunomiaIconName} icon - An optional leading icon
65
66
  * @prop {string} [placeholder] - The placeholder shown when the field is empty. Defaults to searchPlaceholder when searchable, and selectPlaceholder otherwise
@@ -85,9 +86,12 @@ declare const EunomiaSelectMixinBase: Constructor<EunomiaSelectBase>;
85
86
  * @cssprop [--field-border-color-focus] - Sets the border color on focus
86
87
  * @cssprop [--field-border-radius] - Sets the corner radius of the field
87
88
  * @cssprop [--field-padding] - Sets the padding of the field
89
+ * @cssprop [--field-padding-block] - Sets the vertical padding, as one length applied to both sides. Ignored when --field-padding is set
90
+ * @cssprop [--field-padding-inline] - Sets the horizontal padding, as one length applied to both sides. Ignored when --field-padding is set
88
91
  * @cssprop [--field-text-color] - Sets the text color of the field
89
92
  * @cssprop [--field-placeholder-color] - Sets the color of the placeholder
90
93
  * @cssprop [--field-icon-color] - Sets the color of the leading icon and the dropdown arrow
94
+ * @cssprop [--field-loader-color] - Sets the color of the spinner shown while loading, the icon color by default. Shared with the search component
91
95
  * @cssprop [--field-error-color] - Sets the color of the error message
92
96
  * @cssprop [--field-hint-color] - Sets the color of the hint message
93
97
  * @cssprop [--field-focus-outline-color] - Sets the color of the focus outline
@@ -101,6 +105,9 @@ declare const EunomiaSelectMixinBase: Constructor<EunomiaSelectBase>;
101
105
  * @cssprop [--field-listbox-transition-duration=200ms] - Sets the duration of the dropdown panel's open and close height transition, disabled entirely by the no-animation attribute or reduced motion settings
102
106
  * @cssprop [--eun-viewport-inset-top] - Reserves space, such as a page's sticky header height, that the dropdown panel keeps clear of at the top of the viewport. Set on the root or an ancestor rather than on the field itself
103
107
  * @cssprop [--eun-viewport-inset-bottom] - The same as eun-viewport-inset-top, reserved at the bottom of the viewport, such as for a sticky footer
108
+ * @cssprop [--field-font-size] - Sets the font size of the field's value and placeholder
109
+ * @cssprop [--field-label-font-size] - Sets the font size of the label
110
+ * @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
104
111
  * @element eun-select
105
112
  */
106
113
  export declare class EunomiaSelect extends EunomiaSelectMixinBase {
@@ -506,7 +513,7 @@ export declare class EunomiaSelect extends EunomiaSelectMixinBase {
506
513
  * The listbox's open/close animation duration, in ms : `0` if `
507
514
  * noAnimation` is set or the browser reports `prefers-reduced-motion:
508
515
  * reduce`, otherwise `--field-listbox-transition-duration` (default
509
- * `200ms`).
516
+ * `--eun-duration-m`).
510
517
  *
511
518
  * @param el the listbox to read `--field-listbox-transition-duration` off.
512
519
  * @private