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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (394) hide show
  1. package/README.md +1 -1
  2. package/dist/cdn/components/chunks/{chunk-EAGGN3ZI.js → chunk-2XASWWKR.js} +9 -9
  3. package/dist/cdn/components/chunks/chunk-32DTNR52.js +1 -0
  4. package/dist/cdn/components/chunks/chunk-3MTUVMM5.js +1 -0
  5. package/dist/cdn/components/chunks/chunk-5GKM5DIB.js +1 -0
  6. package/dist/cdn/components/chunks/{chunk-32KRPOPV.js → chunk-5XJGYXW7.js} +6 -6
  7. package/dist/cdn/components/chunks/{chunk-O2HNWH65.js → chunk-5XJLIHAU.js} +7 -7
  8. package/dist/cdn/components/chunks/{chunk-TBKKTJOX.js → chunk-6ETDXUH2.js} +3 -3
  9. package/dist/cdn/components/chunks/{chunk-5GF2Q3NR.js → chunk-74AOAB4X.js} +1 -1
  10. package/dist/cdn/components/chunks/{chunk-WYMBUIKX.js → chunk-A6KGFALA.js} +4 -4
  11. package/dist/cdn/components/chunks/{chunk-NEYBPT3D.js → chunk-AIS3UICU.js} +9 -9
  12. package/dist/cdn/components/chunks/{chunk-LJYTHDZP.js → chunk-D2M4BV5Y.js} +6 -6
  13. package/dist/cdn/components/chunks/chunk-DKOPI7QA.js +415 -0
  14. package/dist/cdn/components/chunks/{chunk-53QH6MPM.js → chunk-EAKYD33D.js} +3 -3
  15. package/dist/cdn/components/chunks/chunk-EST3M4AO.js +1 -0
  16. package/dist/cdn/components/chunks/{chunk-BYBUXKXC.js → chunk-IDKZKLJR.js} +7 -7
  17. package/dist/cdn/components/chunks/chunk-JRGM3W7I.js +53 -0
  18. package/dist/cdn/components/chunks/{chunk-RWONCXTF.js → chunk-KVYUNKUO.js} +2 -2
  19. package/dist/cdn/components/chunks/{chunk-6UPI7GHJ.js → chunk-L65WUTXM.js} +12 -12
  20. package/dist/cdn/components/chunks/chunk-LFCXUVDO.js +1 -0
  21. package/dist/cdn/components/chunks/chunk-LGLQ36QB.js +16 -0
  22. package/dist/cdn/components/chunks/chunk-MPQP4R54.js +263 -0
  23. package/dist/cdn/components/chunks/{chunk-ON42P6FI.js → chunk-NBIENHLV.js} +6 -6
  24. package/dist/cdn/components/chunks/chunk-OAULRKHQ.js +38 -0
  25. package/dist/cdn/components/chunks/chunk-OW7XKDCH.js +124 -0
  26. package/dist/cdn/components/chunks/chunk-P32B7BFD.js +118 -0
  27. package/dist/cdn/components/chunks/{chunk-ZPFHTJSS.js → chunk-PCM7D3YF.js} +1 -1
  28. package/dist/cdn/components/chunks/{chunk-ABYEBP57.js → chunk-PED5ATYN.js} +11 -8
  29. package/dist/cdn/components/chunks/{chunk-5C7YND22.js → chunk-S2UCEWNG.js} +8 -8
  30. package/dist/cdn/components/chunks/{chunk-5RCCZVFZ.js → chunk-SD2WHGPF.js} +7 -6
  31. package/dist/cdn/components/chunks/chunk-SJWRE6PW.js +1 -0
  32. package/dist/cdn/components/chunks/{chunk-6IILPCSQ.js → chunk-X2AUBZD2.js} +3 -3
  33. package/dist/cdn/components/eun-alert.js +65 -45
  34. package/dist/cdn/components/eun-animate.js +5 -3
  35. package/dist/cdn/components/eun-badge.js +8 -8
  36. package/dist/cdn/components/eun-breadcrumb-item.js +14 -10
  37. package/dist/cdn/components/eun-breadcrumb.js +11 -7
  38. package/dist/cdn/components/eun-button.js +1 -1
  39. package/dist/cdn/components/eun-calendar.js +20 -20
  40. package/dist/cdn/components/eun-card.js +61 -13
  41. package/dist/cdn/components/eun-carousel.js +35 -27
  42. package/dist/cdn/components/eun-check-card.js +3 -3
  43. package/dist/cdn/components/eun-checkbox-list.js +3 -3
  44. package/dist/cdn/components/eun-checkbox.js +1 -1
  45. package/dist/cdn/components/eun-chip.js +45 -207
  46. package/dist/cdn/components/eun-collapse.js +49 -29
  47. package/dist/cdn/components/eun-color-picker.js +13 -13
  48. package/dist/cdn/components/eun-counter.js +15 -15
  49. package/dist/cdn/components/eun-date-picker.js +62 -62
  50. package/dist/cdn/components/eun-drawer.js +12 -12
  51. package/dist/cdn/components/eun-dropdown-button.js +1 -1
  52. package/dist/cdn/components/eun-dropdown-item.js +6 -6
  53. package/dist/cdn/components/eun-fab.js +31 -53
  54. package/dist/cdn/components/eun-icon.js +1 -1
  55. package/dist/cdn/components/eun-image-card.js +18 -11
  56. package/dist/cdn/components/eun-image-carousel.js +18 -18
  57. package/dist/cdn/components/eun-infinite-list.js +1 -1
  58. package/dist/cdn/components/eun-input-file.js +12 -12
  59. package/dist/cdn/components/eun-input-phone.js +28 -28
  60. package/dist/cdn/components/eun-input.js +1 -1
  61. package/dist/cdn/components/eun-label.js +4 -4
  62. package/dist/cdn/components/eun-link.js +134 -18
  63. package/dist/cdn/components/eun-loader.js +1 -1
  64. package/dist/cdn/components/eun-modal.js +21 -21
  65. package/dist/cdn/components/eun-pagination.js +3 -3
  66. package/dist/cdn/components/eun-password-strength.js +9 -6
  67. package/dist/cdn/components/eun-progress-bar.js +13 -13
  68. package/dist/cdn/components/eun-radio-card.js +2 -2
  69. package/dist/cdn/components/eun-radio-list.js +1 -1
  70. package/dist/cdn/components/eun-radio.js +1 -1
  71. package/dist/cdn/components/eun-scheduler-event-editor.js +9 -9
  72. package/dist/cdn/components/eun-scheduler-event.js +1 -1
  73. package/dist/cdn/components/eun-scheduler.js +26 -26
  74. package/dist/cdn/components/eun-search.js +21 -21
  75. package/dist/cdn/components/eun-select.js +10 -10
  76. package/dist/cdn/components/eun-sidebar.js +9 -9
  77. package/dist/cdn/components/eun-skeleton.js +1 -1
  78. package/dist/cdn/components/eun-slider.js +8 -8
  79. package/dist/cdn/components/eun-sliding-card.js +4 -3
  80. package/dist/cdn/components/eun-step.js +8 -8
  81. package/dist/cdn/components/eun-stepper.js +8 -8
  82. package/dist/cdn/components/eun-switch.js +10 -10
  83. package/dist/cdn/components/eun-tab-group.js +19 -11
  84. package/dist/cdn/components/eun-tab-panel.js +1 -1
  85. package/dist/cdn/components/eun-tab.js +1 -1
  86. package/dist/cdn/components/eun-table-action-bar.js +1 -1
  87. package/dist/cdn/components/eun-table-cell.js +1 -1
  88. package/dist/cdn/components/eun-table-column.js +1 -1
  89. package/dist/cdn/components/eun-table-header.js +1 -1
  90. package/dist/cdn/components/eun-table-item.js +1 -1
  91. package/dist/cdn/components/eun-table-skeleton-row.js +1 -1
  92. package/dist/cdn/components/eun-table.js +3 -3
  93. package/dist/cdn/components/eun-tag.js +34 -126
  94. package/dist/cdn/components/eun-textarea.js +23 -23
  95. package/dist/cdn/components/eun-time-picker.js +32 -32
  96. package/dist/cdn/components/eun-toast.js +40 -36
  97. package/dist/cdn/components/eun-toggle-group.js +213 -72
  98. package/dist/cdn/components/eun-toggle-item.js +49 -30
  99. package/dist/cdn/components/eun-toggle.js +12 -9
  100. package/dist/cdn/components/eun-toolbar.js +15 -8
  101. package/dist/cdn/components/eun-tooltip.js +122 -87
  102. package/dist/cdn/styles/eunomia-themes.css +1 -1
  103. package/dist/cdn/styles/themes/eunomia-theme.css +1 -1
  104. package/dist/cdn/styles/themes/eunomia-theme.scss +1 -0
  105. package/dist/cdn/styles/themes/mixins/eunomia-neutrals.mixin.scss +71 -0
  106. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +3 -13
  107. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +3 -13
  108. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.css +1 -1
  109. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +2 -0
  110. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +3 -13
  111. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +3 -13
  112. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.css +1 -1
  113. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +2 -0
  114. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +3 -13
  115. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +3 -13
  116. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.css +1 -1
  117. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +2 -0
  118. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +3 -13
  119. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +3 -13
  120. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.css +1 -1
  121. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +2 -0
  122. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +3 -13
  123. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +3 -13
  124. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.css +1 -1
  125. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +2 -0
  126. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +3 -13
  127. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +3 -13
  128. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.css +1 -1
  129. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +2 -0
  130. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +3 -13
  131. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +3 -13
  132. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.css +1 -1
  133. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +2 -0
  134. package/dist/cdn/styles/tools/indexes/eunomia-tools.index.scss +1 -0
  135. package/dist/cdn/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +39 -0
  136. package/dist/cdn/styles/tools/mixins/settings/eunomia-border.mixin.scss +3 -3
  137. package/dist/cdn/styles/tools/mixins/settings/eunomia-font.mixin.scss +12 -12
  138. package/dist/cdn/styles/tools/mixins/settings/eunomia-radius.mixin.scss +4 -4
  139. package/dist/components/action/button/button.d.ts +44 -15
  140. package/dist/components/action/button/button.js +100 -20
  141. package/dist/components/action/button/button.styles.js +179 -393
  142. package/dist/components/action/dropdown-button/dropdown-button.d.ts +13 -6
  143. package/dist/components/action/dropdown-button/dropdown-button.js +16 -5
  144. package/dist/components/action/dropdown-button/dropdown-button.styles.js +8 -8
  145. package/dist/components/action/dropdown-button/dropdown-item.styles.js +6 -6
  146. package/dist/components/action/fab/fab.d.ts +7 -4
  147. package/dist/components/action/fab/fab.js +11 -6
  148. package/dist/components/action/fab/fab.styles.js +26 -49
  149. package/dist/components/action/link/link.d.ts +115 -6
  150. package/dist/components/action/link/link.js +245 -21
  151. package/dist/components/action/link/link.styles.js +105 -3
  152. package/dist/components/action/shared-styles/button-palette.styles.d.ts +27 -0
  153. package/dist/components/action/shared-styles/button-palette.styles.js +151 -0
  154. package/dist/components/action/toggle/toggle-group.d.ts +55 -11
  155. package/dist/components/action/toggle/toggle-group.js +193 -52
  156. package/dist/components/action/toggle/toggle-group.styles.d.ts +7 -5
  157. package/dist/components/action/toggle/toggle-group.styles.js +166 -41
  158. package/dist/components/action/toggle/toggle-item.d.ts +4 -4
  159. package/dist/components/action/toggle/toggle-item.js +2 -2
  160. package/dist/components/action/toggle/toggle-item.styles.js +45 -26
  161. package/dist/components/action/toggle/toggle.d.ts +1 -1
  162. package/dist/components/action/toggle/toggle.js +1 -1
  163. package/dist/components/action/toggle/toggle.styles.d.ts +2 -2
  164. package/dist/components/action/toggle/toggle.styles.js +13 -10
  165. package/dist/components/alert/alert/alert.d.ts +4 -3
  166. package/dist/components/alert/alert/alert.js +4 -3
  167. package/dist/components/alert/alert/alert.styles.js +57 -36
  168. package/dist/components/alert/drawer/drawer.js +1 -1
  169. package/dist/components/alert/drawer/drawer.styles.js +3 -3
  170. package/dist/components/alert/modal/modal.d.ts +8 -8
  171. package/dist/components/alert/modal/modal.js +11 -11
  172. package/dist/components/alert/modal/modal.styles.js +6 -6
  173. package/dist/components/alert/toast/toast.d.ts +4 -3
  174. package/dist/components/alert/toast/toast.js +4 -3
  175. package/dist/components/alert/toast/toast.styles.js +41 -36
  176. package/dist/components/content/badge/badge.d.ts +6 -6
  177. package/dist/components/content/badge/badge.js +4 -4
  178. package/dist/components/content/badge/badge.styles.js +5 -5
  179. package/dist/components/content/card/card.d.ts +36 -8
  180. package/dist/components/content/card/card.js +68 -8
  181. package/dist/components/content/card/card.styles.js +52 -11
  182. package/dist/components/content/card/image-card.d.ts +3 -2
  183. package/dist/components/content/card/image-card.js +2 -1
  184. package/dist/components/content/card/image-card.styles.js +17 -10
  185. package/dist/components/content/card/sliding-card.d.ts +2 -1
  186. package/dist/components/content/card/sliding-card.js +1 -0
  187. package/dist/components/content/card/sliding-card.styles.js +3 -2
  188. package/dist/components/content/chip/chip.d.ts +16 -7
  189. package/dist/components/content/chip/chip.js +18 -6
  190. package/dist/components/content/chip/chip.styles.d.ts +1 -1
  191. package/dist/components/content/chip/chip.styles.js +43 -207
  192. package/dist/components/content/collapse/collapse.d.ts +29 -11
  193. package/dist/components/content/collapse/collapse.js +53 -23
  194. package/dist/components/content/collapse/collapse.styles.js +23 -9
  195. package/dist/components/content/icon/icon.d.ts +12 -2
  196. package/dist/components/content/icon/icon.js +52 -22
  197. package/dist/components/content/icon/icon.style.d.ts +2 -0
  198. package/dist/components/content/icon/icon.style.js +5 -2
  199. package/dist/components/content/image-carousel/image-carousel.styles.js +14 -14
  200. package/dist/components/content/password-strength/password-strength.styles.js +7 -4
  201. package/dist/components/content/progress-bar/progress-bar.styles.js +9 -9
  202. package/dist/components/content/shared-styles/card-link.styles.js +1 -0
  203. package/dist/components/content/shared-styles/tone-surface.styles.d.ts +31 -0
  204. package/dist/components/content/shared-styles/tone-surface.styles.js +149 -0
  205. package/dist/components/content/tag/tag.d.ts +16 -6
  206. package/dist/components/content/tag/tag.js +19 -6
  207. package/dist/components/content/tag/tag.styles.d.ts +1 -1
  208. package/dist/components/content/tag/tag.styles.js +40 -125
  209. package/dist/components/content/tooltip/tooltip.d.ts +15 -4
  210. package/dist/components/content/tooltip/tooltip.js +21 -4
  211. package/dist/components/content/tooltip/tooltip.styles.js +115 -79
  212. package/dist/components/form/checkbox/check-card.styles.js +2 -2
  213. package/dist/components/form/checkbox/checkbox-list.d.ts +1 -1
  214. package/dist/components/form/checkbox/checkbox.d.ts +1 -1
  215. package/dist/components/form/checkbox/checkbox.styles.js +6 -6
  216. package/dist/components/form/color-picker/color-picker.d.ts +3 -3
  217. package/dist/components/form/color-picker/color-picker.js +4 -4
  218. package/dist/components/form/color-picker/color-picker.styles.js +7 -7
  219. package/dist/components/form/counter/counter.d.ts +3 -3
  220. package/dist/components/form/counter/counter.js +3 -3
  221. package/dist/components/form/counter/counter.styles.js +12 -12
  222. package/dist/components/form/date-picker/date-picker-day-grid.styles.js +2 -2
  223. package/dist/components/form/date-picker/date-picker-grid.styles.js +15 -15
  224. package/dist/components/form/date-picker/date-picker-month-grid.styles.js +1 -1
  225. package/dist/components/form/date-picker/date-picker-year-grid.styles.js +1 -1
  226. package/dist/components/form/date-picker/date-picker.d.ts +3 -3
  227. package/dist/components/form/date-picker/date-picker.js +3 -3
  228. package/dist/components/form/date-picker/date-picker.styles.js +17 -17
  229. package/dist/components/form/input/input.d.ts +3 -3
  230. package/dist/components/form/input/input.js +4 -4
  231. package/dist/components/form/input-file/input-file.d.ts +1 -1
  232. package/dist/components/form/input-file/input-file.styles.js +9 -9
  233. package/dist/components/form/input-phone/input-phone.d.ts +3 -3
  234. package/dist/components/form/input-phone/input-phone.js +3 -3
  235. package/dist/components/form/input-phone/input-phone.styles.js +19 -19
  236. package/dist/components/form/label/label.styles.js +4 -4
  237. package/dist/components/form/radio/radio-card.styles.js +1 -1
  238. package/dist/components/form/radio/radio-list.d.ts +1 -1
  239. package/dist/components/form/radio/radio.d.ts +1 -1
  240. package/dist/components/form/radio/radio.styles.js +2 -2
  241. package/dist/components/form/search/search.styles.js +9 -9
  242. package/dist/components/form/select/select.d.ts +3 -3
  243. package/dist/components/form/select/select.js +3 -3
  244. package/dist/components/form/select/select.styles.js +6 -6
  245. package/dist/components/form/shared-styles/card.styles.js +1 -1
  246. package/dist/components/form/shared-styles/field.styles.js +12 -12
  247. package/dist/components/form/shared-styles/form-labels.styles.js +1 -1
  248. package/dist/components/form/shared-styles/listbox.styles.js +6 -6
  249. package/dist/components/form/slider/slider.d.ts +1 -1
  250. package/dist/components/form/slider/slider.styles.js +6 -6
  251. package/dist/components/form/switch/switch.d.ts +1 -1
  252. package/dist/components/form/switch/switch.styles.js +8 -8
  253. package/dist/components/form/textarea/textarea.d.ts +3 -3
  254. package/dist/components/form/textarea/textarea.js +4 -4
  255. package/dist/components/form/textarea/textarea.styles.js +6 -6
  256. package/dist/components/form/time-picker/time-picker-columns.styles.js +6 -6
  257. package/dist/components/form/time-picker/time-picker-list.styles.js +2 -2
  258. package/dist/components/form/time-picker/time-picker.d.ts +3 -3
  259. package/dist/components/form/time-picker/time-picker.js +3 -3
  260. package/dist/components/form/time-picker/time-picker.styles.js +13 -13
  261. package/dist/components/layout/animate/animate.d.ts +8 -0
  262. package/dist/components/layout/animate/animate.js +20 -8
  263. package/dist/components/loader/loader/loader.styles.js +2 -2
  264. package/dist/components/loader/skeleton/skeleton.styles.js +8 -5
  265. package/dist/components/navigation/breadcrumb/breadcrumb-item.d.ts +7 -0
  266. package/dist/components/navigation/breadcrumb/breadcrumb-item.js +15 -1
  267. package/dist/components/navigation/breadcrumb/breadcrumb-item.styles.js +3 -3
  268. package/dist/components/navigation/breadcrumb/breadcrumb.d.ts +1 -0
  269. package/dist/components/navigation/breadcrumb/breadcrumb.js +7 -1
  270. package/dist/components/navigation/breadcrumb/breadcrumb.styles.js +3 -3
  271. package/dist/components/navigation/carousel/carousel.d.ts +40 -6
  272. package/dist/components/navigation/carousel/carousel.js +61 -12
  273. package/dist/components/navigation/carousel/carousel.styles.js +19 -7
  274. package/dist/components/navigation/pagination/pagination.styles.js +3 -3
  275. package/dist/components/navigation/sidebar/sidebar.styles.js +9 -9
  276. package/dist/components/navigation/stepper/step.styles.js +8 -8
  277. package/dist/components/navigation/stepper/stepper.styles.js +8 -8
  278. package/dist/components/navigation/tabs/tab/tab.styles.js +5 -5
  279. package/dist/components/navigation/tabs/tab-group/tab-group.d.ts +9 -0
  280. package/dist/components/navigation/tabs/tab-group/tab-group.js +19 -2
  281. package/dist/components/navigation/tabs/tab-group/tab-group.styles.js +12 -4
  282. package/dist/components/navigation/tabs/tab-panel/tab-panel.styles.js +1 -1
  283. package/dist/components/navigation/toolbar/toolbar.d.ts +2 -0
  284. package/dist/components/navigation/toolbar/toolbar.js +2 -0
  285. package/dist/components/navigation/toolbar/toolbar.styles.js +16 -7
  286. package/dist/features/scheduler/calendar/calendar.d.ts +6 -6
  287. package/dist/features/scheduler/calendar/calendar.js +10 -10
  288. package/dist/features/scheduler/calendar/calendar.styles.js +3 -3
  289. package/dist/features/scheduler/scheduler/scheduler.d.ts +6 -6
  290. package/dist/features/scheduler/scheduler/scheduler.js +13 -13
  291. package/dist/features/scheduler/scheduler/scheduler.styles.js +2 -2
  292. package/dist/features/scheduler/scheduler-event/scheduler-event.d.ts +10 -8
  293. package/dist/features/scheduler/scheduler-event/scheduler-event.js +7 -7
  294. package/dist/features/scheduler/scheduler-event/scheduler-event.styles.js +8 -8
  295. package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.js +5 -5
  296. package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.styles.js +2 -2
  297. package/dist/features/scheduler/shared/scheduler-event-popover.js +2 -2
  298. package/dist/features/scheduler/shared/scheduler-event-popover.styles.js +4 -4
  299. package/dist/features/scheduler/shared/scheduler-hour-grid.d.ts +2 -2
  300. package/dist/features/scheduler/shared/scheduler-hour-grid.js +3 -3
  301. package/dist/features/scheduler/shared/scheduler-hour-grid.styles.js +1 -1
  302. package/dist/features/scheduler/shared/scheduler-month-view.d.ts +3 -3
  303. package/dist/features/scheduler/shared/scheduler-month-view.js +2 -2
  304. package/dist/features/scheduler/shared/scheduler-month-view.styles.js +1 -1
  305. package/dist/features/scheduler/shared/scheduler-year-view.styles.js +1 -1
  306. package/dist/features/table/native-table.css +11 -11
  307. package/dist/features/table/table/table.styles.js +2 -2
  308. package/dist/features/table/table/table.types.d.ts +7 -3
  309. package/dist/features/table/table-action-bar/table-action-bar.js +3 -3
  310. package/dist/features/table/table-action-bar/table-action-bar.styles.js +2 -2
  311. package/dist/features/table/table-cell/table-cell.styles.js +2 -2
  312. package/dist/features/table/table-column/table-column.styles.js +3 -3
  313. package/dist/features/table/table-header/table-header.styles.js +4 -4
  314. package/dist/features/table/table-item/table-item.styles.js +6 -6
  315. package/dist/features/table/table-managed/table-managed.js +2 -2
  316. package/dist/features/table/table-skeleton-row/table-skeleton-row.styles.js +1 -1
  317. package/dist/i18n/en.d.ts +3 -0
  318. package/dist/i18n/en.js +3 -0
  319. package/dist/i18n/fr.js +3 -0
  320. package/dist/index.d.ts +7 -7
  321. package/dist/index.js +5 -2
  322. package/dist/jsx.d.ts +19 -6
  323. package/dist/mixins/button.mixin.d.ts +11 -9
  324. package/dist/mixins/button.mixin.js +23 -5
  325. package/dist/mixins/card-link.mixin.d.ts +3 -2
  326. package/dist/mixins/card-link.mixin.js +12 -5
  327. package/dist/mixins/check.mixin.d.ts +1 -1
  328. package/dist/mixins/disabled.mixin.d.ts +3 -3
  329. package/dist/mixins/disabled.mixin.js +10 -5
  330. package/dist/mixins/editable.mixin.d.ts +1 -1
  331. package/dist/mixins/field-appearance.mixin.d.ts +19 -0
  332. package/dist/mixins/{field-variant.mixin.js → field-appearance.mixin.js} +11 -11
  333. package/dist/mixins/form.mixin.d.ts +5 -1
  334. package/dist/mixins/form.mixin.js +32 -12
  335. package/dist/mixins/overflow-navigation.mixin.js +2 -1
  336. package/dist/mixins/radio.mixin.d.ts +1 -1
  337. package/dist/mixins/validators.mixin.d.ts +9 -3
  338. package/dist/ssr/animate-ssr.css +26 -72
  339. package/dist/ssr/links-ssr.css +35 -0
  340. package/dist/ssr/overlay-ssr.css +0 -41
  341. package/dist/ssr/rich-text.css +38 -0
  342. package/dist/ssr/sidebar-ssr.css +0 -38
  343. package/dist/ssr/toolbar-ssr.css +73 -39
  344. package/dist/types/variant.type.d.ts +26 -10
  345. package/dist/utils/navigation.utils.d.ts +14 -0
  346. package/dist/utils/navigation.utils.js +33 -0
  347. package/dist/utils/new-tab-anchor.controller.d.ts +44 -0
  348. package/dist/utils/new-tab-anchor.controller.js +102 -0
  349. package/dist/utils/rich-text.utils.d.ts +33 -0
  350. package/dist/utils/rich-text.utils.js +140 -49
  351. package/dist/utils/severity-icon.utils.d.ts +1 -1
  352. package/dist/utils/severity-icon.utils.js +1 -1
  353. package/dist/utils/theme-generator.utils.d.ts +26 -3
  354. package/dist/utils/theme-generator.utils.js +68 -21
  355. package/package.json +13 -2
  356. package/styles/themes/eunomia-theme.scss +1 -0
  357. package/styles/themes/mixins/eunomia-neutrals.mixin.scss +71 -0
  358. package/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +3 -13
  359. package/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +3 -13
  360. package/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +2 -0
  361. package/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +3 -13
  362. package/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +3 -13
  363. package/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +2 -0
  364. package/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +3 -13
  365. package/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +3 -13
  366. package/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +2 -0
  367. package/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +3 -13
  368. package/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +3 -13
  369. package/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +2 -0
  370. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +3 -13
  371. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +3 -13
  372. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +2 -0
  373. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +3 -13
  374. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +3 -13
  375. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +2 -0
  376. package/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +3 -13
  377. package/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +3 -13
  378. package/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +2 -0
  379. package/styles/tools/indexes/eunomia-tools.index.scss +1 -0
  380. package/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +39 -0
  381. package/styles/tools/mixins/settings/eunomia-border.mixin.scss +3 -3
  382. package/styles/tools/mixins/settings/eunomia-font.mixin.scss +12 -12
  383. package/styles/tools/mixins/settings/eunomia-radius.mixin.scss +4 -4
  384. package/dist/cdn/components/chunks/chunk-3LMI7KUA.js +0 -48
  385. package/dist/cdn/components/chunks/chunk-5TH3P53V.js +0 -16
  386. package/dist/cdn/components/chunks/chunk-ATH2OAMU.js +0 -1
  387. package/dist/cdn/components/chunks/chunk-BKHD4S57.js +0 -1
  388. package/dist/cdn/components/chunks/chunk-KNM5QHDK.js +0 -38
  389. package/dist/cdn/components/chunks/chunk-MBF52GEL.js +0 -1
  390. package/dist/cdn/components/chunks/chunk-T7WABJEJ.js +0 -1
  391. package/dist/cdn/components/chunks/chunk-XSMCT4DF.js +0 -1
  392. package/dist/cdn/components/chunks/chunk-Z6PJYSC3.js +0 -622
  393. package/dist/cdn/components/chunks/chunk-ZKPCO5RB.js +0 -262
  394. package/dist/mixins/field-variant.mixin.d.ts +0 -22
