@eunomia/elements 1.0.0-beta.2 → 1.0.0-beta.4

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 (354) hide show
  1. package/README.md +1 -1
  2. package/dist/cdn/components/chunks/chunk-2JLDJFYD.js +48 -0
  3. package/dist/cdn/components/chunks/chunk-4MXL6PZC.js +124 -0
  4. package/dist/cdn/components/chunks/{chunk-32KRPOPV.js → chunk-5XJGYXW7.js} +6 -6
  5. package/dist/cdn/components/chunks/{chunk-O2HNWH65.js → chunk-5XJLIHAU.js} +7 -7
  6. package/dist/cdn/components/chunks/{chunk-5GF2Q3NR.js → chunk-74AOAB4X.js} +1 -1
  7. package/dist/cdn/components/chunks/{chunk-WYMBUIKX.js → chunk-A6KGFALA.js} +4 -4
  8. package/dist/cdn/components/chunks/chunk-BMQOI7HX.js +371 -0
  9. package/dist/cdn/components/chunks/{chunk-LJYTHDZP.js → chunk-D2M4BV5Y.js} +6 -6
  10. package/dist/cdn/components/chunks/{chunk-NEYBPT3D.js → chunk-EJIX2D4Z.js} +2 -2
  11. package/dist/cdn/components/chunks/{chunk-BYBUXKXC.js → chunk-EOWBYZV7.js} +2 -2
  12. package/dist/cdn/components/chunks/chunk-EST3M4AO.js +1 -0
  13. package/dist/cdn/components/chunks/{chunk-AQQMW353.js → chunk-GSJEJLFA.js} +3 -3
  14. package/dist/cdn/components/chunks/chunk-GU6BVMFJ.js +1 -0
  15. package/dist/cdn/components/chunks/{chunk-5RCCZVFZ.js → chunk-IJ5WFMK4.js} +1 -1
  16. package/dist/cdn/components/chunks/{chunk-RWONCXTF.js → chunk-KVYUNKUO.js} +2 -2
  17. package/dist/cdn/components/chunks/chunk-LGLQ36QB.js +16 -0
  18. package/dist/cdn/components/chunks/{chunk-74HHV4CX.js → chunk-NHFWATVN.js} +2 -2
  19. package/dist/cdn/components/chunks/chunk-OAULRKHQ.js +38 -0
  20. package/dist/cdn/components/chunks/chunk-P32B7BFD.js +118 -0
  21. package/dist/cdn/components/chunks/{chunk-ZPFHTJSS.js → chunk-PCM7D3YF.js} +1 -1
  22. package/dist/cdn/components/chunks/{chunk-ABYEBP57.js → chunk-PED5ATYN.js} +11 -8
  23. package/dist/cdn/components/chunks/{chunk-ON42P6FI.js → chunk-RJCJXB7Y.js} +5 -5
  24. package/dist/cdn/components/chunks/{chunk-5C7YND22.js → chunk-S2UCEWNG.js} +8 -8
  25. package/dist/cdn/components/chunks/{chunk-7WTSHE7M.js → chunk-SIHZFOTK.js} +9 -9
  26. package/dist/cdn/components/chunks/{chunk-6UPI7GHJ.js → chunk-UAGCQF23.js} +7 -7
  27. package/dist/cdn/components/chunks/{chunk-6IILPCSQ.js → chunk-X2AUBZD2.js} +3 -3
  28. package/dist/cdn/components/chunks/chunk-YGUJJ25C.js +263 -0
  29. package/dist/cdn/components/chunks/chunk-YYCEPZUN.js +1 -0
  30. package/dist/cdn/components/eun-alert.js +65 -45
  31. package/dist/cdn/components/eun-animate.js +178 -2
  32. package/dist/cdn/components/eun-badge.js +1 -1
  33. package/dist/cdn/components/eun-breadcrumb-item.js +14 -10
  34. package/dist/cdn/components/eun-breadcrumb.js +11 -7
  35. package/dist/cdn/components/eun-button.js +1 -1
  36. package/dist/cdn/components/eun-calendar.js +16 -16
  37. package/dist/cdn/components/eun-card.js +29 -12
  38. package/dist/cdn/components/eun-carousel.js +36 -28
  39. package/dist/cdn/components/eun-check-card.js +3 -3
  40. package/dist/cdn/components/eun-checkbox-list.js +3 -3
  41. package/dist/cdn/components/eun-checkbox.js +1 -1
  42. package/dist/cdn/components/eun-chip.js +45 -210
  43. package/dist/cdn/components/eun-collapse.js +20 -26
  44. package/dist/cdn/components/eun-color-picker.js +28 -28
  45. package/dist/cdn/components/eun-counter.js +11 -11
  46. package/dist/cdn/components/eun-date-picker.js +50 -50
  47. package/dist/cdn/components/eun-drawer.js +3 -3
  48. package/dist/cdn/components/eun-dropdown-button.js +1 -1
  49. package/dist/cdn/components/eun-dropdown-item.js +6 -6
  50. package/dist/cdn/components/eun-fab.js +31 -53
  51. package/dist/cdn/components/eun-icon.js +1 -1
  52. package/dist/cdn/components/eun-image-card.js +18 -11
  53. package/dist/cdn/components/eun-image-carousel.js +16 -16
  54. package/dist/cdn/components/eun-infinite-list.js +1 -1
  55. package/dist/cdn/components/eun-input-file.js +20 -20
  56. package/dist/cdn/components/eun-input-phone.js +14 -14
  57. package/dist/cdn/components/eun-input.js +1 -1
  58. package/dist/cdn/components/eun-label.js +4 -4
  59. package/dist/cdn/components/eun-link.js +29 -11
  60. package/dist/cdn/components/eun-loader.js +1 -1
  61. package/dist/cdn/components/eun-modal.js +6 -6
  62. package/dist/cdn/components/eun-pagination.js +3 -3
  63. package/dist/cdn/components/eun-password-strength.js +9 -6
  64. package/dist/cdn/components/eun-progress-bar.js +13 -13
  65. package/dist/cdn/components/eun-radio-card.js +2 -2
  66. package/dist/cdn/components/eun-radio-list.js +3 -3
  67. package/dist/cdn/components/eun-radio.js +1 -1
  68. package/dist/cdn/components/eun-scheduler-event-editor.js +2 -2
  69. package/dist/cdn/components/eun-scheduler-event.js +1 -1
  70. package/dist/cdn/components/eun-scheduler.js +10 -10
  71. package/dist/cdn/components/eun-search.js +7 -7
  72. package/dist/cdn/components/eun-select.js +39 -18
  73. package/dist/cdn/components/eun-sidebar.js +10 -10
  74. package/dist/cdn/components/eun-skeleton.js +1 -1
  75. package/dist/cdn/components/eun-slider.js +9 -9
  76. package/dist/cdn/components/eun-sliding-card.js +7 -10
  77. package/dist/cdn/components/eun-step.js +8 -8
  78. package/dist/cdn/components/eun-stepper.js +8 -8
  79. package/dist/cdn/components/eun-switch.js +10 -10
  80. package/dist/cdn/components/eun-tab-group.js +19 -11
  81. package/dist/cdn/components/eun-tab-panel.js +1 -1
  82. package/dist/cdn/components/eun-tab.js +1 -1
  83. package/dist/cdn/components/eun-table-action-bar.js +1 -1
  84. package/dist/cdn/components/eun-table-cell.js +1 -1
  85. package/dist/cdn/components/eun-table-column.js +1 -1
  86. package/dist/cdn/components/eun-table-header.js +1 -1
  87. package/dist/cdn/components/eun-table-item.js +1 -1
  88. package/dist/cdn/components/eun-table-skeleton-row.js +1 -1
  89. package/dist/cdn/components/eun-table.js +3 -3
  90. package/dist/cdn/components/eun-tag.js +34 -122
  91. package/dist/cdn/components/eun-textarea.js +28 -28
  92. package/dist/cdn/components/eun-time-picker.js +25 -25
  93. package/dist/cdn/components/eun-toast.js +40 -36
  94. package/dist/cdn/components/eun-toggle-group.js +199 -66
  95. package/dist/cdn/components/eun-toggle-item.js +42 -25
  96. package/dist/cdn/components/eun-toggle.js +13 -10
  97. package/dist/cdn/components/eun-toolbar.js +28 -19
  98. package/dist/cdn/components/eun-tooltip.js +122 -87
  99. package/dist/cdn/styles/eunomia-themes.css +1 -1
  100. package/dist/cdn/styles/themes/eunomia-theme.css +1 -1
  101. package/dist/cdn/styles/themes/eunomia-theme.scss +1 -0
  102. package/dist/cdn/styles/themes/mixins/eunomia-neutrals.mixin.scss +71 -0
  103. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +3 -13
  104. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +3 -13
  105. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.css +1 -1
  106. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +2 -0
  107. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +3 -13
  108. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +3 -13
  109. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.css +1 -1
  110. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +2 -0
  111. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +3 -13
  112. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +3 -13
  113. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.css +1 -1
  114. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +2 -0
  115. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +3 -13
  116. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +3 -13
  117. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.css +1 -1
  118. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +2 -0
  119. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +3 -13
  120. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +3 -13
  121. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.css +1 -1
  122. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +2 -0
  123. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +3 -13
  124. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +3 -13
  125. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.css +1 -1
  126. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +2 -0
  127. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +3 -13
  128. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +3 -13
  129. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.css +1 -1
  130. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +2 -0
  131. package/dist/cdn/styles/tools/indexes/eunomia-tools.index.scss +1 -0
  132. package/dist/cdn/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +39 -0
  133. package/dist/cdn/styles/tools/mixins/settings/eunomia-border.mixin.scss +3 -3
  134. package/dist/cdn/styles/tools/mixins/settings/eunomia-font.mixin.scss +12 -12
  135. package/dist/cdn/styles/tools/mixins/settings/eunomia-radius.mixin.scss +4 -4
  136. package/dist/components/action/button/button.d.ts +7 -6
  137. package/dist/components/action/button/button.js +7 -6
  138. package/dist/components/action/button/button.styles.js +143 -373
  139. package/dist/components/action/dropdown-button/dropdown-button.d.ts +7 -0
  140. package/dist/components/action/dropdown-button/dropdown-button.js +11 -0
  141. package/dist/components/action/dropdown-button/dropdown-button.styles.js +8 -8
  142. package/dist/components/action/dropdown-button/dropdown-item.styles.js +6 -6
  143. package/dist/components/action/fab/fab.d.ts +3 -1
  144. package/dist/components/action/fab/fab.js +3 -1
  145. package/dist/components/action/fab/fab.styles.js +26 -49
  146. package/dist/components/action/link/link.d.ts +50 -0
  147. package/dist/components/action/link/link.js +69 -1
  148. package/dist/components/action/link/link.styles.js +19 -2
  149. package/dist/components/action/shared-styles/button-palette.styles.d.ts +27 -0
  150. package/dist/components/action/shared-styles/button-palette.styles.js +151 -0
  151. package/dist/components/action/toggle/toggle-group.d.ts +41 -7
  152. package/dist/components/action/toggle/toggle-group.js +162 -46
  153. package/dist/components/action/toggle/toggle-group.styles.d.ts +6 -5
  154. package/dist/components/action/toggle/toggle-group.styles.js +152 -35
  155. package/dist/components/action/toggle/toggle-item.styles.js +38 -21
  156. package/dist/components/action/toggle/toggle.d.ts +1 -1
  157. package/dist/components/action/toggle/toggle.js +2 -2
  158. package/dist/components/action/toggle/toggle.styles.d.ts +2 -2
  159. package/dist/components/action/toggle/toggle.styles.js +13 -10
  160. package/dist/components/alert/alert/alert.d.ts +4 -3
  161. package/dist/components/alert/alert/alert.js +4 -3
  162. package/dist/components/alert/alert/alert.styles.js +57 -36
  163. package/dist/components/alert/drawer/drawer.styles.js +3 -3
  164. package/dist/components/alert/modal/modal.styles.js +6 -6
  165. package/dist/components/alert/toast/toast.d.ts +4 -3
  166. package/dist/components/alert/toast/toast.js +4 -3
  167. package/dist/components/alert/toast/toast.styles.js +41 -36
  168. package/dist/components/content/badge/badge.styles.js +1 -1
  169. package/dist/components/content/card/card.d.ts +4 -4
  170. package/dist/components/content/card/card.js +4 -4
  171. package/dist/components/content/card/card.styles.js +27 -10
  172. package/dist/components/content/card/image-card.d.ts +1 -1
  173. package/dist/components/content/card/image-card.js +1 -1
  174. package/dist/components/content/card/image-card.styles.js +17 -10
  175. package/dist/components/content/card/sliding-card.styles.js +3 -6
  176. package/dist/components/content/chip/chip.d.ts +16 -7
  177. package/dist/components/content/chip/chip.js +18 -6
  178. package/dist/components/content/chip/chip.styles.d.ts +1 -1
  179. package/dist/components/content/chip/chip.styles.js +43 -210
  180. package/dist/components/content/collapse/collapse.styles.js +10 -16
  181. package/dist/components/content/icon/icon.d.ts +48 -5
  182. package/dist/components/content/icon/icon.js +92 -20
  183. package/dist/components/content/icon/icon.style.js +1 -1
  184. package/dist/components/content/image-carousel/image-carousel.styles.js +14 -14
  185. package/dist/components/content/password-strength/password-strength.styles.js +7 -4
  186. package/dist/components/content/progress-bar/progress-bar.styles.js +9 -9
  187. package/dist/components/content/shared-styles/tone-surface.styles.d.ts +31 -0
  188. package/dist/components/content/shared-styles/tone-surface.styles.js +149 -0
  189. package/dist/components/content/tag/tag.d.ts +16 -6
  190. package/dist/components/content/tag/tag.js +19 -6
  191. package/dist/components/content/tag/tag.styles.d.ts +1 -1
  192. package/dist/components/content/tag/tag.styles.js +40 -121
  193. package/dist/components/content/tooltip/tooltip.d.ts +15 -4
  194. package/dist/components/content/tooltip/tooltip.js +21 -4
  195. package/dist/components/content/tooltip/tooltip.styles.js +115 -79
  196. package/dist/components/form/checkbox/check-card.styles.js +2 -2
  197. package/dist/components/form/checkbox/checkbox-list.d.ts +1 -1
  198. package/dist/components/form/checkbox/checkbox-list.js +1 -1
  199. package/dist/components/form/checkbox/checkbox.d.ts +1 -1
  200. package/dist/components/form/checkbox/checkbox.styles.js +6 -6
  201. package/dist/components/form/color-picker/color-picker.d.ts +1 -1
  202. package/dist/components/form/color-picker/color-picker.js +9 -7
  203. package/dist/components/form/color-picker/color-picker.styles.js +7 -7
  204. package/dist/components/form/counter/counter.d.ts +1 -1
  205. package/dist/components/form/counter/counter.js +3 -3
  206. package/dist/components/form/counter/counter.styles.js +7 -7
  207. package/dist/components/form/date-picker/date-picker-day-grid.styles.js +2 -2
  208. package/dist/components/form/date-picker/date-picker-grid.styles.js +15 -15
  209. package/dist/components/form/date-picker/date-picker-month-grid.styles.js +1 -1
  210. package/dist/components/form/date-picker/date-picker-year-grid.styles.js +1 -1
  211. package/dist/components/form/date-picker/date-picker.d.ts +1 -1
  212. package/dist/components/form/date-picker/date-picker.js +3 -3
  213. package/dist/components/form/date-picker/date-picker.styles.js +12 -12
  214. package/dist/components/form/input/input.d.ts +1 -1
  215. package/dist/components/form/input/input.js +2 -2
  216. package/dist/components/form/input-file/input-file.d.ts +1 -1
  217. package/dist/components/form/input-file/input-file.js +5 -5
  218. package/dist/components/form/input-file/input-file.styles.js +9 -9
  219. package/dist/components/form/input-phone/input-phone.d.ts +1 -1
  220. package/dist/components/form/input-phone/input-phone.js +3 -3
  221. package/dist/components/form/input-phone/input-phone.styles.js +7 -7
  222. package/dist/components/form/label/label.styles.js +4 -4
  223. package/dist/components/form/radio/radio-card.styles.js +1 -1
  224. package/dist/components/form/radio/radio-list.d.ts +1 -1
  225. package/dist/components/form/radio/radio-list.js +2 -2
  226. package/dist/components/form/radio/radio.d.ts +1 -1
  227. package/dist/components/form/radio/radio.styles.js +2 -2
  228. package/dist/components/form/search/search.styles.js +6 -6
  229. package/dist/components/form/select/select.d.ts +17 -1
  230. package/dist/components/form/select/select.js +28 -5
  231. package/dist/components/form/select/select.styles.js +16 -5
  232. package/dist/components/form/shared-styles/card.styles.js +1 -1
  233. package/dist/components/form/shared-styles/field.styles.js +7 -7
  234. package/dist/components/form/shared-styles/form-labels.styles.js +1 -1
  235. package/dist/components/form/shared-styles/listbox.styles.js +6 -6
  236. package/dist/components/form/slider/slider.d.ts +1 -1
  237. package/dist/components/form/slider/slider.js +2 -2
  238. package/dist/components/form/slider/slider.styles.js +6 -6
  239. package/dist/components/form/switch/switch.d.ts +1 -1
  240. package/dist/components/form/switch/switch.styles.js +8 -8
  241. package/dist/components/form/textarea/textarea.d.ts +1 -1
  242. package/dist/components/form/textarea/textarea.js +4 -4
  243. package/dist/components/form/textarea/textarea.styles.js +6 -6
  244. package/dist/components/form/time-picker/time-picker-columns.styles.js +6 -6
  245. package/dist/components/form/time-picker/time-picker-list.styles.js +2 -2
  246. package/dist/components/form/time-picker/time-picker.d.ts +1 -1
  247. package/dist/components/form/time-picker/time-picker.js +3 -3
  248. package/dist/components/form/time-picker/time-picker.styles.js +8 -8
  249. package/dist/components/layout/animate/animate.d.ts +40 -5
  250. package/dist/components/layout/animate/animate.js +30 -11
  251. package/dist/components/layout/animate/animate.styles.d.ts +1 -1
  252. package/dist/components/layout/animate/animate.styles.js +191 -1
  253. package/dist/components/loader/loader/loader.styles.js +2 -2
  254. package/dist/components/loader/skeleton/skeleton.styles.js +8 -5
  255. package/dist/components/navigation/breadcrumb/breadcrumb-item.d.ts +7 -0
  256. package/dist/components/navigation/breadcrumb/breadcrumb-item.js +15 -1
  257. package/dist/components/navigation/breadcrumb/breadcrumb-item.styles.js +3 -3
  258. package/dist/components/navigation/breadcrumb/breadcrumb.d.ts +1 -0
  259. package/dist/components/navigation/breadcrumb/breadcrumb.js +7 -1
  260. package/dist/components/navigation/breadcrumb/breadcrumb.styles.js +3 -3
  261. package/dist/components/navigation/carousel/carousel.d.ts +40 -6
  262. package/dist/components/navigation/carousel/carousel.js +61 -12
  263. package/dist/components/navigation/carousel/carousel.styles.js +20 -8
  264. package/dist/components/navigation/pagination/pagination.styles.js +3 -3
  265. package/dist/components/navigation/sidebar/sidebar.styles.js +9 -9
  266. package/dist/components/navigation/stepper/step.styles.js +8 -8
  267. package/dist/components/navigation/stepper/stepper.styles.js +8 -8
  268. package/dist/components/navigation/tabs/tab/tab.styles.js +5 -5
  269. package/dist/components/navigation/tabs/tab-group/tab-group.d.ts +9 -0
  270. package/dist/components/navigation/tabs/tab-group/tab-group.js +19 -2
  271. package/dist/components/navigation/tabs/tab-group/tab-group.styles.js +12 -4
  272. package/dist/components/navigation/tabs/tab-panel/tab-panel.styles.js +1 -1
  273. package/dist/components/navigation/toolbar/toolbar.d.ts +24 -0
  274. package/dist/components/navigation/toolbar/toolbar.js +30 -2
  275. package/dist/components/navigation/toolbar/toolbar.styles.js +20 -10
  276. package/dist/events/change.event.d.ts +13 -1
  277. package/dist/events/change.event.js +2 -1
  278. package/dist/features/scheduler/calendar/calendar.js +1 -1
  279. package/dist/features/scheduler/calendar/calendar.styles.js +3 -3
  280. package/dist/features/scheduler/scheduler/scheduler.styles.js +2 -2
  281. package/dist/features/scheduler/scheduler-event/scheduler-event.styles.js +2 -2
  282. package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.styles.js +2 -2
  283. package/dist/features/scheduler/shared/scheduler-event-popover.styles.js +4 -4
  284. package/dist/features/scheduler/shared/scheduler-hour-grid.styles.js +1 -1
  285. package/dist/features/scheduler/shared/scheduler-month-view.styles.js +1 -1
  286. package/dist/features/scheduler/shared/scheduler-year-view.styles.js +1 -1
  287. package/dist/features/table/native-table.css +11 -11
  288. package/dist/features/table/table/table.styles.js +2 -2
  289. package/dist/features/table/table-action-bar/table-action-bar.styles.js +2 -2
  290. package/dist/features/table/table-cell/table-cell.styles.js +2 -2
  291. package/dist/features/table/table-column/table-column.styles.js +3 -3
  292. package/dist/features/table/table-header/table-header.styles.js +4 -4
  293. package/dist/features/table/table-item/table-item.styles.js +6 -6
  294. package/dist/features/table/table-skeleton-row/table-skeleton-row.styles.js +1 -1
  295. package/dist/index.d.ts +5 -5
  296. package/dist/index.js +6 -3
  297. package/dist/jsx.d.ts +18 -5
  298. package/dist/mixins/button.mixin.d.ts +1 -0
  299. package/dist/mixins/button.mixin.js +10 -0
  300. package/dist/mixins/check.mixin.d.ts +1 -1
  301. package/dist/mixins/check.mixin.js +6 -2
  302. package/dist/mixins/editable.mixin.d.ts +1 -1
  303. package/dist/mixins/form.mixin.d.ts +9 -1
  304. package/dist/mixins/form.mixin.js +110 -14
  305. package/dist/mixins/overflow-navigation.mixin.js +2 -1
  306. package/dist/mixins/radio.mixin.d.ts +1 -1
  307. package/dist/mixins/radio.mixin.js +6 -2
  308. package/dist/mixins/validators.mixin.d.ts +9 -3
  309. package/dist/ssr/animate-ssr.css +149 -0
  310. package/dist/ssr/overlay-ssr.css +57 -0
  311. package/dist/ssr/sidebar-ssr.css +57 -0
  312. package/dist/ssr/toolbar-ssr.css +41 -0
  313. package/dist/utils/rich-text.utils.d.ts +33 -0
  314. package/dist/utils/rich-text.utils.js +140 -49
  315. package/dist/utils/theme-generator.utils.d.ts +24 -3
  316. package/dist/utils/theme-generator.utils.js +66 -21
  317. package/package.json +14 -3
  318. package/styles/themes/eunomia-theme.scss +1 -0
  319. package/styles/themes/mixins/eunomia-neutrals.mixin.scss +71 -0
  320. package/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +3 -13
  321. package/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +3 -13
  322. package/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +2 -0
  323. package/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +3 -13
  324. package/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +3 -13
  325. package/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +2 -0
  326. package/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +3 -13
  327. package/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +3 -13
  328. package/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +2 -0
  329. package/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +3 -13
  330. package/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +3 -13
  331. package/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +2 -0
  332. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +3 -13
  333. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +3 -13
  334. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +2 -0
  335. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +3 -13
  336. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +3 -13
  337. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +2 -0
  338. package/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +3 -13
  339. package/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +3 -13
  340. package/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +2 -0
  341. package/styles/tools/indexes/eunomia-tools.index.scss +1 -0
  342. package/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +39 -0
  343. package/styles/tools/mixins/settings/eunomia-border.mixin.scss +3 -3
  344. package/styles/tools/mixins/settings/eunomia-font.mixin.scss +12 -12
  345. package/styles/tools/mixins/settings/eunomia-radius.mixin.scss +4 -4
  346. package/dist/cdn/components/chunks/chunk-27Q2SLRY.js +0 -603
  347. package/dist/cdn/components/chunks/chunk-2IQUMAMI.js +0 -38
  348. package/dist/cdn/components/chunks/chunk-5TH3P53V.js +0 -16
  349. package/dist/cdn/components/chunks/chunk-7Q6AHVI5.js +0 -1
  350. package/dist/cdn/components/chunks/chunk-DENMN3WH.js +0 -48
  351. package/dist/cdn/components/chunks/chunk-MBF52GEL.js +0 -1
  352. package/dist/cdn/components/chunks/chunk-ONYUXQV2.js +0 -1
  353. package/dist/cdn/components/chunks/chunk-ZKPCO5RB.js +0 -262
  354. package/dist/components/layout/animate/animate-ssr.css +0 -64
