@ebrains/components 3.1.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 (347) 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_53.cjs.entry.js +367 -248
  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-frame.cjs.entry.js +1 -1
  11. package/dist/cjs/eds-gitlab-contributors.cjs.entry.js +26 -30
  12. package/dist/cjs/eds-icon-bluesky.cjs.entry.js +1 -1
  13. package/dist/cjs/eds-icon-eu.cjs.entry.js +1 -1
  14. package/dist/cjs/eds-icon-facebook.cjs.entry.js +1 -1
  15. package/dist/cjs/eds-icon-gitlab.cjs.entry.js +1 -1
  16. package/dist/cjs/eds-icon-linkedin.cjs.entry.js +1 -1
  17. package/dist/cjs/eds-icon-mastodon.cjs.entry.js +1 -1
  18. package/dist/cjs/eds-icon-twitter.cjs.entry.js +1 -1
  19. package/dist/cjs/eds-icon-youtube.cjs.entry.js +1 -1
  20. package/dist/cjs/eds-input-search.cjs.entry.js +1 -1
  21. package/dist/cjs/eds-modal.cjs.entry.js +18 -9
  22. package/dist/cjs/eds-pie.cjs.entry.js +2 -2
  23. package/dist/cjs/eds-section-core_2.cjs.entry.js +3 -3
  24. package/dist/cjs/eds-timeline.cjs.entry.js +1 -1
  25. package/dist/cjs/eds-toast-manager.cjs.entry.js +1 -1
  26. package/dist/cjs/eds-trl-badge.cjs.entry.js +14 -11
  27. package/dist/cjs/incorrect-use-of-colors.cjs.entry.js +1 -1
  28. package/dist/cjs/loader.cjs.js +1 -1
  29. package/dist/cjs/logo-space.cjs.entry.js +58 -1
  30. package/dist/cjs/logo-variations-horizontal_2.cjs.entry.js +2 -2
  31. package/dist/cjs/logo-variations-tabs.cjs.entry.js +1 -1
  32. package/dist/cjs/logo-wrong-usage.cjs.entry.js +1 -1
  33. package/dist/cjs/svg-repository.cjs.entry.js +1 -1
  34. package/dist/cjs/token-list_3.cjs.entry.js +3 -3
  35. package/dist/cjs/token-ratios.cjs.entry.js +1 -1
  36. package/dist/cjs/token-spacing.cjs.entry.js +1 -1
  37. package/dist/cjs/token-typography.cjs.entry.js +8 -2
  38. package/dist/collection/components/eds-accordion/eds-accordion.js +2 -5
  39. package/dist/collection/components/eds-alert/eds-alert.css +14 -0
  40. package/dist/collection/components/eds-alert/eds-alert.js +2 -1
  41. package/dist/collection/components/eds-button/eds-button.js +6 -10
  42. package/dist/collection/components/eds-button/eds-button.stories.js +4 -1
  43. package/dist/collection/components/eds-cards/eds-card-app/eds-card-app.js +2 -5
  44. package/dist/collection/components/eds-cards/eds-card-composer/eds-card-title/eds-card-title.js +1 -1
  45. package/dist/collection/components/eds-cards/eds-card-cta/eds-card-cta.js +2 -5
  46. package/dist/collection/components/eds-cards/eds-card-cta/eds-card-cta.stories.js +4 -1
  47. package/dist/collection/components/eds-cards/eds-card-feature/eds-card-feature.js +2 -5
  48. package/dist/collection/components/eds-cards/eds-card-generic/eds-card-generic.js +2 -4
  49. package/dist/collection/components/eds-cards/eds-card-hero/eds-card-hero.js +6 -7
  50. package/dist/collection/components/eds-cards/eds-card-stat/eds-card-stat.js +6 -7
  51. package/dist/collection/components/eds-charts/eds-pie/eds-pie.js +2 -2
  52. package/dist/collection/components/eds-code-block/eds-code-block.css +72 -106
  53. package/dist/collection/components/eds-code-block/eds-code-block.js +1 -1
  54. package/dist/collection/components/eds-footer/eds-footer.js +23 -18
  55. package/dist/collection/components/eds-footer/eds-footer.stories.js +3 -4
  56. package/dist/collection/components/eds-form/eds-form.css +456 -0
  57. package/dist/collection/components/eds-form/eds-form.js +218 -14
  58. package/dist/collection/components/eds-form/eds-form.stories.js +110 -3
  59. package/dist/collection/components/eds-frame/eds-frame.js +1 -1
  60. package/dist/collection/components/eds-header/eds-header.js +1 -1
  61. package/dist/collection/components/eds-icons/eds-icon-eu/eds-icon-eu.js +1 -1
  62. package/dist/collection/components/eds-icons/eds-icon-gitlab/eds-icon-gitlab.js +1 -1
  63. package/dist/collection/components/eds-icons/social/eds-icon-bluesky/eds-icon-bluesky.js +1 -1
  64. package/dist/collection/components/eds-icons/social/eds-icon-facebook/eds-icon-facebook.js +1 -1
  65. package/dist/collection/components/eds-icons/social/eds-icon-linkedin/eds-icon-linkedin.js +1 -1
  66. package/dist/collection/components/eds-icons/social/eds-icon-mastodon/eds-icon-mastodon.js +1 -1
  67. package/dist/collection/components/eds-icons/social/eds-icon-twitter/eds-icon-twitter.js +1 -1
  68. package/dist/collection/components/eds-icons/social/eds-icon-youtube/eds-icon-youtube.js +1 -1
  69. package/dist/collection/components/eds-img/eds-img.js +2 -2
  70. package/dist/collection/components/eds-input-dropzone/eds-input-dropzone.js +7 -4
  71. package/dist/collection/components/eds-input-elements/eds-input/eds-input.js +2 -2
  72. package/dist/collection/components/eds-input-elements/eds-input-footer/eds-input-footer.css +10 -0
  73. package/dist/collection/components/eds-input-elements/eds-input-footer/eds-input-footer.js +1 -1
  74. package/dist/collection/components/eds-input-elements/eds-input-label/eds-input-label.css +17 -5
  75. package/dist/collection/components/eds-input-elements/eds-input-label/eds-input-label.js +1 -1
  76. package/dist/collection/components/eds-input-elements/eds-input-range/eds-input-range.js +15 -5
  77. package/dist/collection/components/eds-input-elements/eds-input-search/eds-input-search.js +1 -1
  78. package/dist/collection/components/eds-input-elements/eds-input-select/eds-input-select.js +6 -2
  79. package/dist/collection/components/eds-input-field/eds-input-field.css +219 -0
  80. package/dist/collection/components/eds-input-field/eds-input-field.js +7 -2
  81. package/dist/collection/components/eds-input-field/eds-input-field.stories.js +35 -7
  82. package/dist/collection/components/eds-input-file/eds-input-file.js +5 -3
  83. package/dist/collection/components/eds-link/eds-link.js +4 -8
  84. package/dist/collection/components/eds-logo/eds-logo.js +13 -66
  85. package/dist/collection/components/eds-logo/eds-logo.stories.js +36 -17
  86. package/dist/collection/components/eds-modal/eds-modal.js +18 -9
  87. package/dist/collection/components/eds-modal/eds-modal.stories.js +3 -1
  88. package/dist/collection/components/eds-nps/eds-nps.js +2 -2
  89. package/dist/collection/components/eds-pagination/eds-pagination.js +1 -1
  90. package/dist/collection/components/eds-progress-bar/eds-progress-bar.js +1 -8
  91. package/dist/collection/components/eds-rating/eds-rating.js +1 -1
  92. package/dist/collection/components/eds-section/eds-section-core/eds-section-core.js +1 -1
  93. package/dist/collection/components/eds-section/eds-section-heading/eds-section-heading.js +2 -2
  94. package/dist/collection/components/eds-social-networks/eds-social-networks.js +1 -1
  95. package/dist/collection/components/eds-spinner/eds-spinner.js +1 -1
  96. package/dist/collection/components/eds-steps/eds-steps.css +56 -25
  97. package/dist/collection/components/eds-steps/eds-steps.js +27 -7
  98. package/dist/collection/components/eds-steps-v2/eds-steps-v2.css +93 -28
  99. package/dist/collection/components/eds-steps-v2/eds-steps-v2.js +57 -10
  100. package/dist/collection/components/eds-steps-v2/eds-steps-v2.stories.js +80 -17
  101. package/dist/collection/components/eds-switch/eds-switch.css +26 -3
  102. package/dist/collection/components/eds-switch/eds-switch.js +10 -7
  103. package/dist/collection/components/eds-switch/eds-switch.stories.js +20 -1
  104. package/dist/collection/components/eds-table/eds-table.js +1 -3
  105. package/dist/collection/components/eds-table/eds-table.stories.js +2 -6
  106. package/dist/collection/components/eds-tabs/eds-tabs.js +4 -11
  107. package/dist/collection/components/eds-tabs/eds-tabs.stories.js +2 -2
  108. package/dist/collection/components/eds-tag/eds-tag.js +1 -1
  109. package/dist/collection/components/eds-timeline/eds-timeline.js +1 -1
  110. package/dist/collection/components/eds-toast/eds-toast.css +146 -0
  111. package/dist/collection/components/eds-toast/eds-toast.js +106 -4
  112. package/dist/collection/components/eds-toast/eds-toast.stories.js +102 -5
  113. package/dist/collection/components/eds-toast-manager/eds-toast-manager.js +1 -1
  114. package/dist/collection/components/eds-tooltip/eds-tooltip.js +1 -1
  115. package/dist/collection/components/eds-tooltip/eds-tooltip.stories.js +7 -1
  116. package/dist/collection/components/eds-user/eds-user.js +2 -5
  117. package/dist/collection/components/eds-user/eds-user.stories.js +8 -11
  118. package/dist/collection/eds-docs-ui/colors/color-palette/primary.js +1 -1
  119. package/dist/collection/eds-docs-ui/colors/color-palette/secondary.js +1 -1
  120. package/dist/collection/eds-docs-ui/colors/color-palette/support.js +1 -1
  121. package/dist/collection/eds-docs-ui/colors/gradient-palette/primary.js +1 -1
  122. package/dist/collection/eds-docs-ui/colors/gradient-palette/secondary.js +7 -7
  123. package/dist/collection/eds-docs-ui/colors/gradient-palette/support.js +3 -3
  124. package/dist/collection/eds-docs-ui/colors/use-of-colors/correct-use-of-colors.js +1 -1
  125. package/dist/collection/eds-docs-ui/colors/use-of-colors/incorrect-use-of-colors.js +1 -1
  126. package/dist/collection/eds-docs-ui/components-section/components-section.js +1 -1
  127. package/dist/collection/eds-docs-ui/design-tokens/docs-tokens/docs-tokens.js +1 -1
  128. package/dist/collection/eds-docs-ui/design-tokens/token-list/token-list.js +1 -1
  129. package/dist/collection/eds-docs-ui/design-tokens/token-radii/token-radii.js +1 -1
  130. package/dist/collection/eds-docs-ui/design-tokens/token-ratios/token-ratios.js +1 -1
  131. package/dist/collection/eds-docs-ui/design-tokens/token-shadows/token-shadows.js +1 -1
  132. package/dist/collection/eds-docs-ui/design-tokens/token-spacing/token-spacing.js +1 -1
  133. package/dist/collection/eds-docs-ui/design-tokens/token-typography/token-typography.js +8 -2
  134. package/dist/collection/eds-docs-ui/docs-palettes/docs-palettes.js +1 -1
  135. package/dist/collection/eds-docs-ui/logo/logo-space/logo-space.js +58 -1
  136. package/dist/collection/eds-docs-ui/logo/logo-variations/horizontal/logo-variations-horizontal.js +1 -1
  137. package/dist/collection/eds-docs-ui/logo/logo-variations/vertical/logo-variations-vertical.js +1 -1
  138. package/dist/collection/eds-docs-ui/logo/logo-variations-tabs/logo-variations.js +1 -1
  139. package/dist/collection/eds-docs-ui/logo/logo-wrong-usage/logo-wrong-usage.js +1 -1
  140. package/dist/collection/eds-docs-ui/svg-repository/svg-repository.js +1 -1
  141. package/dist/collection/shared-ui/eds-cookies-preference/eds-cookies-preference.js +1 -1
  142. package/dist/collection/shared-ui/eds-gitlab-contributors/eds-gitlab-contributors.js +26 -30
  143. package/dist/collection/shared-ui/eds-global-search/eds-global-search.js +18 -12
  144. package/dist/collection/shared-ui/eds-kg-learning-resources/eds-kg-learning-resources.js +15 -19
  145. package/dist/collection/shared-ui/eds-kg-web-services-select/eds-kg-web-services-select.js +2 -2
  146. package/dist/collection/shared-ui/eds-kg-web-services-select/eds-kg-web-services-select.stories.js +1 -3
  147. package/dist/collection/shared-ui/eds-matomo-notice/eds-matomo-notice.stories.js +1 -1
  148. package/dist/collection/shared-ui/eds-search-select/eds-search-select.css +11 -1
  149. package/dist/collection/shared-ui/eds-search-select/eds-search-select.js +37 -16
  150. package/dist/collection/shared-ui/eds-search-select/eds-search-select.stories.js +10 -5
  151. package/dist/collection/shared-ui/eds-trl-badge/eds-trl-badge.js +14 -11
  152. package/dist/collection/shared-ui/eds-trl-badge/eds-trl-badge.stories.js +4 -1
  153. package/dist/collection/shared-ui/examples/eds-app-root/eds-app-root.js +1 -1
  154. package/dist/collection/utils/eds-form/safeFormat.js +1 -5
  155. package/dist/components/components-section.js +1 -1
  156. package/dist/components/components.css +9 -7
  157. package/dist/components/components.esm.js +1 -1
  158. package/dist/components/correct-use-of-colors.js +1 -1
  159. package/dist/components/docs-palettes.js +1 -1
  160. package/dist/components/docs-tokens.js +1 -1
  161. package/dist/components/eds-accordion2.js +2 -5
  162. package/dist/components/eds-alert2.js +3 -2
  163. package/dist/components/eds-app-root.js +1 -1
  164. package/dist/components/eds-button2.js +5 -9
  165. package/dist/components/eds-card-app.js +2 -5
  166. package/dist/components/eds-card-cta.js +2 -5
  167. package/dist/components/eds-card-feature.js +2 -5
  168. package/dist/components/eds-card-generic2.js +2 -4
  169. package/dist/components/eds-card-hero.js +6 -7
  170. package/dist/components/eds-card-stat.js +6 -7
  171. package/dist/components/eds-card-title2.js +1 -1
  172. package/dist/components/eds-code-block2.js +2 -2
  173. package/dist/components/eds-cookies-preference.js +1 -1
  174. package/dist/components/eds-footer2.js +23 -18
  175. package/dist/components/eds-form.js +101 -38
  176. package/dist/components/eds-frame.js +1 -1
  177. package/dist/components/eds-gitlab-contributors.js +26 -30
  178. package/dist/components/eds-global-search.js +18 -12
  179. package/dist/components/eds-header.js +1 -1
  180. package/dist/components/eds-icon-bluesky.js +1 -1
  181. package/dist/components/eds-icon-eu.js +1 -1
  182. package/dist/components/eds-icon-facebook.js +1 -1
  183. package/dist/components/eds-icon-gitlab.js +1 -1
  184. package/dist/components/eds-icon-linkedin.js +1 -1
  185. package/dist/components/eds-icon-mastodon.js +1 -1
  186. package/dist/components/eds-icon-twitter.js +1 -1
  187. package/dist/components/eds-icon-youtube.js +1 -1
  188. package/dist/components/eds-img2.js +2 -2
  189. package/dist/components/eds-input-dropzone2.js +7 -4
  190. package/dist/components/eds-input-field2.js +8 -3
  191. package/dist/components/eds-input-file2.js +5 -3
  192. package/dist/components/eds-input-footer2.js +3 -7
  193. package/dist/components/eds-input-label2.js +2 -2
  194. package/dist/components/eds-input-range2.js +15 -5
  195. package/dist/components/eds-input-search.js +1 -1
  196. package/dist/components/eds-input-select2.js +6 -2
  197. package/dist/components/eds-input2.js +2 -2
  198. package/dist/components/eds-kg-learning-resources.js +15 -19
  199. package/dist/components/eds-kg-web-services-select2.js +2 -2
  200. package/dist/components/eds-link2.js +3 -7
  201. package/dist/components/eds-logo2.js +4 -22
  202. package/dist/components/eds-modal.js +18 -9
  203. package/dist/components/eds-nps2.js +2 -2
  204. package/dist/components/eds-pagination2.js +1 -1
  205. package/dist/components/eds-pie.js +2 -2
  206. package/dist/components/eds-progress-bar.js +1 -8
  207. package/dist/components/eds-rating2.js +1 -1
  208. package/dist/components/eds-search-select2.js +38 -17
  209. package/dist/components/eds-section-core2.js +1 -1
  210. package/dist/components/eds-section-heading2.js +2 -2
  211. package/dist/components/eds-social-networks2.js +1 -1
  212. package/dist/components/eds-spinner2.js +1 -1
  213. package/dist/components/eds-steps-v2.js +41 -11
  214. package/dist/components/eds-steps2.js +28 -8
  215. package/dist/components/eds-switch2.js +8 -5
  216. package/dist/components/eds-table2.js +1 -3
  217. package/dist/components/eds-tabs.js +4 -11
  218. package/dist/components/eds-tag2.js +1 -1
  219. package/dist/components/eds-timeline.js +1 -1
  220. package/dist/components/eds-toast-manager.js +1 -1
  221. package/dist/components/eds-toast2.js +39 -3
  222. package/dist/components/eds-tooltip2.js +1 -1
  223. package/dist/components/eds-trl-badge.js +14 -11
  224. package/dist/components/eds-user.js +1 -4
  225. package/dist/components/incorrect-use-of-colors.js +1 -1
  226. package/dist/components/logo-space.js +58 -1
  227. package/dist/components/logo-variations-horizontal2.js +1 -1
  228. package/dist/components/logo-variations-tabs.js +1 -1
  229. package/dist/components/logo-variations-vertical2.js +1 -1
  230. package/dist/components/logo-wrong-usage.js +1 -1
  231. package/dist/components/{p-d59d6fda.entry.js → p-05e96609.entry.js} +1 -1
  232. package/dist/components/p-0d778d10.entry.js +1 -0
  233. package/dist/components/{p-62f53e7a.entry.js → p-114f6d54.entry.js} +1 -1
  234. package/dist/components/p-1534204d.entry.js +1 -0
  235. package/dist/components/p-337d4ee3.entry.js +9 -0
  236. package/dist/components/p-340bc935.entry.js +1 -0
  237. package/dist/components/p-39dbb964.entry.js +1 -0
  238. package/dist/components/{p-25729ade.entry.js → p-3f66bc26.entry.js} +1 -1
  239. package/dist/components/p-43f9e64f.entry.js +1 -0
  240. package/dist/components/p-46cc6c1a.entry.js +1 -0
  241. package/dist/components/{p-e9e6ec19.entry.js → p-4b8a7979.entry.js} +1 -1
  242. package/dist/components/{p-bdcb71e1.entry.js → p-6b94b2ec.entry.js} +1 -1
  243. package/dist/components/p-6d965fef.entry.js +1 -0
  244. package/dist/components/{p-62580004.entry.js → p-6e370182.entry.js} +1 -1
  245. package/dist/components/p-6ffe581c.entry.js +1 -0
  246. package/dist/components/{p-e027bc90.entry.js → p-726637b1.entry.js} +1 -1
  247. package/dist/components/{p-8a483358.entry.js → p-86ccc09f.entry.js} +1 -1
  248. package/dist/components/{p-e71a4f29.entry.js → p-8755a21b.entry.js} +1 -1
  249. package/dist/components/{p-e4df206e.entry.js → p-8ab461e2.entry.js} +1 -1
  250. package/dist/components/p-8cb162b8.entry.js +1 -0
  251. package/dist/components/p-8cdbc280.entry.js +1 -0
  252. package/dist/components/{p-42791331.entry.js → p-8e034c4e.entry.js} +1 -1
  253. package/dist/components/p-9f649fa3.entry.js +1 -0
  254. package/dist/components/{p-f9a9fa34.entry.js → p-a26dad9b.entry.js} +1 -1
  255. package/dist/components/p-a2d6a9ca.entry.js +1 -0
  256. package/dist/components/p-afabe1be.entry.js +1 -0
  257. package/dist/components/{p-1fbcc480.entry.js → p-b1519098.entry.js} +1 -1
  258. package/dist/components/{p-12acc48d.entry.js → p-b4023b45.entry.js} +1 -1
  259. package/dist/components/p-c53b3563.entry.js +1 -0
  260. package/dist/components/p-c7d612d1.entry.js +1 -0
  261. package/dist/components/p-dc9aef22.entry.js +1 -0
  262. package/dist/components/{p-e339d0b5.entry.js → p-f66a7cf9.entry.js} +1 -1
  263. package/dist/components/{p-80a32e20.entry.js → p-f97f62f2.entry.js} +1 -1
  264. package/dist/components/primary.js +1 -1
  265. package/dist/components/primary2.js +1 -1
  266. package/dist/components/secondary.js +1 -1
  267. package/dist/components/secondary2.js +7 -7
  268. package/dist/components/support.js +1 -1
  269. package/dist/components/support2.js +3 -3
  270. package/dist/components/svg-repository.js +1 -1
  271. package/dist/components/token-list2.js +1 -1
  272. package/dist/components/token-radii2.js +1 -1
  273. package/dist/components/token-ratios.js +1 -1
  274. package/dist/components/token-shadows2.js +1 -1
  275. package/dist/components/token-spacing.js +1 -1
  276. package/dist/components/token-typography.js +8 -2
  277. package/dist/esm/color-primary-palette_6.entry.js +14 -14
  278. package/dist/esm/components-section.entry.js +1 -1
  279. package/dist/esm/components.js +1 -1
  280. package/dist/esm/correct-use-of-colors.entry.js +1 -1
  281. package/dist/esm/docs-palettes.entry.js +1 -1
  282. package/dist/esm/docs-tokens.entry.js +1 -1
  283. package/dist/esm/eds-accordion_53.entry.js +367 -248
  284. package/dist/esm/eds-app-root.entry.js +1 -1
  285. package/dist/esm/eds-cookies-preference.entry.js +1 -1
  286. package/dist/esm/eds-frame.entry.js +1 -1
  287. package/dist/esm/eds-gitlab-contributors.entry.js +26 -30
  288. package/dist/esm/eds-icon-bluesky.entry.js +1 -1
  289. package/dist/esm/eds-icon-eu.entry.js +1 -1
  290. package/dist/esm/eds-icon-facebook.entry.js +1 -1
  291. package/dist/esm/eds-icon-gitlab.entry.js +1 -1
  292. package/dist/esm/eds-icon-linkedin.entry.js +1 -1
  293. package/dist/esm/eds-icon-mastodon.entry.js +1 -1
  294. package/dist/esm/eds-icon-twitter.entry.js +1 -1
  295. package/dist/esm/eds-icon-youtube.entry.js +1 -1
  296. package/dist/esm/eds-input-search.entry.js +1 -1
  297. package/dist/esm/eds-modal.entry.js +18 -9
  298. package/dist/esm/eds-pie.entry.js +2 -2
  299. package/dist/esm/eds-section-core_2.entry.js +3 -3
  300. package/dist/esm/eds-timeline.entry.js +1 -1
  301. package/dist/esm/eds-toast-manager.entry.js +1 -1
  302. package/dist/esm/eds-trl-badge.entry.js +14 -11
  303. package/dist/esm/incorrect-use-of-colors.entry.js +1 -1
  304. package/dist/esm/loader.js +1 -1
  305. package/dist/esm/logo-space.entry.js +58 -1
  306. package/dist/esm/logo-variations-horizontal_2.entry.js +2 -2
  307. package/dist/esm/logo-variations-tabs.entry.js +1 -1
  308. package/dist/esm/logo-wrong-usage.entry.js +1 -1
  309. package/dist/esm/svg-repository.entry.js +1 -1
  310. package/dist/esm/token-list_3.entry.js +3 -3
  311. package/dist/esm/token-ratios.entry.js +1 -1
  312. package/dist/esm/token-spacing.entry.js +1 -1
  313. package/dist/esm/token-typography.entry.js +8 -2
  314. package/dist/hydrate/index.js +572 -368
  315. package/dist/hydrate/index.mjs +572 -368
  316. package/dist/types/components/eds-form/eds-form.d.ts +56 -0
  317. package/dist/types/components/eds-form/eds-form.stories.d.ts +63 -0
  318. package/dist/types/components/eds-logo/eds-logo.d.ts +11 -28
  319. package/dist/types/components/eds-logo/eds-logo.stories.d.ts +22 -2
  320. package/dist/types/components/eds-steps/eds-steps.d.ts +7 -0
  321. package/dist/types/components/eds-steps-v2/eds-steps-v2.d.ts +14 -1
  322. package/dist/types/components/eds-steps-v2/eds-steps-v2.stories.d.ts +40 -9
  323. package/dist/types/components/eds-switch/eds-switch.d.ts +6 -2
  324. package/dist/types/components/eds-switch/eds-switch.stories.d.ts +8 -0
  325. package/dist/types/components/eds-toast/eds-toast.d.ts +33 -1
  326. package/dist/types/components/eds-toast/eds-toast.stories.d.ts +49 -1
  327. package/dist/types/components/eds-user/eds-user.d.ts +0 -2
  328. package/dist/types/components/eds-user/eds-user.stories.d.ts +5 -9
  329. package/dist/types/components.d.ts +210 -60
  330. package/package.json +1 -1
  331. package/dist/components/p-00ba405d.entry.js +0 -1
  332. package/dist/components/p-03342030.entry.js +0 -1
  333. package/dist/components/p-0e2bac0f.entry.js +0 -1
  334. package/dist/components/p-18399fe1.entry.js +0 -1
  335. package/dist/components/p-1e6f0572.entry.js +0 -1
  336. package/dist/components/p-27e093c3.entry.js +0 -1
  337. package/dist/components/p-3d1bb2fe.entry.js +0 -1
  338. package/dist/components/p-5ff4b1d0.entry.js +0 -1
  339. package/dist/components/p-6be1730a.entry.js +0 -1
  340. package/dist/components/p-786ff09b.entry.js +0 -1
  341. package/dist/components/p-85476a6f.entry.js +0 -9
  342. package/dist/components/p-c2127276.entry.js +0 -1
  343. package/dist/components/p-c3ee9163.entry.js +0 -1
  344. package/dist/components/p-c4cfbf98.entry.js +0 -1
  345. package/dist/components/p-c65082fe.entry.js +0 -1
  346. package/dist/components/p-cc096938.entry.js +0 -1
  347. package/dist/components/p-f4d2f882.entry.js +0 -1
