@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
@@ -0,0 +1,213 @@
1
+ import { css } from "lit";
2
+ /**
3
+ * Base style for rating.
4
+ *
5
+ * Custom css variables:
6
+ * [--rating-size] - Set a custom width/height for each icon
7
+ * [--rating-gap] - Set a custom space between two icons
8
+ * [--rating-color] - Set a custom color to the filled icons
9
+ * [--rating-empty-color] - Set a custom color to the empty icons
10
+ * [--rating-error-color] - Set a custom color to the error message, and to the empty icons while in error
11
+ * [--rating-hint-color] - Set a custom color to the hint message
12
+ * [--rating-focus-outline-color] - Set a custom color to the focus outline drawn around the focused icon and the clear button
13
+ */
14
+ const base = css `
15
+ :host {
16
+ --_iconSize: var(--rating-size, 24px);
17
+ --_gap: var(--rating-gap, var(--eun-space-xs, 4px));
18
+ --_color: var(--rating-color, var(--eun-color-primary-500, #3d6fff));
19
+ --_emptyColor: var(
20
+ --rating-empty-color,
21
+ color-mix(
22
+ in srgb,
23
+ var(--eun-text-color, #071621) 55%,
24
+ var(--eun-surface-color, #ffffff)
25
+ )
26
+ );
27
+ --_errorColor: var(
28
+ --rating-error-color,
29
+ var(--eun-color-critical-100, #aa0014)
30
+ );
31
+ --_hintColor: var(--rating-hint-color, var(--eun-text-secondary, #484e61));
32
+ --_focusIndicator: var(
33
+ --rating-focus-outline-color,
34
+ var(--eun-color-primary-500, #3d6fff)
35
+ );
36
+ font-family: var(--eun-font-family, "Mulish", sans-serif);
37
+ font-size: var(--eun-font-size-s, 14px);
38
+ display: inline-block;
39
+ vertical-align: middle;
40
+ outline: none;
41
+ }
42
+
43
+ #wrapper {
44
+ display: flex;
45
+ flex-direction: column;
46
+ gap: var(--eun-space-xs, 4px);
47
+ }
48
+
49
+ #control {
50
+ display: flex;
51
+ align-items: center;
52
+ gap: var(--eun-space-s, 8px);
53
+ }
54
+
55
+ #items {
56
+ display: flex;
57
+ gap: var(--_gap);
58
+ cursor: pointer;
59
+ }
60
+
61
+ .item {
62
+ position: relative;
63
+ flex: none;
64
+ width: var(--_iconSize);
65
+ height: var(--_iconSize);
66
+ }
67
+
68
+ :host([display-only]) #items {
69
+ cursor: default;
70
+ }
71
+
72
+ .icon {
73
+ position: absolute;
74
+ inset: 0;
75
+ pointer-events: none;
76
+ }
77
+
78
+ .icon eun-icon {
79
+ --icon-size: var(--_iconSize);
80
+ display: block;
81
+ width: var(--_iconSize);
82
+ height: var(--_iconSize);
83
+ }
84
+
85
+ .empty {
86
+ --icon-color: var(--_emptyColor);
87
+ }
88
+
89
+ .fill {
90
+ position: absolute;
91
+ inset-block: 0;
92
+ inset-inline-start: 0;
93
+ overflow: hidden;
94
+ --icon-color: var(--_color);
95
+ }
96
+
97
+ .fill eun-icon {
98
+ flex: none;
99
+ }
100
+
101
+ input {
102
+ position: absolute;
103
+ inset-block: 0;
104
+ inset-inline-start: 0;
105
+ width: 100%;
106
+ height: 100%;
107
+ margin: 0;
108
+ opacity: 0;
109
+ appearance: none;
110
+ pointer-events: none;
111
+ }
112
+
113
+ input.half {
114
+ width: 50%;
115
+ }
116
+
117
+ input.end {
118
+ inset-inline-start: 50%;
119
+ width: 50%;
120
+ }
121
+
122
+ .focus-ring {
123
+ position: absolute;
124
+ inset: -3px;
125
+ border-radius: var(--eun-border-radius-s, 4px);
126
+ outline: 2px solid transparent;
127
+ pointer-events: none;
128
+ transition: outline-color var(--eun-duration-s, 150ms)
129
+ var(--eun-easing-default, ease);
130
+ }
131
+
132
+ .focus-ring.half {
133
+ inset-inline-end: 50%;
134
+ }
135
+
136
+ input:focus-visible + .focus-ring {
137
+ outline-color: var(--_focusIndicator);
138
+ }
139
+
140
+ #clear {
141
+ display: inline-flex;
142
+ align-items: center;
143
+ justify-content: center;
144
+ min-width: 24px;
145
+ min-height: 24px;
146
+ padding: 2px;
147
+ border: none;
148
+ border-radius: 50%;
149
+ background: transparent;
150
+ color: var(--eun-text-secondary, #484e61);
151
+ cursor: pointer;
152
+ outline: 2px solid transparent;
153
+ outline-offset: 2px;
154
+ --icon-size: 18px;
155
+ transition:
156
+ background-color var(--eun-duration-s, 150ms)
157
+ var(--eun-easing-default, ease),
158
+ outline-color var(--eun-duration-s, 150ms) var(--eun-easing-default, ease);
159
+ }
160
+
161
+ #clear:hover {
162
+ background: var(--eun-content-hover, #9696961a);
163
+ }
164
+
165
+ #clear:active {
166
+ background: var(--eun-content-pressed, #e4e6e8);
167
+ }
168
+
169
+ #clear:focus-visible {
170
+ outline-color: var(--_focusIndicator);
171
+ }
172
+
173
+ #items[aria-invalid="true"] {
174
+ --_emptyColor: var(--_errorColor);
175
+ }
176
+
177
+ :host([aria-readonly="true"]) {
178
+ --_color: var(--eun-readonly-color, #666e8a);
179
+ }
180
+
181
+ :host([aria-readonly="true"]) #items {
182
+ cursor: default;
183
+ }
184
+
185
+ :host([aria-disabled="true"]) {
186
+ --_color: var(--eun-text-disabled-color, #8d93aa);
187
+ --_emptyColor: var(--eun-disabled-content, #c1c9d6);
188
+ }
189
+
190
+ :host([aria-disabled="true"]) #items {
191
+ cursor: not-allowed;
192
+ }
193
+
194
+ @media (forced-colors: active) {
195
+ .fill {
196
+ --icon-color: CanvasText;
197
+ }
198
+
199
+ .empty {
200
+ --icon-color: CanvasText;
201
+ }
202
+
203
+ input:focus-visible + .focus-ring,
204
+ #clear:focus-visible {
205
+ outline-color: Highlight;
206
+ }
207
+
208
+ :host([aria-disabled="true"]) .icon eun-icon {
209
+ --icon-color: GrayText;
210
+ }
211
+ }
212
+ `;
213
+ export const ratingStyles = base;
@@ -26,7 +26,7 @@ declare const EunomiaSearch_base: import("../../../utils/constructor.type.js").C
26
26
  * @slot results - Content rendered below the field inside the panel, such as a result list. Only relevant when panel is set