@@ -49,7 +49,7 @@ const base = css `
49
49
  );
50
50
  --_borderRadius: var(
51
51
  --input-file-border-radius,
52
- var(--eun-borderRadius-m, 8px)
52
+ var(--eun-border-radius-m, 8px)
53
53
  );
54
54
  --_itemBackground: var(
55
55
  --input-file-item-background,
@@ -59,7 +59,7 @@ const base = css `
59
59
  --_gap: var(--input-file-gap, var(--eun-space-s, 8px));
60
60
  --_thumbnailSize: var(--input-file-thumbnail-size, 96px);
61
61
  font-family: var(--eun-font-family, "Mulish", sans-serif);
62
- font-size: var(--eun-fontSize-s, 14px);
62
+ font-size: var(--eun-font-size-s, 14px);
63
63
  color: var(--_textColor);
64
64
  display: block;
65
65
  width: 100%;
@@ -92,7 +92,7 @@ const base = css `
92
92
  justify-content: center;
93
93
  gap: var(--eun-space-xs, 4px);
94
94
  padding: var(--eun-space-l, 32px) var(--eun-space-m, 16px);
95
- border: var(--eun-borderWidth-m, 1.5px) dashed var(--_borderColor);
95
+ border: var(--eun-border-width-m, 1.5px) dashed var(--_borderColor);
96
96
  border-radius: var(--_borderRadius);
97
97
  background-color: var(--_background);
98
98
  text-align: center;
@@ -158,7 +158,7 @@ const base = css `
158
158
  justify-content: space-between;
