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

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 (327) hide show
  1. package/README.md +1 -1
  2. package/dist/cdn/components/chunks/{chunk-KDN4O5W2.js → chunk-32L2QYWQ.js} +5 -5
  3. package/dist/cdn/components/chunks/{chunk-JYIIWN2P.js → chunk-36KLGY6U.js} +8 -8
  4. package/dist/cdn/components/chunks/chunk-3BMACIDO.js +1 -0
  5. package/dist/cdn/components/chunks/{chunk-2Y2EU2CI.js → chunk-3UUZM7X2.js} +1 -1
  6. package/dist/cdn/components/chunks/chunk-55PUDL7D.js +109 -0
  7. package/dist/cdn/components/chunks/chunk-5LA5DQMP.js +1 -0
  8. package/dist/cdn/components/chunks/chunk-5LXGJVJR.js +1 -0
  9. package/dist/cdn/components/chunks/{chunk-ZKZV2YG5.js → chunk-5XPOGBPL.js} +1 -1
  10. package/dist/cdn/components/chunks/{chunk-LMVW522V.js → chunk-62RLISRD.js} +1 -1
  11. package/dist/cdn/components/chunks/{chunk-PMPSJG5V.js → chunk-6FYW5TQU.js} +3 -3
  12. package/dist/cdn/components/chunks/chunk-6TIEBY34.js +1 -0
  13. package/dist/cdn/components/chunks/{chunk-MOMYII3P.js → chunk-AH2SKZ7T.js} +14 -1
  14. package/dist/cdn/components/chunks/chunk-AK2DIJX7.js +1 -0
  15. package/dist/cdn/components/chunks/chunk-B5XMGWM7.js +10 -0
  16. package/dist/cdn/components/chunks/chunk-GVS6IUKC.js +1 -0
  17. package/dist/cdn/components/chunks/chunk-GWLD2I3P.js +8 -0
  18. package/dist/cdn/components/chunks/{chunk-UDVB4LAE.js → chunk-I4ERDXSM.js} +5 -3
  19. package/dist/cdn/components/chunks/{chunk-QZ5SHR3I.js → chunk-J3SZBXM6.js} +2 -2
  20. package/dist/cdn/components/chunks/chunk-JAGZL7JH.js +1 -0
  21. package/dist/cdn/components/chunks/{chunk-VYFR364B.js → chunk-LD35BFNK.js} +18 -17
  22. package/dist/cdn/components/chunks/{chunk-XDPRWUKN.js → chunk-MQQJ6DID.js} +1 -1
  23. package/dist/cdn/components/chunks/chunk-P6LGU3FT.js +1 -0
  24. package/dist/cdn/components/chunks/chunk-QL5GSW2A.js +1 -0
  25. package/dist/cdn/components/chunks/{chunk-UYZR4JXZ.js → chunk-QSZO4GIH.js} +45 -9
  26. package/dist/cdn/components/chunks/{chunk-7KKWYPHY.js → chunk-QXQ25SQS.js} +21 -19
  27. package/dist/cdn/components/chunks/{chunk-SZYEBMG6.js → chunk-QYB6Z6FG.js} +5 -5
  28. package/dist/cdn/components/chunks/{chunk-RIFF2D2F.js → chunk-RGC3I6MK.js} +1 -1
  29. package/dist/cdn/components/chunks/{chunk-L2ADCEN7.js → chunk-SVGWCKWT.js} +1 -1
  30. package/dist/cdn/components/chunks/{chunk-N6ZW5CDN.js → chunk-TCSB2MLU.js} +1 -1
  31. package/dist/cdn/components/chunks/{chunk-MQQ4BGVJ.js → chunk-TFTRCIIK.js} +7 -6
  32. package/dist/cdn/components/chunks/chunk-TLBXTBMM.js +46 -0
  33. package/dist/cdn/components/chunks/chunk-UVHVQRPT.js +1 -0
  34. package/dist/cdn/components/chunks/chunk-WIUERJII.js +1 -0
  35. package/dist/cdn/components/chunks/chunk-WW4BTWMH.js +1 -0
  36. package/dist/cdn/components/eun-alert.js +13 -6
  37. package/dist/cdn/components/eun-animate.js +6 -6
  38. package/dist/cdn/components/eun-badge.js +1 -1
  39. package/dist/cdn/components/eun-button.js +1 -1
  40. package/dist/cdn/components/eun-calendar.js +2 -2
  41. package/dist/cdn/components/eun-card.js +4 -4
  42. package/dist/cdn/components/eun-carousel.js +26 -22
  43. package/dist/cdn/components/eun-check-card.js +1 -1
  44. package/dist/cdn/components/eun-checkbox-list.js +11 -8
  45. package/dist/cdn/components/eun-checkbox.js +1 -1
  46. package/dist/cdn/components/eun-chip.js +17 -11
  47. package/dist/cdn/components/eun-collapse.js +1 -1
  48. package/dist/cdn/components/eun-color-picker.js +74 -69
  49. package/dist/cdn/components/eun-counter.js +16 -14
  50. package/dist/cdn/components/eun-date-picker.js +67 -63
  51. package/dist/cdn/components/eun-description-list.js +2 -2
  52. package/dist/cdn/components/eun-divider.js +3 -3
  53. package/dist/cdn/components/eun-drawer.js +21 -22
  54. package/dist/cdn/components/eun-dropdown-button.js +1 -1
  55. package/dist/cdn/components/eun-dropdown-item.js +3 -3
  56. package/dist/cdn/components/eun-fab.js +2 -2
  57. package/dist/cdn/components/eun-icon.js +1 -1
  58. package/dist/cdn/components/eun-image-card.js +1 -1
  59. package/dist/cdn/components/eun-image-carousel.js +10 -10
  60. package/dist/cdn/components/eun-infinite-list.js +1 -1
  61. package/dist/cdn/components/eun-input-file.js +21 -21
  62. package/dist/cdn/components/eun-input-phone.js +16 -12
  63. package/dist/cdn/components/eun-input.js +1 -1
  64. package/dist/cdn/components/eun-link.js +59 -13
  65. package/dist/cdn/components/eun-loader.js +1 -1
  66. package/dist/cdn/components/eun-modal.js +33 -23
  67. package/dist/cdn/components/eun-pagination.js +16 -16
  68. package/dist/cdn/components/eun-password-strength.js +14 -10
  69. package/dist/cdn/components/eun-radio-card.js +1 -1
  70. package/dist/cdn/components/eun-radio-list.js +11 -8
  71. package/dist/cdn/components/eun-radio.js +1 -1
  72. package/dist/cdn/components/eun-rating.js +276 -0
  73. package/dist/cdn/components/eun-scheduler-event-editor.js +11 -11
  74. package/dist/cdn/components/eun-scheduler-event.js +1 -1
  75. package/dist/cdn/components/eun-scheduler.js +28 -28
  76. package/dist/cdn/components/eun-search.js +36 -32
  77. package/dist/cdn/components/eun-select.js +27 -27
  78. package/dist/cdn/components/eun-sidebar.js +73 -26
  79. package/dist/cdn/components/eun-skeleton.js +1 -1
  80. package/dist/cdn/components/eun-slider.js +3 -3
  81. package/dist/cdn/components/eun-sliding-card.js +1 -1
  82. package/dist/cdn/components/eun-step.js +5 -4
  83. package/dist/cdn/components/eun-stepper.js +30 -30
  84. package/dist/cdn/components/eun-switch.js +1 -1
  85. package/dist/cdn/components/eun-tab-group.js +4 -4
  86. package/dist/cdn/components/eun-tab-panel.js +1 -1
  87. package/dist/cdn/components/eun-tab.js +1 -1
  88. package/dist/cdn/components/eun-table-action-bar.js +1 -1
  89. package/dist/cdn/components/eun-table.js +2 -2
  90. package/dist/cdn/components/eun-tag.js +3 -3
  91. package/dist/cdn/components/eun-textarea.js +36 -28
  92. package/dist/cdn/components/eun-time-picker.js +31 -28
  93. package/dist/cdn/components/eun-toast.js +24 -15
  94. package/dist/cdn/components/eun-toggle-group.js +75 -37
  95. package/dist/cdn/components/eun-toggle-item.js +9 -9
  96. package/dist/cdn/components/eun-toggle.js +2 -2
  97. package/dist/cdn/components/eun-toolbar.js +22 -22
  98. package/dist/cdn/components/eun-tooltip.js +6 -6
  99. package/dist/cdn/styles/eunomia-themes.css +1 -1
  100. package/dist/cdn/styles/themes/mixins/eunomia-neutrals.mixin.scss +6 -2
  101. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +6 -2
  102. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.css +1 -1
  103. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +6 -2
  104. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.css +1 -1
  105. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +6 -2
  106. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.css +1 -1
  107. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +6 -2
  108. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.css +1 -1
  109. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +6 -2
  110. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.css +1 -1
  111. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +6 -2
  112. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.css +1 -1
  113. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +6 -2
  114. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.css +1 -1
  115. package/dist/components/action/button/button.d.ts +4 -3
  116. package/dist/components/action/button/button.js +6 -9
  117. package/dist/components/action/button/button.styles.js +13 -8
  118. package/dist/components/action/dropdown-button/dropdown-button.d.ts +4 -6
  119. package/dist/components/action/dropdown-button/dropdown-button.js +16 -13
  120. package/dist/components/action/dropdown-button/dropdown-item.d.ts +10 -2
  121. package/dist/components/action/dropdown-button/dropdown-item.js +24 -9
  122. package/dist/components/action/link/link.d.ts +10 -1
  123. package/dist/components/action/link/link.js +13 -1
  124. package/dist/components/action/link/link.styles.js +50 -3
  125. package/dist/components/action/toggle/toggle-group.d.ts +12 -2
  126. package/dist/components/action/toggle/toggle-group.js +18 -3
  127. package/dist/components/action/toggle/toggle-group.styles.js +58 -20
  128. package/dist/components/action/toggle/toggle-item.js +1 -3
  129. package/dist/components/action/toggle/toggle-item.styles.js +7 -7
  130. package/dist/components/action/toggle/toggle.js +1 -1
  131. package/dist/components/alert/alert/alert.d.ts +9 -7
  132. package/dist/components/alert/alert/alert.js +11 -14
  133. package/dist/components/alert/alert/alert.styles.js +9 -2
  134. package/dist/components/alert/drawer/drawer.d.ts +30 -5
  135. package/dist/components/alert/drawer/drawer.js +48 -13
  136. package/dist/components/alert/drawer/drawer.styles.js +7 -7
  137. package/dist/components/alert/modal/modal.d.ts +35 -10
  138. package/dist/components/alert/modal/modal.js +55 -28
  139. package/dist/components/alert/modal/modal.styles.js +17 -6
  140. package/dist/components/alert/toast/toast.d.ts +7 -5
  141. package/dist/components/alert/toast/toast.js +12 -15
  142. package/dist/components/alert/toast/toast.styles.js +18 -9
  143. package/dist/components/content/badge/badge.js +2 -2
  144. package/dist/components/content/card/card.js +1 -1
  145. package/dist/components/content/card/card.styles.js +2 -2
  146. package/dist/components/content/chip/chip.d.ts +4 -4
  147. package/dist/components/content/chip/chip.js +11 -10
  148. package/dist/components/content/chip/chip.styles.js +9 -3
  149. package/dist/components/content/description-list/description-list.js +3 -3
  150. package/dist/components/content/icon/icon.d.ts +3 -0
  151. package/dist/components/content/icon/icon.js +3 -0
  152. package/dist/components/content/icon/icon.style.d.ts +2 -0
  153. package/dist/components/content/icon/icon.style.js +4 -0
  154. package/dist/components/content/image-carousel/image-carousel.d.ts +12 -12
  155. package/dist/components/content/image-carousel/image-carousel.js +29 -28
  156. package/dist/components/content/password-strength/password-strength.d.ts +21 -6
  157. package/dist/components/content/password-strength/password-strength.js +37 -16
  158. package/dist/components/content/password-strength/password-strength.styles.js +4 -0
  159. package/dist/components/content/tag/tag.js +2 -2
  160. package/dist/components/content/tooltip/tooltip.d.ts +16 -9
  161. package/dist/components/content/tooltip/tooltip.js +31 -15
  162. package/dist/components/content/tooltip/tooltip.styles.js +1 -1
  163. package/dist/components/form/checkbox/check-card.d.ts +1 -0
  164. package/dist/components/form/checkbox/check-card.js +1 -0
  165. package/dist/components/form/checkbox/checkbox-list.d.ts +17 -0
  166. package/dist/components/form/checkbox/checkbox-list.js +39 -10
  167. package/dist/components/form/checkbox/checkbox.d.ts +1 -0
  168. package/dist/components/form/checkbox/checkbox.js +3 -1
  169. package/dist/components/form/checkbox/checkbox.styles.js +3 -2
  170. package/dist/components/form/color-picker/color-picker.d.ts +47 -28
  171. package/dist/components/form/color-picker/color-picker.js +73 -51
  172. package/dist/components/form/color-picker/color-picker.styles.js +14 -1
  173. package/dist/components/form/counter/counter.d.ts +24 -18
  174. package/dist/components/form/counter/counter.js +61 -61
  175. package/dist/components/form/counter/counter.styles.js +6 -4
  176. package/dist/components/form/date-picker/date-picker.d.ts +33 -7
  177. package/dist/components/form/date-picker/date-picker.js +82 -56
  178. package/dist/components/form/date-picker/date-picker.styles.js +9 -6
  179. package/dist/components/form/input/input.d.ts +43 -39
  180. package/dist/components/form/input/input.js +91 -110
  181. package/dist/components/form/input-file/input-file.d.ts +26 -13
  182. package/dist/components/form/input-file/input-file.js +35 -35
  183. package/dist/components/form/input-file/input-file.styles.js +4 -4
  184. package/dist/components/form/input-phone/input-phone.d.ts +28 -5
  185. package/dist/components/form/input-phone/input-phone.js +47 -13
  186. package/dist/components/form/input-phone/input-phone.styles.js +6 -3
  187. package/dist/components/form/radio/radio-card.d.ts +1 -0
  188. package/dist/components/form/radio/radio-card.js +1 -0
  189. package/dist/components/form/radio/radio-list.d.ts +23 -7
  190. package/dist/components/form/radio/radio-list.js +47 -22
  191. package/dist/components/form/radio/radio.d.ts +1 -0
  192. package/dist/components/form/radio/radio.js +1 -0
  193. package/dist/components/form/rating/rating.d.ts +349 -0
  194. package/dist/components/form/rating/rating.js +665 -0
  195. package/dist/components/form/rating/rating.styles.d.ts +1 -0
  196. package/dist/components/form/rating/rating.styles.js +213 -0
  197. package/dist/components/form/search/search.d.ts +72 -18
  198. package/dist/components/form/search/search.js +135 -72
  199. package/dist/components/form/search/search.styles.js +2 -0
  200. package/dist/components/form/select/select.d.ts +29 -10
  201. package/dist/components/form/select/select.js +65 -41
  202. package/dist/components/form/shared-styles/field.styles.js +45 -8
  203. package/dist/components/form/shared-styles/listbox.styles.js +15 -1
  204. package/dist/components/form/slider/slider.d.ts +7 -8
  205. package/dist/components/form/slider/slider.js +9 -12
  206. package/dist/components/form/switch/switch.d.ts +1 -0
  207. package/dist/components/form/switch/switch.js +1 -0
  208. package/dist/components/form/textarea/textarea.d.ts +90 -23
  209. package/dist/components/form/textarea/textarea.js +194 -44
  210. package/dist/components/form/textarea/textarea.styles.js +3 -0
  211. package/dist/components/form/time-picker/time-picker-columns.d.ts +2 -2
  212. package/dist/components/form/time-picker/time-picker-columns.js +8 -8
  213. package/dist/components/form/time-picker/time-picker.d.ts +30 -9
  214. package/dist/components/form/time-picker/time-picker.js +66 -40
  215. package/dist/components/form/time-picker/time-picker.styles.js +7 -5
  216. package/dist/components/layout/animate/animate.js +3 -2
  217. package/dist/components/layout/animate/animate.styles.js +2 -2
  218. package/dist/components/layout/divider/divider.js +1 -1
  219. package/dist/components/layout/divider/divider.styles.js +1 -1
  220. package/dist/components/loader/loader/loader.js +2 -2
  221. package/dist/components/loader/loader/loader.styles.js +14 -12
  222. package/dist/components/loader/skeleton/skeleton.js +1 -1
  223. package/dist/components/navigation/carousel/carousel.d.ts +32 -9
  224. package/dist/components/navigation/carousel/carousel.js +88 -41
  225. package/dist/components/navigation/carousel/carousel.styles.js +10 -6
  226. package/dist/components/navigation/pagination/pagination.d.ts +23 -21
  227. package/dist/components/navigation/pagination/pagination.js +30 -53
  228. package/dist/components/navigation/sidebar/sidebar.d.ts +113 -65
  229. package/dist/components/navigation/sidebar/sidebar.js +161 -118
  230. package/dist/components/navigation/sidebar/sidebar.styles.d.ts +1 -1
  231. package/dist/components/navigation/sidebar/sidebar.styles.js +74 -24
  232. package/dist/components/navigation/stepper/step.js +9 -8
  233. package/dist/components/navigation/stepper/stepper.d.ts +1 -3
  234. package/dist/components/navigation/stepper/stepper.js +15 -26
  235. package/dist/components/navigation/tabs/tab-group/tab-group.js +2 -2
  236. package/dist/components/navigation/tabs/tab-group/tab-group.styles.js +2 -2
  237. package/dist/components/navigation/toolbar/toolbar.d.ts +23 -13
  238. package/dist/components/navigation/toolbar/toolbar.js +28 -35
  239. package/dist/components/navigation/toolbar/toolbar.styles.js +18 -17
  240. package/dist/events/select.event.d.ts +3 -2
  241. package/dist/events/select.event.js +2 -1
  242. package/dist/features/scheduler/calendar/calendar.js +1 -1
  243. package/dist/features/scheduler/scheduler/scheduler.d.ts +7 -7
  244. package/dist/features/scheduler/scheduler/scheduler.js +15 -24
  245. package/dist/features/scheduler/scheduler-event/scheduler-event.js +3 -3
  246. package/dist/features/scheduler/scheduler-event/scheduler-event.styles.js +1 -1
  247. package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.d.ts +6 -4
  248. package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.js +7 -8
  249. package/dist/features/table/table/table.js +1 -1
  250. package/dist/features/table/table-action-bar/table-action-bar.js +2 -2
  251. package/dist/i18n/en.d.ts +68 -0
  252. package/dist/i18n/en.js +68 -0
  253. package/dist/i18n/fr.js +68 -2
  254. package/dist/index.d.ts +3 -0
  255. package/dist/index.js +1 -0
  256. package/dist/mixins/button.mixin.d.ts +1 -1
  257. package/dist/mixins/button.mixin.js +9 -6
  258. package/dist/mixins/check.mixin.js +11 -10
  259. package/dist/mixins/dialog-surface.mixin.d.ts +8 -0
  260. package/dist/mixins/disabled.mixin.d.ts +5 -0
  261. package/dist/mixins/disabled.mixin.js +21 -1
  262. package/dist/mixins/editable.mixin.js +28 -5
  263. package/dist/mixins/field-appearance.mixin.js +3 -2
  264. package/dist/mixins/field-size.mixin.d.ts +19 -0
  265. package/dist/mixins/field-size.mixin.js +33 -0
  266. package/dist/mixins/form.mixin.d.ts +4 -0
  267. package/dist/mixins/form.mixin.js +87 -13
  268. package/dist/mixins/localizable.mixin.d.ts +1 -1
  269. package/dist/mixins/localizable.mixin.js +1 -1
  270. package/dist/mixins/radio.mixin.js +11 -10
  271. package/dist/mixins/readonly.mixin.d.ts +2 -1
  272. package/dist/mixins/readonly.mixin.js +10 -3
  273. package/dist/mixins/rounded.mixin.d.ts +18 -0
  274. package/dist/mixins/rounded.mixin.js +32 -0
  275. package/dist/ssr/alert-ssr.css +187 -0
  276. package/dist/ssr/badge-ssr.css +67 -0
  277. package/dist/ssr/breadcrumb-ssr.css +41 -0
  278. package/dist/ssr/button-ssr.css +5 -5
  279. package/dist/ssr/card-ssr.css +27 -15
  280. package/dist/ssr/carousel-ssr.css +247 -0
  281. package/dist/ssr/checkbox-ssr.css +67 -0
  282. package/dist/ssr/chip-ssr.css +250 -0
  283. package/dist/ssr/collapse-ssr.css +180 -0
  284. package/dist/ssr/field-ssr.css +202 -0
  285. package/dist/ssr/icon-ssr.css +266 -0
  286. package/dist/ssr/image-carousel-ssr.css +34 -0
  287. package/dist/ssr/links-ssr.css +44 -1
  288. package/dist/ssr/pagination-ssr.css +4 -0
  289. package/dist/ssr/rating-ssr.css +254 -0
  290. package/dist/ssr/sidebar-ssr.css +102 -3
  291. package/dist/ssr/skeleton-ssr.css +63 -0
  292. package/dist/ssr/tabs-ssr.css +129 -0
  293. package/dist/ssr/toggle-group-ssr.css +233 -0
  294. package/dist/ssr/toolbar-ssr.css +81 -2
  295. package/dist/types/variant.type.d.ts +4 -1
  296. package/dist/utils/boolean.utils.d.ts +14 -0
  297. package/dist/utils/boolean.utils.js +20 -0
  298. package/dist/utils/dropdown-menu.utils.d.ts +1 -1
  299. package/dist/utils/focusable-elements.utils.d.ts +12 -0
  300. package/dist/utils/focusable-elements.utils.js +26 -0
  301. package/dist/utils/implicit-submission.utils.d.ts +18 -0
  302. package/dist/utils/implicit-submission.utils.js +79 -0
  303. package/dist/utils/input-modality.utils.d.ts +13 -0
  304. package/dist/utils/input-modality.utils.js +34 -0
  305. package/dist/utils/listbox-options.utils.d.ts +11 -0
  306. package/dist/utils/listbox-options.utils.js +41 -3
  307. package/dist/utils/theme-generator.utils.d.ts +8 -2
  308. package/dist/utils/theme-generator.utils.js +30 -9
  309. package/package.json +26 -7
  310. package/styles/themes/mixins/eunomia-neutrals.mixin.scss +6 -2
  311. package/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +6 -2
  312. package/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +6 -2
  313. package/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +6 -2
  314. package/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +6 -2
  315. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +6 -2
  316. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +6 -2
  317. package/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +6 -2
  318. package/dist/cdn/components/chunks/chunk-4PI6RDUS.js +0 -1
  319. package/dist/cdn/components/chunks/chunk-6VK6SHCG.js +0 -1
  320. package/dist/cdn/components/chunks/chunk-A3X4KD2X.js +0 -1
  321. package/dist/cdn/components/chunks/chunk-BQFJR2UP.js +0 -110
  322. package/dist/cdn/components/chunks/chunk-G5SBDQQ3.js +0 -1
  323. package/dist/cdn/components/chunks/chunk-KSZRQRN4.js +0 -1
  324. package/dist/cdn/components/chunks/chunk-PE4DAXHQ.js +0 -3
  325. package/dist/cdn/components/chunks/chunk-RS7TWEMQ.js +0 -1
  326. package/dist/cdn/components/chunks/chunk-UDOZRIJZ.js +0 -1
  327. package/dist/cdn/components/chunks/chunk-VOTRXBDS.js +0 -38
