@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
@@ -1,7 +1,7 @@
1
1
  import { LitElement, TemplateResult } from "lit";
2
2
  import { DropdownMenuContainer } from "../../../utils/dropdown-menu.utils.js";
3
3
  import { EunomiaIconName } from "../../content/icon/icon.type.js";
4
- import { ButtonSize, ButtonVariant, EunomiaButtonAppearance } from "../../../mixins/button.mixin.js";
4
+ import { ButtonSize, ButtonColor, EunomiaButtonAppearance } from "../../../mixins/button.mixin.js";
5
5
  import { EunomiaSeverity } from "../../../types/variant.type.js";
6
6
  /**
7
7
  * Tag name of the dropdown-button component.
@@ -25,7 +25,7 @@ export interface EunomiaDropdownOption {
25
25
  export type EunomiaDropdownPlacement = "top-start" | "top" | "top-end" | "right" | "bottom-end" | "bottom" | "bottom-start" | "left";
26
26
  /**
27
27
  * A button that opens a menu of actions on click. Its trigger is a regular
28
- * button, so every button variant, size, and appearance works the same way.
28
+ * button, so every button color, size, and appearance works the same way.
29
29
  *
30
30
  * Choosing an option doesn't persist a value on the component itself, since
31
31
  * this is a menu of actions rather than a form field. Each choice fires an
@@ -47,14 +47,16 @@ export type EunomiaDropdownPlacement = "top-start" | "top" | "top-end" | "right"
47
47
  * @slot start - An icon or other content shown at the start of the trigger. Takes priority over the default icon from icon or severity
48
48
  * @prop {string} label - The trigger button's label
49
49
  * @prop {import('../../content/icon/icon.type.js').EunomiaIconName} icon - An optional leading icon for the trigger button. Ignored once something is slotted into start, and overridden by the default icon from severity when both are set
50
- * @prop {'info' | 'success' | 'warning' | 'critical' | 'neutral'} severity - The severity of the action this trigger leads to. When set, it supplies a default leading icon unless icon is also set or something is slotted into start. It has no effect on color, which is still controlled by variant
50
+ * @prop {'info' | 'success' | 'warning' | 'critical' | 'neutral'} severity - The severity of the action this trigger leads to. When set, it supplies a default leading icon unless icon is also set or something is slotted into start. It has no effect on color, which is still controlled by color
51
51
  * @prop {Array<EunomiaDropdownOption>} [options=[]] - The menu options
52
52
  * @attr {string} [options] - The menu options, written as a JSON string for use directly in markup instead of the JavaScript property
53
53
  * @prop {string[]} [disabledKeys=[]] - Keys of options to disable in addition to any option already marked disabled
54
54
  * @attr {string} [disabled-keys] - The disabled option keys, written as a JSON string for use directly in markup instead of the JavaScript property
55
55
  * @prop {boolean} [disabled=false] - Whether the trigger button is disabled
56
56
  * @prop {'xs' | 's' | 'm' | 'l' | 'xl'} [size='m'] - The size of the trigger button
57
- * @prop {'primary' | 'secondary' | 'critical' | 'success' | 'warning'} variant - The color theme applied to the trigger button
57
+ * @prop {'primary' | 'secondary' | 'critical' | 'success' | 'warning'} color - The color applied to the trigger button
58
+ * @prop {boolean} [fixedColor=false] - Keeps a light or dark trigger button white or black in every theme. Without it, they follow the grey scale, which flips with the active theme. Has no effect on the other colors
59
+ * @attr {boolean} [fixed-color=false] - Keeps a light or dark trigger button white or black in every theme. Without it, they follow the grey scale, which flips with the active theme. Has no effect on the other colors
58
60
  * @prop {boolean} [rounded=false] - Whether the trigger button has fully rounded corners
59
61
  * @prop {'default' | 'fill' | 'outline' | 'flat' | 'raised' | 'ghost'} [appearance='default'] - The trigger button's surface style, using the same values as the button component. Defaults to a paler tint rather than a solid fill, since a menu trigger reads better as a lighter weight control than a standalone primary action
60
62
  * @prop {EunomiaDropdownPlacement} [placement='bottom-start'] - Where the menu opens relative to the trigger
@@ -98,7 +100,7 @@ export declare class EunomiaDropdownButton extends LitElement implements Dropdow
98
100
  * trigger `eun-button`. By default, once `severity` is set and `icon`
99
101
  * isn't (and nothing is slotted into `start`), the leading icon is set
100
102
  * according to it — same vocabulary as `eun-alert`/`eun-tag`. Has no
101
- * effect on color, which stays driven by `variant` : the two genuinely
103
+ * effect on color, which stays driven by `color` : the two genuinely
102
104
  * differ here, since a full severity range (`info`/`neutral` included)
103
105
  * doesn't have a matching action color.
104
106
  */