159
159
  gap: var(--eun-space-s, 8px);
160
160
  flex-wrap: wrap;
161
- font-size: var(--eun-fontSize-xs, 12px);
161
+ font-size: var(--eun-font-size-xs, 12px);
162
162
  color: var(--_hintColor);
163
163
  }
164
164
  #header-actions {
@@ -176,7 +176,7 @@ const base = css `
176
176
  border: none;
177
177
  padding: 0;
178
178
  font: inherit;
179
- font-size: var(--eun-fontSize-xs, 12px);
179
+ font-size: var(--eun-font-size-xs, 12px);
180
180
  color: var(--eun-color-primary-500, #3d6fff);
181
181
  cursor: pointer;
182
182
  text-decoration: underline;
@@ -189,7 +189,7 @@ const base = css `
189
189
  .text-button:focus-visible {
190
190
  outline: 2px solid var(--_focusIndicator);
191
191
  outline-offset: 2px;
192
- border-radius: var(--eun-borderRadius-xs, 4px);
192
+ border-radius: var(--eun-border-radius-xs, 4px);
193
193
  }
194
194
  #items {
195
195
  display: grid;
@@ -208,7 +208,7 @@ const base = css `
208
208
  position: relative;
209
209
  display: flex;
210
210
  background-color: var(--_itemBackground);
211
- border: var(--eun-borderWidth-m, 1.5px) solid var(--_itemBorderColor);
211
+ border: var(--eun-border-width-m, 1.5px) solid var(--_itemBorderColor);
212
212
  border-radius: var(--_borderRadius);
213
213
  box-sizing: border-box;
214
214
  cursor: pointer;
@@ -251,7 +251,7 @@ const base = css `
251
251
  white-space: nowrap;
