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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/README.md +1 -1
  2. package/dist/cdn/components/chunks/{chunk-3LMI7KUA.js → chunk-2JLDJFYD.js} +1 -1
  3. package/dist/cdn/components/chunks/chunk-4MXL6PZC.js +124 -0
  4. package/dist/cdn/components/chunks/{chunk-32KRPOPV.js → chunk-5XJGYXW7.js} +6 -6
  5. package/dist/cdn/components/chunks/{chunk-O2HNWH65.js → chunk-5XJLIHAU.js} +7 -7
  6. package/dist/cdn/components/chunks/{chunk-5GF2Q3NR.js → chunk-74AOAB4X.js} +1 -1
  7. package/dist/cdn/components/chunks/{chunk-WYMBUIKX.js → chunk-A6KGFALA.js} +4 -4
  8. package/dist/cdn/components/chunks/chunk-BMQOI7HX.js +371 -0
  9. package/dist/cdn/components/chunks/{chunk-LJYTHDZP.js → chunk-D2M4BV5Y.js} +6 -6
  10. package/dist/cdn/components/chunks/{chunk-NEYBPT3D.js → chunk-EJIX2D4Z.js} +2 -2
  11. package/dist/cdn/components/chunks/{chunk-BYBUXKXC.js → chunk-EOWBYZV7.js} +2 -2
  12. package/dist/cdn/components/chunks/chunk-EST3M4AO.js +1 -0
  13. package/dist/cdn/components/chunks/{chunk-TBKKTJOX.js → chunk-GSJEJLFA.js} +3 -3
  14. package/dist/cdn/components/chunks/{chunk-5RCCZVFZ.js → chunk-IJ5WFMK4.js} +1 -1
  15. package/dist/cdn/components/chunks/{chunk-RWONCXTF.js → chunk-KVYUNKUO.js} +2 -2
  16. package/dist/cdn/components/chunks/chunk-LGLQ36QB.js +16 -0
  17. package/dist/cdn/components/chunks/{chunk-53QH6MPM.js → chunk-NHFWATVN.js} +1 -1
  18. package/dist/cdn/components/chunks/chunk-OAULRKHQ.js +38 -0
  19. package/dist/cdn/components/chunks/chunk-P32B7BFD.js +118 -0
  20. package/dist/cdn/components/chunks/{chunk-ZPFHTJSS.js → chunk-PCM7D3YF.js} +1 -1
  21. package/dist/cdn/components/chunks/{chunk-ABYEBP57.js → chunk-PED5ATYN.js} +11 -8
  22. package/dist/cdn/components/chunks/{chunk-ON42P6FI.js → chunk-RJCJXB7Y.js} +5 -5
  23. package/dist/cdn/components/chunks/{chunk-5C7YND22.js → chunk-S2UCEWNG.js} +8 -8
  24. package/dist/cdn/components/chunks/{chunk-EAGGN3ZI.js → chunk-SIHZFOTK.js} +9 -9
  25. package/dist/cdn/components/chunks/{chunk-6UPI7GHJ.js → chunk-UAGCQF23.js} +7 -7
  26. package/dist/cdn/components/chunks/{chunk-6IILPCSQ.js → chunk-X2AUBZD2.js} +3 -3
  27. package/dist/cdn/components/chunks/chunk-YGUJJ25C.js +263 -0
  28. package/dist/cdn/components/eun-alert.js +65 -45
  29. package/dist/cdn/components/eun-badge.js +1 -1
  30. package/dist/cdn/components/eun-breadcrumb-item.js +14 -10
  31. package/dist/cdn/components/eun-breadcrumb.js +11 -7
  32. package/dist/cdn/components/eun-button.js +1 -1
  33. package/dist/cdn/components/eun-calendar.js +16 -16
  34. package/dist/cdn/components/eun-card.js +21 -12
  35. package/dist/cdn/components/eun-carousel.js +35 -27
  36. package/dist/cdn/components/eun-check-card.js +3 -3
  37. package/dist/cdn/components/eun-checkbox-list.js +3 -3
  38. package/dist/cdn/components/eun-checkbox.js +1 -1
  39. package/dist/cdn/components/eun-chip.js +45 -207
  40. package/dist/cdn/components/eun-collapse.js +13 -12
  41. package/dist/cdn/components/eun-color-picker.js +12 -12
  42. package/dist/cdn/components/eun-counter.js +8 -8
  43. package/dist/cdn/components/eun-date-picker.js +50 -50
  44. package/dist/cdn/components/eun-drawer.js +3 -3
  45. package/dist/cdn/components/eun-dropdown-button.js +1 -1
  46. package/dist/cdn/components/eun-dropdown-item.js +6 -6
  47. package/dist/cdn/components/eun-fab.js +31 -53
  48. package/dist/cdn/components/eun-icon.js +1 -1
  49. package/dist/cdn/components/eun-image-card.js +18 -11
  50. package/dist/cdn/components/eun-image-carousel.js +16 -16
  51. package/dist/cdn/components/eun-infinite-list.js +1 -1
  52. package/dist/cdn/components/eun-input-file.js +12 -12
  53. package/dist/cdn/components/eun-input-phone.js +13 -13
  54. package/dist/cdn/components/eun-input.js +1 -1
  55. package/dist/cdn/components/eun-label.js +4 -4
  56. package/dist/cdn/components/eun-link.js +29 -11
  57. package/dist/cdn/components/eun-loader.js +1 -1
  58. package/dist/cdn/components/eun-modal.js +6 -6
  59. package/dist/cdn/components/eun-pagination.js +3 -3
  60. package/dist/cdn/components/eun-password-strength.js +9 -6
  61. package/dist/cdn/components/eun-progress-bar.js +13 -13
  62. package/dist/cdn/components/eun-radio-card.js +2 -2
  63. package/dist/cdn/components/eun-radio-list.js +1 -1
  64. package/dist/cdn/components/eun-radio.js +1 -1
  65. package/dist/cdn/components/eun-scheduler-event-editor.js +2 -2
  66. package/dist/cdn/components/eun-scheduler-event.js +1 -1
  67. package/dist/cdn/components/eun-scheduler.js +10 -10
  68. package/dist/cdn/components/eun-search.js +7 -7
  69. package/dist/cdn/components/eun-select.js +10 -10
  70. package/dist/cdn/components/eun-sidebar.js +9 -9
  71. package/dist/cdn/components/eun-skeleton.js +1 -1
  72. package/dist/cdn/components/eun-slider.js +8 -8
  73. package/dist/cdn/components/eun-sliding-card.js +4 -3
  74. package/dist/cdn/components/eun-step.js +8 -8
  75. package/dist/cdn/components/eun-stepper.js +8 -8
  76. package/dist/cdn/components/eun-switch.js +10 -10
  77. package/dist/cdn/components/eun-tab-group.js +19 -11
  78. package/dist/cdn/components/eun-tab-panel.js +1 -1
  79. package/dist/cdn/components/eun-tab.js +1 -1
  80. package/dist/cdn/components/eun-table-action-bar.js +1 -1
  81. package/dist/cdn/components/eun-table-cell.js +1 -1
  82. package/dist/cdn/components/eun-table-column.js +1 -1
  83. package/dist/cdn/components/eun-table-header.js +1 -1
  84. package/dist/cdn/components/eun-table-item.js +1 -1
  85. package/dist/cdn/components/eun-table-skeleton-row.js +1 -1
  86. package/dist/cdn/components/eun-table.js +3 -3
  87. package/dist/cdn/components/eun-tag.js +34 -126
  88. package/dist/cdn/components/eun-textarea.js +22 -22
  89. package/dist/cdn/components/eun-time-picker.js +25 -25
  90. package/dist/cdn/components/eun-toast.js +40 -36
  91. package/dist/cdn/components/eun-toggle-group.js +199 -66
  92. package/dist/cdn/components/eun-toggle-item.js +41 -24
  93. package/dist/cdn/components/eun-toggle.js +11 -8
  94. package/dist/cdn/components/eun-toolbar.js +14 -7
  95. package/dist/cdn/components/eun-tooltip.js +122 -87
  96. package/dist/cdn/styles/eunomia-themes.css +1 -1
  97. package/dist/cdn/styles/themes/eunomia-theme.css +1 -1
  98. package/dist/cdn/styles/themes/eunomia-theme.scss +1 -0
  99. package/dist/cdn/styles/themes/mixins/eunomia-neutrals.mixin.scss +71 -0
  100. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +3 -13
  101. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +3 -13
  102. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.css +1 -1
  103. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +2 -0
  104. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +3 -13
  105. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +3 -13
  106. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.css +1 -1
  107. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +2 -0
  108. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +3 -13
  109. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +3 -13
  110. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.css +1 -1
  111. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +2 -0
  112. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +3 -13
  113. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +3 -13
  114. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.css +1 -1
  115. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +2 -0
  116. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +3 -13
  117. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +3 -13
  118. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.css +1 -1
  119. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +2 -0
  120. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +3 -13
  121. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +3 -13
  122. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.css +1 -1
  123. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +2 -0
  124. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +3 -13
  125. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +3 -13
  126. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.css +1 -1
  127. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +2 -0
  128. package/dist/cdn/styles/tools/indexes/eunomia-tools.index.scss +1 -0
  129. package/dist/cdn/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +39 -0
  130. package/dist/cdn/styles/tools/mixins/settings/eunomia-border.mixin.scss +3 -3
  131. package/dist/cdn/styles/tools/mixins/settings/eunomia-font.mixin.scss +12 -12
  132. package/dist/cdn/styles/tools/mixins/settings/eunomia-radius.mixin.scss +4 -4
  133. package/dist/components/action/button/button.d.ts +2 -0
  134. package/dist/components/action/button/button.js +2 -0
  135. package/dist/components/action/button/button.styles.js +132 -384
  136. package/dist/components/action/dropdown-button/dropdown-button.d.ts +7 -0
  137. package/dist/components/action/dropdown-button/dropdown-button.js +11 -0
  138. package/dist/components/action/dropdown-button/dropdown-button.styles.js +8 -8
  139. package/dist/components/action/dropdown-button/dropdown-item.styles.js +6 -6
  140. package/dist/components/action/fab/fab.d.ts +3 -1
  141. package/dist/components/action/fab/fab.js +3 -1
  142. package/dist/components/action/fab/fab.styles.js +26 -49
  143. package/dist/components/action/link/link.d.ts +50 -0
  144. package/dist/components/action/link/link.js +69 -1
  145. package/dist/components/action/link/link.styles.js +19 -2
  146. package/dist/components/action/shared-styles/button-palette.styles.d.ts +27 -0
  147. package/dist/components/action/shared-styles/button-palette.styles.js +151 -0
  148. package/dist/components/action/toggle/toggle-group.d.ts +41 -7
  149. package/dist/components/action/toggle/toggle-group.js +161 -45
  150. package/dist/components/action/toggle/toggle-group.styles.d.ts +6 -5
  151. package/dist/components/action/toggle/toggle-group.styles.js +152 -35
  152. package/dist/components/action/toggle/toggle-item.styles.js +37 -20
  153. package/dist/components/action/toggle/toggle.d.ts +1 -1
  154. package/dist/components/action/toggle/toggle.js +1 -1
  155. package/dist/components/action/toggle/toggle.styles.d.ts +2 -2
  156. package/dist/components/action/toggle/toggle.styles.js +13 -10
  157. package/dist/components/alert/alert/alert.d.ts +4 -3
  158. package/dist/components/alert/alert/alert.js +4 -3
  159. package/dist/components/alert/alert/alert.styles.js +57 -36
  160. package/dist/components/alert/drawer/drawer.styles.js +3 -3
  161. package/dist/components/alert/modal/modal.styles.js +6 -6
  162. package/dist/components/alert/toast/toast.d.ts +4 -3
  163. package/dist/components/alert/toast/toast.js +4 -3
  164. package/dist/components/alert/toast/toast.styles.js +41 -36
  165. package/dist/components/content/badge/badge.styles.js +1 -1
  166. package/dist/components/content/card/card.d.ts +4 -4
  167. package/dist/components/content/card/card.js +4 -4
  168. package/dist/components/content/card/card.styles.js +19 -10
  169. package/dist/components/content/card/image-card.d.ts +1 -1
  170. package/dist/components/content/card/image-card.js +1 -1
  171. package/dist/components/content/card/image-card.styles.js +17 -10
  172. package/dist/components/content/card/sliding-card.styles.js +3 -2
  173. package/dist/components/content/chip/chip.d.ts +16 -7
  174. package/dist/components/content/chip/chip.js +18 -6
  175. package/dist/components/content/chip/chip.styles.d.ts +1 -1
  176. package/dist/components/content/chip/chip.styles.js +43 -207
  177. package/dist/components/content/collapse/collapse.styles.js +10 -9
  178. package/dist/components/content/icon/icon.style.js +1 -1
  179. package/dist/components/content/image-carousel/image-carousel.styles.js +14 -14
  180. package/dist/components/content/password-strength/password-strength.styles.js +7 -4
  181. package/dist/components/content/progress-bar/progress-bar.styles.js +9 -9
  182. package/dist/components/content/shared-styles/tone-surface.styles.d.ts +31 -0
  183. package/dist/components/content/shared-styles/tone-surface.styles.js +149 -0
  184. package/dist/components/content/tag/tag.d.ts +16 -6
  185. package/dist/components/content/tag/tag.js +19 -6
  186. package/dist/components/content/tag/tag.styles.d.ts +1 -1
  187. package/dist/components/content/tag/tag.styles.js +40 -125
  188. package/dist/components/content/tooltip/tooltip.d.ts +15 -4
  189. package/dist/components/content/tooltip/tooltip.js +21 -4
  190. package/dist/components/content/tooltip/tooltip.styles.js +115 -79
  191. package/dist/components/form/checkbox/check-card.styles.js +2 -2
  192. package/dist/components/form/checkbox/checkbox-list.d.ts +1 -1
  193. package/dist/components/form/checkbox/checkbox.d.ts +1 -1
  194. package/dist/components/form/checkbox/checkbox.styles.js +6 -6
  195. package/dist/components/form/color-picker/color-picker.d.ts +1 -1
  196. package/dist/components/form/color-picker/color-picker.styles.js +7 -7
  197. package/dist/components/form/counter/counter.d.ts +1 -1
  198. package/dist/components/form/counter/counter.styles.js +7 -7
  199. package/dist/components/form/date-picker/date-picker-day-grid.styles.js +2 -2
  200. package/dist/components/form/date-picker/date-picker-grid.styles.js +15 -15
  201. package/dist/components/form/date-picker/date-picker-month-grid.styles.js +1 -1
  202. package/dist/components/form/date-picker/date-picker-year-grid.styles.js +1 -1
  203. package/dist/components/form/date-picker/date-picker.d.ts +1 -1
  204. package/dist/components/form/date-picker/date-picker.styles.js +12 -12
  205. package/dist/components/form/input/input.d.ts +1 -1
  206. package/dist/components/form/input-file/input-file.d.ts +1 -1
  207. package/dist/components/form/input-file/input-file.styles.js +9 -9
  208. package/dist/components/form/input-phone/input-phone.d.ts +1 -1
  209. package/dist/components/form/input-phone/input-phone.styles.js +7 -7
  210. package/dist/components/form/label/label.styles.js +4 -4
  211. package/dist/components/form/radio/radio-card.styles.js +1 -1
  212. package/dist/components/form/radio/radio-list.d.ts +1 -1
  213. package/dist/components/form/radio/radio.d.ts +1 -1
  214. package/dist/components/form/radio/radio.styles.js +2 -2
  215. package/dist/components/form/search/search.styles.js +6 -6
  216. package/dist/components/form/select/select.d.ts +1 -1
  217. package/dist/components/form/select/select.styles.js +6 -6
  218. package/dist/components/form/shared-styles/card.styles.js +1 -1
  219. package/dist/components/form/shared-styles/field.styles.js +7 -7
  220. package/dist/components/form/shared-styles/form-labels.styles.js +1 -1
  221. package/dist/components/form/shared-styles/listbox.styles.js +6 -6
  222. package/dist/components/form/slider/slider.d.ts +1 -1
  223. package/dist/components/form/slider/slider.styles.js +6 -6
  224. package/dist/components/form/switch/switch.d.ts +1 -1
  225. package/dist/components/form/switch/switch.styles.js +8 -8
  226. package/dist/components/form/textarea/textarea.d.ts +1 -1
  227. package/dist/components/form/textarea/textarea.styles.js +6 -6
  228. package/dist/components/form/time-picker/time-picker-columns.styles.js +6 -6
  229. package/dist/components/form/time-picker/time-picker-list.styles.js +2 -2
  230. package/dist/components/form/time-picker/time-picker.d.ts +1 -1
  231. package/dist/components/form/time-picker/time-picker.styles.js +8 -8
  232. package/dist/components/loader/loader/loader.styles.js +2 -2
  233. package/dist/components/loader/skeleton/skeleton.styles.js +8 -5
  234. package/dist/components/navigation/breadcrumb/breadcrumb-item.d.ts +7 -0
  235. package/dist/components/navigation/breadcrumb/breadcrumb-item.js +15 -1
  236. package/dist/components/navigation/breadcrumb/breadcrumb-item.styles.js +3 -3
  237. package/dist/components/navigation/breadcrumb/breadcrumb.d.ts +1 -0
  238. package/dist/components/navigation/breadcrumb/breadcrumb.js +7 -1
  239. package/dist/components/navigation/breadcrumb/breadcrumb.styles.js +3 -3
  240. package/dist/components/navigation/carousel/carousel.d.ts +40 -6
  241. package/dist/components/navigation/carousel/carousel.js +61 -12
  242. package/dist/components/navigation/carousel/carousel.styles.js +19 -7
  243. package/dist/components/navigation/pagination/pagination.styles.js +3 -3
  244. package/dist/components/navigation/sidebar/sidebar.styles.js +9 -9
  245. package/dist/components/navigation/stepper/step.styles.js +8 -8
  246. package/dist/components/navigation/stepper/stepper.styles.js +8 -8
  247. package/dist/components/navigation/tabs/tab/tab.styles.js +5 -5
  248. package/dist/components/navigation/tabs/tab-group/tab-group.d.ts +9 -0
  249. package/dist/components/navigation/tabs/tab-group/tab-group.js +19 -2
  250. package/dist/components/navigation/tabs/tab-group/tab-group.styles.js +12 -4
  251. package/dist/components/navigation/tabs/tab-panel/tab-panel.styles.js +1 -1
  252. package/dist/components/navigation/toolbar/toolbar.d.ts +2 -0
  253. package/dist/components/navigation/toolbar/toolbar.js +2 -0
  254. package/dist/components/navigation/toolbar/toolbar.styles.js +16 -7
  255. package/dist/features/scheduler/calendar/calendar.js +1 -1
  256. package/dist/features/scheduler/calendar/calendar.styles.js +3 -3
  257. package/dist/features/scheduler/scheduler/scheduler.styles.js +2 -2
  258. package/dist/features/scheduler/scheduler-event/scheduler-event.styles.js +2 -2
  259. package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.styles.js +2 -2
  260. package/dist/features/scheduler/shared/scheduler-event-popover.styles.js +4 -4
  261. package/dist/features/scheduler/shared/scheduler-hour-grid.styles.js +1 -1
  262. package/dist/features/scheduler/shared/scheduler-month-view.styles.js +1 -1
  263. package/dist/features/scheduler/shared/scheduler-year-view.styles.js +1 -1
  264. package/dist/features/table/native-table.css +11 -11
  265. package/dist/features/table/table/table.styles.js +2 -2
  266. package/dist/features/table/table-action-bar/table-action-bar.styles.js +2 -2
  267. package/dist/features/table/table-cell/table-cell.styles.js +2 -2
  268. package/dist/features/table/table-column/table-column.styles.js +3 -3
  269. package/dist/features/table/table-header/table-header.styles.js +4 -4
  270. package/dist/features/table/table-item/table-item.styles.js +6 -6
  271. package/dist/features/table/table-skeleton-row/table-skeleton-row.styles.js +1 -1
  272. package/dist/index.d.ts +4 -4
  273. package/dist/index.js +5 -2
  274. package/dist/jsx.d.ts +18 -5
  275. package/dist/mixins/button.mixin.d.ts +1 -0
  276. package/dist/mixins/button.mixin.js +10 -0
  277. package/dist/mixins/check.mixin.d.ts +1 -1
  278. package/dist/mixins/editable.mixin.d.ts +1 -1
  279. package/dist/mixins/form.mixin.d.ts +5 -1
  280. package/dist/mixins/form.mixin.js +32 -12
  281. package/dist/mixins/overflow-navigation.mixin.js +2 -1
  282. package/dist/mixins/radio.mixin.d.ts +1 -1
  283. package/dist/mixins/validators.mixin.d.ts +9 -3
  284. package/dist/utils/rich-text.utils.d.ts +33 -0
  285. package/dist/utils/rich-text.utils.js +140 -49
  286. package/dist/utils/theme-generator.utils.d.ts +24 -3
  287. package/dist/utils/theme-generator.utils.js +66 -21
  288. package/package.json +6 -1
  289. package/styles/themes/eunomia-theme.scss +1 -0
  290. package/styles/themes/mixins/eunomia-neutrals.mixin.scss +71 -0
  291. package/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +3 -13
  292. package/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +3 -13
  293. package/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +2 -0
  294. package/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +3 -13
  295. package/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +3 -13
  296. package/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +2 -0
  297. package/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +3 -13
  298. package/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +3 -13
  299. package/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +2 -0
  300. package/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +3 -13
  301. package/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +3 -13
  302. package/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +2 -0
  303. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +3 -13
  304. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +3 -13
  305. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +2 -0
  306. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +3 -13
  307. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +3 -13
  308. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +2 -0
  309. package/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +3 -13
  310. package/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +3 -13
  311. package/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +2 -0
  312. package/styles/tools/indexes/eunomia-tools.index.scss +1 -0
  313. package/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +39 -0
  314. package/styles/tools/mixins/settings/eunomia-border.mixin.scss +3 -3
  315. package/styles/tools/mixins/settings/eunomia-font.mixin.scss +12 -12
  316. package/styles/tools/mixins/settings/eunomia-radius.mixin.scss +4 -4
  317. package/dist/cdn/components/chunks/chunk-5TH3P53V.js +0 -16
  318. package/dist/cdn/components/chunks/chunk-KNM5QHDK.js +0 -38
  319. package/dist/cdn/components/chunks/chunk-MBF52GEL.js +0 -1
  320. package/dist/cdn/components/chunks/chunk-Z6PJYSC3.js +0 -622
  321. package/dist/cdn/components/chunks/chunk-ZKPCO5RB.js +0 -262