@@ -132,7 +134,12 @@ export declare class EunomiaDropdownButton extends LitElement implements Dropdow
132
134
  /**
133
135
  * Forwarded to the trigger `eun-button`.
134
136
  */
135
- variant?: ButtonVariant;
137
+ color?: ButtonColor;
138
+ /**
139
+ * Forwarded to the trigger `eun-button`.
140
+ * @default false
141
+ */
142
+ fixedColor: boolean;
136
143
  /**
137
144
  * Forwarded to the trigger `eun-button`.
138
145
  * @default false
@@ -18,7 +18,7 @@ import { resolveIcon } from "../../../utils/severity-icon.utils.js";
18
18
  export const EunomiaDropdownButtonTagName = "eun-dropdown-button";
19
19
  /**
20
20
  * A button that opens a menu of actions on click. Its trigger is a regular
21
- * button, so every button variant, size, and appearance works the same way.
21
+ * button, so every button color, size, and appearance works the same way.
22
22
  *
23
23
  * Choosing an option doesn't persist a value on the component itself, since
24
24
  * this is a menu of actions rather than a form field. Each choice fires an
@@ -40,14 +40,16 @@ export const EunomiaDropdownButtonTagName = "eun-dropdown-button";
40
40
  * @slot start - An icon or other content shown at the start of the trigger. Takes priority over the default icon from icon or severity
41
41
  * @prop {string} label - The trigger button's label
42
42
  * @prop {import('../../content/icon/icon.type.js').EunomiaIconName} icon - An optional leading icon for the trigger button. Ignored once something is slotted into start, and overridden by the default icon from severity when both are set
43
- * @prop {'info' | 'success' | 'warning' | 'critical' | 'neutral'} severity - The severity of the action this trigger leads to. When set, it supplies a default leading icon unless icon is also set or something is slotted into start. It has no effect on color, which is still controlled by variant
43
+ * @prop {'info' | 'success' | 'warning' | 'critical' | 'neutral'} severity - The severity of the action this trigger leads to. When set, it supplies a default leading icon unless icon is also set or something is slotted into start. It has no effect on color, which is still controlled by color
44
44
  * @prop {Array<EunomiaDropdownOption>} [options=[]] - The menu options
45
45
  * @attr {string} [options] - The menu options, written as a JSON string for use directly in markup instead of the JavaScript property
46
46
  * @prop {string[]} [disabledKeys=[]] - Keys of options to disable in addition to any option already marked disabled
47
47
  * @attr {string} [disabled-keys] - The disabled option keys, written as a JSON string for use directly in markup instead of the JavaScript property
48
48
  * @prop {boolean} [disabled=false] - Whether the trigger button is disabled
49
49
  * @prop {'xs' | 's' | 'm' | 'l' | 'xl'} [size='m'] - The size of the trigger button
50
- * @prop {'primary' | 'secondary' | 'critical' | 'success' | 'warning'} variant - The color theme applied to the trigger button
50
+ * @prop {'primary' | 'secondary' | 'critical' | 'success' | 'warning'} color - The color applied to the trigger button
51
+ * @prop {boolean} [fixedColor=false] - Keeps a light or dark trigger button white or black in every theme. Without it, they follow the grey scale, which flips with the active theme. Has no effect on the other colors
52
+ * @attr {boolean} [fixed-color=false] - Keeps a light or dark trigger button white or black in every theme. Without it, they follow the grey scale, which flips with the active theme. Has no effect on the other colors
51
53
  * @prop {boolean} [rounded=false] - Whether the trigger button has fully rounded corners
52
54
  * @prop {'default' | 'fill' | 'outline' | 'flat' | 'raised' | 'ghost'} [appearance='default'] - The trigger button's surface style, using the same values as the button component. Defaults to a paler tint rather than a solid fill, since a menu trigger reads better as a lighter weight control than a standalone primary action
53
55
  * @prop {EunomiaDropdownPlacement} [placement='bottom-start'] - Where the menu opens relative to the trigger
@@ -96,6 +98,11 @@ let EunomiaDropdownButton = class EunomiaDropdownButton extends LitElement {
96
98
  * @default m
97
99
  */