27
27
  * @prop {boolean} [shortcut=false] - Enables the Ctrl+K or Cmd+K global shortcut and its visual key hint badge
28
28
  * @prop {boolean} [panel=false] - Opens a modal command palette panel on shortcut or click instead of focusing inline
29
- * @prop {string} [ariaLabelPanel='Search'] - The accessible name of the panel's dialog, used when label isn't set
29
+ * @prop {string} [panelLabel] - The accessible name of the panel's dialog, used when label isn't set. Defaults to the localized string for the current locale (English: "Search")
30
30
  * @prop {boolean} [loading=false] - Whether a search request is currently in flight. Shows a spinning loading indicator in place of the clear button or shortcut hint on the inline field only. Ignored on the panel trigger and the panel's own field, which stay static, so reflect the loading state on the results slot instead
31
31
  * @prop {string} [loadingLabel='Loading…'] - The accessible label announced by the loading indicator while loading is set
32
32
  * @prop {boolean} [suggestions=false] - Opens a dropdown listbox showing light DOM option and optgroup children matching the typed value, highlighting the matched substring. Ignored while panel is set
@@ -38,6 +38,7 @@ declare const EunomiaSearch_base: import("../../../utils/constructor.type.js").C
38
38
  * @cssprop [--field-match-background] - Sets the background of the matched search substring, none by default. Shared with the select component
39
39
  * @cssprop [--field-match-font-weight] - Sets the font weight of the matched search substring. Shared with the select component
40
40
  * @cssprop [--field-match-text-decoration] - Sets the text decoration, such as underline, of the matched search substring, none by default. Shared with the select component
41
+ * @cssprop [--field-loader-color] - Sets the color of the spinner shown while loading, the icon color by default. Shared with the select component
41
42
  * @cssprop [--eun-viewport-inset-top] - Reserves space, such as a page's sticky header height, that the suggestions dropdown keeps clear of at the top of the viewport. Set on the root or an ancestor rather than on the field itself
42
43
  * @cssprop [--eun-viewport-inset-bottom] - The same as eun-viewport-inset-top, reserved at the bottom of the viewport, such as for a sticky footer
