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

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 (394) hide show
  1. package/README.md +1 -1
  2. package/dist/cdn/components/chunks/{chunk-EAGGN3ZI.js → chunk-2XASWWKR.js} +9 -9
  3. package/dist/cdn/components/chunks/chunk-32DTNR52.js +1 -0
  4. package/dist/cdn/components/chunks/chunk-3MTUVMM5.js +1 -0
  5. package/dist/cdn/components/chunks/chunk-5GKM5DIB.js +1 -0
  6. package/dist/cdn/components/chunks/{chunk-32KRPOPV.js → chunk-5XJGYXW7.js} +6 -6
  7. package/dist/cdn/components/chunks/{chunk-O2HNWH65.js → chunk-5XJLIHAU.js} +7 -7
  8. package/dist/cdn/components/chunks/{chunk-TBKKTJOX.js → chunk-6ETDXUH2.js} +3 -3
  9. package/dist/cdn/components/chunks/{chunk-5GF2Q3NR.js → chunk-74AOAB4X.js} +1 -1
  10. package/dist/cdn/components/chunks/{chunk-WYMBUIKX.js → chunk-A6KGFALA.js} +4 -4
  11. package/dist/cdn/components/chunks/{chunk-NEYBPT3D.js → chunk-AIS3UICU.js} +9 -9
  12. package/dist/cdn/components/chunks/{chunk-LJYTHDZP.js → chunk-D2M4BV5Y.js} +6 -6
  13. package/dist/cdn/components/chunks/chunk-DKOPI7QA.js +415 -0
  14. package/dist/cdn/components/chunks/{chunk-53QH6MPM.js → chunk-EAKYD33D.js} +3 -3
  15. package/dist/cdn/components/chunks/chunk-EST3M4AO.js +1 -0
  16. package/dist/cdn/components/chunks/{chunk-BYBUXKXC.js → chunk-IDKZKLJR.js} +7 -7
  17. package/dist/cdn/components/chunks/chunk-JRGM3W7I.js +53 -0
  18. package/dist/cdn/components/chunks/{chunk-RWONCXTF.js → chunk-KVYUNKUO.js} +2 -2
  19. package/dist/cdn/components/chunks/{chunk-6UPI7GHJ.js → chunk-L65WUTXM.js} +12 -12
  20. package/dist/cdn/components/chunks/chunk-LFCXUVDO.js +1 -0
  21. package/dist/cdn/components/chunks/chunk-LGLQ36QB.js +16 -0
  22. package/dist/cdn/components/chunks/chunk-MPQP4R54.js +263 -0
  23. package/dist/cdn/components/chunks/{chunk-ON42P6FI.js → chunk-NBIENHLV.js} +6 -6
  24. package/dist/cdn/components/chunks/chunk-OAULRKHQ.js +38 -0
  25. package/dist/cdn/components/chunks/chunk-OW7XKDCH.js +124 -0
  26. package/dist/cdn/components/chunks/chunk-P32B7BFD.js +118 -0
  27. package/dist/cdn/components/chunks/{chunk-ZPFHTJSS.js → chunk-PCM7D3YF.js} +1 -1
  28. package/dist/cdn/components/chunks/{chunk-ABYEBP57.js → chunk-PED5ATYN.js} +11 -8
  29. package/dist/cdn/components/chunks/{chunk-5C7YND22.js → chunk-S2UCEWNG.js} +8 -8
  30. package/dist/cdn/components/chunks/{chunk-5RCCZVFZ.js → chunk-SD2WHGPF.js} +7 -6
  31. package/dist/cdn/components/chunks/chunk-SJWRE6PW.js +1 -0
  32. package/dist/cdn/components/chunks/{chunk-6IILPCSQ.js → chunk-X2AUBZD2.js} +3 -3
  33. package/dist/cdn/components/eun-alert.js +65 -45
  34. package/dist/cdn/components/eun-animate.js +5 -3
  35. package/dist/cdn/components/eun-badge.js +8 -8
  36. package/dist/cdn/components/eun-breadcrumb-item.js +14 -10
  37. package/dist/cdn/components/eun-breadcrumb.js +11 -7
  38. package/dist/cdn/components/eun-button.js +1 -1
  39. package/dist/cdn/components/eun-calendar.js +20 -20
  40. package/dist/cdn/components/eun-card.js +61 -13
  41. package/dist/cdn/components/eun-carousel.js +35 -27
  42. package/dist/cdn/components/eun-check-card.js +3 -3
  43. package/dist/cdn/components/eun-checkbox-list.js +3 -3
  44. package/dist/cdn/components/eun-checkbox.js +1 -1
  45. package/dist/cdn/components/eun-chip.js +45 -207
  46. package/dist/cdn/components/eun-collapse.js +49 -29
  47. package/dist/cdn/components/eun-color-picker.js +13 -13
  48. package/dist/cdn/components/eun-counter.js +15 -15
  49. package/dist/cdn/components/eun-date-picker.js +62 -62
  50. package/dist/cdn/components/eun-drawer.js +12 -12
  51. package/dist/cdn/components/eun-dropdown-button.js +1 -1
  52. package/dist/cdn/components/eun-dropdown-item.js +6 -6
  53. package/dist/cdn/components/eun-fab.js +31 -53
  54. package/dist/cdn/components/eun-icon.js +1 -1
  55. package/dist/cdn/components/eun-image-card.js +18 -11
  56. package/dist/cdn/components/eun-image-carousel.js +18 -18
  57. package/dist/cdn/components/eun-infinite-list.js +1 -1
  58. package/dist/cdn/components/eun-input-file.js +12 -12
  59. package/dist/cdn/components/eun-input-phone.js +28 -28
  60. package/dist/cdn/components/eun-input.js +1 -1
  61. package/dist/cdn/components/eun-label.js +4 -4
  62. package/dist/cdn/components/eun-link.js +134 -18
  63. package/dist/cdn/components/eun-loader.js +1 -1
  64. package/dist/cdn/components/eun-modal.js +21 -21
  65. package/dist/cdn/components/eun-pagination.js +3 -3
  66. package/dist/cdn/components/eun-password-strength.js +9 -6
  67. package/dist/cdn/components/eun-progress-bar.js +13 -13
  68. package/dist/cdn/components/eun-radio-card.js +2 -2
  69. package/dist/cdn/components/eun-radio-list.js +1 -1
  70. package/dist/cdn/components/eun-radio.js +1 -1
  71. package/dist/cdn/components/eun-scheduler-event-editor.js +9 -9
  72. package/dist/cdn/components/eun-scheduler-event.js +1 -1
  73. package/dist/cdn/components/eun-scheduler.js +26 -26
  74. package/dist/cdn/components/eun-search.js +21 -21
  75. package/dist/cdn/components/eun-select.js +10 -10
  76. package/dist/cdn/components/eun-sidebar.js +9 -9
  77. package/dist/cdn/components/eun-skeleton.js +1 -1
  78. package/dist/cdn/components/eun-slider.js +8 -8
  79. package/dist/cdn/components/eun-sliding-card.js +4 -3
  80. package/dist/cdn/components/eun-step.js +8 -8
  81. package/dist/cdn/components/eun-stepper.js +8 -8
  82. package/dist/cdn/components/eun-switch.js +10 -10
  83. package/dist/cdn/components/eun-tab-group.js +19 -11
  84. package/dist/cdn/components/eun-tab-panel.js +1 -1
  85. package/dist/cdn/components/eun-tab.js +1 -1
  86. package/dist/cdn/components/eun-table-action-bar.js +1 -1
  87. package/dist/cdn/components/eun-table-cell.js +1 -1
  88. package/dist/cdn/components/eun-table-column.js +1 -1
  89. package/dist/cdn/components/eun-table-header.js +1 -1
  90. package/dist/cdn/components/eun-table-item.js +1 -1
  91. package/dist/cdn/components/eun-table-skeleton-row.js +1 -1
  92. package/dist/cdn/components/eun-table.js +3 -3
  93. package/dist/cdn/components/eun-tag.js +34 -126
  94. package/dist/cdn/components/eun-textarea.js +23 -23
  95. package/dist/cdn/components/eun-time-picker.js +32 -32
  96. package/dist/cdn/components/eun-toast.js +40 -36
  97. package/dist/cdn/components/eun-toggle-group.js +213 -72
  98. package/dist/cdn/components/eun-toggle-item.js +49 -30
  99. package/dist/cdn/components/eun-toggle.js +12 -9
  100. package/dist/cdn/components/eun-toolbar.js +15 -8
  101. package/dist/cdn/components/eun-tooltip.js +122 -87
  102. package/dist/cdn/styles/eunomia-themes.css +1 -1
  103. package/dist/cdn/styles/themes/eunomia-theme.css +1 -1
  104. package/dist/cdn/styles/themes/eunomia-theme.scss +1 -0
  105. package/dist/cdn/styles/themes/mixins/eunomia-neutrals.mixin.scss +71 -0
  106. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +3 -13
  107. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +3 -13
  108. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.css +1 -1
  109. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +2 -0
  110. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +3 -13
  111. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +3 -13
  112. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.css +1 -1
  113. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +2 -0
  114. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +3 -13
  115. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +3 -13
  116. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.css +1 -1
  117. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +2 -0
  118. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +3 -13
  119. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +3 -13
  120. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.css +1 -1
  121. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +2 -0
  122. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +3 -13
  123. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +3 -13
  124. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.css +1 -1
  125. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +2 -0
  126. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +3 -13
  127. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +3 -13
  128. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.css +1 -1
  129. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +2 -0
  130. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +3 -13
  131. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +3 -13
  132. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.css +1 -1
  133. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +2 -0
  134. package/dist/cdn/styles/tools/indexes/eunomia-tools.index.scss +1 -0
  135. package/dist/cdn/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +39 -0
  136. package/dist/cdn/styles/tools/mixins/settings/eunomia-border.mixin.scss +3 -3
  137. package/dist/cdn/styles/tools/mixins/settings/eunomia-font.mixin.scss +12 -12
  138. package/dist/cdn/styles/tools/mixins/settings/eunomia-radius.mixin.scss +4 -4
  139. package/dist/components/action/button/button.d.ts +44 -15
  140. package/dist/components/action/button/button.js +100 -20
  141. package/dist/components/action/button/button.styles.js +179 -393
  142. package/dist/components/action/dropdown-button/dropdown-button.d.ts +13 -6
  143. package/dist/components/action/dropdown-button/dropdown-button.js +16 -5
  144. package/dist/components/action/dropdown-button/dropdown-button.styles.js +8 -8
  145. package/dist/components/action/dropdown-button/dropdown-item.styles.js +6 -6
  146. package/dist/components/action/fab/fab.d.ts +7 -4
  147. package/dist/components/action/fab/fab.js +11 -6
  148. package/dist/components/action/fab/fab.styles.js +26 -49
  149. package/dist/components/action/link/link.d.ts +115 -6
  150. package/dist/components/action/link/link.js +245 -21
  151. package/dist/components/action/link/link.styles.js +105 -3
  152. package/dist/components/action/shared-styles/button-palette.styles.d.ts +27 -0
  153. package/dist/components/action/shared-styles/button-palette.styles.js +151 -0
  154. package/dist/components/action/toggle/toggle-group.d.ts +55 -11
  155. package/dist/components/action/toggle/toggle-group.js +193 -52
  156. package/dist/components/action/toggle/toggle-group.styles.d.ts +7 -5
  157. package/dist/components/action/toggle/toggle-group.styles.js +166 -41
  158. package/dist/components/action/toggle/toggle-item.d.ts +4 -4
  159. package/dist/components/action/toggle/toggle-item.js +2 -2
  160. package/dist/components/action/toggle/toggle-item.styles.js +45 -26
  161. package/dist/components/action/toggle/toggle.d.ts +1 -1
  162. package/dist/components/action/toggle/toggle.js +1 -1
  163. package/dist/components/action/toggle/toggle.styles.d.ts +2 -2
  164. package/dist/components/action/toggle/toggle.styles.js +13 -10
  165. package/dist/components/alert/alert/alert.d.ts +4 -3
  166. package/dist/components/alert/alert/alert.js +4 -3
  167. package/dist/components/alert/alert/alert.styles.js +57 -36
  168. package/dist/components/alert/drawer/drawer.js +1 -1
  169. package/dist/components/alert/drawer/drawer.styles.js +3 -3
  170. package/dist/components/alert/modal/modal.d.ts +8 -8
  171. package/dist/components/alert/modal/modal.js +11 -11
  172. package/dist/components/alert/modal/modal.styles.js +6 -6
  173. package/dist/components/alert/toast/toast.d.ts +4 -3
  174. package/dist/components/alert/toast/toast.js +4 -3
  175. package/dist/components/alert/toast/toast.styles.js +41 -36
  176. package/dist/components/content/badge/badge.d.ts +6 -6
  177. package/dist/components/content/badge/badge.js +4 -4
  178. package/dist/components/content/badge/badge.styles.js +5 -5
  179. package/dist/components/content/card/card.d.ts +36 -8
  180. package/dist/components/content/card/card.js +68 -8
  181. package/dist/components/content/card/card.styles.js +52 -11
  182. package/dist/components/content/card/image-card.d.ts +3 -2
  183. package/dist/components/content/card/image-card.js +2 -1
  184. package/dist/components/content/card/image-card.styles.js +17 -10
  185. package/dist/components/content/card/sliding-card.d.ts +2 -1
  186. package/dist/components/content/card/sliding-card.js +1 -0
  187. package/dist/components/content/card/sliding-card.styles.js +3 -2
  188. package/dist/components/content/chip/chip.d.ts +16 -7
  189. package/dist/components/content/chip/chip.js +18 -6
  190. package/dist/components/content/chip/chip.styles.d.ts +1 -1
  191. package/dist/components/content/chip/chip.styles.js +43 -207
  192. package/dist/components/content/collapse/collapse.d.ts +29 -11
  193. package/dist/components/content/collapse/collapse.js +53 -23
  194. package/dist/components/content/collapse/collapse.styles.js +23 -9
  195. package/dist/components/content/icon/icon.d.ts +12 -2
  196. package/dist/components/content/icon/icon.js +52 -22
  197. package/dist/components/content/icon/icon.style.d.ts +2 -0
  198. package/dist/components/content/icon/icon.style.js +5 -2
  199. package/dist/components/content/image-carousel/image-carousel.styles.js +14 -14
  200. package/dist/components/content/password-strength/password-strength.styles.js +7 -4
  201. package/dist/components/content/progress-bar/progress-bar.styles.js +9 -9
  202. package/dist/components/content/shared-styles/card-link.styles.js +1 -0
  203. package/dist/components/content/shared-styles/tone-surface.styles.d.ts +31 -0
  204. package/dist/components/content/shared-styles/tone-surface.styles.js +149 -0
  205. package/dist/components/content/tag/tag.d.ts +16 -6
  206. package/dist/components/content/tag/tag.js +19 -6
  207. package/dist/components/content/tag/tag.styles.d.ts +1 -1
  208. package/dist/components/content/tag/tag.styles.js +40 -125
  209. package/dist/components/content/tooltip/tooltip.d.ts +15 -4
  210. package/dist/components/content/tooltip/tooltip.js +21 -4
  211. package/dist/components/content/tooltip/tooltip.styles.js +115 -79
  212. package/dist/components/form/checkbox/check-card.styles.js +2 -2
  213. package/dist/components/form/checkbox/checkbox-list.d.ts +1 -1
  214. package/dist/components/form/checkbox/checkbox.d.ts +1 -1
  215. package/dist/components/form/checkbox/checkbox.styles.js +6 -6
  216. package/dist/components/form/color-picker/color-picker.d.ts +3 -3
  217. package/dist/components/form/color-picker/color-picker.js +4 -4
  218. package/dist/components/form/color-picker/color-picker.styles.js +7 -7
  219. package/dist/components/form/counter/counter.d.ts +3 -3
  220. package/dist/components/form/counter/counter.js +3 -3
  221. package/dist/components/form/counter/counter.styles.js +12 -12
  222. package/dist/components/form/date-picker/date-picker-day-grid.styles.js +2 -2
  223. package/dist/components/form/date-picker/date-picker-grid.styles.js +15 -15
  224. package/dist/components/form/date-picker/date-picker-month-grid.styles.js +1 -1
  225. package/dist/components/form/date-picker/date-picker-year-grid.styles.js +1 -1
  226. package/dist/components/form/date-picker/date-picker.d.ts +3 -3
  227. package/dist/components/form/date-picker/date-picker.js +3 -3
  228. package/dist/components/form/date-picker/date-picker.styles.js +17 -17
  229. package/dist/components/form/input/input.d.ts +3 -3
  230. package/dist/components/form/input/input.js +4 -4
  231. package/dist/components/form/input-file/input-file.d.ts +1 -1
  232. package/dist/components/form/input-file/input-file.styles.js +9 -9
  233. package/dist/components/form/input-phone/input-phone.d.ts +3 -3
  234. package/dist/components/form/input-phone/input-phone.js +3 -3
  235. package/dist/components/form/input-phone/input-phone.styles.js +19 -19
  236. package/dist/components/form/label/label.styles.js +4 -4
  237. package/dist/components/form/radio/radio-card.styles.js +1 -1
  238. package/dist/components/form/radio/radio-list.d.ts +1 -1
  239. package/dist/components/form/radio/radio.d.ts +1 -1
  240. package/dist/components/form/radio/radio.styles.js +2 -2
  241. package/dist/components/form/search/search.styles.js +9 -9
  242. package/dist/components/form/select/select.d.ts +3 -3
  243. package/dist/components/form/select/select.js +3 -3
  244. package/dist/components/form/select/select.styles.js +6 -6
  245. package/dist/components/form/shared-styles/card.styles.js +1 -1
  246. package/dist/components/form/shared-styles/field.styles.js +12 -12
  247. package/dist/components/form/shared-styles/form-labels.styles.js +1 -1
  248. package/dist/components/form/shared-styles/listbox.styles.js +6 -6
  249. package/dist/components/form/slider/slider.d.ts +1 -1
  250. package/dist/components/form/slider/slider.styles.js +6 -6
  251. package/dist/components/form/switch/switch.d.ts +1 -1
  252. package/dist/components/form/switch/switch.styles.js +8 -8
  253. package/dist/components/form/textarea/textarea.d.ts +3 -3
  254. package/dist/components/form/textarea/textarea.js +4 -4
  255. package/dist/components/form/textarea/textarea.styles.js +6 -6
  256. package/dist/components/form/time-picker/time-picker-columns.styles.js +6 -6
  257. package/dist/components/form/time-picker/time-picker-list.styles.js +2 -2
  258. package/dist/components/form/time-picker/time-picker.d.ts +3 -3
  259. package/dist/components/form/time-picker/time-picker.js +3 -3
  260. package/dist/components/form/time-picker/time-picker.styles.js +13 -13
  261. package/dist/components/layout/animate/animate.d.ts +8 -0
  262. package/dist/components/layout/animate/animate.js +20 -8
  263. package/dist/components/loader/loader/loader.styles.js +2 -2
  264. package/dist/components/loader/skeleton/skeleton.styles.js +8 -5
  265. package/dist/components/navigation/breadcrumb/breadcrumb-item.d.ts +7 -0
  266. package/dist/components/navigation/breadcrumb/breadcrumb-item.js +15 -1
  267. package/dist/components/navigation/breadcrumb/breadcrumb-item.styles.js +3 -3
  268. package/dist/components/navigation/breadcrumb/breadcrumb.d.ts +1 -0
  269. package/dist/components/navigation/breadcrumb/breadcrumb.js +7 -1
  270. package/dist/components/navigation/breadcrumb/breadcrumb.styles.js +3 -3
  271. package/dist/components/navigation/carousel/carousel.d.ts +40 -6
  272. package/dist/components/navigation/carousel/carousel.js +61 -12
  273. package/dist/components/navigation/carousel/carousel.styles.js +19 -7
  274. package/dist/components/navigation/pagination/pagination.styles.js +3 -3
  275. package/dist/components/navigation/sidebar/sidebar.styles.js +9 -9
  276. package/dist/components/navigation/stepper/step.styles.js +8 -8
  277. package/dist/components/navigation/stepper/stepper.styles.js +8 -8
  278. package/dist/components/navigation/tabs/tab/tab.styles.js +5 -5
  279. package/dist/components/navigation/tabs/tab-group/tab-group.d.ts +9 -0
  280. package/dist/components/navigation/tabs/tab-group/tab-group.js +19 -2
  281. package/dist/components/navigation/tabs/tab-group/tab-group.styles.js +12 -4
  282. package/dist/components/navigation/tabs/tab-panel/tab-panel.styles.js +1 -1
  283. package/dist/components/navigation/toolbar/toolbar.d.ts +2 -0
  284. package/dist/components/navigation/toolbar/toolbar.js +2 -0
  285. package/dist/components/navigation/toolbar/toolbar.styles.js +16 -7
  286. package/dist/features/scheduler/calendar/calendar.d.ts +6 -6
  287. package/dist/features/scheduler/calendar/calendar.js +10 -10
  288. package/dist/features/scheduler/calendar/calendar.styles.js +3 -3
  289. package/dist/features/scheduler/scheduler/scheduler.d.ts +6 -6
  290. package/dist/features/scheduler/scheduler/scheduler.js +13 -13
  291. package/dist/features/scheduler/scheduler/scheduler.styles.js +2 -2
  292. package/dist/features/scheduler/scheduler-event/scheduler-event.d.ts +10 -8
  293. package/dist/features/scheduler/scheduler-event/scheduler-event.js +7 -7
  294. package/dist/features/scheduler/scheduler-event/scheduler-event.styles.js +8 -8
  295. package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.js +5 -5
  296. package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.styles.js +2 -2
  297. package/dist/features/scheduler/shared/scheduler-event-popover.js +2 -2
  298. package/dist/features/scheduler/shared/scheduler-event-popover.styles.js +4 -4
  299. package/dist/features/scheduler/shared/scheduler-hour-grid.d.ts +2 -2
  300. package/dist/features/scheduler/shared/scheduler-hour-grid.js +3 -3
  301. package/dist/features/scheduler/shared/scheduler-hour-grid.styles.js +1 -1
  302. package/dist/features/scheduler/shared/scheduler-month-view.d.ts +3 -3
  303. package/dist/features/scheduler/shared/scheduler-month-view.js +2 -2
  304. package/dist/features/scheduler/shared/scheduler-month-view.styles.js +1 -1
  305. package/dist/features/scheduler/shared/scheduler-year-view.styles.js +1 -1
  306. package/dist/features/table/native-table.css +11 -11
  307. package/dist/features/table/table/table.styles.js +2 -2
  308. package/dist/features/table/table/table.types.d.ts +7 -3
  309. package/dist/features/table/table-action-bar/table-action-bar.js +3 -3
  310. package/dist/features/table/table-action-bar/table-action-bar.styles.js +2 -2
  311. package/dist/features/table/table-cell/table-cell.styles.js +2 -2
  312. package/dist/features/table/table-column/table-column.styles.js +3 -3
  313. package/dist/features/table/table-header/table-header.styles.js +4 -4
  314. package/dist/features/table/table-item/table-item.styles.js +6 -6
  315. package/dist/features/table/table-managed/table-managed.js +2 -2
  316. package/dist/features/table/table-skeleton-row/table-skeleton-row.styles.js +1 -1
  317. package/dist/i18n/en.d.ts +3 -0
  318. package/dist/i18n/en.js +3 -0
  319. package/dist/i18n/fr.js +3 -0
  320. package/dist/index.d.ts +7 -7
  321. package/dist/index.js +5 -2
  322. package/dist/jsx.d.ts +19 -6
  323. package/dist/mixins/button.mixin.d.ts +11 -9
  324. package/dist/mixins/button.mixin.js +23 -5
  325. package/dist/mixins/card-link.mixin.d.ts +3 -2
  326. package/dist/mixins/card-link.mixin.js +12 -5
  327. package/dist/mixins/check.mixin.d.ts +1 -1
  328. package/dist/mixins/disabled.mixin.d.ts +3 -3
  329. package/dist/mixins/disabled.mixin.js +10 -5
  330. package/dist/mixins/editable.mixin.d.ts +1 -1
  331. package/dist/mixins/field-appearance.mixin.d.ts +19 -0
  332. package/dist/mixins/{field-variant.mixin.js → field-appearance.mixin.js} +11 -11
  333. package/dist/mixins/form.mixin.d.ts +5 -1
  334. package/dist/mixins/form.mixin.js +32 -12
  335. package/dist/mixins/overflow-navigation.mixin.js +2 -1
  336. package/dist/mixins/radio.mixin.d.ts +1 -1
  337. package/dist/mixins/validators.mixin.d.ts +9 -3
  338. package/dist/ssr/animate-ssr.css +26 -72
  339. package/dist/ssr/links-ssr.css +35 -0
  340. package/dist/ssr/overlay-ssr.css +0 -41
  341. package/dist/ssr/rich-text.css +38 -0
  342. package/dist/ssr/sidebar-ssr.css +0 -38
  343. package/dist/ssr/toolbar-ssr.css +73 -39
  344. package/dist/types/variant.type.d.ts +26 -10
  345. package/dist/utils/navigation.utils.d.ts +14 -0
  346. package/dist/utils/navigation.utils.js +33 -0
  347. package/dist/utils/new-tab-anchor.controller.d.ts +44 -0
  348. package/dist/utils/new-tab-anchor.controller.js +102 -0
  349. package/dist/utils/rich-text.utils.d.ts +33 -0
  350. package/dist/utils/rich-text.utils.js +140 -49
  351. package/dist/utils/severity-icon.utils.d.ts +1 -1
  352. package/dist/utils/severity-icon.utils.js +1 -1
  353. package/dist/utils/theme-generator.utils.d.ts +26 -3
  354. package/dist/utils/theme-generator.utils.js +68 -21
  355. package/package.json +13 -2
  356. package/styles/themes/eunomia-theme.scss +1 -0
  357. package/styles/themes/mixins/eunomia-neutrals.mixin.scss +71 -0
  358. package/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +3 -13
  359. package/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +3 -13
  360. package/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +2 -0
  361. package/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +3 -13
  362. package/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +3 -13
  363. package/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +2 -0
  364. package/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +3 -13
  365. package/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +3 -13
  366. package/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +2 -0
  367. package/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +3 -13
  368. package/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +3 -13
  369. package/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +2 -0
  370. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +3 -13
  371. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +3 -13
  372. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +2 -0
  373. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +3 -13
  374. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +3 -13
  375. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +2 -0
  376. package/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +3 -13
  377. package/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +3 -13
  378. package/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +2 -0
  379. package/styles/tools/indexes/eunomia-tools.index.scss +1 -0
  380. package/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +39 -0
  381. package/styles/tools/mixins/settings/eunomia-border.mixin.scss +3 -3
  382. package/styles/tools/mixins/settings/eunomia-font.mixin.scss +12 -12
  383. package/styles/tools/mixins/settings/eunomia-radius.mixin.scss +4 -4
  384. package/dist/cdn/components/chunks/chunk-3LMI7KUA.js +0 -48
  385. package/dist/cdn/components/chunks/chunk-5TH3P53V.js +0 -16
  386. package/dist/cdn/components/chunks/chunk-ATH2OAMU.js +0 -1
  387. package/dist/cdn/components/chunks/chunk-BKHD4S57.js +0 -1
  388. package/dist/cdn/components/chunks/chunk-KNM5QHDK.js +0 -38
  389. package/dist/cdn/components/chunks/chunk-MBF52GEL.js +0 -1
  390. package/dist/cdn/components/chunks/chunk-T7WABJEJ.js +0 -1
  391. package/dist/cdn/components/chunks/chunk-XSMCT4DF.js +0 -1
  392. package/dist/cdn/components/chunks/chunk-Z6PJYSC3.js +0 -622
  393. package/dist/cdn/components/chunks/chunk-ZKPCO5RB.js +0 -262
  394. package/dist/mixins/field-variant.mixin.d.ts +0 -22