98
100
  this.size = "m";
101
+ /**
102
+ * Forwarded to the trigger `eun-button`.
103
+ * @default false
104
+ */
105
+ this.fixedColor = false;
99
106
  /**
100
107
  * Forwarded to the trigger `eun-button`.
101
108
  * @default false
@@ -1064,7 +1071,8 @@ let EunomiaDropdownButton = class EunomiaDropdownButton extends LitElement {
1064
1071
  id="trigger"
1065
1072
  type="button"
1066
1073
  size=${this.size}
1067
- variant=${ifDefined(this.variant)}
1074
+ color=${ifDefined(this.color)}
1075
+ ?fixed-color=${this.fixedColor}
1068
1076
  appearance=${this.appearance}
1069
1077
  ?rounded=${this.rounded}
1070
1078
  ?disabled=${this.disabled}
@@ -1120,7 +1128,10 @@ __decorate([
1120
1128
  ], EunomiaDropdownButton.prototype, "size", void 0);
1121
1129
  __decorate([
1122
1130
  property({ reflect: true })
1123
- ], EunomiaDropdownButton.prototype, "variant", void 0);
1131
+ ], EunomiaDropdownButton.prototype, "color", void 0);
1132
+ __decorate([
1133
+ property({ type: Boolean, reflect: true, attribute: "fixed-color" })
1134
+ ], EunomiaDropdownButton.prototype, "fixedColor", void 0);
1124
1135
  __decorate([
1125
1136
  property({ type: Boolean, reflect: true })
1126
1137
  ], EunomiaDropdownButton.prototype, "rounded", void 0);
@@ -34,17 +34,17 @@ const base = css `
34
34
  max-height: 260px;
35
35
  overflow-y: auto;
36
36
  font-family: var(--eun-font-family, "Mulish", sans-serif);
37
- font-size: var(--eun-fontSize-s, 14px);
37
+ font-size: var(--eun-font-size-s, 14px);
38
38
  color: var(--dropdown-menu-color, var(--eun-text-color, #071621));
39
39
  background: var(
40
40
  --dropdown-menu-background,
41
41
  var(--eun-surface-color, #ffffff)
42
42
  );
43
- border: var(--eun-borderWidth-s, 1px) solid
43
+ border: var(--eun-border-width-s, 1px) solid
44
44
  var(--dropdown-menu-border-color, var(--eun-border-color, #dee0e7));
45
45
  border-radius: var(
46
46
  --dropdown-menu-border-radius,
47
- var(--eun-borderRadius-m, 8px)
47
+ var(--eun-border-radius-m, 8px)
48
48
  );
49
49
  box-shadow: var(
50
50
  --dropdown-menu-shadow,
@@ -118,7 +118,7 @@ const base = css `
118
118
  }
119
119
  #menu li.active,
120
120
  .submenu li.active {
121
- font-weight: var(--eun-fontWeight-l, 700);
121
+ font-weight: var(--eun-font-weight-l, 700);
122
122
  color: var(
123
123
  --dropdown-menu-accent-color,
124
124
  var(--eun-color-primary-500, #3d6fff)
@@ -152,7 +152,7 @@ const base = css `
152
152
  }
153
153
  #menu li .description,
154
154
  .submenu li .description {
155
- font-size: var(--eun-fontSize-xs, 12px);
155
+ font-size: var(--eun-font-size-xs, 12px);
156
156
  color: var(
157
157
  --dropdown-menu-description-color,
158
158
  var(--eun-text-secondary, #484e61)
@@ -171,17 +171,17 @@ const base = css `
171
171
  max-height: 260px;
172
172
  overflow-y: auto;
173
173
  font-family: var(--eun-font-family, "Mulish", sans-serif);
174
- font-size: var(--eun-fontSize-s, 14px);
174
+ font-size: var(--eun-font-size-s, 14px);
175
175
  color: var(--dropdown-menu-color, var(--eun-text-color, #071621));
176
176
  background: var(
177
177
  --dropdown-menu-background,
178
178
  var(--eun-surface-color, #ffffff)
179
179
  );
180
- border: var(--eun-borderWidth-s, 1px) solid
180
+ border: var(--eun-border-width-s, 1px) solid
181
181
  var(--dropdown-menu-border-color, var(--eun-border-color, #dee0e7));
182
182
  border-radius: var(
183
183
  --dropdown-menu-border-radius,
184
- var(--eun-borderRadius-m, 8px)
184
+ var(--eun-border-radius-m, 8px)
185
185
  );
186
186
  box-shadow: var(
187
187
  --dropdown-menu-shadow,
@@ -20,7 +20,7 @@ const base = css `
20
20
  display: block;
21
21
  white-space: nowrap;
22
22
  font-family: var(--eun-font-family, "Mulish", sans-serif);
23
- font-size: var(--eun-fontSize-s, 14px);
23
+ font-size: var(--eun-font-size-s, 14px);
24
24
  outline: none;
25
25
  }
26
26
  .content {
@@ -62,7 +62,7 @@ const base = css `
62
62
  );
63
63
  }
64
64
  :host([active]) .content {
65
- font-weight: var(--eun-fontWeight-l, 700);
65
+ font-weight: var(--eun-font-weight-l, 700);
66
66
  color: var(
67
67
  --dropdown-menu-accent-color,
68
68
  var(--eun-color-primary-500, #3d6fff)
@@ -90,7 +90,7 @@ const base = css `
90
90
  text-overflow: ellipsis;
91
91
  }
92
92
  .description {
93
- font-size: var(--eun-fontSize-xs, 12px);
93
+ font-size: var(--eun-font-size-xs, 12px);
94
94
  color: var(
95
95
  --dropdown-menu-description-color,
96
96
  var(--eun-text-secondary, #484e61)
@@ -109,17 +109,17 @@ const base = css `
109
109
  max-height: 260px;
110
110
  overflow-y: auto;
111
111
  font-family: var(--eun-font-family, "Mulish", sans-serif);
112
- font-size: var(--eun-fontSize-s, 14px);
112
+ font-size: var(--eun-font-size-s, 14px);
113
113
  color: var(--dropdown-menu-color, var(--eun-text-color, #071621));
114
114
  background: var(
115
115
  --dropdown-menu-background,
116
116
  var(--eun-surface-color, #ffffff)
117
117
  );
118
- border: var(--eun-borderWidth-s, 1px) solid
118
+ border: var(--eun-border-width-s, 1px) solid
119
119
  var(--dropdown-menu-border-color, var(--eun-border-color, #dee0e7));
120
120
  border-radius: var(
121
121
  --dropdown-menu-border-radius,
122
- var(--eun-borderRadius-m, 8px)
122
+ var(--eun-border-radius-m, 8px)
123
123
  );
124
124
  box-shadow: var(
125
125
  --dropdown-menu-shadow,
@@ -8,10 +8,10 @@ export declare const EunomiaFabTagName = "eun-fab";
8
8
  * The corner a positioned FAB is fixed to.
9
9
  */
