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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (354) hide show
  1. package/README.md +1 -1
  2. package/dist/cdn/components/chunks/chunk-2JLDJFYD.js +48 -0
  3. package/dist/cdn/components/chunks/chunk-4MXL6PZC.js +124 -0
  4. package/dist/cdn/components/chunks/{chunk-32KRPOPV.js → chunk-5XJGYXW7.js} +6 -6
  5. package/dist/cdn/components/chunks/{chunk-O2HNWH65.js → chunk-5XJLIHAU.js} +7 -7
  6. package/dist/cdn/components/chunks/{chunk-5GF2Q3NR.js → chunk-74AOAB4X.js} +1 -1
  7. package/dist/cdn/components/chunks/{chunk-WYMBUIKX.js → chunk-A6KGFALA.js} +4 -4
  8. package/dist/cdn/components/chunks/chunk-BMQOI7HX.js +371 -0
  9. package/dist/cdn/components/chunks/{chunk-LJYTHDZP.js → chunk-D2M4BV5Y.js} +6 -6
  10. package/dist/cdn/components/chunks/{chunk-NEYBPT3D.js → chunk-EJIX2D4Z.js} +2 -2
  11. package/dist/cdn/components/chunks/{chunk-BYBUXKXC.js → chunk-EOWBYZV7.js} +2 -2
  12. package/dist/cdn/components/chunks/chunk-EST3M4AO.js +1 -0
  13. package/dist/cdn/components/chunks/{chunk-AQQMW353.js → chunk-GSJEJLFA.js} +3 -3
  14. package/dist/cdn/components/chunks/chunk-GU6BVMFJ.js +1 -0
  15. package/dist/cdn/components/chunks/{chunk-5RCCZVFZ.js → chunk-IJ5WFMK4.js} +1 -1
  16. package/dist/cdn/components/chunks/{chunk-RWONCXTF.js → chunk-KVYUNKUO.js} +2 -2
  17. package/dist/cdn/components/chunks/chunk-LGLQ36QB.js +16 -0
  18. package/dist/cdn/components/chunks/{chunk-74HHV4CX.js → chunk-NHFWATVN.js} +2 -2
  19. package/dist/cdn/components/chunks/chunk-OAULRKHQ.js +38 -0
  20. package/dist/cdn/components/chunks/chunk-P32B7BFD.js +118 -0
  21. package/dist/cdn/components/chunks/{chunk-ZPFHTJSS.js → chunk-PCM7D3YF.js} +1 -1
  22. package/dist/cdn/components/chunks/{chunk-ABYEBP57.js → chunk-PED5ATYN.js} +11 -8
  23. package/dist/cdn/components/chunks/{chunk-ON42P6FI.js → chunk-RJCJXB7Y.js} +5 -5
  24. package/dist/cdn/components/chunks/{chunk-5C7YND22.js → chunk-S2UCEWNG.js} +8 -8
  25. package/dist/cdn/components/chunks/{chunk-7WTSHE7M.js → chunk-SIHZFOTK.js} +9 -9
  26. package/dist/cdn/components/chunks/{chunk-6UPI7GHJ.js → chunk-UAGCQF23.js} +7 -7
  27. package/dist/cdn/components/chunks/{chunk-6IILPCSQ.js → chunk-X2AUBZD2.js} +3 -3
  28. package/dist/cdn/components/chunks/chunk-YGUJJ25C.js +263 -0
  29. package/dist/cdn/components/chunks/chunk-YYCEPZUN.js +1 -0
  30. package/dist/cdn/components/eun-alert.js +65 -45
  31. package/dist/cdn/components/eun-animate.js +178 -2
  32. package/dist/cdn/components/eun-badge.js +1 -1
  33. package/dist/cdn/components/eun-breadcrumb-item.js +14 -10
  34. package/dist/cdn/components/eun-breadcrumb.js +11 -7
  35. package/dist/cdn/components/eun-button.js +1 -1
  36. package/dist/cdn/components/eun-calendar.js +16 -16
  37. package/dist/cdn/components/eun-card.js +29 -12
  38. package/dist/cdn/components/eun-carousel.js +36 -28
  39. package/dist/cdn/components/eun-check-card.js +3 -3
  40. package/dist/cdn/components/eun-checkbox-list.js +3 -3
  41. package/dist/cdn/components/eun-checkbox.js +1 -1
  42. package/dist/cdn/components/eun-chip.js +45 -210
  43. package/dist/cdn/components/eun-collapse.js +20 -26
  44. package/dist/cdn/components/eun-color-picker.js +28 -28
  45. package/dist/cdn/components/eun-counter.js +11 -11
  46. package/dist/cdn/components/eun-date-picker.js +50 -50
  47. package/dist/cdn/components/eun-drawer.js +3 -3
  48. package/dist/cdn/components/eun-dropdown-button.js +1 -1
  49. package/dist/cdn/components/eun-dropdown-item.js +6 -6
  50. package/dist/cdn/components/eun-fab.js +31 -53
  51. package/dist/cdn/components/eun-icon.js +1 -1
  52. package/dist/cdn/components/eun-image-card.js +18 -11
  53. package/dist/cdn/components/eun-image-carousel.js +16 -16
  54. package/dist/cdn/components/eun-infinite-list.js +1 -1
  55. package/dist/cdn/components/eun-input-file.js +20 -20
  56. package/dist/cdn/components/eun-input-phone.js +14 -14
  57. package/dist/cdn/components/eun-input.js +1 -1
  58. package/dist/cdn/components/eun-label.js +4 -4
  59. package/dist/cdn/components/eun-link.js +29 -11
  60. package/dist/cdn/components/eun-loader.js +1 -1
  61. package/dist/cdn/components/eun-modal.js +6 -6
  62. package/dist/cdn/components/eun-pagination.js +3 -3
  63. package/dist/cdn/components/eun-password-strength.js +9 -6
  64. package/dist/cdn/components/eun-progress-bar.js +13 -13
  65. package/dist/cdn/components/eun-radio-card.js +2 -2
  66. package/dist/cdn/components/eun-radio-list.js +3 -3
  67. package/dist/cdn/components/eun-radio.js +1 -1
  68. package/dist/cdn/components/eun-scheduler-event-editor.js +2 -2
  69. package/dist/cdn/components/eun-scheduler-event.js +1 -1
  70. package/dist/cdn/components/eun-scheduler.js +10 -10
  71. package/dist/cdn/components/eun-search.js +7 -7
  72. package/dist/cdn/components/eun-select.js +39 -18
  73. package/dist/cdn/components/eun-sidebar.js +10 -10
  74. package/dist/cdn/components/eun-skeleton.js +1 -1
  75. package/dist/cdn/components/eun-slider.js +9 -9
  76. package/dist/cdn/components/eun-sliding-card.js +7 -10
  77. package/dist/cdn/components/eun-step.js +8 -8
  78. package/dist/cdn/components/eun-stepper.js +8 -8
  79. package/dist/cdn/components/eun-switch.js +10 -10
  80. package/dist/cdn/components/eun-tab-group.js +19 -11
  81. package/dist/cdn/components/eun-tab-panel.js +1 -1
  82. package/dist/cdn/components/eun-tab.js +1 -1
  83. package/dist/cdn/components/eun-table-action-bar.js +1 -1
  84. package/dist/cdn/components/eun-table-cell.js +1 -1
  85. package/dist/cdn/components/eun-table-column.js +1 -1
  86. package/dist/cdn/components/eun-table-header.js +1 -1
  87. package/dist/cdn/components/eun-table-item.js +1 -1
  88. package/dist/cdn/components/eun-table-skeleton-row.js +1 -1
  89. package/dist/cdn/components/eun-table.js +3 -3
  90. package/dist/cdn/components/eun-tag.js +34 -122
  91. package/dist/cdn/components/eun-textarea.js +28 -28
  92. package/dist/cdn/components/eun-time-picker.js +25 -25
  93. package/dist/cdn/components/eun-toast.js +40 -36
  94. package/dist/cdn/components/eun-toggle-group.js +199 -66
  95. package/dist/cdn/components/eun-toggle-item.js +42 -25
  96. package/dist/cdn/components/eun-toggle.js +13 -10
  97. package/dist/cdn/components/eun-toolbar.js +28 -19
  98. package/dist/cdn/components/eun-tooltip.js +122 -87
  99. package/dist/cdn/styles/eunomia-themes.css +1 -1
  100. package/dist/cdn/styles/themes/eunomia-theme.css +1 -1
  101. package/dist/cdn/styles/themes/eunomia-theme.scss +1 -0
  102. package/dist/cdn/styles/themes/mixins/eunomia-neutrals.mixin.scss +71 -0
  103. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +3 -13
  104. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +3 -13
  105. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.css +1 -1
  106. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +2 -0
  107. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +3 -13
  108. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +3 -13
  109. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.css +1 -1
  110. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +2 -0
  111. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +3 -13
  112. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +3 -13
  113. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.css +1 -1
  114. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +2 -0
  115. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +3 -13
  116. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +3 -13
  117. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.css +1 -1
  118. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +2 -0
  119. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +3 -13
  120. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +3 -13
  121. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.css +1 -1
  122. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +2 -0
  123. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +3 -13
  124. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +3 -13
  125. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.css +1 -1
  126. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +2 -0
  127. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +3 -13
  128. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +3 -13
  129. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.css +1 -1
  130. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +2 -0
  131. package/dist/cdn/styles/tools/indexes/eunomia-tools.index.scss +1 -0
  132. package/dist/cdn/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +39 -0
  133. package/dist/cdn/styles/tools/mixins/settings/eunomia-border.mixin.scss +3 -3
  134. package/dist/cdn/styles/tools/mixins/settings/eunomia-font.mixin.scss +12 -12
  135. package/dist/cdn/styles/tools/mixins/settings/eunomia-radius.mixin.scss +4 -4
  136. package/dist/components/action/button/button.d.ts +7 -6
  137. package/dist/components/action/button/button.js +7 -6
  138. package/dist/components/action/button/button.styles.js +143 -373
  139. package/dist/components/action/dropdown-button/dropdown-button.d.ts +7 -0
  140. package/dist/components/action/dropdown-button/dropdown-button.js +11 -0
  141. package/dist/components/action/dropdown-button/dropdown-button.styles.js +8 -8
  142. package/dist/components/action/dropdown-button/dropdown-item.styles.js +6 -6
  143. package/dist/components/action/fab/fab.d.ts +3 -1
  144. package/dist/components/action/fab/fab.js +3 -1
  145. package/dist/components/action/fab/fab.styles.js +26 -49
  146. package/dist/components/action/link/link.d.ts +50 -0
  147. package/dist/components/action/link/link.js +69 -1
  148. package/dist/components/action/link/link.styles.js +19 -2
  149. package/dist/components/action/shared-styles/button-palette.styles.d.ts +27 -0
  150. package/dist/components/action/shared-styles/button-palette.styles.js +151 -0
  151. package/dist/components/action/toggle/toggle-group.d.ts +41 -7
  152. package/dist/components/action/toggle/toggle-group.js +162 -46
  153. package/dist/components/action/toggle/toggle-group.styles.d.ts +6 -5
  154. package/dist/components/action/toggle/toggle-group.styles.js +152 -35
  155. package/dist/components/action/toggle/toggle-item.styles.js +38 -21
  156. package/dist/components/action/toggle/toggle.d.ts +1 -1
  157. package/dist/components/action/toggle/toggle.js +2 -2
  158. package/dist/components/action/toggle/toggle.styles.d.ts +2 -2
  159. package/dist/components/action/toggle/toggle.styles.js +13 -10
  160. package/dist/components/alert/alert/alert.d.ts +4 -3
  161. package/dist/components/alert/alert/alert.js +4 -3
  162. package/dist/components/alert/alert/alert.styles.js +57 -36
  163. package/dist/components/alert/drawer/drawer.styles.js +3 -3
  164. package/dist/components/alert/modal/modal.styles.js +6 -6
  165. package/dist/components/alert/toast/toast.d.ts +4 -3
  166. package/dist/components/alert/toast/toast.js +4 -3
  167. package/dist/components/alert/toast/toast.styles.js +41 -36
  168. package/dist/components/content/badge/badge.styles.js +1 -1
  169. package/dist/components/content/card/card.d.ts +4 -4
  170. package/dist/components/content/card/card.js +4 -4
  171. package/dist/components/content/card/card.styles.js +27 -10
  172. package/dist/components/content/card/image-card.d.ts +1 -1
  173. package/dist/components/content/card/image-card.js +1 -1
  174. package/dist/components/content/card/image-card.styles.js +17 -10
  175. package/dist/components/content/card/sliding-card.styles.js +3 -6
  176. package/dist/components/content/chip/chip.d.ts +16 -7
  177. package/dist/components/content/chip/chip.js +18 -6
  178. package/dist/components/content/chip/chip.styles.d.ts +1 -1
  179. package/dist/components/content/chip/chip.styles.js +43 -210
  180. package/dist/components/content/collapse/collapse.styles.js +10 -16
  181. package/dist/components/content/icon/icon.d.ts +48 -5
  182. package/dist/components/content/icon/icon.js +92 -20
  183. package/dist/components/content/icon/icon.style.js +1 -1
  184. package/dist/components/content/image-carousel/image-carousel.styles.js +14 -14
  185. package/dist/components/content/password-strength/password-strength.styles.js +7 -4
  186. package/dist/components/content/progress-bar/progress-bar.styles.js +9 -9
  187. package/dist/components/content/shared-styles/tone-surface.styles.d.ts +31 -0
  188. package/dist/components/content/shared-styles/tone-surface.styles.js +149 -0
  189. package/dist/components/content/tag/tag.d.ts +16 -6
  190. package/dist/components/content/tag/tag.js +19 -6
  191. package/dist/components/content/tag/tag.styles.d.ts +1 -1
  192. package/dist/components/content/tag/tag.styles.js +40 -121
  193. package/dist/components/content/tooltip/tooltip.d.ts +15 -4
  194. package/dist/components/content/tooltip/tooltip.js +21 -4
  195. package/dist/components/content/tooltip/tooltip.styles.js +115 -79
  196. package/dist/components/form/checkbox/check-card.styles.js +2 -2
  197. package/dist/components/form/checkbox/checkbox-list.d.ts +1 -1
  198. package/dist/components/form/checkbox/checkbox-list.js +1 -1
  199. package/dist/components/form/checkbox/checkbox.d.ts +1 -1
  200. package/dist/components/form/checkbox/checkbox.styles.js +6 -6
  201. package/dist/components/form/color-picker/color-picker.d.ts +1 -1
  202. package/dist/components/form/color-picker/color-picker.js +9 -7
  203. package/dist/components/form/color-picker/color-picker.styles.js +7 -7
  204. package/dist/components/form/counter/counter.d.ts +1 -1
  205. package/dist/components/form/counter/counter.js +3 -3
  206. package/dist/components/form/counter/counter.styles.js +7 -7
  207. package/dist/components/form/date-picker/date-picker-day-grid.styles.js +2 -2
  208. package/dist/components/form/date-picker/date-picker-grid.styles.js +15 -15
  209. package/dist/components/form/date-picker/date-picker-month-grid.styles.js +1 -1
  210. package/dist/components/form/date-picker/date-picker-year-grid.styles.js +1 -1
  211. package/dist/components/form/date-picker/date-picker.d.ts +1 -1
  212. package/dist/components/form/date-picker/date-picker.js +3 -3
  213. package/dist/components/form/date-picker/date-picker.styles.js +12 -12
  214. package/dist/components/form/input/input.d.ts +1 -1
  215. package/dist/components/form/input/input.js +2 -2
  216. package/dist/components/form/input-file/input-file.d.ts +1 -1
  217. package/dist/components/form/input-file/input-file.js +5 -5
  218. package/dist/components/form/input-file/input-file.styles.js +9 -9
  219. package/dist/components/form/input-phone/input-phone.d.ts +1 -1
  220. package/dist/components/form/input-phone/input-phone.js +3 -3
  221. package/dist/components/form/input-phone/input-phone.styles.js +7 -7
  222. package/dist/components/form/label/label.styles.js +4 -4
  223. package/dist/components/form/radio/radio-card.styles.js +1 -1
  224. package/dist/components/form/radio/radio-list.d.ts +1 -1
  225. package/dist/components/form/radio/radio-list.js +2 -2
  226. package/dist/components/form/radio/radio.d.ts +1 -1
  227. package/dist/components/form/radio/radio.styles.js +2 -2
  228. package/dist/components/form/search/search.styles.js +6 -6
  229. package/dist/components/form/select/select.d.ts +17 -1
  230. package/dist/components/form/select/select.js +28 -5
  231. package/dist/components/form/select/select.styles.js +16 -5
  232. package/dist/components/form/shared-styles/card.styles.js +1 -1
  233. package/dist/components/form/shared-styles/field.styles.js +7 -7
  234. package/dist/components/form/shared-styles/form-labels.styles.js +1 -1
  235. package/dist/components/form/shared-styles/listbox.styles.js +6 -6
  236. package/dist/components/form/slider/slider.d.ts +1 -1
  237. package/dist/components/form/slider/slider.js +2 -2
  238. package/dist/components/form/slider/slider.styles.js +6 -6
  239. package/dist/components/form/switch/switch.d.ts +1 -1
  240. package/dist/components/form/switch/switch.styles.js +8 -8
  241. package/dist/components/form/textarea/textarea.d.ts +1 -1
  242. package/dist/components/form/textarea/textarea.js +4 -4
  243. package/dist/components/form/textarea/textarea.styles.js +6 -6
  244. package/dist/components/form/time-picker/time-picker-columns.styles.js +6 -6
  245. package/dist/components/form/time-picker/time-picker-list.styles.js +2 -2
  246. package/dist/components/form/time-picker/time-picker.d.ts +1 -1
  247. package/dist/components/form/time-picker/time-picker.js +3 -3
  248. package/dist/components/form/time-picker/time-picker.styles.js +8 -8
  249. package/dist/components/layout/animate/animate.d.ts +40 -5
  250. package/dist/components/layout/animate/animate.js +30 -11
  251. package/dist/components/layout/animate/animate.styles.d.ts +1 -1
  252. package/dist/components/layout/animate/animate.styles.js +191 -1
  253. package/dist/components/loader/loader/loader.styles.js +2 -2
  254. package/dist/components/loader/skeleton/skeleton.styles.js +8 -5
  255. package/dist/components/navigation/breadcrumb/breadcrumb-item.d.ts +7 -0
  256. package/dist/components/navigation/breadcrumb/breadcrumb-item.js +15 -1
  257. package/dist/components/navigation/breadcrumb/breadcrumb-item.styles.js +3 -3
  258. package/dist/components/navigation/breadcrumb/breadcrumb.d.ts +1 -0
  259. package/dist/components/navigation/breadcrumb/breadcrumb.js +7 -1
  260. package/dist/components/navigation/breadcrumb/breadcrumb.styles.js +3 -3
  261. package/dist/components/navigation/carousel/carousel.d.ts +40 -6
  262. package/dist/components/navigation/carousel/carousel.js +61 -12
  263. package/dist/components/navigation/carousel/carousel.styles.js +20 -8
  264. package/dist/components/navigation/pagination/pagination.styles.js +3 -3
  265. package/dist/components/navigation/sidebar/sidebar.styles.js +9 -9
  266. package/dist/components/navigation/stepper/step.styles.js +8 -8
  267. package/dist/components/navigation/stepper/stepper.styles.js +8 -8
  268. package/dist/components/navigation/tabs/tab/tab.styles.js +5 -5
  269. package/dist/components/navigation/tabs/tab-group/tab-group.d.ts +9 -0
  270. package/dist/components/navigation/tabs/tab-group/tab-group.js +19 -2
  271. package/dist/components/navigation/tabs/tab-group/tab-group.styles.js +12 -4
  272. package/dist/components/navigation/tabs/tab-panel/tab-panel.styles.js +1 -1
  273. package/dist/components/navigation/toolbar/toolbar.d.ts +24 -0
  274. package/dist/components/navigation/toolbar/toolbar.js +30 -2
  275. package/dist/components/navigation/toolbar/toolbar.styles.js +20 -10
  276. package/dist/events/change.event.d.ts +13 -1
  277. package/dist/events/change.event.js +2 -1
  278. package/dist/features/scheduler/calendar/calendar.js +1 -1
  279. package/dist/features/scheduler/calendar/calendar.styles.js +3 -3
  280. package/dist/features/scheduler/scheduler/scheduler.styles.js +2 -2
  281. package/dist/features/scheduler/scheduler-event/scheduler-event.styles.js +2 -2
  282. package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.styles.js +2 -2
  283. package/dist/features/scheduler/shared/scheduler-event-popover.styles.js +4 -4
  284. package/dist/features/scheduler/shared/scheduler-hour-grid.styles.js +1 -1
  285. package/dist/features/scheduler/shared/scheduler-month-view.styles.js +1 -1
  286. package/dist/features/scheduler/shared/scheduler-year-view.styles.js +1 -1
  287. package/dist/features/table/native-table.css +11 -11
  288. package/dist/features/table/table/table.styles.js +2 -2
  289. package/dist/features/table/table-action-bar/table-action-bar.styles.js +2 -2
  290. package/dist/features/table/table-cell/table-cell.styles.js +2 -2
  291. package/dist/features/table/table-column/table-column.styles.js +3 -3
  292. package/dist/features/table/table-header/table-header.styles.js +4 -4
  293. package/dist/features/table/table-item/table-item.styles.js +6 -6
  294. package/dist/features/table/table-skeleton-row/table-skeleton-row.styles.js +1 -1
  295. package/dist/index.d.ts +5 -5
  296. package/dist/index.js +6 -3
  297. package/dist/jsx.d.ts +18 -5
  298. package/dist/mixins/button.mixin.d.ts +1 -0
  299. package/dist/mixins/button.mixin.js +10 -0
  300. package/dist/mixins/check.mixin.d.ts +1 -1
  301. package/dist/mixins/check.mixin.js +6 -2
  302. package/dist/mixins/editable.mixin.d.ts +1 -1
  303. package/dist/mixins/form.mixin.d.ts +9 -1
  304. package/dist/mixins/form.mixin.js +110 -14
  305. package/dist/mixins/overflow-navigation.mixin.js +2 -1
  306. package/dist/mixins/radio.mixin.d.ts +1 -1
  307. package/dist/mixins/radio.mixin.js +6 -2
  308. package/dist/mixins/validators.mixin.d.ts +9 -3
  309. package/dist/ssr/animate-ssr.css +149 -0
  310. package/dist/ssr/overlay-ssr.css +57 -0
  311. package/dist/ssr/sidebar-ssr.css +57 -0
  312. package/dist/ssr/toolbar-ssr.css +41 -0
  313. package/dist/utils/rich-text.utils.d.ts +33 -0
  314. package/dist/utils/rich-text.utils.js +140 -49
  315. package/dist/utils/theme-generator.utils.d.ts +24 -3
  316. package/dist/utils/theme-generator.utils.js +66 -21
  317. package/package.json +14 -3
  318. package/styles/themes/eunomia-theme.scss +1 -0
  319. package/styles/themes/mixins/eunomia-neutrals.mixin.scss +71 -0
  320. package/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +3 -13
  321. package/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +3 -13
  322. package/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +2 -0
  323. package/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +3 -13
  324. package/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +3 -13
  325. package/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +2 -0
  326. package/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +3 -13
  327. package/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +3 -13
  328. package/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +2 -0
  329. package/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +3 -13
  330. package/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +3 -13
  331. package/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +2 -0
  332. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +3 -13
  333. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +3 -13
  334. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +2 -0
  335. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +3 -13
  336. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +3 -13
  337. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +2 -0
  338. package/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +3 -13
  339. package/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +3 -13
  340. package/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +2 -0
  341. package/styles/tools/indexes/eunomia-tools.index.scss +1 -0
  342. package/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +39 -0
  343. package/styles/tools/mixins/settings/eunomia-border.mixin.scss +3 -3
  344. package/styles/tools/mixins/settings/eunomia-font.mixin.scss +12 -12
  345. package/styles/tools/mixins/settings/eunomia-radius.mixin.scss +4 -4
  346. package/dist/cdn/components/chunks/chunk-27Q2SLRY.js +0 -603
  347. package/dist/cdn/components/chunks/chunk-2IQUMAMI.js +0 -38
  348. package/dist/cdn/components/chunks/chunk-5TH3P53V.js +0 -16
  349. package/dist/cdn/components/chunks/chunk-7Q6AHVI5.js +0 -1
  350. package/dist/cdn/components/chunks/chunk-DENMN3WH.js +0 -48
  351. package/dist/cdn/components/chunks/chunk-MBF52GEL.js +0 -1
  352. package/dist/cdn/components/chunks/chunk-ONYUXQV2.js +0 -1
  353. package/dist/cdn/components/chunks/chunk-ZKPCO5RB.js +0 -262
  354. package/dist/components/layout/animate/animate-ssr.css +0 -64