@@ -1,68 +1,60 @@
1
1
  import { css } from "lit";
2
+ import { buttonPaletteStyles } from "../shared-styles/button-palette.styles.js";
2
3
  /**
3
4
  * Base style for button.
4
5
  *
5
6
  * Custom css variables:
6
- * [--button-background] - Set a custom background color
7
- * [--button-background-hover] - Set a custom button background color for hover state
8
- * [--button-background-active] - Set a custom button background color for active state
9
- * [--button-text] - Set a custom button text color
7
+ * [--button-background] - Set a custom background color, for every appearance and variant
8
+ * [--button-background-hover] - Set a custom button background color for hover state. Derived from --button-background when only that one is set
9
+ * [--button-background-active] - Set a custom button background color for active state. Derived from --button-background when only that one is set
10
+ * [--button-text] - Set a custom button text color, for every appearance and variant
10
11
  * [--button-padding] - Set a custom padding to the button. Note that thee padding is initialized through the `padding` css.
11
12
  * [--button-border-radius] - Set a custom radius to the button border
12
13
  * [--button-focus-outline] - Set a custom color to the focus outline
13
14
  * [--button-transition] - Set a custom button transition time
14
15
  * [--button-shadow] - Set a custom box shadow to the button (used by the `raised` variant)
15
16
  * [--button-shadow-hover] - Set a custom box shadow to the button on hover state (used by the `raised` variant)
16
- * [--button-border-color] - Set a custom border color, overriding whatever the active variant would otherwise use
17
+ * [--button-border-color] - Set a custom border color, for every appearance and variant
17
18
  * [--button-border-color-hover] - Set a custom border color for hover/focus-visible state, falling back to --button-border-color
18
19
  * [--button-border-size] - Set a custom border width
19
20
  * [--button-full] - Set to `true` to get the same result as the `full` attribute. Meant to be set from a container query
20
21
  */