10
10
  export type EunomiaFabPosition = "bottom-right" | "bottom-left" | "top-right" | "top-left";
11
- declare const EunomiaFab_base: import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/button.mixin.js").ButtonMixinInterface> & import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/command.mixin.js").CommandMixinInterface> & import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/disabled.mixin.js").DisabledMixinInterface> & typeof LitElement;
11
+ declare const EunomiaFab_base: import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/button.mixin.js").ButtonMixinInterface> & import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/command.mixin.js").CommandMixinInterface> & import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/disabled.mixin.js").DisabledMixinInterface> & import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/localizable.mixin.js").LocalizableMixinInterface> & typeof LitElement;
12
12
  /**
13
13
  * A circular icon button for a screen's single primary action. It shares
14
- * its variant, size, href, loading, and keyboard behavior with the regular
14
+ * its color, size, href, loading, and keyboard behavior with the regular
15
15
  * button.
16
16
  *
17
17
  * When label is set, the button becomes extendable. It stays a plain circle
@@ -25,11 +25,14 @@ declare const EunomiaFab_base: import("../../../utils/constructor.type.js").Cons
25
25
  * @prop {EunomiaIconName} icon - The icon displayed at all times
26
26
  * @prop {string} label - An optional text label, revealed on hover or focus by the slide animation. Omit it for an icon only button
27
27
  * @prop {'bottom-right' | 'bottom-left' | 'top-right' | 'top-left'} position - Fixes the button to a corner of the viewport. Left unset, the button follows the normal document flow
28
- * @prop {'primary' | 'secondary' | 'critical' | 'success' | 'warning'} [variant='primary'] - The color theme applied to the button
28
+ * @prop {'primary' | 'secondary' | 'critical' | 'success' | 'warning'} [color='primary'] - The color applied to the button
29
+ * @prop {boolean} [fixedColor=false] - Keeps a light or dark button white or black in every theme. Without it, they follow the grey scale, which flips with the active theme. Has no effect on the other colors
30
+ * @attr {boolean} [fixed-color=false] - Keeps a light or dark button white or black in every theme. Without it, they follow the grey scale, which flips with the active theme. Has no effect on the other colors
29
31
  * @prop {'xs' | 's' | 'm' | 'l' | 'xl'} [size='m'] - The size of the button
30
32
  * @prop {boolean} [disabled=false] - Whether the button is disabled. For a link button, this removes the href instead, since links have no native disabled state
31
33
  * @prop {string} href - The URL the button navigates to. When set, the button renders as a link instead of a button
32
34
  * @prop {'_blank' | '_self' | '_parent' | '_top'} target - Where to open the linked URL. Only used when href is set. Opening in a new tab automatically announces it to assistive technology, and adds an external link icon when label is also set
35
+ * @prop {string} [locale] - The locale used to resolve the "opens in a new tab" announcement. Defaults to the one set with setDefaultLocale, English otherwise
33
36
  * @prop {string} download - The filename used when the linked URL is downloaded instead of navigated to. Only used when href is set
34
37
  * @prop {boolean} [loading=false] - Whether the button shows a loading indicator. Like disabled, it blocks interaction, but keeps the icon and label in place so the button doesn't change size
35
38
  * @prop {string} [loadingLabel='Loading…'] - The accessible label announced while the button is loading
@@ -38,7 +41,7 @@ declare const EunomiaFab_base: import("../../../utils/constructor.type.js").Cons
38
41
  * @attr {string} aria-label - The accessible label for the button. Required when label isn't set, since an icon alone has no accessible name, and recommended even when it is if the label text alone doesn't describe the action
39
42
  * @fires click - Fired when the button is activated by mouse, Enter, or Space
40
43
  * @fires {NavigationEvent} eunnavigate - Fired before following href, so a client-side router can intercept the navigation. Not fired for downloads, and cancelable
41
- * @cssprop [--fab-background] - Sets the background color
44
+ * @cssprop [--fab-background] - Sets the background color, for every color
42
45
  * @cssprop [--fab-background-hover] - Sets the background color on hover
43
46
  * @cssprop [--fab-text] - Sets the color of the text and icon
44
47
  * @cssprop [--fab-focus-outline] - Sets the color of the focus outline
@@ -10,6 +10,7 @@ import { ifDefined } from "lit/directives/if-defined.js";
10
10
  import { ButtonMixin } from "../../../mixins/button.mixin.js";
11
11
  import { CommandMixin } from "../../../mixins/command.mixin.js";
12
12
  import { DisabledMixin } from "../../../mixins/disabled.mixin.js";
13
+ import { LocalizableMixin } from "../../../mixins/localizable.mixin.js";
13
14
  import { handleLinkNavigation } from "../../../utils/navigation.utils.js";
14
15
  import { fabStyles } from "./fab.styles.js";
15
16
  /**
@@ -18,7 +19,7 @@ import { fabStyles } from "./fab.styles.js";
18
19
  export const EunomiaFabTagName = "eun-fab";
19
20
  /**
20
21
  * A circular icon button for a screen's single primary action. It shares
21
- * its variant, size, href, loading, and keyboard behavior with the regular
22
+ * its color, size, href, loading, and keyboard behavior with the regular
22
23
  * button.
23
24
  *
24
25
  * When label is set, the button becomes extendable. It stays a plain circle
@@ -32,11 +33,14 @@ export const EunomiaFabTagName = "eun-fab";
32
33
  * @prop {EunomiaIconName} icon - The icon displayed at all times
33
34
  * @prop {string} label - An optional text label, revealed on hover or focus by the slide animation. Omit it for an icon only button
34
35
  * @prop {'bottom-right' | 'bottom-left' | 'top-right' | 'top-left'} position - Fixes the button to a corner of the viewport. Left unset, the button follows the normal document flow
35
- * @prop {'primary' | 'secondary' | 'critical' | 'success' | 'warning'} [variant='primary'] - The color theme applied to the button
36
+ * @prop {'primary' | 'secondary' | 'critical' | 'success' | 'warning'} [color='primary'] - The color applied to the button
37
+ * @prop {boolean} [fixedColor=false] - Keeps a light or dark button white or black in every theme. Without it, they follow the grey scale, which flips with the active theme. Has no effect on the other colors
38
+ * @attr {boolean} [fixed-color=false] - Keeps a light or dark button white or black in every theme. Without it, they follow the grey scale, which flips with the active theme. Has no effect on the other colors
36
39
  * @prop {'xs' | 's' | 'm' | 'l' | 'xl'} [size='m'] - The size of the button
37
40
  * @prop {boolean} [disabled=false] - Whether the button is disabled. For a link button, this removes the href instead, since links have no native disabled state
38
41
  * @prop {string} href - The URL the button navigates to. When set, the button renders as a link instead of a button
39
42
  * @prop {'_blank' | '_self' | '_parent' | '_top'} target - Where to open the linked URL. Only used when href is set. Opening in a new tab automatically announces it to assistive technology, and adds an external link icon when label is also set
43
+ * @prop {string} [locale] - The locale used to resolve the "opens in a new tab" announcement. Defaults to the one set with setDefaultLocale, English otherwise
40
44
  * @prop {string} download - The filename used when the linked URL is downloaded instead of navigated to. Only used when href is set
41
45
  * @prop {boolean} [loading=false] - Whether the button shows a loading indicator. Like disabled, it blocks interaction, but keeps the icon and label in place so the button doesn't change size
42
46
  * @prop {string} [loadingLabel='Loading…'] - The accessible label announced while the button is loading
@@ -45,7 +49,7 @@ export const EunomiaFabTagName = "eun-fab";
45
49
  * @attr {string} aria-label - The accessible label for the button. Required when label isn't set, since an icon alone has no accessible name, and recommended even when it is if the label text alone doesn't describe the action
46
50
  * @fires click - Fired when the button is activated by mouse, Enter, or Space
47
51
  * @fires {NavigationEvent} eunnavigate - Fired before following href, so a client-side router can intercept the navigation. Not fired for downloads, and cancelable
48
- * @cssprop [--fab-background] - Sets the background color
52
+ * @cssprop [--fab-background] - Sets the background color, for every color
49
53
  * @cssprop [--fab-background-hover] - Sets the background color on hover
50
54
  * @cssprop [--fab-text] - Sets the color of the text and icon
51
55
  * @cssprop [--fab-focus-outline] - Sets the color of the focus outline
@@ -54,7 +58,7 @@ export const EunomiaFabTagName = "eun-fab";
54
58
  * @cssprop [--fab-offset] - Sets the distance from the viewport edge for a positioned button
55
59
  * @element eun-fab
56
60
  */
