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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (516) hide show
  1. package/README.md +2 -2
  2. package/dist/breakpoints.d.ts +37 -10
  3. package/dist/breakpoints.js +38 -10
  4. package/dist/cdn/components/chunks/{chunk-MMLIPCOY.js → chunk-22D3SRFR.js} +1 -1
  5. package/dist/cdn/components/chunks/chunk-36KLGY6U.js +209 -0
  6. package/dist/cdn/components/chunks/chunk-3BMACIDO.js +1 -0
  7. package/dist/cdn/components/chunks/{chunk-IDKZKLJR.js → chunk-3PNGQEG4.js} +24 -11
  8. package/dist/cdn/components/chunks/{chunk-NBIENHLV.js → chunk-5XPOGBPL.js} +18 -18
  9. package/dist/cdn/components/chunks/chunk-624VJYNA.js +1 -0
  10. package/dist/cdn/components/chunks/chunk-62RLISRD.js +1 -0
  11. package/dist/cdn/components/chunks/{chunk-6ETDXUH2.js → chunk-6FYW5TQU.js} +7 -7
  12. package/dist/cdn/components/chunks/chunk-AK2DIJX7.js +1 -0
  13. package/dist/cdn/components/chunks/chunk-B5XMGWM7.js +10 -0
  14. package/dist/cdn/components/chunks/chunk-BKZGTCMF.js +1 -0
  15. package/dist/cdn/components/chunks/{chunk-GW3VP2L7.js → chunk-BO3JOEWM.js} +1 -1
  16. package/dist/cdn/components/chunks/chunk-BVASCT2V.js +109 -0
  17. package/dist/cdn/components/chunks/{chunk-DKOPI7QA.js → chunk-DGI7TKCU.js} +83 -68
  18. package/dist/cdn/components/chunks/chunk-EUWUDCBZ.js +1 -0
  19. package/dist/cdn/components/chunks/{chunk-P32B7BFD.js → chunk-FF3I7C3C.js} +15 -15
  20. package/dist/cdn/components/chunks/{chunk-74AOAB4X.js → chunk-FOILAXLL.js} +6 -5
  21. package/dist/cdn/components/chunks/{chunk-LGLQ36QB.js → chunk-GDBPWZN6.js} +1 -1
  22. package/dist/cdn/components/chunks/chunk-GVS6IUKC.js +1 -0
  23. package/dist/cdn/components/chunks/chunk-GWLD2I3P.js +8 -0
  24. package/dist/cdn/components/chunks/{chunk-JRGM3W7I.js → chunk-I4ERDXSM.js} +9 -4
  25. package/dist/cdn/components/chunks/{chunk-AIS3UICU.js → chunk-J3SZBXM6.js} +11 -7
  26. package/dist/cdn/components/chunks/{chunk-5XJGYXW7.js → chunk-LVKMAHMU.js} +11 -1
  27. package/dist/cdn/components/chunks/{chunk-SD2WHGPF.js → chunk-MQQJ6DID.js} +1 -1
  28. package/dist/cdn/components/chunks/{chunk-A4EQSU36.js → chunk-O7PHBLH2.js} +1 -1
  29. package/dist/cdn/components/chunks/chunk-PD62MBOJ.js +1 -0
  30. package/dist/cdn/components/chunks/{chunk-5EVP7YNE.js → chunk-PPCHQG7P.js} +1 -1
  31. package/dist/cdn/components/chunks/{chunk-MPQP4R54.js → chunk-PXF554MD.js} +10 -9
  32. package/dist/cdn/components/chunks/chunk-QL5GSW2A.js +1 -0
  33. package/dist/cdn/components/chunks/{chunk-5XJLIHAU.js → chunk-QXQ25SQS.js} +24 -20
  34. package/dist/cdn/components/chunks/chunk-SMTIDNGW.js +1 -0
  35. package/dist/cdn/components/chunks/{chunk-PED5ATYN.js → chunk-SVGWCKWT.js} +2 -2
  36. package/dist/cdn/components/chunks/{chunk-2XASWWKR.js → chunk-TFTRCIIK.js} +9 -8
  37. package/dist/cdn/components/chunks/chunk-TLBXTBMM.js +46 -0
  38. package/dist/cdn/components/chunks/chunk-UVHVQRPT.js +1 -0
  39. package/dist/cdn/components/chunks/{chunk-L65WUTXM.js → chunk-UYZR4JXZ.js} +12 -7
  40. package/dist/cdn/components/chunks/chunk-VG6NAAIV.js +1 -0
  41. package/dist/cdn/components/chunks/chunk-VJCNHMQZ.js +10 -0
  42. package/dist/cdn/components/chunks/chunk-WW4BTWMH.js +1 -0
  43. package/dist/cdn/components/chunks/{chunk-XH6NREVZ.js → chunk-YITWLCD3.js} +1 -1
  44. package/dist/cdn/components/chunks/{chunk-OW7XKDCH.js → chunk-Z3OFIE7S.js} +16 -16
  45. package/dist/cdn/components/chunks/{chunk-BQHYZB2W.js → chunk-ZBN4HTWP.js} +1 -1
  46. package/dist/cdn/components/eun-alert.js +33 -18
  47. package/dist/cdn/components/eun-animate.js +14 -10
  48. package/dist/cdn/components/eun-badge.js +2 -2
  49. package/dist/cdn/components/eun-breadcrumb.js +25 -41
  50. package/dist/cdn/components/eun-button.js +1 -1
  51. package/dist/cdn/components/eun-calendar.js +67 -65
  52. package/dist/cdn/components/eun-card.js +34 -19
  53. package/dist/cdn/components/eun-carousel.js +76 -42
  54. package/dist/cdn/components/eun-check-card.js +13 -6
  55. package/dist/cdn/components/eun-checkbox-list.js +11 -8
  56. package/dist/cdn/components/eun-checkbox.js +1 -1
  57. package/dist/cdn/components/eun-chip.js +3 -3
  58. package/dist/cdn/components/eun-collapse.js +56 -27
  59. package/dist/cdn/components/eun-color-picker.js +79 -86
  60. package/dist/cdn/components/eun-counter.js +16 -15
  61. package/dist/cdn/components/eun-date-picker.js +71 -67
  62. package/dist/cdn/components/eun-description-list.js +152 -0
  63. package/dist/cdn/components/eun-divider.js +3 -3
  64. package/dist/cdn/components/eun-drawer.js +34 -20
  65. package/dist/cdn/components/eun-dropdown-button.js +1 -1
  66. package/dist/cdn/components/eun-dropdown-item.js +6 -5
  67. package/dist/cdn/components/eun-fab.js +17 -16
  68. package/dist/cdn/components/eun-icon.js +1 -1
  69. package/dist/cdn/components/eun-image-card.js +79 -22
  70. package/dist/cdn/components/eun-image-carousel.js +92 -47
  71. package/dist/cdn/components/eun-infinite-list.js +23 -11
  72. package/dist/cdn/components/eun-input-file.js +20 -19
  73. package/dist/cdn/components/eun-input-phone.js +17 -16
  74. package/dist/cdn/components/eun-input.js +1 -1
  75. package/dist/cdn/components/eun-label.js +4 -4
  76. package/dist/cdn/components/eun-link.js +78 -29
  77. package/dist/cdn/components/eun-loader.js +1 -1
  78. package/dist/cdn/components/eun-modal.js +27 -20
  79. package/dist/cdn/components/eun-pagination.js +24 -19
  80. package/dist/cdn/components/eun-password-strength.js +19 -11
  81. package/dist/cdn/components/eun-progress-bar.js +13 -5
  82. package/dist/cdn/components/eun-radio-card.js +16 -9
  83. package/dist/cdn/components/eun-radio-list.js +12 -9
  84. package/dist/cdn/components/eun-radio.js +1 -1
  85. package/dist/cdn/components/eun-rating.js +276 -0
  86. package/dist/cdn/components/eun-scheduler-event-editor.js +10 -10
  87. package/dist/cdn/components/eun-scheduler-event.js +1 -1
  88. package/dist/cdn/components/eun-scheduler.js +27 -27
  89. package/dist/cdn/components/eun-search.js +24 -25
  90. package/dist/cdn/components/eun-select.js +32 -31
  91. package/dist/cdn/components/eun-sidebar.js +40 -24
  92. package/dist/cdn/components/eun-skeleton.js +1 -1
  93. package/dist/cdn/components/eun-slider.js +15 -14
  94. package/dist/cdn/components/eun-sliding-card.js +8 -4
  95. package/dist/cdn/components/eun-step.js +22 -10
  96. package/dist/cdn/components/eun-stepper.js +41 -30
  97. package/dist/cdn/components/eun-switch.js +10 -8
  98. package/dist/cdn/components/eun-tab-group.js +24 -19
  99. package/dist/cdn/components/eun-tab-panel.js +11 -3
  100. package/dist/cdn/components/eun-tab.js +1 -1
  101. package/dist/cdn/components/eun-table-action-bar.js +1 -1
  102. package/dist/cdn/components/eun-table.js +572 -31
  103. package/dist/cdn/components/eun-tag.js +13 -7
  104. package/dist/cdn/components/eun-textarea.js +34 -29
  105. package/dist/cdn/components/eun-time-picker.js +24 -21
  106. package/dist/cdn/components/eun-toast.js +51 -22
  107. package/dist/cdn/components/eun-toggle-group.js +57 -36
  108. package/dist/cdn/components/eun-toggle-item.js +16 -15
  109. package/dist/cdn/components/eun-toggle.js +12 -10
  110. package/dist/cdn/components/eun-toolbar.js +64 -54
  111. package/dist/cdn/components/eun-tooltip.js +30 -14
  112. package/dist/cdn/styles/breakpoints.scss +8 -0
  113. package/dist/cdn/styles/eunomia-grid.scss +6 -0
  114. package/dist/cdn/styles/eunomia-themes.css +1 -1
  115. package/dist/cdn/styles/themes/eunomia-theme.css +1 -1
  116. package/dist/cdn/styles/themes/eunomia-theme.scss +4 -3
  117. package/dist/cdn/styles/themes/mixins/eunomia-a11y-color.mixin.scss +34 -1
  118. package/dist/cdn/styles/themes/mixins/eunomia-neutrals.mixin.scss +4 -0
  119. package/dist/cdn/styles/themes/mixins/eunomia-states.mixin.scss +36 -12
  120. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +10 -10
  121. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +10 -10
  122. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.css +1 -1
  123. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +3 -2
  124. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +10 -10
  125. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +10 -10
  126. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.css +1 -1
  127. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +3 -2
  128. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +10 -10
  129. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +10 -10
  130. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.css +1 -1
  131. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +3 -2
  132. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +10 -10
  133. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +10 -10
  134. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.css +1 -1
  135. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +3 -2
  136. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +10 -10
  137. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +10 -10
  138. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.css +1 -1
  139. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +3 -2
  140. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +10 -10
  141. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +10 -10
  142. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.css +1 -1
  143. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +3 -2
  144. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +10 -10
  145. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +10 -10
  146. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.css +1 -1
  147. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +3 -2
  148. package/dist/cdn/styles/tools/indexes/eunomia-media-queries.index.scss +1 -3
  149. package/dist/cdn/styles/tools/indexes/eunomia-tools.index.scss +1 -0
  150. package/dist/cdn/styles/tools/mixins/layout/eunomia-grid.mixin.scss +117 -53
  151. package/dist/cdn/styles/tools/mixins/media-queries/eunomia-media-queries.mixin.scss +69 -0
  152. package/dist/cdn/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +28 -4
  153. package/dist/cdn/styles/tools/mixins/settings/eunomia-motion.mixin.scss +9 -0
  154. package/dist/cdn/styles/tools/variables/eunomia.breakpoints.scss +4 -0
  155. package/dist/components/action/button/button.d.ts +9 -3
  156. package/dist/components/action/button/button.js +10 -4
  157. package/dist/components/action/button/button.styles.js +61 -41
  158. package/dist/components/action/dropdown-button/dropdown-button.d.ts +2 -2
  159. package/dist/components/action/dropdown-button/dropdown-button.js +21 -15
  160. package/dist/components/action/dropdown-button/dropdown-button.styles.js +3 -2
  161. package/dist/components/action/dropdown-button/dropdown-item.js +5 -6
  162. package/dist/components/action/dropdown-button/dropdown-item.styles.js +3 -2
  163. package/dist/components/action/fab/fab.styles.js +14 -13
  164. package/dist/components/action/link/link.d.ts +7 -3
  165. package/dist/components/action/link/link.js +11 -7
  166. package/dist/components/action/link/link.styles.js +66 -15
  167. package/dist/components/action/shared-styles/button-palette.styles.js +15 -15
  168. package/dist/components/action/toggle/toggle-group.d.ts +2 -0
  169. package/dist/components/action/toggle/toggle-group.js +6 -4
  170. package/dist/components/action/toggle/toggle-group.styles.d.ts +2 -0
  171. package/dist/components/action/toggle/toggle-group.styles.js +46 -23
  172. package/dist/components/action/toggle/toggle-item.styles.js +13 -12
  173. package/dist/components/action/toggle/toggle.d.ts +2 -0
  174. package/dist/components/action/toggle/toggle.js +3 -1
  175. package/dist/components/action/toggle/toggle.styles.d.ts +2 -0
  176. package/dist/components/action/toggle/toggle.styles.js +12 -8
  177. package/dist/components/alert/alert/alert.d.ts +11 -7
  178. package/dist/components/alert/alert/alert.js +13 -14
  179. package/dist/components/alert/alert/alert.styles.js +32 -15
  180. package/dist/components/alert/drawer/drawer.d.ts +8 -6
  181. package/dist/components/alert/drawer/drawer.js +12 -14
  182. package/dist/components/alert/drawer/drawer.styles.js +26 -10
  183. package/dist/components/alert/modal/modal.d.ts +13 -11
  184. package/dist/components/alert/modal/modal.js +17 -27
  185. package/dist/components/alert/modal/modal.styles.js +16 -7
  186. package/dist/components/alert/toast/toast.d.ts +9 -5
  187. package/dist/components/alert/toast/toast.js +11 -13
  188. package/dist/components/alert/toast/toast.styles.js +49 -18
  189. package/dist/components/content/badge/badge.js +2 -2
  190. package/dist/components/content/card/card.d.ts +7 -3
  191. package/dist/components/content/card/card.js +8 -4
  192. package/dist/components/content/card/card.styles.js +28 -13
  193. package/dist/components/content/card/image-card.d.ts +60 -6
  194. package/dist/components/content/card/image-card.js +120 -11
  195. package/dist/components/content/card/image-card.styles.js +66 -15
  196. package/dist/components/content/card/sliding-card.d.ts +2 -0
  197. package/dist/components/content/card/sliding-card.js +2 -0
  198. package/dist/components/content/card/sliding-card.styles.js +5 -1
  199. package/dist/components/content/chip/chip.d.ts +4 -4
  200. package/dist/components/content/chip/chip.js +8 -8
  201. package/dist/components/content/collapse/collapse.d.ts +10 -1
  202. package/dist/components/content/collapse/collapse.js +12 -2
  203. package/dist/components/content/collapse/collapse.styles.d.ts +10 -1
  204. package/dist/components/content/collapse/collapse.styles.js +56 -18
  205. package/dist/components/content/description-list/description-list.d.ts +87 -0
  206. package/dist/components/content/description-list/description-list.js +107 -0
  207. package/dist/components/content/description-list/description-list.styles.d.ts +1 -0
  208. package/dist/components/content/description-list/description-list.styles.js +185 -0
  209. package/dist/components/content/icon/icon.d.ts +5 -0
  210. package/dist/components/content/icon/icon.js +5 -0
  211. package/dist/components/content/icon/icon.style.d.ts +2 -0
  212. package/dist/components/content/icon/icon.style.js +8 -1
  213. package/dist/components/content/image-carousel/image-carousel.d.ts +30 -19
  214. package/dist/components/content/image-carousel/image-carousel.js +58 -55
  215. package/dist/components/content/image-carousel/image-carousel.styles.js +69 -30
  216. package/dist/components/content/password-strength/password-strength.d.ts +21 -6
  217. package/dist/components/content/password-strength/password-strength.js +37 -16
  218. package/dist/components/content/password-strength/password-strength.styles.js +9 -1
  219. package/dist/components/content/progress-bar/progress-bar.styles.js +12 -4
  220. package/dist/components/content/shared-styles/card-link.styles.js +4 -3
  221. package/dist/components/content/shared-styles/tone-surface.styles.d.ts +5 -0
  222. package/dist/components/content/shared-styles/tone-surface.styles.js +19 -14
  223. package/dist/components/content/tag/tag.d.ts +4 -0
  224. package/dist/components/content/tag/tag.js +6 -2
  225. package/dist/components/content/tag/tag.styles.js +14 -4
  226. package/dist/components/content/tooltip/tooltip.d.ts +3 -2
  227. package/dist/components/content/tooltip/tooltip.js +12 -19
  228. package/dist/components/content/tooltip/tooltip.styles.js +25 -7
  229. package/dist/components/form/checkbox/check-card.d.ts +5 -1
  230. package/dist/components/form/checkbox/check-card.js +5 -1
  231. package/dist/components/form/checkbox/check-card.styles.js +13 -4
  232. package/dist/components/form/checkbox/checkbox-list.d.ts +21 -1
  233. package/dist/components/form/checkbox/checkbox-list.js +50 -17
  234. package/dist/components/form/checkbox/checkbox.d.ts +5 -1
  235. package/dist/components/form/checkbox/checkbox.js +7 -2
  236. package/dist/components/form/checkbox/checkbox.styles.js +5 -4
  237. package/dist/components/form/color-picker/color-picker.d.ts +48 -29
  238. package/dist/components/form/color-picker/color-picker.js +85 -71
  239. package/dist/components/form/color-picker/color-picker.styles.js +7 -6
  240. package/dist/components/form/counter/counter.d.ts +26 -19
  241. package/dist/components/form/counter/counter.js +64 -63
  242. package/dist/components/form/counter/counter.styles.js +5 -4
  243. package/dist/components/form/date-picker/date-picker.d.ts +64 -39
  244. package/dist/components/form/date-picker/date-picker.js +107 -96
  245. package/dist/components/form/date-picker/date-picker.styles.js +8 -5
  246. package/dist/components/form/input/input.d.ts +45 -40
  247. package/dist/components/form/input/input.js +93 -111
  248. package/dist/components/form/input-file/input-file.d.ts +30 -14
  249. package/dist/components/form/input-file/input-file.js +43 -40
  250. package/dist/components/form/input-file/input-file.styles.js +7 -6
  251. package/dist/components/form/input-phone/input-phone.d.ts +30 -7
  252. package/dist/components/form/input-phone/input-phone.js +54 -30
  253. package/dist/components/form/input-phone/input-phone.styles.js +4 -4
  254. package/dist/components/form/label/label.styles.js +3 -3
  255. package/dist/components/form/radio/radio-card.d.ts +6 -2
  256. package/dist/components/form/radio/radio-card.js +6 -2
  257. package/dist/components/form/radio/radio-card.styles.js +14 -5
  258. package/dist/components/form/radio/radio-list.d.ts +28 -9
  259. package/dist/components/form/radio/radio-list.js +61 -32
  260. package/dist/components/form/radio/radio.d.ts +6 -2
  261. package/dist/components/form/radio/radio.js +6 -2
  262. package/dist/components/form/radio/radio.styles.js +4 -4
  263. package/dist/components/form/rating/rating.d.ts +349 -0
  264. package/dist/components/form/rating/rating.js +665 -0
  265. package/dist/components/form/rating/rating.styles.d.ts +1 -0
  266. package/dist/components/form/rating/rating.styles.js +213 -0
  267. package/dist/components/form/search/search.d.ts +10 -9
  268. package/dist/components/form/search/search.js +29 -56
  269. package/dist/components/form/search/search.styles.js +5 -4
  270. package/dist/components/form/select/select.d.ts +32 -12
  271. package/dist/components/form/select/select.js +74 -59
  272. package/dist/components/form/select/select.styles.js +3 -2
  273. package/dist/components/form/shared-styles/card.styles.js +5 -4
  274. package/dist/components/form/shared-styles/field.styles.js +16 -6
  275. package/dist/components/form/shared-styles/form-labels.styles.js +1 -1
  276. package/dist/components/form/shared-styles/listbox.styles.js +10 -0
  277. package/dist/components/form/slider/slider.d.ts +11 -9
  278. package/dist/components/form/slider/slider.js +14 -14
  279. package/dist/components/form/slider/slider.styles.js +8 -7
  280. package/dist/components/form/switch/switch.d.ts +5 -1
  281. package/dist/components/form/switch/switch.js +5 -1
  282. package/dist/components/form/switch/switch.styles.js +7 -5
  283. package/dist/components/form/textarea/textarea.d.ts +96 -24
  284. package/dist/components/form/textarea/textarea.js +206 -51
  285. package/dist/components/form/time-picker/time-picker-columns.d.ts +2 -2
  286. package/dist/components/form/time-picker/time-picker-columns.js +8 -8
  287. package/dist/components/form/time-picker/time-picker-columns.styles.js +4 -2
  288. package/dist/components/form/time-picker/time-picker-list.styles.js +2 -1
  289. package/dist/components/form/time-picker/time-picker.d.ts +30 -10
  290. package/dist/components/form/time-picker/time-picker.js +81 -64
  291. package/dist/components/form/time-picker/time-picker.styles.js +4 -3
  292. package/dist/components/layout/animate/animate.d.ts +37 -15
  293. package/dist/components/layout/animate/animate.js +36 -16
  294. package/dist/components/layout/animate/animate.styles.js +11 -18
  295. package/dist/components/layout/divider/divider.js +1 -1
  296. package/dist/components/layout/divider/divider.styles.js +1 -1
  297. package/dist/components/layout/infinite-list/infinite-list.d.ts +33 -10
  298. package/dist/components/layout/infinite-list/infinite-list.js +115 -18
  299. package/dist/components/layout/infinite-list/infinite-list.styles.d.ts +3 -0
  300. package/dist/components/layout/infinite-list/infinite-list.styles.js +17 -5
  301. package/dist/components/loader/loader/loader.js +2 -2
  302. package/dist/components/loader/loader/loader.styles.js +17 -13
  303. package/dist/components/loader/skeleton/skeleton.js +1 -1
  304. package/dist/components/navigation/breadcrumb/breadcrumb.d.ts +31 -45
  305. package/dist/components/navigation/breadcrumb/breadcrumb.js +111 -77
  306. package/dist/components/navigation/breadcrumb/breadcrumb.styles.d.ts +3 -0
  307. package/dist/components/navigation/breadcrumb/breadcrumb.styles.js +22 -26
  308. package/dist/components/navigation/carousel/carousel.d.ts +55 -11
  309. package/dist/components/navigation/carousel/carousel.js +101 -43
  310. package/dist/components/navigation/carousel/carousel.styles.js +65 -22
  311. package/dist/components/navigation/pagination/pagination.d.ts +23 -21
  312. package/dist/components/navigation/pagination/pagination.js +30 -53
  313. package/dist/components/navigation/pagination/pagination.styles.js +8 -3
  314. package/dist/components/navigation/sidebar/sidebar.d.ts +17 -13
  315. package/dist/components/navigation/sidebar/sidebar.js +23 -33
  316. package/dist/components/navigation/sidebar/sidebar.styles.js +32 -14
  317. package/dist/components/navigation/stepper/step.js +9 -8
  318. package/dist/components/navigation/stepper/step.styles.js +16 -5
  319. package/dist/components/navigation/stepper/stepper.js +12 -5
  320. package/dist/components/navigation/stepper/stepper.styles.js +16 -5
  321. package/dist/components/navigation/tabs/tab/tab.d.ts +11 -0
  322. package/dist/components/navigation/tabs/tab/tab.js +11 -0
  323. package/dist/components/navigation/tabs/tab/tab.styles.js +22 -16
  324. package/dist/components/navigation/tabs/tab-group/tab-group.js +9 -10
  325. package/dist/components/navigation/tabs/tab-group/tab-group.styles.js +21 -16
  326. package/dist/components/navigation/tabs/tab-panel/tab-panel.d.ts +4 -0
  327. package/dist/components/navigation/tabs/tab-panel/tab-panel.js +4 -0
  328. package/dist/components/navigation/tabs/tab-panel/tab-panel.styles.js +18 -1
  329. package/dist/components/navigation/toolbar/toolbar.d.ts +30 -62
  330. package/dist/components/navigation/toolbar/toolbar.js +43 -105
  331. package/dist/components/navigation/toolbar/toolbar.styles.js +59 -36
  332. package/dist/events/table-row-click.event.d.ts +5 -4
  333. package/dist/events/table-row-click.event.js +10 -5
  334. package/dist/features/scheduler/calendar/calendar.d.ts +6 -6
  335. package/dist/features/scheduler/calendar/calendar.js +7 -6
  336. package/dist/features/scheduler/calendar/calendar.styles.js +8 -6
  337. package/dist/features/scheduler/scheduler/scheduler.d.ts +8 -8
  338. package/dist/features/scheduler/scheduler/scheduler.js +24 -47
  339. package/dist/features/scheduler/scheduler/scheduler.styles.js +6 -4
  340. package/dist/features/scheduler/scheduler-event/scheduler-event.d.ts +2 -0
  341. package/dist/features/scheduler/scheduler-event/scheduler-event.js +5 -3
  342. package/dist/features/scheduler/scheduler-event/scheduler-event.styles.js +11 -5
  343. package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.d.ts +6 -4
  344. package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.js +6 -7
  345. package/dist/features/scheduler/shared/scheduler-hour-grid.styles.js +3 -3
  346. package/dist/features/scheduler/shared/scheduler-month-view.styles.js +2 -2
  347. package/dist/features/scheduler/shared/scheduler-year-view.styles.js +2 -2
  348. package/dist/features/table/table/table-native.styles.d.ts +28 -0
  349. package/dist/features/table/table/table-native.styles.js +502 -0
  350. package/dist/features/table/table/table.d.ts +342 -294
  351. package/dist/features/table/table/table.js +820 -546
  352. package/dist/features/table/table/table.styles.js +31 -17
  353. package/dist/features/table/table/table.types.d.ts +11 -20
  354. package/dist/features/table/table/table.utils.d.ts +6 -36
  355. package/dist/features/table/table/table.utils.js +16 -65
  356. package/dist/features/table/table-action-bar/table-action-bar.d.ts +33 -16
  357. package/dist/features/table/table-action-bar/table-action-bar.js +15 -22
  358. package/dist/features/table/table-action-bar/table-action-bar.styles.js +15 -3
  359. package/dist/i18n/en.d.ts +99 -0
  360. package/dist/i18n/en.js +99 -0
  361. package/dist/i18n/fr.js +103 -2
  362. package/dist/index.d.ts +6 -10
  363. package/dist/index.js +7 -10
  364. package/dist/mixins/button.mixin.js +3 -2
  365. package/dist/mixins/check.mixin.js +15 -15
  366. package/dist/mixins/disabled.mixin.d.ts +5 -0
  367. package/dist/mixins/disabled.mixin.js +21 -1
  368. package/dist/mixins/editable.mixin.js +28 -5
  369. package/dist/mixins/field-appearance.mixin.js +3 -2
  370. package/dist/mixins/form.mixin.d.ts +21 -1
  371. package/dist/mixins/form.mixin.js +156 -27
  372. package/dist/mixins/localizable.mixin.d.ts +1 -1
  373. package/dist/mixins/localizable.mixin.js +1 -1
  374. package/dist/mixins/radio.mixin.js +15 -15
  375. package/dist/mixins/readonly.mixin.d.ts +2 -1
  376. package/dist/mixins/readonly.mixin.js +10 -3
  377. package/dist/mixins/validators.mixin.d.ts +7 -1
  378. package/dist/mixins/validators.mixin.js +36 -17
  379. package/dist/ssr/alert-ssr.css +187 -0
  380. package/dist/ssr/animate-ssr.css +3 -2
  381. package/dist/ssr/badge-ssr.css +67 -0
  382. package/dist/ssr/breadcrumb-ssr.css +41 -0
  383. package/dist/ssr/button-ssr.css +319 -0
  384. package/dist/ssr/card-ssr.css +196 -0
  385. package/dist/ssr/carousel-ssr.css +238 -0
  386. package/dist/ssr/checkbox-ssr.css +67 -0
  387. package/dist/ssr/chip-ssr.css +242 -0
  388. package/dist/ssr/collapse-ssr.css +151 -0
  389. package/dist/ssr/description-list-ssr.css +150 -0
  390. package/dist/ssr/field-ssr.css +163 -0
  391. package/dist/ssr/icon-ssr.css +266 -0
  392. package/dist/ssr/image-carousel-ssr.css +24 -0
  393. package/dist/ssr/links-ssr.css +8 -2
  394. package/dist/ssr/pagination-ssr.css +4 -0
  395. package/dist/ssr/rating-ssr.css +254 -0
  396. package/dist/ssr/sidebar-ssr.css +9 -1
  397. package/dist/ssr/skeleton-ssr.css +63 -0
  398. package/dist/ssr/table-ssr.css +472 -0
  399. package/dist/ssr/tabs-ssr.css +129 -0
  400. package/dist/ssr/tag-ssr.css +197 -0
  401. package/dist/ssr/toggle-group-ssr.css +182 -0
  402. package/dist/ssr/toolbar-ssr.css +34 -1
  403. package/dist/utils/drag-drop.utils.js +18 -2
  404. package/dist/utils/dropdown-menu.utils.d.ts +2 -2
  405. package/dist/utils/dropdown-menu.utils.js +4 -14
  406. package/dist/utils/implicit-submission.utils.d.ts +18 -0
  407. package/dist/utils/implicit-submission.utils.js +79 -0
  408. package/dist/utils/light-dom-styles.utils.d.ts +14 -0
  409. package/dist/utils/light-dom-styles.utils.js +37 -0
  410. package/dist/utils/listbox-options.utils.d.ts +11 -0
  411. package/dist/utils/listbox-options.utils.js +41 -3
  412. package/dist/utils/media.styles.d.ts +19 -0
  413. package/dist/utils/media.styles.js +23 -0
  414. package/dist/utils/motion.utils.d.ts +40 -0
  415. package/dist/utils/motion.utils.js +51 -0
  416. package/dist/utils/theme-generator.utils.d.ts +6 -1
  417. package/dist/utils/theme-generator.utils.js +59 -20
  418. package/package.json +39 -31
  419. package/styles/breakpoints.scss +8 -0
  420. package/styles/eunomia-grid.scss +6 -0
  421. package/styles/themes/eunomia-theme.scss +4 -3
  422. package/styles/themes/mixins/eunomia-a11y-color.mixin.scss +34 -1
  423. package/styles/themes/mixins/eunomia-neutrals.mixin.scss +4 -0
  424. package/styles/themes/mixins/eunomia-states.mixin.scss +36 -12
  425. package/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +10 -10
  426. package/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +10 -10
  427. package/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +3 -2
  428. package/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +10 -10
  429. package/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +10 -10
  430. package/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +3 -2
  431. package/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +10 -10
  432. package/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +10 -10
  433. package/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +3 -2
  434. package/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +10 -10
  435. package/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +10 -10
  436. package/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +3 -2
  437. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +10 -10
  438. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +10 -10
  439. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +3 -2
  440. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +10 -10
  441. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +10 -10
  442. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +3 -2
  443. package/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +10 -10
  444. package/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +10 -10
  445. package/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +3 -2
  446. package/styles/tools/indexes/eunomia-media-queries.index.scss +1 -3
  447. package/styles/tools/indexes/eunomia-tools.index.scss +1 -0
  448. package/styles/tools/mixins/layout/eunomia-grid.mixin.scss +117 -53
  449. package/styles/tools/mixins/media-queries/eunomia-media-queries.mixin.scss +69 -0
  450. package/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +28 -4
  451. package/styles/tools/mixins/settings/eunomia-motion.mixin.scss +9 -0
  452. package/styles/tools/variables/eunomia.breakpoints.scss +4 -0
  453. package/dist/cdn/components/chunks/chunk-32DTNR52.js +0 -1
  454. package/dist/cdn/components/chunks/chunk-A6KGFALA.js +0 -132
  455. package/dist/cdn/components/chunks/chunk-CEDHJUUH.js +0 -1
  456. package/dist/cdn/components/chunks/chunk-D2M4BV5Y.js +0 -328
  457. package/dist/cdn/components/chunks/chunk-E4IS25H7.js +0 -1
  458. package/dist/cdn/components/chunks/chunk-E74CM7UG.js +0 -66
  459. package/dist/cdn/components/chunks/chunk-EAKYD33D.js +0 -110
  460. package/dist/cdn/components/chunks/chunk-EST3M4AO.js +0 -1
  461. package/dist/cdn/components/chunks/chunk-GU6BVMFJ.js +0 -1
  462. package/dist/cdn/components/chunks/chunk-KBH5PCUO.js +0 -3
  463. package/dist/cdn/components/chunks/chunk-KVYUNKUO.js +0 -27
  464. package/dist/cdn/components/chunks/chunk-LFCXUVDO.js +0 -1
  465. package/dist/cdn/components/chunks/chunk-OAULRKHQ.js +0 -38
  466. package/dist/cdn/components/chunks/chunk-PCM7D3YF.js +0 -84
  467. package/dist/cdn/components/chunks/chunk-S2UCEWNG.js +0 -207
  468. package/dist/cdn/components/chunks/chunk-SJWRE6PW.js +0 -1
  469. package/dist/cdn/components/chunks/chunk-T4PTHUYF.js +0 -10
  470. package/dist/cdn/components/chunks/chunk-VRGRCYIO.js +0 -1
  471. package/dist/cdn/components/chunks/chunk-X2AUBZD2.js +0 -30
  472. package/dist/cdn/components/eun-breadcrumb-item.js +0 -93
  473. package/dist/cdn/components/eun-table-cell.js +0 -1
  474. package/dist/cdn/components/eun-table-column.js +0 -1
  475. package/dist/cdn/components/eun-table-header.js +0 -1
  476. package/dist/cdn/components/eun-table-item.js +0 -1
  477. package/dist/cdn/components/eun-table-skeleton-row.js +0 -1
  478. package/dist/cdn/styles/tools/mixins/media-queries/eunomia-device.mixin.scss +0 -14
  479. package/dist/cdn/styles/tools/mixins/media-queries/eunomia-gte.mixin.scss +0 -26
  480. package/dist/cdn/styles/tools/mixins/media-queries/eunomia-lte.mixin.scss +0 -26
  481. package/dist/components/navigation/breadcrumb/breadcrumb-item.d.ts +0 -77
  482. package/dist/components/navigation/breadcrumb/breadcrumb-item.js +0 -130
  483. package/dist/components/navigation/breadcrumb/breadcrumb-item.styles.d.ts +0 -6
  484. package/dist/components/navigation/breadcrumb/breadcrumb-item.styles.js +0 -78
  485. package/dist/features/table/native-table.css +0 -276
  486. package/dist/features/table/shared-styles/table-row.styles.d.ts +0 -7
  487. package/dist/features/table/shared-styles/table-row.styles.js +0 -47
  488. package/dist/features/table/shared-styles/table-shared.styles.d.ts +0 -23
  489. package/dist/features/table/shared-styles/table-shared.styles.js +0 -33
  490. package/dist/features/table/table-cell/table-cell.d.ts +0 -59
  491. package/dist/features/table/table-cell/table-cell.js +0 -73
  492. package/dist/features/table/table-cell/table-cell.styles.d.ts +0 -1
  493. package/dist/features/table/table-cell/table-cell.styles.js +0 -46
  494. package/dist/features/table/table-column/table-column.d.ts +0 -73
  495. package/dist/features/table/table-column/table-column.js +0 -89
  496. package/dist/features/table/table-column/table-column.styles.d.ts +0 -1
  497. package/dist/features/table/table-column/table-column.styles.js +0 -51
  498. package/dist/features/table/table-header/table-header.d.ts +0 -102
  499. package/dist/features/table/table-header/table-header.js +0 -165
  500. package/dist/features/table/table-header/table-header.styles.d.ts +0 -1
  501. package/dist/features/table/table-header/table-header.styles.js +0 -147
  502. package/dist/features/table/table-item/table-item.d.ts +0 -179
  503. package/dist/features/table/table-item/table-item.js +0 -291
  504. package/dist/features/table/table-item/table-item.styles.d.ts +0 -1
  505. package/dist/features/table/table-item/table-item.styles.js +0 -404
  506. package/dist/features/table/table-managed/table-managed.d.ts +0 -19
  507. package/dist/features/table/table-managed/table-managed.js +0 -128
  508. package/dist/features/table/table-skeleton-row/table-skeleton-row.d.ts +0 -46
  509. package/dist/features/table/table-skeleton-row/table-skeleton-row.js +0 -110
  510. package/dist/features/table/table-skeleton-row/table-skeleton-row.styles.d.ts +0 -12
  511. package/dist/features/table/table-skeleton-row/table-skeleton-row.styles.js +0 -65
  512. package/dist/mixins/table-row.mixin.d.ts +0 -37
  513. package/dist/mixins/table-row.mixin.js +0 -103
  514. package/styles/tools/mixins/media-queries/eunomia-device.mixin.scss +0 -14
  515. package/styles/tools/mixins/media-queries/eunomia-gte.mixin.scss +0 -26
  516. package/styles/tools/mixins/media-queries/eunomia-lte.mixin.scss +0 -26