@@ -26,7 +26,7 @@ export const EunomiaTagTagName = "eun-tag";
26
26
  * @slot [icon] - Replaces the icon entirely with any content, not just an icon element. Falls back to the resolved icon or severity glyph when empty
27
27
  * @prop { 'primary' | 'secondary' | 'light' | 'medium' | 'dark' } color - The color to apply to the tag
28
28
  * @prop { 'info' | 'success' | 'warning' | 'critical' | 'neutral' } severity - The severity of the tag, matching the nature of the information conveyed. Takes priority over color when both are set
29
- * @prop { 'default' | 'fill' | 'outline' | 'flat' } [appearance="default"] - The surface style of the tag. Flat always renders the same muted, low emphasis surface regardless of color or severity
29
+ * @prop { 'default' | 'fill' | 'outline' | 'flat' } [appearance="default"] - The surface style of the tag. Flat renders the same muted, low emphasis surface regardless of color or severity, except for the light and dark colors, which keep their own white or black
30
30
  * @prop { 's' | 'm' | 'l' } [size="m"] - The size of the tag
31
31
  * @prop {import('../icon/icon.type.js').EunomiaIconName} icon - The name of the custom icon to display. By default, the icon is set according to the tag's severity
32
32
  * @prop {boolean} [hideIcon=false] - Whether the icon is hidden from the tag. Takes priority over iconOnly