@@ -1 +1 @@
1
- export declare const chipStyles: import("lit").CSSResult;
1
+ export declare const chipStyles: import("lit").CSSResult[];
@@ -1,28 +1,26 @@
1
1
  import { css } from "lit";
2
+ import { toneSurfaceStyles } from "../shared-styles/tone-surface.styles.js";
2
3
  /**
3
4
  * Base style for chip.
4
5
  *
5
6
  * Custom css variables:
6
- * [--chip-background-color] - Set a custom color to the chip background
7
- * [--chip-border-color] - Set a custom color to the chip borders in case of the outline appearance
8
- * [--chip-border-width] - Set a custom border width to the chip borders in case of the outline appearance
7
+ * [--chip-background-color] - Set a custom background color, for every appearance
8
+ * [--chip-border-color] - Set a custom border color, for every appearance
9
+ * [--chip-border-width] - Set a custom border width, for every appearance. Defaults to 1px, only drawn (in a color) by outline, or when --chip-border-color is set
9
10
  * [--chip-box-shadow] - Set a custom box shadow to the chip, none by default
10
- * [--chip-color] - Set a custom color to the chip textual content
11
+ * [--chip-color] - Set a custom color to the chip textual content, for every appearance
11
12
  * [--chip-icon-color] - Set a custom color for the leading icon only (not the avatar/initials, not the delete button's icon). Defaults to the chip's own text color, so it only needs setting to make the icon diverge from the label
12
- * [--chip-border-radius] - Set a custom border radius to the chip when `rounded` is unset
13
+ * [--chip-border-radius] - Set a custom border radius to the chip, also over `rounded`
13
14
  * [--chip-gap] - Set a custom gap between the chip's leading visual, label, and delete button
14
15
  * [--chip-avatar-background] - Set a custom background color for the initials badge
15
16
  * [--chip-avatar-color] - Set a custom text color for the initials badge
16
17
  * [--chip-avatar-size] - Set a custom diameter for the leading avatar/initials/image
17
18
  * [--chip-delete-focus-outline-color] - Set a custom focus outline color for the delete button
18
19
  *
19
- * Unlike `eun-tag`, every color branch below reads its `--_background`/
20
- * `--_color`/`--_border-color` through the matching `--chip-*` custom
21
- * property as an override-with-fallback, rather than only honoring it while
22
- * `color` is unset. That's deliberate : `color` always carries a value (it
23
- * defaults to `medium` and reflects), so a branch that only checked for
24
- * `color` being absent could never actually be reached by a consumer who
25
- * left it at its default — see "Custom colors" in the Examples tab.
20
+ * The palette and appearance resolution is shared with `eun-tag` (see
21
+ * {@link toneSurfaceStyles}) ; this sheet only reads its `--_bg`, `--_fg` and
22
+ * `--_bd` behind the `--chip-*` custom properties, applied last on the chip
23
+ * itself, so they win over any palette/appearance combination.
26
24
  */
