@eunomia/elements 1.0.0-beta.4 → 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 (496) 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-4MXL6PZC.js → chunk-2Y2EU2CI.js} +28 -28
  6. package/dist/cdn/components/chunks/chunk-3MTUVMM5.js +1 -0
  7. package/dist/cdn/components/chunks/chunk-4PI6RDUS.js +1 -0
  8. package/dist/cdn/components/chunks/chunk-5GKM5DIB.js +1 -0
  9. package/dist/cdn/components/chunks/chunk-624VJYNA.js +1 -0
  10. package/dist/cdn/components/chunks/{chunk-5XJLIHAU.js → chunk-7KKWYPHY.js} +4 -2
  11. package/dist/cdn/components/chunks/chunk-A3X4KD2X.js +1 -0
  12. package/dist/cdn/components/chunks/chunk-BKZGTCMF.js +1 -0
  13. package/dist/cdn/components/chunks/{chunk-GW3VP2L7.js → chunk-BO3JOEWM.js} +1 -1
  14. package/dist/cdn/components/chunks/{chunk-NHFWATVN.js → chunk-BQFJR2UP.js} +5 -5
  15. package/dist/cdn/components/chunks/chunk-EUWUDCBZ.js +1 -0
  16. package/dist/cdn/components/chunks/{chunk-P32B7BFD.js → chunk-FF3I7C3C.js} +15 -15
  17. package/dist/cdn/components/chunks/{chunk-74AOAB4X.js → chunk-FOILAXLL.js} +6 -5
  18. package/dist/cdn/components/chunks/{chunk-E4IS25H7.js → chunk-G5SBDQQ3.js} +1 -1
  19. package/dist/cdn/components/chunks/{chunk-LGLQ36QB.js → chunk-GDBPWZN6.js} +1 -1
  20. package/dist/cdn/components/chunks/{chunk-S2UCEWNG.js → chunk-JYIIWN2P.js} +13 -11
  21. package/dist/cdn/components/chunks/{chunk-EOWBYZV7.js → chunk-KDN4O5W2.js} +26 -13
  22. package/dist/cdn/components/chunks/chunk-KSZRQRN4.js +1 -0
  23. package/dist/cdn/components/chunks/{chunk-PED5ATYN.js → chunk-L2ADCEN7.js} +1 -1
  24. package/dist/cdn/components/chunks/chunk-LMVW522V.js +1 -0
  25. package/dist/cdn/components/chunks/{chunk-5XJGYXW7.js → chunk-MOMYII3P.js} +1 -1
  26. package/dist/cdn/components/chunks/{chunk-SIHZFOTK.js → chunk-MQQ4BGVJ.js} +5 -5
  27. package/dist/cdn/components/chunks/{chunk-A4EQSU36.js → chunk-O7PHBLH2.js} +1 -1
  28. package/dist/cdn/components/chunks/chunk-PD62MBOJ.js +1 -0
  29. package/dist/cdn/components/chunks/{chunk-KBH5PCUO.js → chunk-PE4DAXHQ.js} +1 -1
  30. package/dist/cdn/components/chunks/{chunk-GSJEJLFA.js → chunk-PMPSJG5V.js} +7 -7
  31. package/dist/cdn/components/chunks/{chunk-5EVP7YNE.js → chunk-PPCHQG7P.js} +1 -1
  32. package/dist/cdn/components/chunks/{chunk-EJIX2D4Z.js → chunk-QZ5SHR3I.js} +15 -11
  33. package/dist/cdn/components/chunks/chunk-RS7TWEMQ.js +1 -0
  34. package/dist/cdn/components/chunks/chunk-SMTIDNGW.js +1 -0
  35. package/dist/cdn/components/chunks/{chunk-YGUJJ25C.js → chunk-SZYEBMG6.js} +11 -10
  36. package/dist/cdn/components/chunks/chunk-UDVB4LAE.js +56 -0
  37. package/dist/cdn/components/chunks/{chunk-UAGCQF23.js → chunk-UYZR4JXZ.js} +17 -12
  38. package/dist/cdn/components/chunks/chunk-VG6NAAIV.js +1 -0
  39. package/dist/cdn/components/chunks/chunk-VJCNHMQZ.js +10 -0
  40. package/dist/cdn/components/chunks/chunk-VOTRXBDS.js +38 -0
  41. package/dist/cdn/components/chunks/{chunk-BMQOI7HX.js → chunk-VYFR364B.js} +128 -74
  42. package/dist/cdn/components/chunks/{chunk-IJ5WFMK4.js → chunk-XDPRWUKN.js} +7 -6
  43. package/dist/cdn/components/chunks/{chunk-XH6NREVZ.js → chunk-YITWLCD3.js} +1 -1
  44. package/dist/cdn/components/chunks/{chunk-BQHYZB2W.js → chunk-ZBN4HTWP.js} +1 -1
  45. package/dist/cdn/components/chunks/{chunk-RJCJXB7Y.js → chunk-ZKZV2YG5.js} +18 -18
  46. package/dist/cdn/components/eun-alert.js +24 -16
  47. package/dist/cdn/components/eun-animate.js +12 -6
  48. package/dist/cdn/components/eun-badge.js +7 -7
  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 +68 -66
  52. package/dist/cdn/components/eun-card.js +67 -13
  53. package/dist/cdn/components/eun-carousel.js +66 -35
  54. package/dist/cdn/components/eun-check-card.js +13 -6
  55. package/dist/cdn/components/eun-checkbox-list.js +4 -4
  56. package/dist/cdn/components/eun-checkbox.js +1 -1
  57. package/dist/cdn/components/eun-chip.js +1 -1
  58. package/dist/cdn/components/eun-collapse.js +87 -39
  59. package/dist/cdn/components/eun-color-picker.js +54 -53
  60. package/dist/cdn/components/eun-counter.js +14 -13
  61. package/dist/cdn/components/eun-date-picker.js +66 -63
  62. package/dist/cdn/components/eun-description-list.js +152 -0
  63. package/dist/cdn/components/eun-divider.js +1 -1
  64. package/dist/cdn/components/eun-drawer.js +26 -12
  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 +20 -19
  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 +14 -13
  73. package/dist/cdn/components/eun-input-phone.js +26 -26
  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 +174 -27
  77. package/dist/cdn/components/eun-loader.js +1 -1
  78. package/dist/cdn/components/eun-modal.js +29 -22
  79. package/dist/cdn/components/eun-pagination.js +17 -12
  80. package/dist/cdn/components/eun-password-strength.js +6 -2
  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 +4 -4
  84. package/dist/cdn/components/eun-radio.js +1 -1
  85. package/dist/cdn/components/eun-scheduler-event-editor.js +8 -8
  86. package/dist/cdn/components/eun-scheduler-event.js +1 -1
  87. package/dist/cdn/components/eun-scheduler.js +42 -42
  88. package/dist/cdn/components/eun-search.js +21 -20
  89. package/dist/cdn/components/eun-select.js +12 -11
  90. package/dist/cdn/components/eun-sidebar.js +34 -20
  91. package/dist/cdn/components/eun-skeleton.js +1 -1
  92. package/dist/cdn/components/eun-slider.js +15 -14
  93. package/dist/cdn/components/eun-sliding-card.js +8 -4
  94. package/dist/cdn/components/eun-step.js +17 -6
  95. package/dist/cdn/components/eun-stepper.js +17 -6
  96. package/dist/cdn/components/eun-switch.js +10 -8
  97. package/dist/cdn/components/eun-tab-group.js +22 -17
  98. package/dist/cdn/components/eun-tab-panel.js +11 -3
  99. package/dist/cdn/components/eun-tab.js +1 -1
  100. package/dist/cdn/components/eun-table-action-bar.js +1 -1
  101. package/dist/cdn/components/eun-table.js +572 -31
  102. package/dist/cdn/components/eun-tag.js +13 -7
  103. package/dist/cdn/components/eun-textarea.js +24 -24
  104. package/dist/cdn/components/eun-time-picker.js +21 -19
  105. package/dist/cdn/components/eun-toast.js +36 -16
  106. package/dist/cdn/components/eun-toggle-group.js +64 -37
  107. package/dist/cdn/components/eun-toggle-item.js +24 -21
  108. package/dist/cdn/components/eun-toggle.js +12 -10
  109. package/dist/cdn/components/eun-toolbar.js +62 -52
  110. package/dist/cdn/components/eun-tooltip.js +30 -14
  111. package/dist/cdn/styles/breakpoints.scss +8 -0
  112. package/dist/cdn/styles/eunomia-grid.scss +6 -0
  113. package/dist/cdn/styles/eunomia-themes.css +1 -1
  114. package/dist/cdn/styles/themes/eunomia-theme.css +1 -1
  115. package/dist/cdn/styles/themes/eunomia-theme.scss +4 -3
  116. package/dist/cdn/styles/themes/mixins/eunomia-a11y-color.mixin.scss +34 -1
  117. package/dist/cdn/styles/themes/mixins/eunomia-neutrals.mixin.scss +4 -0
  118. package/dist/cdn/styles/themes/mixins/eunomia-states.mixin.scss +36 -12
  119. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +10 -10
  120. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +10 -10
  121. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.css +1 -1
  122. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +3 -2
  123. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +10 -10
  124. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +10 -10
  125. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.css +1 -1
  126. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +3 -2
  127. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +10 -10
  128. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +10 -10
  129. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.css +1 -1
  130. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +3 -2
  131. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +10 -10
  132. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +10 -10
  133. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.css +1 -1
  134. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +3 -2
  135. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +10 -10
  136. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +10 -10
  137. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.css +1 -1
  138. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +3 -2
  139. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +10 -10
  140. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +10 -10
  141. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.css +1 -1
  142. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +3 -2
  143. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +10 -10
  144. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +10 -10
  145. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.css +1 -1
  146. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +3 -2
  147. package/dist/cdn/styles/tools/indexes/eunomia-media-queries.index.scss +1 -3
  148. package/dist/cdn/styles/tools/indexes/eunomia-tools.index.scss +1 -0
  149. package/dist/cdn/styles/tools/mixins/layout/eunomia-grid.mixin.scss +117 -53
  150. package/dist/cdn/styles/tools/mixins/media-queries/eunomia-media-queries.mixin.scss +69 -0
  151. package/dist/cdn/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +28 -4
  152. package/dist/cdn/styles/tools/mixins/settings/eunomia-motion.mixin.scss +9 -0
  153. package/dist/cdn/styles/tools/variables/eunomia.breakpoints.scss +4 -0
  154. package/dist/components/action/button/button.d.ts +51 -19
  155. package/dist/components/action/button/button.js +107 -24
  156. package/dist/components/action/button/button.styles.js +115 -62
  157. package/dist/components/action/dropdown-button/dropdown-button.d.ts +10 -10
  158. package/dist/components/action/dropdown-button/dropdown-button.js +18 -17
  159. package/dist/components/action/dropdown-button/dropdown-button.styles.js +3 -2
  160. package/dist/components/action/dropdown-button/dropdown-item.js +5 -6
  161. package/dist/components/action/dropdown-button/dropdown-item.styles.js +3 -2
  162. package/dist/components/action/fab/fab.d.ts +7 -6
  163. package/dist/components/action/fab/fab.js +11 -8
  164. package/dist/components/action/fab/fab.styles.js +18 -17
  165. package/dist/components/action/link/link.d.ts +72 -9
  166. package/dist/components/action/link/link.js +183 -23
  167. package/dist/components/action/link/link.styles.js +146 -10
  168. package/dist/components/action/shared-styles/button-palette.styles.d.ts +3 -3
  169. package/dist/components/action/shared-styles/button-palette.styles.js +29 -29
  170. package/dist/components/action/toggle/toggle-group.d.ts +17 -5
  171. package/dist/components/action/toggle/toggle-group.js +46 -19
  172. package/dist/components/action/toggle/toggle-group.styles.d.ts +4 -1
  173. package/dist/components/action/toggle/toggle-group.styles.js +56 -27
  174. package/dist/components/action/toggle/toggle-item.d.ts +4 -4
  175. package/dist/components/action/toggle/toggle-item.js +2 -2
  176. package/dist/components/action/toggle/toggle-item.styles.js +20 -17
  177. package/dist/components/action/toggle/toggle.d.ts +2 -0
  178. package/dist/components/action/toggle/toggle.js +2 -0
  179. package/dist/components/action/toggle/toggle.styles.d.ts +2 -0
  180. package/dist/components/action/toggle/toggle.styles.js +12 -8
  181. package/dist/components/alert/alert/alert.d.ts +2 -0
  182. package/dist/components/alert/alert/alert.js +2 -0
  183. package/dist/components/alert/alert/alert.styles.js +23 -13
  184. package/dist/components/alert/drawer/drawer.d.ts +3 -1
  185. package/dist/components/alert/drawer/drawer.js +5 -3
  186. package/dist/components/alert/drawer/drawer.styles.js +25 -9
  187. package/dist/components/alert/modal/modal.d.ts +11 -9
  188. package/dist/components/alert/modal/modal.js +15 -13
  189. package/dist/components/alert/modal/modal.styles.js +16 -7
  190. package/dist/components/alert/toast/toast.d.ts +2 -0
  191. package/dist/components/alert/toast/toast.js +2 -0
  192. package/dist/components/alert/toast/toast.styles.js +37 -15
  193. package/dist/components/content/badge/badge.d.ts +6 -6
  194. package/dist/components/content/badge/badge.js +4 -4
  195. package/dist/components/content/badge/badge.styles.js +4 -4
  196. package/dist/components/content/card/card.d.ts +39 -7
  197. package/dist/components/content/card/card.js +71 -7
  198. package/dist/components/content/card/card.styles.js +58 -11
  199. package/dist/components/content/card/image-card.d.ts +62 -7
  200. package/dist/components/content/card/image-card.js +121 -11
  201. package/dist/components/content/card/image-card.styles.js +66 -15
  202. package/dist/components/content/card/sliding-card.d.ts +4 -1
  203. package/dist/components/content/card/sliding-card.js +3 -0
  204. package/dist/components/content/card/sliding-card.styles.js +5 -1
  205. package/dist/components/content/collapse/collapse.d.ts +39 -12
  206. package/dist/components/content/collapse/collapse.js +65 -25
  207. package/dist/components/content/collapse/collapse.styles.d.ts +10 -1
  208. package/dist/components/content/collapse/collapse.styles.js +69 -18
  209. package/dist/components/content/description-list/description-list.d.ts +87 -0
  210. package/dist/components/content/description-list/description-list.js +107 -0
  211. package/dist/components/content/description-list/description-list.styles.d.ts +1 -0
  212. package/dist/components/content/description-list/description-list.styles.js +185 -0
  213. package/dist/components/content/icon/icon.d.ts +14 -2
  214. package/dist/components/content/icon/icon.js +54 -22
  215. package/dist/components/content/icon/icon.style.d.ts +2 -0
  216. package/dist/components/content/icon/icon.style.js +8 -2
  217. package/dist/components/content/image-carousel/image-carousel.d.ts +30 -19
  218. package/dist/components/content/image-carousel/image-carousel.js +48 -45
  219. package/dist/components/content/image-carousel/image-carousel.styles.js +69 -30
  220. package/dist/components/content/password-strength/password-strength.styles.js +5 -1
  221. package/dist/components/content/progress-bar/progress-bar.styles.js +12 -4
  222. package/dist/components/content/shared-styles/card-link.styles.js +5 -3
  223. package/dist/components/content/shared-styles/tone-surface.styles.d.ts +5 -0
  224. package/dist/components/content/shared-styles/tone-surface.styles.js +19 -14
  225. package/dist/components/content/tag/tag.d.ts +4 -0
  226. package/dist/components/content/tag/tag.js +4 -0
  227. package/dist/components/content/tag/tag.styles.js +14 -4
  228. package/dist/components/content/tooltip/tooltip.d.ts +3 -2
  229. package/dist/components/content/tooltip/tooltip.js +9 -16
  230. package/dist/components/content/tooltip/tooltip.styles.js +25 -7
  231. package/dist/components/form/checkbox/check-card.d.ts +4 -1
  232. package/dist/components/form/checkbox/check-card.js +4 -1
  233. package/dist/components/form/checkbox/check-card.styles.js +13 -4
  234. package/dist/components/form/checkbox/checkbox-list.d.ts +4 -1
  235. package/dist/components/form/checkbox/checkbox-list.js +11 -7
  236. package/dist/components/form/checkbox/checkbox.d.ts +4 -1
  237. package/dist/components/form/checkbox/checkbox.js +4 -1
  238. package/dist/components/form/checkbox/checkbox.styles.js +2 -2
  239. package/dist/components/form/color-picker/color-picker.d.ts +10 -4
  240. package/dist/components/form/color-picker/color-picker.js +23 -25
  241. package/dist/components/form/color-picker/color-picker.styles.js +6 -5
  242. package/dist/components/form/counter/counter.d.ts +7 -4
  243. package/dist/components/form/counter/counter.js +8 -5
  244. package/dist/components/form/counter/counter.styles.js +10 -9
  245. package/dist/components/form/date-picker/date-picker.d.ts +40 -36
  246. package/dist/components/form/date-picker/date-picker.js +35 -45
  247. package/dist/components/form/date-picker/date-picker.styles.js +13 -10
  248. package/dist/components/form/input/input.d.ts +10 -4
  249. package/dist/components/form/input/input.js +12 -6
  250. package/dist/components/form/input-file/input-file.d.ts +4 -1
  251. package/dist/components/form/input-file/input-file.js +8 -5
  252. package/dist/components/form/input-file/input-file.styles.js +3 -2
  253. package/dist/components/form/input-phone/input-phone.d.ts +11 -5
  254. package/dist/components/form/input-phone/input-phone.js +16 -20
  255. package/dist/components/form/input-phone/input-phone.styles.js +16 -16
  256. package/dist/components/form/label/label.styles.js +3 -3
  257. package/dist/components/form/radio/radio-card.d.ts +5 -2
  258. package/dist/components/form/radio/radio-card.js +5 -2
  259. package/dist/components/form/radio/radio-card.styles.js +14 -5
  260. package/dist/components/form/radio/radio-list.d.ts +5 -2
  261. package/dist/components/form/radio/radio-list.js +14 -10
  262. package/dist/components/form/radio/radio.d.ts +5 -2
  263. package/dist/components/form/radio/radio.js +5 -2
  264. package/dist/components/form/radio/radio.styles.js +4 -4
  265. package/dist/components/form/search/search.d.ts +2 -1
  266. package/dist/components/form/search/search.js +6 -15
  267. package/dist/components/form/search/search.styles.js +8 -7
  268. package/dist/components/form/select/select.d.ts +12 -5
  269. package/dist/components/form/select/select.js +18 -21
  270. package/dist/components/form/select/select.styles.js +3 -2
  271. package/dist/components/form/shared-styles/card.styles.js +5 -4
  272. package/dist/components/form/shared-styles/field.styles.js +21 -11
  273. package/dist/components/form/shared-styles/form-labels.styles.js +1 -1
  274. package/dist/components/form/slider/slider.d.ts +4 -1
  275. package/dist/components/form/slider/slider.js +5 -2
  276. package/dist/components/form/slider/slider.styles.js +8 -7
  277. package/dist/components/form/switch/switch.d.ts +4 -1
  278. package/dist/components/form/switch/switch.js +4 -1
  279. package/dist/components/form/switch/switch.styles.js +7 -5
  280. package/dist/components/form/textarea/textarea.d.ts +10 -4
  281. package/dist/components/form/textarea/textarea.js +18 -12
  282. package/dist/components/form/time-picker/time-picker-columns.styles.js +4 -2
  283. package/dist/components/form/time-picker/time-picker-list.styles.js +2 -1
  284. package/dist/components/form/time-picker/time-picker.d.ts +9 -5
  285. package/dist/components/form/time-picker/time-picker.js +25 -29
  286. package/dist/components/form/time-picker/time-picker.styles.js +9 -8
  287. package/dist/components/layout/animate/animate.d.ts +41 -11
  288. package/dist/components/layout/animate/animate.js +48 -16
  289. package/dist/components/layout/animate/animate.styles.js +9 -16
  290. package/dist/components/layout/infinite-list/infinite-list.d.ts +33 -10
  291. package/dist/components/layout/infinite-list/infinite-list.js +115 -18
  292. package/dist/components/layout/infinite-list/infinite-list.styles.d.ts +3 -0
  293. package/dist/components/layout/infinite-list/infinite-list.styles.js +17 -5
  294. package/dist/components/loader/loader/loader.styles.js +3 -1
  295. package/dist/components/navigation/breadcrumb/breadcrumb.d.ts +31 -45
  296. package/dist/components/navigation/breadcrumb/breadcrumb.js +111 -77
  297. package/dist/components/navigation/breadcrumb/breadcrumb.styles.d.ts +3 -0
  298. package/dist/components/navigation/breadcrumb/breadcrumb.styles.js +22 -26
  299. package/dist/components/navigation/carousel/carousel.d.ts +30 -10
  300. package/dist/components/navigation/carousel/carousel.js +37 -18
  301. package/dist/components/navigation/carousel/carousel.styles.js +60 -20
  302. package/dist/components/navigation/pagination/pagination.styles.js +8 -3
  303. package/dist/components/navigation/sidebar/sidebar.d.ts +2 -0
  304. package/dist/components/navigation/sidebar/sidebar.js +2 -0
  305. package/dist/components/navigation/sidebar/sidebar.styles.js +27 -11
  306. package/dist/components/navigation/stepper/step.styles.js +16 -5
  307. package/dist/components/navigation/stepper/stepper.styles.js +16 -5
  308. package/dist/components/navigation/tabs/tab/tab.d.ts +11 -0
  309. package/dist/components/navigation/tabs/tab/tab.js +11 -0
  310. package/dist/components/navigation/tabs/tab/tab.styles.js +22 -16
  311. package/dist/components/navigation/tabs/tab-group/tab-group.js +7 -8
  312. package/dist/components/navigation/tabs/tab-group/tab-group.styles.js +19 -14
  313. package/dist/components/navigation/tabs/tab-panel/tab-panel.d.ts +4 -0
  314. package/dist/components/navigation/tabs/tab-panel/tab-panel.js +4 -0
  315. package/dist/components/navigation/tabs/tab-panel/tab-panel.styles.js +18 -1
  316. package/dist/components/navigation/toolbar/toolbar.d.ts +17 -49
  317. package/dist/components/navigation/toolbar/toolbar.js +23 -71
  318. package/dist/components/navigation/toolbar/toolbar.styles.js +59 -36
  319. package/dist/events/table-row-click.event.d.ts +5 -4
  320. package/dist/events/table-row-click.event.js +10 -5
  321. package/dist/features/scheduler/calendar/calendar.d.ts +12 -12
  322. package/dist/features/scheduler/calendar/calendar.js +15 -14
  323. package/dist/features/scheduler/calendar/calendar.styles.js +8 -6
  324. package/dist/features/scheduler/scheduler/scheduler.d.ts +7 -7
  325. package/dist/features/scheduler/scheduler/scheduler.js +21 -35
  326. package/dist/features/scheduler/scheduler/scheduler.styles.js +6 -4
  327. package/dist/features/scheduler/scheduler-event/scheduler-event.d.ts +12 -8
  328. package/dist/features/scheduler/scheduler-event/scheduler-event.js +9 -7
  329. package/dist/features/scheduler/scheduler-event/scheduler-event.styles.js +16 -10
  330. package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.js +5 -5
  331. package/dist/features/scheduler/shared/scheduler-event-popover.js +2 -2
  332. package/dist/features/scheduler/shared/scheduler-hour-grid.d.ts +2 -2
  333. package/dist/features/scheduler/shared/scheduler-hour-grid.js +3 -3
  334. package/dist/features/scheduler/shared/scheduler-hour-grid.styles.js +3 -3
  335. package/dist/features/scheduler/shared/scheduler-month-view.d.ts +3 -3
  336. package/dist/features/scheduler/shared/scheduler-month-view.js +2 -2
  337. package/dist/features/scheduler/shared/scheduler-month-view.styles.js +2 -2
  338. package/dist/features/scheduler/shared/scheduler-year-view.styles.js +2 -2
  339. package/dist/features/table/table/table-native.styles.d.ts +28 -0
  340. package/dist/features/table/table/table-native.styles.js +502 -0
  341. package/dist/features/table/table/table.d.ts +342 -294
  342. package/dist/features/table/table/table.js +820 -546
  343. package/dist/features/table/table/table.styles.js +31 -17
  344. package/dist/features/table/table/table.types.d.ts +18 -23
  345. package/dist/features/table/table/table.utils.d.ts +6 -36
  346. package/dist/features/table/table/table.utils.js +16 -65
  347. package/dist/features/table/table-action-bar/table-action-bar.d.ts +33 -16
  348. package/dist/features/table/table-action-bar/table-action-bar.js +18 -25
  349. package/dist/features/table/table-action-bar/table-action-bar.styles.js +15 -3
  350. package/dist/i18n/en.d.ts +34 -0
  351. package/dist/i18n/en.js +34 -0
  352. package/dist/i18n/fr.js +38 -0
  353. package/dist/index.d.ts +7 -13
  354. package/dist/index.js +6 -10
  355. package/dist/jsx.d.ts +1 -1
  356. package/dist/mixins/button.mixin.d.ts +10 -9
  357. package/dist/mixins/button.mixin.js +14 -6
  358. package/dist/mixins/card-link.mixin.d.ts +3 -2
  359. package/dist/mixins/card-link.mixin.js +12 -5
  360. package/dist/mixins/check.mixin.js +4 -5
  361. package/dist/mixins/disabled.mixin.d.ts +3 -3
  362. package/dist/mixins/disabled.mixin.js +10 -5
  363. package/dist/mixins/field-appearance.mixin.d.ts +19 -0
  364. package/dist/mixins/{field-variant.mixin.js → field-appearance.mixin.js} +11 -11
  365. package/dist/mixins/form.mixin.d.ts +17 -1
  366. package/dist/mixins/form.mixin.js +80 -25
  367. package/dist/mixins/radio.mixin.js +4 -5
  368. package/dist/mixins/validators.mixin.d.ts +7 -1
  369. package/dist/mixins/validators.mixin.js +36 -17
  370. package/dist/ssr/animate-ssr.css +27 -72
  371. package/dist/ssr/button-ssr.css +319 -0
  372. package/dist/ssr/card-ssr.css +184 -0
  373. package/dist/ssr/description-list-ssr.css +150 -0
  374. package/dist/ssr/links-ssr.css +35 -0
  375. package/dist/ssr/overlay-ssr.css +0 -41
  376. package/dist/ssr/rich-text.css +38 -0
  377. package/dist/ssr/sidebar-ssr.css +0 -38
  378. package/dist/ssr/table-ssr.css +472 -0
  379. package/dist/ssr/tag-ssr.css +197 -0
  380. package/dist/ssr/toolbar-ssr.css +77 -39
  381. package/dist/types/variant.type.d.ts +26 -10
  382. package/dist/utils/drag-drop.utils.js +18 -2
  383. package/dist/utils/dropdown-menu.utils.d.ts +2 -2
  384. package/dist/utils/dropdown-menu.utils.js +4 -14
  385. package/dist/utils/light-dom-styles.utils.d.ts +14 -0
  386. package/dist/utils/light-dom-styles.utils.js +37 -0
  387. package/dist/utils/media.styles.d.ts +19 -0
  388. package/dist/utils/media.styles.js +23 -0
  389. package/dist/utils/motion.utils.d.ts +40 -0
  390. package/dist/utils/motion.utils.js +51 -0
  391. package/dist/utils/navigation.utils.d.ts +14 -0
  392. package/dist/utils/navigation.utils.js +33 -0
  393. package/dist/utils/new-tab-anchor.controller.d.ts +44 -0
  394. package/dist/utils/new-tab-anchor.controller.js +102 -0
  395. package/dist/utils/severity-icon.utils.d.ts +1 -1
  396. package/dist/utils/severity-icon.utils.js +1 -1
  397. package/dist/utils/theme-generator.utils.d.ts +9 -2
  398. package/dist/utils/theme-generator.utils.js +62 -21
  399. package/package.json +24 -29
  400. package/styles/breakpoints.scss +8 -0
  401. package/styles/eunomia-grid.scss +6 -0
  402. package/styles/themes/eunomia-theme.scss +4 -3
  403. package/styles/themes/mixins/eunomia-a11y-color.mixin.scss +34 -1
  404. package/styles/themes/mixins/eunomia-neutrals.mixin.scss +4 -0
  405. package/styles/themes/mixins/eunomia-states.mixin.scss +36 -12
  406. package/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +10 -10
  407. package/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +10 -10
  408. package/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +3 -2
  409. package/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +10 -10
  410. package/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +10 -10
  411. package/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +3 -2
  412. package/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +10 -10
  413. package/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +10 -10
  414. package/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +3 -2
  415. package/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +10 -10
  416. package/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +10 -10
  417. package/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +3 -2
  418. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +10 -10
  419. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +10 -10
  420. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +3 -2
  421. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +10 -10
  422. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +10 -10
  423. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +3 -2
  424. package/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +10 -10
  425. package/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +10 -10
  426. package/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +3 -2
  427. package/styles/tools/indexes/eunomia-media-queries.index.scss +1 -3
  428. package/styles/tools/indexes/eunomia-tools.index.scss +1 -0
  429. package/styles/tools/mixins/layout/eunomia-grid.mixin.scss +117 -53
  430. package/styles/tools/mixins/media-queries/eunomia-media-queries.mixin.scss +69 -0
  431. package/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +28 -4
  432. package/styles/tools/mixins/settings/eunomia-motion.mixin.scss +9 -0
  433. package/styles/tools/variables/eunomia.breakpoints.scss +4 -0
  434. package/dist/cdn/components/chunks/chunk-2JLDJFYD.js +0 -48
  435. package/dist/cdn/components/chunks/chunk-A6KGFALA.js +0 -132
  436. package/dist/cdn/components/chunks/chunk-ATH2OAMU.js +0 -1
  437. package/dist/cdn/components/chunks/chunk-BKHD4S57.js +0 -1
  438. package/dist/cdn/components/chunks/chunk-CEDHJUUH.js +0 -1
  439. package/dist/cdn/components/chunks/chunk-D2M4BV5Y.js +0 -328
  440. package/dist/cdn/components/chunks/chunk-E74CM7UG.js +0 -66
  441. package/dist/cdn/components/chunks/chunk-EST3M4AO.js +0 -1
  442. package/dist/cdn/components/chunks/chunk-GU6BVMFJ.js +0 -1
  443. package/dist/cdn/components/chunks/chunk-KVYUNKUO.js +0 -27
  444. package/dist/cdn/components/chunks/chunk-OAULRKHQ.js +0 -38
  445. package/dist/cdn/components/chunks/chunk-PCM7D3YF.js +0 -84
  446. package/dist/cdn/components/chunks/chunk-T4PTHUYF.js +0 -10
  447. package/dist/cdn/components/chunks/chunk-T7WABJEJ.js +0 -1
  448. package/dist/cdn/components/chunks/chunk-VRGRCYIO.js +0 -1
  449. package/dist/cdn/components/chunks/chunk-X2AUBZD2.js +0 -30
  450. package/dist/cdn/components/chunks/chunk-XSMCT4DF.js +0 -1
  451. package/dist/cdn/components/eun-breadcrumb-item.js +0 -93
  452. package/dist/cdn/components/eun-table-cell.js +0 -1
  453. package/dist/cdn/components/eun-table-column.js +0 -1
  454. package/dist/cdn/components/eun-table-header.js +0 -1
  455. package/dist/cdn/components/eun-table-item.js +0 -1
  456. package/dist/cdn/components/eun-table-skeleton-row.js +0 -1
  457. package/dist/cdn/styles/tools/mixins/media-queries/eunomia-device.mixin.scss +0 -14
  458. package/dist/cdn/styles/tools/mixins/media-queries/eunomia-gte.mixin.scss +0 -26
  459. package/dist/cdn/styles/tools/mixins/media-queries/eunomia-lte.mixin.scss +0 -26
  460. package/dist/components/navigation/breadcrumb/breadcrumb-item.d.ts +0 -77
  461. package/dist/components/navigation/breadcrumb/breadcrumb-item.js +0 -130
  462. package/dist/components/navigation/breadcrumb/breadcrumb-item.styles.d.ts +0 -6
  463. package/dist/components/navigation/breadcrumb/breadcrumb-item.styles.js +0 -78
  464. package/dist/features/table/native-table.css +0 -276
  465. package/dist/features/table/shared-styles/table-row.styles.d.ts +0 -7
  466. package/dist/features/table/shared-styles/table-row.styles.js +0 -47
  467. package/dist/features/table/shared-styles/table-shared.styles.d.ts +0 -23
  468. package/dist/features/table/shared-styles/table-shared.styles.js +0 -33
  469. package/dist/features/table/table-cell/table-cell.d.ts +0 -59
  470. package/dist/features/table/table-cell/table-cell.js +0 -73
  471. package/dist/features/table/table-cell/table-cell.styles.d.ts +0 -1
  472. package/dist/features/table/table-cell/table-cell.styles.js +0 -46
  473. package/dist/features/table/table-column/table-column.d.ts +0 -73
  474. package/dist/features/table/table-column/table-column.js +0 -89
  475. package/dist/features/table/table-column/table-column.styles.d.ts +0 -1
  476. package/dist/features/table/table-column/table-column.styles.js +0 -51
  477. package/dist/features/table/table-header/table-header.d.ts +0 -102
  478. package/dist/features/table/table-header/table-header.js +0 -165
  479. package/dist/features/table/table-header/table-header.styles.d.ts +0 -1
  480. package/dist/features/table/table-header/table-header.styles.js +0 -147
  481. package/dist/features/table/table-item/table-item.d.ts +0 -179
  482. package/dist/features/table/table-item/table-item.js +0 -291
  483. package/dist/features/table/table-item/table-item.styles.d.ts +0 -1
  484. package/dist/features/table/table-item/table-item.styles.js +0 -404
  485. package/dist/features/table/table-managed/table-managed.d.ts +0 -19
  486. package/dist/features/table/table-managed/table-managed.js +0 -128
  487. package/dist/features/table/table-skeleton-row/table-skeleton-row.d.ts +0 -46
  488. package/dist/features/table/table-skeleton-row/table-skeleton-row.js +0 -110
  489. package/dist/features/table/table-skeleton-row/table-skeleton-row.styles.d.ts +0 -12
  490. package/dist/features/table/table-skeleton-row/table-skeleton-row.styles.js +0 -65
  491. package/dist/mixins/field-variant.mixin.d.ts +0 -22
  492. package/dist/mixins/table-row.mixin.d.ts +0 -37
  493. package/dist/mixins/table-row.mixin.js +0 -103
  494. package/styles/tools/mixins/media-queries/eunomia-device.mixin.scss +0 -14
  495. package/styles/tools/mixins/media-queries/eunomia-gte.mixin.scss +0 -26
  496. package/styles/tools/mixins/media-queries/eunomia-lte.mixin.scss +0 -26