252
252
  }
253
253
  .item-size {
254
- font-size: var(--eun-fontSize-xs, 12px);
254
+ font-size: var(--eun-font-size-xs, 12px);
255
255
  color: var(--_hintColor);
256
256
  }
257
257
  .item-checkbox {
@@ -270,7 +270,7 @@ const base = css `
270
270
  justify-content: center;
271
271
  background: rgb(7 22 33 / 0.55);
272
272
  border: none;
273
- border-radius: var(--eun-borderRadius-xl, 999px);
273
+ border-radius: var(--eun-border-radius-xl, 999px);
274
274
  color: #fff;
275
275
  cursor: pointer;
276
276
  padding: 2px;
@@ -16,7 +16,7 @@ export declare const EunomiaInputPhoneTagName = "eun-input-phone";
16
16
  * interface element.
17
17
  * @internal
18
18
  */
19
- type EunomiaInputPhoneBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface & FormMixinInterface<string> & FormLabelMixinInterface & FieldVariantMixinInterface & AnchorPositionMixinInterface;
19
+ type EunomiaInputPhoneBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface<string> & FormMixinInterface<string> & FormLabelMixinInterface & FieldVariantMixinInterface & AnchorPositionMixinInterface;
20
20
  declare const EunomiaInputPhoneMixinBase: Constructor<EunomiaInputPhoneBase>;
21
21
  /**
22
22
  * A phone number field rendered in two adjacent parts: a compact country
@@ -529,7 +529,7 @@ let EunomiaInputPhone = EunomiaInputPhone_1 = class EunomiaInputPhone extends Eu
529
529
  input.value = formatted;
530
530
  }
531
531
  this.value = toE164(this.country, cappedSignificantDigits);
532
- this.dispatchEvent(new ChangeEvent());
532
+ this.dispatchEvent(new ChangeEvent(this.value));
533
533
  }
534
534
  /**
535
535
  * Updates the search query filtering the country dropdown.
@@ -561,7 +561,7 @@ let EunomiaInputPhone = EunomiaInputPhone_1 = class EunomiaInputPhone extends Eu
561
561
  const trimmedSignificantDigits = significantDigits.slice(0, maxLength);
562
562
  this.nationalDigits = (hasTrunkZero ? "0" : "") + trimmedSignificantDigits;
563
563
  this.value = toE164(this.country, trimmedSignificantDigits);
564
- this.dispatchEvent(new ChangeEvent());
564
+ this.dispatchEvent(new ChangeEvent(this.value));
565
565
  this.closeListbox();
566
566
  this.fieldEl?.focus();
567
567
  }
@@ -744,7 +744,7 @@ let EunomiaInputPhone = EunomiaInputPhone_1 = class EunomiaInputPhone extends Eu
744
744
  ?disabled=${this.disabled}
745
745
  ?readonly=${this.readonly}
746
746
  aria-describedby=${hasDescription ? "description" : nothing}
747
- aria-invalid=${this.valid ? "false" : "true"}
747
+ aria-invalid=${!this.hideError && !this.disabled && !this.valid}
748
748
  @input=${this.handlePhoneInput}
749
749
  />
750
750
  </div>
@@ -43,7 +43,7 @@ const inputPhone = css `
43
43
  flex-shrink: 0;
44
44
  padding: var(--eun-space-xs, 4px) var(--eun-space-s, 8px);
45
45
  background-color: var(--_background);
46
- border: var(--eun-borderWidth-m, 1.5px) solid var(--_borderColor);
46
+ border: var(--eun-border-width-m, 1.5px) solid var(--_borderColor);
47
47
  border-inline-end: none;
48
48
  border-radius: var(--_borderRadius) 0 0 var(--_borderRadius);
49
49
  outline: 1px solid transparent;
@@ -64,7 +64,7 @@ const inputPhone = css `
64
64
  outline-offset: 0;
65
65
  }
66
66
  .flag {
67
- font-size: var(--eun-fontSize-m, 16px);
67
+ font-size: var(--eun-font-size-m, 16px);
68
68
  line-height: 1;
69
69
  }
70
70
  #field-wrapper {
@@ -77,7 +77,7 @@ const inputPhone = css `
77
77
  margin-inline-start: -1px;
78
78
  color: var(--_textColor);
79
79
  background-color: var(--_background);
80
- border: var(--eun-borderWidth-m, 1.5px) solid var(--_borderColor);
80
+ border: var(--eun-border-width-m, 1.5px) solid var(--_borderColor);
81
81
  border-radius: 0 var(--_borderRadius) var(--_borderRadius) 0;
82
82
  outline: 1px solid transparent;
83
83
  box-sizing: border-box;
@@ -136,7 +136,7 @@ const inputPhone = css `
136
136
  border-color: transparent;
137
137
  }
138
138
  :host([variant="fill"]) #country-trigger {
139
- border-inline-end: var(--eun-borderWidth-s, 1px) solid
139
+ border-inline-end: var(--eun-border-width-s, 1px) solid
140
140
  var(--eun-border-color, #dee0e7);
141
141
  }
142
142
  :host([variant="fill"])
@@ -151,11 +151,11 @@ const inputPhone = css `
151
151
  :host([variant="underline"]) #field-wrapper {
152
152
  border: none;
153
153
  outline: none;
154
- border-bottom: var(--eun-borderWidth-m, 1.5px) solid var(--_borderColor);
154
+ border-bottom: var(--eun-border-width-m, 1.5px) solid var(--_borderColor);
155
155
  border-radius: 0;
156
156
  }