22
+ /*
23
+ * The variant fills the palette slots (see {@link buttonPaletteStyles}), the
24
+ * appearance reads them into --_bg / --_bg-hover / --_bg-active / --_fg /
25
+ * --_bd, and #button finally reads those *behind* the --button-* custom
26
+ * properties, so a custom property always wins over any variant, appearance
27
+ * and state. Only `disabled` stays above them, so it never loses its look.
28
+ */
21
29
  const base = css `
22
30
  :host {
23
- --_mainColor: var(
24
- --button-background,
25
- var(--eun-color-primary-500, #3d6fff)
26
- );
27
- --_mainColor-hover: var(
28
- --button-background-hover,
29
- var(--eun-color-primary-700, #3662e0)
30
- );
31
- --_mainColor-active: var(
32
- --button-background-active,
33
- var(--eun-color-primary-800, #2d52bd)
34
- );
35
- --_mainColor-text: var(
36
- --button-text,
37
- var(--eun-color-on-primary-500, #ffffff)
38
- );
39
- --_mainColor-outline: var(
40
- --button-focus-outline,
41
- var(--eun-color-primary-700, #3662e0)
31
+ --_focusIndicator: var(--button-focus-outline, var(--_ring));
32
+ --_hoverFromCustom: color-mix(in srgb, var(--button-background) 88%, black);
33
+ --_activeFromCustom: color-mix(
34
+ in srgb,
35
+ var(--button-background) 76%,
36
+ black
42
37
  );
43
- --_focusIndicator: var(--button-focus-outline, var(--_mainColor-outline));
44
38
  --_borderRadius: var(
45
39
  --button-border-radius,
46
- var(--eun-borderRadius-m, 8px)
40
+ var(--eun-border-radius-m, 8px)
47
41
  );
48
- --_backgroundColor: var(--button-background, var(--_mainColor));
49
42
  --_padding: var(
50
43
  --button-padding,
51
44
  var(--eun-space-s, 8px) calc(var(--eun-space-l, 32px) / 2)
52
45
  );
53
- --_textColor: var(--button-text, var(--_mainColor-text));
54
46
  --_boxShadow: var(--button-shadow, none);
55
47
  --_boxShadow-hover: var(--button-shadow-hover, var(--_boxShadow));
56
48
  --_transition: var(--button-transition, 0.2s);
57
49
  --_borderSize: var(--button-border-size, 1.5px);
58
- --_fontSize: var(--eun-fontSize-s, 14px);
50
+ --_fontSize: var(--eun-font-size-s, 14px);
59
51
  --_gap: var(--eun-space-xs, 4px);
60
52
  --_lineHeight: 1rem;
61
53
  --icon-size: var(--_lineHeight);
62
- --_borderColor: transparent;
63
54
  --_before-display: none;
64
55
  --_cursor: pointer;
65
56
  display: inline-flex;
57
+ width: fit-content;
66
58
  position: relative;
67
59
  user-select: none;
68
60
  cursor: var(--_cursor);
@@ -80,95 +72,37 @@ const base = css `
80
72
  outline-color: var(--_focusIndicator);