57
- let EunomiaFab = class EunomiaFab extends ButtonMixin(CommandMixin(DisabledMixin(LitElement))) {
61
+ let EunomiaFab = class EunomiaFab extends ButtonMixin(CommandMixin(DisabledMixin(LocalizableMixin(LitElement)))) {
58
62
  constructor() {
59
63
  super(...arguments);
60
64
  /**
@@ -130,7 +134,8 @@ let EunomiaFab = class EunomiaFab extends ButtonMixin(CommandMixin(DisabledMixin
130
134
  if (!this.isBlank || this.ariaLabel) {
131
135
  return nothing;
132
136
  }
133
- return html `<span class="sr-only"> (opens in a new tab)</span>`;
137
+ const hint = this.dictionary.link.opensInNewTab;
138
+ return html `<span class="sr-only"> (${hint})</span>`;
134
139
  }
135
140
  /**
136
141
  * Renders `label`, with an appended external-link icon (mirroring
@@ -196,7 +201,7 @@ let EunomiaFab = class EunomiaFab extends ButtonMixin(CommandMixin(DisabledMixin
196
201
  rel=${ifDefined(this.isBlank ? "noopener noreferrer" : undefined)}
197
202
  download=${ifDefined(this.download)}
198
203
  aria-label=${ifDefined(this.isBlank && this.ariaLabel
199
- ? `${this.ariaLabel} (opens in a new tab)`
204
+ ? `${this.ariaLabel} (${this.dictionary.link.opensInNewTab})`
200
205
  : (this.ariaLabel ?? undefined))}
201
206
  aria-disabled=${ifDefined(this.disabled ? "true" : undefined)}
202
207
  aria-busy=${ifDefined(this.loading ? "true" : undefined)}
@@ -1,18 +1,17 @@
1
1
  import { css } from "lit";
2
+ import { buttonPaletteStyles } from "../shared-styles/button-palette.styles.js";
2
3
  /**
3
4
  * Base style for the floating action button.
4
5
  *
5
- * The color/hover/text/focus custom-property convention (`--_mainColor`,
6
- * `--_mainColor-hover`, ...) mirrors `eun-button`'s own stylesheet, adapted
7
- * to a single circular `#fab` element instead of `#button` plus a default
8
- * slot — `button.styles.ts` only exports its final composed array, not the
9
- * individual pieces, so this re-derives the same pattern rather than
10
- * importing it.
6
+ * The color palette is shared with `eun-button` (see
7
+ * {@link buttonPaletteStyles}) and read *behind* the `--fab-*` custom
8
+ * properties, so those win over every color. A fab only has a solid look,
9
+ * so it only reads the solid slots.
11
10
  *
12
11
  * Custom css variables:
13
- * [--fab-background] - Set a custom background color
14
- * [--fab-background-hover] - Set a custom background color for hover state
15
- * [--fab-text] - Set a custom text/icon color
12
+ * [--fab-background] - Set a custom background color, for every color
13
+ * [--fab-background-hover] - Set a custom background color for hover state. Derived from --fab-background when only that one is set
14
+ * [--fab-text] - Set a custom text/icon color, for every color
16
15
  * [--fab-focus-outline] - Set a custom color to the focus outline
17
16
  * [--fab-transition] - Set a custom transition time, shared by the slide-open animation and the hover/focus color changes (mirrors `eun-button`'s own `--button-transition`)
18
17
  * [--fab-z-index] - Set a custom z-index for a positioned FAB
@@ -20,16 +19,8 @@ import { css } from "lit";
20
19
  */
21
20
  const base = css `
22
21
  :host {
23
- --_mainColor: var(--fab-background, var(--eun-color-primary-500, #3d6fff));
24
- --_mainColor-hover: var(
25
- --fab-background-hover,
26
- var(--eun-color-primary-700, #3662e0)
27
- );
28
- --_mainColor-text: var(
29
- --fab-text,
30
- var(--eun-color-on-primary-500, #ffffff)
31
- );
32
- --_focusIndicator: var(--fab-focus-outline, var(--_mainColor));
22
+ --_focusIndicator: var(--fab-focus-outline, var(--_solid));
23
+ --_hoverFromCustom: color-mix(in srgb, var(--fab-background) 88%, black);
33
24
  --_transition: var(--fab-transition, 0.3s);
34
25
  --_gap: var(--eun-space-xs, 4px);
35
26
  --_circleSize: 56px;
@@ -39,7 +30,7 @@ const base = css `
39
30
  user-select: none;
40
31
  outline: 2px solid transparent;
41
32
  z-index: 0;
42
- border-radius: var(--eun-borderRadius-xl);
33
+ border-radius: var(--eun-border-radius-xl);
43
34
  transition:
44
35
  background 0.3s ease-out,
45
36
  box-shadow 0.3s ease-out,
@@ -69,32 +60,15 @@ const base = css `
69
60
  --_circleSize: 88px;
70
61
  --icon-size: 34px;
71
62
  }
72
- :host([variant="secondary"]) {
73
- --_mainColor: var(--eun-color-secondary-500, #e5a030);
74
- --_mainColor-hover: var(--eun-color-secondary-700, #ca8d2a);
75
- --_mainColor-text: var(--eun-color-on-secondary-500, #000000de);
76
- }
77
- :host([variant="critical"]) {
78
- --_mainColor: var(--eun-color-critical-100, #aa0014);
79
- --_mainColor-hover: var(--eun-color-critical-100, #aa0014);
80
- --_mainColor-text: #fff;
81
- }
82
- :host([variant="success"]) {
83
- --_mainColor: var(--eun-color-success-100, #1a9948);
84
- --_mainColor-hover: var(--eun-color-success-100, #1a9948);
85
- --_mainColor-text: #fff;
86
- }
87
- :host([variant="warning"]) {
88
- --_mainColor: var(--eun-color-warning-100, #c85207);
89
- --_mainColor-hover: var(--eun-color-warning-100, #c85207);
90
- --_mainColor-text: #fff;
91
- }
92
63
  :host([disabled]) {
93
- --_mainColor: var(--eun-disabled-color, #ecedf0);
94
- --_mainColor-hover: var(--eun-disabled-color, #ecedf0);
95
- --_mainColor-text: var(--eun-text-disabled-color, #8d93aa);
64
+ --_solid: var(--eun-disabled-color, #ecedf0);
65
+ --_solid-hover: var(--eun-disabled-color, #ecedf0);
66
+ --_onSolid: var(--eun-text-disabled-color, #8d93aa);
96
67
  }
68
+ /* A disabled fab never loses its look to a custom property. */
97
69
  :host([disabled]) #fab {
70
+ background: var(--_solid);
71
+ color: var(--_onSolid);
98
72
  cursor: not-allowed;
99
73
  pointer-events: none;
100
74
  box-shadow: none;
@@ -112,11 +86,11 @@ const base = css `
112
86
  box-sizing: border-box;
113
87
  overflow: hidden;
114
88
  border: none;
115
- border-radius: var(--eun-borderRadius-xl, 999px);
116
- background: var(--_mainColor);
117
- color: var(--_mainColor-text);
89
+ border-radius: var(--eun-border-radius-xl, 999px);
90
+ background: var(--fab-background, var(--_solid));
91
+ color: var(--fab-text, var(--_onSolid));
118
92
  font-family: var(--eun-font-family, "Mulish", sans-serif);
119
- font-size: var(--eun-fontSize-s, 14px);
93
+ font-size: var(--eun-font-size-s, 14px);
120
94
  text-decoration: none;
121
95
  cursor: pointer;
122
96
  outline: 2px solid transparent;
@@ -139,7 +113,10 @@ const base = css `
139
113
  transform: rotate(-45deg);
140
114
  }
141
115
  :host(:not([disabled]):not([loading])) #fab:hover {
142
- background: var(--_mainColor-hover);
116
+ background: var(
117
+ --fab-background-hover,
118
+ var(--_hoverFromCustom, var(--_solid-hover))
119
+ );
143
120
  box-shadow: var(
144
121
  --eun-shadow-l,
145
122
  0 10px 15px -3px rgba(0, 0, 0, 0.15),
@@ -242,4 +219,4 @@ const position = css `
242
219
  left: var(--fab-offset, var(--eun-space-l, 32px));
243
220
  }
244
221
  `;
245
- export const fabStyles = [base, slide, position];
222
+ export const fabStyles = [buttonPaletteStyles, base, slide, position];