@@ -55,12 +55,8 @@ const linkStyles = cva([
55
55
  'rounded-full',
56
56
  'aria-disabled:bg-dark aria-disabled:text-lightest'
57
57
  ],
58
- cta: [
59
- 'cta-link !px-0 !py-0 !min-h-0 !h-auto'
60
- ],
61
- 'cta-brand': [
62
- 'cta-link-brand !px-0 !py-0 !min-h-0 !h-auto'
63
- ]
58
+ cta: ['cta-link !px-0 !py-0 !min-h-0 !h-auto'],
59
+ 'cta-brand': ['cta-link-brand !px-0 !py-0 !min-h-0 !h-auto']
64
60
  },
65
61
  iconSmall: {
66
62
  true: '',
@@ -290,7 +286,7 @@ export class EdsLink {
290
286
  const labelClasses = this.hideLabelOnSmallScreen
291
287
  ? 'hidden lg:flex' // Tailwind example: hidden on small screens, visible on larger
292
288
  : '';
293
- return (h("a", { key: 'd167c16280b7f0b4c1fcf14f0f0d3468111e715b', class: `${classes || ''}`, href: isInteractive ? safeUrl : undefined, target: this.external && isInteractive ? '_blank' : undefined, rel: this.external && isInteractive ? 'noopener noreferrer' : undefined, tabIndex: isInteractive ? 0 : -1, "aria-label": isIconOnly ? this.ariaLabel || 'Link' : undefined, "aria-disabled": this.disabled ? 'true' : undefined, "aria-current": this.current ? 'page' : undefined, role: this.disabled ? 'link' : undefined, download: this.download ? '' : undefined, onClick: (event) => this.handleClick(event), onKeyDown: (event) => this.handleKeyDown(event) }, h("span", { key: '000476a609888f5f848722015ce5e6137f26e371', class: "z-1 relative inline-flex items-center justify-center" }, this.renderLeftIcon(), this.label && (h("span", { key: '15232cde31d23c5a466189c69fbdb9db48f08274', class: `${labelClasses} ${this.icon ? (this.iconPos === 'right' ? (this.size === 'large' ? 'pr-4' : 'pr-2') : (this.size === 'large' ? 'pl-4' : 'pl-2')) : ''}` }, this.label)), this.renderRightIcon())));
289
+ return (h("a", { key: 'a447ffc8ba377ceb4fe0dc199ad7225e222d4cf3', class: `${classes || ''}`, href: isInteractive ? safeUrl : undefined, target: this.external && isInteractive ? '_blank' : undefined, rel: this.external && isInteractive ? 'noopener noreferrer' : undefined, tabIndex: isInteractive ? 0 : -1, "aria-label": isIconOnly ? this.ariaLabel || 'Link' : undefined, "aria-disabled": this.disabled ? 'true' : undefined, "aria-current": this.current ? 'page' : undefined, role: this.disabled ? 'link' : undefined, download: this.download ? '' : undefined, onClick: (event) => this.handleClick(event), onKeyDown: (event) => this.handleKeyDown(event) }, h("span", { key: '72d84592cfd7e48e983e281d8e8f1d8a2b739e26', class: "z-1 relative inline-flex items-center justify-center" }, this.renderLeftIcon(), this.label && (h("span", { key: 'a101036d3206e7f610c04dfc9d0a4dcd5c1a2b4f', class: `${labelClasses} ${this.icon ? (this.iconPos === 'right' ? (this.size === 'large' ? 'pr-4' : 'pr-2') : this.size === 'large' ? 'pl-4' : 'pl-2') : ''}` }, this.label)), this.renderRightIcon())));
294
290
  }
295
291
  static get is() { return "eds-link"; }
296
292
  static get encapsulation() { return "shadow"; }
@@ -327,7 +323,7 @@ export class EdsLink {
327
323
  "type": "string",
328
324
  "mutable": false,
329
325
  "complexType": {
330
- "original": "'primary' | 'secondary' | 'secondaryInverse' | 'ghost' | 'strong' | 'weak' | 'inverse' | 'underline' | 'underlineInverse' | 'brand' | 'brandInverse' | 'cta' | 'cta-brand'",
326
+ "original": "| 'primary'\n | 'secondary'\n | 'secondaryInverse'\n | 'ghost'\n | 'strong'\n | 'weak'\n | 'inverse'\n | 'underline'\n | 'underlineInverse'\n | 'brand'\n | 'brandInverse'\n | 'cta'\n | 'cta-brand'",
331
327
  "resolved": "\"brand\" | \"brandInverse\" | \"cta\" | \"cta-brand\" | \"ghost\" | \"inverse\" | \"primary\" | \"secondary\" | \"secondaryInverse\" | \"strong\" | \"underline\" | \"underlineInverse\" | \"weak\"",
332
328
  "references": {}
333
329
  },
@@ -2,36 +2,28 @@ import { h } from "@stencil/core";
2
2
  import { logoNegative, logoPositive } from "../../../../../../../packages/svgs/src/index";
3
3
  import { sendAnalytics } from "../../utils/analytics";
4
4
  /**
5
- * `EdsLogo` is a logo component designed to display a clickable logo that can link to a specified URL.
6
- *
7
- * Key Features:
8
- * - Supports various logo styles and orientations.
9
- * - Emits a custom `matomoEvent` for tracking click interactions.
5
+ * `EdsLogo` renders the clickable EBRAINS brand mark (inline SVG).
10
6
  *
11
7
  * Props:
12
- * - `href` (string): The URL to navigate to when the logo is clicked (defaults to the root path `/`).
13
- * - `orientation` (string): The orientation of the logo (`horizontal` or `vertical`).
14
- * - `type` (string): The style of the logo (`color`, `black`, `color-white`, `white`).
8
+ * - `variant` (attribute `type`): `'positive'` (dark logo for light
9
+ * backgrounds) or `'negative'` (light logo for dark backgrounds).
10
+ * - `href`: where the logo links to (defaults to `/`). The logo is the
11
+ * click-to-home affordance in eds-header, eds-fullscreen-menu and the
12
+ * eds-form brand hero.
15
13
  *
16
- * Events:
17
- * - `matomoEvent`: Emitted when the logo is clicked, carrying metadata for analytics tracking, including the event `category`, `tag`, `name`, and `action`.
14
+ * Clicks emit an analytics event (category/tag/name/action).
18
15
  *
19
- * This component is ideal for navigation and branding, with options for style customization and interaction tracking.
16
+ * NOTE: the SVG has a viewBox but no intrinsic width, so the host needs a
17
+ * sized block parent to render (e.g. eds-header wraps it in a fixed-width
18
+ * container).
20
19
  */
21
20
  export class EdsLogo {
22
21
  constructor() {
23
22
  this.href = '/';
24
- this.orientation = 'horizontal';
25
23
  this.variant = 'positive';
26
- this.label = 'Home';
27
24
  }
28
25
  /**
29
- * Handles the click event on the logo link.
30
- * Emits a `matomoEvent` for analytics tracking with details about the interaction.
31
- * - `category`: Component type (e.g., "ui-component").
32
- * - `tag`: The HTML tag name of the component.
33
- * - `name`: Event name, set as "logo".
34
- * - `action`: The action, set as "click".
26
+ * Emits an analytics event when the logo link is clicked.
35
27
  */
36
28
  handleClick() {
37
29
  sendAnalytics({
@@ -41,18 +33,9 @@ export class EdsLogo {
41
33
  action: 'click'
42
34
  });
43
35
  }
44
- /**
45
- * Determines the appropriate SVG content based on the `orientation` and `type` props.
46
- */
47
- getLogo() {
48
- if (this.variant == 'negative') {
49
- return logoNegative;
50
- }
51
- return logoPositive;
52
- }
53
36
  render() {
54
- const logoContent = this.getLogo();
55
- return (h("a", { key: '3f8257c9481079f011278b114e13effe9057d823', href: this.href, onClick: () => this.handleClick(), class: "eds-logo-wrapper", "aria-label": this.label }, h("div", { key: '4dac45a1a0c38c6e1613995aad2005b41acac775', innerHTML: logoContent })));
37
+ const logoContent = this.variant === 'negative' ? logoNegative : logoPositive;
38
+ return (h("a", { key: '3576feaa13063508c317d8b31817165de79ced77', href: this.href, onClick: () => this.handleClick(), class: "eds-logo-wrapper", "aria-label": "Home" }, h("div", { key: 'b43ef52813a59ba47e4a07c3d410b007a27ca186', innerHTML: logoContent })));
56
39
  }
57
40
  static get is() { return "eds-logo"; }
58
41
  static get encapsulation() { return "shadow"; }
@@ -86,24 +69,6 @@ export class EdsLogo {
86
69
  "reflect": false,
87
70
  "defaultValue": "'/'"
88
71
  },
89
- "orientation": {
90
- "type": "string",
91
- "mutable": false,
92
- "complexType": {
93
- "original": "'horizontal' | 'vertical'",
94
- "resolved": "\"horizontal\" | \"vertical\"",
95
- "references": {}
96
- },
97
- "required": false,
98
- "optional": false,
99
- "docs": {
100
- "tags": [],
101
- "text": "The orientation of the logo to display.\n- `\"horizontal\"` displays the logo horizontally.\n- `\"vertical\"` displays the logo vertically."
102
- },
103
- "attribute": "orientation",
104
- "reflect": false,
105
- "defaultValue": "'horizontal'"
106
- },
107
72
  "variant": {
108
73
  "type": "string",
109
74
  "mutable": false,
@@ -121,24 +86,6 @@ export class EdsLogo {
121
86
  "attribute": "type",
122
87
  "reflect": false,
123
88
  "defaultValue": "'positive'"
124
- },
125
- "label": {
126
- "type": "string",
127
- "mutable": false,
128
- "complexType": {
129
- "original": "string",
130
- "resolved": "string",
131
- "references": {}
132
- },
133
- "required": false,
134
- "optional": false,
135
- "docs": {
136
- "tags": [],
137
- "text": ""
138
- },
139
- "attribute": "label",
140
- "reflect": false,
141
- "defaultValue": "'Home'"
142
89
  }
143
90
  };
144
91
  }
@@ -1,21 +1,40 @@
1
1
  export default {
2
2
  title: 'Components/Logo',
3
3
  component: 'eds-logo',
4
- argTypes: {}
4
+ argTypes: {
5
+ variant: {
6
+ control: 'select',
7
+ options: ['positive', 'negative'],
8
+ description: 'Logo variant (attribute `type`): positive = dark logo for light backgrounds, negative = light logo for dark backgrounds.'
9
+ },
10
+ href: {
11
+ control: 'text',
12
+ description: 'Where the logo links to. Defaults to "/" — the click-to-home affordance in headers and the brand form hero.'
13
+ }
14
+ },
15
+ args: {
16
+ variant: 'positive',
17
+ href: 'https://ebrains.eu'
18
+ }
19
+ };
20
+ /* The SVG has a viewBox but no intrinsic width, so it needs a sized block
21
+ parent (same reason eds-header wraps it in a fixed-width container). The
22
+ surface flips with the variant so both are legible. */
23
+ export const Default = {
24
+ render: (args) => `
25
+ <div class="${args.variant === 'negative' ? 'bg-strongest' : 'bg-dark'} p-16 w-[300px]">
26
+ <eds-logo type="${args.variant}" href="${args.href}"></eds-logo>
27
+ </div>`
28
+ };
29
+ /** Both variants side by side, on their intended surfaces. */
30
+ export const Variants = {
31
+ render: () => `
32
+ <div class="flex flex-col gap-y-16">
33
+ <div class="bg-dark p-16 w-[300px]">
34
+ <eds-logo type="positive" href="https://ebrains.eu"></eds-logo>
35
+ </div>
36
+ <div class="bg-strongest p-16 w-[300px]">
37
+ <eds-logo type="negative" href="https://ebrains.eu"></eds-logo>
38
+ </div>
39
+ </div>`
5
40
  };
6
- const Template = () => `
7
- <div class="bg-dark mr-auto w-[300px]">
8
- <eds-logo
9
- href="https://ebrains.eu"
10
- type="positive">
11
- </eds-logo>
12
- </div>
13
- <div class="bg-strongest mr-auto w-[300px]">
14
- <eds-logo
15
- href="https://ebrains.eu"
16
- type="negative">
17
- </eds-logo>
18
- </div>
19
- `;
20
- export const Default = Template.bind({});
21
- Default.args = {};
@@ -55,7 +55,15 @@ export class EdsModal {
55
55
  'md:top-20'
56
56
  ].join(' ');
57
57
  case 'bottom':
58
- return ['bottom-16', 'left-0', 'w-full', 'md:left-1/2', 'md:w-auto', 'md:-translate-x-1/2', 'md:bottom-20'].join(' ');
58
+ return [
59
+ 'bottom-16',
60
+ 'left-0',
61
+ 'w-full',
62
+ 'md:left-1/2',
63
+ 'md:w-auto',
64
+ 'md:-translate-x-1/2',
65
+ 'md:bottom-20'
66
+ ].join(' ');
59
67
  /*case 'left':
60
68
 
61
69
  case 'right':
@@ -78,11 +86,13 @@ export class EdsModal {
78
86
  }
79
87
  trapFocus(event) {
80
88
  var _a;
81
- if (event.key !== 'Tab')
89
+ if (event.key !== 'Tab') {
82
90
  return;
91
+ }
83
92
  const focusableElements = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
84
- if (!focusableElements || focusableElements.length === 0)
93
+ if (!focusableElements || focusableElements.length === 0) {
85
94
  return;
95
+ }
86
96
  const firstElement = focusableElements[0];
87
97
  const lastElement = focusableElements[focusableElements.length - 1];
88
98
  if (event.shiftKey) {
@@ -91,11 +101,9 @@ export class EdsModal {
91
101
  event.preventDefault();
92
102
  }
93
103
  }
94
- else {
95
- if (document.activeElement === lastElement) {
96
- firstElement.focus();
97
- event.preventDefault();
98
- }
104
+ else if (document.activeElement === lastElement) {
105
+ firstElement.focus();
106
+ event.preventDefault();
99
107
  }
100
108
  }
101
109
  lockBodyScroll() {
@@ -178,8 +186,9 @@ export class EdsModal {
178
186
  * Closes the modal when the Escape key is pressed and handles focus trapping on Tab.
179
187
  */
180
188
  handleKeyDown(event) {
181
- if (!this.isOpen)
189
+ if (!this.isOpen) {
182
190
  return;
191
+ }
183
192
  if (event.key === 'Escape') {
184
193
  this.close();
185
194
  }
@@ -74,7 +74,9 @@ const TemplateWithForm = ({ title, position, truncate, inverseHeader }) => {
74
74
 
75
75
  <!-- Button to control modal -->
76
76
  <eds-button
77
- intent="brand" size="large" pill="true"
77
+ intent="brand"
78
+ size="large"
79
+ pill="true"
78
80
  label="Open Modal with Form"
79
81
  @click="${openModal}"
80
82
  style="margin-right: 10px;"
@@ -75,14 +75,14 @@ export class EdsNps {
75
75
  }
76
76
  render() {
77
77
  const count = this.max - this.min + 1;
78
- return (h("div", { key: '412ddeabf0cc97829202063af25f17e3309b0754', class: "eds-nps" }, h("eds-input-label", { key: '100a47e710fa75d6a5761a87ca68e8bc8910e248', id: "nps-question", name: "nps-question", label: this.question }), h("div", { key: '9a7a63112e17f4c725005e1ae8e42c98107db7c4', class: "eds-nps__scale" }, h("div", { key: '501029dad573cd31d956ae3cae67f2db9f2649f1', id: "nps-buttons", role: "radiogroup", "aria-labelledby": "nps-question", onKeyDown: this.handleKeyNav, class: "flex flex-wrap gap-2 my-8" }, Array.from({ length: count }, (_, i) => {
78
+ return (h("div", { key: 'edbeca6a946c3b355161d09707d6732dd5a79e67', class: "eds-nps" }, h("eds-input-label", { key: 'cf2b345b98407ee204a914e50183f5f895698adb', id: "nps-question", name: "nps-question", label: this.question }), h("div", { key: '423d0d8b676c8d3a72efd71f092a6b041a42c007', class: "eds-nps__scale" }, h("div", { key: 'b93fdd4168213fd5835a1253c5731c8dfa860572', id: "nps-buttons", role: "radiogroup", "aria-labelledby": "nps-question", onKeyDown: this.handleKeyNav, class: "flex flex-wrap gap-2 my-8" }, Array.from({ length: count }, (_, i) => {
79
79
  const val = this.min + i;
80
80
  const isSelected = val === this.internalValue;
81
81
  const tabIndex = isSelected || (this.internalValue == null && i === 0) ? 0 : -1;
82
82
  return (h("div", { class: "flex", key: val }, h("eds-button", { ref: (el) => (this.btnRefs[i] = el), size: "large", role: "radio", "aria-checked": isSelected ? 'true' : 'false', "aria-label": `${val}`, onClick: () => this.onSelect(val), tabIndex: tabIndex, intent: isSelected ? 'brand' : 'brandLight', class: isSelected ? 'eds-nps__btn is-selected' : 'eds-nps__btn', "extra-class": "!block !px-0 w-full", label: `${val}`, pill: true, onFocus: () => {
83
83
  this.internalValue = val;
84
84
  } })));
85
- })), h("div", { key: 'aa15457591f1edf6e59eed384bcfbb25d49c9fd5', class: "flex justify-between eds-nps__labels" }, h("span", { key: 'a468b290491e368e3084f17ce40c6aa39e00ad3a', class: "f-ui-04 text-light ml-4" }, this.leftLabel), h("span", { key: '146b9eea4bbc360f7765e69e319738c77beae69d', class: "f-ui-04 text-light mr-4" }, this.rightLabel)))));
85
+ })), h("div", { key: '035bf1b3da3c481084201b1edb76a4d3e900a878', class: "flex justify-between eds-nps__labels" }, h("span", { key: '218622e6374ffa7b137b38dde7654e7b671cea6a', class: "f-ui-04 text-light ml-4" }, this.leftLabel), h("span", { key: '66d04e813fa6eee2fb52b7f48540b647016e0fe7', class: "f-ui-04 text-light mr-4" }, this.rightLabel)))));
86
86
  }
87
87
  static get is() { return "eds-nps"; }
88
88
  static get encapsulation() { return "shadow"; }
@@ -248,7 +248,7 @@ export class EdsPagination {
248
248
  }
249
249
  render() {
250
250
  const navigableIndex = -1; // Track index for keyboard navigation
251
- return (h("div", { key: '5c11fd306f0ebf47a452e44d633e18b2e3860d78' }, this.total > 0 && this.mode === 'default' && (h("p", { key: 'fe8b7f7b6c7785152f1edd90a750f4a9a7e2768b', class: "f-ui-03 text-light mb-28 w-full text-center", "aria-live": "polite", id: "pagination-info" }, h("span", { key: '5e2c67535dbf765dc662770164404f0de69315a1', class: "text-light sr-only" }, "Results:"), this.pageResults())), this.mode === 'navigator' || (this.lastPage && this.lastPage > 1) ? (h("nav", { "aria-label": "Pagination Navigation", "aria-describedby": this.mode === 'default' ? 'pagination-info' : undefined, onKeyDown: this.handleKeyDown }, h("ul", { class: "flex items-center justify-center gap-x-8", role: "list" }, h("li", { class: "mr-auto" }, this.useButtons ? (h("div", { class: "pagination-button-wrapper", onFocus: () => this.handleItemFocus(navigableIndex) }, h("eds-button", { label: this.prevLabel, disabled: this.mode === 'navigator' ? !this.prevUrl : this.isFirstPage(), "aria-label": "Go to previous page", icon: "chevron-left", "icon-pos": "left", size: "small", "icon-small": "true", intent: "ghost", "extra-class": "!p-8 lg:!pr-12 pagination-button", onClick: (event) => {
251
+ return (h("div", { key: '7968465b6c55f17657aa5bd3271448a9d780bec7' }, this.total > 0 && this.mode === 'default' && (h("p", { key: 'e266baaf3b45095b1e0d90c493d254405fa317b7', class: "f-ui-03 text-light mb-28 w-full text-center", "aria-live": "polite", id: "pagination-info" }, h("span", { key: '2acbccf0cb69248fb36b2479eb925d5cb728a3b5', class: "text-light sr-only" }, "Results:"), this.pageResults())), this.mode === 'navigator' || (this.lastPage && this.lastPage > 1) ? (h("nav", { "aria-label": "Pagination Navigation", "aria-describedby": this.mode === 'default' ? 'pagination-info' : undefined, onKeyDown: this.handleKeyDown }, h("ul", { class: "flex items-center justify-center gap-x-8", role: "list" }, h("li", { class: "mr-auto" }, this.useButtons ? (h("div", { class: "pagination-button-wrapper", onFocus: () => this.handleItemFocus(navigableIndex) }, h("eds-button", { label: this.prevLabel, disabled: this.mode === 'navigator' ? !this.prevUrl : this.isFirstPage(), "aria-label": "Go to previous page", icon: "chevron-left", "icon-pos": "left", size: "small", "icon-small": "true", intent: "ghost", "extra-class": "!p-8 lg:!pr-12 pagination-button", onClick: (event) => {
252
252
  if (this.mode === 'default' && !this.isFirstPage()) {
253
253
  this.handlePageClick(event, (this.currentPage || 1) - 1);
254
254
  }
@@ -38,14 +38,7 @@ export class EdsProgressBar {
38
38
  ]
39
39
  .filter(Boolean)
40
40
  .join(' ');
41
- const fillClasses = [
42
- 'inner',
43
- 'h-full',
44
- 'transition-all',
45
- 'duration-300',
46
- 'bg-accent',
47
- 'z-0'
48
- ]
41
+ const fillClasses = ['inner', 'h-full', 'transition-all', 'duration-300', 'bg-accent', 'z-0']
49
42
  .filter(Boolean)
50
43
  .join(' ');
51
44
  return (h("div", { role: "progressbar", "aria-valuemin": "0", "aria-valuemax": "100", "aria-valuenow": progressValue, "aria-valuetext": `${progressValue}%`, class: outerClasses }, h("div", { class: fillClasses, style: { width: `${progressValue}%` } }), h("div", { class: "absolute inset-0 flex items-center justify-center pointer-events-none z-10" }, h("span", { class: "text-default f-ui-01" }, progressValue, "%"))));
@@ -73,7 +73,7 @@ export class EdsRating {
73
73
  this.onSelect(next);
74
74
  }
75
75
  render() {
76
- return (h("div", { key: '01857f12c63fbe53b95152902ddba594aa736f6f', id: "rating-buttons", role: "group", "aria-labelledby": "rating", class: "stars flex space-x-1 my-8", onKeyDown: (e) => this.handleKeyNav(e) }, Array.from({ length: this.ratingCount }, (_, index) => {
76
+ return (h("div", { key: '57a4d7bc36daac45ba1b2a6924a6976919614c99', id: "rating-buttons", role: "group", "aria-labelledby": "rating", class: "stars flex space-x-1 my-8", onKeyDown: (e) => this.handleKeyNav(e) }, Array.from({ length: this.ratingCount }, (_, index) => {
77
77
  const starRating = index + 1;
78
78
  const isSelected = starRating <= this.internalRating;
79
79
  // Use the mapping text if available; otherwise, fall back to a generic label.
@@ -20,7 +20,7 @@ export class EdsSectionCore {
20
20
  }
21
21
  render() {
22
22
  const TagType = this.tag; // Set dynamic tag type (div or section)
23
- return (h(TagType, { key: '635230d1ec9a0dcc945990a6a58dc3508345d984' }, h("eds-section-heading", { key: '0b6b94df22af707cbd6964132f3a5190b4b7e83c', headingLevel: this.headingLevel, sectionTitle: this.sectionTitle }), h("slot", { key: '8834c29c25249fb5c384fb5d51866eadb93a97d6' })));
23
+ return (h(TagType, { key: 'cee3905fc5e268c768fbc58b413ee074591888b7' }, h("eds-section-heading", { key: '9ba05e76c5e348b1209283b7f95a475408758c3b', headingLevel: this.headingLevel, sectionTitle: this.sectionTitle }), h("slot", { key: '8e5d27261133cd900d13940ce928946b1c378277' })));
24
24
  }
25
25
  static get is() { return "eds-section-core"; }
26
26
  static get encapsulation() { return "shadow"; }
@@ -36,12 +36,12 @@ export class EdsSectionHeading {
36
36
  render() {
37
37
  const TagType = this.tag; // Dynamically set tag type for the container
38
38
  const HeadingTag = this.headingLevel; // Dynamically set heading level
39
- return (h(TagType, { key: '7275284a1158ab982f1e53117b72738d0a001c97', class: {
39
+ return (h(TagType, { key: '8791e5d816bfdc80087f3f7e5dbab60d0ac4a523', class: {
40
40
  'ui-section-header flex flex-wrap items-center justify-between gap-x-12 gap-y-8': true,
41
41
  container: this.withContainer,
42
42
  'pt-48': this.spacingLarge,
43
43
  'pt-28': !this.spacingLarge
44
- } }, h(HeadingTag, { key: 'a3c68baa56a0337348405c88544225ed7c7ff0ed', class: this.getHeadingClass() }, this.sectionTitle)));
44
+ } }, h(HeadingTag, { key: 'e2e7ca5effc12e6c9c8c3418c4097920ec80e53e', class: this.getHeadingClass() }, this.sectionTitle)));
45
45
  }
46
46
  static get is() { return "eds-section-heading"; }
47
47
  static get properties() {
@@ -55,7 +55,7 @@ export class EdsSocialNetworks {
55
55
  const isInverse = this.variant === 'inverse';
56
56
  const textClass = isInverse ? 'text-inverse' : '';
57
57
  const linkIntent = isInverse ? 'inverse' : 'strong';
58
- return (h("nav", { key: '924bdf5a32b65cd0968ad92461cb8203f3305fce', "aria-label": "Social media" }, h("p", { key: 'f406d71ed2d7ff9048e5db05f5ad62566081aa45', class: `f-ui-02 ${textClass}` }, this.heading), h("ul", { key: '40d000bc78780d7ec3c0c9bf2e10ec0a26f3b72e', class: "mt-12 flex gap-4" }, this.socialNetworks.map((network, index) => (h("li", { key: index }, h("eds-link", { external: true, "aria-label": `EBRAINS on ${network.label}`, url: network.url, icon: network.icon, intent: linkIntent })))))));
58
+ return (h("nav", { key: '42abfdc0d94bad2fa273de7a476099df0a5103ff', "aria-label": "Social media" }, h("p", { key: 'c2eb9600afd49b5b178392f0f46efd58909f8843', class: `f-ui-02 ${textClass}` }, this.heading), h("ul", { key: 'b71a410550b06d89947ee9475af98c19cbe7e130', class: "mt-12 flex gap-4" }, this.socialNetworks.map((network, index) => (h("li", { key: index }, h("eds-link", { external: true, "aria-label": `EBRAINS on ${network.label}`, url: network.url, icon: network.icon, intent: linkIntent })))))));
59
59
  }
60
60
  static get is() { return "eds-social-networks"; }
61
61
  static get encapsulation() { return "shadow"; }
@@ -71,7 +71,7 @@ export class EdsSpinner {
71
71
  alignItems: 'center',
72
72
  justifyContent: 'center'
73
73
  };
74
- return (h(Host, { key: 'c09fa07856848a03aab44bbb56ecdd66a986bb40' }, h("div", { key: '544c653e9e0457d2063eaefc5ff1fe88de89f14e', class: "spinner-overlay", style: overlayStyle }, h("span", { key: 'e389aa572863a265c9aa68d587ad744f1c8db0a7', class: "spinner", style: spinnerStyle }), this.message && h("p", { key: '5e554fe1b870e673c5b3da3ec2a227e92dd9863d', class: "f-ui-01" }, this.message))));
74
+ return (h(Host, { key: '4b78f045f987eb40289d2829bab08f28324f13d2' }, h("div", { key: '05fcd319080518845630c6fd4bccda02032c3c5f', class: "spinner-overlay", style: overlayStyle }, h("span", { key: 'c1e24a0e3f3f9704ad9a118724f3437124e4f36f', class: "spinner", style: spinnerStyle }), this.message && h("p", { key: '947cd986f00100e950b1c2380b651c6baebca142', class: "f-ui-01" }, this.message))));
75
75
  }
76
76
  static get is() { return "eds-spinner"; }
77
77
  static get encapsulation() { return "shadow"; }
@@ -372,30 +372,54 @@ pre {
372
372
 
373
373
  .horizontal-indicators {
374
374
  display: flex;
375
- justify-content: space-between;
376
- gap: 1rem;
377
- padding: 1rem 0;
375
+ align-items: flex-start;
376
+ gap: 0;
377
+ padding: 0;
378
+ /* Breathing room above (from the header); fields sit right below the steps. */
379
+ margin-top: 1.75rem;
380
+ margin-bottom: 0;
378
381
  }
379
382
 
383
+ /* Left-aligned layout: every step left-aligns its circle so the FIRST circle
384
+ hugs the indicators' left edge — the same left edge as the form content below
385
+ it (see .step-content) — instead of being centred inside a flex cell. */
380
386
  .horizontal-step {
381
387
  display: flex;
382
388
  flex-direction: column;
383
- align-items: center;
384
- gap: 0.5rem;
389
+ align-items: flex-start;
390
+ gap: 0.6rem;
385
391
  cursor: pointer;
386
- flex: 1;
392
+ flex: 1 1 0;
393
+ min-width: 0;
387
394
  position: relative;
388
395
  }
389
396
 
397
+ /* The last step only needs room for its own circle + label; without this it
398
+ would reserve a full flex cell and leave a large empty gap after the final
399
+ circle. */
400
+ .horizontal-step:last-child {
401
+ flex: 0 0 auto;
402
+ }
403
+
404
+ /* Left-aligned circles → the connector runs from just after this circle to the
405
+ next circle's left edge (one cell-width away). */
390
406
  .horizontal-step:not(:last-child)::after {
391
407
  content: '';
392
408
  position: absolute;
393
- top: 1.25rem;
394
- left: 50%;
395
- width: 100%;
396
- height: 2px;
409
+ top: 1.375rem; /* vertical centre of the 2.75rem circle */
410
+ left: calc(2.75rem + 0.4rem); /* just past this circle */
411
+ width: calc(100% - 2.75rem - 0.8rem); /* up to the next circle */
412
+ height: 3px;
413
+ border-radius: 2px;
397
414
  background-color: #e0e0e0;
398
- z-index: -1;
415
+ transform: translateY(-50%);
416
+ z-index: 1;
417
+ }
418
+
419
+ /* Titles sit left-aligned under their (left-aligned) circle. */
420
+ .horizontal-step > span {
421
+ text-align: left;
422
+ align-self: stretch;
399
423
  }
400
424
 
401
425
  .horizontal-step.is-completed:not(:last-child)::after {
@@ -403,8 +427,8 @@ pre {
403
427
  }
404
428
 
405
429
  .step-indicator {
406
- width: 2.5rem;
407
- height: 2.5rem;
430
+ width: 2.75rem;
431
+ height: 2.75rem;
408
432
  border-radius: 50%;
409
433
  border: 2px solid #e0e0e0;
410
434
  display: flex;
@@ -412,6 +436,7 @@ pre {
412
436
  justify-content: center;
413
437
  background-color: white;
414
438
  transition: all 0.3s ease;
439
+ flex: 0 0 auto;
415
440
  }
416
441
 
417
442
  .horizontal-step.is-active .step-indicator {
@@ -431,14 +456,18 @@ pre {
431
456
  }
432
457
 
433
458
  .step-number {
434
- font-weight: 600;
435
- font-size: 0.875rem;
459
+ font-family: var(--font-family-mono, 'IBM Plex Mono', monospace);
460
+ font-weight: 500;
461
+ font-size: 0.95rem;
436
462
  }
437
463
 
438
464
  .step-label {
439
- font-size: 0.875rem;
440
- text-align: center;
465
+ font-family: var(--font-family-mono, 'IBM Plex Mono', monospace);
466
+ font-size: 9.5px;
467
+ letter-spacing: 0.07em;
468
+ text-transform: uppercase;
441
469
  font-weight: 500;
470
+ color: var(--dark-grey, #7a7b7a);
442
471
  }
443
472
 
444
473
  .horizontal-step.is-active .step-label {
@@ -447,17 +476,15 @@ pre {
447
476
 
448
477
  .step-content {
449
478
  padding: 0.5rem 0;
450
- /* Align content to start under the first step indicator */
451
- margin-left: calc((100% / var(--step-count, 1)) * 0.20 - 1.25rem);
452
- margin-right: calc((100% / var(--step-count, 1)) * 0.20 - 1.25rem);
479
+ /* Flush-left: the form shares the indicators' left edge (the first circle),
480
+ instead of the old step-count-based magic margin. */
481
+ margin-left: 0;
482
+ margin-right: 0;
453
483
  }
454
484
 
455
- /* Adjust margins for larger screens (> 700px) */
456
485
  @media (min-width: 700px) {
457
486
  .step-content {
458
487
  padding: 1.5rem 0;
459
- margin-left: calc((100% / var(--step-count, 1)) * 0.45 - 1.25rem);
460
- margin-right: calc((100% / var(--step-count, 1)) * 0.45 - 1.25rem);
461
488
  }
462
489
  }
463
490
 
@@ -488,12 +515,16 @@ pre {
488
515
  /* Brand theme - Horizontal step indicators */
489
516
  .theme-brand .step-indicator {
490
517
  background-color: var(--grey-light);
518
+ border-color: transparent; /* flat grey upcoming circle (matches mockup) */
519
+ color: var(--dark-grey, #7a7b7a);
491
520
  }
492
521
 
493
522
  .theme-brand .horizontal-step.is-active .step-indicator {
494
523
  border-color: var(--brand-green);
495
524
  background-color: var(--brand-green);
496
525
  color: var(--brand-black);
526
+ /* Soft green ring around the current step (matches mockup). */
527
+ box-shadow: 0 0 0 4px rgba(0, 255, 157, 0.2);
497
528
  }
498
529
 
499
530
  .theme-brand .horizontal-step.is-completed .step-indicator {
@@ -506,9 +537,9 @@ pre {
506
537
  background-color: var(--brand-green);
507
538
  }
508
539
 
509
- .theme-brand .horizontal-step.is-active .step-label {
540
+ .theme-brand .horizontal-step.is-active .step-label,
541
+ .theme-brand .horizontal-step.is-completed .step-label {
510
542
  color: var(--brand-black);
511
- font-weight: 600;
512
543
  }
513
544
 
514
545
  .theme-brand .step-number {