@ebrains/components 3.0.0 → 3.2.0

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 (427) hide show
  1. package/dist/cjs/color-primary-palette_6.cjs.entry.js +14 -14
  2. package/dist/cjs/components-section.cjs.entry.js +1 -1
  3. package/dist/cjs/components.cjs.js +1 -1
  4. package/dist/cjs/correct-use-of-colors.cjs.entry.js +1 -1
  5. package/dist/cjs/docs-palettes.cjs.entry.js +1 -1
  6. package/dist/cjs/docs-tokens.cjs.entry.js +1 -1
  7. package/dist/cjs/{eds-accordion_52.cjs.entry.js → eds-accordion_53.cjs.entry.js} +1095 -336
  8. package/dist/cjs/eds-app-root.cjs.entry.js +1 -1
  9. package/dist/cjs/eds-cookies-preference.cjs.entry.js +1 -1
  10. package/dist/cjs/eds-feedback.cjs.entry.js +1 -1
  11. package/dist/cjs/eds-frame.cjs.entry.js +1 -1
  12. package/dist/cjs/eds-gauge.cjs.entry.js +1 -1
  13. package/dist/cjs/eds-gitlab-contributors.cjs.entry.js +35 -32
  14. package/dist/cjs/eds-icon-bluesky.cjs.entry.js +1 -1
  15. package/dist/cjs/eds-icon-eu.cjs.entry.js +1 -1
  16. package/dist/cjs/eds-icon-facebook.cjs.entry.js +1 -1
  17. package/dist/cjs/eds-icon-gitlab.cjs.entry.js +1 -1
  18. package/dist/cjs/eds-icon-linkedin.cjs.entry.js +1 -1
  19. package/dist/cjs/eds-icon-mastodon.cjs.entry.js +1 -1
  20. package/dist/cjs/eds-icon-twitter.cjs.entry.js +1 -1
  21. package/dist/cjs/eds-icon-youtube.cjs.entry.js +1 -1
  22. package/dist/cjs/eds-input-search.cjs.entry.js +76 -0
  23. package/dist/cjs/eds-modal.cjs.entry.js +18 -9
  24. package/dist/cjs/eds-pie.cjs.entry.js +2 -2
  25. package/dist/cjs/eds-section-core_2.cjs.entry.js +3 -3
  26. package/dist/cjs/eds-timeline.cjs.entry.js +1 -1
  27. package/dist/cjs/eds-toast-manager.cjs.entry.js +1 -1
  28. package/dist/cjs/eds-trl-badge.cjs.entry.js +184 -0
  29. package/dist/cjs/incorrect-use-of-colors.cjs.entry.js +1 -1
  30. package/dist/cjs/index-50bc1aa4.js +10 -2
  31. package/dist/cjs/loader.cjs.js +1 -1
  32. package/dist/cjs/logo-space.cjs.entry.js +58 -1
  33. package/dist/cjs/logo-variations-horizontal_2.cjs.entry.js +2 -2
  34. package/dist/cjs/logo-variations-tabs.cjs.entry.js +1 -1
  35. package/dist/cjs/logo-wrong-usage.cjs.entry.js +1 -1
  36. package/dist/cjs/svg-repository.cjs.entry.js +1 -1
  37. package/dist/cjs/token-list_3.cjs.entry.js +3 -3
  38. package/dist/cjs/token-ratios.cjs.entry.js +1 -1
  39. package/dist/cjs/token-spacing.cjs.entry.js +1 -1
  40. package/dist/cjs/token-typography.cjs.entry.js +8 -2
  41. package/dist/collection/collection-manifest.json +4 -1
  42. package/dist/collection/components/eds-accordion/eds-accordion.css +3 -2
  43. package/dist/collection/components/eds-accordion/eds-accordion.js +2 -5
  44. package/dist/collection/components/eds-accordion/eds-accordion.stories.js +7 -19
  45. package/dist/collection/components/eds-alert/eds-alert.css +14 -0
  46. package/dist/collection/components/eds-alert/eds-alert.js +2 -1
  47. package/dist/collection/components/eds-alert/eds-alert.stories.js +19 -147
  48. package/dist/collection/components/eds-avatar/eds-avatar.js +1 -1
  49. package/dist/collection/components/eds-avatar/eds-avatar.stories.js +2 -2
  50. package/dist/collection/components/eds-block-break/eds-block-break.js +1 -1
  51. package/dist/collection/components/eds-breadcrump/eds-breadcrump.js +1 -1
  52. package/dist/collection/components/eds-button/eds-button.css +15 -0
  53. package/dist/collection/components/eds-button/eds-button.js +17 -14
  54. package/dist/collection/components/eds-button/eds-button.stories.js +4 -1
  55. package/dist/collection/components/eds-cards/eds-card-app/eds-card-app.js +2 -5
  56. package/dist/collection/components/eds-cards/eds-card-composer/eds-card-desc/eds-card-desc.js +1 -1
  57. package/dist/collection/components/eds-cards/eds-card-composer/eds-card-title/eds-card-title.js +1 -1
  58. package/dist/collection/components/eds-cards/eds-card-cta/eds-card-cta.css +10 -1
  59. package/dist/collection/components/eds-cards/eds-card-cta/eds-card-cta.js +2 -5
  60. package/dist/collection/components/eds-cards/eds-card-cta/eds-card-cta.stories.js +4 -1
  61. package/dist/collection/components/eds-cards/eds-card-feature/eds-card-feature.js +2 -5
  62. package/dist/collection/components/eds-cards/eds-card-generic/eds-card-generic.js +2 -4
  63. package/dist/collection/components/eds-cards/eds-card-hero/eds-card-hero.js +6 -7
  64. package/dist/collection/components/eds-cards/eds-card-stat/eds-card-stat.js +6 -7
  65. package/dist/collection/components/eds-charts/eds-gauge/eds-gauge.js +1 -1
  66. package/dist/collection/components/eds-charts/eds-pie/eds-pie.js +2 -2
  67. package/dist/collection/components/eds-code-block/eds-code-block.css +72 -106
  68. package/dist/collection/components/eds-code-block/eds-code-block.js +1 -1
  69. package/dist/collection/components/eds-dropdown/eds-dropdown.js +30 -4
  70. package/dist/collection/components/eds-feedback/eds-feedback.js +1 -1
  71. package/dist/collection/components/eds-footer/eds-footer.css +143 -203
  72. package/dist/collection/components/eds-footer/eds-footer.js +176 -74
  73. package/dist/collection/components/eds-footer/eds-footer.stories.js +109 -17
  74. package/dist/collection/components/eds-form/eds-form.css +493 -1
  75. package/dist/collection/components/eds-form/eds-form.js +256 -14
  76. package/dist/collection/components/eds-form/eds-form.stories.js +110 -3
  77. package/dist/collection/components/eds-frame/eds-frame.js +1 -1
  78. package/dist/collection/components/eds-header/eds-header.js +1 -1
  79. package/dist/collection/components/eds-header/eds-header.stories.js +26 -12
  80. package/dist/collection/components/eds-icon-wrapper/eds-icon-wrapper.js +20 -1
  81. package/dist/collection/components/eds-icons/eds-icon-eu/eds-icon-eu.js +1 -1
  82. package/dist/collection/components/eds-icons/eds-icon-gitlab/eds-icon-gitlab.js +1 -1
  83. package/dist/collection/components/eds-icons/social/eds-icon-bluesky/eds-icon-bluesky.js +1 -1
  84. package/dist/collection/components/eds-icons/social/eds-icon-facebook/eds-icon-facebook.js +1 -1
  85. package/dist/collection/components/eds-icons/social/eds-icon-linkedin/eds-icon-linkedin.js +1 -1
  86. package/dist/collection/components/eds-icons/social/eds-icon-mastodon/eds-icon-mastodon.js +1 -1
  87. package/dist/collection/components/eds-icons/social/eds-icon-twitter/eds-icon-twitter.js +1 -1
  88. package/dist/collection/components/eds-icons/social/eds-icon-youtube/eds-icon-youtube.js +1 -1
  89. package/dist/collection/components/eds-img/eds-img.js +2 -2
  90. package/dist/collection/components/eds-img/eds-img.stories.js +29 -52
  91. package/dist/collection/components/eds-input-dropzone/eds-input-dropzone.js +7 -4
  92. package/dist/collection/components/eds-input-elements/eds-input/eds-input.js +20 -2
  93. package/dist/collection/components/eds-input-elements/eds-input-footer/eds-input-footer.css +39 -0
  94. package/dist/collection/components/eds-input-elements/eds-input-footer/eds-input-footer.js +2 -1
  95. package/dist/collection/components/eds-input-elements/eds-input-label/eds-input-label.css +17 -5
  96. package/dist/collection/components/eds-input-elements/eds-input-label/eds-input-label.js +1 -1
  97. package/dist/collection/components/eds-input-elements/eds-input-range/eds-input-range.js +15 -5
  98. package/dist/collection/components/eds-input-elements/eds-input-search/eds-input-search.js +1 -1
  99. package/dist/collection/components/eds-input-elements/eds-input-search/eds-input-search.stories.js +30 -0
  100. package/dist/collection/components/eds-input-elements/eds-input-select/eds-input-select.js +6 -2
  101. package/dist/collection/components/eds-input-field/eds-input-field.css +219 -0
  102. package/dist/collection/components/eds-input-field/eds-input-field.js +16 -5
  103. package/dist/collection/components/eds-input-field/eds-input-field.stories.js +105 -125
  104. package/dist/collection/components/eds-input-file/eds-input-file.js +5 -3
  105. package/dist/collection/components/eds-link/eds-link.js +4 -8
  106. package/dist/collection/components/eds-link/eds-link.stories.js +13 -8
  107. package/dist/collection/components/eds-logo/eds-logo.js +13 -66
  108. package/dist/collection/components/eds-logo/eds-logo.stories.js +36 -17
  109. package/dist/collection/components/eds-modal/eds-modal.js +18 -9
  110. package/dist/collection/components/eds-modal/eds-modal.stories.js +11 -8
  111. package/dist/collection/components/eds-nps/eds-nps.css +32 -0
  112. package/dist/collection/components/eds-nps/eds-nps.js +3 -3
  113. package/dist/collection/components/eds-pagination/eds-pagination.js +2 -2
  114. package/dist/collection/components/eds-progress-bar/eds-progress-bar.js +1 -8
  115. package/dist/collection/components/eds-rating/eds-rating.css +9 -0
  116. package/dist/collection/components/eds-rating/eds-rating.js +2 -2
  117. package/dist/collection/components/eds-section/eds-section-core/eds-section-core.js +1 -1
  118. package/dist/collection/components/eds-section/eds-section-heading/eds-section-heading.js +2 -2
  119. package/dist/collection/components/eds-sidebar/eds-sidebar.js +2 -2
  120. package/dist/collection/components/eds-social-networks/eds-social-networks.js +1 -1
  121. package/dist/collection/components/eds-spinner/eds-spinner.js +1 -1
  122. package/dist/collection/components/eds-steps/eds-steps.css +56 -25
  123. package/dist/collection/components/eds-steps/eds-steps.js +27 -7
  124. package/dist/collection/components/eds-steps-v2/eds-steps-v2.css +93 -28
  125. package/dist/collection/components/eds-steps-v2/eds-steps-v2.js +57 -10
  126. package/dist/collection/components/eds-steps-v2/eds-steps-v2.stories.js +80 -17
  127. package/dist/collection/components/eds-switch/eds-switch.css +26 -3
  128. package/dist/collection/components/eds-switch/eds-switch.js +10 -7
  129. package/dist/collection/components/eds-switch/eds-switch.stories.js +20 -1
  130. package/dist/collection/components/eds-table/eds-table.css +21 -4
  131. package/dist/collection/components/eds-table/eds-table.js +16 -51
  132. package/dist/collection/components/eds-table/eds-table.stories.js +7 -115
  133. package/dist/collection/components/eds-tabs/eds-tabs.css +7 -1
  134. package/dist/collection/components/eds-tabs/eds-tabs.js +49 -18
  135. package/dist/collection/components/eds-tabs/eds-tabs.stories.js +2 -2
  136. package/dist/collection/components/eds-tag/eds-tag.js +1 -1
  137. package/dist/collection/components/eds-timeline/eds-timeline.js +1 -1
  138. package/dist/collection/components/eds-toast/eds-toast.css +146 -0
  139. package/dist/collection/components/eds-toast/eds-toast.js +106 -4
  140. package/dist/collection/components/eds-toast/eds-toast.stories.js +102 -5
  141. package/dist/collection/components/eds-toast-manager/eds-toast-manager.js +1 -1
  142. package/dist/collection/components/eds-tooltip/eds-tooltip.js +1 -1
  143. package/dist/collection/components/eds-tooltip/eds-tooltip.stories.js +7 -1
  144. package/dist/collection/components/eds-user/eds-user.js +2 -5
  145. package/dist/collection/components/eds-user/eds-user.stories.js +8 -11
  146. package/dist/collection/eds-docs-ui/colors/color-palette/primary.js +1 -1
  147. package/dist/collection/eds-docs-ui/colors/color-palette/secondary.js +1 -1
  148. package/dist/collection/eds-docs-ui/colors/color-palette/support.js +1 -1
  149. package/dist/collection/eds-docs-ui/colors/gradient-palette/primary.js +1 -1
  150. package/dist/collection/eds-docs-ui/colors/gradient-palette/secondary.js +7 -7
  151. package/dist/collection/eds-docs-ui/colors/gradient-palette/support.js +3 -3
  152. package/dist/collection/eds-docs-ui/colors/use-of-colors/correct-use-of-colors.js +1 -1
  153. package/dist/collection/eds-docs-ui/colors/use-of-colors/incorrect-use-of-colors.js +1 -1
  154. package/dist/collection/eds-docs-ui/components-section/components-section.js +1 -1
  155. package/dist/collection/eds-docs-ui/design-tokens/docs-tokens/docs-tokens.js +1 -1
  156. package/dist/collection/eds-docs-ui/design-tokens/token-list/token-list.js +1 -1
  157. package/dist/collection/eds-docs-ui/design-tokens/token-radii/token-radii.js +1 -1
  158. package/dist/collection/eds-docs-ui/design-tokens/token-ratios/token-ratios.js +1 -1
  159. package/dist/collection/eds-docs-ui/design-tokens/token-shadows/token-shadows.js +1 -1
  160. package/dist/collection/eds-docs-ui/design-tokens/token-spacing/token-spacing.js +1 -1
  161. package/dist/collection/eds-docs-ui/design-tokens/token-typography/token-typography.js +8 -2
  162. package/dist/collection/eds-docs-ui/docs-palettes/docs-palettes.js +1 -1
  163. package/dist/collection/eds-docs-ui/logo/logo-space/logo-space.js +58 -1
  164. package/dist/collection/eds-docs-ui/logo/logo-variations/horizontal/logo-variations-horizontal.js +1 -1
  165. package/dist/collection/eds-docs-ui/logo/logo-variations/vertical/logo-variations-vertical.js +1 -1
  166. package/dist/collection/eds-docs-ui/logo/logo-variations-tabs/logo-variations.js +1 -1
  167. package/dist/collection/eds-docs-ui/logo/logo-wrong-usage/logo-wrong-usage.js +1 -1
  168. package/dist/collection/eds-docs-ui/svg-repository/svg-repository.js +1 -1
  169. package/dist/collection/shared-ui/eds-cookies-preference/eds-cookies-preference.js +1 -1
  170. package/dist/collection/shared-ui/eds-gitlab-contributors/eds-gitlab-contributors.css +19 -0
  171. package/dist/collection/shared-ui/eds-gitlab-contributors/eds-gitlab-contributors.js +34 -31
  172. package/dist/collection/shared-ui/eds-global-search/eds-global-search.css +166 -0
  173. package/dist/collection/shared-ui/eds-global-search/eds-global-search.js +69 -7
  174. package/dist/collection/shared-ui/eds-kg-learning-resources/eds-kg-learning-resources.css +205 -0
  175. package/dist/collection/shared-ui/eds-kg-learning-resources/eds-kg-learning-resources.js +253 -0
  176. package/dist/collection/shared-ui/eds-kg-web-services-select/eds-kg-web-services-select.js +2 -2
  177. package/dist/collection/shared-ui/eds-kg-web-services-select/eds-kg-web-services-select.stories.js +1 -3
  178. package/dist/collection/shared-ui/eds-matomo-notice/eds-matomo-notice.css +23 -102
  179. package/dist/collection/shared-ui/eds-matomo-notice/eds-matomo-notice.js +7 -1
  180. package/dist/collection/shared-ui/eds-matomo-notice/eds-matomo-notice.stories.js +1 -1
  181. package/dist/collection/shared-ui/eds-search-select/eds-search-select.css +213 -0
  182. package/dist/collection/shared-ui/eds-search-select/eds-search-select.js +706 -0
  183. package/dist/collection/shared-ui/eds-search-select/eds-search-select.stories.js +90 -0
  184. package/dist/collection/shared-ui/eds-trl-badge/ebrains-mark.js +26 -0
  185. package/dist/collection/shared-ui/eds-trl-badge/eds-trl-badge.css +22 -0
  186. package/dist/collection/shared-ui/eds-trl-badge/eds-trl-badge.js +324 -0
  187. package/dist/collection/shared-ui/eds-trl-badge/eds-trl-badge.stories.js +99 -0
  188. package/dist/collection/shared-ui/examples/eds-app-root/eds-app-root.js +1 -1
  189. package/dist/collection/utils/eds-form/formValidators.js +2 -1
  190. package/dist/collection/utils/eds-form/safeFormat.js +35 -0
  191. package/dist/components/components-section.js +1 -1
  192. package/dist/components/components.css +12 -11
  193. package/dist/components/components.esm.js +1 -1
  194. package/dist/components/correct-use-of-colors.js +1 -1
  195. package/dist/components/docs-palettes.js +1 -1
  196. package/dist/components/docs-tokens.js +1 -1
  197. package/dist/components/eds-accordion2.js +3 -6
  198. package/dist/components/eds-alert2.js +3 -2
  199. package/dist/components/eds-app-root.js +1 -1
  200. package/dist/components/eds-avatar2.js +1 -1
  201. package/dist/components/eds-block-break2.js +1 -1
  202. package/dist/components/eds-breadcrumb.js +1 -1
  203. package/dist/components/eds-button2.js +16 -13
  204. package/dist/components/eds-card-app.js +2 -5
  205. package/dist/components/eds-card-cta.js +3 -6
  206. package/dist/components/eds-card-desc2.js +1 -1
  207. package/dist/components/eds-card-feature.js +2 -5
  208. package/dist/components/eds-card-generic2.js +2 -4
  209. package/dist/components/eds-card-hero.js +6 -7
  210. package/dist/components/eds-card-stat.js +6 -7
  211. package/dist/components/eds-card-title2.js +1 -1
  212. package/dist/components/eds-code-block2.js +2 -2
  213. package/dist/components/eds-cookies-preference.js +1 -1
  214. package/dist/components/eds-dropdown2.js +30 -4
  215. package/dist/components/eds-feedback.js +1 -1
  216. package/dist/components/eds-footer2.js +118 -24
  217. package/dist/components/eds-form.js +146 -45
  218. package/dist/components/eds-frame.js +1 -1
  219. package/dist/components/eds-gauge.js +1 -1
  220. package/dist/components/eds-gitlab-contributors.js +35 -32
  221. package/dist/components/eds-global-search.js +55 -70
  222. package/dist/components/eds-header.js +1 -1
  223. package/dist/components/eds-icon-bluesky.js +1 -1
  224. package/dist/components/eds-icon-eu.js +1 -1
  225. package/dist/components/eds-icon-facebook.js +1 -1
  226. package/dist/components/eds-icon-gitlab.js +1 -1
  227. package/dist/components/eds-icon-linkedin.js +1 -1
  228. package/dist/components/eds-icon-mastodon.js +1 -1
  229. package/dist/components/eds-icon-twitter.js +1 -1
  230. package/dist/components/eds-icon-wrapper2.js +5 -2
  231. package/dist/components/eds-icon-youtube.js +1 -1
  232. package/dist/components/eds-img2.js +2 -2
  233. package/dist/components/eds-input-dropzone2.js +7 -4
  234. package/dist/components/eds-input-field2.js +31 -26
  235. package/dist/components/eds-input-file2.js +5 -3
  236. package/dist/components/eds-input-footer2.js +39 -3
  237. package/dist/components/eds-input-label2.js +2 -2
  238. package/dist/components/eds-input-range2.js +15 -5
  239. package/dist/components/eds-input-search.js +100 -1
  240. package/dist/components/eds-input-select2.js +6 -2
  241. package/dist/components/eds-input2.js +4 -2
  242. package/dist/components/eds-kg-learning-resources.d.ts +11 -0
  243. package/dist/components/eds-kg-learning-resources.js +217 -0
  244. package/dist/components/eds-kg-web-services-select2.js +18 -24
  245. package/dist/components/eds-link2.js +3 -7
  246. package/dist/components/eds-logo2.js +4 -22
  247. package/dist/components/eds-matomo-notice2.js +8 -2
  248. package/dist/components/eds-modal.js +18 -9
  249. package/dist/components/eds-nps2.js +4 -4
  250. package/dist/components/eds-pagination2.js +2 -2
  251. package/dist/components/eds-pie.js +2 -2
  252. package/dist/components/eds-progress-bar.js +1 -8
  253. package/dist/components/eds-rating2.js +3 -3
  254. package/dist/components/eds-search-select.d.ts +11 -0
  255. package/dist/components/eds-search-select.js +6 -0
  256. package/dist/components/eds-search-select2.js +382 -0
  257. package/dist/components/eds-section-core2.js +1 -1
  258. package/dist/components/eds-section-heading2.js +2 -2
  259. package/dist/components/eds-sidebar.js +2 -2
  260. package/dist/components/eds-social-networks2.js +1 -1
  261. package/dist/components/eds-spinner2.js +1 -1
  262. package/dist/components/eds-steps-v2.js +41 -11
  263. package/dist/components/eds-steps2.js +28 -8
  264. package/dist/components/eds-switch2.js +8 -5
  265. package/dist/components/eds-table2.js +30 -54
  266. package/dist/components/eds-tabs.js +50 -19
  267. package/dist/components/eds-tag2.js +1 -1
  268. package/dist/components/eds-timeline.js +1 -1
  269. package/dist/components/eds-toast-manager.js +1 -1
  270. package/dist/components/eds-toast2.js +39 -3
  271. package/dist/components/eds-tooltip2.js +1 -1
  272. package/dist/components/eds-trl-badge.d.ts +11 -0
  273. package/dist/components/eds-trl-badge.js +207 -0
  274. package/dist/components/eds-user.js +1 -4
  275. package/dist/components/incorrect-use-of-colors.js +1 -1
  276. package/dist/components/logo-space.js +76 -25
  277. package/dist/components/logo-variations-horizontal2.js +1 -1
  278. package/dist/components/logo-variations-tabs.js +1 -1
  279. package/dist/components/logo-variations-vertical2.js +1 -1
  280. package/dist/components/logo-wrong-usage.js +1 -1
  281. package/dist/components/p-05e96609.entry.js +1 -0
  282. package/dist/components/p-0d778d10.entry.js +1 -0
  283. package/dist/components/{p-d2576747.entry.js → p-114f6d54.entry.js} +1 -1
  284. package/dist/components/p-1534204d.entry.js +1 -0
  285. package/dist/components/p-337d4ee3.entry.js +9 -0
  286. package/dist/components/p-340bc935.entry.js +1 -0
  287. package/dist/components/{p-a6dc1f88.entry.js → p-37ef07d9.entry.js} +1 -1
  288. package/dist/components/p-39dbb964.entry.js +1 -0
  289. package/dist/components/{p-dfe93385.entry.js → p-3f66bc26.entry.js} +1 -1
  290. package/dist/components/p-43f9e64f.entry.js +1 -0
  291. package/dist/components/p-46cc6c1a.entry.js +1 -0
  292. package/dist/components/{p-773bd015.entry.js → p-4b8a7979.entry.js} +1 -1
  293. package/dist/components/p-6b94b2ec.entry.js +1 -0
  294. package/dist/components/p-6d965fef.entry.js +1 -0
  295. package/dist/components/{p-d16b5363.entry.js → p-6e370182.entry.js} +1 -1
  296. package/dist/components/{p-7b93a385.entry.js → p-6ffe581c.entry.js} +1 -1
  297. package/dist/components/p-726637b1.entry.js +1 -0
  298. package/dist/components/{p-a63e14bb.entry.js → p-86ccc09f.entry.js} +1 -1
  299. package/dist/components/{p-c2fc62f7.entry.js → p-8755a21b.entry.js} +1 -1
  300. package/dist/components/{p-0d7aee0b.entry.js → p-8ab461e2.entry.js} +1 -1
  301. package/dist/components/p-8cb162b8.entry.js +1 -0
  302. package/dist/components/p-8cdbc280.entry.js +1 -0
  303. package/dist/components/{p-940a2d42.entry.js → p-8e034c4e.entry.js} +1 -1
  304. package/dist/components/p-9f649fa3.entry.js +1 -0
  305. package/dist/components/{p-d1b3aa52.entry.js → p-a26dad9b.entry.js} +1 -1
  306. package/dist/components/p-a2d6a9ca.entry.js +1 -0
  307. package/dist/components/p-afabe1be.entry.js +1 -0
  308. package/dist/components/{p-c46675c8.entry.js → p-b1519098.entry.js} +1 -1
  309. package/dist/components/{p-04e9c2d7.entry.js → p-b1a10842.entry.js} +1 -1
  310. package/dist/components/{p-7aa4edef.entry.js → p-b4023b45.entry.js} +1 -1
  311. package/dist/components/p-c53b3563.entry.js +1 -0
  312. package/dist/components/p-c7d612d1.entry.js +1 -0
  313. package/dist/components/p-dc9aef22.entry.js +1 -0
  314. package/dist/components/{p-f364296f.entry.js → p-f66a7cf9.entry.js} +1 -1
  315. package/dist/components/p-f97f62f2.entry.js +1 -0
  316. package/dist/components/primary.js +1 -1
  317. package/dist/components/primary2.js +1 -1
  318. package/dist/components/secondary.js +1 -1
  319. package/dist/components/secondary2.js +7 -7
  320. package/dist/components/support.js +1 -1
  321. package/dist/components/support2.js +3 -3
  322. package/dist/components/svg-repository.js +19 -25
  323. package/dist/components/token-list2.js +1 -1
  324. package/dist/components/token-radii2.js +1 -1
  325. package/dist/components/token-ratios.js +1 -1
  326. package/dist/components/token-shadows2.js +1 -1
  327. package/dist/components/token-spacing.js +1 -1
  328. package/dist/components/token-typography.js +8 -2
  329. package/dist/esm/color-primary-palette_6.entry.js +14 -14
  330. package/dist/esm/components-section.entry.js +1 -1
  331. package/dist/esm/components.js +1 -1
  332. package/dist/esm/correct-use-of-colors.entry.js +1 -1
  333. package/dist/esm/docs-palettes.entry.js +1 -1
  334. package/dist/esm/docs-tokens.entry.js +1 -1
  335. package/dist/esm/{eds-accordion_52.entry.js → eds-accordion_53.entry.js} +1094 -336
  336. package/dist/esm/eds-app-root.entry.js +1 -1
  337. package/dist/esm/eds-cookies-preference.entry.js +1 -1
  338. package/dist/esm/eds-feedback.entry.js +1 -1
  339. package/dist/esm/eds-frame.entry.js +1 -1
  340. package/dist/esm/eds-gauge.entry.js +1 -1
  341. package/dist/esm/eds-gitlab-contributors.entry.js +35 -32
  342. package/dist/esm/eds-icon-bluesky.entry.js +1 -1
  343. package/dist/esm/eds-icon-eu.entry.js +1 -1
  344. package/dist/esm/eds-icon-facebook.entry.js +1 -1
  345. package/dist/esm/eds-icon-gitlab.entry.js +1 -1
  346. package/dist/esm/eds-icon-linkedin.entry.js +1 -1
  347. package/dist/esm/eds-icon-mastodon.entry.js +1 -1
  348. package/dist/esm/eds-icon-twitter.entry.js +1 -1
  349. package/dist/esm/eds-icon-youtube.entry.js +1 -1
  350. package/dist/{components/eds-input-search2.js → esm/eds-input-search.entry.js} +9 -39
  351. package/dist/esm/eds-modal.entry.js +18 -9
  352. package/dist/esm/eds-pie.entry.js +2 -2
  353. package/dist/esm/eds-section-core_2.entry.js +3 -3
  354. package/dist/esm/eds-timeline.entry.js +1 -1
  355. package/dist/esm/eds-toast-manager.entry.js +1 -1
  356. package/dist/esm/eds-trl-badge.entry.js +180 -0
  357. package/dist/esm/incorrect-use-of-colors.entry.js +1 -1
  358. package/dist/esm/index-870ab08f.js +10 -2
  359. package/dist/esm/loader.js +1 -1
  360. package/dist/esm/logo-space.entry.js +58 -1
  361. package/dist/esm/logo-variations-horizontal_2.entry.js +2 -2
  362. package/dist/esm/logo-variations-tabs.entry.js +1 -1
  363. package/dist/esm/logo-wrong-usage.entry.js +1 -1
  364. package/dist/esm/svg-repository.entry.js +1 -1
  365. package/dist/esm/token-list_3.entry.js +3 -3
  366. package/dist/esm/token-ratios.entry.js +1 -1
  367. package/dist/esm/token-spacing.entry.js +1 -1
  368. package/dist/esm/token-typography.entry.js +8 -2
  369. package/dist/hydrate/index.js +1616 -397
  370. package/dist/hydrate/index.mjs +1616 -397
  371. package/dist/types/components/eds-accordion/eds-accordion.stories.d.ts +4 -8
  372. package/dist/types/components/eds-alert/eds-alert.stories.d.ts +7 -73
  373. package/dist/types/components/eds-button/eds-button.d.ts +1 -1
  374. package/dist/types/components/eds-dropdown/eds-dropdown.d.ts +1 -0
  375. package/dist/types/components/eds-footer/eds-footer.d.ts +84 -55
  376. package/dist/types/components/eds-footer/eds-footer.stories.d.ts +62 -1
  377. package/dist/types/components/eds-form/eds-form.d.ts +66 -0
  378. package/dist/types/components/eds-form/eds-form.stories.d.ts +63 -0
  379. package/dist/types/components/eds-header/eds-header.stories.d.ts +6 -6
  380. package/dist/types/components/eds-icon-wrapper/eds-icon-wrapper.d.ts +8 -0
  381. package/dist/types/components/eds-img/eds-img.stories.d.ts +6 -20
  382. package/dist/types/components/eds-input-elements/eds-input/eds-input.d.ts +7 -0
  383. package/dist/types/components/eds-input-elements/eds-input-search/eds-input-search.stories.d.ts +36 -0
  384. package/dist/types/components/eds-input-field/eds-input-field.stories.d.ts +97 -38
  385. package/dist/types/components/eds-link/eds-link.stories.d.ts +9 -6
  386. package/dist/types/components/eds-logo/eds-logo.d.ts +11 -28
  387. package/dist/types/components/eds-logo/eds-logo.stories.d.ts +22 -2
  388. package/dist/types/components/eds-steps/eds-steps.d.ts +7 -0
  389. package/dist/types/components/eds-steps-v2/eds-steps-v2.d.ts +14 -1
  390. package/dist/types/components/eds-steps-v2/eds-steps-v2.stories.d.ts +40 -9
  391. package/dist/types/components/eds-switch/eds-switch.d.ts +6 -2
  392. package/dist/types/components/eds-switch/eds-switch.stories.d.ts +8 -0
  393. package/dist/types/components/eds-table/eds-table.d.ts +8 -14
  394. package/dist/types/components/eds-table/eds-table.stories.d.ts +0 -107
  395. package/dist/types/components/eds-tabs/eds-tabs.d.ts +10 -0
  396. package/dist/types/components/eds-toast/eds-toast.d.ts +33 -1
  397. package/dist/types/components/eds-toast/eds-toast.stories.d.ts +49 -1
  398. package/dist/types/components/eds-user/eds-user.d.ts +0 -2
  399. package/dist/types/components/eds-user/eds-user.stories.d.ts +5 -9
  400. package/dist/types/components.d.ts +715 -144
  401. package/dist/types/shared-ui/eds-global-search/eds-global-search.d.ts +12 -0
  402. package/dist/types/shared-ui/eds-kg-learning-resources/eds-kg-learning-resources.d.ts +60 -0
  403. package/dist/types/shared-ui/eds-search-select/eds-search-select.d.ts +98 -0
  404. package/dist/types/shared-ui/eds-search-select/eds-search-select.stories.d.ts +81 -0
  405. package/dist/types/shared-ui/eds-trl-badge/ebrains-mark.d.ts +7 -0
  406. package/dist/types/shared-ui/eds-trl-badge/eds-trl-badge.d.ts +54 -0
  407. package/dist/types/shared-ui/eds-trl-badge/eds-trl-badge.stories.d.ts +112 -0
  408. package/dist/types/utils/eds-form/safeFormat.d.ts +21 -0
  409. package/package.json +1 -1
  410. package/dist/components/p-0fe10e6c.entry.js +0 -1
  411. package/dist/components/p-18e852e1.entry.js +0 -1
  412. package/dist/components/p-3ccd6948.entry.js +0 -1
  413. package/dist/components/p-3d3841d6.entry.js +0 -1
  414. package/dist/components/p-3f38df99.entry.js +0 -1
  415. package/dist/components/p-527e71d0.entry.js +0 -1
  416. package/dist/components/p-55047f7f.entry.js +0 -9
  417. package/dist/components/p-64c23098.entry.js +0 -1
  418. package/dist/components/p-74b9c9a8.entry.js +0 -1
  419. package/dist/components/p-878f65a6.entry.js +0 -1
  420. package/dist/components/p-92f6d9c0.entry.js +0 -1
  421. package/dist/components/p-9eedf771.entry.js +0 -1
  422. package/dist/components/p-b4355cec.entry.js +0 -1
  423. package/dist/components/p-d2f17fac.entry.js +0 -1
  424. package/dist/components/p-db5eea95.entry.js +0 -1
  425. package/dist/components/p-e205c269.entry.js +0 -1
  426. package/dist/components/p-f55dd314.entry.js +0 -1
  427. package/dist/components/p-f88b5f21.entry.js +0 -1