27
25
  const base = css `
28
26
  :host {
@@ -33,187 +31,15 @@ const base = css `
33
31
  vertical-align: middle;
34
32
  }
35
33
 
36
- :host([color="primary"]:not([severity])) {
37
- --_background: var(
38
- --chip-background-color,
39
- var(--eun-color-primary-transparent, #3d6fff33)
40
- );
41
- --_backgroundFilled: var(
42
- --chip-background-color,
43
- var(--eun-color-primary-500, #3d6fff)
44
- );
45
- --_border-color: var(
46
- --chip-border-color,
47
- var(--eun-color-primary-500, #3d6fff)
48
- );
49
- --_color: var(--chip-color, var(--eun-color-primary-500, #3d6fff));
50
- }
51
- :host([color="secondary"]:not([severity])) {
52
- --_background: var(
53
- --chip-background-color,
54
- var(--eun-color-secondary-transparent, #e5a03033)
55
- );
56
- --_backgroundFilled: var(
57
- --chip-background-color,
58
- var(--eun-color-secondary-500, #e5a030)
59
- );
60
- --_border-color: var(
61
- --chip-border-color,
62
- var(--eun-color-secondary-500, #e5a030)
63
- );
64
- --_color: var(--chip-color, var(--eun-color-secondary-500, #e5a030));
65
- }
66
- :host([color="light"]:not([severity])) {
67
- --_background: var(
68
- --chip-background-color,
69
- var(--eun-color-grey-0, #ffffff)
70
- );
71
- --_backgroundFilled: var(
72
- --chip-background-color,
73
- var(--eun-color-grey-0, #ffffff)
74
- );
75
- --_border-color: var(
76
- --chip-border-color,
77
- var(--eun-color-grey-0, #ffffff)
78
- );
79
- --_color: var(--chip-color, var(--eun-color-grey-600, #666e8a));
80
- }
81
- :host([color="light"][appearance="outline"]:not([severity])) {
82
- --_color: var(--chip-color, var(--eun-color-grey-600, #666e8a));
83
- }
84
- :host([color="medium"]:not([severity])) {
85
- --_background: var(
86
- --chip-background-color,
87
- color-mix(in srgb, var(--eun-color-grey-700, #484e61) 20%, transparent)
88
- );
89
- --_backgroundFilled: var(--_background);
90
- --_border-color: var(
91
- --chip-border-color,
92
- var(--eun-color-grey-700, #484e61)
93
- );
94
- --_color: var(--chip-color, var(--eun-color-grey-900, #000000));
95
- }
96
- :host([color="dark"]:not([severity])) {
97
- --_background: var(
98
- --chip-background-color,
99
- var(--eun-color-grey-800, #071621)
100
- );
101
- --_backgroundFilled: var(
102
- --chip-background-color,
103
- var(--eun-color-grey-800, #071621)
104
- );
105
- --_border-color: var(
106
- --chip-border-color,
107
- var(--eun-color-grey-800, #071621)
108
- );
109
- --_color: var(--chip-color, var(--eun-color-grey-0, #ffffff));
110
- }
111
- :host([color="dark"][appearance="outline"]:not([severity])) {
112
- --_color: var(--chip-color, var(--eun-color-grey-800, #071621));
113
- }
114
-
115
- :host([severity="info"]) {
116
- --_background: var(
117
- --chip-background-color,
118
- var(--eun-color-info-30, #f0f7fa)
119
- );
120
- --_backgroundFilled: var(
121
- --chip-background-color,
122
- var(--eun-color-info-100, #097faf)
123
- );
124
- --_border-color: var(
125
- --chip-border-color,
126
- var(--eun-color-info-100, #097faf)
127
- );
128
- --_color: var(--chip-color, var(--eun-color-info-100, #097faf));
129
- }
130
- :host([severity="success"]) {
131
- --_background: var(
132
- --chip-background-color,
133
- var(--eun-color-success-30, #f1f9f4)
134
- );
135
- --_backgroundFilled: var(
136
- --chip-background-color,
137
- var(--eun-color-success-100, #1a9948)
138
- );
139
- --_border-color: var(
140
- --chip-border-color,
141
- var(--eun-color-success-100, #1a9948)
142
- );
143
- --_color: var(--chip-color, var(--eun-color-success-100, #1a9948));
144
- }
145
- :host([severity="warning"]) {
146
- --_background: var(
147
- --chip-background-color,
148
- var(--eun-color-warning-30, #fcf5f0)
149
- );
150
- --_backgroundFilled: var(
151
- --chip-background-color,
152
- var(--eun-color-warning-100, #c85207)
153
- );
154
- --_border-color: var(
155
- --chip-border-color,
156
- var(--eun-color-warning-100, #c85207)
157
- );
158
- --_color: var(--chip-color, var(--eun-color-warning-100, #c85207));
159
- }
160
- :host([severity="critical"]) {
161
- --_background: var(
162
- --chip-background-color,
163
- var(--eun-color-critical-30, #faf0f1)
164
- );
165
- --_backgroundFilled: var(
166
- --chip-background-color,
167
- var(--eun-color-critical-100, #aa0014)
168
- );
169
- --_border-color: var(
170
- --chip-border-color,
171
- var(--eun-color-critical-100, #aa0014)
172
- );
173
- --_color: var(--chip-color, var(--eun-color-critical-100, #aa0014));
174
- }
175
- :host([severity="neutral"]) {
176
- --_background: var(
177
- --chip-background-color,
178
- var(--eun-color-grey-200, #ecedf0)
179
- );
180
- --_backgroundFilled: var(
181
- --chip-background-color,
182
- var(--eun-color-grey-700, #484e61)
183
- );
184
- --_border-color: var(
185
- --chip-border-color,
186
- var(--eun-color-grey-700, #484e61)
187
- );
188
- --_color: var(--chip-color, var(--eun-color-grey-700, #484e61));
189
- }
190
-
191
- :host([appearance="default"]) #chip {
192
- background: var(--_background);
193
- }
194
-
195
- :host([appearance="fill"]) #chip {
196
- --_color: var(--chip-color, #fff);
197
- background: var(--_backgroundFilled);
198
- color: var(--_color);
199
- }
200
-
201
- :host([appearance="outline"]) #chip {
202
- background: var(--eun-surface-color, #ffffff);
203
- border: var(--chip-border-width, var(--eun-borderWidth-s, 1px)) solid
204
- var(--_border-color);
205
- }
206
-
207
- :host([appearance="flat"]) #chip {
208
- --_color: var(--chip-color, var(--eun-text-secondary, #484e61));
209
- background: var(--eun-content-hover, #edeff0);
210
- color: var(--_color);
34
+ :host {
35
+ /* Unlike a tag's transparent outline, a chip's sits on the surface. */
36
+ --_bg-outline: var(--eun-surface-color, #ffffff);
211
37
  }
212
38
 
213
39
  :host([size="s"]) {
214
40
  --_height: 26px;
215
41
  --_paddingInline: 4px;
216
- --_fontSize: var(--eun-fontSize-xs, 12px);
42
+ --_fontSize: var(--eun-font-size-xs, 12px);
217
43
  --_gap: 4px;
218
44
  --_avatarFontSize: 10px;
219
45
  --_avatarInsetSize: 16px;
@@ -222,7 +48,7 @@ const base = css `
222
48
  :host(:not([size])) {
223
49
  --_height: 30px;
224
50
  --_paddingInline: 6px;
225
- --_fontSize: var(--eun-fontSize-s, 14px);
51
+ --_fontSize: var(--eun-font-size-s, 14px);
226
52
  --_gap: 6px;
227
53
  --_avatarFontSize: 11px;
228
54
  --_avatarInsetSize: 20px;
@@ -230,17 +56,17 @@ const base = css `
230
56
  :host([size="l"]) {
231
57
  --_height: 38px;
232
58
  --_paddingInline: 6px;
233
- --_fontSize: var(--eun-fontSize-m, 16px);
59
+ --_fontSize: var(--eun-font-size-m, 16px);
234
60
  --_gap: 8px;
235
61
  --_avatarFontSize: 12px;
236
62
  --_avatarInsetSize: 24px;
237
63
  }
238
64
 
239
- :host([rounded]) {
240
- --_borderRadius: var(--eun-borderRadius-xl, 999px);
65
+ :host {
66
+ --_radius: var(--eun-border-radius-s, 5px);
241
67
  }
242
- :host(:not([rounded])) {
243
- --_borderRadius: var(--chip-border-radius, var(--eun-borderRadius-s, 5px));
68
+ :host([rounded]) {
69
+ --_radius: var(--eun-border-radius-xl, 999px);
244
70
  }
245
71
 
246
72
  #chip {
@@ -249,20 +75,30 @@ const base = css `
249
75
  box-sizing: border-box;
250
76
  max-width: 100%;
251
77
  height: var(--_height);
252
- border-radius: var(--_borderRadius);
253
- padding-inline-start: var(--_paddingInline);
254
- padding-inline-end: var(--_paddingInline);
78
+ --_borderWidth: var(--chip-border-width, var(--eun-border-width-s, 1px));
79
+ background: var(--chip-background-color, var(--_bg));
80
+ /* Every appearance carries the same border box (transparent unless
81
+ drawn), taken out of the padding, so switching appearance or adding a
82
+ --chip-border-* never changes the chip's size. */
83
+ border: var(--_borderWidth) solid var(--chip-border-color, var(--_bd));
84
+ border-radius: var(--chip-border-radius, var(--_radius));
85
+ padding-inline-start: max(0px, calc(var(--_paddingInline) - var(--_borderWidth)));
86
+ padding-inline-end: max(0px, calc(var(--_paddingInline) - var(--_borderWidth)));
255
87
  font-size: var(--_fontSize);
256
88
  gap: var(--chip-gap, var(--_gap));
257
- color: var(--_color);
258
- font-weight: var(--eun-fontWeight-m, 500);
89
+ color: var(--chip-color, var(--_fg));
90
+ font-weight: var(--eun-font-weight-m, 500);
259
91
  box-shadow: var(--chip-box-shadow, none);
260
- --_leadingIconColor: var(--chip-icon-color, var(--_color));
92
+ --_textColor: var(--chip-color, var(--_fg));
93
+ --_leadingIconColor: var(--chip-icon-color, var(--_textColor));
261
94
  }
262
95
 
263
96
  #chip[data-leading="icon"],
264
97
  #chip[data-leading="none"] {
265
- padding-inline-start: calc(var(--_paddingInline) + 4px);
98
+ padding-inline-start: max(
99
+ 0px,
100
+ calc(var(--_paddingInline) + 4px - var(--_borderWidth))
101
+ );
266
102
  }
267
103
 
268
104
  #chip[data-leading="none"] slot[name="icon"] {
@@ -288,12 +124,12 @@ const base = css `
288
124
  width: var(--chip-avatar-size, var(--_avatarInsetSize, 20px));
289
125
  height: var(--chip-avatar-size, var(--_avatarInsetSize, 20px));
290
126
  font-size: var(--_avatarFontSize);
291
- font-weight: var(--eun-fontWeight-l, 700);
127
+ font-weight: var(--eun-font-weight-l, 700);
292
128
  line-height: 1;
293
- color: var(--chip-avatar-color, #fff);
129
+ color: var(--chip-avatar-color, var(--_onSolid, #fff));
294
130
  background: var(
295
131
  --chip-avatar-background,
296
- var(--_backgroundFilled, var(--eun-color-grey-500, #8d93aa))
132
+ var(--_solid, var(--eun-color-grey-500, #8d93aa))
297
133
  );
298
134
  overflow: hidden;
299
135
  }
@@ -303,7 +139,7 @@ const base = css `
303
139
  }
304
140
 
305
141
  #avatar[data-shape="square"] {
306
- border-radius: var(--eun-borderRadius-s, 5px);
142
+ border-radius: var(--eun-border-radius-s, 5px);
307
143
  }
308
144
 
309
145
  #avatar img {
@@ -320,7 +156,7 @@ const base = css `
320
156
 
321
157
  #delete {
322
158
  flex-shrink: 0;
323
- --button-text: var(--_color);
159
+ --button-text: var(--_textColor);
324
160
  --button-focus-outline: var(
325
161
  --chip-delete-focus-outline-color,
326
162
  var(--eun-color-primary-500, #3d6fff)
@@ -331,4 +167,4 @@ const base = css `
331
167
  opacity: 0.6;
332
168
  }
333
169
  `;
334
- export const chipStyles = base;
170
+ export const chipStyles = [toneSurfaceStyles, base];
@@ -37,14 +37,16 @@ export declare const EunomiaCollapseTagName = "eun-collapse";
37
37
  * trigger, so it's never dropped into now-hidden content.
38
38
  *
39
39
  * @slot [default] - The panel's content, shown when expanded, combining with richText if both are set. Only the panel's own padding and text color apply to it, with no margins, typography, or list styles forced onto slotted content
40
+ * @slot [heading] - The trigger's heading as light DOM content, so it's part of the server-rendered HTML. Falls back to heading when empty. Keep it to text and inline phrasing, since it renders inside the trigger button
40
41
  * @slot [icon] - Replaces the leading icon entirely with any content, not just an icon element. Falls back to icon when empty
41
- * @slot [tag] - Replaces the trigger's tag entirely, for example with a custom colored tag. Falls back to the plain text tag when empty
42
+ * @slot [subheading] - The secondary text under the heading as light DOM content, so it's part of the server-rendered HTML. Falls back to subheading when empty
43
+ * @slot [tag] - The trigger's tag as light DOM content. Plain elements, such as a span of text, keep the default tag style, while a custom element, such as a colored eun-tag, replaces the tag entirely. Falls back to tag when empty
42
44
  * @slot [chevron] - Replaces the trailing indicator entirely with any content, not just an icon element. Falls back to chevronIcon when empty. Whatever ends up there still rotates while open, unless that rotation is set to zero
43
- * @prop {string} heading - The trigger's heading text
44
- * @prop {string} [subheading] - Optional secondary text shown under the heading
45
+ * @prop {string} heading - The trigger's heading text. Ignored once something is slotted into heading
46
+ * @prop {string} [subheading] - Optional secondary text shown under the heading. Ignored once something is slotted into subheading
45
47
  * @prop {2 | 3 | 4 | 5 | 6} [level] - Wraps the trigger in a heading element of this level, so screen reader users can jump between items, such as several FAQ entries, by heading. Matches the page's own outline, so it's opt-in rather than assumed
46
48
  * @prop {import('../icon/icon.type.js').EunomiaIconName} [icon] - An optional leading icon for the trigger. Ignored once the icon slot has content
47
- * @prop {string} [tag] - An optional short label rendered as a default tag in the trigger, such as a count or category. Use the tag slot instead for a custom colored badge
49
+ * @prop {string} [tag] - An optional short label rendered as a default tag in the trigger, such as a count or category. Ignored once something is slotted into tag
48
50
  * @prop {import('../icon/icon.type.js').EunomiaIconName} [chevronIcon='add'] - The trailing indicator icon. Ignored once the chevron slot has content. Pair a non-default icon with the chevron rotation custom property, since the default plus-sign-to-cross rotation doesn't suit every icon
49
51
  * @prop {string} [richText] - Lightweight formatted content rendered above the default slot. Supports simple lists, links, bold, and italic text
50
52
  * @prop {boolean} [open=false] - Whether the panel is currently expanded
@@ -82,11 +84,16 @@ export declare class EunomiaCollapse extends LitElement {
82
84
  */
83
85
  static readonly styles: import("lit").CSSResult[];
84
86
  /**
85
- * The trigger's heading text.
87
+ * The trigger's heading text. Only rendered in the shadow root, so the
88
+ * `heading` slot is preferred wherever the text must be in the server
89
+ * HTML (an indexed FAQ, for example) ; ignored once that slot is filled.
86
90
  */
87
91
  heading: string;
88
92
  /**
89
- * Optional secondary text shown under the heading.
93
+ * Optional secondary text shown under the heading. Only rendered in the
94
+ * shadow root, like {@link heading}, so the `subheading` slot is
95
+ * preferred wherever the text must be in the server HTML ; ignored once
96
+ * that slot is filled.
90
97
  */
91
98
  subheading?: string;
92
99
  /**
@@ -194,12 +201,12 @@ export declare class EunomiaCollapse extends LitElement {
194
201
  */
195
202
  private readonly iconSlotEls;
196
203
  /**
197
- * Elements assigned to the `tag` slot, if any ; queried live so
198
- * {@link render} can decide whether to fall back to the `tag` prop.
204
+ * Elements assigned to the `subheading` slot, if any ; queried live so
205
+ * {@link render} can decide whether to render the subheading line at all.
199
206
  * @internal
200
207
  * @readonly
201
208
  */
202
- private readonly tagSlotEls;
209
+ private readonly subheadingSlotEls;
203
210
  /**
204
211
  * Elements assigned to the `chevron` slot, if any ; queried live so
205
212
  * {@link render} can skip instantiating the fallback `eun-icon` (and its
@@ -212,8 +219,9 @@ export declare class EunomiaCollapse extends LitElement {
212
219
  private readonly chevronSlotEls;
213
220
  /**
214
221
  * Re-renders when a named slot's assigned content changes, so the
215
- * `icon`/`tag`/`chevron` prop fallback correctly appears/disappears as
216
- * content is slotted in or removed after the initial render.
222
+ * `icon`/`subheading`/`tag`/`chevron` prop fallback correctly
223
+ * appears/disappears as content is slotted in or removed after the
224
+ * initial render.
217
225
  * @private
218
226
  */
219
227
  private handleSlotChange;
@@ -332,6 +340,16 @@ export declare class EunomiaCollapse extends LitElement {
332
340
  * @private
333
341
  */
334
342
  private renderHeadingWrapper;
343
+ /**
344
+ * Renders the `tag` slot. Plain elements slotted into it (a span of
345
+ * text, typically) are wrapped in the default tag, so server-rendered
346
+ * text keeps the tag style ; a custom element (a colored `eun-tag`, a
347
+ * badge, ...) replaces the tag entirely instead. Read from the light DOM
348
+ * rather than the slot's assigned elements, so the first render already
349
+ * picks the right shape before the slot exists.
350
+ * @private
351
+ */
352
+ private renderTag;
335
353
  render(): TemplateResult;
336
354
  }
337
355
  declare global {
@@ -49,14 +49,16 @@ export const EunomiaCollapseTagName = "eun-collapse";
49
49
  * trigger, so it's never dropped into now-hidden content.
50
50
  *
51
51
  * @slot [default] - The panel's content, shown when expanded, combining with richText if both are set. Only the panel's own padding and text color apply to it, with no margins, typography, or list styles forced onto slotted content
52
+ * @slot [heading] - The trigger's heading as light DOM content, so it's part of the server-rendered HTML. Falls back to heading when empty. Keep it to text and inline phrasing, since it renders inside the trigger button
52
53
  * @slot [icon] - Replaces the leading icon entirely with any content, not just an icon element. Falls back to icon when empty
53
- * @slot [tag] - Replaces the trigger's tag entirely, for example with a custom colored tag. Falls back to the plain text tag when empty
54
+ * @slot [subheading] - The secondary text under the heading as light DOM content, so it's part of the server-rendered HTML. Falls back to subheading when empty
55
+ * @slot [tag] - The trigger's tag as light DOM content. Plain elements, such as a span of text, keep the default tag style, while a custom element, such as a colored eun-tag, replaces the tag entirely. Falls back to tag when empty
54
56
  * @slot [chevron] - Replaces the trailing indicator entirely with any content, not just an icon element. Falls back to chevronIcon when empty. Whatever ends up there still rotates while open, unless that rotation is set to zero
55
- * @prop {string} heading - The trigger's heading text
56
- * @prop {string} [subheading] - Optional secondary text shown under the heading
57
+ * @prop {string} heading - The trigger's heading text. Ignored once something is slotted into heading
58
+ * @prop {string} [subheading] - Optional secondary text shown under the heading. Ignored once something is slotted into subheading
57
59
  * @prop {2 | 3 | 4 | 5 | 6} [level] - Wraps the trigger in a heading element of this level, so screen reader users can jump between items, such as several FAQ entries, by heading. Matches the page's own outline, so it's opt-in rather than assumed
58
60
  * @prop {import('../icon/icon.type.js').EunomiaIconName} [icon] - An optional leading icon for the trigger. Ignored once the icon slot has content
59
- * @prop {string} [tag] - An optional short label rendered as a default tag in the trigger, such as a count or category. Use the tag slot instead for a custom colored badge
61
+ * @prop {string} [tag] - An optional short label rendered as a default tag in the trigger, such as a count or category. Ignored once something is slotted into tag
60
62
  * @prop {import('../icon/icon.type.js').EunomiaIconName} [chevronIcon='add'] - The trailing indicator icon. Ignored once the chevron slot has content. Pair a non-default icon with the chevron rotation custom property, since the default plus-sign-to-cross rotation doesn't suit every icon
61
63
  * @prop {string} [richText] - Lightweight formatted content rendered above the default slot. Supports simple lists, links, bold, and italic text
62
64
  * @prop {boolean} [open=false] - Whether the panel is currently expanded
@@ -143,8 +145,9 @@ let EunomiaCollapse = class EunomiaCollapse extends LitElement {
143
145
  this.openedViaFocus = false;
144
146
  /**
145
147
  * Re-renders when a named slot's assigned content changes, so the
146
- * `icon`/`tag`/`chevron` prop fallback correctly appears/disappears as
147
- * content is slotted in or removed after the initial render.
148
+ * `icon`/`subheading`/`tag`/`chevron` prop fallback correctly
149
+ * appears/disappears as content is slotted in or removed after the
150
+ * initial render.
148
151
  * @private
149
152
  */
150
153
  this.handleSlotChange = () => {
@@ -364,6 +367,35 @@ let EunomiaCollapse = class EunomiaCollapse extends LitElement {
364
367
  return trigger;
365
368
  }
366
369
  }
370
+ /**
371
+ * Renders the `tag` slot. Plain elements slotted into it (a span of
372
+ * text, typically) are wrapped in the default tag, so server-rendered
373
+ * text keeps the tag style ; a custom element (a colored `eun-tag`, a
374
+ * badge, ...) replaces the tag entirely instead. Read from the light DOM
375
+ * rather than the slot's assigned elements, so the first render already
376
+ * picks the right shape before the slot exists.
377
+ * @private
378
+ */
379
+ renderTag() {
380
+ const slotted = [
381
+ ...this.querySelectorAll(':scope > [slot="tag"]'),
382
+ ];
383
+ const replaced = slotted.some((el) => el.localName.includes("-"));
384
+ const slot = html `<slot name="tag" @slotchange=${this.handleSlotChange}
385
+ >${this.tag}</slot
386
+ >`;
387
+ if (replaced) {
388
+ return slot;
389
+ }
390
+ if (!this.tag && !slotted.length) {
391
+ return html `<slot
392
+ name="tag"
393
+ class="hidden"
394
+ @slotchange=${this.handleSlotChange}
395
+ ></slot>`;
396
+ }
397
+ return html `<eun-tag color="primary" size="s" rounded>${slot}</eun-tag>`;
398
+ }
367
399
  render() {
368
400
  const trigger = html `
369
401
  <button
@@ -388,24 +420,22 @@ let EunomiaCollapse = class EunomiaCollapse extends LitElement {
388
420
  : nothing}
389
421
  </slot>
390
422
  <span id="heading-group">
391
- <span id="heading">${this.heading}</span>
392
- ${this.subheading
393
- ? html `<span id="subheading">${this.subheading}</span>`
394
- : nothing}
423
+ <span id="heading"
424
+ ><slot name="heading">${this.heading}</slot></span
425
+ >
426
+ <span
427
+ id="subheading"
428
+ class=${classMap({
429
+ hidden: !this.subheading && !this.subheadingSlotEls.length,
430
+ })}
431
+ ><slot name="subheading" @slotchange=${this.handleSlotChange}
432
+ >${this.subheading}</slot
433
+ ></span
434
+ >
395
435
  </span>
396
436
  </span>
397
437
  <span id="actions">
398
- <slot
399
- name="tag"
400
- class=${classMap({ hidden: !this.tag && !this.tagSlotEls.length })}
401
- @slotchange=${this.handleSlotChange}
402
- >
403
- ${this.tag
404
- ? html `<eun-tag color="primary" size="s" rounded
405
- >${this.tag}</eun-tag
406
- >`
407
- : nothing}
408
- </slot>
438
+ ${this.renderTag()}
409
439
  <span id="chevron">
410
440
  <slot name="chevron" @slotchange=${this.handleSlotChange}>
411
441
  ${this.chevronSlotEls.length
@@ -497,8 +527,8 @@ __decorate([
497
527
  queryAssignedElements({ slot: "icon" })
498
528
  ], EunomiaCollapse.prototype, "iconSlotEls", void 0);
499
529
  __decorate([
500
- queryAssignedElements({ slot: "tag" })
501
- ], EunomiaCollapse.prototype, "tagSlotEls", void 0);
530
+ queryAssignedElements({ slot: "subheading" })
531
+ ], EunomiaCollapse.prototype, "subheadingSlotEls", void 0);
502
532
  __decorate([
503
533
  queryAssignedElements({ slot: "chevron" })
504
534
  ], EunomiaCollapse.prototype, "chevronSlotEls", void 0);
@@ -35,7 +35,7 @@ export const collapseStyles = css `
35
35
  #wrapper {
36
36
  --_background: var(
37
37
  --collapse-background,
38
- var(--eun-color-grey-100, #f7f8fa)
38
+ var(--eun-surface-sunken, #f7f8fa)
39
39
  );
40
40
  --_backgroundHover: var(--collapse-background-hover, var(--_background));
41
41
  --_backgroundOpen: var(--collapse-background-open, var(--_background));
@@ -58,7 +58,7 @@ export const collapseStyles = css `
58
58
  );
59
59
  --_contentFontSize: var(
60
60
  --collapse-content-font-size,
61
- var(--eun-fontSize-s, 14px)
61
+ var(--eun-font-size-s, 14px)
62
62
  );
63
63
  --_richTextLinkColor: var(
64
64
  --collapse-rich-text-link-color,
@@ -70,7 +70,7 @@ export const collapseStyles = css `
70
70
  );
71
71
  --_borderRadius: var(
72
72
  --collapse-border-radius,
73
- var(--eun-borderRadius-l, 16px)
73
+ var(--eun-border-radius-l, 16px)
74
74
  );
75
75
  --_padding: var(--collapse-padding, var(--eun-space-m, 16px));
76
76
  --_transitionDuration: var(--collapse-transition-duration, 0.3s);
@@ -87,8 +87,8 @@ export const collapseStyles = css `
87
87
  border-radius: var(--_borderRadius);
88
88
  color: var(--_color);
89
89
  font: inherit;
90
- font-size: var(--eun-fontSize-m, 16px);
91
- font-weight: var(--eun-fontWeight-l);
90
+ font-size: var(--eun-font-size-m, 16px);
91
+ font-weight: var(--eun-font-weight-l);
92
92
  text-align: left;
93
93
  cursor: pointer;
94
94
  outline: 2px solid transparent;
@@ -138,13 +138,26 @@ export const collapseStyles = css `
138
138
  #heading {
139
139
  overflow: hidden;
140
140
  text-overflow: ellipsis;
141
- font-size: var(--eun-fontSize-s, 14px);
141
+ font-size: var(--eun-font-size-s, 14px);
142
+ }
143
+ #heading ::slotted(*) {
144
+ margin: 0;
145
+ font: inherit;
146
+ color: inherit;
142
147
  }
143
148
  #subheading {
144
- font-size: var(--eun-fontSize-xs, 14px);
145
- font-weight: var(--eun-fontWeight-m);
149
+ font-size: var(--eun-font-size-xs, 14px);
150
+ font-weight: var(--eun-font-weight-m);
146
151
  color: var(--_subheadingColor);
147
152
  }
153
+ #subheading.hidden {
154
+ display: none;
155
+ }
156
+ #subheading ::slotted(*) {
157
+ margin: 0;
158
+ font: inherit;
159
+ color: inherit;
160
+ }
148
161
  #actions {
149
162
  display: flex;
150
163
  align-items: center;
@@ -162,6 +175,7 @@ export const collapseStyles = css `
162
175
  background: var(--_background);
163
176
  border-bottom-left-radius: var(--_borderRadius);
164
177
  border-bottom-right-radius: var(--_borderRadius);
178
+ overflow-anchor: none;
165
179
  transition:
166
180
  grid-template-rows var(--_transitionDuration) ease-out,
167
181
  margin-top var(--_transitionDuration) ease-out,
@@ -171,7 +185,7 @@ export const collapseStyles = css `
171
185
  overflow: hidden;
172
186
  }
173
187
  #panel-content {
174
- border-top: var(--eun-borderWidth-s, 1px) solid
188
+ border-top: var(--eun-border-width-s, 1px) solid
175
189
  var(--eun-color-grey-300, #dee0e7);
176
190
  padding: var(--_padding);
177
191
  color: var(--_contentColor);
@@ -31,6 +31,7 @@ export declare function setIconBaseUrl(url: string): void;
31
31
  * @cssprop [--icon-background] - Sets a background color behind the icon, for example for a hover highlight. Transparent by default
32
32
  * @cssprop [--icon-padding] - Sets the space between the icon and its background box. Zero by default
33
33
  * @cssprop [--icon-border-radius] - Sets the corner radius of the background box
34
+ * @cssprop [--icon-transition] - Sets the transition applied to the icon's color, background, and size changes. 0.2s by default
34
35
  * @element eun-icon
35
36
  */
36
37
  export declare class EunomiaIcon extends LitElement {
@@ -60,9 +61,18 @@ export declare class EunomiaIcon extends LitElement {
60
61
  /**
61
62
  * Sets the size of the icon. Accepts any valid CSS size unit.
62
63
  * - If size ends with `%`, it will be converted to `rem`.
63
- * - If no size is provided, defaults to `1rem`.
64
+ * - If no size is provided, falls back to `--icon-size`, then `1rem`.
65
+ *
66
+ * Applied on the internal wrapper (see {@link cssSize}) rather than as an
67
+ * inline style on the host, which an SSR framework would report as a
68
+ * hydration mismatch.
64
69
  */
65
70
  set size(size: string | undefined);
71
+ /**
72
+ * The CSS length {@link size} resolves to, or `undefined` when unset.
73
+ * @private
74
+ */
75
+ private get cssSize();
66
76
  /**
67
77
  * Gets the current size value set for the icon.
68
78
  */
@@ -149,7 +159,7 @@ export declare class EunomiaIcon extends LitElement {
149
159
  * Renders the icon component. If no `name` is set, renders nothing.
150
160
  * If SVG markup is available, it is rendered using `unsafeSVG`.
151
161
  */
152
- render(): import("lit-html").TemplateResult<1> | typeof nothing;
162
+ render(): typeof nothing | import("lit-html").TemplateResult<1>;
153
163
  }
154
164
  declare global {
155
165
  interface HTMLElementTagNameMap {