43
44
  * @element eun-search
@@ -53,7 +54,8 @@ export declare class EunomiaSearch extends EunomiaSearch_base {
53
54
  /**
54
55
  * Always `"search"` — enforced in `willUpdate`, since `EunomiaInput` declares
55
56
  * `type` as a plain property (not an accessor), which TypeScript doesn't
56
- * allow overriding as a getter/setter pair from a subclass.
57
+ * allow overriding as a getter/setter pair from a subclass. Never
58
+ * reflected, since it can't differ from its default.
57
59
  * @default search
58
60
  */
59
61
  type: EunomiaInputType;
@@ -90,9 +92,9 @@ export declare class EunomiaSearch extends EunomiaSearch_base {
90
92
  * Accessible name of the panel's dialog, used as `eun-modal`'s `aria-label`
91
93
  * since the panel renders no visible heading. Ignored when `label` is set
92
94
  * (used instead, since it already names the field itself).
93
- * @default Search
95
+ * Falls back to the localized string for the current locale when unset.
94
96
  */
95
- ariaLabelPanel: string;
97
+ panelLabel?: string;
96
98
  /**
97
99
  * Indicates whether a search request is currently in flight. Shows a
98
100
  * spinning `eun-loader` in place of the clear button/shortcut hint on the
@@ -199,7 +201,7 @@ export declare class EunomiaSearch extends EunomiaSearch_base {
199
201
  */
200
202
  protected willUpdate(changedProperties: PropertyValues): void;
201
203
  /**
202
- * Redirects the host's own focus (see `EunomiaInput.handleHostFocus`) to
204
+ * Sends a direct `focus()` call on the host to
203
205
  * the collapsed trigger button while `panel` is set, instead of the
204
206
  * inherited default (the native field) : that field lives inside the
205
207
  * still-closed modal at this point, and focusing hidden popover content
@@ -270,7 +272,7 @@ export declare class EunomiaSearch extends EunomiaSearch_base {
270
272
  /**
271
273
  * The listbox's open/close animation duration, in ms : `0` under
272
274
  * `prefers-reduced-motion: reduce`, otherwise `--field-listbox-
273
- * transition-duration` (default `200ms`).
275
+ * transition-duration` (default `--eun-duration-m`).
274
276
  *
275
277
  * @param el the listbox to read `--field-listbox-transition-duration` off.
276
278
  * @private
@@ -359,9 +361,8 @@ export declare class EunomiaSearch extends EunomiaSearch_base {
359
361
  */
360
362
  private readonly handleSuggestionsPopoverToggle;
361
363
  /**
362
- * Renders the dropdown's option rows, inserting a non-interactive group
363
- * heading whenever an option's `group` differs from the previous row's,
364
- * and highlighting the matched substring — same rendering as
364
+ * Renders the dropdown's option rows, grouped under their `optgroup`
365
+ * label (see {@link renderListboxRows}), and highlighting the matched substring — same rendering as
365
366
  * `eun-select`'s own `renderOptionRows`, minus the `multiple` checkbox
366
367
  * (search has no multi-select concept) and the `selected` state now
367
368
  * meaning "exactly matches the current value" rather than "is the stored
@@ -14,8 +14,9 @@ import { searchStyles } from "./search.styles.js";
14
14
  import { AnchorPositionMixin } from "../../../mixins/anchor-position.mixin.js";
15
15
  import { ChangeEvent } from "../../../events/change.event.js";
16
16
  import { listboxStyles, listboxAnchorPositioningStyles, } from "../shared-styles/listbox.styles.js";
17
- import { parseListboxOptions, renderHighlightedLabel, } from "../../../utils/listbox-options.utils.js";
17
+ import { parseListboxOptions, renderHighlightedLabel, renderListboxRows, } from "../../../utils/listbox-options.utils.js";
18
18
  import { isWebKit } from "../../../utils/browser.utils.js";
19
+ import { resolveDurationMs, resolveEasing, } from "../../../utils/motion.utils.js";
19
20
  /**
20
21
  * Tag name of the search component.
21
22
  */
@@ -40,7 +41,7 @@ export const EunomiaSearchTagName = "eun-search";
40
41
  * @slot results - Content rendered below the field inside the panel, such as a result list. Only relevant when panel is set
41
42
  * @prop {boolean} [shortcut=false] - Enables the Ctrl+K or Cmd+K global shortcut and its visual key hint badge
42
43
  * @prop {boolean} [panel=false] - Opens a modal command palette panel on shortcut or click instead of focusing inline
43
- * @prop {string} [ariaLabelPanel='Search'] - The accessible name of the panel's dialog, used when label isn't set
44
+ * @prop {string} [panelLabel] - The accessible name of the panel's dialog, used when label isn't set. Defaults to the localized string for the current locale (English: "Search")
44
45
  * @prop {boolean} [loading=false] - Whether a search request is currently in flight. Shows a spinning loading indicator in place of the clear button or shortcut hint on the inline field only. Ignored on the panel trigger and the panel's own field, which stay static, so reflect the loading state on the results slot instead
45
46
  * @prop {string} [loadingLabel='Loading…'] - The accessible label announced by the loading indicator while loading is set
46
47
  * @prop {boolean} [suggestions=false] - Opens a dropdown listbox showing light DOM option and optgroup children matching the typed value, highlighting the matched substring. Ignored while panel is set
@@ -52,6 +53,7 @@ export const EunomiaSearchTagName = "eun-search";
52
53
  * @cssprop [--field-match-background] - Sets the background of the matched search substring, none by default. Shared with the select component
53
54
  * @cssprop [--field-match-font-weight] - Sets the font weight of the matched search substring. Shared with the select component
54
55
  * @cssprop [--field-match-text-decoration] - Sets the text decoration, such as underline, of the matched search substring, none by default. Shared with the select component
56
+ * @cssprop [--field-loader-color] - Sets the color of the spinner shown while loading, the icon color by default. Shared with the select component
55
57
  * @cssprop [--eun-viewport-inset-top] - Reserves space, such as a page's sticky header height, that the suggestions dropdown keeps clear of at the top of the viewport. Set on the root or an ancestor rather than on the field itself
56
58
  * @cssprop [--eun-viewport-inset-bottom] - The same as eun-viewport-inset-top, reserved at the bottom of the viewport, such as for a sticky footer
57
59
  * @element eun-search
@@ -62,7 +64,8 @@ let EunomiaSearch = EunomiaSearch_1 = class EunomiaSearch extends AnchorPosition
62
64
  /**
63
65
  * Always `"search"` — enforced in `willUpdate`, since `EunomiaInput` declares
64
66
  * `type` as a plain property (not an accessor), which TypeScript doesn't
65
- * allow overriding as a getter/setter pair from a subclass.
67
+ * allow overriding as a getter/setter pair from a subclass. Never
68
+ * reflected, since it can't differ from its default.
66
69
  * @default search
67
70
  */
68
71
  this.type = "search";
@@ -95,13 +98,6 @@ let EunomiaSearch = EunomiaSearch_1 = class EunomiaSearch extends AnchorPosition
95
98
  * @default false
96
99
  */
97
100
  this.panel = false;
98
- /**
99
- * Accessible name of the panel's dialog, used as `eun-modal`'s `aria-label`
100
- * since the panel renders no visible heading. Ignored when `label` is set
101
- * (used instead, since it already names the field itself).
102
- * @default Search
103
- */
104
- this.ariaLabelPanel = "Search";
105
101
  /**
106
102
  * Indicates whether a search request is currently in flight. Shows a
107
103
  * spinning `eun-loader` in place of the clear button/shortcut hint on the
@@ -311,7 +307,7 @@ let EunomiaSearch = EunomiaSearch_1 = class EunomiaSearch extends AnchorPosition
311
307
  }
312
308
  }
313
309
  /**
314
- * Redirects the host's own focus (see `EunomiaInput.handleHostFocus`) to
310
+ * Sends a direct `focus()` call on the host to
315
311
  * the collapsed trigger button while `panel` is set, instead of the
316
312
  * inherited default (the native field) : that field lives inside the
317
313
  * still-closed modal at this point, and focusing hidden popover content
@@ -426,7 +422,7 @@ let EunomiaSearch = EunomiaSearch_1 = class EunomiaSearch extends AnchorPosition
426
422
  /**
427
423
  * The listbox's open/close animation duration, in ms : `0` under
428
424
  * `prefers-reduced-motion: reduce`, otherwise `--field-listbox-
429
- * transition-duration` (default `200ms`).
425
+ * transition-duration` (default `--eun-duration-m`).
430
426
  *
431
427
  * @param el the listbox to read `--field-listbox-transition-duration` off.
432
428
  * @private
@@ -435,18 +431,7 @@ let EunomiaSearch = EunomiaSearch_1 = class EunomiaSearch extends AnchorPosition
435
431
  if (window.matchMedia("(prefers-reduced-motion: reduce)").matches) {
436
432
  return 0;
437
433
  }
438
- const raw = getComputedStyle(el)
439
- .getPropertyValue("--field-listbox-transition-duration")
440
- .trim();
441
- if (raw) {
442
- const parsed = raw.endsWith("ms")
443
- ? Number.parseFloat(raw)
444
- : Number.parseFloat(raw) * 1000;
445
- if (Number.isFinite(parsed) && parsed >= 0) {
446
- return parsed;
447
- }
448
- }
449
- return 200;
434
+ return resolveDurationMs(el, "--field-listbox-transition-duration", "m", 200);
450
435
  }
451
436
  /**
452
437
  * Plays the fade/scaleY-in, replacing any {@link listboxAnimation}
@@ -464,7 +449,7 @@ let EunomiaSearch = EunomiaSearch_1 = class EunomiaSearch extends AnchorPosition
464
449
  this.listboxAnimation = listbox.animate([
465
450
  { opacity: 0, transform: "scaleY(0.01)" },
466
451
  { opacity: 1, transform: "scaleY(1)" },
467
- ], { duration, easing: "ease", fill: "forwards" });
452
+ ], { duration, easing: resolveEasing(listbox), fill: "forwards" });
468
453
  }
469
454
  /**
470
455
  * Closes the suggestions dropdown, if open. All state cleanup happens in
@@ -502,7 +487,7 @@ let EunomiaSearch = EunomiaSearch_1 = class EunomiaSearch extends AnchorPosition
502
487
  const animation = listbox.animate([
503
488
  { opacity: 1, transform: "scaleY(1)" },
504
489
  { opacity: 0, transform: "scaleY(0.01)" },
505
- ], { duration, easing: "ease", fill: "forwards" });
490
+ ], { duration, easing: resolveEasing(listbox), fill: "forwards" });
506
491
  this.listboxAnimation = animation;
507
492
  animation.finished
508
493
  .then(() => {
@@ -529,9 +514,8 @@ let EunomiaSearch = EunomiaSearch_1 = class EunomiaSearch extends AnchorPosition
529
514
  this.closeSuggestions();
530
515
  }
531
516
  /**
532
- * Renders the dropdown's option rows, inserting a non-interactive group
533
- * heading whenever an option's `group` differs from the previous row's,
534
- * and highlighting the matched substring — same rendering as
517
+ * Renders the dropdown's option rows, grouped under their `optgroup`
518
+ * label (see {@link renderListboxRows}), and highlighting the matched substring — same rendering as
535
519
  * `eun-select`'s own `renderOptionRows`, minus the `multiple` checkbox
536
520
  * (search has no multi-select concept) and the `selected` state now
537
521
  * meaning "exactly matches the current value" rather than "is the stored
@@ -542,40 +526,27 @@ let EunomiaSearch = EunomiaSearch_1 = class EunomiaSearch extends AnchorPosition
542
526
  * @private
543
527
  */
544
528
  renderSuggestionOptionRows(options) {
545
- const rows = [];
546
529
  const query = this.effectiveQuery;
547
- let lastGroup;
548
- options.forEach((option, index) => {
549
- if (option.group !== lastGroup) {
550
- lastGroup = option.group;
551
- if (option.group) {
552
- rows.push(html `<li class="group-label" role="presentation">
553
- ${option.group}
554
- </li>`);
555
- }
556
- }
557
- rows.push(html `
530
+ return renderListboxRows(options, (option, index) => html `
558
531
  <li
559
532
  id="listbox-option-${index}"
560
533
  role="option"
561
534
  aria-selected=${option.label.toLowerCase() === query}
562
535
  class=${classMap({
563
- highlighted: index === this.highlightedIndex,
564
- selected: option.label.toLowerCase() === query,
565
- })}
536
+ highlighted: index === this.highlightedIndex,
537
+ selected: option.label.toLowerCase() === query,
538
+ })}
566
539
  @mousedown=${(event) => {
567
- event.preventDefault();
568
- this.handleSelect(option);
569
- }}
540
+ event.preventDefault();
541
+ this.handleSelect(option);
542
+ }}
570
543
  @mouseenter=${() => {
571
- this.highlightedIndex = index;
572
- }}
544
+ this.highlightedIndex = index;
545
+ }}
573
546
  >