@@ -34,11 +34,14 @@ export const EunomiaTagTagName = "eun-tag";
34
34
  * @prop {boolean} [iconOnly=false] - Shows only the icon, visually hiding the slotted label while keeping it available to assistive technology as the tag's accessible name. Requires icon or severity to be set
35
35
  * @attr {boolean} [icon-only=false] - Shows only the icon, visually hiding the slotted label while keeping it available to assistive technology as the tag's accessible name. Requires icon or severity to be set
36
36
  * @prop {boolean} [rounded=false] - Whether the tag has rounded corners
37
+ * @prop {boolean} [fixedColor=false] - Keeps a light or dark tag 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 or on severity
38
+ * @attr {boolean} [fixed-color=false] - Keeps a light or dark tag 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 or on severity
37
39
  * @prop {boolean} [uppercase=false] - Whether the tag label is uppercased with extra letter spacing
38
- * @cssprop [--tag-background-color] - Sets the background color of the tag
39
- * @cssprop [--tag-border-color] - Sets the border color of the tag, for the outline appearance
40
- * @cssprop [--tag-color] - Sets the text color of the tag
41
- * @cssprop [--tag-border-radius] - Sets the corner radius of the tag
40
+ * @cssprop [--tag-background-color] - Sets the background color of the tag, for every appearance, color and severity
41
+ * @cssprop [--tag-border-color] - Sets the border color of the tag, for every appearance, color and severity
42
+ * @cssprop [--tag-border-width] - Sets the border width of the tag, for every appearance. The border takes room out of the padding, so the tag keeps its size
43
+ * @cssprop [--tag-color] - Sets the text and icon color of the tag, for every appearance, color and severity
44
+ * @cssprop [--tag-border-radius] - Sets the corner radius of the tag, also over rounded
42
45
  * @cssprop [--tag-gap] - Sets the gap between the tag icon and the label