@@ -11,15 +11,16 @@ import { classMap } from "lit/directives/class-map.js";
11
11
  import { DisabledMixin, } from "../../../mixins/disabled.mixin.js";
12
12
  import { ReadonlyMixin, } from "../../../mixins/readonly.mixin.js";
13
13
  import { ValidatorsMixin, } from "../../../mixins/validators.mixin.js";
14
- import { FormMixin } from "../../../mixins/form.mixin.js";
14
+ import { FormMixin, hasErrorDisplayChange, } from "../../../mixins/form.mixin.js";
15
15
  import { FormLabelMixin, } from "../../../mixins/form-label.mixin.js";
16
- import { FieldVariantMixin, } from "../../../mixins/field-variant.mixin.js";
16
+ import { FieldAppearanceMixin, } from "../../../mixins/field-appearance.mixin.js";
17
17
  import { AnchorPositionMixin, } from "../../../mixins/anchor-position.mixin.js";
18
18
  import { LocalizableMixin, } from "../../../mixins/localizable.mixin.js";
19
19
  import { ChangeEvent } from "../../../events/change.event.js";
20
20
  import { addDays, addMonths, addYears, formatDateRange, isSameMonth, isSameYear, isWeekend, startOfDay, startOfMonth, startOfWeek, } from "../../../utils/date.utils.js";