574
547
  ${renderHighlightedLabel(option.label, query)}
575
548
  </li>
576
549
  `);
577
- });
578
- return rows;
579
550
  }
580
551
  /**
581
552
  * Renders the suggestions dropdown panel itself — only ever rendered
@@ -791,10 +762,12 @@ let EunomiaSearch = EunomiaSearch_1 = class EunomiaSearch extends AnchorPosition
791
762
  field.removeAttribute("role");
792
763
  field.removeAttribute("aria-expanded");
793
764
  field.removeAttribute("aria-controls");
765
+ field.removeAttribute("aria-autocomplete");
794
766
  field.removeAttribute("aria-activedescendant");
795
767
  return;
796
768
  }
797
769
  field.setAttribute("role", "combobox");
770
+ field.setAttribute("aria-autocomplete", "list");
798
771
  field.setAttribute("aria-expanded", this.isOpen ? "true" : "false");
799
772
  field.setAttribute("aria-controls", "listbox");
800
773
  if (this.highlightedIndex >= 0) {
@@ -844,7 +817,8 @@ let EunomiaSearch = EunomiaSearch_1 = class EunomiaSearch extends AnchorPosition
844
817
  kind="search"
845
818
  hide-actions
846
819
  .closeable=${false}
847
- aria-label=${this.label || this.ariaLabelPanel}
820
+ aria-label=${this.label ||
821
+ (this.panelLabel ?? this.dictionary.search.panel)}
848
822
  >
849
823
  <div id="panel-field">
850
824
  ${this.renderField(description !== nothing)}
@@ -867,7 +841,6 @@ let EunomiaSearch = EunomiaSearch_1 = class EunomiaSearch extends AnchorPosition
867
841
  EunomiaSearch.styles = [
868
842
  EunomiaInput.styles,
869
843
  listboxStyles,
870
- // Never shipped to WebKit — see listboxAnchorPositioningStyles's own doc.
871
844
  ...(isWebKit ? [] : [listboxAnchorPositioningStyles]),
872
845
  searchStyles,
873
846
  ];
@@ -878,7 +851,7 @@ EunomiaSearch.styles = [
878
851
  */
879
852
  EunomiaSearch.FIELD_POINTER_DOWN_WINDOW_MS = 100;
880
853
  __decorate([
881
- property({ reflect: true })
854
+ property({ reflect: true, converter: { toAttribute: () => null } })
882
855
  ], EunomiaSearch.prototype, "type", void 0);
883
856
  __decorate([
884
857
  property()
@@ -893,8 +866,8 @@ __decorate([
893
866
  property({ type: Boolean })
894
867
  ], EunomiaSearch.prototype, "panel", void 0);
895
868
  __decorate([
896
- property({ attribute: "aria-label-panel" })
897
- ], EunomiaSearch.prototype, "ariaLabelPanel", void 0);
869
+ property({ attribute: "panel-label" })
870
+ ], EunomiaSearch.prototype, "panelLabel", void 0);
898
871
  __decorate([
899
872
  property({ type: Boolean, reflect: true })
900
873
  ], EunomiaSearch.prototype, "loading", void 0);
@@ -26,15 +26,16 @@ const search = css `
26
26
  :host([loading]) #clear {