43
46
  * @element eun-tag
44
47
  */
@@ -71,6 +74,13 @@ let EunomiaTag = class EunomiaTag extends LitElement {
71
74
  * @default false
72
75
  */
73
76
  this.rounded = false;
77
+ /**
78
+ * Keeps a `light` or `dark` tag white or black in every theme. Without
79
+ * it, they follow the grey scale, which flips with the active theme.
80
+ * Has no effect on the other colors or on `severity`.
81
+ * @default false
82
+ */
83
+ this.fixedColor = false;
74
84
  /**
75
85
  * Indicates whether the tag label should be uppercased with extra letter spacing.
76
86
  * @default false
@@ -174,8 +184,11 @@ __decorate([
174
184
  property({ type: Boolean, attribute: "icon-only", reflect: true })
175
185
  ], EunomiaTag.prototype, "iconOnly", void 0);
176
186
  __decorate([
177
- property({ type: Boolean })
187
+ property({ type: Boolean, reflect: true })
178
188
  ], EunomiaTag.prototype, "rounded", void 0);
189
+ __decorate([
190
+ property({ type: Boolean, reflect: true, attribute: "fixed-color" })
191
+ ], EunomiaTag.prototype, "fixedColor", void 0);
179
192
  __decorate([
180
193
  property({ type: Boolean, reflect: true })
181
194
  ], EunomiaTag.prototype, "uppercase", void 0);
@@ -1 +1 @@
1
- export declare const tagStyles: import("lit").CSSResult;
1
+ export declare const tagStyles: import("lit").CSSResult[];
@@ -1,12 +1,19 @@
1
1
  import { css } from "lit";
2
+ import { toneSurfaceStyles } from "../shared-styles/tone-surface.styles.js";
2
3
  /**
3
4
  * Base style for tag.
4
5
  *
6
+ * The palette and appearance resolution is shared with `eun-chip` (see
7
+ * {@link toneSurfaceStyles}) ; this sheet only reads its `--_bg`, `--_fg` and
8
+ * `--_bd` behind the `--tag-*` custom properties, applied last on the tag
9
+ * itself, so they win over any palette/appearance combination.
10
+ *
5
11
  * Custom css variables:
6
- * [--tag-background-color] - Set a custom color to the tag background
7
- * [--tag-border-color] - Set a custom color to the tag borders in case of the outline appearance
8
- * [--tag-color] - Set a custom color to the tag textual content
9
- * [--tag-border-radius] - Set a custom border radius to the tag
12
+ * [--tag-background-color] - Set a custom background color, for every appearance
13
+ * [--tag-color] - Set a custom color to the tag textual content and its icon
14
+ * [--tag-border-color] - Set a custom border color, for every appearance
15
+ * [--tag-border-width] - Set a custom border width, for every appearance. Defaults to 1px, only drawn (in a color) by outline, or when --tag-border-color is set
16
+ * [--tag-border-radius] - Set a custom border radius to the tag, also over rounded
10
17
  * [--tag-gap] - Set a custom gap between the tag icon and the label
11
18
  */
12
19
  const base = css `
@@ -15,100 +22,6 @@ const base = css `
15
22
  font-family: var(--eun-font-family, "Mulish", sans-serif);
16
23
  user-select: none;
17
24
  }