157
157
  :host([variant="underline"]) #country-trigger {
158
- border-inline-end: var(--eun-borderWidth-s, 1px) solid
158
+ border-inline-end: var(--eun-border-width-s, 1px) solid
159
159
  var(--eun-border-color, #dee0e7);
160
160
  }
161
161
  :host([variant="underline"]) #field-wrapper {
@@ -200,7 +200,7 @@ const inputPhone = css `
200
200
  color: var(--_textColor);
201
201
  background: var(--eun-content-hover, #edeff0);
202
202
  border: none;
203
- border-radius: var(--eun-borderRadius-s, 5px);
203
+ border-radius: var(--eun-border-radius-s, 5px);
204
204
  padding: var(--eun-space-xs, 4px) var(--eun-space-s, 8px);
205
205
  outline: 1px solid transparent;
206
206
  }
@@ -13,17 +13,17 @@ const base = css `
13
13
  }
14
14
  #name {
15
15
  color: var(--eun-text-color, #071621);
16
- font-size: var(--eun-fontSize-s, 14px);
17
- font-weight: var(--eun-fontWeight-l, 700);
16
+ font-size: var(--eun-font-size-s, 14px);
17
+ font-weight: var(--eun-font-weight-l, 700);
18
18
  }
19
19
  slot[name="instructions"] {
20
20
  display: block;
21
- font-size: var(--eun-fontSize-xs, 12px);
21
+ font-size: var(--eun-font-size-xs, 12px);
22
22
  color: var(--eun-text-secondary, #484e61);
23
23
  }
24
24
  .required {
25
25
  color: var(--eun-color-critical-100, #aa0014);
26
- font-size: var(--eun-fontSize-s, 10px);
26
+ font-size: var(--eun-font-size-s, 10px);
27
27
  }
28
28
  `;
29
29
  export const labelStyles = base;
@@ -50,7 +50,7 @@ const base = css `
50
50
  --_padding: var(--radio-card-padding, var(--eun-space-m, 16px));
51
51
  --_borderRadius: var(
52
52
  --radio-card-border-radius,
53
- var(--eun-borderRadius-m, 10px)
53
+ var(--eun-border-radius-m, 10px)
54
54
  );
55
55
  --_indicatorBorder: var(--_borderColor);
56
56
  --_indicatorDot: transparent;
@@ -4,7 +4,7 @@ import type { EunomiaRadio } from "./radio.js";
4
4
  * Tag name of the radio list component.
5
5
  */
6
6
  export declare const EunomiaRadioListTagName = "eun-radio-list";
7
- declare const EunomiaRadioList_base: import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/form-label.mixin.js").FormLabelMixinInterface> & import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/readonly.mixin.js").ReadonlyMixinInterface> & import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/form.mixin.js").FormMixinInterface<string | undefined>> & import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/disabled.mixin.js").DisabledMixinInterface> & import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/validators.mixin.js").ValidatorsMixinInterface> & typeof LitElement;
7
+ declare const EunomiaRadioList_base: import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/form-label.mixin.js").FormLabelMixinInterface> & import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/readonly.mixin.js").ReadonlyMixinInterface> & import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/form.mixin.js").FormMixinInterface<string | undefined>> & import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/disabled.mixin.js").DisabledMixinInterface> & import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/validators.mixin.js").ValidatorsMixinInterface<string | undefined>> & typeof LitElement;
8
8
  /**
9
9
  * Groups radio children into a select one of many field, wrapped so the
10
10
  * group has a single accessible name and reads as one radio group to
@@ -370,7 +370,7 @@ let EunomiaRadioList = class EunomiaRadioList extends FormLabelMixin(ReadonlyMix
370
370
  */
371
371
  sendChangeEvent() {
372
372
  this.checkValidity(this.value);
373
- this.dispatchEvent(new ChangeEvent());
373
+ this.dispatchEvent(new ChangeEvent(this.value));
374
374
  }
375
375
  /**
376
376
  * Handler called when slot content changes.
@@ -404,7 +404,7 @@ let EunomiaRadioList = class EunomiaRadioList extends FormLabelMixin(ReadonlyMix
404
404
  aria-disabled=${this.disabled ? "true" : "false"}
405
405
  aria-readonly=${this.readonly ? "true" : "false"}
406
406
  aria-required=${this.required ? "true" : "false"}
407
- aria-invalid=${this.valid ? "false" : "true"}
407
+ aria-invalid=${!this.hideError && !this.disabled && !this.valid}
408
408
  >
409
409
  <slot @slotchange=${this.handleSlotChange}></slot>
410
410
  </div>
@@ -13,7 +13,7 @@ export declare const EunomiaRadioTagName = "eun-radio";
13
13
  * Type of the radio base used to declare every necessary Mixin interface elements.
14
14
  * @internal
15
15
  */