21
21
  import { dateToSegments, getSegmentOrder, isSegmentGroupComplete, segmentKindsForGranularity, segmentsToDate, } from "../../../utils/date-segments.utils.js";
22
22
  import { checkTimeOfDayBounds, clockSegmentKinds, clockSegmentsToTime, getClockSegmentOrder, isClockSegmentGroupComplete, parseTimeOfDay, resolveHourFormat, timeToClockSegments, to12Hour, to24Hour, togglePeriod, } from "../../../utils/clock.utils.js";
23
+ import { mediaBelow } from "../../../breakpoints.js";
23
24
  import { getRuntimeTimeZone, getTimeZoneOffsetLabel, getZonedParts, isSameTimeZone, setZonedTime, zonedTimeToUtc, } from "../../../utils/timezone.utils.js";
24
25
  import { renderTimePickerColumns } from "../time-picker/time-picker-columns.js";
25
26
  import { timePickerColumnsStyles } from "../time-picker/time-picker-columns.styles.js";
@@ -33,6 +34,7 @@ import { isWebKit } from "../../../utils/browser.utils.js";
33
34
  import { isDisabledDay, renderDatePickerDayGrid, } from "./date-picker-day-grid.js";
34
35
  import { isDisabledMonth, renderDatePickerMonthGrid, } from "./date-picker-month-grid.js";