27
27
  display: none;
28
28
  }
29
+ #field-loader {
30
+ color: var(--field-loader-color, var(--_iconColor));
31
+ }
29
32
  #field-wrapper #field-loader {
30
33
  position: absolute;
31
34
  right: var(--eun-space-s, 8px);
32
35
  pointer-events: none;
33
- color: var(--_iconColor);
34
36
  }
35
37
  #search-trigger #field-loader {
36
38
  flex-shrink: 0;
37
- color: var(--_iconColor);
38
39
  }
39
40
  #search-trigger {
40
41
  position: relative;
@@ -54,8 +55,8 @@ const search = css `
54
55
  appearance: none;
55
56
  outline: 1px solid transparent;
56
57
  transition:
57
- outline 0.15s ease,
58
- border-color 0.15s ease;
58
+ outline var(--eun-duration-s, 150ms) var(--eun-easing-default, ease),
59
+ border-color var(--eun-duration-s, 150ms) var(--eun-easing-default, ease);
59
60
  }
60
61
  :host(:not([aria-disabled="true"])) #search-trigger:hover {
61
62
  border-color: var(
@@ -9,6 +9,7 @@ import { FieldAppearanceMixinInterface } from "../../../mixins/field-appearance.
9
9
  import { AnchorPositionMixinInterface } from "../../../mixins/anchor-position.mixin.js";
10
10
  import { EunomiaIconName } from "../../content/icon/icon.type.js";
11
11
  import { Constructor } from "../../../utils/constructor.type.js";
12
+ import { LocalizableMixinInterface } from "../../../mixins/localizable.mixin.js";
12
13
  /**
13
14
  * Tag name of the select component.
14
15
  */
@@ -22,7 +23,7 @@ type SelectValue = string | string[];
22
23
  * Type of the select base used to declare every necessary Mixin interface elements.
23
24
  * @internal
24
25
  */
25
- type EunomiaSelectBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface<SelectValue> & FormMixinInterface<SelectValue> & EditableMixinInterface & FormLabelMixinInterface & FieldAppearanceMixinInterface & AnchorPositionMixinInterface;
26
+ type EunomiaSelectBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface<SelectValue> & FormMixinInterface<SelectValue> & EditableMixinInterface & FormLabelMixinInterface & FieldAppearanceMixinInterface & AnchorPositionMixinInterface & LocalizableMixinInterface;
26
27
  declare const EunomiaSelectMixinBase: Constructor<EunomiaSelectBase>;
27
28
  /**
28
29
  * A field that picks one or more values from a list of option and optgroup
@@ -59,7 +60,9 @@ declare const EunomiaSelectMixinBase: Constructor<EunomiaSelectBase>;
59
60
  * @prop {boolean} [disabled=false] - Whether the field is disabled
60
61
  * @prop {boolean} [readonly=false] - Whether the field is read only
61
62
  * @prop {boolean} [required=false] - Whether a selection is required
62
- * @prop {boolean} [hideError=false] - Whether the errors are hidden
63
+ * @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
64
+ * @prop {boolean} [invalid=false] - Shows the field as invalid without any message, for an error displayed elsewhere
65
+ * @prop {string} [error] - An error computed outside the field, by the form or by the server. While set, the field is invalid and shows this message right away
63
66
  * @prop {Array<Validators<string | string[]>>} validators - The list of validation rules applied to the field value
64
67
  * @prop {EunomiaIconName} icon - An optional leading icon
65
68
  * @prop {string} [placeholder] - The placeholder shown when the field is empty. Defaults to searchPlaceholder when searchable, and selectPlaceholder otherwise
@@ -69,10 +72,10 @@ declare const EunomiaSelectMixinBase: Constructor<EunomiaSelectBase>;
69
72
  * @attr {string} [select-placeholder='Select…'] - The fallback for placeholder when searchable isn't set
70
73
  * @prop {boolean} [readonlyAvailable=false] - Whether the field can switch between a static display and an editable one
71
74
  * @attr {boolean} [readonly-available=false] - Whether the field can switch between a static display and an editable one
72
- * @prop {string} [emptyValueLabel='No value set'] - Text displayed in place of the value when readonly and empty
75
+ * @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")
73
76
  * @prop {string} [noResultsLabel='No results'] - Text displayed in the dropdown when no option matches the search
74
- * @prop {string} [confirmLabel='Confirm'] - The label of the confirm button, shown while editing in readonlyAvailable mode or while multiple and the dropdown is open. Set to an empty string to hide the button entirely
75
- * @attr {string} [confirm-label='Confirm'] - The label of the confirm button, shown while editing in readonlyAvailable mode or while multiple and the dropdown is open. Set to an empty string to hide the button entirely
77
+ * @prop {string} [confirmLabel] - The label of the confirm button, shown while editing in readonlyAvailable mode or while multiple and the dropdown is open. Set to an empty string to hide the button entirely. Defaults to the localized string for the current locale (English: "Confirm")
78
+ * @attr {string} [confirm-label] - The label of the confirm button, shown while editing in readonlyAvailable mode or while multiple and the dropdown is open. Set to an empty string to hide the button entirely. Defaults to the localized string for the current locale (English: "Confirm")
76
79
  * @prop {boolean} [noAnimation=false] - Disables the dropdown panel's open and close height transition, on top of the automatic reduced motion handling
77
80
  * @prop {boolean} [loading=false] - Whether options are currently being fetched. Shows a spinning loading indicator in place of the dropdown arrow, and a single disabled loading row instead of the option list. Has no effect while native, beyond the arrow swap
78
81
  * @prop {string} [loadingLabel='Loading…'] - The accessible label announced by the loading indicator while loading is set
@@ -85,9 +88,12 @@ declare const EunomiaSelectMixinBase: Constructor<EunomiaSelectBase>;
85
88
  * @cssprop [--field-border-color-focus] - Sets the border color on focus
86
89
  * @cssprop [--field-border-radius] - Sets the corner radius of the field
87
90
  * @cssprop [--field-padding] - Sets the padding of the field
91
+ * @cssprop [--field-padding-block] - Sets the vertical padding, as one length applied to both sides. Ignored when --field-padding is set
92
+ * @cssprop [--field-padding-inline] - Sets the horizontal padding, as one length applied to both sides. Ignored when --field-padding is set
88
93
  * @cssprop [--field-text-color] - Sets the text color of the field
89
94
  * @cssprop [--field-placeholder-color] - Sets the color of the placeholder
90
95
  * @cssprop [--field-icon-color] - Sets the color of the leading icon and the dropdown arrow
96
+ * @cssprop [--field-loader-color] - Sets the color of the spinner shown while loading, the icon color by default. Shared with the search component
91
97
  * @cssprop [--field-error-color] - Sets the color of the error message
92
98
  * @cssprop [--field-hint-color] - Sets the color of the hint message
93
99
  * @cssprop [--field-focus-outline-color] - Sets the color of the focus outline
@@ -101,6 +107,9 @@ declare const EunomiaSelectMixinBase: Constructor<EunomiaSelectBase>;
101
107
  * @cssprop [--field-listbox-transition-duration=200ms] - Sets the duration of the dropdown panel's open and close height transition, disabled entirely by the no-animation attribute or reduced motion settings
102
108
  * @cssprop [--eun-viewport-inset-top] - Reserves space, such as a page's sticky header height, that the dropdown panel keeps clear of at the top of the viewport. Set on the root or an ancestor rather than on the field itself
103
109
  * @cssprop [--eun-viewport-inset-bottom] - The same as eun-viewport-inset-top, reserved at the bottom of the viewport, such as for a sticky footer
110
+ * @cssprop [--field-font-size] - Sets the font size of the field's value and placeholder
111
+ * @cssprop [--field-label-font-size] - Sets the font size of the label
112
+ * @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
104
113
  * @element eun-select
105
114
  */
106
115
  export declare class EunomiaSelect extends EunomiaSelectMixinBase {
@@ -112,6 +121,11 @@ export declare class EunomiaSelect extends EunomiaSelectMixinBase {
112
121
  * @readonly
113
122
  */
114
123
  static readonly styles: (import("lit").CSSResult | import("lit").CSSResult[])[];
124
+ /**
125
+ * Every change is a complete choice, so its error shows right away.
126
+ * @internal
127
+ */
128
+ errorOnChange: boolean;
115
129
  /**
116
130
  * The default value applied on connection and form reset. Overrides the
117
131
  * `defaultValue` accessor inherited from `FormMixin` only to drop its
@@ -208,9 +222,9 @@ export declare class EunomiaSelect extends EunomiaSelectMixinBase {
208
222
  selectPlaceholder: string;
209
223
  /**
210
224
  * Text displayed in place of the value when readonly and empty.
211
- * @default No value set
225
+ * Falls back to the localized string for the current locale when unset.
212
226
  */
213
- emptyValueLabel: string;
227
+ emptyValueLabel?: string;
214
228
  /**
215
229
  * Text displayed in the dropdown when no option matches the search.
216
230
  * @default No results
@@ -224,9 +238,9 @@ export declare class EunomiaSelect extends EunomiaSelectMixinBase {
224
238
  * Set to an empty string to hide the button entirely — e.g. for a
225
239
  * `readonlyAvailable` field where picking an option is already confirmation
226
240
  * enough on its own, and the extra button would just be clutter.
227
- * @default Confirm
241
+ * Falls back to the localized string for the current locale when unset.
228
242
  */
229
- confirmLabel: string;
243
+ confirmLabel?: string;
230
244
  /**
231
245
  * Indicates whether options are currently being fetched (e.g. a
232
246
  * server-filtered `searchable` field). Shows a spinning `eun-loader` in
@@ -476,6 +490,12 @@ export declare class EunomiaSelect extends EunomiaSelectMixinBase {
476
490
  * @param _changedProperties - Map of changed properties
477
491
  */
478
492
  protected updated(_changedProperties: PropertyValues): void;
493
+ /**
494
+ * The host is never a tab stop of its own : sequential navigation goes
495
+ * straight to the controls inside, in both directions, and
496
+ * {@link focus} covers a direct call on the host.
497
+ */
498
+ protected get hostTabStop(): boolean;
479
499
  /**
480
500
  * Returns the field element to focus/anchor on validation errors.
481
501
  *
@@ -506,7 +526,7 @@ export declare class EunomiaSelect extends EunomiaSelectMixinBase {
506
526
  * The listbox's open/close animation duration, in ms : `0` if `
507
527
  * noAnimation` is set or the browser reports `prefers-reduced-motion:
508
528
  * reduce`, otherwise `--field-listbox-transition-duration` (default
509
- * `200ms`).
529
+ * `--eun-duration-m`).
510
530
  *
511
531
  * @param el the listbox to read `--field-listbox-transition-duration` off.
512
532
  * @private
@@ -700,8 +720,8 @@ export declare class EunomiaSelect extends EunomiaSelectMixinBase {
700
720
  */
701
721
  private renderHighlighted;
702
722
  /**
703
- * Renders the dropdown's option rows, inserting a non-interactive group
704
- * heading whenever an option's `group` differs from the previous row's.
723
+ * Renders the dropdown's option rows, grouped under their `optgroup`
724
+ * label (see {@link renderListboxRows}).
705
725
  *
706
726
  * @param options the options to render, already filtered.
707
727
  * @returns the rendered rows.