16
- type EunomiaRadioBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface & FormMixinInterface<string> & RadioMixinInterface;
16
+ type EunomiaRadioBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface<boolean> & FormMixinInterface<string> & RadioMixinInterface;
17
17
  /**
18
18
  * Base class with composed mixins used to handle component extends elements type
19
19
  * @internal
@@ -21,7 +21,7 @@ const base = css `
21
21
  --_borderColor: var(--radio-border-color, var(--eun-border-color, #dee0e7));
22
22
  --_background: var(--radio-background, transparent);
23
23
  --_color: var(--eun-text-color, #071621);
24
- --_roundDiameter: var(--radio-size, var(--eun-fontSize-m, 16px));
24
+ --_roundDiameter: var(--radio-size, var(--eun-font-size-m, 16px));
25
25
  --_focusIndicator: var(
26
26
  --radio-focus-outline-color,
27
27
  var(--eun-color-primary-500, #3d6fff)
@@ -35,7 +35,7 @@ const base = css `
35
35
  --_roundGap: 2px;
36
36
  --_cursor: pointer;
37
37
  font-family: var(--eun-font-family, "Mulish", sans-serif);
38
- font-size: var(--eun-fontSize-s, 14px);
38
+ font-size: var(--eun-font-size-s, 14px);
39
39
  display: inline-flex;
40
40
  align-items: center;
41
41
  outline: none;
@@ -11,11 +11,11 @@ const search = css `
11
11
  align-items: center;
12
12
  padding: 2px 6px;
13
13
  font-family: inherit;
14
- font-size: var(--eun-fontSize-xs, 12px);
14
+ font-size: var(--eun-font-size-xs, 12px);
15
15
  color: var(--_iconColor);
16
16
  background: var(--eun-content-hover, #edeff0);
17
- border: var(--eun-borderWidth-m, 1.5px) solid var(--_borderColor);
18
- border-radius: var(--eun-borderRadius-s, 5px);
17
+ border: var(--eun-border-width-m, 1.5px) solid var(--_borderColor);
18
+ border-radius: var(--eun-border-radius-s, 5px);
19
19
  }
20
20
  #field-wrapper #shortcut-hint {
21
21
  position: absolute;
@@ -46,7 +46,7 @@ const search = css `
46
46
  text-align: left;
47
47
  color: var(--_textColor);
48
48
  background-color: var(--_background);
49
- border: var(--eun-borderWidth-m, 1.5px) solid var(--_borderColor);
49
+ border: var(--eun-border-width-m, 1.5px) solid var(--_borderColor);
50
50
  border-radius: var(--_borderRadius);
51
51
  padding: var(--_padding);
52
52
  box-sizing: border-box;
@@ -80,7 +80,7 @@ const search = css `
80
80
  :host([variant="underline"]) #search-trigger {
81
81
  border: none;
82
82
  outline: none;
83
- border-bottom: var(--eun-borderWidth-m, 1.5px) solid var(--_borderColor);
83
+ border-bottom: var(--eun-border-width-m, 1.5px) solid var(--_borderColor);
84
84
  border-radius: 0;
85
85
  }
86
86
  :host([variant="underline"]) #search-trigger:focus-visible {
@@ -106,7 +106,7 @@ const search = css `
106
106
  top: 0;
107
107
  z-index: 1;
108
108
  background: var(--modal-background, var(--eun-surface-color, #ffffff));
109
- border-bottom: var(--eun-borderWidth-m, 1.5px) solid var(--_borderColor);
109
+ border-bottom: var(--eun-border-width-m, 1.5px) solid var(--_borderColor);
110
110
  }
111
111
  #panel-field #field-wrapper {
112
112
  position: relative;
@@ -22,7 +22,7 @@ type SelectValue = string | string[];
22
22
  * Type of the select base used to declare every necessary Mixin interface elements.
23
23
  * @internal
24
24
  */
25
- type EunomiaSelectBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface & FormMixinInterface<SelectValue> & EditableMixinInterface & FormLabelMixinInterface & FieldVariantMixinInterface & AnchorPositionMixinInterface;
25
+ type EunomiaSelectBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface<SelectValue> & FormMixinInterface<SelectValue> & EditableMixinInterface & FormLabelMixinInterface & FieldVariantMixinInterface & AnchorPositionMixinInterface;
26
26
  declare const EunomiaSelectMixinBase: Constructor<EunomiaSelectBase>;
27
27
  /**
28
28
  * A field that picks one or more values from a list of option and optgroup
@@ -45,6 +45,7 @@ declare const EunomiaSelectMixinBase: Constructor<EunomiaSelectBase>;
45
45
  * @slot [icon] - Replaces the leading icon entirely with any content, not just an icon element. Falls back to icon when empty
46
46
  * @slot [readonly-content] - Optional custom content displayed instead of the raw label in the static readonly display
47
47
  * @slot [confirm] - Optional custom content for the confirm trigger, such as an icon, displayed as a link while editing in readonlyAvailable mode, or while multiple and the dropdown is open. Overrides confirmLabel when used. The button itself always shows in either of those states unless confirmLabel is set to an empty string
48
+ * @slot [actions] - Optional content rendered in a footer row below the options, for actions unrelated to picking a value, such as a link to manage the list elsewhere. Hidden entirely when empty. Ignored while native is set
48
49
  * @prop {boolean} [searchable=false] - Whether the field filters its options as the user types. When false, the field is read only and driven by arrow keys, Enter, and type-ahead. Ignored while native is set
49
50
  * @prop {boolean} [native=false] - Renders the field as a real select, using the browser's own dropdown instead of the listbox panel. Takes priority over searchable and multiple, neither of which a native dropdown can support
50
51
  * @prop {boolean} [multiple=false] - Whether more than one option can be picked at once. Each option then renders a checkbox, and picking one toggles it without closing the dropdown, so value becomes an array of every picked option's value. Ignored while native is set
@@ -308,6 +309,21 @@ export declare class EunomiaSelect extends EunomiaSelectMixinBase {
308
309
  * @private
309
310
  */
310
311
  private handleIconSlotChange;