35
36
  import { getYearPageStart, isDisabledYear, renderDatePickerYearGrid, } from "./date-picker-year-grid.js";
37
+ import { resolveDurationMs, resolveEasing, } from "../../../utils/motion.utils.js";
36
38
  /**
37
39
  * Tag name of the date-picker component.
38
40
  */
@@ -55,7 +57,7 @@ const SEGMENT_SPIN_BOUNDS = {
55
57
  * @internal
56
58
  */
57
59
  const Base = DisabledMixin(ValidatorsMixin(LitElement));
58
- const EunomiaDatePickerMixinBase = LocalizableMixin(AnchorPositionMixin(FieldVariantMixin(FormLabelMixin(ReadonlyMixin(FormMixin(Base))))));
60
+ const EunomiaDatePickerMixinBase = LocalizableMixin(AnchorPositionMixin(FieldAppearanceMixin(FormLabelMixin(ReadonlyMixin(FormMixin(Base))))));
59
61
  /**
60
62
  * A date field entered across segmented numeric day, month, and year
61
63
  * inputs, following the same accessible pattern used by several
@@ -77,7 +79,7 @@ const EunomiaDatePickerMixinBase = LocalizableMixin(AnchorPositionMixin(FieldVar
77
79
  * normalized to January first of the selected year. The range mode
78
80
  * composes with all three.
79
81
  *
80
- * @prop {'outline' | 'fill' | 'underline'} [variant='outline'] - The visual variant to apply to the field
82
+ * @prop {'outline' | 'flat' | 'underline'} [appearance='outline'] - How the field's surface is drawn: a bordered box, a muted background with no border, or a bottom border only
81
83
  * @prop {'single' | 'range'} [mode='single'] - Whether a single value or a start and end range is picked
82
84
  * @prop {'day' | 'month' | 'year'} [granularity='day'] - How precise the picked value is. Controls both the number of segments rendered and which calendar surface opens
83
85
  * @prop {Date | null} value - The picked value, in single mode. Normalized to the first of the month or January first of the year outside day granularity
@@ -96,7 +98,8 @@ const EunomiaDatePickerMixinBase = LocalizableMixin(AnchorPositionMixin(FieldVar
96
98
  * @prop {boolean} [disabled=false] - Whether the field is disabled
97
99
  * @prop {boolean} [readonly=false] - Whether the field is read only
98
100
  * @prop {boolean} [required=false] - Whether the field is required
99
- * @prop {boolean} [hideError=false] - Whether the errors are hidden
101
+ * @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
102
+ * @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
100
103
  * @prop {Array<Validators<Date | null>>} validators - The list of custom validation rules applied to the value
101
104
  * @prop {string} [todayLabel='Today'] - The label of the day grid's jump to today shortcut. Only shown with day granularity
102
105
  * @prop {string} [applyLabel='Apply'] - The label of the mobile modal's confirm button
@@ -139,6 +142,9 @@ const EunomiaDatePickerMixinBase = LocalizableMixin(AnchorPositionMixin(FieldVar
139
142
  * @cssprop [--date-picker-range-background] - Sets a background tint for every cell in a picked range, start, end, and in between alike, in range mode, one uniform color across the whole span
140
143
  * @cssprop [--date-picker-panel-background] - Sets the background color of the popover panel
141
144
  * @cssprop [--date-picker-panel-transition-duration=200ms] - Sets the duration of the popover panel's open and close transition, disabled entirely by the no-animation attribute or reduced motion settings
145
+ * @cssprop [--field-font-size] - Sets the font size of the field's value and placeholder
146
+ * @cssprop [--field-label-font-size] - Sets the font size of the label
147
+ * @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
142
148
  * @element eun-date-picker
143
149
  */
144
150
  let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends EunomiaDatePickerMixinBase {
@@ -372,7 +378,10 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
372
378
  : [this.rangeSegments.start, this.rangeSegments.end];
373
379
  const hasBadInput = groups.some((group) => isPartiallyFilled(group) && !segmentsToDate(group, kinds));
374
380
  if (hasBadInput) {
375
- return { validity: { badInput: true }, message: "Enter a valid date" };
381
+ return {
382
+ validity: { badInput: true },
383
+ message: this.dictionary.validation.invalidDate,
384
+ };
376
385
  }
377
386
  if (this.isWithTimeActive()) {
378
387
  const format = this.resolvedHourFormat();
@@ -419,7 +428,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
419
428
  let message;
420
429
  if (this.required && isEmpty) {
421
430
  validity.valueMissing = true;
422
- message = "Field value is missing";
431
+ message = this.dictionary.validation.valueMissing;
423
432
  }
424
433
  return { validity, message };
425
434
  };
@@ -447,7 +456,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
447
456
  this.isModalOpen = true;
448
457
  return;
449
458
  }
450
- this.updateComplete.then(() => {
459
+ void this.updateComplete.then(() => {
451
460
  const popover = this.popoverEl;
452
461
  if (!popover) {
453
462
  return;
@@ -485,7 +494,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
485
494
  });
486
495
  }
487
496
  this.observeAnchorVisibility(this.fieldWrapperEl, () => this.closePopover());
488
- this.updateComplete.then(() => this.focusCalendarCell());
497
+ void this.updateComplete.then(() => this.focusCalendarCell());
489
498
  return;
490
499
  }
491
500
  this.isOpen = false;
@@ -1083,10 +1092,8 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
1083
1092
  end: dateToSegments(this.rangeValue.end),
1084
1093
  };
1085
1094
  }