@@ -78,35 +78,35 @@
78
78
  border-collapse: separate;
79
79
  border-spacing: 0;
80
80
  box-sizing: border-box;
81
- border: var(--eun-borderWidth-s, 1px) solid
81
+ border: var(--eun-border-width-s, 1px) solid
82
82
  var(--table-border-color, var(--eun-border-color, #dee0e7));
83
- border-radius: var(--eun-borderRadius-m, 10px);
83
+ border-radius: var(--eun-border-radius-m, 10px);
84
84
  background: var(--table-background, var(--eun-surface-color, #ffffff));
85
85
  font-family: var(--eun-font-family, "'Mulish', sans-serif");
86
- font-size: var(--eun-fontSize-s, 13px);
86
+ font-size: var(--eun-font-size-s, 13px);
87
87
  color: var(--eun-text-color, #071621);
88
88
  }
89
89
 
90
90
  .eun-table-scroll {
91
91
  overflow: auto;
92
92
  max-height: var(--table-max-height, none);
93
- border-radius: var(--eun-borderRadius-m, 10px);
93
+ border-radius: var(--eun-border-radius-m, 10px);
94
94
  }
95
95
 
96
96
  .eun-table caption {
97
97
  caption-side: top;
98
98
  text-align: left;
99
99
  padding: var(--eun-space-s, 8px) var(--eun-space-m, 16px);
100
- font-weight: var(--eun-fontWeight-m, 500);
100
+ font-weight: var(--eun-font-weight-m, 500);
101
101
  }
102
102
 
103
103
  .eun-table th,
104
104
  .eun-table td {
105
105
  padding: var(--eun-space-s, 8px) var(--eun-space-m, 16px);
106
106
  text-align: left;
107
- border-bottom: var(--eun-borderWidth-s, 1px) solid
107
+ border-bottom: var(--eun-border-width-s, 1px) solid
108
108
  var(--table-border-color, var(--eun-border-color, #dee0e7));
109
- border-right: var(--eun-borderWidth-s, 1px) solid
109
+ border-right: var(--eun-border-width-s, 1px) solid
110
110
  var(--table-column-border-color, transparent);
111
111
  }
112
112
 
@@ -116,7 +116,7 @@
116
116
 
117
117
  .eun-table thead th {
118
118
  background: var(--table-header-background, var(--eun-surface-color, #ffffff));
119
- font-weight: var(--eun-fontWeight-m, 500);
119
+ font-weight: var(--eun-font-weight-m, 500);
120
120
  color: var(--eun-text-secondary, #484e61);
121
121
  }
122
122
 
@@ -206,7 +206,7 @@
206
206
  --table-sticky-column-background,
207
207
  var(--table-header-background, var(--eun-surface-color, #ffffff))
208
208
  );
209
- border-left: var(--eun-borderWidth-s, 1px) solid
209
+ border-left: var(--eun-border-width-s, 1px) solid
210
210
  var(
211
211
  --table-sticky-border-color,
212
212
  var(--table-column-border-color, transparent)
@@ -221,7 +221,7 @@
221
221
  --table-sticky-column-background,
222
222
  var(--table-background, var(--eun-surface-color, #ffffff))
223
223
  );
224
- border-left: var(--eun-borderWidth-s, 1px) solid
224
+ border-left: var(--eun-border-width-s, 1px) solid
225
225
  var(
226
226
  --table-sticky-border-color,
227
227
  var(--table-column-border-color, transparent)
@@ -256,7 +256,7 @@
256
256
  --table-sticky-row-background,
257
257
  var(--table-background, var(--eun-surface-color, #ffffff))
258
258
  );
259
- border-top: var(--eun-borderWidth-s, 1px) solid
259
+ border-top: var(--eun-border-width-s, 1px) solid
260
260
  var(
261
261
  --table-sticky-border-color,
262
262
  var(--table-border-color, var(--eun-border-color, #dee0e7))
@@ -19,9 +19,9 @@ const base = css `
19
19
  grid-template-columns: var(--_columns, none);
20
20
  align-items: stretch;
21
21
  box-sizing: border-box;
22
- border: var(--eun-borderWidth-s, 1px) solid
22
+ border: var(--eun-border-width-s, 1px) solid
23
23
  var(--table-border-color, var(--eun-border-color, #dee0e7));
24
- border-radius: var(--eun-borderRadius-m, 10px);
24
+ border-radius: var(--eun-border-radius-m, 10px);
25
25
  background: var(--table-background, var(--eun-surface-color, #ffffff));
26
26
  overflow: auto;
27
27
  max-height: var(--table-max-height, none);
@@ -2,7 +2,7 @@ import { TemplateResult } from "lit";
2
2
  import { EunomiaIconName } from "../../../components/content/icon/icon.type.js";
3
3
  import { EunomiaDropdownOption } from "../../../components/action/dropdown-button/dropdown-button.js";
4
4
  import { EunomiaTableColumnSort } from "../table-column/table-column.js";
5
- import { EunomiaActionVariant } from "../../../types/variant.type.js";
5
+ import { EunomiaActionColor } from "../../../types/variant.type.js";
6
6
  /**
7
7
  * A single action rendered in `eun-table-action-bar`'s center region — a
8
8
  * plain button, or a dropdown when `dropdown` is set.
@@ -11,7 +11,7 @@ export interface EunomiaTableAction {
11
11
  key: string;
12
12
  label: string;
13
13
  icon?: EunomiaIconName;
14
- variant?: EunomiaActionVariant;
14
+ color?: EunomiaActionColor;
15
15
  dropdown?: EunomiaDropdownOption[];
16
16
  disabled?: boolean;
17
17
  }
@@ -56,7 +56,11 @@ export interface EunomiaTableRowButtonActionDef<T extends object = Record<string
56
56
  type?: "button";
57
57
  label: string;
58
58
  icon?: EunomiaIconName;
59
- variant?: "default" | "danger";
59
+ /**
60
+ * The button's color. Once set, the button gets a pale tinted surface in
61
+ * that color ; left unset, it stays a neutral ghost button.
62
+ */
63
+ color?: EunomiaActionColor;
60
64
  disabled?: (row: T) => boolean;
61
65
  onClick: (row: T, index: number) => void;
62
66
  }
@@ -104,13 +104,13 @@ let EunomiaTableActionBar = class EunomiaTableActionBar extends LitElement {
104
104
  this.dispatchEvent(new TableActionEvent(action.key, event.key));
105
105
  }
106
106
  renderAction(action) {
107
- const isCritical = action.variant === "critical";
107
+ const isCritical = action.color === "critical";
108
108
  if (action.dropdown) {
109
109
  return html `
110
110
  <eun-dropdown-button
111
111
  label=${action.label}
112
112
  icon=${ifDefined(action.icon)}
113
- variant=${ifDefined(isCritical ? "critical" : undefined)}
113
+ color=${ifDefined(isCritical ? "critical" : undefined)}
114
114
  appearance=${isCritical ? "default" : "flat"}
115
115
  .options=${action.dropdown}
116
116
  ?disabled=${action.disabled}
@@ -129,7 +129,7 @@ let EunomiaTableActionBar = class EunomiaTableActionBar extends LitElement {
129
129
  }
130
130
  return html `
131
131
  <eun-button
132
- variant=${ifDefined(isCritical ? "critical" : undefined)}
132
+ color=${ifDefined(isCritical ? "critical" : undefined)}
133
133
  label=${action.label}
134
134
  appearance=${isCritical ? "default" : "flat"}
135
135
  ?disabled=${action.disabled}
@@ -52,11 +52,11 @@ const base = css `
52
52
  width: max-content;
53
53
  max-width: 100%;
54
54
  box-sizing: border-box;
55
- border: var(--eun-borderWidth-s, 1px) solid
55
+ border: var(--eun-border-width-s, 1px) solid
56
56
  var(--table-action-bar-border-color, var(--eun-border-color, #dee0e7));
57
57
  border-radius: var(
58
58
  --table-action-bar-border-radius,
59
- var(--eun-borderRadius-l, 10px)
59
+ var(--eun-border-radius-l, 10px)
60
60
  );
61
61
  background: var(
62
62
  --table-action-bar-background,
@@ -21,7 +21,7 @@ const base = css `
21
21
  display: flex;
22
22
  box-sizing: border-box;
23
23
  min-width: 0;
24
- border-inline-end: var(--eun-borderWidth-s, 1px) solid
24
+ border-inline-end: var(--eun-border-width-s, 1px) solid
25
25
  var(--table-column-border-color, transparent);
26
26
  }
27
27
 
@@ -38,7 +38,7 @@ const base = css `
38
38
  width: 100%;
39
39
  min-width: 0;
40
40
  padding: var(--eun-space-s, 8px) var(--eun-space-m, 16px);
41
- font-size: var(--eun-fontSize-s, 13px);
41
+ font-size: var(--eun-font-size-s, 13px);
42
42
  color: var(--table-cell-color, var(--eun-text-color, #071621));
43
43
  overflow: hidden;
44
44
  }
@@ -23,7 +23,7 @@ const base = css `
23
23
  display: flex;
24
24
  box-sizing: border-box;
25
25
  min-width: 0;
26
- border-inline-end: var(--eun-borderWidth-s, 1px) solid
26
+ border-inline-end: var(--eun-border-width-s, 1px) solid
27
27
  var(--table-column-border-color, transparent);
28
28
  }
29
29
 
@@ -39,8 +39,8 @@ const base = css `
39
39
  width: 100%;
40
40
  min-width: 0;
41
41
  padding: var(--eun-space-s, 8px) var(--eun-space-m, 16px);
42
- font-size: var(--eun-fontSize-s, 13px);
43
- font-weight: var(--table-column-font-weight, var(--eun-fontWeight-m, 500));
42
+ font-size: var(--eun-font-size-s, 13px);
43
+ font-weight: var(--table-column-font-weight, var(--eun-font-weight-m, 500));
44
44
  color: var(--table-column-color, var(--eun-text-secondary, #484e61));
45
45
  text-align: left;
46
46
  white-space: nowrap;
@@ -24,9 +24,9 @@ const base = css `
24
24
  var(--eun-surface-color, #ffffff)
25
25
  );
26
26
  box-shadow: inset 0 0 0 9999px transparent;
27
- border-bottom: var(--eun-borderWidth-s, 1px) solid
27
+ border-bottom: var(--eun-border-width-s, 1px) solid
28
28
  var(--table-border-color, var(--eun-border-color, #dee0e7));
29
- font-weight: var(--eun-fontWeight-m, 500);
29
+ font-weight: var(--eun-font-weight-m, 500);
30
30
  transition: box-shadow var(--table-row-transition-duration, 200ms) ease;
31
31
  }
32
32
 
@@ -92,7 +92,7 @@ const base = css `
92
92
  var(--table-header-background, var(--eun-surface-color, #ffffff))
93
93
  );
94
94
  box-shadow: inset 0 0 0 9999px transparent;
95
- border-inline-end: var(--eun-borderWidth-s, 1px) solid
95
+ border-inline-end: var(--eun-border-width-s, 1px) solid
96
96
  var(
97
97
  --table-sticky-border-color,
98
98
  var(--table-column-border-color, transparent)
@@ -137,7 +137,7 @@ const base = css `
137
137
  );
138
138
  box-shadow: inset 0 0 0 9999px transparent;
139
139
  transition: box-shadow var(--table-row-transition-duration, 200ms) ease;
140
- border-inline-start: var(--eun-borderWidth-s, 1px) solid
140
+ border-inline-start: var(--eun-border-width-s, 1px) solid
141
141
  var(
142
142
  --table-sticky-border-color,
143
143
  var(--table-column-border-color, transparent)
@@ -99,7 +99,7 @@ const base = css `
99
99
  var(--eun-surface-color, #ffffff)
100
100
  );
101
101
  box-shadow: inset 0 0 0 9999px transparent;
102
- border-bottom: var(--eun-borderWidth-s, 1px) solid
102
+ border-bottom: var(--eun-border-width-s, 1px) solid
103
103
  var(--table-border-color, var(--eun-border-color, #dee0e7));
104
104
  transition:
105
105
  background-color var(--_table-row-transition-duration) ease,
@@ -128,7 +128,7 @@ const base = css `
128
128
  position: sticky;
129
129
  bottom: 0;
130
130
  z-index: var(--_table-z-sticky-row, 3);
131
- border-top: var(--eun-borderWidth-s, 1px) solid
131
+ border-top: var(--eun-border-width-s, 1px) solid
132
132
  var(
133
133
  --table-sticky-border-color,
134
134
  var(--table-border-color, var(--eun-border-color, #dee0e7))
@@ -162,7 +162,7 @@ const base = css `
162
162
  );
163
163
  box-shadow: inset 0 0 0 9999px transparent;
164
164
  padding-inline-start: var(--eun-space-s);
165
- border-inline-end: var(--eun-borderWidth-s, 1px) solid
165
+ border-inline-end: var(--eun-border-width-s, 1px) solid
166
166
  var(
167
167
  --table-sticky-border-color,
168
168
  var(--table-column-border-color, transparent)
@@ -228,7 +228,7 @@ const base = css `
228
228
  position: sticky;
229
229
  left: var(--_table-select-offset, 0px);
230
230
  z-index: var(--_table-z-sticky-col, 2);
231
- border-inline-end: var(--eun-borderWidth-s, 1px) solid
231
+ border-inline-end: var(--eun-border-width-s, 1px) solid
232
232
  var(
233
233
  --table-sticky-border-color,
234
234
  var(--table-column-border-color, transparent)
@@ -301,7 +301,7 @@ const base = css `
301
301
  position: sticky;
302
302
  right: 0;
303
303
  z-index: var(--_table-z-sticky-col, 2);
304
- border-inline-start: var(--eun-borderWidth-s, 1px) solid
304
+ border-inline-start: var(--eun-border-width-s, 1px) solid
305
305
  var(
306
306
  --table-sticky-border-color,
307
307
  var(--table-column-border-color, transparent)
@@ -312,7 +312,7 @@ const base = css `
312
312
  position: sticky;
313
313
  right: var(--_table-action-offset, 0px);
314
314
  z-index: var(--_table-z-sticky-col, 2);
315
- border-inline-start: var(--eun-borderWidth-s, 1px) solid
315
+ border-inline-start: var(--eun-border-width-s, 1px) solid
316
316
  var(
317
317
  --table-sticky-border-color,
318
318
  var(--table-column-border-color, transparent)
@@ -105,8 +105,8 @@ function buildRowActionElement(action, row, index) {
105
105
  const el = document.createElement(EunomiaButtonTagName);
106
106
  el.setAttribute("slot", "action");
107
107
  el.size = "xs";
108
- if (action.variant === "danger") {
109
- el.variant = "critical";
108
+ if (action.color) {
109
+ el.color = action.color;
110
110
  el.appearance = "default";
111
111
  }
112
112
  else {
@@ -17,7 +17,7 @@ export const tableSkeletonRowStyles = css `
17
17
  grid-template-columns: subgrid;
18
18
  align-items: center;
19
19
  box-sizing: border-box;
20
- border-bottom: var(--eun-borderWidth-s, 1px) solid
20
+ border-bottom: var(--eun-border-width-s, 1px) solid
21
21
  var(--table-border-color, var(--eun-border-color, #dee0e7));
22
22
  opacity: 0;
23
23
  animation: eun-table-skeleton-row-enter
package/dist/i18n/en.d.ts CHANGED
@@ -75,6 +75,9 @@ export declare const en: {
75
75
  chip: {
76
76
  remove: string;
77
77
  };
78
+ link: {
79
+ opensInNewTab: string;
80
+ };
78
81
  };
79
82
  /**
80
83
  * The shape every locale dictionary (see {@link ../i18n/fr.ts}) must match.
package/dist/i18n/en.js CHANGED
@@ -57,4 +57,7 @@ export const en = {
57
57
  chip: {
58
58
  remove: "Remove",
59
59
  },
60
+ link: {
61
+ opensInNewTab: "opens in a new tab",
62
+ },
60
63
  };
package/dist/i18n/fr.js CHANGED
@@ -75,4 +75,7 @@ export const fr = {
75
75
  chip: {
76
76
  remove: "Retirer",
77
77
  },
78
+ link: {
79
+ opensInNewTab: "ouvre dans un nouvel onglet",
80
+ },
78
81
  };
package/dist/index.d.ts CHANGED
@@ -4,7 +4,7 @@ export { EunomiaInfiniteList, EunomiaInfiniteListTagName, } from "./components/l
4
4
  export { EunomiaDivider, EunomiaDividerTagName, } from "./components/layout/divider/divider.js";
5
5
  export type { EunomiaDividerOrientation } from "./components/layout/divider/divider.js";
6
6
  export { EunomiaButton, EunomiaButtonTagName, } from "./components/action/button/button.js";
7
- export type { EunomiaActionVariant, EunomiaSeverity, EunomiaAppearance, EunomiaTone, EunomiaSize, } from "./types/variant.type.js";
7
+ export type { EunomiaActionColor, EunomiaSeverity, EunomiaAppearance, EunomiaFieldAppearance, EunomiaTone, EunomiaSize, } from "./types/variant.type.js";
8
8
  export { EunomiaFab, EunomiaFabTagName } from "./components/action/fab/fab.js";
9
9
  export type { EunomiaFabPosition } from "./components/action/fab/fab.js";
10
10
  export { EunomiaDropdownButton, EunomiaDropdownButtonTagName, } from "./components/action/dropdown-button/dropdown-button.js";
@@ -21,7 +21,7 @@ export { EunomiaTag, EunomiaTagTagName } from "./components/content/tag/tag.js";
21
21
  export { EunomiaChip, EunomiaChipTagName, } from "./components/content/chip/chip.js";
22
22
  export type { EunomiaChipColor, EunomiaChipAppearance, EunomiaChipSeverity, EunomiaChipSize, EunomiaChipAvatarShape, } from "./components/content/chip/chip.js";
23
23
  export { EunomiaBadge, EunomiaBadgeTagName, } from "./components/content/badge/badge.js";
24
- export type { EunomiaBadgeSize, EunomiaBadgeVariant, } from "./components/content/badge/badge.js";
24
+ export type { EunomiaBadgeSize, EunomiaBadgeColor, } from "./components/content/badge/badge.js";
25
25
  export { EunomiaCollapse, EunomiaCollapseTagName, } from "./components/content/collapse/collapse.js";
26
26
  export { EunomiaCard, EunomiaCardTagName, } from "./components/content/card/card.js";
27
27
  export { EunomiaImageCard, EunomiaImageCardTagName, } from "./components/content/card/image-card.js";
@@ -90,7 +90,7 @@ export type { EunomiaSkeletonVariant } from "./components/loader/skeleton/skelet
90
90
  export { EunomiaScheduler, EunomiaSchedulerTagName, } from "./features/scheduler/scheduler/scheduler.js";
91
91
  export { EunomiaCalendar, EunomiaCalendarTagName, } from "./features/scheduler/calendar/calendar.js";
92
92
  export { EunomiaSchedulerEventCard, EunomiaSchedulerEventCardTagName, } from "./features/scheduler/scheduler-event/scheduler-event.js";
93
- export type { EunomiaSchedulerEventCardVariant } from "./features/scheduler/scheduler-event/scheduler-event.js";
93
+ export type { EunomiaSchedulerEventAppearance } from "./features/scheduler/scheduler-event/scheduler-event.js";
94
94
  export { EunomiaSchedulerEventEditor, EunomiaSchedulerEventEditorTagName, } from "./features/scheduler/scheduler-event-editor/scheduler-event-editor.js";
95
95
  export type { EunomiaSchedulerEvent, EunomiaSchedulerEventColor, EunomiaSchedulerEventPriority, EunomiaSchedulerGuest, EunomiaSchedulerGuestStatus, EunomiaSchedulerView, } from "./features/scheduler/shared/scheduler.types.js";
96
96
  export { EunomiaTable, EunomiaTableTagName, } from "./features/table/table/table.js";
@@ -108,11 +108,11 @@ export { EUNOMIA_BREAKPOINTS } from "./breakpoints.js";
108
108
  export type { EunomiaBreakpoint } from "./breakpoints.js";
109
109
  export { setDefaultLocale, getDefaultLocale } from "./i18n/index.js";
110
110
  export type { Dictionary } from "./i18n/index.js";
111
- export { buildPalette, buildTints, initializeTheme, } from "./utils/theme-generator.utils.js";
112
- export type { EunomiaHexColor, EunomiaThemeShadeValue, EunomiaThemeTints, } from "./utils/theme-generator.utils.js";
111
+ export { buildPalette, buildTints, buildThemeCss, initializeTheme, } from "./utils/theme-generator.utils.js";
112
+ export type { EunomiaHexColor, EunomiaThemeCssOptions, EunomiaThemeShadeValue, EunomiaThemeTints, } from "./utils/theme-generator.utils.js";
113
113
  export type { DragReorderOptions, DragReorderController, DragReorderOrientation, DragReorderStartDetail, DragReorderMoveDetail, DragReorderCommitDetail, DragReorderEndDetail, } from "./utils/drag-drop.utils.js";
114
- export { findRichTextColor, formatRichText, getPlainTextLength, joinAlign, RICH_TEXT_COLORS, splitAlign, } from "./utils/rich-text.utils.js";
115
- export type { RichTextColor, TextAlign } from "./utils/rich-text.utils.js";
114
+ export { findRichTextColor, formatRichText, getPlainTextLength, joinAlign, parseInlineNodes, RICH_TEXT_COLORS, splitAlign, toHtml, toPlainText, } from "./utils/rich-text.utils.js";
115
+ export type { InlineNode, RichTextColor, TextAlign, } from "./utils/rich-text.utils.js";
116
116
  export { LoadMoreEvent } from "./events/loadmore.event.js";
117
117
  export { PageChangeEvent } from "./events/pagechange.event.js";
118
118
  export { PageSizeChangeEvent } from "./events/pagesizechange.event.js";
package/dist/index.js CHANGED
@@ -25,6 +25,9 @@
25
25
  // alongside them, composing the others and writing the result onto
26
26
  // `document.documentElement`, exported so a consumer doesn't have to
27
27
  // reassemble that composition themselves just to apply a custom brand.
28
+ // `buildThemeCss` is its pure counterpart, returning the same tokens as a
29
+ // stylesheet so an SSR app can ship the brand in the HTML itself instead
30
+ // of flashing the base theme until `initializeTheme` runs after hydration.
28
31
  // `EUNOMIA_BREAKPOINTS` is exported so a consumer's own responsive layout
29
32
  // code can switch at the exact same pixel widths the components already
30
33
  // react to internally, instead of guessing or duplicating those numbers.
@@ -103,8 +106,8 @@ export { debounce, throttle } from "./utils/time.utils.js";
103
106
  export { createDragReorder } from "./utils/drag-drop.utils.js";
104
107
  export { EUNOMIA_BREAKPOINTS } from "./breakpoints.js";
105
108
  export { setDefaultLocale, getDefaultLocale } from "./i18n/index.js";
106
- export { buildPalette, buildTints, initializeTheme, } from "./utils/theme-generator.utils.js";
107
- export { findRichTextColor, formatRichText, getPlainTextLength, joinAlign, RICH_TEXT_COLORS, splitAlign, } from "./utils/rich-text.utils.js";
109
+ export { buildPalette, buildTints, buildThemeCss, initializeTheme, } from "./utils/theme-generator.utils.js";
110
+ export { findRichTextColor, formatRichText, getPlainTextLength, joinAlign, parseInlineNodes, RICH_TEXT_COLORS, splitAlign, toHtml, toPlainText, } from "./utils/rich-text.utils.js";
108
111
  export { LoadMoreEvent } from "./events/loadmore.event.js";
109
112
  export { PageChangeEvent } from "./events/pagechange.event.js";
110
113
  export { PageSizeChangeEvent } from "./events/pagesizechange.event.js";
package/dist/jsx.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /// <reference path="index.d.ts" />
2
2
  /**
3
- * JSX/TSX support for every `eun-*` tag: `<eun-button variant="primary">`
3
+ * JSX/TSX support for every `eun-*` tag: `<eun-button color="primary">`
4
4
  * type-checks in a `.tsx` file the same way a native `<button>` does, with
5
5
  * prop autocomplete and invalid-prop rejection, once this module has been
6
6
  * imported anywhere in the program.
@@ -20,14 +20,27 @@
20
20
  * erased, so importing it (`import type {} from "@eunomia/elements/jsx"`)
21
21
  * never calls `customElements.define(...)` and carries none of the SSR
22
22
  * risk a value import of a component does. `react`'s types describe
23
- * `DOMAttributes`/`Ref` here, but only as a type dependency: this package
24
- * still doesn't depend on React at runtime, so a non-React consumer never
25
- * resolves this module at all.
23
+ * `HTMLAttributes`/`Key`/`Ref` here, but only as a type dependency: this
24
+ * package still doesn't depend on React at runtime, so a non-React
25
+ * consumer never resolves this module at all.
26
26
  */
27
- import type { DOMAttributes, Ref } from "react";
27
+ import type { HTMLAttributes, Key, Ref } from "react";
28
28
  type EunomiaTagName = Extract<keyof HTMLElementTagNameMap, `eun-${string}`>;
29
- type EunomiaElementProps<T> = Partial<Omit<T, keyof HTMLElement>> & DOMAttributes<T> & {
29
+ type EunomiaOwnProps<T> = Partial<Omit<T, keyof HTMLElement | keyof HTMLOrSVGElement>>;
30
+ /**
31
+ * Props allowed on a `<eun-*>` tag in TSX: the element's own reactive
32
+ * properties, plus every standard HTML/ARIA attribute and event handler
33
+ * React already knows about (id, style, title, tabIndex, aria-*, onClick,
34
+ * ...). `className` is deliberately excluded: React only rewrites it to
35
+ * the `class` attribute for elements it recognizes, not arbitrary custom
36
+ * elements — `class` is the one that actually works here. Custom events
37
+ * (`eunnavigate`, `eunchange`, ...) aren't included — those are typed and
38
+ * wired per-component with a ref, when that component is migrated.
39
+ */
40
+ type EunomiaElementProps<T> = EunomiaOwnProps<T> & Omit<HTMLAttributes<T>, "className" | keyof EunomiaOwnProps<T>> & {
30
41
  ref?: Ref<T>;
42
+ key?: Key | null;
43
+ class?: string;
31
44
  };
32
45
  type EunomiaJSXElements = {
33
46
  [K in EunomiaTagName]: EunomiaElementProps<HTMLElementTagNameMap[K]>;
@@ -3,29 +3,30 @@ import { CommandMixinInterface } from "./command.mixin.js";
3
3
  import { DisabledMixinInterface } from "./disabled.mixin.js";
4
4
  import { PopoverMixinInterface } from "./popover.mixin.js";
5
5
  import { Constructor } from "../utils/constructor.type.js";
6
- import { EunomiaActionVariant, EunomiaAppearance, EunomiaSize, EunomiaTone } from "../types/variant.type.js";
6
+ import { EunomiaActionColor, EunomiaAppearance, EunomiaSize, EunomiaTone } from "../types/variant.type.js";
7
7
  /**
8
8
  * The button's native HTML mechanism when clicked inside a form — distinct
9
- * from every other component's `variant`/`appearance`, and left as `type`
9
+ * from every other component's `color`/`appearance`, and left as `type`
10
10
  * since it mirrors the real `<button type>` attribute.
11
11
  */
12
12
  export type ButtonType = "submit" | "reset" | "button";
13
13
  /**
14
- * All available variants for the button component: the semantic
15
- * {@link EunomiaActionVariant} set, plus the neutral, non-semantic grey tones
14
+ * All available colors for the button component: the semantic
15
+ * {@link EunomiaActionColor} set, plus the neutral, non-semantic grey tones
16
16
  * borrowed from {@link EunomiaTone} (`light`/`medium`/`dark`), the same
17
17
  * vocabulary `eun-tag`'s `color` uses. They cover a de-emphasized action,
18
18
  * such as a secondary link next to a colored CTA, without resorting to
19
19
  * manual `--button-*` cssprop overrides.
20
20
  */
21
- export type ButtonVariant = EunomiaActionVariant | Extract<EunomiaTone, "light" | "medium" | "dark">;
21
+ export type ButtonColor = EunomiaActionColor | Extract<EunomiaTone, "light" | "medium" | "dark">;
22
22
  /**
23
23
  * All available sizes for the button component.
24
24
  */
25
25
  export type ButtonSize = EunomiaSize;
26
26
  /**
27
- * All available button surface treatments — the full six-value
28
- * {@link EunomiaAppearance} set, since a button (unlike a passive display
27
+ * All available button surface treatments — every {@link EunomiaAppearance}
28
+ * value except the field-only `underline` and the scheduler-only
29
+ * `transparent`, since a button (unlike a passive display
29
30
  * component) has a hover/focus/active state for `ghost` to reveal itself
30
31
  * on, and can be visually elevated (`raised`) the way a static piece of
31
32
  * content never is. Not part of {@link ButtonMixinInterface} itself : only
@@ -33,14 +34,15 @@ export type ButtonSize = EunomiaSize;
33
34
  * (a floating action button has no `stroke`/`raised`/`flat`/`ghost` look of
34
35
  * its own).
35
36
  */
36
- export type EunomiaButtonAppearance = EunomiaAppearance;
37
+ export type EunomiaButtonAppearance = Extract<EunomiaAppearance, "default" | "fill" | "outline" | "flat" | "raised" | "ghost">;
37
38
  /**
38
39
  * Interface for the ButtonMixin.
39
40
  * Extend this in components if needed.
40
41
  */
41
42
  export declare class ButtonMixinInterface {
42
43
  type?: ButtonType;
43
- variant?: ButtonVariant;
44
+ color?: ButtonColor;
45
+ fixedColor?: boolean;
44
46
  size?: ButtonSize;
45
47
  rounded?: boolean;
46
48
  slide?: boolean;
@@ -22,10 +22,19 @@ export const ButtonMixin = (superClass) => {
22
22
  super(...arguments);
23
23
  /**
24
24
  * The button type: "submit", "reset", or "button".
25
- * Determines behavior when clicked inside a form.
25
+ * Determines behavior when clicked inside a form. Only reflected once it
26
+ * differs from the default, so an SSR framework doesn't see an
27
+ * attribute it never rendered.
26
28
  * @default "button"
27
29
  */
28
30
  this.type = "button";
31
+ /**
32
+ * Keeps a `light` or `dark` button white or black in every theme.
33
+ * Without it, they follow the grey scale, which flips with the active
34
+ * theme. Has no effect on the other colors.
35
+ * @default false
36
+ */
37
+ this.fixedColor = false;
29
38
  /**
30
39
  * The button size.
31
40
  * @default "m"
@@ -54,13 +63,14 @@ export const ButtonMixin = (superClass) => {
54
63
  * Lifecycle hook: adds keyboard and click listeners, and sets the
55
64
  * default role to "button" if not already defined.
56
65
  *
57
- * Skipped entirely when `href` is set: the internally-rendered `<a>`
66
+ * Skipped entirely when `href` is set, or when a native `<a>` is slotted
67
+ * as a direct child : that anchor (internal or the consumer's own)
58
68
  * already provides native role, focus and activation semantics, so the
59
69
  * host must stay out of the way rather than duplicate them.
60
70
  */
61
71
  connectedCallback() {
62
72
  super.connectedCallback?.();
63
- if (this.href) {
73
+ if (this.href || this.querySelector(":scope > a")) {
64
74
  return;
65
75
  }
66
76
  if (!this.hasAttribute("role")) {
@@ -147,11 +157,19 @@ export const ButtonMixin = (superClass) => {
147
157
  }
148
158
  }
149
159
  __decorate([
150
- property({ reflect: true })
160
+ property({
161
+ reflect: true,
162
+ converter: {
163
+ toAttribute: (value) => (value === "button" ? null : value),
164
+ },
165
+ })
151
166
  ], ButtonMixinClass.prototype, "type", void 0);
152
167
  __decorate([
153
168
  property({ reflect: true })
154
- ], ButtonMixinClass.prototype, "variant", void 0);
169
+ ], ButtonMixinClass.prototype, "color", void 0);
170
+ __decorate([
171
+ property({ type: Boolean, reflect: true, attribute: "fixed-color" })
172
+ ], ButtonMixinClass.prototype, "fixedColor", void 0);
155
173
  __decorate([
156
174
  property({ reflect: true })
157
175
  ], ButtonMixinClass.prototype, "size", void 0);
@@ -1,5 +1,6 @@
1
1
  import { LitElement, nothing, TemplateResult } from "lit";
2
2
  import { Constructor } from "../utils/constructor.type.js";
3
+ import { LocalizableMixinInterface } from "./localizable.mixin.js";
3
4
  /**
4
5
  * The native `target` values a card can be given, mirroring
5
6
  * `eun-button`/`eun-link`'s own `target` type.
@@ -15,7 +16,7 @@ export declare class CardLinkMixinInterface {
15
16
  get isExternal(): boolean;
16
17
  get linkAriaLabel(): string | undefined;
17
18
  renderNewTabHint(): TemplateResult | typeof nothing;
18
- renderExternalLinkBadge(): TemplateResult | typeof nothing;
19
+ renderExternalLinkBadge(slottedBlank?: boolean): TemplateResult | typeof nothing;
19
20
  renderCardLink(id: string, content: TemplateResult, className?: string): TemplateResult;
20
21
  }
21
22
  /**
@@ -37,4 +38,4 @@ export declare class CardLinkMixinInterface {
37
38
  * @param superClass - The base class to extend (must include LitElement).
38
39
  * @returns A class extended with the card link behavior.
39
40
  */
40
- export declare const CardLinkMixin: <T extends Constructor<LitElement>>(superClass: T) => Constructor<CardLinkMixinInterface> & T;
41
+ export declare const CardLinkMixin: <T extends Constructor<LitElement>>(superClass: T) => Constructor<CardLinkMixinInterface & LocalizableMixinInterface> & T;
@@ -8,6 +8,7 @@ import { html, nothing } from "lit";
8
8
  import { property } from "lit/decorators.js";
9
9
  import { ifDefined } from "lit/directives/if-defined.js";
10
10
  import { handleLinkNavigation } from "../utils/navigation.utils.js";
11
+ import { LocalizableMixin, } from "./localizable.mixin.js";
11
12
  /**
12
13
  * CardLinkMixin adds the "link state" shared by every card in this family
13
14
  * (`eun-card`, `eun-image-card`, `eun-sliding-card`) : `href`/`target`/
@@ -28,7 +29,7 @@ import { handleLinkNavigation } from "../utils/navigation.utils.js";
28
29
  * @returns A class extended with the card link behavior.
29
30
  */
30
31
  export const CardLinkMixin = (superClass) => {
31
- class CardLinkMixinClass extends superClass {
32
+ class CardLinkMixinClass extends LocalizableMixin(superClass) {
32
33
  /**
33
34
  * Whether the link, if any, opens in a new tab.
34
35
  */
@@ -44,7 +45,9 @@ export const CardLinkMixin = (superClass) => {
44
45
  */
45
46
  get linkAriaLabel() {
46
47
  const label = this.ariaLabel ?? undefined;
47
- return this.isExternal && label ? `${label} (opens in a new tab)` : label;
48
+ return this.isExternal && label
49
+ ? `${label} (${this.dictionary.link.opensInNewTab})`
50
+ : label;
48
51
  }
49
52
  /**
50
53
  * Gives an SPA router (Next.js, Angular, React Router, Vue Router, ...)
@@ -71,16 +74,20 @@ export const CardLinkMixin = (superClass) => {
71
74
  if (!(this.href && this.isExternal) || this.ariaLabel) {
72
75
  return nothing;
73
76
  }
74
- return html `<span class="sr-only"> (opens in a new tab)</span>`;
77
+ const hint = this.dictionary.link.opensInNewTab;
78
+ return html `<span class="sr-only"> (${hint})</span>`;
75
79
  }
76
80
  /**
77
81
  * The absolute, top-right external-link badge shown when `href` and
78
82
  * `target="_blank"` are both set — purely decorative (`aria-hidden`),
79
83
  * the accessible "(opens in a new tab)" wording lives on the `<a>`
80
84
  * itself (see {@link linkAriaLabel}/{@link renderNewTabHint}).
85
+ *
86
+ * @param slottedBlank whether a slotted anchor, rather than `href`,
87
+ * opens in a new tab (its wording goes on its own aria-description).
81
88
  */
82
- renderExternalLinkBadge() {
83
- if (!(this.href && this.isExternal)) {
89
+ renderExternalLinkBadge(slottedBlank = false) {
90
+ if (!(this.href && this.isExternal) && !slottedBlank) {
84
91
  return nothing;
85
92
  }
86
93
  return html `
@@ -21,4 +21,4 @@ export declare class CheckMixinInterface {
21
21
  * @template T A LitElement class extended with other mixins (Disabled, Readonly, Validators, Form).
22
22
  * @returns A class extending the provided superclass with checkable behavior.
23
23
  */
24
- export declare const CheckMixin: <T extends Constructor<LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface & FormMixinInterface<string>>>(superClass: T) => Constructor<CheckMixinInterface> & T;
24
+ export declare const CheckMixin: <T extends Constructor<LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface<unknown> & FormMixinInterface<string>>>(superClass: T) => Constructor<CheckMixinInterface> & T;