81
73
  }
82
74
  :host([size="xs"]) {
83
- --_fontSize: var(--eun-fontSize-xs, 10px);
75
+ --_fontSize: var(--eun-font-size-xs, 10px);
84
76
  --_padding: var(--eun-space-xxs, 1.6px) var(--eun-space-xs, 4px);
85
77
  --_lineHeight: 10px;
86
- --_borderRadius: var(--eun-borderRadius-s, 999px);
78
+ --_borderRadius: var(--eun-border-radius-s, 999px);
87
79
  }
88
80
  :host([size="s"]) {
89
- --_fontSize: var(--eun-fontSize-xs, 10px);
81
+ --_fontSize: var(--eun-font-size-xs, 10px);
90
82
  --_padding: calc(var(--eun-space-s) / 2) var(--eun-space-s);
91
83
  --_lineHeight: 10px;
92
- --_borderRadius: var(--eun-borderRadius-s, 999px);
84
+ --_borderRadius: var(--eun-border-radius-s, 999px);
93
85
  }
94
86
  :host([size="l"]) {
95
- --_fontSize: var(--eun-fontSize-m, 16px);
87
+ --_fontSize: var(--eun-font-size-m, 16px);
96
88
  --_gap: var(--eun-space-m, 16px);
97
89
  --_padding: calc(var(--eun-space-s, 8px) * 1.25) var(--eun-space-l, 32px);
98
90
  --_lineHeight: 1.1rem;
99
91
  }