312
+ /**
313
+ * Elements assigned to the `actions` slot, if any ; queried live so
314
+ * {@link renderField} can decide whether to render the footer row around
315
+ * it at all.
316
+ * @internal
317
+ * @readonly
318
+ */
319
+ private readonly actionsSlotEls;
320
+ /**
321
+ * Re-renders when the `actions` slot's assigned content changes, so the
322
+ * footer row correctly appears/disappears as content is slotted in or
323
+ * removed after the initial render.
324
+ * @private
325
+ */
326
+ private handleActionsSlotChange;
311
327
  /**
312
328
  * The listbox's currently running open/close {@link Animation}, if any —
313
329
  * see {@link playListboxOpenAnimation}/{@link playListboxCloseAnimation}.
@@ -53,6 +53,7 @@ const EunomiaSelectMixinBase = AnchorPositionMixin(FieldVariantMixin(FormLabelMi
53
53
  * @slot [icon] - Replaces the leading icon entirely with any content, not just an icon element. Falls back to icon when empty
54
54
  * @slot [readonly-content] - Optional custom content displayed instead of the raw label in the static readonly display
55
55
  * @slot [confirm] - Optional custom content for the confirm trigger, such as an icon, displayed as a link while editing in readonlyAvailable mode, or while multiple and the dropdown is open. Overrides confirmLabel when used. The button itself always shows in either of those states unless confirmLabel is set to an empty string
56
+ * @slot [actions] - Optional content rendered in a footer row below the options, for actions unrelated to picking a value, such as a link to manage the list elsewhere. Hidden entirely when empty. Ignored while native is set
56
57
  * @prop {boolean} [searchable=false] - Whether the field filters its options as the user types. When false, the field is read only and driven by arrow keys, Enter, and type-ahead. Ignored while native is set
57
58
  * @prop {boolean} [native=false] - Renders the field as a real select, using the browser's own dropdown instead of the listbox panel. Takes priority over searchable and multiple, neither of which a native dropdown can support
58
59
  * @prop {boolean} [multiple=false] - Whether more than one option can be picked at once. Each option then renders a checkbox, and picking one toggles it without closing the dropdown, so value becomes an array of every picked option's value. Ignored while native is set
@@ -229,6 +230,15 @@ let EunomiaSelect = EunomiaSelect_1 = class EunomiaSelect extends EunomiaSelectM
229
230
  this.handleIconSlotChange = () => {
230
231
  this.requestUpdate();
231
232
  };
233
+ /**
234
+ * Re-renders when the `actions` slot's assigned content changes, so the
235
+ * footer row correctly appears/disappears as content is slotted in or
236
+ * removed after the initial render.
237
+ * @private
238
+ */
239
+ this.handleActionsSlotChange = () => {
240
+ this.requestUpdate();
241
+ };
232
242
  /**
233
243
  * Redirects focus to the native field whenever the host itself receives
234
244
  * it. The host stays in the tab order (`DisabledMixin`) rather than
@@ -795,11 +805,11 @@ let EunomiaSelect = EunomiaSelect_1 = class EunomiaSelect extends EunomiaSelectM
795
805
  this.value = current.includes(option.value)
796
806
  ? current.filter((value) => value !== option.value)
797
807
  : [...current, option.value];
798
- this.dispatchEvent(new ChangeEvent());
808
+ this.dispatchEvent(new ChangeEvent(this.value));
799
809
  return;
800
810
  }
801
811
  this.value = option.value;
802
- this.dispatchEvent(new ChangeEvent());
812
+ this.dispatchEvent(new ChangeEvent(this.value));
803
813
  this.closeListbox();
804
814
  if (this.readonlyAvailable) {
805
815
  this.confirmEdit();
@@ -816,7 +826,7 @@ let EunomiaSelect = EunomiaSelect_1 = class EunomiaSelect extends EunomiaSelectM
816
826
  */
817
827
  handleNativeChange(event) {
818
828
  this.value = event.target.value;
819
- this.dispatchEvent(new ChangeEvent());
829
+ this.dispatchEvent(new ChangeEvent(this.value));
820
830
  if (this.readonlyAvailable) {
821
831
  this.confirmEdit();
822
832
  }
@@ -1166,7 +1176,7 @@ let EunomiaSelect = EunomiaSelect_1 = class EunomiaSelect extends EunomiaSelectM
1166
1176
  aria-describedby=${hasDescription ? "description" : nothing}
1167
1177
  ?disabled=${this.disabled || this.readonly}
1168
1178
  ?required=${this.required}
1169
- aria-invalid=${this.valid ? "false" : "true"}
1179
+ aria-invalid=${!this.hideError && !this.disabled && !this.valid}
1170
1180
  @change=${this.handleNativeChange}
1171
1181
  ></select>
1172
1182
  ${this.showConfirmLink ? this.renderConfirmLink() : nothing}
@@ -1215,7 +1225,7 @@ let EunomiaSelect = EunomiaSelect_1 = class EunomiaSelect extends EunomiaSelectM
1215
1225
  ?disabled=${this.disabled}
1216
1226
  ?readonly=${this.readonly || !this.searchable}
1217
1227
  aria-required=${this.required ? "true" : "false"}
1218
- aria-invalid=${this.valid ? "false" : "true"}
1228
+ aria-invalid=${!this.hideError && !this.disabled && !this.valid}
1219
1229
  @pointerdown=${this.handleFieldPointerDown}
1220
1230
  @focus=${this.handleFieldActivate}
1221
1231
  @click=${this.handleFieldActivate}
@@ -1234,6 +1244,16 @@ let EunomiaSelect = EunomiaSelect_1 = class EunomiaSelect extends EunomiaSelectM
1234
1244
  @toggle=${this.handlePopoverToggle}
1235
1245
  >
1236
1246
  ${this.renderListboxRows(options)}
1247
+ <li
1248
+ class="actions"
1249
+ role="presentation"
1250
+ ?hidden=${!this.actionsSlotEls?.length}
1251
+ >
1252
+ <slot
1253
+ name="actions"
1254
+ @slotchange=${this.handleActionsSlotChange}
1255
+ ></slot>
1256
+ </li>
1237
1257
  </ul>
1238
1258
  `;
1239
1259
  }
@@ -1381,6 +1401,9 @@ __decorate([
1381
1401
  __decorate([
1382
1402
  queryAssignedElements({ slot: "icon" })
1383
1403
  ], EunomiaSelect.prototype, "iconSlotEls", void 0);
1404
+ __decorate([
1405
+ queryAssignedElements({ slot: "actions" })
1406
+ ], EunomiaSelect.prototype, "actionsSlotEls", void 0);
1384
1407
  EunomiaSelect = EunomiaSelect_1 = __decorate([
1385
1408
  customElement(EunomiaSelectTagName)
1386
1409
  ], EunomiaSelect);
@@ -27,7 +27,7 @@ const select = css `
27
27
  right: var(--eun-space-m, 16px);
28
28
  pointer-events: none;
29
29
  color: var(--_iconColor);
30
- font-size: var(--eun-fontSize-s, 14px);
30
+ font-size: var(--eun-font-size-s, 14px);
31
31
  transition: transform 0.15s ease;
32
32
  }
33
33
  #select-arrow.open {
@@ -56,8 +56,8 @@ const select = css `
56
56
  height: 16px;
57
57
  margin-inline-end: var(--eun-space-xs, 4px);
58
58
  vertical-align: -3px;
59
- border: var(--eun-borderWidth-s, 1px) solid var(--_borderColor);
60
- border-radius: var(--eun-borderRadius-s, 5px);
59
+ border: var(--eun-border-width-s, 1px) solid var(--_borderColor);
60
+ border-radius: var(--eun-border-radius-s, 5px);
61
61
  --icon-color: transparent;
62
62
  }
63
63
  #listbox li.selected .option-checkbox {
@@ -65,6 +65,17 @@ const select = css `
65
65
  border-color: var(--eun-color-primary-500, #3d6fff);
66
66
  --icon-color: var(--eun-color-on-primary-500, #ffffff);
67
67
  }
68
+ #listbox .actions {
69
+ display: flex;
70
+ align-items: center;
71
+ gap: var(--eun-space-s, 8px);
72
+ padding: var(--eun-space-s, 8px) var(--eun-space-m, 16px);
73
+ cursor: default;
74
+ border-block-start: var(--eun-border-width-s, 1px) solid var(--_borderColor);
75
+ }
76
+ #listbox .actions[hidden] {
77
+ display: none;
78
+ }
68
79
  #confirm-link {
69
80
  position: absolute;
70
81
  right: calc(var(--eun-space-l, 32px) + var(--eun-space-xs, 4px));
@@ -74,7 +85,7 @@ const select = css `
74
85
  border: none;
75
86
  background: none;
76
87
  font: inherit;
77
- font-size: var(--eun-fontSize-s, 14px);
88
+ font-size: var(--eun-font-size-s, 14px);
78
89
  color: var(
79
90
  --field-confirm-link-color,
80
91
  var(--eun-color-primary-500, #3d6fff)
@@ -95,7 +106,7 @@ const select = css `
95
106
  #confirm-link:focus-visible {
96
107
  outline: 2px solid var(--_focusIndicator);
97
108
  outline-offset: 2px;
98
- border-radius: var(--eun-borderRadius-m);
109
+ border-radius: var(--eun-border-radius-m);
99
110
  }