@@ -11,7 +11,7 @@ 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
16
  import { FieldAppearanceMixin, } from "../../../mixins/field-appearance.mixin.js";
17
17
  import { AnchorPositionMixin, } from "../../../mixins/anchor-position.mixin.js";
@@ -20,6 +20,7 @@ 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,8 @@ 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";
38
+ import { isImplicitSubmissionKey, submitImplicitly, } from "../../../utils/implicit-submission.utils.js";
36
39
  /**
37
40
  * Tag name of the date-picker component.
38
41
  */
@@ -96,12 +99,14 @@ const EunomiaDatePickerMixinBase = LocalizableMixin(AnchorPositionMixin(FieldApp
96
99
  * @prop {boolean} [disabled=false] - Whether the field is disabled
97
100
  * @prop {boolean} [readonly=false] - Whether the field is read only
98
101
  * @prop {boolean} [required=false] - Whether the field is required
99
- * @prop {boolean} [hideError=false] - Whether the errors are hidden
102
+ * @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
103
+ * @prop {boolean} [invalid=false] - Shows the field as invalid without any message, for an error displayed elsewhere
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
100
105
  * @prop {Array<Validators<Date | null>>} validators - The list of custom validation rules applied to the value
101
106
  * @prop {string} [todayLabel='Today'] - The label of the day grid's jump to today shortcut. Only shown with day granularity
102
107
  * @prop {string} [applyLabel='Apply'] - The label of the mobile modal's confirm button
103
- * @prop {string} [cancelLabel='Cancel'] - The label of the mobile modal's cancel button
104
- * @prop {string} [ariaLabelCalendar='Open calendar'] - The accessible label of the trailing calendar button
108
+ * @prop {string} [cancelLabel] - The label of the mobile modal's cancel button. Defaults to the localized string for the current locale (English: "Cancel")
109
+ * @prop {string} [calendarLabel] - The accessible label of the trailing calendar button. Defaults to the localized string for the current locale (English: "Open calendar")
105
110
  * @prop {string} [dayPlaceholder='jj'] - The placeholder shown in the empty day segment
106
111
  * @prop {string} [monthPlaceholder='mm'] - The placeholder shown in the empty month segment
107
112
  * @prop {string} [yearPlaceholder='yyyy'] - The placeholder shown in the empty year segment
@@ -139,11 +144,43 @@ const EunomiaDatePickerMixinBase = LocalizableMixin(AnchorPositionMixin(FieldApp
139
144
  * @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
145
  * @cssprop [--date-picker-panel-background] - Sets the background color of the popover panel
141
146
  * @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
147
+ * @cssprop [--field-font-size] - Sets the font size of the field's value and placeholder
148
+ * @cssprop [--field-label-font-size] - Sets the font size of the label
149
+ * @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
142
150
  * @element eun-date-picker
143
151
  */
144
152
  let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends EunomiaDatePickerMixinBase {
153
+ /**
154
+ * The default value applied on connection and form reset, in `single`
155
+ * mode. Overrides the `defaultValue` accessor inherited from `FormMixin`
156
+ * only to swap its attribute converter : the mixin's generic one always
157
+ * splits `default-value` on commas (appropriate for e.g. a multi-select's
158
+ * array value), which would silently produce the wrong thing for a
159
+ * `Date`. The actual get/set logic (applying the default when the field
160
+ * resets) still comes from `FormMixin` itself, via `super`.
161
+ * @default-value-format yyyy-mm-dd
162
+ */
163
+ get defaultValue() {
164
+ return super.defaultValue;
165
+ }
166
+ set defaultValue(value) {
167
+ // @ts-expect-error — see comment above ; FormMixin's real setter exists.
168
+ super.defaultValue = value;
169
+ }
170
+ /**
171
+ * Lifecycle callback triggered when the component is connected to the
172
+ * DOM. `FormMixin`'s own `connectedCallback` already applies
173
+ * `defaultValue` to `value` for `mode="single"` ; this applies
174
+ * {@link defaultRangeValue} to `rangeValue` the same way for
175
+ * `mode="range"`, which `FormMixin` has no knowledge of.
176
+ */
145
177
  constructor() {
146
- super(...arguments);
178
+ super();
179
+ /**
180
+ * Every change is a complete choice, so its error shows right away.
181
+ * @internal
182
+ */
183
+ this.errorOnChange = true;
147
184
  /**
148
185
  * Whether a single value or a start/end range is picked.
149
186
  * @default single
@@ -223,16 +260,6 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
223
260
  * @default Apply
224
261
  */
225
262
  this.applyLabel = "Apply";
226
- /**
227
- * Label of the mobile modal's cancel button.
228
- * @default Cancel
229
- */
230
- this.cancelLabel = "Cancel";
231
- /**
232
- * Accessible label of the trailing calendar button.
233
- * @default Open calendar
234
- */
235
- this.ariaLabelCalendar = "Open calendar";
236
263
  /**
237
264
  * Placeholder shown in the empty day segment.
238
265
  * @default jj
@@ -354,6 +381,25 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
354
381
  minute: "",
355
382
  period: "",
356
383
  };
384
+ /**
385
+ * Submits the owning form on Enter in one of the field's segments, as a
386
+ * native date input does, since the browser never does it from a
387
+ * shadow root. Left alone while the panel is open, and on keys a
388
+ * segment already handles, such as Enter toggling the AM/PM segment.
389
+ * @private
390
+ */
391
+ this.handleImplicitSubmission = (event) => {
392
+ const form = this.internals.form;
393
+ const origin = event.composedPath()[0];
394
+ if (!form ||
395
+ this.isOpen ||
396
+ !(origin instanceof Element && origin.matches(".segment")) ||
397
+ !isImplicitSubmissionKey(event)) {
398
+ return;
399
+ }
400
+ event.preventDefault();
401
+ submitImplicitly(form);
402
+ };
357
403
  /**
358
404
  * Reads local validation state : a partially/invalidly typed segment
359
405
  * group reports as invalid, matching native constraint validation's
@@ -372,7 +418,10 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
372
418
  : [this.rangeSegments.start, this.rangeSegments.end];
373
419
  const hasBadInput = groups.some((group) => isPartiallyFilled(group) && !segmentsToDate(group, kinds));
374
420
  if (hasBadInput) {
375
- return { validity: { badInput: true }, message: "Enter a valid date" };
421
+ return {
422
+ validity: { badInput: true },
423
+ message: this.dictionary.validation.invalidDate,
424
+ };
376
425
  }
377
426
  if (this.isWithTimeActive()) {
378
427
  const format = this.resolvedHourFormat();
@@ -419,7 +468,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
419
468
  let message;
420
469
  if (this.required && isEmpty) {
421
470
  validity.valueMissing = true;
422
- message = "Field value is missing";
471
+ message = this.dictionary.validation.valueMissing;
423
472
  }
424
473
  return { validity, message };
425
474
  };
@@ -447,7 +496,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
447
496
  this.isModalOpen = true;
448
497
  return;
449
498
  }
450
- this.updateComplete.then(() => {
499
+ void this.updateComplete.then(() => {
451
500
  const popover = this.popoverEl;
452
501
  if (!popover) {
453
502
  return;
@@ -485,7 +534,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
485
534
  });
486
535
  }
487
536
  this.observeAnchorVisibility(this.fieldWrapperEl, () => this.closePopover());
488
- this.updateComplete.then(() => this.focusCalendarCell());
537
+ void this.updateComplete.then(() => this.focusCalendarCell());
489
538
  return;
490
539
  }
491
540
  this.isOpen = false;
@@ -969,31 +1018,8 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
969
1018
  break;
970
1019
  }
971
1020
  };
1021
+ this.addEventListener("keydown", this.handleImplicitSubmission);
972
1022
  }
973
- /**
974
- * The default value applied on connection and form reset, in `single`
975
- * mode. Overrides the `defaultValue` accessor inherited from `FormMixin`
976
- * only to swap its attribute converter : the mixin's generic one always
977
- * splits `default-value` on commas (appropriate for e.g. a multi-select's
978
- * array value), which would silently produce the wrong thing for a
979
- * `Date`. The actual get/set logic (applying the default when the field
980
- * resets) still comes from `FormMixin` itself, via `super`.
981
- * @default-value-format yyyy-mm-dd
982
- */
983
- get defaultValue() {
984
- return super.defaultValue;
985
- }
986
- set defaultValue(value) {
987
- // @ts-expect-error — see comment above ; FormMixin's real setter exists.
988
- super.defaultValue = value;
989
- }
990
- /**
991
- * Lifecycle callback triggered when the component is connected to the
992
- * DOM. `FormMixin`'s own `connectedCallback` already applies
993
- * `defaultValue` to `value` for `mode="single"` ; this applies
994
- * {@link defaultRangeValue} to `rangeValue` the same way for
995
- * `mode="range"`, which `FormMixin` has no knowledge of.
996
- */
997
1023
  connectedCallback() {
998
1024
  super.connectedCallback?.();
999
1025
  if (this.mode === "range" && this.defaultRangeValue) {
@@ -1083,12 +1109,18 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
1083
1109
  end: dateToSegments(this.rangeValue.end),
1084
1110
  };
1085
1111
  }
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));
1112
+ if (hasErrorDisplayChange(changed)) {
1113
+ this.setAttribute("aria-invalid", String(this.showError));
1090
1114
  }
1091
1115
  }
1116
+ /**
1117
+ * The host is never a tab stop of its own : sequential navigation goes
1118
+ * straight to the controls inside, in both directions, and
1119
+ * {@link focus} covers a direct call on the host.
1120
+ */
1121
+ get hostTabStop() {
1122
+ return false;
1123
+ }
1092
1124
  /**
1093
1125
  * Returns the first segment field to focus/anchor on validation errors.
1094
1126
  *
@@ -1111,7 +1143,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
1111
1143
  * @private
1112
1144
  */
1113
1145
  isMobileViewport() {
1114
- return window.matchMedia("(max-width: 767px)").matches;
1146
+ return window.matchMedia(mediaBelow("tablet")).matches;
1115
1147
  }
1116
1148
  /**
1117
1149
  * @private
@@ -1328,7 +1360,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
1328
1360
  * The popover's open/close animation duration, in ms : `0` if
1329
1361
  * `noAnimation` is set or the browser reports `prefers-reduced-motion:
1330
1362
  * reduce`, otherwise `--date-picker-panel-transition-duration` (default
1331
- * `200ms`).
1363
+ * `--eun-duration-m`).
1332
1364
  *
1333
1365
  * @param el the popover to read `--date-picker-panel-transition-duration` off.
1334
1366
  * @private
@@ -1338,18 +1370,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
1338
1370
  window.matchMedia("(prefers-reduced-motion: reduce)").matches) {
1339
1371
  return 0;
1340
1372
  }
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;
1373
+ return resolveDurationMs(el, "--date-picker-panel-transition-duration", "m", 200);
1353
1374
  }
1354
1375
  /**
1355
1376
  * Plays the fade/scaleY-in, replacing any {@link popoverAnimation}
@@ -1367,7 +1388,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
1367
1388
  this.popoverAnimation = popover.animate([
1368
1389
  { opacity: 0, transform: "scaleY(0.01)" },
1369
1390
  { opacity: 1, transform: "scaleY(1)" },
1370
- ], { duration, easing: "ease", fill: "forwards" });
1391
+ ], { duration, easing: resolveEasing(popover), fill: "forwards" });
1371
1392
  }
1372
1393
  /**
1373
1394
  * Closes the popover, if open — accepting an instant, unanimated close
@@ -1405,7 +1426,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
1405
1426
  const animation = popover.animate([
1406
1427
  { opacity: 1, transform: "scaleY(1)" },
1407
1428
  { opacity: 0, transform: "scaleY(0.01)" },
1408
- ], { duration, easing: "ease", fill: "forwards" });
1429
+ ], { duration, easing: resolveEasing(popover), fill: "forwards" });
1409
1430
  this.popoverAnimation = animation;
1410
1431
  animation.finished
1411
1432
  .then(() => {
@@ -1477,7 +1498,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
1477
1498
  }
1478
1499
  this.focusedDate = candidate;
1479
1500
  this.syncDisplayedAnchor();
1480
- this.updateComplete.then(() => this.focusCalendarCell());
1501
+ void this.updateComplete.then(() => this.focusCalendarCell());
1481
1502
  }
1482
1503
  /**
1483
1504
  * Jumps `focusedDate` directly to `date` (no disabled-cell skipping —
@@ -1490,7 +1511,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
1490
1511
  jumpFocused(date) {
1491
1512
  this.focusedDate = date;
1492
1513
  this.syncDisplayedAnchor();
1493
- this.updateComplete.then(() => this.focusCalendarCell());
1514
+ void this.updateComplete.then(() => this.focusCalendarCell());
1494
1515
  }
1495
1516
  /**
1496
1517
  * @private
@@ -1607,7 +1628,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
1607
1628
  * @private
1608
1629
  */
1609
1630
  playSwipeAnimation(direction) {
1610
- this.updateComplete.then(() => {
1631
+ void this.updateComplete.then(() => {
1611
1632
  const el = this.swipeAreaEl;
1612
1633
  if (!el) {
1613
1634
  return;
@@ -1868,21 +1889,14 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
1868
1889
  */
1869
1890
  adjustTimeSegment(kind, delta) {
1870
1891
  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 };
1892
+ const hourBounds = format === 12 ? { min: 1, max: 12 } : { min: 0, max: 23 };
1893
+ const bounds = kind === "hour" ? hourBounds : { min: 0, max: 59 };
1876
1894
  const current = Number(this.timeSegments[kind]);
1877
1895
  let next;
1878
1896
  if (this.timeSegments[kind] === "" || Number.isNaN(current)) {
1879
1897
  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;
1898
+ const hour = format === 12 ? to12Hour(parts.hour).hour : parts.hour;
1899
+ next = kind === "hour" ? hour : parts.minute;
1886
1900
  }
1887
1901
  else {
1888
1902
  next = current + delta;
@@ -1972,11 +1986,12 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
1972
1986
  const previous = order[index - 1];
1973
1987
  const isHourMinutePair = (previous === "hour" && kind === "minute") ||
1974
1988
  (previous === "minute" && kind === "hour");
1989
+ const divider = isHourMinutePair ? ":" : " ";
1975
1990
  return html `
1976
1991
  ${index === 0
1977
1992
  ? nothing
1978
1993
  : html `<span class="segment-divider" aria-hidden="true"
1979
- >${isHourMinutePair ? ":" : " "}</span
1994
+ >${divider}</span
1980
1995
  >`}
1981
1996
  ${this.renderTimeSegment(kind)}
1982
1997
  `;
@@ -2043,6 +2058,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
2043
2058
  data-target=${target}
2044
2059
  role="group"
2045
2060
  aria-label=${groupLabel}
2061
+ aria-describedby=${this.description?.length ? "description" : nothing}
2046
2062
  >
2047
2063
  ${order.map((kind, index) => html `
2048
2064
  ${index > 0
@@ -2083,7 +2099,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
2083
2099
  maxlength=${maxLength}
2084
2100
  size=${maxLength}
2085
2101
  placeholder=${this.placeholderFor(kind)}
2086
- aria-label=${capitalize(kind)}
2102
+ aria-label=${this.dictionary.datePicker[kind]}
2087
2103
  .value=${values[kind]}
2088
2104
  ?disabled=${this.disabled}
2089
2105
  ?readonly=${this.readonly}
@@ -2242,15 +2258,16 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
2242
2258
  ${this.mode === "single"
2243
2259
  ? this.renderSegmentGroup("value", this.label ?? this.headingFor())
2244
2260
  : html `
2245
- ${this.renderSegmentGroup("start", "Start date")}
2261
+ ${this.renderSegmentGroup("start", this.dictionary.datePicker.startDate)}
2246
2262
  <span class="range-separator" aria-hidden="true">–</span>
2247
- ${this.renderSegmentGroup("end", "End date")}
2263
+ ${this.renderSegmentGroup("end", this.dictionary.datePicker.endDate)}
2248
2264
  `}
2249
2265
  ${this.isWithTimeActive() ? this.renderTimeSegmentGroup() : nothing}
2250
2266
  <button
2251
2267
  type="button"
2252
2268
  id="calendar-trigger"
2253
- aria-label=${this.ariaLabelCalendar}
2269
+ aria-label=${this.calendarLabel ??
2270
+ this.dictionary.datePicker.openCalendar}
2254
2271
  aria-haspopup="dialog"
2255
2272
  aria-expanded=${this.isOpen || this.isModalOpen ? "true" : "false"}
2256
2273
  ?disabled=${this.disabled}
@@ -2371,7 +2388,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
2371
2388
  * @private
2372
2389
  */
2373
2390
  renderTimezoneLabel() {
2374
- if (!this.timezone || isSameTimeZone(this.timezone, undefined)) {
2391
+ if (!this.timezone || isSameTimeZone(this.timezone)) {
2375
2392
  return nothing;
2376
2393
  }
2377
2394
  const reference = this.stagingValue ?? new Date();
@@ -2399,7 +2416,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
2399
2416
  id="popover-cancel"
2400
2417
  @click=${this.handlePopoverCancel}
2401
2418
  >
2402
- ${this.cancelLabel}
2419
+ ${this.cancelLabel ?? this.dictionary.common.cancel}
2403
2420
  </eun-button>
2404
2421
  <eun-button id="popover-apply" @click=${this.handlePopoverApply}>
2405
2422
  ${this.applyLabel}
@@ -2425,7 +2442,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
2425
2442
  ?open=${this.isModalOpen}
2426
2443
  .closeable=${false}
2427
2444
  confirm-label=${this.applyLabel}
2428
- cancel-label=${this.cancelLabel}
2445
+ cancel-label=${this.cancelLabel ?? this.dictionary.common.cancel}
2429
2446
  aria-label=${this.label ?? this.headingFor()}
2430
2447
  @eunconfirm=${this.handleModalConfirm}
2431
2448
  @euncancel=${this.handleModalCancel}
@@ -2451,7 +2468,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
2451
2468
  id="cancel"
2452
2469
  @click=${() => this.modalEl?.cancel()}
2453
2470
  >
2454
- ${this.cancelLabel}
2471
+ ${this.cancelLabel ?? this.dictionary.common.cancel}
2455
2472
  </eun-button>
2456
2473
  <eun-button id="confirm" @click=${() => this.modalEl?.confirm()}>
2457
2474
  ${this.applyLabel}
@@ -2488,10 +2505,10 @@ EunomiaDatePicker.styles = [
2488
2505
  */
2489
2506
  EunomiaDatePicker.SWIPE_THRESHOLD_PX = 40;
2490
2507
  __decorate([
2491
- property({ reflect: true })
2508
+ property({ reflect: true, useDefault: true })
2492
2509
  ], EunomiaDatePicker.prototype, "mode", void 0);
2493
2510
  __decorate([
2494
- property({ reflect: true })
2511
+ property({ reflect: true, useDefault: true })
2495
2512
  ], EunomiaDatePicker.prototype, "granularity", void 0);
2496
2513
  __decorate([
2497
2514
  property({
@@ -2551,8 +2568,8 @@ __decorate([
2551
2568
  property({ attribute: "cancel-label" })
2552
2569
  ], EunomiaDatePicker.prototype, "cancelLabel", void 0);
2553
2570
  __decorate([
2554
- property({ attribute: "aria-label-calendar" })
2555
- ], EunomiaDatePicker.prototype, "ariaLabelCalendar", void 0);
2571
+ property({ attribute: "calendar-label" })
2572
+ ], EunomiaDatePicker.prototype, "calendarLabel", void 0);
2556
2573
  __decorate([
2557
2574
  property({ attribute: "day-placeholder" })
2558
2575
  ], EunomiaDatePicker.prototype, "dayPlaceholder", void 0);
@@ -2678,12 +2695,6 @@ function todaysSegmentPart(kind) {
2678
2695
  return today.getDate();
2679
2696
  }
2680
2697
  }
2681
- /**
2682
- * @private
2683
- */
2684
- function capitalize(value) {
2685
- return value.charAt(0).toUpperCase() + value.slice(1);
2686
- }
2687
2698
  /**
2688
2699
  * Parses an ISO (`yyyy-mm-dd`) date string, as used by the `default-value`
2689
2700
  * and `default-range-value` attributes. Returns `null` for an empty or
@@ -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)) {
@@ -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 {
@@ -8,6 +8,7 @@ import { EditableMixinInterface } from "../../../mixins/editable.mixin.js";
8
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
+ import { LocalizableMixinInterface } from "../../../mixins/localizable.mixin.js";
11
12
  /**
12
13
  * Tag name of the input component.
13
14
  */
@@ -20,7 +21,7 @@ export type EunomiaInputType = "text" | "email" | "number" | "tel" | "url" | "se
20
21
  * Type of the input base used to declare every necessary Mixin interface elements.
21
22
  * @internal
22
23
  */
23
- type EunomiaInputBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface<string> & FormMixinInterface<string> & EditableMixinInterface & FormLabelMixinInterface & FieldAppearanceMixinInterface;
24
+ type EunomiaInputBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface<string> & FormMixinInterface<string> & EditableMixinInterface & FormLabelMixinInterface & FieldAppearanceMixinInterface & LocalizableMixinInterface;
24
25
  declare const EunomiaInputMixinBase: Constructor<EunomiaInputBase>;
25
26
  /**
26
27
  * A single-line text field, supporting several native input types.
@@ -37,7 +38,9 @@ declare const EunomiaInputMixinBase: Constructor<EunomiaInputBase>;
37
38
  * @prop {boolean} [disabled=false] - Whether the field is disabled
38
39
  * @prop {boolean} [readonly=false] - Whether the field is read only
39
40
  * @prop {boolean} [required=false] - Whether the field is required
40
- * @prop {boolean} [hideError=false] - Whether the errors are hidden
41
+ * @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
42
+ * @prop {boolean} [invalid=false] - Shows the field as invalid without any message, for an error displayed elsewhere
43
+ * @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
44
  * @prop {Array<Validators<string>>} validators - The list of validation rules applied to the field value
42
45
  * @prop {EunomiaIconName} icon - An optional leading icon
43
46
  * @prop {boolean} [clearable=false] - Whether a clear button is shown when the field has a value
@@ -50,12 +53,12 @@ declare const EunomiaInputMixinBase: Constructor<EunomiaInputBase>;
50
53
  * @prop {string} min - The native minimum constraint forwarded to the field
51
54
  * @prop {string} max - The native maximum constraint forwarded to the field
52
55
  * @prop {string} step - The native step constraint forwarded to the field
53
- * @prop {string} [emptyValueLabel='No value set'] - Text displayed in place of the value when readonly and empty
54
- * @prop {string} [confirmLabel='Save'] - The label of the confirm button in edit mode
55
- * @prop {string} [cancelLabel='Cancel'] - The label of the cancel button in edit mode
56
- * @prop {string} [ariaLabelClear='Clear field'] - The accessible label of the clear button
57
- * @prop {string} [ariaLabelShowPassword='Show password'] - The accessible label of the show password button
58
- * @prop {string} [ariaLabelHidePassword='Hide password'] - The accessible label of the hide password button
56
+ * @prop {string} [emptyValueLabel] - Text displayed in place of the value when readonly and empty. Defaults to the localized string for the current locale (English: "No value set")
57
+ * @prop {string} [confirmLabel] - The label of the confirm button in edit mode. Defaults to the localized string for the current locale (English: "Save")
58
+ * @prop {string} [cancelLabel] - The label of the cancel button in edit mode. Defaults to the localized string for the current locale (English: "Cancel")
59
+ * @prop {string} [clearLabel] - The accessible label of the clear button. Defaults to the localized string for the current locale (English: "Clear field")
60
+ * @prop {string} [showPasswordLabel] - The accessible label of the show password button. Defaults to the localized string for the current locale (English: "Show password")
61
+ * @prop {string} [hidePasswordLabel] - The accessible label of the hide password button. Defaults to the localized string for the current locale (English: "Hide password")
59
62
  * @fires {ChangeEvent} eunchange - Fired on every value change
60
63
  * @fires {CommitEvent} euncommit - Fired when an edit is confirmed in readonlyAvailable mode
61
64
  * @cssprop [--field-background] - Sets the background color of the field
@@ -64,6 +67,8 @@ declare const EunomiaInputMixinBase: Constructor<EunomiaInputBase>;
64
67
  * @cssprop [--field-border-color-focus] - Sets the border color on focus
65
68
  * @cssprop [--field-border-radius] - Sets the corner radius of the field
66
69
  * @cssprop [--field-padding] - Sets the padding of the field
70
+ * @cssprop [--field-padding-block] - Sets the vertical padding, as one length applied to both sides. Ignored when --field-padding is set
71
+ * @cssprop [--field-padding-inline] - Sets the horizontal padding, as one length applied to both sides. Ignored when --field-padding is set
67
72
  * @cssprop [--field-text-color] - Sets the text color of the field
68
73
  * @cssprop [--field-placeholder-color] - Sets the color of the placeholder
69
74
  * @cssprop [--field-icon-color] - Sets the color of the leading icon and action buttons
@@ -72,6 +77,9 @@ declare const EunomiaInputMixinBase: Constructor<EunomiaInputBase>;
72
77
  * @cssprop [--field-focus-outline-color] - Sets the color of the focus outline
73
78
  * @cssprop [--field-edit-confirm-color] - Sets the color of the confirm button in readonly-available edit mode
74
79
  * @cssprop [--field-edit-cancel-color] - Sets the color of the cancel button in readonly-available edit mode
80
+ * @cssprop [--field-font-size] - Sets the font size of the field's value and placeholder
81
+ * @cssprop [--field-label-font-size] - Sets the font size of the label
82
+ * @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
75
83
  * @element eun-input
76
84
  */
77
85
  export declare class EunomiaInput extends EunomiaInputMixinBase {
@@ -143,34 +151,34 @@ export declare class EunomiaInput extends EunomiaInputMixinBase {
143
151
  step?: string;
144
152
  /**
145
153
  * Text displayed in place of the value when readonly and empty.
146
- * @default No value set
154
+ * Falls back to the localized string for the current locale when unset.
147
155
  */
148
- emptyValueLabel: string;
156
+ emptyValueLabel?: string;
149
157
  /**
150
158
  * Label of the confirm button in edit mode.
151
- * @default Save
159
+ * Falls back to the localized string for the current locale when unset.
152
160
  */
153
- confirmLabel: string;
161
+ confirmLabel?: string;
154
162
  /**
155
163
  * Label of the cancel button in edit mode.
156
- * @default Cancel
164
+ * Falls back to the localized string for the current locale when unset.
157
165
  */
158
- cancelLabel: string;
166
+ cancelLabel?: string;
159
167
  /**
160
168
  * Accessible label of the clear button.
161
- * @default Clear field
169
+ * Falls back to the localized string for the current locale when unset.
162
170
  */
163
- ariaLabelClear: string;
171
+ clearLabel?: string;
164
172
  /**
165
173
  * Accessible label of the show-password button.
166
- * @default Show password
174
+ * Falls back to the localized string for the current locale when unset.
167
175
  */
168
- ariaLabelShowPassword: string;
176
+ showPasswordLabel?: string;
169
177
  /**
170
178
  * Accessible label of the hide-password button.
171
- * @default Hide password
179
+ * Falls back to the localized string for the current locale when unset.
172
180
  */
173
- ariaLabelHidePassword: string;
181
+ hidePasswordLabel?: string;
174
182
  /**
175
183
  * Whether the password's plain value is currently revealed.
176
184
  * @internal
@@ -207,28 +215,25 @@ export declare class EunomiaInput extends EunomiaInputMixinBase {
207
215
  * @protected
208
216
  */
209
217
  protected focusTarget(): HTMLElement | undefined;
218
+ constructor();
219
+ /**
220
+ * Submits the owning form on Enter in the field, as a native text input
221
+ * does, since the browser never does it from a shadow root. Listened to
222
+ * on the host so a handler inside, such as `eun-search` picking a
223
+ * suggestion, can claim the key first. Skipped while editing in
224
+ * `readonlyAvailable` mode, whose own buttons confirm the edit.
225
+ * @private
226
+ */
227
+ private readonly handleImplicitSubmission;
228
+ /**
229
+ * The host is never a tab stop of its own : sequential navigation goes
230
+ * straight to the native field inside, in both directions, and
231
+ * {@link focus} covers a direct call on the host.
232
+ */
233
+ protected get hostTabStop(): boolean;
210
234
  /**
211
235
  * Lifecycle hook called whenever reactive properties change. Focuses the
212
- * field when entering edit mode, and corrects the host's own `tabindex`
213
- * after every `disabled` change.
214
- *
215
- * `DisabledMixin` puts a real `tabindex="0"` on the host so Tab still
216
- * reaches it while enabled — appropriate for a component whose host
217
- * *is* the sole interactive surface, but this one always has its own
218
- * focusable native field nested inside instead, and keeping the host
219
- * itself as a *second*, independent tab stop right next to it broke
220
- * Shift+Tab : landing back on the host is a genuine stop of its own as
221
- * far as the browser's own backward sequential-navigation is concerned,
222
- * and redirecting focus straight back into the field from there (this
223
- * class's previous approach) fights that navigation mid-flight, leaving
224
- * focus stranded on the host with nothing focused inside it. Removing
225
- * the attribute instead lets sequential focus navigation descend
226
- * straight into the field on its own, correctly in both directions, with
227
- * no separate host stop and no redirect involved at all — this class's
228
- * own `focus()` method (see below) covers a direct, explicit call on the
229
- * host, the one case that genuinely still needs one. The disabled case
230
- * still gets an explicit `-1` so a disabled field is skipped entirely
231
- * rather than becoming its own (empty) stop.
236
+ * field when entering edit mode.
232
237
  *
233
238
  * @param _changedProperties - Map of changed properties
234
239
  */