100
92
  :host([size="xl"]) {
101
- --_fontSize: var(--eun-fontSize-l, 1.3rem);
93
+ --_fontSize: var(--eun-font-size-l, 1.3rem);
102
94
  --_gap: var(--eun-space-m, 16px);
103
95
  --_padding: calc(var(--eun-space-s, 8px) * 1.5) var(--eun-space-l, 32px);
104
96
  --_lineHeight: 1.3rem;
105
97
  }
106
98
  :host([rounded]) {
107
- --_borderRadius: var(--eun-borderRadius-xl, 999px);
108
- }
109
- :host([variant="secondary"]) {
110
- --_mainColor: var(--eun-color-secondary-500, #e5a030);
111
- --_mainColor-hover: var(--eun-color-secondary-700, #ca8d2a);
112
- --_mainColor-active: var(--eun-color-secondary-800, #a97624);
113
- --_mainColor-text: var(--eun-color-on-secondary-500, #000000de);
114
- --_mainColor-outline: var(--eun-color-secondary-700, #ca8d2a);
115
- }
116
- :host([variant="critical"]) {
117
- --_mainColor: var(--eun-color-critical-100, #aa0014);
118
- --_mainColor-hover: var(--eun-color-critical-100, #aa0014);
119
- --_mainColor-active: var(--eun-color-critical-100, #aa0014);
120
- --_mainColor-text: #fff;
121
- --_mainColor-outline: var(--eun-color-critical-100, #aa0014);
122
- }
123
- :host([variant="success"]) {
124
- --_mainColor: var(--eun-color-success-100, #1a9948);
125
- --_mainColor-hover: var(--eun-color-success-100, #1a9948);
126
- --_mainColor-active: var(--eun-color-success-100, #1a9948);
127
- --_mainColor-text: #fff;
128
- --_mainColor-outline: var(--eun-color-success-100, #1a9948);
129
- }
130
- :host([variant="warning"]) {
131
- --_mainColor: var(--eun-color-warning-100, #c85207);
132
- --_mainColor-hover: var(--eun-color-warning-100, #c85207);
133
- --_mainColor-active: var(--eun-color-warning-100, #c85207);
134
- --_mainColor-text: #fff;
135
- --_mainColor-outline: var(--eun-color-warning-100, #c85207);
136
- }
137
- :host([variant="light"]) {
138
- --_mainColor: var(--eun-color-grey-0, #ffffff);
139
- --_mainColor-hover: var(--eun-color-grey-200, #ecedf0);
140
- --_mainColor-active: var(--eun-color-grey-300, #dee0e7);
141
- --_mainColor-text: var(--eun-color-grey-900, #000000);
142
- --_mainColor-outline: var(--eun-color-grey-500, #8d93aa);
143
- }
144
- :host([variant="medium"]) {
145
- --_mainColor: color-mix(
146
- in srgb,
147
- var(--eun-color-grey-700, #484e61) 20%,
148
- transparent
149
- );
150
- --_mainColor-hover: color-mix(
151
- in srgb,
152
- var(--eun-color-grey-700, #484e61) 30%,
153
- transparent
154
- );
155
- --_mainColor-active: color-mix(
156
- in srgb,
157
- var(--eun-color-grey-700, #484e61) 40%,
158
- transparent
159
- );
160
- --_mainColor-text: var(--eun-color-grey-900, #000000);
161
- --_mainColor-outline: var(--eun-color-grey-700, #484e61);
162
- }
163
- :host([variant="dark"]) {
164
- --_mainColor: var(--eun-color-grey-800, #071621);
165
- --_mainColor-hover: var(--eun-color-grey-900, #000000);
166
- --_mainColor-active: var(--eun-color-grey-900, #000000);
167
- --_mainColor-text: var(--eun-color-grey-0, #ffffff);
168
- --_mainColor-outline: var(--eun-color-grey-800, #071621);
99
+ --_borderRadius: var(--eun-border-radius-xl, 999px);
169
100
  }
170
101
  slot::slotted(*) {
171
102
  color: var(--_textColor);
103
+ }
104
+ slot::slotted(*:not([fill])),
105
+ slot::slotted(*[fill="currentColor"]) {
172
106
  fill: var(--_textColor);
173
107
  }
174
108
  slot[name="start"]::slotted(eun-icon),
@@ -180,15 +114,15 @@ const base = css `
180
114
  }
181
115
  #button {
182
116
  font-family: var(--eun-font-family, "Mulish", sans-serif);
183
- background: var(--_backgroundColor);
117
+ --_textColor: var(--button-text, var(--_fg));
118
+ background: var(--button-background, var(--_bg));
184
119
  border-radius: var(--_borderRadius);
185
120
  color: var(--_textColor);
186
121
  box-shadow: var(--_boxShadow);
187
122
  display: flex;
188
123
  width: 100%;
189
124
  height: fit-content;
190
- border: var(--_borderSize) solid
191
- var(--button-border-color, var(--_borderColor));
125
+ border: var(--_borderSize) solid var(--button-border-color, var(--_bd));
192
126
  outline: 2px solid transparent;
193
127
  padding: var(--_padding);
194
128
  gap: var(--_gap);
@@ -205,7 +139,7 @@ const base = css `
205
139
  box-shadow: var(--_boxShadow-hover);
206
140
  border-color: var(
207
141
  --button-border-color-hover,
208
- var(--button-border-color, var(--_borderColor))
142
+ var(--button-border-color, var(--_bd))
209
143
  );
210
144
  }
211
145
  #external-link-icon {
@@ -244,19 +178,89 @@ const base = css `
244
178
  border: 0;
245
179
  }
246
180
  `;
247
- const fill = css `
248
- :host([appearance="fill"]:not([disabled])) {
249
- --_backgroundColor: var(--_mainColor);
250
- --_textColor: var(--_mainColor-text);
181
+ const appearances = css `
182
+ :host([appearance="fill"]),
183
+ :host(:not([appearance])) {
184
+ --_bg: var(--_solid);
185
+ --_bg-hover: var(--_solid-hover);
186
+ --_bg-active: var(--_solid-active);
187
+ --_fg: var(--_onSolid);
188
+ --_bd: transparent;
189
+ }
190
+ :host([appearance="default"]) {
191
+ --_bg: var(--_tint);
192
+ --_bg-hover: var(--_tint-hover);
193
+ --_bg-active: var(--_tint-active);
194
+ --_fg: var(--_fgTint);
195
+ --_bd: transparent;
196
+ }
197
+ :host([appearance="outline"]) {
198
+ --_bg: transparent;
199
+ --_bg-hover: var(--_wash-hover);
200
+ --_bg-active: var(--_wash-active);
201
+ --_fg: var(--_accent);
202
+ --_bd: var(--_solid);
203
+ }
204
+ :host([appearance="ghost"]) {
205
+ --_bg: transparent;
206
+ --_bg-hover: var(--_wash-hover);
207
+ --_bg-active: var(--_wash-active);
208
+ --_fg: var(--_accent);
209
+ --_bd: transparent;
210
+ }
211
+ :host([appearance="ghost"]:not([variant])) {
212
+ --_accent: var(--eun-text-secondary, #484e61);
213
+ --_wash-hover: var(--eun-content-hover, #edeff0);
214
+ --_wash-active: var(--eun-disabled-color, #ecedf0);
215
+ }
216
+ :host([appearance="raised"]) {
217
+ --_bg: transparent;
218
+ --_bg-hover: transparent;
219
+ --_bg-active: transparent;
220
+ --_fg: var(--_accent);
221
+ --_bd: transparent;
222
+ --_boxShadow: var(
223
+ --button-shadow,
224
+ var(--eun-shadow-s, "rgba(149, 157, 165, 0.2) 0px 8px 24px")
225
+ );
226
+ --_boxShadow-hover: var(
227
+ --button-shadow-hover,
228
+ var(
229
+ --eun-shadow-m,
230
+ "rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px"
231
+ )
232
+ );
251
233
  }
252
- :host([appearance="fill"]:not([disabled]):is(:hover, :focus-visible)) #button,
253
- :host([appearance="fill"]:not([disabled]))
254
- #button:is(:hover, :focus-visible) {
255
- --_backgroundColor: var(--_mainColor-hover);
234
+ :host([appearance="flat"]) {
235
+ --_bg: var(--_flat);
236
+ --_bg-hover: var(--_flat-hover);
237
+ --_bg-active: var(--_flat-hover);
238
+ --_fg: var(--_flatFg);
239
+ --_bd: transparent;
256
240
  }
257
- :host([appearance="fill"]:not([disabled])) #button:active {
258
- --_backgroundColor: var(--_mainColor-active);
241
+
242
+ /* States : a custom background wins, derived when only the rest one is set. */
243
+ :host(:not([disabled])) #button:is(:hover, :focus-visible),
244
+ :host(:not([disabled]):focus-visible) #button {
245
+ background: var(
246
+ --button-background-hover,
247
+ var(--_hoverFromCustom, var(--_bg-hover))
248
+ );
259
249
  }
250
+ :host(:not([disabled])) #button:active {
251
+ background: var(
252
+ --button-background-active,
253
+ var(--_activeFromCustom, var(--_bg-active))
254
+ );
255
+ }
256
+ :host([appearance="raised"]:not([disabled])) #button:active {
257
+ box-shadow: var(
258
+ --eun-shadow-l,
259
+ "rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px"
260
+ );
261
+ }
262
+
263
+ /* A solid semantic button darkens instead of switching color. */
260
264
  :host(
261
265
  [appearance="fill"]:is(
262
266
  [variant="critical"],
@@ -281,281 +285,29 @@ const fill = css `
281
285
  filter: brightness(0.8);
282
286
  }
283
287
  `;
284
- const raised = css `
285
- :host([appearance="raised"]:not([disabled])) {
286
- --_backgroundColor: transparent;
287
- --_textColor: var(--_mainColor);
288
- --_boxShadow: var(
289
- --button-shadow,
290
- var(--eun-shadow-s, "rgba(149, 157, 165, 0.2) 0px 8px 24px")
291
- );
292
- --_boxShadow-hover: var(
293
- --button-shadow-hover,
294
- var(
295
- --eun-shadow-m,
296
- "rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px"
297
- )
298
- );
299
- }
300
- :host([appearance="raised"]:not([disabled])) #button:active {
301
- box-shadow: var(
302
- --eun-shadow-l,
303
- "rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px"
304
- );
305
- }
306
- `;
307
- const defaultAppearance = css `
308
- :host([appearance="default"]:not([disabled])) {
309
- --_textColor: var(--_mainColor);
310
- }
311
- :host([appearance="default"]:not([disabled])) {
312
- --_backgroundColor: var(
313
- --button-background,
314
- var(--eun-color-primary-transparent, #3d6fff33)
315
- );
316
- --_mainColor-hover: var(
317
- --button-background-hover,
318
- var(--eun-color-primary-transparent-hover, #3d6fff4d)
319
- );
320
- --_mainColor-active: var(
321
- --button-background-active,
322
- var(--eun-color-primary-transparent-active, #3d6fff66)
323
- );
324
- }
325
- :host([appearance="default"][variant="secondary"]:not([disabled])) {
326
- --_backgroundColor: var(
327
- --button-background,
328
- var(--eun-color-secondary-transparent, #e5a03033)
329
- );
330
- --_mainColor-hover: var(
331
- --button-background-hover,
332
- var(--eun-color-secondary-transparent-hover, #e5a0304d)
333
- );
334
- --_mainColor-active: var(
335
- --button-background-active,
336
- var(--eun-color-secondary-transparent-active, #e5a03066)
337
- );
338
- }
339
- :host([appearance="default"][variant="critical"]:not([disabled])) {
340
- --_backgroundColor: var(
341
- --button-background,
342
- var(--eun-color-critical-30, #faf0f1)
343
- );
344
- --_mainColor-hover: var(
345
- --button-background-hover,
346
- var(--eun-color-critical-50, #f1d6d9)
347
- );
348
- --_mainColor-active: var(
349
- --button-background-active,
350
- var(--eun-color-critical-90, #e4adb4)
351
- );
352
- }
353
- :host([appearance="default"][variant="success"]:not([disabled])) {
354
- --_backgroundColor: var(
355
- --button-background,
356
- var(--eun-color-success-30, #f1f9f4)
357
- );
358
- --_mainColor-hover: var(
359
- --button-background-hover,
360
- var(--eun-color-success-50, #daefe2)
361
- );
362
- --_mainColor-active: var(
363
- --button-background-active,
364
- var(--eun-color-success-90, #b6dec4)
365
- );
366
- }
367
- :host([appearance="default"][variant="warning"]:not([disabled])) {
368
- --_backgroundColor: var(
369
- --button-background,
370
- var(--eun-color-warning-30, #fcf5f0)
371
- );
372
- --_mainColor-hover: var(
373
- --button-background-hover,
374
- var(--eun-color-warning-50, #f6e3d7)
375
- );
376
- --_mainColor-active: var(
377
- --button-background-active,
378
- var(--eun-color-warning-90, #edc8b0)
379
- );
380
- }
381
- :host([appearance="default"][variant="light"]:not([disabled])) {
382
- --_backgroundColor: var(
383
- --button-background,
384
- var(--eun-color-grey-100, #f7f8fa)
385
- );
386
- --_mainColor-hover: var(
387
- --button-background-hover,
388
- var(--eun-color-grey-200, #ecedf0)
389
- );
390
- --_mainColor-active: var(
391
- --button-background-active,
392
- var(--eun-color-grey-300, #dee0e7)
393
- );
394
- }
395
- :host([appearance="default"][variant="medium"]:not([disabled])) {
396
- --_backgroundColor: var(
397
- --button-background,
398
- var(--eun-color-grey-200, #ecedf0)
399
- );
400
- --_mainColor-hover: var(
401
- --button-background-hover,
402
- var(--eun-color-grey-300, #dee0e7)
403
- );
404
- --_mainColor-active: var(
405
- --button-background-active,
406
- var(--eun-color-grey-400, #c1c9d6)
407
- );
408
- }
409
- :host([appearance="default"][variant="dark"]:not([disabled])) {
410
- --_backgroundColor: var(
411
- --button-background,
412
- var(--eun-color-grey-200, #ecedf0)
413
- );
414
- --_mainColor-hover: var(
415
- --button-background-hover,
416
- var(--eun-color-grey-300, #dee0e7)
417
- );
418
- --_mainColor-active: var(
419
- --button-background-active,
420
- var(--eun-color-grey-400, #c1c9d6)
421
- );
422
- }
423
- :host([appearance="default"]:not([disabled]):is(:hover, :focus-visible))
424
- #button,
425
- :host([appearance="default"]:not([disabled]))
426
- #button:is(:hover, :focus-visible) {
427
- --_backgroundColor: var(--_mainColor-hover);
428
- }
429
- :host([appearance="default"]:not([disabled])) #button:active {
430
- --_backgroundColor: var(--_mainColor-active);
431
- }
432
- `;
433
- const outline = css `
434
- :host([appearance="outline"]:not([disabled])) {
435
- --_backgroundColor: transparent;
436
- --_textColor: var(--_mainColor);
437
- --_borderColor: var(--_mainColor);
438
- --_mainColor-hover: var(--eun-color-primary-transparent-hover, #3d6fff4d);
439
- --_mainColor-active: var(--eun-color-primary-transparent-active, #3d6fff66);
440
- }
441
- :host([appearance="outline"][variant="secondary"]:not([disabled])) {
442
- --_mainColor-hover: var(--eun-color-secondary-transparent-hover, #e5a0304d);
443
- --_mainColor-active: var(
444
- --eun-color-secondary-transparent-active,
445
- #ef9c7c66
446
- );
447
- }
448
- :host([appearance="outline"][variant="critical"]:not([disabled])) {
449
- --_mainColor-hover: var(--eun-color-critical-50, #f1d6d9);
450
- --_mainColor-active: var(--eun-color-critical-90, #e4adb4);
451
- }
452
- :host([appearance="outline"][variant="success"]:not([disabled])) {
453
- --_mainColor-hover: var(--eun-color-success-50, #daefe2);
454
- --_mainColor-active: var(--eun-color-success-90, #b6dec4);
455
- }
456
- :host([appearance="outline"][variant="warning"]:not([disabled])) {
457
- --_mainColor-hover: var(--eun-color-warning-50, #f6e3d7);
458
- --_mainColor-active: var(--eun-color-warning-90, #edc8b0);
459
- }
460
- :host([appearance="outline"][variant="light"]:not([disabled])) {
461
- --_mainColor-hover: var(--eun-color-grey-200, #ecedf0);
462
- --_mainColor-active: var(--eun-color-grey-300, #dee0e7);
463
- }
464
- :host([appearance="outline"][variant="medium"]:not([disabled])) {
465
- --_mainColor-hover: var(--eun-color-grey-300, #dee0e7);
466
- --_mainColor-active: var(--eun-color-grey-400, #c1c9d6);
467
- }
468
- :host([appearance="outline"][variant="dark"]:not([disabled])) {
469
- --_mainColor-hover: var(--eun-color-grey-200, #ecedf0);
470
- --_mainColor-active: var(--eun-color-grey-300, #dee0e7);
471
- }
472
- :host([appearance="outline"]:not([disabled]):is(:hover, :focus-visible))
473
- #button,
474
- :host([appearance="outline"]:not([disabled]))
475
- #button:is(:hover, :focus-visible) {
476
- --_backgroundColor: var(--_mainColor-hover);
477
- }
478
- :host([appearance="outline"]:not([disabled])) #button:active {
479
- --_backgroundColor: var(--_mainColor-active);
480
- }
481
- `;
482
- const flat = css `
483
- :host([appearance="flat"]:not([disabled])) {
484
- --_backgroundColor: var(--eun-color-grey-100, #f7f8fa);
485
- --_textColor: var(--eun-text-secondary, #484e61);
486
- }
487
- :host([appearance="flat"]:not([disabled]):is(:hover, :focus-visible, :active))
488
- #button,
489
- :host([appearance="flat"]:not([disabled]))
490
- #button:is(:hover, :focus-visible, :active) {
491
- --_backgroundColor: var(--eun-content-hover, #edeff0);
492
- }
493
- `;
494
- const ghost = css `
495
- :host([appearance="ghost"]:not([disabled])) {
496
- --_backgroundColor: transparent;
497
- --_borderColor: transparent;
498
- --_textColor: var(--button-text, var(--_mainColor));
499
- --_mainColor-hover: var(--eun-color-primary-transparent-hover, #3d6fff4d);
500
- --_mainColor-active: var(--eun-color-primary-transparent-active, #3d6fff66);
501
- }
502
- :host([appearance="ghost"][variant="secondary"]:not([disabled])) {
503
- --_mainColor-hover: var(--eun-color-secondary-transparent-hover, #e5a0304d);
504
- --_mainColor-active: var(
505
- --eun-color-secondary-transparent-active,
506
- #ef9c7c66
507
- );
508
- }
509
- :host([appearance="ghost"][variant="critical"]:not([disabled])) {
510
- --_mainColor-hover: var(--eun-color-critical-50, #f1d6d9);
511
- --_mainColor-active: var(--eun-color-critical-90, #e4adb4);
512
- }
513
- :host([appearance="ghost"][variant="success"]:not([disabled])) {
514
- --_mainColor-hover: var(--eun-color-success-50, #daefe2);
515
- --_mainColor-active: var(--eun-color-success-90, #b6dec4);
516
- }
517
- :host([appearance="ghost"][variant="warning"]:not([disabled])) {
518
- --_mainColor-hover: var(--eun-color-warning-50, #f6e3d7);
519
- --_mainColor-active: var(--eun-color-warning-90, #edc8b0);
520
- }
521
- :host([appearance="ghost"][variant="light"]:not([disabled])) {
522
- --_mainColor-hover: var(--eun-color-grey-200, #ecedf0);
523
- --_mainColor-active: var(--eun-color-grey-300, #dee0e7);
524
- }
525
- :host([appearance="ghost"][variant="medium"]:not([disabled])) {
526
- --_mainColor-hover: var(--eun-color-grey-300, #dee0e7);
527
- --_mainColor-active: var(--eun-color-grey-400, #c1c9d6);
528
- }
529
- :host([appearance="ghost"][variant="dark"]:not([disabled])) {
530
- --_mainColor-hover: var(--eun-color-grey-200, #ecedf0);
531
- --_mainColor-active: var(--eun-color-grey-300, #dee0e7);
532
- }
533
- :host([appearance="ghost"]:not([variant]):not([disabled])) {
534
- --_mainColor: var(--eun-text-secondary, #484e61);
535
- --_mainColor-hover: var(--eun-content-hover, #edeff0);
536
- --_mainColor-active: var(--eun-disabled-color, #ecedf0);
537
- }
538
- :host([appearance="ghost"]:not([disabled])) #button:hover,
539
- :host([appearance="ghost"]:not([disabled]):focus-visible) #button,
540
- :host([appearance="ghost"]:not([disabled])) #button:focus-visible {
541
- --_backgroundColor: var(--_mainColor-hover);
542
- }
543
- :host([appearance="ghost"]:not([disabled])) #button:active {
544
- --_backgroundColor: var(--_mainColor-active);
545
- }
546
- `;
547
288
  const disabled = css `
548
289
  :host([disabled]) {
549
- --_mainColor: var(--eun-disabled-color, #ecedf0);
550
- --_textColor: var(--eun-text-disabled-color, #8d93aa);
290
+ --_bg: var(--eun-disabled-color, #ecedf0);
291
+ --_bg-hover: var(--eun-disabled-color, #ecedf0);
292
+ --_bg-active: var(--eun-disabled-color, #ecedf0);
293
+ --_fg: var(--eun-text-disabled-color, #8d93aa);
294
+ --_bd: transparent;
295
+ --_boxShadow: none;
296
+ --_boxShadow-hover: none;
551
297
  --_cursor: not-allowed;
552
298
  }
553
299
  :host([disabled]) #button {
554
300
  --_icon-color: currentColor;
301
+ --_textColor: var(--_fg);
302
+ background: var(--_bg);
303
+ border-color: var(--_bd);
555
304
  pointer-events: none;
556
305
  }
557
306
  `;
558
307
  const slide = css `
308
+ :host([slide]) {
309
+ width: auto;
310
+ }
559
311
  :host([slide]) #button {
560
312
  display: grid;
561
313
  grid-template-columns: auto 0fr auto;
@@ -599,7 +351,7 @@ const full = css `
599
351
  const fullVariable = css `
600
352
  @supports (width: if(style(--a: b): 1px; else: 2px)) {
601
353
  :host {
602
- width: if(style(--button-full: true): 100%; else: auto);
354
+ width: if(style(--button-full: true): 100%; else: fit-content);
603
355
  }
604
356
  #button {
605
357
  justify-content: if(style(--button-full: true): center; else: normal);
@@ -607,13 +359,9 @@ const fullVariable = css `
607
359
  }
608
360
  `;
609
361
  export const buttonStyles = [
362
+ buttonPaletteStyles,
610
363
  base,
611
- fill,
612
- raised,
613
- outline,
614
- flat,
615
- ghost,
616
- defaultAppearance,
364
+ appearances,
617
365
  disabled,
618
366
  slide,
619
367
  fullVariable,
@@ -55,6 +55,8 @@ export type EunomiaDropdownPlacement = "top-start" | "top" | "top-end" | "right"
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
57
  * @prop {'primary' | 'secondary' | 'critical' | 'success' | 'warning'} variant - The color theme 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 variants
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 variants
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
@@ -133,6 +135,11 @@ export declare class EunomiaDropdownButton extends LitElement implements Dropdow
133
135
  * Forwarded to the trigger `eun-button`.
134
136
  */
135
137
  variant?: ButtonVariant;
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