@@ -73,8 +73,8 @@ export function renderTimePickerColumns(props) {
73
73
  disabled,
74
74
  noAnimation,
75
75
  label: props.ariaLabelHour ?? "Hour",
76
- ariaLabelIncrement: props.ariaLabelIncrement ?? "Increase hour",
77
- ariaLabelDecrement: props.ariaLabelDecrement ?? "Decrease hour",
76
+ incrementLabel: props.incrementLabel ?? "Increase hour",
77
+ decrementLabel: props.decrementLabel ?? "Decrease hour",
78
78
  min: hourMin,
79
79
  max: hourMax,
80
80
  current: display.hour,
@@ -89,8 +89,8 @@ export function renderTimePickerColumns(props) {
89
89
  disabled,
90
90
  noAnimation,
91
91
  label: props.ariaLabelMinute ?? "Minute",
92
- ariaLabelIncrement: props.ariaLabelIncrement ?? "Increase minute",
93
- ariaLabelDecrement: props.ariaLabelDecrement ?? "Decrease minute",
92
+ incrementLabel: props.incrementLabel ?? "Increase minute",
93
+ decrementLabel: props.decrementLabel ?? "Decrease minute",
94
94
  min: 0,
95
95
  max: 59,
96
96
  current: minute,
@@ -106,8 +106,8 @@ export function renderTimePickerColumns(props) {
106
106
  disabled,
107
107
  noAnimation,
108
108
  label: props.ariaLabelPeriod ?? "AM/PM",
109
- ariaLabelIncrement: props.ariaLabelIncrement ?? "Toggle AM/PM",
110
- ariaLabelDecrement: props.ariaLabelDecrement ?? "Toggle AM/PM",
109
+ incrementLabel: props.incrementLabel ?? "Toggle AM/PM",
110
+ decrementLabel: props.decrementLabel ?? "Toggle AM/PM",
111
111
  min: 0,
112
112
  max: 1,
113
113
  current: period === "AM" ? 0 : 1,
@@ -164,7 +164,7 @@ function renderColumn(config) {
164
164
  type="button"
165
165
  class="tp-arrow tp-arrow-up"
166
166
  tabindex="-1"
167
- aria-label=${config.ariaLabelIncrement}
167
+ aria-label=${config.incrementLabel}
168
168
  ?disabled=${disabled}
169
169
  @click=${() => onStep(1)}
170
170
  >
@@ -194,7 +194,7 @@ function renderColumn(config) {
194
194
  type="button"
195
195
  class="tp-arrow tp-arrow-down"
196
196
  tabindex="-1"
197
- aria-label=${config.ariaLabelDecrement}
197
+ aria-label=${config.decrementLabel}
198
198
  ?disabled=${disabled}
199
199
  @click=${() => onStep(-1)}
200
200
  >
@@ -5,6 +5,8 @@ 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 { FieldAppearanceMixinInterface } from "../../../mixins/field-appearance.mixin.js";
8
+ import { RoundedMixinInterface } from "../../../mixins/rounded.mixin.js";
9
+ import { FieldSizeMixinInterface } from "../../../mixins/field-size.mixin.js";
8
10
  import { AnchorPositionMixinInterface } from "../../../mixins/anchor-position.mixin.js";
9
11
  import { LocalizableMixinInterface } from "../../../mixins/localizable.mixin.js";
10
12
  import { Constructor } from "../../../utils/constructor.type.js";
@@ -19,7 +21,7 @@ export declare const EunomiaTimePickerTagName = "eun-time-picker";
19
21
  * interface element.
20
22
  * @internal
21
23
  */
22
- type EunomiaTimePickerBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface<Date | null> & FormMixinInterface<Date | null> & FormLabelMixinInterface & FieldAppearanceMixinInterface & AnchorPositionMixinInterface & LocalizableMixinInterface;
24
+ type EunomiaTimePickerBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface<Date | null> & FormMixinInterface<Date | null> & FormLabelMixinInterface & FieldAppearanceMixinInterface & RoundedMixinInterface & FieldSizeMixinInterface & AnchorPositionMixinInterface & LocalizableMixinInterface;
23
25
  declare const EunomiaTimePickerMixinBase: Constructor<EunomiaTimePickerBase>;
24
26
  /**
25
27
  * A time field entered across segmented numeric hour and minute inputs,
@@ -40,6 +42,8 @@ declare const EunomiaTimePickerMixinBase: Constructor<EunomiaTimePickerBase>;
40
42
  * under a labeled group.
41
43
  *
42
44
  * @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
45
+ * @prop {boolean} [rounded=false] - Whether the field is fully rounded, as a pill. A custom border radius still wins over it
46
+ * @prop {'xs' | 's' | 'm' | 'l' | 'xl'} [size='m'] - The field size. A field and a button of the same size share the same height
43
47
  * @prop {Date | null} value - The picked instant
44
48
  * @prop {Date | null} defaultValue - The default value applied when the field connects, and restored on form reset
45
49
  * @prop {string} [timezone] - The time zone the hour and minute are displayed and edited in. Defaults to the runtime's own
@@ -65,14 +69,15 @@ declare const EunomiaTimePickerMixinBase: Constructor<EunomiaTimePickerBase>;
65
69
  * @prop {boolean} [readonly=false] - Whether the field is read only
66
70
  * @prop {boolean} [required=false] - Whether the field is required
67
71
  * @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
72
+ * @prop {boolean} [invalid=false] - Shows the field as invalid without any message, for an error displayed elsewhere
68
73
  * @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
69
74
  * @prop {Array<Validators<Date | null>>} validators - The list of custom validation rules applied to the value
70
75
  * @prop {string} [applyLabel='Apply'] - The label of the mobile modal's confirm button
71
76
  * @attr {string} [apply-label='Apply'] - The label of the mobile modal's confirm button
72
- * @prop {string} [cancelLabel='Cancel'] - The label of the mobile modal's cancel button
73
- * @attr {string} [cancel-label='Cancel'] - The label of the mobile modal's cancel button
74
- * @prop {string} [ariaLabelClock='Open clock'] - The accessible label of the trailing clock button
75
- * @attr {string} [aria-label-clock='Open clock'] - The accessible label of the trailing clock button
77
+ * @prop {string} [cancelLabel] - The label of the mobile modal's cancel button. Defaults to the localized string for the current locale (English: "Cancel")
78
+ * @attr {string} [cancel-label] - The label of the mobile modal's cancel button. Defaults to the localized string for the current locale (English: "Cancel")
79
+ * @prop {string} [clockLabel] - The accessible label of the trailing clock button. Defaults to the localized string for the current locale (English: "Open clock")
80
+ * @attr {string} [clock-label] - The accessible label of the trailing clock button. Defaults to the localized string for the current locale (English: "Open clock")
76
81
  * @prop {string} [hourPlaceholder='hh'] - The placeholder shown in the empty hour segment
77
82
  * @attr {string} [hour-placeholder='hh'] - The placeholder shown in the empty hour segment
78
83
  * @prop {string} [minutePlaceholder='mm'] - The placeholder shown in the empty minute segment
@@ -98,6 +103,7 @@ declare const EunomiaTimePickerMixinBase: Constructor<EunomiaTimePickerBase>;
98
103
  * @cssprop [--time-picker-panel-background] - Sets the background color of the popover panel
99
104
  * @cssprop [--time-picker-panel-transition-duration=200ms] - Sets the duration of the popover panel's open and close transition
100
105
  * @cssprop [--field-font-size] - Sets the font size of the field's value and placeholder
106
+ * @cssprop [--field-line-height] - Sets the line height of the field's value and placeholder
101
107
  * @cssprop [--field-label-font-size] - Sets the font size of the label
102
108
  * @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
103
109
  * @element eun-time-picker
@@ -186,14 +192,14 @@ export declare class EunomiaTimePicker extends EunomiaTimePickerMixinBase {
186
192
  applyLabel: string;
187
193
  /**
188
194
  * Label of the mobile modal's cancel button.
189
- * @default Cancel
195
+ * Falls back to the localized string for the current locale when unset.
190
196
  */
191
- cancelLabel: string;
197
+ cancelLabel?: string;
192
198
  /**
193
199
  * Accessible label of the trailing clock button.
194
- * @default Open clock
200
+ * Falls back to the localized string for the current locale when unset.
195
201
  */
196
- ariaLabelClock: string;
202
+ clockLabel?: string;
197
203
  /**
198
204
  * Placeholder shown in the empty hour segment.
199
205
  * @default hh
@@ -227,6 +233,15 @@ export declare class EunomiaTimePicker extends EunomiaTimePickerMixinBase {
227
233
  * @internal
228
234
  */
229
235
  private isOpen;
236
+ constructor();
237
+ /**
238
+ * Submits the owning form on Enter in one of the field's segments, as a
239
+ * native time input does, since the browser never does it from a
240
+ * shadow root. Left alone while the panel is open, and on keys a
241
+ * segment already handles, such as Enter toggling the AM/PM segment.
242
+ * @private
243
+ */
244
+ private readonly handleImplicitSubmission;
230
245
  /**
231
246
  * Whether the mobile modal is open.
232
247
  * @internal
@@ -327,6 +342,12 @@ export declare class EunomiaTimePicker extends EunomiaTimePickerMixinBase {
327
342
  * @returns validity state and optional message.
328
343
  */
329
344
  checkLocalValidators: () => Validity;
345
+ /**
346
+ * The host is never a tab stop of its own : sequential navigation goes
347
+ * straight to the controls inside, in both directions, and
348
+ * {@link focus} covers a direct call on the host.
349
+ */
350
+ protected get hostTabStop(): boolean;
330
351
  /**
331
352
  * Returns the first segment element to focus/anchor on validation errors.
332
353
  *
@@ -12,6 +12,8 @@ import { ValidatorsMixin, } from "../../../mixins/validators.mixin.js";
12
12
  import { FormMixin, hasErrorDisplayChange, } from "../../../mixins/form.mixin.js";
13
13
  import { FormLabelMixin, } from "../../../mixins/form-label.mixin.js";
14
14
  import { FieldAppearanceMixin, } from "../../../mixins/field-appearance.mixin.js";
15
+ import { RoundedMixin, } from "../../../mixins/rounded.mixin.js";
16
+ import { FieldSizeMixin, } from "../../../mixins/field-size.mixin.js";
15
17
  import { AnchorPositionMixin, } from "../../../mixins/anchor-position.mixin.js";
16
18
  import { LocalizableMixin, } from "../../../mixins/localizable.mixin.js";
17
19
  import { ChangeEvent } from "../../../events/change.event.js";
@@ -26,6 +28,7 @@ import { timePickerListStyles } from "./time-picker-list.styles.js";
26
28
  import { renderTimePickerList } from "./time-picker-list.js";
27
29
  import { resolveDurationMs, resolveEasing, } from "../../../utils/motion.utils.js";
28
30
  import { mediaBelow } from "../../../breakpoints.js";
31
+ import { isImplicitSubmissionKey, submitImplicitly, } from "../../../utils/implicit-submission.utils.js";
29
32
  /**
30
33
  * Tag name of the time-picker component.
31
34
  */
@@ -36,7 +39,7 @@ export const EunomiaTimePickerTagName = "eun-time-picker";
36
39
  * @internal
37
40
  */
38
41
  const Base = DisabledMixin(ValidatorsMixin(LitElement));
39
- const EunomiaTimePickerMixinBase = LocalizableMixin(AnchorPositionMixin(FieldAppearanceMixin(FormLabelMixin(ReadonlyMixin(FormMixin(Base))))));
42
+ const EunomiaTimePickerMixinBase = LocalizableMixin(AnchorPositionMixin(RoundedMixin(FieldSizeMixin(FieldAppearanceMixin(FormLabelMixin(ReadonlyMixin(FormMixin(Base))))))));
40
43
  /**
41
44
  * A time field entered across segmented numeric hour and minute inputs,
42
45
  * plus an AM/PM toggle segment at a 12-hour format, with a trailing clock
@@ -56,6 +59,8 @@ const EunomiaTimePickerMixinBase = LocalizableMixin(AnchorPositionMixin(FieldApp
56
59
  * under a labeled group.
57
60
  *
58
61
  * @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
62
+ * @prop {boolean} [rounded=false] - Whether the field is fully rounded, as a pill. A custom border radius still wins over it
63
+ * @prop {'xs' | 's' | 'm' | 'l' | 'xl'} [size='m'] - The field size. A field and a button of the same size share the same height
59
64
  * @prop {Date | null} value - The picked instant
60
65
  * @prop {Date | null} defaultValue - The default value applied when the field connects, and restored on form reset
61
66
  * @prop {string} [timezone] - The time zone the hour and minute are displayed and edited in. Defaults to the runtime's own
@@ -81,14 +86,15 @@ const EunomiaTimePickerMixinBase = LocalizableMixin(AnchorPositionMixin(FieldApp
81
86
  * @prop {boolean} [readonly=false] - Whether the field is read only
82
87
  * @prop {boolean} [required=false] - Whether the field is required
83
88
  * @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
89
+ * @prop {boolean} [invalid=false] - Shows the field as invalid without any message, for an error displayed elsewhere
84
90
  * @prop {string} [error] - An error computed outside the field, by the form or by the server. While set, the field is invalid and shows this message right away
85
91
  * @prop {Array<Validators<Date | null>>} validators - The list of custom validation rules applied to the value
86
92
  * @prop {string} [applyLabel='Apply'] - The label of the mobile modal's confirm button
87
93
  * @attr {string} [apply-label='Apply'] - The label of the mobile modal's confirm button
88
- * @prop {string} [cancelLabel='Cancel'] - The label of the mobile modal's cancel button
89
- * @attr {string} [cancel-label='Cancel'] - The label of the mobile modal's cancel button
90
- * @prop {string} [ariaLabelClock='Open clock'] - The accessible label of the trailing clock button
91
- * @attr {string} [aria-label-clock='Open clock'] - The accessible label of the trailing clock button
94
+ * @prop {string} [cancelLabel] - The label of the mobile modal's cancel button. Defaults to the localized string for the current locale (English: "Cancel")
95
+ * @attr {string} [cancel-label] - The label of the mobile modal's cancel button. Defaults to the localized string for the current locale (English: "Cancel")
96
+ * @prop {string} [clockLabel] - The accessible label of the trailing clock button. Defaults to the localized string for the current locale (English: "Open clock")
97
+ * @attr {string} [clock-label] - The accessible label of the trailing clock button. Defaults to the localized string for the current locale (English: "Open clock")
92
98
  * @prop {string} [hourPlaceholder='hh'] - The placeholder shown in the empty hour segment
93
99
  * @attr {string} [hour-placeholder='hh'] - The placeholder shown in the empty hour segment
94
100
  * @prop {string} [minutePlaceholder='mm'] - The placeholder shown in the empty minute segment
@@ -114,13 +120,31 @@ const EunomiaTimePickerMixinBase = LocalizableMixin(AnchorPositionMixin(FieldApp
114
120
  * @cssprop [--time-picker-panel-background] - Sets the background color of the popover panel
115
121
  * @cssprop [--time-picker-panel-transition-duration=200ms] - Sets the duration of the popover panel's open and close transition
116
122
  * @cssprop [--field-font-size] - Sets the font size of the field's value and placeholder
123
+ * @cssprop [--field-line-height] - Sets the line height of the field's value and placeholder
117
124
  * @cssprop [--field-label-font-size] - Sets the font size of the label
118
125
  * @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
119
126
  * @element eun-time-picker
120
127
  */
121
128
  let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBase {
129
+ /**
130
+ * The default value applied on connection and form reset. Overrides the
131
+ * `defaultValue` accessor inherited from `FormMixin` only to swap its
132
+ * attribute converter — the mixin's generic one always splits
133
+ * `default-value` on commas, which would silently produce the wrong thing
134
+ * for a `Date` ; matches `eun-date-picker`'s identical override. The
135
+ * actual get/set logic (applying the default when the field resets)
136
+ * still comes from `FormMixin` itself, via `super`.
137
+ * @default-value-format an ISO 8601 date-time string
138
+ */
139
+ get defaultValue() {
140
+ return super.defaultValue;
141
+ }
142
+ set defaultValue(value) {
143
+ // @ts-expect-error — see comment above ; FormMixin's real setter exists.
144
+ super.defaultValue = value;
145
+ }
122
146
  constructor() {
123
- super(...arguments);
147
+ super();
124
148
  /**
125
149
  * The minute column's increment step, and which minute values the mobile
126
150
  * wheel enumerates (e.g. `15` only ever shows/lands on `:00`/`:15`/`:30`/
@@ -168,16 +192,6 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
168
192
  * @default Apply
169
193
  */
170
194
  this.applyLabel = "Apply";
171
- /**
172
- * Label of the mobile modal's cancel button.
173
- * @default Cancel
174
- */
175
- this.cancelLabel = "Cancel";
176
- /**
177
- * Accessible label of the trailing clock button.
178
- * @default Open clock
179
- */
180
- this.ariaLabelClock = "Open clock";
181
195
  /**
182
196
  * Placeholder shown in the empty hour segment.
183
197
  * @default hh
@@ -199,6 +213,25 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
199
213
  * @internal
200
214
  */
201
215
  this.isOpen = false;
216
+ /**
217
+ * Submits the owning form on Enter in one of the field's segments, as a
218
+ * native time input does, since the browser never does it from a
219
+ * shadow root. Left alone while the panel is open, and on keys a
220
+ * segment already handles, such as Enter toggling the AM/PM segment.
221
+ * @private
222
+ */
223
+ this.handleImplicitSubmission = (event) => {
224
+ const form = this.internals.form;
225
+ const origin = event.composedPath()[0];
226
+ if (!form ||
227
+ this.isOpen ||
228
+ !(origin instanceof Element && origin.matches(".segment")) ||
229
+ !isImplicitSubmissionKey(event)) {
230
+ return;
231
+ }
232
+ event.preventDefault();
233
+ submitImplicitly(form);
234
+ };
202
235
  /**
203
236
  * Whether the mobile modal is open.
204
237
  * @internal
@@ -411,23 +444,7 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
411
444
  break;
412
445
  }
413
446
  };
414
- }
415
- /**
416
- * The default value applied on connection and form reset. Overrides the
417
- * `defaultValue` accessor inherited from `FormMixin` only to swap its
418
- * attribute converter — the mixin's generic one always splits
419
- * `default-value` on commas, which would silently produce the wrong thing
420
- * for a `Date` ; matches `eun-date-picker`'s identical override. The
421
- * actual get/set logic (applying the default when the field resets)
422
- * still comes from `FormMixin` itself, via `super`.
423
- * @default-value-format an ISO 8601 date-time string
424
- */
425
- get defaultValue() {
426
- return super.defaultValue;
427
- }
428
- set defaultValue(value) {
429
- // @ts-expect-error — see comment above ; FormMixin's real setter exists.
430
- super.defaultValue = value;
447
+ this.addEventListener("keydown", this.handleImplicitSubmission);
431
448
  }
432
449
  /**
433
450
  * Lifecycle hook called before an update, ahead of render. Keeps the
@@ -482,6 +499,14 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
482
499
  this.setAttribute("aria-invalid", String(this.showError));
483
500
  }
484
501
  }
502
+ /**
503
+ * The host is never a tab stop of its own : sequential navigation goes
504
+ * straight to the controls inside, in both directions, and
505
+ * {@link focus} covers a direct call on the host.
506
+ */
507
+ get hostTabStop() {
508
+ return false;
509
+ }
485
510
  /**
486
511
  * Returns the first segment element to focus/anchor on validation errors.
487
512
  *
@@ -905,7 +930,8 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
905
930
  <div
906
931
  class="segment-group"
907
932
  role="group"
908
- aria-label=${this.label ?? "Time"}
933
+ aria-label=${this.label ?? this.dictionary.timePicker.time}
934
+ aria-describedby=${this.description?.length ? "description" : nothing}
909
935
  >
910
936
  ${order.map((kind, index) => {
911
937
  const previous = order[index - 1];
@@ -924,13 +950,13 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
924
950
  <button
925
951
  type="button"
926
952
  id="clock-trigger"
927
- aria-label=${this.ariaLabelClock}
953
+ aria-label=${this.clockLabel ?? this.dictionary.timePicker.openClock}
928
954
  aria-haspopup=${this.panelMode === "list" ? "listbox" : "dialog"}
929
955
  aria-expanded=${this.isOpen || this.isModalOpen ? "true" : "false"}
930
956
  ?disabled=${this.disabled}
931
957
  @click=${this.handleTriggerClick}
932
958
  >
933
- <eun-icon name="access_time" size="16"></eun-icon>
959
+ <eun-icon name="access_time"></eun-icon>
934
960
  </button>
935
961
  </div>
936
962
  `;
@@ -1035,7 +1061,7 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
1035
1061
  ?open=${this.isModalOpen}
1036
1062
  .closeable=${false}
1037
1063
  confirm-label=${this.applyLabel}
1038
- cancel-label=${this.cancelLabel}
1064
+ cancel-label=${this.cancelLabel ?? this.dictionary.common.cancel}
1039
1065
  aria-label=${this.label ?? this.dictionary.timePicker.selectATime}
1040
1066
  @eunconfirm=${this.handleModalConfirm}
1041
1067
  @euncancel=${this.handleModalCancel}
@@ -1053,7 +1079,7 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
1053
1079
  id="cancel"
1054
1080
  @click=${() => this.modalEl?.cancel()}
1055
1081
  >
1056
- ${this.cancelLabel}
1082
+ ${this.cancelLabel ?? this.dictionary.common.cancel}
1057
1083
  </eun-button>
1058
1084
  <eun-button id="confirm" @click=${() => this.modalEl?.confirm()}>
1059
1085
  ${this.applyLabel}
@@ -1113,8 +1139,8 @@ __decorate([
1113
1139
  property({ attribute: "cancel-label" })
1114
1140
  ], EunomiaTimePicker.prototype, "cancelLabel", void 0);
1115
1141
  __decorate([
1116
- property({ attribute: "aria-label-clock" })
1117
- ], EunomiaTimePicker.prototype, "ariaLabelClock", void 0);
1142
+ property({ attribute: "clock-label" })
1143
+ ], EunomiaTimePicker.prototype, "clockLabel", void 0);
1118
1144
  __decorate([
1119
1145
  property({ attribute: "hour-placeholder" })
1120
1146
  ], EunomiaTimePicker.prototype, "hourPlaceholder", void 0);
@@ -18,15 +18,15 @@ const timePicker = css `
18
18
  display: flex;
19
19
  align-items: center;
20
20
  gap: var(--eun-space-xs, 4px);
21
- width: 100%;
22
21
  color: var(--_textColor);
23
22
  background-color: var(--_background);
24
23
  border: var(--eun-border-width-m, 1.5px) solid var(--_borderColor);
25
24
  border-radius: var(--_borderRadius);
26
- padding: var(--eun-space-xs, 4px) var(--eun-space-xs, 4px)
27
- var(--eun-space-xs, 4px) var(--eun-space-s, 8px);
25
+ padding: var(--_paddingBlock) calc(var(--_defaultPaddingInline) / 2)
26
+ var(--_paddingBlock) var(--_defaultPaddingInline);
28
27
  outline: 1px solid transparent;
29
- box-sizing: border-box;
28
+ box-sizing: content-box;
29
+ height: var(--_lineHeight);
30
30
  transition:
31
31
  border-color var(--eun-duration-s, 150ms) var(--eun-easing-default, ease),
32
32
  outline-color var(--eun-duration-s, 150ms) var(--eun-easing-default, ease);
@@ -81,9 +81,10 @@ const timePicker = css `
81
81
  box-sizing: content-box;
82
82
  border: none;
83
83
  background: none;
84
- padding: var(--eun-space-xxs, 1.6px) 1px;
84
+ padding: 0 1px;
85
85
  color: inherit;
86
86
  font: inherit;
87
+ line-height: var(--_lineHeight);
87
88
  text-align: center;
88
89
  outline: none;
89
90
  overflow: visible;
@@ -109,6 +110,7 @@ const timePicker = css `
109
110
  padding-inline: 2px;
110
111
  }
111
112
  #clock-trigger {
113
+ --icon-size: min(16px, var(--_lineHeight));
112
114
  display: flex;
113
115
  align-items: center;
114
116
  justify-content: center;
@@ -8,6 +8,7 @@ import { customElement, property } from "lit/decorators.js";
8
8
  import { html, LitElement, nothing } from "lit";
9
9
  import { animateStyles } from "./animate.styles.js";
10
10
  import { mediaBelow } from "../../../breakpoints.js";
11
+ import { defaultTrueConverter } from "../../../utils/boolean.utils.js";
11
12
  /**
12
13
  * Tag name of the animate component.
13
14
  */
@@ -194,7 +195,7 @@ let EunomiaAnimate = class EunomiaAnimate extends LitElement {
194
195
  */
195
196
  EunomiaAnimate.styles = animateStyles;
196
197
  __decorate([
197
- property({ reflect: true })
198
+ property({ reflect: true, useDefault: true })
198
199
  ], EunomiaAnimate.prototype, "animation", void 0);
199
200
  __decorate([
200
201
  property({ type: Number })
@@ -209,7 +210,7 @@ __decorate([
209
210
  property({ type: Number, attribute: "mobile-delay" })
210
211
  ], EunomiaAnimate.prototype, "mobileDelay", void 0);
211
212
  __decorate([
212
- property({ type: Boolean })
213
+ property({ converter: defaultTrueConverter })
213
214
  ], EunomiaAnimate.prototype, "once", void 0);
214
215
  __decorate([
215
216
  property({ type: Number })
@@ -20,11 +20,11 @@ const base = css `
20
20
  transition-property: none;
21
21
  }
22
22
 
23
- :host([animation="fade"]) {
23
+ :host(:is([animation="fade"], :not([animation]))) {
24
24
  opacity: 0;
25
25
  transition-property: opacity;
26
26
  }
27
- :host([animation="fade"][in-view]) {
27
+ :host(:is([animation="fade"], :not([animation]))[in-view]) {
28
28
  opacity: 1;
29
29
  }
30
30
 
@@ -64,7 +64,7 @@ let EunomiaDivider = class EunomiaDivider extends LitElement {
64
64
  */
65
65
  EunomiaDivider.styles = dividerStyles;
66
66
  __decorate([
67
- property({ reflect: true })
67
+ property({ reflect: true, useDefault: true })
68
68
  ], EunomiaDivider.prototype, "orientation", void 0);
69
69
  EunomiaDivider = __decorate([
70
70
  customElement(EunomiaDividerTagName)
@@ -13,7 +13,7 @@ const base = css `
13
13
  display: block;
14
14
  }
15
15
 
16
- :host([orientation="horizontal"]) {
16
+ :host(:is([orientation="horizontal"], :not([orientation]))) {
17
17
  width: 100%;
18
18
  height: 0;
19
19
  margin-block: var(--_spacing);
@@ -170,7 +170,7 @@ __decorate([
170
170
  property()
171
171
  ], EunomiaLoader.prototype, "label", void 0);
172
172
  __decorate([
173
- property({ reflect: true })
173
+ property({ reflect: true, useDefault: true })
174
174
  ], EunomiaLoader.prototype, "variant", void 0);
175
175
  __decorate([
176
176
  property({ hasChanged: () => false })
@@ -182,7 +182,7 @@ __decorate([
182
182
  property({ type: Boolean, reflect: true })
183
183
  ], EunomiaLoader.prototype, "sticky", void 0);
184
184
  __decorate([
185
- property({ attribute: "sticky-position", reflect: true })
185
+ property({ attribute: "sticky-position", reflect: true, useDefault: true })
186
186
  ], EunomiaLoader.prototype, "stickyPosition", void 0);
187
187
  EunomiaLoader = __decorate([
188
188
  customElement(EunomiaLoaderTagName)
@@ -19,9 +19,9 @@ const base = css `
19
19
  font-size: var(--_size);
20
20
  }
21
21
 
22
- :host([variant="dots"]) span,
23
- :host([variant="dots"]) span::before,
24
- :host([variant="dots"]) span::after {
22
+ :host(:is([variant="dots"], :not([variant]))) span,
23
+ :host(:is([variant="dots"], :not([variant]))) span::before,
24
+ :host(:is([variant="dots"], :not([variant]))) span::after {
25
25
  border-radius: 50%;
26
26
  width: 0.5em;
27
27
  height: 0.5em;
@@ -30,22 +30,22 @@ const base = css `
30
30
  animation: eun-loader-fade 1.4s infinite ease-in-out;
31
31
  animation-fill-mode: both;
32
32
  }
33
- :host([variant="dots"]) span {
33
+ :host(:is([variant="dots"], :not([variant]))) span {
34
34
  position: relative;
35
35
  margin: 0 0.75em;
36
36
  animation-delay: -0.16s;
37
37
  }
38
- :host([variant="dots"]) span::before,
39
- :host([variant="dots"]) span::after {
38
+ :host(:is([variant="dots"], :not([variant]))) span::before,
39
+ :host(:is([variant="dots"], :not([variant]))) span::after {
40
40
  content: "";
41
41
  position: absolute;
42
42
  top: 0;
43
43
  }
44
- :host([variant="dots"]) span::before {
44
+ :host(:is([variant="dots"], :not([variant]))) span::before {
45
45
  left: -0.75em;
46
46
  animation-delay: -0.32s;
47
47
  }
48
- :host([variant="dots"]) span::after {
48
+ :host(:is([variant="dots"], :not([variant]))) span::after {
49
49
  left: 0.75em;
50
50
  }
51
51
  @keyframes eun-loader-fade {
@@ -77,9 +77,9 @@ const base = css `
77
77
  }
78
78
 
79
79
  @media (prefers-reduced-motion: reduce) {
80
- :host([variant="dots"]) span,
81
- :host([variant="dots"]) span::before,
82
- :host([variant="dots"]) span::after {
80
+ :host(:is([variant="dots"], :not([variant]))) span,
81
+ :host(:is([variant="dots"], :not([variant]))) span::before,
82
+ :host(:is([variant="dots"], :not([variant]))) span::after {
83
83
  animation-duration: 2.8s;
84
84
  }
85
85
  :host([variant="spinner"]) span {
@@ -140,7 +140,9 @@ const bar = css `
140
140
  z-index: var(--loader-bar-z-index, 10);
141
141
  }
142
142
 
143
- :host([variant="bar"][sticky][sticky-position="top"]) {
143
+ :host(
144
+ [variant="bar"][sticky]:is([sticky-position="top"], :not([sticky-position]))
145
+ ) {
144
146
  top: var(--loader-bar-sticky-offset, 0);
145
147
  }
146
148
 
@@ -82,7 +82,7 @@ let EunomiaSkeleton = class EunomiaSkeleton extends LitElement {
82
82
  */
83
83
  EunomiaSkeleton.styles = skeletonStyles;
84
84
  __decorate([
85
- property({ reflect: true })
85
+ property({ reflect: true, useDefault: true })
86
86
  ], EunomiaSkeleton.prototype, "variant", void 0);
87
87
  __decorate([
88
88
  property()
@@ -64,10 +64,10 @@ declare const EunomiaCarousel_base: import("../../../utils/constructor.type.js")
64
64
  * @prop {boolean} [showArrows=true] - Shows the previous and next buttons
65
65
  * @prop {boolean} [showDots=true] - Shows the pagination dots
66
66
  * @attr {string} aria-label - The accessible name for the carousel region. Defaults to Carousel, and is recommended whenever a page has more than one carousel, or its purpose isn't already clear from a preceding heading
67
- * @prop {string} [ariaLabelPrevious] - The accessible label of the previous control. Defaults to the localized string for the current locale (English: "Previous slide")
68
- * @attr {string} [aria-label-previous] - The accessible label of the previous control. Defaults to the localized string for the current locale (English: "Previous slide")
69
- * @prop {string} [ariaLabelNext] - The accessible label of the next control. Defaults to the localized string for the current locale (English: "Next slide")
70
- * @attr {string} [aria-label-next] - The accessible label of the next control. Defaults to the localized string for the current locale (English: "Next slide")
67
+ * @prop {string} [previousLabel] - The accessible label of the previous control. Defaults to the localized string for the current locale (English: "Previous slide")
68
+ * @attr {string} [previous-label] - The accessible label of the previous control. Defaults to the localized string for the current locale (English: "Previous slide")
69
+ * @prop {string} [nextLabel] - The accessible label of the next control. Defaults to the localized string for the current locale (English: "Next slide")
70
+ * @attr {string} [next-label] - The accessible label of the next control. Defaults to the localized string for the current locale (English: "Next slide")
71
71
  * @fires {SlideChangeEvent} eunslidechange - Fired once the active slide settles on a new index
72
72
  * @cssprop [--carousel-visible-slides] - Sets how many slides are shown at once, overriding visibleSlides. Meant to be changed from your own media or container queries, so the slide count follows the available space without any script
73
73
  * @cssprop [--carousel-scroll-step] - Sets how many slides a previous, next, or dot click advances by, overriding scrollStep. Read again whenever the carousel resizes
@@ -170,8 +170,7 @@ export declare class EunomiaCarousel extends EunomiaCarousel_base {
170
170
  * Fades the viewport's edges to hint there's more to scroll — hidden
171
171
  * automatically on whichever side is already at its scroll bound (never
172
172
  * shown on the left at the very start, or the right at the very end).
173
- * On by default ; set the *property* to `false` to turn it off (see the
174
- * Examples tab for the boolean-attribute caveat that applies here too).
173
+ * On by default ; `edge-fade="false"` turns it off.
175
174
  * @default true
176
175
  */
177
176
  edgeFade: boolean;
@@ -210,13 +209,13 @@ export declare class EunomiaCarousel extends EunomiaCarousel_base {
210
209
  * dictionary when unset, so it follows `locale` automatically.
211
210
  * @default {i18n:carousel.previous}
212
211
  */
213
- ariaLabelPrevious?: string;
212
+ previousLabel?: string;
214
213
  /**
215
214
  * Accessible label of the Next control. Resolved from the locale
216
215
  * dictionary when unset, so it follows `locale` automatically.
217
216
  * @default {i18n:carousel.next}
218
217
  */
219
- ariaLabelNext?: string;
218
+ nextLabel?: string;
220
219
  /**
221
220
  * Index of the currently active slide (see {@link ACTIVE_SLIDE_CLASS}).
222
221
  * @internal
@@ -369,6 +368,29 @@ export declare class EunomiaCarousel extends EunomiaCarousel_base {
369
368
  * @private
370
369
  */
371
370
  private getTrackInset;
371
+ /**
372
+ * Whether the track lays out right to left. Slides then start from the
373
+ * track's right edge and `scrollLeft` runs from `0` down to negative
374
+ * values, so every scroll measurement goes through the logical helpers
375
+ * below instead of reading `left`/`scrollLeft` directly.
376
+ * @private
377
+ */
378
+ private isRtl;
379
+ /**
380
+ * How far the track has scrolled from its inline start, always positive
381
+ * whatever the direction.
382
+ * @private
383
+ */
384
+ private getScrollProgress;
385
+ /**
386
+ * Distance from the track's inline-start edge to a rect's own
387
+ * inline-start edge (`left` in LTR, `right` in RTL), positive toward the
388
+ * end of the track.
389
+ * @param rect the measured element's rect.
390
+ * @param trackRect the track's own rect.
391
+ * @private
392
+ */
393
+ private getInlineStartOffset;
372
394
  /**
373
395
  * The highest valid slide index a page can start on, without leaving
374
396
  * empty space at the end of the track. Measured from the slides' actual
@@ -563,7 +585,8 @@ export declare class EunomiaCarousel extends EunomiaCarousel_base {
563
585
  private updateFromScrollPosition;
564
586
  /**
565
587
  * Handles keyboard navigation on the track : arrow keys page by
566
- * `scrollStep`, Home/End jump to the bounds.
588
+ * `scrollStep`, Home/End jump to the bounds. Right to left, the arrows
589
+ * swap so each one still moves toward the side it points to.
567
590
  *
568
591
  * @param event the native keyboard event.
569
592
  * @private