100
111
  `;
101
112
  export const selectStyles = [
@@ -18,7 +18,7 @@ import { css } from "lit";
18
18
  const base = css `
19
19
  :host {
20
20
  font-family: var(--eun-font-family, "Mulish", sans-serif);
21
- font-size: var(--eun-fontSize-s, 14px);
21
+ font-size: var(--eun-font-size-s, 14px);
22
22
  display: inline-block;
23
23
  outline: none;
24
24
  }
@@ -38,14 +38,14 @@ const base = css `
38
38
  --field-focus-outline-color,
39
39
  var(--eun-color-primary-500, #3d6fff)
40
40
  );
41
- --_borderRadius: var(--field-border-radius, var(--eun-borderRadius-m, 8px));
41
+ --_borderRadius: var(--field-border-radius, var(--eun-border-radius-m, 8px));
42
42
  --_padding: var(
43
43
  --field-padding,
44
44
  var(--eun-space-s, 8px) var(--eun-space-s, 8px)
45
45
  );
46
46
  --_shadow: var(--field-shadow, none);
47
47
  font-family: var(--eun-font-family, "Mulish", sans-serif);
48
- font-size: var(--eun-fontSize-s, 14px);
48
+ font-size: var(--eun-font-size-s, 14px);
49
49
  display: block;
50
50
  width: 100%;
51
51
  outline: none;
@@ -65,7 +65,7 @@ const base = css `
65
65
  font: inherit;
66
66
  color: var(--_textColor);
67
67
  background-color: var(--_background);
68
- border: var(--eun-borderWidth-m, 1.5px) solid var(--_borderColor);
68
+ border: var(--eun-border-width-m, 1.5px) solid var(--_borderColor);
69
69
  border-radius: var(--_borderRadius);
70
70
  padding: var(--_padding);
71
71
  outline: 1px solid transparent;
@@ -124,12 +124,12 @@ const base = css `
124
124
  border-color: transparent;
125
125
  }
126
126
  :host([variant="fill"]) #field[aria-invalid="true"] {
127
- box-shadow: inset 0 0 0 var(--eun-borderWidth-m, 1.5px) var(--_errorColor);
127
+ box-shadow: inset 0 0 0 var(--eun-border-width-m, 1.5px) var(--_errorColor);
128
128
  }
129
129
  :host([variant="underline"]) #field {
130
130
  border: none;
131
131
  outline: none;
132
- border-bottom: var(--eun-borderWidth-m, 1.5px) solid var(--_borderColor);
132
+ border-bottom: var(--eun-border-width-m, 1.5px) solid var(--_borderColor);
133
133
  border-radius: 0;
134
134
  }
135
135
  :host([variant="underline"]) #field:focus-visible {
@@ -168,11 +168,11 @@ const base = css `
168
168
  #password-toggle:focus-visible {
169
169
  outline: 2px solid var(--_focusIndicator);
170
170
  outline-offset: 2px;
171
- border-radius: var(--eun-borderRadius-xl, 999px);
171
+ border-radius: var(--eun-border-radius-xl, 999px);
172
172
  }
173
173
  #readonly-display {
174
174
  padding: var(--_padding);
175
- border: var(--eun-borderWidth-m, 1.5px) solid transparent;
175
+ border: var(--eun-border-width-m, 1.5px) solid transparent;
176
176
  border-radius: var(--_borderRadius);
177
177
  box-sizing: border-box;
178
178
  cursor: text;
@@ -4,7 +4,7 @@ const base = css `
4
4
  font-family: var(--eun-font-family, "Mulish", sans-serif);
5
5
  display: block;
6
6
  margin-block-start: var(--eun-space-xs, 4px);
7
- font-size: var(--eun-fontSize-xs, 12px);
7
+ font-size: var(--eun-font-size-xs, 12px);
8
8
  margin-block: 0;
9
9
  }
10
10
  #description span {
@@ -39,10 +39,10 @@ const listbox = css `
39
39
  max-height: var(--field-listbox-max-height, 260px);
40
40
  overflow-y: auto;
41
41
  font-family: var(--eun-font-family, "Mulish", sans-serif);
42
- font-size: var(--eun-fontSize-s, 14px);
42
+ font-size: var(--eun-font-size-s, 14px);
43
43
  color: var(--_textColor);
44
44
  background: var(--eun-surface-color, #ffffff);
45
- border: var(--eun-borderWidth-m, 1.5px) solid var(--_borderColor);
45
+ border: var(--eun-border-width-m, 1.5px) solid var(--_borderColor);
46
46
  border-radius: var(--_borderRadius);
47
47
  box-shadow: var(
48
48
  --eun-shadow-m,
@@ -74,13 +74,13 @@ const listbox = css `
74
74
  background: var(--eun-content-hover, #edeff0);
75
75
  }
76
76
  #listbox li.selected {
77
- font-weight: var(--eun-fontWeight-l, 700);
77
+ font-weight: var(--eun-font-weight-l, 700);
78
78
  color: var(--eun-color-primary-500, #3d6fff);
79
79
  }
80
80
  #listbox li mark {
81
81
  background: var(--field-match-background, none);
82
82
  color: var(--field-match-color, var(--eun-color-primary-500, #3d6fff));
83
- font-weight: var(--field-match-font-weight, var(--eun-fontWeight-l, 700));
83
+ font-weight: var(--field-match-font-weight, var(--eun-font-weight-l, 700));
84
84
  text-decoration: var(--field-match-text-decoration, none);
85
85
  }
86
86
  #listbox .no-results,
@@ -92,8 +92,8 @@ const listbox = css `
92
92
  #listbox .group-label {
93
93
  cursor: default;
94
94
  padding-block-end: var(--eun-space-xxs, 1.6px);
95
- font-size: var(--eun-fontSize-xs, 12px);
96
- font-weight: var(--eun-fontWeight-l, 700);
95
+ font-size: var(--eun-font-size-xs, 12px);
96
+ font-weight: var(--eun-font-weight-l, 700);
97
97
  color: var(--_placeholderColor);
98
98
  text-transform: uppercase;
99
99
  }
@@ -13,7 +13,7 @@ export declare const EunomiaSliderTagName = "eun-slider";
13
13
  * Type of the slider base used to declare every necessary Mixin interface elements.
14
14
  * @internal
15
15
  */
16
- type EunomiaSliderBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface & FormMixinInterface<number> & FormLabelMixinInterface;
16
+ type EunomiaSliderBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface<number> & FormMixinInterface<number> & FormLabelMixinInterface;
17
17
  declare const EunomiaSliderMixinBase: Constructor<EunomiaSliderBase>;
18
18
  /**
19
19
  * A form-associated control for picking a single numeric value out of a
@@ -150,7 +150,7 @@ let EunomiaSlider = class EunomiaSlider extends EunomiaSliderMixinBase {
150
150
  */
151
151
  this.handleInput = (event) => {
152
152
  this.value = Number(event.target.value);
153
- this.dispatchEvent(new ChangeEvent());
153
+ this.dispatchEvent(new ChangeEvent(this.value));
154
154
  };
155
155
  /**
156
156
  * Blocks every native keyboard interaction (arrow keys, Home/End, Page
@@ -431,7 +431,7 @@ let EunomiaSlider = class EunomiaSlider extends EunomiaSliderMixinBase {
431
431
  step=${this.step}
432
432
  .value=${String(value)}
433
433
  ?disabled=${this.disabled}
434
- aria-invalid=${this.valid ? "false" : "true"}
434
+ aria-invalid=${!this.hideError && !this.disabled && !this.valid}
435
435
  aria-label=${ifDefined(this.label)}
436
436
  aria-describedby=${hasDescription ? "description" : nothing}
437
437
  @input=${this.handleInput}