@@ -9,7 +9,7 @@ const TokenSpacing = class {
9
9
  index.registerInstance(this, hostRef);
10
10
  }
11
11
  render() {
12
- return (index.h("div", { key: '8ebe0d888150e5fefd1d3047cc82548f12f47f9f', class: "w-full" }, index.h("ul", { key: 'c57af77dfb437bafaf060a6c6ebece84c4683409', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, index.h("li", { key: '6ca948268bd07e50409334b84eeeb362287f131e', class: "grid-col-span-12 md:grid-col-span-4 flex flex-col items-center mt-16" }, index.h("div", { key: '0f33f8feec6657d21a4e4a1973d4c46cf4f6c526', class: "container p-8 item-center border-2 border-soft" }, index.h("div", { key: '194c9d5367c75c35f021d0b5c64601a72d1141fd', class: "spacing-sample m-16 bg-strong" }, index.h("span", { key: '252af2371d58a8364718210563b7aa9a76a551a6', class: "f-body-01 text-inverse" }, "Margin: 1rem / m-16")))), index.h("li", { key: '833a8373bbe4db4514c84d4e299e2103b37bc75e', class: "grid-col-span-12 md:grid-col-span-4 flex flex-col items-center mt-16" }, index.h("div", { key: 'd364398230aca7af47273a654a8f138d70361c75', class: "container p-8 item-center border-2 border-soft" }, index.h("div", { key: '707e0b62f500c16dc2d72da8e0bd85adabd7280b', class: "spacing-sample ml-64 bg-strong" }, index.h("span", { key: '846c07af2613e90c3acd1fa66aa422db14a95526', class: "f-body-01 text-inverse" }, "Margin Left: 4rem / ml-64")))), index.h("li", { key: '107899eab78bbb70f62b0aa2df8573f7a940024c', class: "grid-col-span-12 md:grid-col-span-4 flex flex-col items-center mt-16" }, index.h("div", { key: 'fb007ac46524cfda56c1033869b3fd7edeec96b8', class: "container p-8 item-center border-2 border-soft" }, index.h("div", { key: '4312aaa901f7ad1075056517b2d8b0902e708aec', class: "spacing-sample mt-32 bg-strong" }, index.h("span", { key: '62a87119afea530831e3bcbb45da16f3a3cfb1b8', class: "f-body-01 text-inverse" }, "Margin Top: 2rem / mt-32")))), index.h("li", { key: '279e6f5af470cf3f969c37f715def542e4d13140', class: "grid-col-span-12 md:grid-col-span-4 flex flex-col items-center mt-16" }, index.h("div", { key: '057bcacd976a4d7f0a69ccba3b469e79f6e8c86a', class: "container p-8 item-center border-2 border-soft" }, index.h("div", { key: '379423e5ef1b3f5be2a322493266305f2cf46b9d', class: "spacing-sample p-32 bg-strong" }, index.h("span", { key: 'a3bd9db6ab5dd4f6204d5009c4328f617f44b78c', class: "f-body-01 text-inverse" }, "Padding: 2rem / p-32")))), index.h("li", { key: '526411b8ab854f67873964446dee7191949f5d54', class: "grid-col-span-12 md:grid-col-span-4 flex flex-col items-center mt-16" }, index.h("div", { key: 'c30d0c423a4d3104ca8736fbd2c0de5159ac8f2d', class: "container p-8 item-center border-2 border-soft" }, index.h("div", { key: '93e0422c2304a0d3a158ba086aa9235a05d621f0', class: "spacing-sample pt-32 bg-strong" }, index.h("span", { key: 'dca707847134a421d60930307613a6528a009f9d', class: "f-body-01 text-inverse" }, "Padding Top: 2rem / pt-32")))), index.h("li", { key: 'a132977bdf19ba79401ccc05f248711eb2793497', class: "grid-col-span-12 md:grid-col-span-4 flex flex-col items-center mt-16" }, index.h("div", { key: '2fad0e796528bce6c021cbb9d3036d4a23226b82', class: "container p-8 item-center border-2 border-soft" }, index.h("div", { key: 'be02958fc44ca651c348078dfc84fabbe92afaa1', class: "spacing-sample pl-32 bg-strong" }, index.h("span", { key: '6c94b77b470a1dd9de4dad7a6900d2e053236f52', class: "f-body-01 text-inverse" }, "Padding Left: 2rem / pl-32")))))));
12
+ return (index.h("div", { key: '21c919b5124094eb34f820327f439c0198758b2a', class: "w-full" }, index.h("ul", { key: '9dea1c4eb37380b4cf00c1e2b4ccc3b69eca5536', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, index.h("li", { key: 'bf719062fc2724411a54076a272acf4d06f8cdad', class: "grid-col-span-12 md:grid-col-span-4 flex flex-col items-center mt-16" }, index.h("div", { key: '6bab4e4c52e273faead36180c744593c5365d012', class: "container p-8 item-center border-2 border-soft" }, index.h("div", { key: 'b1327b6ce1ccca9f3ea64cc5eac0987a76209e04', class: "spacing-sample m-16 bg-strong" }, index.h("span", { key: '188476bd66a4dff9fa395275088ef94c92f2afca', class: "f-body-01 text-inverse" }, "Margin: 1rem / m-16")))), index.h("li", { key: '8ba0cdfbde803aa803b21641e4c15917ccbd8988', class: "grid-col-span-12 md:grid-col-span-4 flex flex-col items-center mt-16" }, index.h("div", { key: 'b1b88688a7ff18ac204d49c0536875c0b5a717ab', class: "container p-8 item-center border-2 border-soft" }, index.h("div", { key: 'b72362f8a8460253e39927f1efde1115aed0a873', class: "spacing-sample ml-64 bg-strong" }, index.h("span", { key: '156be8010b2a809d71354ba28c7908f4fe58064f', class: "f-body-01 text-inverse" }, "Margin Left: 4rem / ml-64")))), index.h("li", { key: '228d4fecc2d4b7f5958048d0d15c548455287392', class: "grid-col-span-12 md:grid-col-span-4 flex flex-col items-center mt-16" }, index.h("div", { key: '9c92a7fe82b51896bc1ee2462f66efa9251c2fcc', class: "container p-8 item-center border-2 border-soft" }, index.h("div", { key: '7059294203bace35afd2ed57b77807e2db806219', class: "spacing-sample mt-32 bg-strong" }, index.h("span", { key: '2e8ec24a3c550ca536a5701c04e0bed7844bc297', class: "f-body-01 text-inverse" }, "Margin Top: 2rem / mt-32")))), index.h("li", { key: 'd79846088a37e1f03a409d11ba69b3ff3cafa5dd', class: "grid-col-span-12 md:grid-col-span-4 flex flex-col items-center mt-16" }, index.h("div", { key: '0bd8e24e7369fd83c3de2fe7e841c0f3e97cd80b', class: "container p-8 item-center border-2 border-soft" }, index.h("div", { key: 'c502d2567fb9dc49516390a9a8405c31ab324f0a', class: "spacing-sample p-32 bg-strong" }, index.h("span", { key: '6f07cec99d6fe8c32053ca3c407c336c7a40a64c', class: "f-body-01 text-inverse" }, "Padding: 2rem / p-32")))), index.h("li", { key: 'f6ddca79e1ab773c7a2f64653fbae0d49c03e071', class: "grid-col-span-12 md:grid-col-span-4 flex flex-col items-center mt-16" }, index.h("div", { key: 'bad00c444c75c5a458f66f8b480b69263e9d1548', class: "container p-8 item-center border-2 border-soft" }, index.h("div", { key: 'd889c0216ded4bc9fce48d68ab7d8008bf9bd045', class: "spacing-sample pt-32 bg-strong" }, index.h("span", { key: '3b00250165aeb560641e99b5859266f1cecd7baf', class: "f-body-01 text-inverse" }, "Padding Top: 2rem / pt-32")))), index.h("li", { key: '53077e307812a3d15f534070e4ceb8dd39e22255', class: "grid-col-span-12 md:grid-col-span-4 flex flex-col items-center mt-16" }, index.h("div", { key: '9e7e1a60ef73524b630845bc686e9a44714c6de7', class: "container p-8 item-center border-2 border-soft" }, index.h("div", { key: 'c8e3e113b805376f03f9ffe2f2afa985f5e19739', class: "spacing-sample pl-32 bg-strong" }, index.h("span", { key: '924878b9f3c36c8b83112ed93ba354527037f6bd', class: "f-body-01 text-inverse" }, "Padding Left: 2rem / pl-32")))))));
13
13
  }
14
14
  };
15
15
 
@@ -237,7 +237,7 @@ const TokenTypography = class {
237
237
  index.registerInstance(this, hostRef);
238
238
  }
239
239
  render() {
240
- return (index.h("section", { key: 'a3698b57da5e26052bf013daef956ff5f9e0bd1c', class: "w-full" }, index.h("ul", { key: '924a82c721a636370a15e7a47ca73264c8e1d30e', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, Object.entries(typography.typesets)
240
+ return (index.h("section", { key: 'cfb9e2e38963772af466109521bbaedbf5852e2a', class: "w-full" }, index.h("ul", { key: '452fa03a44c1082ae4c260245b7dcb2df308ef4f', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, Object.entries(typography.typesets)
241
241
  .filter(([typeKey]) => typeKey !== 'displays') // Exclude "displays"
242
242
  .flatMap(([typeKey, typeValues]) => Object.entries(typeValues).map(([size, style]) => (index.h("li", { class: "grid-col-span-12 flex flex-col mt-16" }, index.h("div", { class: "w-full p-16 border border-soft rounded", style: { display: 'grid', gridTemplateColumns: '1fr 1fr', gap: '1.5rem', alignItems: 'center' } }, index.h("div", { style: {
243
243
  fontFamily: style.fontFamily || typography.families['plex-sans'],
@@ -245,7 +245,13 @@ const TokenTypography = class {
245
245
  fontSize: style.fontSize,
246
246
  lineHeight: style.lineHeight,
247
247
  letterSpacing: style.letterSpacing
248
- } }, index.h("span", { class: "text-default" }, `${typeKey}`), index.h("div", { style: { fontSize: '12px', fontWeight: '400', color: '#7A7B7A', marginTop: '4px', fontFamily: '"IBM Plex Mono", monospace' } }, size, " \u00B7 class: f-", typeKey)), index.h("div", null, index.h("eds-code-block", { code: [
248
+ } }, index.h("span", { class: "text-default" }, `${typeKey}`), index.h("div", { style: {
249
+ fontSize: '12px',
250
+ fontWeight: '400',
251
+ color: '#7A7B7A',
252
+ marginTop: '4px',
253
+ fontFamily: '"IBM Plex Mono", monospace'
254
+ } }, size, " \u00B7 class: f-", typeKey)), index.h("div", null, index.h("eds-code-block", { code: [
249
255
  `/* Utility: f-${typeKey} | Screen: ${size}:f-${typeKey} */`,
250
256
  style.fontSize && `font-size: ${style.fontSize};`,
251
257
  style.lineHeight && `line-height: ${style.lineHeight};`,
@@ -4,6 +4,7 @@
4
4
  "components/eds-cards/eds-card-cta/eds-card-cta.js",
5
5
  "components/eds-cards/eds-card-generic/eds-card-generic.js",
6
6
  "components/eds-cards/eds-card-hero/eds-card-hero.js",
7
+ "components/eds-footer/eds-footer.js",
7
8
  "components/eds-sidebar/eds-sidebar.js",
8
9
  "components/eds-steps/eds-steps.js",
9
10
  "components/eds-steps-v2/eds-steps-v2.js",
@@ -23,7 +24,6 @@
23
24
  "components/eds-code-block/eds-code-block.js",
24
25
  "components/eds-dropdown/eds-dropdown.js",
25
26
  "components/eds-feedback/eds-feedback.js",
26
- "components/eds-footer/eds-footer.js",
27
27
  "components/eds-form/eds-form.js",
28
28
  "components/eds-frame/eds-frame.js",
29
29
  "components/eds-fullscreen-menu/eds-fullscreen-menu.js",
@@ -93,8 +93,11 @@
93
93
  "shared-ui/eds-cookies-preference/eds-cookies-preference.js",
94
94
  "shared-ui/eds-gitlab-contributors/eds-gitlab-contributors.js",
95
95
  "shared-ui/eds-global-search/eds-global-search.js",
96
+ "shared-ui/eds-kg-learning-resources/eds-kg-learning-resources.js",
96
97
  "shared-ui/eds-kg-web-services-select/eds-kg-web-services-select.js",
97
98
  "shared-ui/eds-matomo-notice/eds-matomo-notice.js",
99
+ "shared-ui/eds-search-select/eds-search-select.js",
100
+ "shared-ui/eds-trl-badge/eds-trl-badge.js",
98
101
  "shared-ui/examples/eds-app-root/eds-app-root.js"
99
102
  ],
100
103
  "compiler": {
@@ -57,7 +57,8 @@
57
57
  }
58
58
 
59
59
  .accordion-card-inverse .accordion-description {
60
- color: var(--grey-dark);
60
+ /* grey-700 (#666) clears WCAG AA 4.5:1 on white; grey-dark (#7A7B7A) was ~4.27:1. */
61
+ color: var(--grey-700);
61
62
  }
62
63
 
63
64
  .accordion-card-inverse .accordion-chevron {
@@ -65,7 +66,7 @@
65
66
  }
66
67
 
67
68
  .accordion-card-inverse .accordion-content {
68
- color: var(--grey-dark);
69
+ color: var(--grey-700);
69
70
  }
70
71
 
71
72
  /* ─── Header row ─── */
@@ -49,11 +49,8 @@ export class EdsAccordion {
49
49
  this.toggleIcon = this.expanded ? 'chevron-down' : 'chevron-right';
50
50
  }
51
51
  render() {
52
- const cardClasses = [
53
- 'accordion-card',
54
- `accordion-card-${this.variant}`
55
- ].join(' ');
56
- return (h("div", { key: 'e9f44914fce505b97f90415ed72f322ff09fcee7', class: cardClasses }, h("div", { key: 'd4c6ec563b66b14fc74bc872c953bd9e3e501a85', class: "accordion-header", onClick: this.handleClick, onKeyDown: this.handleKeyDown, role: "button", tabindex: 0, "aria-expanded": String(this.isExpanded), "aria-controls": "accordionSection" }, this.icon && (h("div", { key: '9c365bc15aeec93ccc2021206e72e457a2032265', class: "accordion-icon" }, h("eds-icon-wrapper", { key: '73742a6cb431342c62e1fd5661c39927dcb57bef', name: this.icon, size: 24 }))), h("div", { key: '1ba17b07eedccb135dc5138ace783ea211b75d52', class: "accordion-header-text" }, h("h3", { key: 'd8c34e66195fbe2863736d39f5a9e8276f30252a', class: "accordion-title" }, this.heading), this.description && (h("p", { key: 'c24a3614a3f2d1bcd29a39cbd3384c25c1c50e47', class: `accordion-description ${!this.isExpanded && this.clampText ? 'line-clamp-1' : ''}` }, this.description))), h("eds-icon-wrapper", { key: 'deecdbb3c0ec32079b3b913ed7976ae813b9468a', name: this.toggleIcon, size: 20, class: "accordion-chevron" })), h("section", { key: 'f3767c81d79e2681c6317e3268cf1c966fba6bc2', id: "accordionSection", "aria-hidden": String(!this.isExpanded), class: `accordion-panel ${this.isExpanded ? 'expanded' : ''}` }, h("div", { key: '08ce9281f2e7fc858f30d0b7c0da0b0739824193', class: "accordion-panel-inner" }, h("div", { key: 'c9cdc6312fa279d1c1ee5753c7038b0a9ce3c624', class: "accordion-content" }, h("slot", { key: 'aaec055131ce2ae7830aecfc2fc6ace50f05ded1' }))))));
52
+ const cardClasses = ['accordion-card', `accordion-card-${this.variant}`].join(' ');
53
+ return (h("div", { key: 'e437239cc58d208a41d178ad843b56b4cf96c868', class: cardClasses }, h("div", { key: 'd8918b77de629a60332118da38969f237ef5f4a6', class: "accordion-header", onClick: this.handleClick, onKeyDown: this.handleKeyDown, role: "button", tabindex: 0, "aria-expanded": String(this.isExpanded), "aria-controls": "accordionSection" }, this.icon && (h("div", { key: '56d74602ae6f5b2246a42047caae30fd7affd5eb', class: "accordion-icon" }, h("eds-icon-wrapper", { key: '91dec34e9bec65648e943203dfbf7a2c2f85a239', name: this.icon, size: 24 }))), h("div", { key: '3abdd978e4de24e892fe763a2ad42606915b7136', class: "accordion-header-text" }, h("h3", { key: '7a6e750e6b9462577fd71c4a08d5e029c5c31c17', class: "accordion-title" }, this.heading), this.description && (h("p", { key: '1b79cce1a659c8ec48f365c44bbd9593bb11769a', class: `accordion-description ${!this.isExpanded && this.clampText ? 'line-clamp-1' : ''}` }, this.description))), h("eds-icon-wrapper", { key: 'a911f1daf7776c574ec42a7d007c2c21768d0b05', name: this.toggleIcon, size: 20, class: "accordion-chevron" })), h("section", { key: 'fe743b5bffe37fd352d26f3a1660fd0e0a6633a7', id: "accordionSection", "aria-hidden": String(!this.isExpanded), class: `accordion-panel ${this.isExpanded ? 'expanded' : ''}` }, h("div", { key: '0d9fc37345deb16c1a5793c7deeb41298c4cf209', class: "accordion-panel-inner" }, h("div", { key: '697c71cdf914948ba9d017a2e92f42ce0e2ffc73', class: "accordion-content" }, h("slot", { key: '156b2c0be11111d3876bdbc1852f51a8b44b0284' }))))));
57
54
  }
58
55
  static get is() { return "eds-accordion"; }
59
56
  static get encapsulation() { return "shadow"; }
@@ -1,3 +1,7 @@
1
+ import { ICONS } from "../../utils/icons";
2
+ // Derived from the single source of truth so the list never drifts.
3
+ // '' = no icon (the render treats it as falsy).
4
+ const ICON_OPTIONS = ['', ...Object.keys(ICONS).sort()];
1
5
  export default {
2
6
  title: 'Components/Accordion',
3
7
  component: 'eds-accordion',
@@ -16,8 +20,9 @@ export default {
16
20
  description: 'Visual variant: default (dark bg) or inverse (light bg)'
17
21
  },
18
22
  icon: {
19
- control: 'text',
20
- description: 'Optional icon name displayed in the header'
23
+ control: { type: 'select' },
24
+ options: ICON_OPTIONS,
25
+ description: 'Optional icon name displayed in the header (from the EDS icon set)'
21
26
  },
22
27
  expanded: {
23
28
  control: 'boolean',
@@ -105,23 +110,6 @@ export const WithIconInverse = {
105
110
  icon: 'settings'
106
111
  }
107
112
  };
108
- export const Expanded = {
109
- render: (args) => `
110
- <eds-accordion
111
- title="${args.title}"
112
- description="${args.description}"
113
- variant="${args.variant}"
114
- expanded="true"
115
- clamp-text="${args.clampText}"
116
- >
117
- This accordion starts in the expanded state.
118
- </eds-accordion>
119
- `,
120
- args: {
121
- title: 'Expanded Accordion',
122
- description: 'This accordion is expanded by default.'
123
- }
124
- };
125
113
  export const WithSlotComponent = {
126
114
  render: (args) => `
127
115
  <eds-accordion
@@ -189,4 +189,18 @@ p {
189
189
  flex-direction: column;
190
190
  align-items: flex-start;
191
191
  }
192
+
193
+ /* When the layout collapses to a column, keep the dismiss button pinned
194
+ to the top-right corner instead of stacking it on its own row. */
195
+ .alert-dismiss {
196
+ position: absolute;
197
+ top: 0.5rem;
198
+ right: 0.5rem;
199
+ padding: 0.125rem;
200
+ }
201
+
202
+ /* Reserve room so the message never runs under the dismiss button. */
203
+ .alert-card:has(.alert-dismiss) {
204
+ padding-right: 2.25rem;
205
+ }
192
206
  }
@@ -43,8 +43,9 @@ export class EdsAlert {
43
43
  this.edsDismiss.emit();
44
44
  }
45
45
  render() {
46
- if (this.dismissed)
46
+ if (this.dismissed) {
47
47
  return null;
48
+ }
48
49
  const intent = this.normalizedIntent;
49
50
  const ariaLabel = intent !== 'default' ? `${intent} alert` : 'alert';
50
51
  return (h("div", { class: `alert-card alert-${intent} alert-${this.direction}`, role: "alert", "aria-label": ariaLabel, "aria-live": intent === 'error' || intent === 'warning' ? 'assertive' : 'polite' }, this.intentIcon && (h("div", { class: "alert-icon" }, h("eds-icon-wrapper", { name: this.intentIcon, size: 20 }))), h("div", { class: "alert-body" }, this.message ? (h("p", { class: "alert-message" }, this.message)) : (h("div", { class: "alert-message" }, h("slot", null)))), this.withBtn && (h("div", { class: "alert-action" }, this.pressableUrl ? (h("eds-link", { label: this.pressableLabel, url: this.pressableUrl, intent: "strong" })) : (h("eds-button", { label: this.pressableLabel, intent: "ghost", onClick: () => this.handleAction() })))), this.dismissible && (h("button", { class: "alert-dismiss", onClick: () => this.handleDismiss(), "aria-label": "Dismiss alert" }, h("eds-icon-wrapper", { name: "close", size: 20 })))));
@@ -1,3 +1,7 @@
1
+ import { ICONS } from "../../utils/icons";
2
+ // Derived from the single source of truth so the list never drifts.
3
+ // '' = no icon (the render treats it as falsy).
4
+ const ICON_OPTIONS = ['', ...Object.keys(ICONS).sort()];
1
5
  export default {
2
6
  title: 'Components/Alert',
3
7
  component: 'eds-alert',
@@ -17,8 +21,9 @@ export default {
17
21
  description: 'Layout direction'
18
22
  },
19
23
  icon: {
20
- control: 'text',
21
- description: 'Optional icon name (e.g. information, warning, error, checkmark-filled, rocket). No icon shown by default.'
24
+ control: { type: 'select' },
25
+ options: ICON_OPTIONS,
26
+ description: 'Optional icon name (from the EDS icon set). No icon shown by default.'
22
27
  },
23
28
  dismissible: {
24
29
  control: 'boolean',
@@ -37,9 +42,12 @@ export default {
37
42
  message: 'This is an alert message.',
38
43
  intent: 'default',
39
44
  direction: 'horizontal',
45
+ icon: 'information',
40
46
  dismissible: false
41
47
  }
42
48
  };
49
+ // Single control-driven story — use the Controls panel to exercise intent,
50
+ // direction, icon, dismissible and the pressable action.
43
51
  export const Default = {
44
52
  render: (args) => `
45
53
  <eds-alert
@@ -53,151 +61,7 @@ export const Default = {
53
61
  ></eds-alert>
54
62
  `
55
63
  };
56
- export const Warning = {
57
- render: (args) => `
58
- <eds-alert
59
- message="${args.message}"
60
- intent="warning"
61
- ${args.icon ? `icon="${args.icon}"` : ''}
62
- ></eds-alert>
63
- `,
64
- args: {
65
- message: 'Please review your input before proceeding.',
66
- icon: 'warning'
67
- }
68
- };
69
- export const Error = {
70
- render: (args) => `
71
- <eds-alert
72
- message="${args.message}"
73
- intent="error"
74
- ${args.icon ? `icon="${args.icon}"` : ''}
75
- ></eds-alert>
76
- `,
77
- args: {
78
- message: 'An error occurred while processing your request.',
79
- icon: 'error'
80
- }
81
- };
82
- export const Success = {
83
- render: (args) => `
84
- <eds-alert
85
- message="${args.message}"
86
- intent="success"
87
- ${args.icon ? `icon="${args.icon}"` : ''}
88
- ></eds-alert>
89
- `,
90
- args: {
91
- message: 'Your changes have been saved successfully.',
92
- icon: 'checkmark-filled'
93
- }
94
- };
95
- export const Brand = {
96
- render: (args) => `
97
- <eds-alert
98
- message="${args.message}"
99
- intent="brand"
100
- ${args.icon ? `icon="${args.icon}"` : ''}
101
- ></eds-alert>
102
- `,
103
- args: {
104
- message: 'Welcome to the EBRAINS platform.',
105
- icon: 'information'
106
- }
107
- };
108
- export const WithLink = {
109
- render: (args) => `
110
- <eds-alert
111
- message="${args.message}"
112
- intent="${args.intent}"
113
- ${args.icon ? `icon="${args.icon}"` : ''}
114
- pressable-label="Learn more"
115
- pressable-url="https://ebrains.eu"
116
- ></eds-alert>
117
- `,
118
- args: {
119
- message: 'A new version is available.',
120
- intent: 'default'
121
- }
122
- };
123
- export const WithButton = {
124
- render: (args) => `
125
- <eds-alert
126
- message="${args.message}"
127
- intent="error"
128
- ${args.icon ? `icon="${args.icon}"` : ''}
129
- pressable-label="Retry"
130
- ></eds-alert>
131
- `,
132
- args: {
133
- message: 'Failed to load data.',
134
- icon: 'error'
135
- }
136
- };
137
- export const Dismissible = {
138
- render: (args) => `
139
- <eds-alert
140
- message="${args.message}"
141
- intent="warning"
142
- ${args.icon ? `icon="${args.icon}"` : ''}
143
- dismissible="true"
144
- ></eds-alert>
145
- `,
146
- args: {
147
- message: 'This alert can be dismissed.',
148
- icon: 'warning'
149
- }
150
- };
151
- export const WithCustomIcon = {
152
- render: (args) => `
153
- <eds-alert
154
- message="${args.message}"
155
- intent="${args.intent}"
156
- ${args.icon ? `icon="${args.icon}"` : ''}
157
- ></eds-alert>
158
- `,
159
- args: {
160
- message: 'Deployment in progress.',
161
- intent: 'default',
162
- icon: 'rocket'
163
- }
164
- };
165
- export const NoIcon = {
166
- render: (args) => `
167
- <eds-alert
168
- message="${args.message}"
169
- ${args.icon ? `icon="${args.icon}"` : ''}
170
- intent="warning"
171
- ></eds-alert>
172
- `,
173
- args: {
174
- message: 'This alert has no icon — just text.'
175
- }
176
- };
177
- export const Vertical = {
178
- render: (args) => `
179
- <eds-alert
180
- message="${args.message}"
181
- intent="warning"
182
- direction="vertical"
183
- ${args.icon ? `icon="${args.icon}"` : ''}
184
- pressable-label="View details"
185
- pressable-url="https://ebrains.eu"
186
- dismissible="true"
187
- ></eds-alert>
188
- `,
189
- args: {
190
- message: 'Your session will expire in 5 minutes.',
191
- icon: 'warning'
192
- }
193
- };
194
- export const SlotContent = {
195
- render: () => `
196
- <eds-alert intent="default" icon="information">
197
- This alert uses <strong>slot content</strong> with <code>HTML markup</code> instead of the message prop.
198
- </eds-alert>
199
- `
200
- };
64
+ // Gallery overview of every intent at a glance — not reproducible via Controls.
201
65
  export const AllIntents = {
202
66
  render: () => `
203
67
  <div style="display: flex; flex-direction: column; gap: 1rem;">
@@ -210,3 +74,11 @@ export const AllIntents = {
210
74
  </div>
211
75
  `
212
76
  };
77
+ // Demonstrates slotted HTML content instead of the `message` prop.
78
+ export const SlotContent = {
79
+ render: () => `
80
+ <eds-alert intent="default" icon="information">
81
+ This alert uses <strong>slot content</strong> with <code>HTML markup</code> instead of the message prop.
82
+ </eds-alert>
83
+ `
84
+ };
@@ -64,7 +64,7 @@ export class EdsAvatar {
64
64
  * @returns {JSX.Element} The rendered avatar component.
65
65
  */
66
66
  render() {
67
- return (h("div", { key: '00e163f2dd33c92bdfd8f45b6e2d3384afa32a30', class: this.containerClasses }, this.picture ? (h("eds-img", { src: this.picture, width: 54, height: 54, sizes: "120px", alt: `${this.firstName} ${this.lastName}`, lazyload: true, withBg: true })) : (h("abbr", { title: this.computedInitials || `${this.firstName} ${this.lastName}`, class: "!no-underline f-ui-01" }, this.computedInitials))));
67
+ return (h("div", { key: '36f8cb598e0e53793ce8a49e9e2419f41ba8f160', class: this.containerClasses }, this.picture ? (h("eds-img", { src: this.picture, width: 54, height: 54, sizes: "120px", alt: `${this.firstName} ${this.lastName}`, lazyload: true, withBg: true })) : (h("abbr", { title: this.computedInitials || `${this.firstName} ${this.lastName}`, class: "!no-underline f-ui-01" }, this.computedInitials))));
68
68
  }
69
69
  static get is() { return "eds-avatar"; }
70
70
  static get encapsulation() { return "shadow"; }
@@ -31,8 +31,8 @@ export const Default = {
31
31
 
32
32
  <div class="mt-32">
33
33
  <span>To try out the picture field use this example:</span>
34
- <eds-code-block
35
- code="https://files.ebrains.eu/img/686e0edc-f3be-4d79-aa02-373c32c08d65/ebrains-logo-high-resolution.png?fit=max&q=80&fm=webp&crop=879%2C879%2C597%2C0&w=200"
34
+ <eds-code-block
35
+ code="https://randomuser.me/api/portraits/women/44.jpg"
36
36
  language="url"
37
37
  ></eds-code-block>
38
38
  </div>`,
@@ -7,7 +7,7 @@ export class EdsBlockBreak {
7
7
  this.inverse = false;
8
8
  }
9
9
  render() {
10
- return h("hr", { key: '7b472ce3dcecc7a0c061d336c4edb1bec098c113', class: `${this.inverse ? 'border-default' : 'border-softer'} my-16 inline-block w-full border-t-2` });
10
+ return h("hr", { key: '2531c44fa20745f7860e4647f77ffa038a56d832', class: `${this.inverse ? 'border-default' : 'border-softer'} my-16 inline-block w-full border-t-2` });
11
11
  }
12
12
  static get is() { return "eds-block-break"; }
13
13
  static get encapsulation() { return "shadow"; }
@@ -123,7 +123,7 @@ export class EdsBreadcrumb {
123
123
  */
124
124
  render() {
125
125
  const itemsToRender = this.getTruncatedItems();
126
- return (h("nav", { key: 'a068d2deb011c0a303e5a4320f4f5913bfc36d4a', "aria-label": "Breadcrumb" }, h("ol", { key: '63ab81ece8ff48546875320f4fd346638fac3bdc', class: "flex items-center space-x-2" }, itemsToRender.map((item, index) => {
126
+ return (h("nav", { key: '95c13ac07de20bc04fb57ee990e5d21f928f3a86', "aria-label": "Breadcrumb" }, h("ol", { key: '2a03ff53ac27eaa5e37ddfef32e9a4fe322755dd', class: "flex items-center space-x-2" }, itemsToRender.map((item, index) => {
127
127
  const isLast = index === itemsToRender.length - 1;
128
128
  return (h("li", { class: "flex items-center" }, !item.isHidden ? ((() => {
129
129
  const { fullLabel } = this.getLabels(item, isLast);
@@ -466,6 +466,17 @@ button,
466
466
  height: 2.75rem;
467
467
  }
468
468
 
469
+ /* Min-height variants — used for button sizing so a label that wraps to
470
+ two lines grows (with its py-12 padding) instead of being clipped at a
471
+ fixed height. Single-line buttons keep the same height. */
472
+ .min-h-36 {
473
+ min-height: 2.25rem;
474
+ }
475
+
476
+ .min-h-44 {
477
+ min-height: 2.75rem;
478
+ }
479
+
469
480
  .h-48 {
470
481
  height: 3rem;
471
482
  }
@@ -663,6 +674,10 @@ button,
663
674
  background-color: var(--brand-green); /* NEW: #00FF9D */
664
675
  }
665
676
 
677
+ .bg-brand-light {
678
+ background-color: var(--green-200); /* light brand tint #d3ffdc — brandLight intent */
679
+ }
680
+
666
681
  .bg-accent-dark {
667
682
  background-color: var(--brand-green-dark); /* NEW: #00C87B */
668
683
  }
@@ -23,7 +23,10 @@ import { cva } from "class-variance-authority";
23
23
  export class EdsButton {
24
24
  constructor() {
25
25
  this.button = cva([
26
- 'relative items-center py-12 cursor-pointer',
26
+ 'relative items-center cursor-pointer',
27
+ // Brand-green focus-visible outline (rules live in eds-button.css);
28
+ // without this class keyboard focus falls back to the browser ring.
29
+ 'effect-focus',
27
30
  'aria-disabled:text-lightest aria-disabled:bg-dark aria-disabled:cursor-not-allowed',
28
31
  'disabled:text-lightest disabled:bg-dark disabled:cursor-not-allowed'
29
32
  ], {
@@ -35,14 +38,14 @@ export class EdsButton {
35
38
  ghost: '',
36
39
  ghostInverse: 'text-inverse',
37
40
  brand: 'bg-accent text-default hover:bg-strongest hover:text-inverse aria-disabled:shadow-none',
41
+ // Light-green tint with brand-black text — an on-brand "unselected"
42
+ // state (e.g. eds-rating / eds-nps) that brightens to solid brand on
43
+ // hover/selection. Lives start-to-finish in the brand palette.
44
+ brandLight: 'bg-brand-light text-default hover:bg-accent hover:text-default aria-disabled:shadow-none',
38
45
  brandInverse: 'bg-accent text-default hover:bg-inverse hover:text-default aria-disabled:shadow-none',
39
46
  neutral: 'bg-darker after:border-softest bg-inverse hover:bg-dark hover:text-light text-inverse aria-disabled:shadow-none',
40
- cta: [
41
- 'cta-link !px-0 !py-0 !min-h-0 !h-auto'
42
- ],
43
- 'cta-brand': [
44
- 'cta-link-brand !px-0 !py-0 !min-h-0 !h-auto'
45
- ]
47
+ cta: ['cta-link !px-0 !py-0 !min-h-0 !h-auto'],
48
+ 'cta-brand': ['cta-link-brand !px-0 !py-0 !min-h-0 !h-auto']
46
49
  },
47
50
  loading: {
48
51
  true: 'pointer-events-none',
@@ -53,8 +56,8 @@ export class EdsButton {
53
56
  true: ''
54
57
  },
55
58
  size: {
56
- small: 'h-36 f-ui-02',
57
- large: 'h-44 f-ui-01'
59
+ small: 'min-h-36 f-ui-02 py-8',
60
+ large: 'min-h-44 f-ui-01 py-12'
58
61
  },
59
62
  hasIcon: {
60
63
  true: '',
@@ -75,7 +78,7 @@ export class EdsButton {
75
78
  fullWidth: {
76
79
  true: 'w-full flex',
77
80
  false: 'inline-flex w-auto'
78
- },
81
+ }
79
82
  },
80
83
  compoundVariants: [
81
84
  {
@@ -227,10 +230,10 @@ export class EdsButton {
227
230
  const loaderBottomColor = this.intent === 'primary' || this.intent === 'secondaryInverse'
228
231
  ? '#FFFFFF' // White for dark backgrounds
229
232
  : '#07140D'; // Brand-black for light backgrounds (secondary, brand, etc.)
230
- return (h(Host, { key: '6f955c89a01cf823ff8fc34bfa92df85a3aa8327' }, h(ElementType, { key: 'fabf5842d4c9583c7ff9e4415697c62c111dce68', tabindex: isInteractive ? '0' : '-1', "aria-label": this.label ? undefined : this.ariaLabel, "aria-disabled": this.disabled || this.loading ? 'true' : undefined, "aria-busy": this.loading ? 'true' : undefined, disabled: this.elementType === 'button' ? this.disabled || this.loading : undefined, role: this.elementType === 'a' ? 'button' : undefined, class: `${classes || ''}`, onClick: (event) => this.handleClick(event), onKeyDown: (event) => this.handleKeyDown(event) }, this.label && (h("span", { key: '746feb603fd83b54bab92e62ab9aefcd6a232f54', class: `${this.loading ? 'opacity-0' : ''} ${this.icon && (this.intent !== 'cta' && this.intent !== 'cta-brand') ? (this.iconPos === 'right' ? (this.size === 'large' ? 'pr-4' : 'pr-2') : (this.size === 'large' ? 'pl-4' : 'pl-2')) : ''}`, "aria-hidden": this.loading ? 'true' : undefined }, this.label)), this.loading && (h("span", { key: 'e0f54e409080548687304bae2f5d3e1b56863318', class: "absolute inset-0 flex items-center justify-center", "aria-hidden": "true" }, h("span", { key: 'c2472f5d2730ef850a076471fa00c9db91496db7', class: "loader", style: {
233
+ return (h(Host, { key: 'ad9bb3e0343e6c05c8f43ca9dc502ef28aa001d6' }, h(ElementType, { key: '90b51743bb12a5b4f0b309bb9d38932401ff0fa9', tabindex: isInteractive ? '0' : '-1', "aria-label": this.label ? undefined : this.ariaLabel, "aria-disabled": this.disabled || this.loading ? 'true' : undefined, "aria-busy": this.loading ? 'true' : undefined, disabled: this.elementType === 'button' ? this.disabled || this.loading : undefined, role: this.elementType === 'a' ? 'button' : undefined, class: `${classes || ''}`, onClick: (event) => this.handleClick(event), onKeyDown: (event) => this.handleKeyDown(event) }, this.label && (h("span", { key: '35c7fa9449b445ef16d1ac77cb3ed8036e857687', class: `${this.loading ? 'opacity-0' : ''} ${this.icon && this.intent !== 'cta' && this.intent !== 'cta-brand' ? (this.iconPos === 'right' ? (this.size === 'large' ? 'pr-4' : 'pr-2') : this.size === 'large' ? 'pl-4' : 'pl-2') : ''}`, "aria-hidden": this.loading ? 'true' : undefined }, this.label)), this.loading && (h("span", { key: '5a6a5c78568dae1b77433147e1ae04f9139467de', class: "absolute inset-0 flex items-center justify-center", "aria-hidden": "true" }, h("span", { key: 'e392714658931a190cbfcae756c16831f69f8f0d', class: "loader", style: {
231
234
  border: `3px solid ${loaderBorderColor}`,
232
235
  borderBottomColor: loaderBottomColor
233
- } }))), this.icon ? (h("eds-icon-wrapper", { name: this.icon, size: 20, "aria-hidden": "true" })) : null)));
236
+ } }))), this.icon ? (h("eds-icon-wrapper", { name: this.icon, size: 20, "aria-hidden": "true", class: this.loading ? 'opacity-0' : '' })) : null)));
234
237
  }
235
238
  static get is() { return "eds-button"; }
236
239
  static get encapsulation() { return "shadow"; }
@@ -304,8 +307,8 @@ export class EdsButton {
304
307
  "type": "string",
305
308
  "mutable": false,
306
309
  "complexType": {
307
- "original": "'primary' | 'secondary' | 'secondaryInverse' | 'ghost' | 'ghostInverse' | 'brand' | 'brandInverse' | 'neutral' | 'cta' | 'cta-brand'",
308
- "resolved": "\"brand\" | \"brandInverse\" | \"cta\" | \"cta-brand\" | \"ghost\" | \"ghostInverse\" | \"neutral\" | \"primary\" | \"secondary\" | \"secondaryInverse\"",
310
+ "original": "| 'primary'\n | 'secondary'\n | 'secondaryInverse'\n | 'ghost'\n | 'ghostInverse'\n | 'brand'\n | 'brandLight'\n | 'brandInverse'\n | 'neutral'\n | 'cta'\n | 'cta-brand'",
311
+ "resolved": "\"brand\" | \"brandInverse\" | \"brandLight\" | \"cta\" | \"cta-brand\" | \"ghost\" | \"ghostInverse\" | \"neutral\" | \"primary\" | \"secondary\" | \"secondaryInverse\"",
309
312
  "references": {}
310
313
  },
311
314
  "required": false,
@@ -5,7 +5,10 @@ export default {
5
5
  label: { control: 'text' },
6
6
  ariaLabel: { control: 'text' },
7
7
  elementType: { control: 'select', options: ['button', 'a', 'div'] },
8
- intent: { control: 'select', options: ['primary', 'secondary', 'secondaryInverse', 'ghost', 'ghostInverse', 'brand', 'brandInverse', 'neutral'] },
8
+ intent: {
9
+ control: 'select',
10
+ options: ['primary', 'secondary', 'secondaryInverse', 'ghost', 'ghostInverse', 'brand', 'brandInverse', 'neutral']
11
+ },
9
12
  loading: { control: 'boolean' },
10
13
  disabled: { control: 'boolean' },
11
14
  pill: { control: 'boolean' },
@@ -30,14 +30,11 @@ export class EdsCardApp {
30
30
  return parseData(this.tags);
31
31
  }
32
32
  render() {
33
- const cardClasses = [
34
- 'app-card',
35
- `app-card-${this.variant}`
36
- ].join(' ');
33
+ const cardClasses = ['app-card', `app-card-${this.variant}`].join(' ');
37
34
  // Determine link and category tag intents based on variant
38
35
  const linkIntent = this.variant === 'default' ? 'cta-brand' : 'cta';
39
36
  const categoryTagIntent = this.variant === 'default' ? 'brand' : 'dark';
40
- return (h("div", { key: 'e90fec25a02a9635247da04ca23a932be9cd7ea5', class: cardClasses }, this.category && (h("eds-tag", { key: 'a001a815aa32a96beac3d4af08766479030fe8d4', label: this.category, intent: categoryTagIntent, size: "medium" })), h("h3", { key: '10d4532b4fe9b9a92ad24b09634028c583166bb3', class: "app-title" }, this.title), h("p", { key: 'de1559913d227ff6b023ecdbc5fea29f66cb01a0', class: "app-description" }, this.description), this.parsedTags && this.parsedTags.length > 0 && (h("div", { key: '386a2e72a92ea03c13a4410983b8b5320e83b810', class: "app-tags" }, this.parsedTags.map((tag, index) => (h("span", { key: index, class: "app-tag" }, tag.label))))), this.url && (h("eds-link", { key: '2c1a3d133a6f04b6a3359a3c8d2f47eb19c75202', label: this.linkText, url: this.url, intent: linkIntent, icon: "arrow-right", "icon-pos": "right" }))));
37
+ return (h("div", { key: '84aa9bd8ccac7cd163a0295e53610d3f149d2fc7', class: cardClasses }, this.category && h("eds-tag", { key: 'ff5f5fc550289df7dc13c9d77e9ee318692c54ef', label: this.category, intent: categoryTagIntent, size: "medium" }), h("h3", { key: '7f3ed9e3c270cf7c7d99f084cd3f7dac93929676', class: "app-title" }, this.title), h("p", { key: '969ed185ab45832e1e10a5446067f6926864696c', class: "app-description" }, this.description), this.parsedTags && this.parsedTags.length > 0 && (h("div", { key: '4a619204bcfe0b85e3e69b58157269f7bed9f44b', class: "app-tags" }, this.parsedTags.map((tag, index) => (h("span", { key: index, class: "app-tag" }, tag.label))))), this.url && (h("eds-link", { key: 'd2f32c5114f60cf2b25e96db84e090d90fe1a9ed', label: this.linkText, url: this.url, intent: linkIntent, icon: "arrow-right", "icon-pos": "right" }))));
41
38
  }
42
39
  static get is() { return "eds-card-app"; }
43
40
  static get encapsulation() { return "shadow"; }
@@ -21,7 +21,7 @@ export class EdsCardDesc {
21
21
  return this.truncate && this.truncateLines ? `line-clamp-${this.truncateLines}` : '';
22
22
  }
23
23
  render() {
24
- return (h("p", { key: 'c018c6b42e709c9e5df23ba9a999955ee4da1fdd', class: `f-body-02 ${this.intent === 'secondary' ? 'text-inverse' : 'text-default'}` }, h("span", { key: 'bcfb43e3940a31dc4c0ec18904e4448eb27d0580', class: this.getTruncateClass() }, this.description)));
24
+ return (h("p", { key: 'd7d9f5d40d82700388753a165a998574bd69e674', class: `f-body-02 ${this.intent === 'secondary' ? 'text-inverse' : 'text-default'}` }, h("span", { key: 'bff2551896e726ce02a78b448a0e3f2a3df0c697', class: this.getTruncateClass() }, this.description)));
25
25
  }
26
26
  static get is() { return "eds-card-desc"; }
27
27
  static get encapsulation() { return "shadow"; }
@@ -33,7 +33,7 @@ export class EdsCardTitle {
33
33
  return (h("span", { class: titleClass }, h("a", { class: `break-words after:absolute after:inset-0 after:z-10 after:content-[''] focus:outline-none ${textColorClass} cursor-pointer`, href: this.url, target: this.externalLink ? '_blank' : undefined, rel: this.externalLink ? 'noopener noreferrer' : undefined }, this.title)));
34
34
  }
35
35
  // No URL - render as plain text, no overlay, no pointer cursor
36
- return (h("span", { class: `${titleClass} ${textColorClass} break-words` }, this.title));
36
+ return h("span", { class: `${titleClass} ${textColorClass} break-words` }, this.title);
37
37
  }
38
38
  static get is() { return "eds-card-title"; }
39
39
  static get encapsulation() { return "shadow"; }
@@ -14,7 +14,9 @@
14
14
  display: flex;
15
15
  flex-direction: column;
16
16
  flex-grow: 1;
17
- justify-content: center;
17
+ /* Top-align the content so titles line up across equal-height cards in a
18
+ grid (centering made titles drift when descriptions differed in length). */
19
+ justify-content: flex-start;
18
20
  }
19
21
 
20
22
  /* Default variant - dark background with white text */
@@ -79,6 +81,11 @@
79
81
  position: relative;
80
82
  z-index: 1;
81
83
  width: 100%;
84
+ /* Fill the card so actions can pin to the bottom (buttons line up across
85
+ cards regardless of description length). */
86
+ flex-grow: 1;
87
+ display: flex;
88
+ flex-direction: column;
82
89
  }
83
90
 
84
91
  .cta-title {
@@ -103,6 +110,8 @@
103
110
  justify-content: center;
104
111
  margin-bottom: 1.5rem;
105
112
  flex-wrap: wrap;
113
+ /* Push actions to the bottom of the card so they align across the row. */
114
+ margin-top: auto;
106
115
  }
107
116
 
108
117
  .cta-links {