1086
- if (changed.has("valid") ||
1087
- changed.has("hideError") ||
1088
- changed.has("disabled")) {
1089
- this.setAttribute("aria-invalid", String(!this.hideError && !this.disabled && !this.valid));
1095
+ if (hasErrorDisplayChange(changed)) {
1096
+ this.setAttribute("aria-invalid", String(this.showError));
1090
1097
  }
1091
1098
  }
1092
1099
  /**
@@ -1111,7 +1118,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
1111
1118
  * @private
1112
1119
  */
1113
1120
  isMobileViewport() {
1114
- return window.matchMedia("(max-width: 767px)").matches;
1121
+ return window.matchMedia(mediaBelow("tablet")).matches;
1115
1122
  }
1116
1123
  /**
1117
1124
  * @private
@@ -1328,7 +1335,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
1328
1335
  * The popover's open/close animation duration, in ms : `0` if
1329
1336
  * `noAnimation` is set or the browser reports `prefers-reduced-motion:
1330
1337
  * reduce`, otherwise `--date-picker-panel-transition-duration` (default
1331
- * `200ms`).
1338
+ * `--eun-duration-m`).
1332
1339
  *
1333
1340
  * @param el the popover to read `--date-picker-panel-transition-duration` off.
1334
1341
  * @private
@@ -1338,18 +1345,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
1338
1345
  window.matchMedia("(prefers-reduced-motion: reduce)").matches) {
1339
1346
  return 0;
1340
1347
  }
1341
- const raw = getComputedStyle(el)
1342
- .getPropertyValue("--date-picker-panel-transition-duration")
1343
- .trim();
1344
- if (raw) {
1345
- const parsed = raw.endsWith("ms")
1346
- ? Number.parseFloat(raw)
1347
- : Number.parseFloat(raw) * 1000;
1348
- if (Number.isFinite(parsed) && parsed >= 0) {
1349
- return parsed;
1350
- }
1351
- }
1352
- return 200;
1348
+ return resolveDurationMs(el, "--date-picker-panel-transition-duration", "m", 200);
1353
1349
  }
1354
1350
  /**
1355
1351
  * Plays the fade/scaleY-in, replacing any {@link popoverAnimation}
@@ -1367,7 +1363,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
1367
1363
  this.popoverAnimation = popover.animate([
1368
1364
  { opacity: 0, transform: "scaleY(0.01)" },
1369
1365
  { opacity: 1, transform: "scaleY(1)" },
1370
- ], { duration, easing: "ease", fill: "forwards" });
1366
+ ], { duration, easing: resolveEasing(popover), fill: "forwards" });
1371
1367
  }
1372
1368
  /**
1373
1369
  * Closes the popover, if open — accepting an instant, unanimated close
@@ -1405,7 +1401,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
1405
1401
  const animation = popover.animate([
1406
1402
  { opacity: 1, transform: "scaleY(1)" },
1407
1403
  { opacity: 0, transform: "scaleY(0.01)" },
1408
- ], { duration, easing: "ease", fill: "forwards" });
1404
+ ], { duration, easing: resolveEasing(popover), fill: "forwards" });
1409
1405
  this.popoverAnimation = animation;
1410
1406
  animation.finished
1411
1407
  .then(() => {
@@ -1477,7 +1473,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
1477
1473
  }
1478
1474
  this.focusedDate = candidate;
1479
1475
  this.syncDisplayedAnchor();
1480
- this.updateComplete.then(() => this.focusCalendarCell());
1476
+ void this.updateComplete.then(() => this.focusCalendarCell());
1481
1477
  }
1482
1478
  /**
1483
1479
  * Jumps `focusedDate` directly to `date` (no disabled-cell skipping —
@@ -1490,7 +1486,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
1490
1486
  jumpFocused(date) {
1491
1487
  this.focusedDate = date;
1492
1488
  this.syncDisplayedAnchor();
1493
- this.updateComplete.then(() => this.focusCalendarCell());
1489
+ void this.updateComplete.then(() => this.focusCalendarCell());
1494
1490
  }
1495
1491
  /**
1496
1492
  * @private
@@ -1607,7 +1603,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
1607
1603
  * @private
1608
1604
  */