18
- :host(:not([severity]):not([color])) {
19
- --_background: var(--tag-background-color);
20
- --_backgroundFilled: var(--_background);
21
- --_color: var(--tag-color);
22
- --_border-color: var(--tag-border-color);
23
- }
24
- :host([color="primary"]:not([severity])) {
25
- --_background: var(--eun-color-primary-transparent, #3d6fff33);
26
- --_backgroundFilled: var(--eun-color-primary-500, #3d6fff);
27
- --_border-color: var(--eun-color-primary-500, #3d6fff);
28
- --_color: var(--eun-color-primary-500, #3d6fff);
29
- }
30
- :host([color="secondary"]:not([severity])) {
31
- --_background: var(--eun-color-secondary-transparent, #e5a03033);
32
- --_backgroundFilled: var(--eun-color-secondary-500, #e5a030);
33
- --_border-color: var(--eun-color-secondary-500, #e5a030);
34
- --_color: var(--eun-color-secondary-500, #e5a030);
35
- }
36
- :host([color="light"]:not([severity])) {
37
- --_background: var(--eun-color-grey-100, #f7f8fa);
38
- --_backgroundFilled: var(--eun-color-grey-100, #f7f8fa);
39
- --_border-color: var(--eun-color-grey-100, #f7f8fa);
40
- --_color: var(--eun-color-grey-600, #666e8a);
41
- }
42
- :host([color="light"][appearance="outline"]:not([severity])) {
43
- --_color: var(--eun-color-grey-600, #666e8a);
44
- }
45
- :host([color="medium"]:not([severity])) {
46
- --_background: var(--eun-color-grey-300, #dee0e7);
47
- --_backgroundFilled: var(--eun-color-grey-500, #8d93aa);
48
- --_border-color: var(--eun-color-grey-300, #dee0e7);
49
- --_color: var(--eun-color-grey-900, #000000);
50
- }
51
- :host([color="dark"]:not([severity])) {
52
- --_background: var(--eun-color-grey-800, #071621);
53
- --_backgroundFilled: var(--eun-color-grey-800, #071621);
54
- --_border-color: var(--eun-color-grey-800, #071621);
55
- --_color: var(--eun-color-grey-0, #ffffff);
56
- }
57
- :host([color="dark"][appearance="outline"]:not([severity])) {
58
- --_color: var(--eun-color-grey-800, #071621);
59
- }
60
-
61
- :host([severity="info"]) {
62
- --_background: var(--eun-color-info-30, #f0f7fa);
63
- --_backgroundFilled: var(--eun-color-info-100, #097faf);
64
- --_border-color: var(--eun-color-info-100, #097faf);
65
- --_color: var(--eun-color-info-100, #097faf);
66
- }
67
- :host([severity="success"]) {
68
- --_background: var(--eun-color-success-30, #f1f9f4);
69
- --_backgroundFilled: var(--eun-color-success-100, #1a9948);
70
- --_border-color: var(--eun-color-success-100, #1a9948);
71
- --_color: var(--eun-color-success-100, #1a9948);
72
- }
73
- :host([severity="warning"]) {
74
- --_background: var(--eun-color-warning-30, #fcf5f0);
75
- --_backgroundFilled: var(--eun-color-warning-100, #c85207);
76
- --_border-color: var(--eun-color-warning-100, #c85207);
77
- --_color: var(--eun-color-warning-100, #c85207);
78
- }
79
- :host([severity="critical"]) {
80
- --_background: var(--eun-color-critical-30, #faf0f1);
81
- --_backgroundFilled: var(--eun-color-critical-100, #aa0014);
82
- --_border-color: var(--eun-color-critical-100, #aa0014);
83
- --_color: var(--eun-color-critical-100, #aa0014);
84
- }
85
- :host([severity="neutral"]) {
86
- --_background: var(--eun-color-grey-200, #ecedf0);
87
- --_backgroundFilled: var(--eun-color-grey-700, #484e61);
88
- --_border-color: var(--eun-color-grey-700, #484e61);
89
- --_color: var(--eun-color-grey-700, #484e61);
90
- }
91
- :host([appearance="default"]) #tag {
92
- background: var(--_background);
93
- }
94
-
95
- :host([appearance="fill"]) #tag {
96
- --_color: #fff;
97
- background: var(--_backgroundFilled);
98
- color: var(--_color);
99
- }
100
-
101
- :host([appearance="outline"]) #tag {
102
- --_border-size: 1px;
103
- background: transparent;
104
- border: var(--eun-borderWidth-s, 1px) solid var(--_border-color);
105
- }
106
-
107
- :host([appearance="flat"]) #tag {
108
- --_color: var(--eun-text-secondary, #484e61);
109
- background: var(--eun-content-hover, #edeff0);
110
- color: var(--_color);
111
- }
112
25
 
113
26
  :host([uppercase]) #tag {
114
27
  letter-spacing: 0.15em;
@@ -116,37 +29,40 @@ const base = css `
116
29
  }
117
30
 
118
31
  :host([size="s"]) #tag {
119
- --_padding: var(--eun-space-xs, 4px) var(--eun-space-s, 8px);
120
- --_fontSize: var(--eun-fontSize-xs, 12px);
32
+ --_padV: var(--eun-space-xs, 4px);
33
+ --_padH: var(--eun-space-s, 8px);
34
+ --_fontSize: var(--eun-font-size-xs, 12px);
121
35
  --_gap: var(--eun-space-xs, 4px);
122
36
  }
123
37
  :host([size="m"]) #tag,
124
38
  :host(:not([size])) #tag {
125
- --_padding: var(--eun-space-s, 8px) calc(var(--eun-space-m, 16px) / 2);
126
- --_fontSize: var(--eun-fontSize-s, 14px);
39
+ --_padV: var(--eun-space-s, 8px);
40
+ --_padH: calc(var(--eun-space-m, 16px) / 2);
41
+ --_fontSize: var(--eun-font-size-s, 14px);
127
42
  --_gap: var(--eun-space-xs, 4px);
128
43
  }
129
44
  :host([size="l"]) #tag {
130
- --_padding: var(--eun-space-s, 8px) var(--eun-space-m, 16px);
131
- --_fontSize: var(--eun-fontSize-m, 16px);
45
+ --_padV: var(--eun-space-s, 8px);
46
+ --_padH: var(--eun-space-m, 16px);
47
+ --_fontSize: var(--eun-font-size-m, 16px);
132
48
  --_gap: var(--eun-space-s, 8px);
133
49
  }
134
50
 
135
51
  :host([icon-only][size="s"]) #tag {
136
- --_padding: var(--eun-space-xs, 4px);
52
+ --_padV: var(--eun-space-xs, 4px);
53
+ --_padH: var(--eun-space-xs, 4px);
137
54
  }
138
55
  :host([icon-only][size="m"]) #tag,
139
- :host([icon-only]:not([size])) #tag {
140
- --_padding: var(--eun-space-s, 8px);
141
- }
56
+ :host([icon-only]:not([size])) #tag,
142
57
  :host([icon-only][size="l"]) #tag {
143
- --_padding: var(--eun-space-s, 8px);
58
+ --_padV: var(--eun-space-s, 8px);
59
+ --_padH: var(--eun-space-s, 8px);
144
60
  }
145
61
  :host([icon-only]) #tag {
146
62
  position: relative;
147
63
  justify-content: center;
148
64
  }
149
- :host([icon-only]) slot {
65
+ :host([icon-only]) slot:not([name]) {
150
66
  display: inline-block;
151
67
  position: absolute;
152
68
  width: 1px;
@@ -159,24 +75,27 @@ const base = css `
159
75
  border: 0;
160
76
  }
161
77
 
162
- :host([rounded]) {
163
- --_borderRadius: var(--eun-borderRadius-xl, 999px);
78
+ :host {
79
+ --_radius: var(--eun-border-radius-m, 5px);
164
80
  }
165
-
166
- :host(:not([rounded])) {
167
- --_borderRadius: var(--tag-border-radius, var(--eun-borderRadius-m, 5px));
81
+ :host([rounded]) {
82
+ --_radius: var(--eun-border-radius-xl, 999px);
168
83
  }
169
84
 
170
85
  #tag {
86
+ --_borderWidth: var(--tag-border-width, var(--eun-border-width-s, 1px));
171
87
  display: flex;
172
88
  align-items: center;
173
- border-radius: var(--_borderRadius);
174
- padding: var(--_padding);
89
+ background: var(--tag-background-color, var(--_bg));
90
+ color: var(--tag-color, var(--_fg));
91
+ border: var(--_borderWidth) solid var(--tag-border-color, var(--_bd));
92
+ border-radius: var(--tag-border-radius, var(--_radius));
93
+ padding: max(0px, calc(var(--_padV) - var(--_borderWidth)))
94
+ max(0px, calc(var(--_padH) - var(--_borderWidth)));
175
95
  font-size: var(--_fontSize);
176
96
  gap: var(--tag-gap, var(--_gap));
177
- color: var(--_color);
178
- font-weight: var(--eun-fontWeight-m, 500);
179
- --icon-color: var(--_color);
97
+ font-weight: var(--eun-font-weight-m, 500);
98
+ --icon-color: var(--tag-color, var(--_fg));
180
99
  }
181
100
 
182
101
  ::slotted(*) {
@@ -187,4 +106,4 @@ const base = css `
187
106
  display: none;
188
107
  }
189
108
  `;
190
- export const tagStyles = base;
109
+ export const tagStyles = [toneSurfaceStyles, base];
@@ -66,7 +66,9 @@ declare const EunomiaTooltipMixinBase: Constructor<EunomiaTooltipBase>;
66
66
  * @slot [description] - Extra detail below the heading, combining with richText if both are set
67
67
  * @prop {'info' | 'success' | 'warning' | 'critical' | 'neutral'} severity - The severity of the tooltip. Drives the heading accent color, taking priority over color when both are set
68
68
  * @prop {'primary' | 'secondary' | 'light' | 'medium' | 'dark'} [color='primary'] - A plain brand or neutral color, used only while severity is unset
69
- * @prop {'default' | 'flat' | 'fill' | 'outline'} [appearance='default'] - The visual style of the panel's surface, using the same names as the alert component, though always fully opaque rather than a translucent wash. Default is a pale, opaque tint of color or severity with accent colored text and no border. Setting color to dark renders it as a solid near-black surface with light text instead of a pale one
69
+ * @prop {'default' | 'flat' | 'fill' | 'outline'} [appearance='default'] - The visual style of the panel's surface, using the same names as the alert component, though always fully opaque rather than a translucent wash. Default is a pale, opaque tint of color or severity with accent colored text and no border. The light and dark colors have no pale tint, so default is as solid as fill for them, and outline is the color as border and text over a surface of the opposite tone
70
+ * @prop {boolean} [fixedColor=false] - Keeps a light or dark tooltip 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 or on severity
71
+ * @attr {boolean} [fixed-color=false] - Keeps a light or dark tooltip 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 or on severity
70
72
  * @prop {'top' | 'right' | 'bottom' | 'left'} [placement='top'] - The preferred side to open on, flipping to the opposite side automatically when there isn't room
71
73
  * @prop {string} heading - The tooltip's heading, as a property. When unset, the default slot's content is used instead
72
74
  * @prop {string} [richText] - Lightweight formatted content rendered above the description slot, combining with it. Supports simple lists, links, bold, and italic text
@@ -83,9 +85,11 @@ declare const EunomiaTooltipMixinBase: Constructor<EunomiaTooltipBase>;
83
85
  * @cssprop [--tooltip-viewport-gap] - Sets the minimum distance kept from the viewport edge, so the panel never runs off-screen
84
86
  * @cssprop [--tooltip-min-width] - Sets the minimum width of the panel
85
87
  * @cssprop [--tooltip-max-width] - Sets the maximum width of the panel
86
- * @cssprop [--tooltip-background-color] - Sets the background color when severity is unset
87
- * @cssprop [--tooltip-color] - Sets the heading color when severity is unset
88
- * @cssprop [--tooltip-content-color] - Sets the color of the description content
88
+ * @cssprop [--tooltip-background-color] - Sets the background color, for every appearance, color and severity
89
+ * @cssprop [--tooltip-color] - Sets the heading and link color, for every appearance, color and severity
90
+ * @cssprop [--tooltip-content-color] - Sets the color of the description content, for every appearance, color and severity
91
+ * @cssprop [--tooltip-border-color] - Sets the border color, for every appearance, color and severity
92
+ * @cssprop [--tooltip-border-width] - Sets the border width, for every appearance. The border takes room out of the padding, so the panel keeps its size
89
93
  * @cssprop [--tooltip-font-weight] - Sets the font weight of the description content, not the heading, and not richText, which stays at its own normal weight
90
94
  * @cssprop [--tooltip-border-radius] - Sets the corner radius of the panel
91
95
  * @cssprop [--tooltip-padding] - Sets the padding of the panel
@@ -120,6 +124,13 @@ export declare class EunomiaTooltip extends EunomiaTooltipMixinBase {
120
124
  * @default default
121
125
  */
122
126
  appearance: EunomiaTooltipAppearance;
127
+ /**
128
+ * Keeps a `light` or `dark` tooltip white or black in every theme.
129
+ * Without it, they follow the grey scale, which flips with the active
130
+ * theme. Has no effect on the other colors or on `severity`.
131
+ * @default false
132
+ */
133
+ fixedColor: boolean;
123
134
  /**
124
135
  * The preferred side to open on, flipping to the opposite side
125
136
  * automatically when there isn't room.
@@ -53,6 +53,8 @@ const FORWARDED_CSS_VARS = [
53
53
  "--tooltip-background-color",
54
54
  "--tooltip-color",
55
55
  "--tooltip-content-color",
56
+ "--tooltip-border-color",
57
+ "--tooltip-border-width",
56
58
  "--tooltip-font-weight",
57
59
  "--tooltip-border-radius",
58
60
  "--tooltip-padding",
@@ -92,7 +94,9 @@ const EunomiaTooltipMixinBase = AnchorPositionMixin(LitElement);
92
94
  * @slot [description] - Extra detail below the heading, combining with richText if both are set
93
95
  * @prop {'info' | 'success' | 'warning' | 'critical' | 'neutral'} severity - The severity of the tooltip. Drives the heading accent color, taking priority over color when both are set
94
96
  * @prop {'primary' | 'secondary' | 'light' | 'medium' | 'dark'} [color='primary'] - A plain brand or neutral color, used only while severity is unset
95
- * @prop {'default' | 'flat' | 'fill' | 'outline'} [appearance='default'] - The visual style of the panel's surface, using the same names as the alert component, though always fully opaque rather than a translucent wash. Default is a pale, opaque tint of color or severity with accent colored text and no border. Setting color to dark renders it as a solid near-black surface with light text instead of a pale one
97
+ * @prop {'default' | 'flat' | 'fill' | 'outline'} [appearance='default'] - The visual style of the panel's surface, using the same names as the alert component, though always fully opaque rather than a translucent wash. Default is a pale, opaque tint of color or severity with accent colored text and no border. The light and dark colors have no pale tint, so default is as solid as fill for them, and outline is the color as border and text over a surface of the opposite tone
98
+ * @prop {boolean} [fixedColor=false] - Keeps a light or dark tooltip 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 or on severity
99
+ * @attr {boolean} [fixed-color=false] - Keeps a light or dark tooltip 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 or on severity
96
100
  * @prop {'top' | 'right' | 'bottom' | 'left'} [placement='top'] - The preferred side to open on, flipping to the opposite side automatically when there isn't room
97
101
  * @prop {string} heading - The tooltip's heading, as a property. When unset, the default slot's content is used instead
98
102
  * @prop {string} [richText] - Lightweight formatted content rendered above the description slot, combining with it. Supports simple lists, links, bold, and italic text
@@ -109,9 +113,11 @@ const EunomiaTooltipMixinBase = AnchorPositionMixin(LitElement);
109
113
  * @cssprop [--tooltip-viewport-gap] - Sets the minimum distance kept from the viewport edge, so the panel never runs off-screen
110
114
  * @cssprop [--tooltip-min-width] - Sets the minimum width of the panel
111
115
  * @cssprop [--tooltip-max-width] - Sets the maximum width of the panel
112
- * @cssprop [--tooltip-background-color] - Sets the background color when severity is unset
113
- * @cssprop [--tooltip-color] - Sets the heading color when severity is unset
114
- * @cssprop [--tooltip-content-color] - Sets the color of the description content
116
+ * @cssprop [--tooltip-background-color] - Sets the background color, for every appearance, color and severity
117
+ * @cssprop [--tooltip-color] - Sets the heading and link color, for every appearance, color and severity
118
+ * @cssprop [--tooltip-content-color] - Sets the color of the description content, for every appearance, color and severity
119
+ * @cssprop [--tooltip-border-color] - Sets the border color, for every appearance, color and severity
120
+ * @cssprop [--tooltip-border-width] - Sets the border width, for every appearance. The border takes room out of the padding, so the panel keeps its size
115
121
  * @cssprop [--tooltip-font-weight] - Sets the font weight of the description content, not the heading, and not richText, which stays at its own normal weight
116
122
  * @cssprop [--tooltip-border-radius] - Sets the corner radius of the panel
117
123
  * @cssprop [--tooltip-padding] - Sets the padding of the panel
@@ -134,6 +140,13 @@ let EunomiaTooltip = EunomiaTooltip_1 = class EunomiaTooltip extends EunomiaTool
134
140
  * @default default
135
141
  */
136
142
  this.appearance = "default";
143
+ /**
144
+ * Keeps a `light` or `dark` tooltip white or black in every theme.
145
+ * Without it, they follow the grey scale, which flips with the active
146
+ * theme. Has no effect on the other colors or on `severity`.
147
+ * @default false
148
+ */
149
+ this.fixedColor = false;
137
150
  /**
138
151
  * The preferred side to open on, flipping to the opposite side
139
152
  * automatically when there isn't room.
@@ -1070,6 +1083,7 @@ let EunomiaTooltip = EunomiaTooltip_1 = class EunomiaTooltip extends EunomiaTool
1070
1083
  data-severity=${ifDefined(this.severity)}
1071
1084
  data-color=${this.color}
1072
1085
  data-appearance=${this.appearance}
1086
+ data-fixed-color=${ifDefined(this.fixedColor ? "" : undefined)}
1073
1087
  data-placement=${this.placement}
1074
1088
  @pointerenter=${this.handlePanelPointerEnter}
1075
1089
  @pointerleave=${this.handlePanelPointerLeave}
@@ -1165,6 +1179,9 @@ __decorate([
1165
1179
  __decorate([
1166
1180
  property({ reflect: true })
1167
1181
  ], EunomiaTooltip.prototype, "appearance", void 0);
1182
+ __decorate([
1183
+ property({ type: Boolean, reflect: true, attribute: "fixed-color" })
1184
+ ], EunomiaTooltip.prototype, "fixedColor", void 0);
1168
1185
  __decorate([
1169
1186
  property({ reflect: true })
1170
1187
  ], EunomiaTooltip.prototype, "placement", void 0);
@@ -17,9 +17,11 @@ export const tooltipHostStyles = css `
17
17
  * [--tooltip-viewport-gap] - Set a custom minimum distance kept from the viewport edge, so the panel never runs off-screen
18
18
  * [--tooltip-min-width] - Set a custom minimum width
19
19
  * [--tooltip-max-width] - Set a custom maximum width
20
- * [--tooltip-background-color] - Set a custom background color when `severity` is unset
21
- * [--tooltip-color] - Set a custom heading color when `severity` is unset
22
- * [--tooltip-content-color] - Set a custom color for the description content
20
+ * [--tooltip-background-color] - Set a custom background color, for every appearance, color and severity
21
+ * [--tooltip-color] - Set a custom heading (and link) color, for every appearance, color and severity
22
+ * [--tooltip-content-color] - Set a custom color for the description content, for every appearance, color and severity
23
+ * [--tooltip-border-color] - Set a custom border color, for every appearance, color and severity
24
+ * [--tooltip-border-width] - Set a custom border width, for every appearance. Defaults to 1px, only drawn (in a color) by outline, or when --tooltip-border-color is set
23
25
  * [--tooltip-font-weight] - Set a custom font weight for the description content (not the heading, and not richText, which stays at its own normal weight)
24
26
  * [--tooltip-border-radius] - Set a custom border radius
25
27
  * [--tooltip-padding] - Set a custom padding
@@ -28,62 +30,124 @@ export const tooltipHostStyles = css `
28
30
  * [--tooltip-transition-duration] - Set a custom duration for the open/close transition
29
31
  */
30
32
  const panel = css `
31
- .eun-tooltip-panel:not([data-severity]) {
32
- --_accent: var(--tooltip-color, var(--eun-text-color, #071621));
33
- --_borderColor: var(--eun-color-grey-300, #dee0e7);
34
- --_backgroundFilled: var(--eun-color-grey-700, #484e61);
33
+ /*
34
+ * Step 1 : the palette (severity, else color) fills --_solid (strong
35
+ * color), --_onSolid (text on it) and --_accent (text on a pale or neutral
36
+ * surface). Step 2 : the appearance reads them into --_bg, --_head (the
37
+ * heading and links), --_body (the description) and --_bd (the border).
38
+ * The --tooltip-* custom properties are applied last, on the panel, so they
39
+ * win over every combination.
40
+ */
41
+ .eun-tooltip-panel {
42
+ --_solid: var(--eun-color-primary-500, #3d6fff);
43
+ --_onSolid: var(--eun-color-on-primary-500, #ffffff);
44
+ --_accent: var(--eun-color-primary-500, #3d6fff);
35
45
  }
36
46
  .eun-tooltip-panel[data-severity="info"] {
47
+ --_solid: var(--eun-color-info-100, #097faf);
37
48
  --_accent: var(--eun-color-info-100, #097faf);
38
- --_borderColor: var(--eun-color-info-100, #097faf);
39
- --_backgroundFilled: var(--eun-color-info-100, #097faf);
40
49
  }
41
50
  .eun-tooltip-panel[data-severity="success"] {
51
+ --_solid: var(--eun-color-success-100, #1a9948);
42
52
  --_accent: var(--eun-color-success-100, #1a9948);
43
- --_borderColor: var(--eun-color-success-100, #1a9948);
44
- --_backgroundFilled: var(--eun-color-success-100, #1a9948);
45
53
  }
46
54
  .eun-tooltip-panel[data-severity="warning"] {
55
+ --_solid: var(--eun-color-warning-100, #c85207);
47
56
  --_accent: var(--eun-color-warning-100, #c85207);
48
- --_borderColor: var(--eun-color-warning-100, #c85207);
49
- --_backgroundFilled: var(--eun-color-warning-100, #c85207);
50
57
  }
51
58
  .eun-tooltip-panel[data-severity="critical"] {
59
+ --_solid: var(--eun-color-critical-100, #aa0014);
52
60
  --_accent: var(--eun-color-critical-100, #aa0014);
53
- --_borderColor: var(--eun-color-critical-100, #aa0014);
54
- --_backgroundFilled: var(--eun-color-critical-100, #aa0014);
55
61
  }
56
62
  .eun-tooltip-panel[data-severity="neutral"] {
63
+ --_onSolid: var(--eun-color-grey-0, #ffffff);
64
+ --_solid: var(--eun-color-grey-700, #484e61);
57
65
  --_accent: var(--eun-color-grey-700, #484e61);
58
- --_borderColor: var(--eun-color-grey-700, #484e61);
59
- --_backgroundFilled: var(--eun-color-grey-700, #484e61);
60
- }
61
- .eun-tooltip-panel:not([data-severity])[data-color="primary"] {
62
- --_accent: var(--eun-color-primary-500, #3d6fff);
63
- --_borderColor: var(--eun-color-primary-500, #3d6fff);
64
- --_backgroundFilled: var(--eun-color-primary-500, #3d6fff);
65
66
  }
66
67
  .eun-tooltip-panel:not([data-severity])[data-color="secondary"] {
68
+ --_onSolid: var(--eun-color-on-secondary-500, #000000de);
69
+ --_solid: var(--eun-color-secondary-500, #e5a030);
67
70
  --_accent: var(--eun-color-secondary-500, #e5a030);
68
- --_borderColor: var(--eun-color-secondary-500, #e5a030);
69
- --_backgroundFilled: var(--eun-color-secondary-500, #e5a030);
70
- }
71
- .eun-tooltip-panel:not([data-severity])[data-color="light"] {
72
- --_accent: var(--eun-color-grey-600, #666e8a);
73
- --_borderColor: var(--eun-color-grey-300, #dee0e7);
74
- --_backgroundFilled: var(--eun-color-grey-100, #f7f8fa);
75
71
  }
76
72
  .eun-tooltip-panel:not([data-severity])[data-color="medium"] {
73
+ --_onSolid: var(--eun-color-grey-0, #ffffff);
74
+ --_solid: var(--eun-color-grey-700, #484e61);
77
75
  --_accent: var(--eun-color-grey-900, #000000);
78
- --_borderColor: var(--eun-color-grey-300, #dee0e7);
79
- --_backgroundFilled: var(--eun-color-grey-500, #8d93aa);
80
76
  }
77
+
78
+ /*
79
+ * light and dark are absolute colors : white and black whatever the
80
+ * appearance. The panel is always opaque, so there's no pale wash and no
81
+ * transparent outline : default is as solid as fill, and outline is the
82
+ * color as border and text over a surface of the opposite tone. flat is
83
+ * the same neutral surface as every other palette. By default they follow
84
+ * the grey scale, which flips with the active theme ; fixed-color pins
85
+ * them to the light theme's white and black.
86
+ */
87
+ .eun-tooltip-panel:not([data-severity])[data-color="light"] {
88
+ --_solid: var(--eun-color-grey-0, #ffffff);
89
+ --_onSolid: var(--eun-color-grey-900, #000000);
90
+ --_opposite: var(--eun-color-grey-800, #071621);
91
+ }
92
+ .eun-tooltip-panel:not([data-severity])[data-color="light"][data-fixed-color] {
93
+ --_solid: #ffffff;
94
+ --_onSolid: #000000;
95
+ --_opposite: #071621;
96
+ }
97
+ .eun-tooltip-panel:not([data-severity])[data-color="dark"] {
98
+ --_solid: var(--eun-color-grey-800, #071621);
99
+ --_onSolid: var(--eun-color-grey-0, #ffffff);
100
+ --_opposite: var(--eun-color-grey-0, #ffffff);
101
+ }
102
+ .eun-tooltip-panel:not([data-severity])[data-color="dark"][data-fixed-color] {
103
+ --_solid: #071621;
104
+ --_onSolid: #ffffff;
105
+ --_opposite: #ffffff;
106
+ }
107
+ .eun-tooltip-panel:not([data-severity])[data-color="light"],
81
108
  .eun-tooltip-panel:not([data-severity])[data-color="dark"] {
82
- --_accent: var(--eun-color-grey-800, #071621);
83
- --_borderColor: var(--eun-color-grey-800, #071621);
84
- --_backgroundFilled: var(--eun-color-grey-800, #071621);
85
- --_defaultBackground: var(--_accent);
86
- --_defaultText: var(--eun-color-grey-0, #ffffff);
109
+ --_accent: var(--eun-text-color, #071621);
110
+ }
111
+
112
+ .eun-tooltip-panel[data-appearance="default"] {
113
+ --_bg: color-mix(
114
+ in srgb,
115
+ var(--_accent) 12%,
116
+ var(--eun-surface-color, #ffffff)
117
+ );
118
+ --_head: var(--_accent);
119
+ --_body: var(--_accent);
120
+ --_bd: transparent;
121
+ }
122
+ .eun-tooltip-panel[data-appearance="flat"] {
123
+ --_bg: var(--eun-color-grey-100, #f7f8fa);
124
+ --_head: var(--_accent);
125
+ --_body: var(--eun-text-color, #071621);
126
+ --_bd: transparent;
127
+ }
128
+ .eun-tooltip-panel[data-appearance="outline"] {
129
+ --_bg: var(--eun-color-grey-100, #f7f8fa);
130
+ --_head: var(--_accent);
131
+ --_body: var(--eun-text-color, #071621);
132
+ --_bd: var(--_solid);
133
+ }
134
+ .eun-tooltip-panel[data-appearance="fill"] {
135
+ --_bg: var(--_solid);
136
+ --_head: var(--_onSolid);
137
+ --_body: var(--_onSolid);
138
+ --_bd: transparent;
139
+ }
140
+ .eun-tooltip-panel:not([data-severity])[data-color="light"][data-appearance="default"],
141
+ .eun-tooltip-panel:not([data-severity])[data-color="dark"][data-appearance="default"] {
142
+ --_bg: var(--_solid);
143
+ --_head: var(--_onSolid);
144
+ --_body: var(--_onSolid);
145
+ }
146
+ .eun-tooltip-panel:not([data-severity])[data-color="light"][data-appearance="outline"],
147
+ .eun-tooltip-panel:not([data-severity])[data-color="dark"][data-appearance="outline"] {
148
+ --_bg: var(--_opposite);
149
+ --_head: var(--_solid);
150
+ --_body: var(--_solid);
87
151
  }
88
152
 
89
153
  .eun-tooltip-panel {
@@ -100,13 +164,20 @@ const panel = css `
100
164
  max-width: var(--tooltip-max-width, 280px);
101
165
  padding: var(
102
166
  --tooltip-padding,
103
- var(--eun-space-s, 8px) var(--eun-space-m, 16px)
167
+ max(0px, calc(var(--eun-space-s, 8px) - var(--_bw)))
168
+ max(0px, calc(var(--eun-space-m, 16px) - var(--_bw)))
104
169
  );
105
170
  border-radius: var(
106
171
  --tooltip-border-radius,
107
- var(--eun-borderRadius-m, 10px)
172
+ var(--eun-border-radius-m, 10px)
108
173
  );
109
- color: var(--tooltip-content-color, var(--eun-text-color, #071621));
174
+ --_bw: var(--tooltip-border-width, var(--eun-border-width-s, 1px));
175
+ background: var(--tooltip-background-color, var(--_bg));
176
+ color: var(--tooltip-content-color, var(--_body));
177
+ /* Every appearance carries the same border box (transparent unless
178
+ drawn), taken out of the padding, so switching appearance or adding a
179
+ --tooltip-border-* never changes the panel's size. */
180
+ border: var(--_bw) solid var(--tooltip-border-color, var(--_bd));
110
181
  box-shadow: var(
111
182
  --tooltip-shadow,
112
183
  var(
@@ -116,15 +187,9 @@ const panel = css `
116
187
  )
117
188
  );
118
189
  font-family: var(--eun-font-family, "Mulish", sans-serif);
119
- font-size: var(--eun-fontSize-s, 14px);
190
+ font-size: var(--eun-font-size-s, 14px);
120
191
  opacity: 0;
121
192
  scale: 0.96;
122
- --_defaultBackground: color-mix(
123
- in srgb,
124
- var(--_accent) 12%,
125
- var(--eun-surface-color, #ffffff)
126
- );
127
- --_defaultText: var(--_accent);
128
193
  }
129
194
  .eun-tooltip-panel.no-heading {
130
195
  row-gap: 0;
@@ -137,35 +202,9 @@ const panel = css `
137
202
  scale: 1;
138
203
  }
139
204
 
140
- .eun-tooltip-panel[data-appearance="default"] {
141
- background: var(--tooltip-background-color, var(--_defaultBackground));
142
- color: var(--tooltip-content-color, var(--_defaultText));
143
- }
144
- .eun-tooltip-panel[data-appearance="flat"] {
145
- background: var(
146
- --tooltip-background-color,
147
- var(--eun-color-grey-100, #f7f8fa)
148
- );
149
- }
150
- .eun-tooltip-panel[data-appearance="outline"] {
151
- background: var(
152
- --tooltip-background-color,
153
- var(--eun-color-grey-100, #f7f8fa)
154
- );
155
- border: var(--eun-borderWidth-s, 1px) solid var(--_borderColor);
156
- }
157
- .eun-tooltip-panel[data-appearance="fill"] {
158
- background: var(--tooltip-background-color, var(--_backgroundFilled));
159
- --_accent: var(--tooltip-color, #fff);
160
- color: var(--tooltip-content-color, #fff);
161
- }
162
-
163
205
  .eun-tooltip-heading {
164
- color: var(--_accent);
165
- font-weight: var(--eun-fontWeight-l, 700);
166
- }
167
- .eun-tooltip-panel[data-appearance="default"] .eun-tooltip-heading {
168
- color: var(--tooltip-color, var(--_defaultText));
206
+ color: var(--tooltip-color, var(--_head));
207
+ font-weight: var(--eun-font-weight-l, 700);
169
208
  }
170
209
  .eun-tooltip-heading-mirror,
171
210
  .eun-tooltip-description-mirror {
@@ -176,7 +215,7 @@ const panel = css `
176
215
  }
177
216
  .eun-tooltip-description {
178
217
  color: var(--tooltip-content-color, inherit);
179
- font-weight: var(--tooltip-font-weight, var(--eun-fontWeight-s, 300));
218
+ font-weight: var(--tooltip-font-weight, var(--eun-font-weight-s, 300));
180
219
  }
181
220
  .eun-tooltip-description.hidden {
182
221
  display: none;
@@ -191,10 +230,7 @@ const panel = css `
191
230
  margin-block-end: 0;
192
231
  }
193
232
  .eun-tooltip-rich-text a {
194
- color: var(--_accent);
195
- }
196
- .eun-tooltip-panel[data-appearance="default"] .eun-tooltip-rich-text a {
197
- color: var(--tooltip-color, var(--_defaultText));
233
+ color: var(--tooltip-color, var(--_head));
198
234
  }
199
235
  .eun-tooltip-description ::slotted(*) {
200
236
  margin: 0;