1609
1605
  playSwipeAnimation(direction) {
1610
- this.updateComplete.then(() => {
1606
+ void this.updateComplete.then(() => {
1611
1607
  const el = this.swipeAreaEl;
1612
1608
  if (!el) {
1613
1609
  return;
@@ -1868,21 +1864,14 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
1868
1864
  */
1869
1865
  adjustTimeSegment(kind, delta) {
1870
1866
  const format = this.resolvedHourFormat();
1871
- const bounds = kind === "hour"
1872
- ? format === 12
1873
- ? { min: 1, max: 12 }
1874
- : { min: 0, max: 23 }
1875
- : { min: 0, max: 59 };
1867
+ const hourBounds = format === 12 ? { min: 1, max: 12 } : { min: 0, max: 23 };
1868
+ const bounds = kind === "hour" ? hourBounds : { min: 0, max: 59 };
1876
1869
  const current = Number(this.timeSegments[kind]);
1877
1870
  let next;
1878
1871
  if (this.timeSegments[kind] === "" || Number.isNaN(current)) {
1879
1872
  const parts = getZonedParts(this.value ?? new Date(), this.timezone);
1880
- next =
1881
- kind === "hour"
1882
- ? format === 12
1883
- ? to12Hour(parts.hour).hour
1884
- : parts.hour
1885
- : parts.minute;
1873
+ const hour = format === 12 ? to12Hour(parts.hour).hour : parts.hour;
1874
+ next = kind === "hour" ? hour : parts.minute;
1886
1875
  }
1887
1876
  else {
1888
1877
  next = current + delta;
@@ -1972,11 +1961,12 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
1972
1961
  const previous = order[index - 1];
1973
1962
  const isHourMinutePair = (previous === "hour" && kind === "minute") ||
1974
1963
  (previous === "minute" && kind === "hour");
1964
+ const divider = isHourMinutePair ? ":" : " ";
1975
1965
  return html `
1976
1966
  ${index === 0
1977
1967
  ? nothing
1978
1968
  : html `<span class="segment-divider" aria-hidden="true"
1979
- >${isHourMinutePair ? ":" : " "}</span
1969
+ >${divider}</span
1980
1970
  >`}
1981
1971
  ${this.renderTimeSegment(kind)}
1982
1972
  `;
@@ -2371,7 +2361,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
2371
2361
  * @private
2372
2362
  */
2373
2363
  renderTimezoneLabel() {
2374
- if (!this.timezone || isSameTimeZone(this.timezone, undefined)) {
2364
+ if (!this.timezone || isSameTimeZone(this.timezone)) {
2375
2365
  return nothing;
2376
2366
  }
2377
2367
  const reference = this.stagingValue ?? new Date();
@@ -41,8 +41,8 @@ const datePicker = css `
41
41
  outline: 1px solid transparent;
42
42
  box-sizing: border-box;
43
43
  transition:
44
- border-color 0.15s ease,
45
- outline-color 0.15s ease;
44
+ border-color var(--eun-duration-s, 150ms) var(--eun-easing-default, ease),
45
+ outline-color var(--eun-duration-s, 150ms) var(--eun-easing-default, ease);
46
46
  }
47
47
  :host(:not([aria-readonly="true"]))
48
48
  #field-wrapper:hover:not(:has(:disabled)) {
@@ -68,22 +68,22 @@ const datePicker = css `
68
68
  :host([aria-invalid="true"]) #field-wrapper:focus-within {
69
69
  outline-color: var(--_errorColor);
70
70
  }
71
- :host([variant="fill"]) {
71
+ :host([appearance="flat"]) {
72
72
  --_background: var(--field-background, var(--eun-content-hover, #edeff0));
73
73
  }
74
- :host([variant="fill"]) #field-wrapper {
74
+ :host([appearance="flat"]) #field-wrapper {
75
75
  border-color: transparent;
76
76
  }
77
- :host([variant="fill"][aria-invalid="true"]) #field-wrapper {
77
+ :host([appearance="flat"][aria-invalid="true"]) #field-wrapper {
78
78
  box-shadow: inset 0 0 0 var(--eun-border-width-m, 1.5px) var(--_errorColor);
79
79
  }
80
- :host([variant="underline"]) #field-wrapper {
80
+ :host([appearance="underline"]) #field-wrapper {
81
81
  border: none;
82
82
  outline: none;
83
83
  border-bottom: var(--eun-border-width-m, 1.5px) solid var(--_borderColor);
84
84
  border-radius: 0;
85
85
  }
86
- :host([variant="underline"]) #field-wrapper:focus-within {
86
+ :host([appearance="underline"]) #field-wrapper:focus-within {
87
87
  outline: none;
88
88
  }
89
89
  .segment-group {
@@ -154,7 +154,8 @@ const datePicker = css `
154
154
  color: var(--_iconColor);
155
155
  outline: 2px solid transparent;
156
156
  cursor: pointer;
157
- transition: outline 0.2s ease-out;
157
+ transition: outline var(--eun-duration-m, 200ms)
158
+ var(--eun-easing-out, ease-out);
158
159
  }
159
160
  #calendar-trigger:hover:not(:disabled) {
160
161
  color: var(--_textColor);
@@ -247,10 +248,12 @@ const datePicker = css `
247
248
  }
248
249
  }
249
250
  #calendar-swipe-area.slide-in-next {
250
- animation: eun-date-picker-slide-in-next 180ms ease-out;
251
+ animation: eun-date-picker-slide-in-next var(--eun-duration-m, 200ms)
252
+ var(--eun-easing-out, ease-out);
251
253
  }
252
254
  #calendar-swipe-area.slide-in-previous {
253
- animation: eun-date-picker-slide-in-previous 180ms ease-out;
255
+ animation: eun-date-picker-slide-in-previous var(--eun-duration-m, 200ms)
256
+ var(--eun-easing-out, ease-out);
254
257
  }
255
258
  :host([no-animation]) #calendar-swipe-area.slide-in-next,
256
259
  :host([no-animation]) #calendar-swipe-area.slide-in-previous {
@@ -5,7 +5,7 @@ import { ValidatorsMixinInterface, Validity } from "../../../mixins/validators.m
5
5
  import { FormMixinInterface } from "../../../mixins/form.mixin.js";
6
6
  import { FormLabelMixinInterface } from "../../../mixins/form-label.mixin.js";
7
7
  import { EditableMixinInterface } from "../../../mixins/editable.mixin.js";
8
- import { FieldVariantMixinInterface } from "../../../mixins/field-variant.mixin.js";
8
+ import { FieldAppearanceMixinInterface } from "../../../mixins/field-appearance.mixin.js";
9
9
  import { EunomiaIconName } from "../../content/icon/icon.type.js";
10
10
  import { Constructor } from "../../../utils/constructor.type.js";
11
11
  /**
@@ -20,14 +20,14 @@ export type EunomiaInputType = "text" | "email" | "number" | "tel" | "url" | "se
20
20
  * Type of the input base used to declare every necessary Mixin interface elements.
21
21
  * @internal
22
22
  */
23
- type EunomiaInputBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface<string> & FormMixinInterface<string> & EditableMixinInterface & FormLabelMixinInterface & FieldVariantMixinInterface;
23
+ type EunomiaInputBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface<string> & FormMixinInterface<string> & EditableMixinInterface & FormLabelMixinInterface & FieldAppearanceMixinInterface;
24
24
  declare const EunomiaInputMixinBase: Constructor<EunomiaInputBase>;
25
25
  /**
26
26
  * A single-line text field, supporting several native input types.
27
27
  *
28
28
  * @slot [icon] - Replaces the leading icon entirely with any content, not just an icon element. Falls back to icon when empty
29
29
  * @prop {'text' | 'email' | 'number' | 'tel' | 'url' | 'search' | 'password'} [type='text'] - The native input type to apply
30
- * @prop {'outline' | 'fill' | 'underline'} [variant='outline'] - The visual variant to apply to the field
30
+ * @prop {'outline' | 'flat' | 'underline'} [appearance='outline'] - How the field's surface is drawn: a bordered box, a muted background with no border, or a bottom border only
31
31
  * @prop {string} label - The title label of the field, rendered through the label component
32
32
  * @prop {string} instructions - Instructions displayed below the label
33
33
  * @prop {string} placeholder - The placeholder shown when the field is empty
@@ -37,7 +37,8 @@ declare const EunomiaInputMixinBase: Constructor<EunomiaInputBase>;
37
37
  * @prop {boolean} [disabled=false] - Whether the field is disabled
38
38
  * @prop {boolean} [readonly=false] - Whether the field is read only
39
39
  * @prop {boolean} [required=false] - Whether the field is required
40
- * @prop {boolean} [hideError=false] - Whether the errors are hidden
40
+ * @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
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
41
42
  * @prop {Array<Validators<string>>} validators - The list of validation rules applied to the field value
42
43
  * @prop {EunomiaIconName} icon - An optional leading icon
43
44
  * @prop {boolean} [clearable=false] - Whether a clear button is shown when the field has a value
@@ -64,6 +65,8 @@ declare const EunomiaInputMixinBase: Constructor<EunomiaInputBase>;
64
65
  * @cssprop [--field-border-color-focus] - Sets the border color on focus
65
66
  * @cssprop [--field-border-radius] - Sets the corner radius of the field
66
67
  * @cssprop [--field-padding] - Sets the padding of the field
68
+ * @cssprop [--field-padding-block] - Sets the vertical padding, as one length applied to both sides. Ignored when --field-padding is set
69
+ * @cssprop [--field-padding-inline] - Sets the horizontal padding, as one length applied to both sides. Ignored when --field-padding is set
67
70
  * @cssprop [--field-text-color] - Sets the text color of the field
68
71
  * @cssprop [--field-placeholder-color] - Sets the color of the placeholder
69
72
  * @cssprop [--field-icon-color] - Sets the color of the leading icon and action buttons
@@ -72,6 +75,9 @@ declare const EunomiaInputMixinBase: Constructor<EunomiaInputBase>;
72
75
  * @cssprop [--field-focus-outline-color] - Sets the color of the focus outline
73
76
  * @cssprop [--field-edit-confirm-color] - Sets the color of the confirm button in readonly-available edit mode
74
77
  * @cssprop [--field-edit-cancel-color] - Sets the color of the cancel button in readonly-available edit mode
78
+ * @cssprop [--field-font-size] - Sets the font size of the field's value and placeholder
79
+ * @cssprop [--field-label-font-size] - Sets the font size of the label
80
+ * @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
75
81
  * @element eun-input
76
82
  */
77
83
  export declare class EunomiaInput extends EunomiaInputMixinBase {
@@ -15,7 +15,7 @@ import { ValidatorsMixin, } from "../../../mixins/validators.mixin.js";
15
15
  import { FormMixin } from "../../../mixins/form.mixin.js";
16
16
  import { FormLabelMixin, } from "../../../mixins/form-label.mixin.js";
17
17
  import { EditableMixin, } from "../../../mixins/editable.mixin.js";
18
- import { FieldVariantMixin, } from "../../../mixins/field-variant.mixin.js";
18
+ import { FieldAppearanceMixin, } from "../../../mixins/field-appearance.mixin.js";
19
19
  import { ChangeEvent } from "../../../events/change.event.js";
20
20
  import { formLabelsStyles } from "../shared-styles/form-labels.styles.js";
21
21
  import { inputStyles } from "./input.styles.js";
@@ -29,13 +29,13 @@ export const EunomiaInputTagName = "eun-input";
29
29
  * @internal
30
30
  */
31
31
  const Base = DisabledMixin(ValidatorsMixin(LitElement));
32
- const EunomiaInputMixinBase = FieldVariantMixin(FormLabelMixin(ReadonlyMixin(EditableMixin(FormMixin(Base)))));
32
+ const EunomiaInputMixinBase = FieldAppearanceMixin(FormLabelMixin(ReadonlyMixin(EditableMixin(FormMixin(Base)))));
33
33
  /**
34
34
  * A single-line text field, supporting several native input types.
35
35
  *
36
36
  * @slot [icon] - Replaces the leading icon entirely with any content, not just an icon element. Falls back to icon when empty
37
37
  * @prop {'text' | 'email' | 'number' | 'tel' | 'url' | 'search' | 'password'} [type='text'] - The native input type to apply
38
- * @prop {'outline' | 'fill' | 'underline'} [variant='outline'] - The visual variant to apply to the field
38
+ * @prop {'outline' | 'flat' | 'underline'} [appearance='outline'] - How the field's surface is drawn: a bordered box, a muted background with no border, or a bottom border only
39
39
  * @prop {string} label - The title label of the field, rendered through the label component
40
40
  * @prop {string} instructions - Instructions displayed below the label
41
41
  * @prop {string} placeholder - The placeholder shown when the field is empty
@@ -45,7 +45,8 @@ const EunomiaInputMixinBase = FieldVariantMixin(FormLabelMixin(ReadonlyMixin(Edi
45
45
  * @prop {boolean} [disabled=false] - Whether the field is disabled
46
46
  * @prop {boolean} [readonly=false] - Whether the field is read only
47
47
  * @prop {boolean} [required=false] - Whether the field is required
48
- * @prop {boolean} [hideError=false] - Whether the errors are hidden
48
+ * @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
49
+ * @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
49
50
  * @prop {Array<Validators<string>>} validators - The list of validation rules applied to the field value
50
51
  * @prop {EunomiaIconName} icon - An optional leading icon
51
52
  * @prop {boolean} [clearable=false] - Whether a clear button is shown when the field has a value
@@ -72,6 +73,8 @@ const EunomiaInputMixinBase = FieldVariantMixin(FormLabelMixin(ReadonlyMixin(Edi
72
73
  * @cssprop [--field-border-color-focus] - Sets the border color on focus
73
74
  * @cssprop [--field-border-radius] - Sets the corner radius of the field
74
75
  * @cssprop [--field-padding] - Sets the padding of the field
76
+ * @cssprop [--field-padding-block] - Sets the vertical padding, as one length applied to both sides. Ignored when --field-padding is set
77
+ * @cssprop [--field-padding-inline] - Sets the horizontal padding, as one length applied to both sides. Ignored when --field-padding is set
75
78
  * @cssprop [--field-text-color] - Sets the text color of the field
76
79
  * @cssprop [--field-placeholder-color] - Sets the color of the placeholder
77
80
  * @cssprop [--field-icon-color] - Sets the color of the leading icon and action buttons
@@ -80,6 +83,9 @@ const EunomiaInputMixinBase = FieldVariantMixin(FormLabelMixin(ReadonlyMixin(Edi
80
83
  * @cssprop [--field-focus-outline-color] - Sets the color of the focus outline
81
84
  * @cssprop [--field-edit-confirm-color] - Sets the color of the confirm button in readonly-available edit mode
82
85
  * @cssprop [--field-edit-cancel-color] - Sets the color of the cancel button in readonly-available edit mode
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
84
90
  */
85
91
  let EunomiaInput = class EunomiaInput extends EunomiaInputMixinBase {
@@ -381,7 +387,7 @@ let EunomiaInput = class EunomiaInput extends EunomiaInputMixinBase {
381
387
  : this.type === "email"
382
388
  ? "email"
383
389
  : nothing}
384
- aria-invalid=${!this.hideError && !this.disabled && !this.valid}
390
+ aria-invalid=${this.showError}
385
391
  aria-label=${ifDefined(this.label)}
386
392
  aria-describedby=${hasDescription ? "description" : nothing}
387
393
  @input=${this.handleInput}
@@ -421,7 +427,7 @@ let EunomiaInput = class EunomiaInput extends EunomiaInputMixinBase {
421
427
  <eun-button
422
428
  class="confirm"
423
429
  size="s"
424
- variant="primary"
430
+ color="primary"
425
431
  appearance="default"
426
432
  rounded
427
433
  type="button"
@@ -37,7 +37,8 @@ declare const EunomiaInputFileMixinBase: Constructor<EunomiaInputFileBase>;
37
37
  * @prop {boolean} [disabled=false] - Whether the field is disabled
38
38
  * @prop {boolean} [readonly=false] - Whether the field is read only
39
39
  * @prop {boolean} [required=false] - Whether at least one file is required
40
- * @prop {boolean} [hideError=false] - Whether the errors are hidden
40
+ * @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
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
41
42
  * @prop {Array<import('../../../types/form-validators.type.js').Validators<File[]>>} validators - The list of validation rules applied to the field value
42
43
  * @prop {string} [dropLabel='Drag and drop files here, or'] - Static text displayed in the dropzone
43
44
  * @attr {string} [drop-label='Drag and drop files here, or'] - Static text displayed in the dropzone
@@ -72,6 +73,8 @@ declare const EunomiaInputFileMixinBase: Constructor<EunomiaInputFileBase>;
72
73
  * @cssprop [--input-file-item-border-color] - Sets the border color of each item
73
74
  * @cssprop [--input-file-gap] - Sets the gap between the dropzone, header, and items
74
75
  * @cssprop [--input-file-thumbnail-size] - Sets the minimum size of image thumbnails
76
+ * @cssprop [--field-label-font-size] - Sets the font size of the label
77
+ * @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
75
78
  * @element eun-input-file
76
79
  */
77
80
  export declare class EunomiaInputFile extends EunomiaInputFileMixinBase {
@@ -44,7 +44,8 @@ const EunomiaInputFileMixinBase = FormLabelMixin(ReadonlyMixin(FormMixin(Base)))
44
44
  * @prop {boolean} [disabled=false] - Whether the field is disabled
45
45
  * @prop {boolean} [readonly=false] - Whether the field is read only
46
46
  * @prop {boolean} [required=false] - Whether at least one file is required
47
- * @prop {boolean} [hideError=false] - Whether the errors are hidden
47
+ * @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
48
+ * @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
48
49
  * @prop {Array<import('../../../types/form-validators.type.js').Validators<File[]>>} validators - The list of validation rules applied to the field value
49
50
  * @prop {string} [dropLabel='Drag and drop files here, or'] - Static text displayed in the dropzone
50
51
  * @attr {string} [drop-label='Drag and drop files here, or'] - Static text displayed in the dropzone
@@ -79,6 +80,8 @@ const EunomiaInputFileMixinBase = FormLabelMixin(ReadonlyMixin(FormMixin(Base)))
79
80
  * @cssprop [--input-file-item-border-color] - Sets the border color of each item
80
81
  * @cssprop [--input-file-gap] - Sets the gap between the dropzone, header, and items
81
82
  * @cssprop [--input-file-thumbnail-size] - Sets the minimum size of image thumbnails
83
+ * @cssprop [--field-label-font-size] - Sets the font size of the label
84
+ * @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
82
85
  * @element eun-input-file
83
86
  */
84
87
  let EunomiaInputFile = class EunomiaInputFile extends EunomiaInputFileMixinBase {
@@ -446,7 +449,7 @@ let EunomiaInputFile = class EunomiaInputFile extends EunomiaInputFileMixinBase
446
449
  const next = current.filter((candidate) => candidate !== file);
447
450
  this.value = next;
448
451
  this.dispatchEvent(new ChangeEvent(this.value));
449
- this.updateComplete.then(() => {
452
+ void this.updateComplete.then(() => {
450
453
  if (!next.length) {
451
454
  this.firstFocusable()?.focus();
452
455
  return;
@@ -463,7 +466,7 @@ let EunomiaInputFile = class EunomiaInputFile extends EunomiaInputFileMixinBase
463
466
  this.selected = new Set();
464
467
  this.value = [];
465
468
  this.dispatchEvent(new ChangeEvent(this.value));
466
- this.updateComplete.then(() => this.firstFocusable()?.focus());
469
+ void this.updateComplete.then(() => this.firstFocusable()?.focus());
467
470
  }
468
471
  /**
469
472
  * Removes every currently-selected file.
@@ -475,7 +478,7 @@ let EunomiaInputFile = class EunomiaInputFile extends EunomiaInputFileMixinBase
475
478
  this.selected = new Set();
476
479
  this.value = next;
477
480
  this.dispatchEvent(new ChangeEvent(this.value));
478
- this.updateComplete.then(() => this.firstFocusable()?.focus());
481
+ void this.updateComplete.then(() => this.firstFocusable()?.focus());
479
482
  }
480
483
  toggleSelected(file, checked) {
481
484
  const next = new Set(this.selected);
@@ -594,7 +597,7 @@ let EunomiaInputFile = class EunomiaInputFile extends EunomiaInputFileMixinBase
594
597
  ?multiple=${this.multiple}
595
598
  ?disabled=${disabled}
596
599
  aria-label=${ifDefined(this.label)}
597
- aria-invalid=${!this.hideError && !this.disabled && !this.valid}
600
+ aria-invalid=${this.showError}
598
601
  aria-describedby=${hasDescription ? "description" : nothing}
599
602
  @change=${this.handleNativeChange}
600
603
  />
@@ -99,8 +99,9 @@ const base = css `
99
99
  cursor: pointer;
100
100
  box-sizing: border-box;
101
101
  transition:
102
- border-color 0.15s ease,
103
- background-color 0.15s ease;
102
+ border-color var(--eun-duration-s, 150ms) var(--eun-easing-default, ease),
103
+ background-color var(--eun-duration-s, 150ms)
104
+ var(--eun-easing-default, ease);
104
105
  }
105
106
  #dropzone #drop-icon {
106
107
  --icon-color: var(--_iconColor);
@@ -4,7 +4,7 @@ import { ReadonlyMixinInterface } from "../../../mixins/readonly.mixin.js";
4
4
  import { ValidatorsMixinInterface } from "../../../mixins/validators.mixin.js";
5
5
  import { FormMixinInterface } from "../../../mixins/form.mixin.js";
6
6
  import { FormLabelMixinInterface } from "../../../mixins/form-label.mixin.js";
7
- import { FieldVariantMixinInterface } from "../../../mixins/field-variant.mixin.js";
7
+ import { FieldAppearanceMixinInterface } from "../../../mixins/field-appearance.mixin.js";
8
8
  import { AnchorPositionMixinInterface } from "../../../mixins/anchor-position.mixin.js";
9
9
  import { Constructor } from "../../../utils/constructor.type.js";
10
10
  /**
@@ -16,7 +16,7 @@ export declare const EunomiaInputPhoneTagName = "eun-input-phone";
16
16
  * interface element.
17
17
  * @internal
18
18
  */
19
- type EunomiaInputPhoneBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface<string> & FormMixinInterface<string> & FormLabelMixinInterface & FieldVariantMixinInterface & AnchorPositionMixinInterface;
19
+ type EunomiaInputPhoneBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface<string> & FormMixinInterface<string> & FormLabelMixinInterface & FieldAppearanceMixinInterface & AnchorPositionMixinInterface;
20
20
  declare const EunomiaInputPhoneMixinBase: Constructor<EunomiaInputPhoneBase>;
21
21
  /**
22
22
  * A phone number field rendered in two adjacent parts: a compact country
@@ -38,7 +38,7 @@ declare const EunomiaInputPhoneMixinBase: Constructor<EunomiaInputPhoneBase>;
38
38
  * digits only.
39
39
  *
40
40
  * @slot [default] - An optional list of option elements restricting which countries appear in the dropdown, such as an option with value FR for France. When omitted, every built-in country is available
41
- * @prop {'outline' | 'fill' | 'underline'} [variant='outline'] - The visual variant to apply to the field
41
+ * @prop {'outline' | 'flat' | 'underline'} [appearance='outline'] - How the field's surface is drawn: a bordered box, a muted background with no border, or a bottom border only
42
42
  * @prop {string} label - The title label of the field, rendered through the label component
43
43
  * @prop {string} instructions - Instructions displayed below the label
44
44
  * @prop {string} name - The field name
@@ -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.