@ebrains/components 2.3.1 → 2.4.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 (569) hide show
  1. package/dist/cjs/color-primary-palette_6.cjs.entry.js +14 -14
  2. package/dist/cjs/components-section.cjs.entry.js +33 -24
  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_36.cjs.entry.js → eds-accordion_37.cjs.entry.js} +661 -209
  8. package/dist/cjs/eds-app-root.cjs.entry.js +1 -1
  9. package/dist/cjs/eds-card-desc_2.cjs.entry.js +2 -2
  10. package/dist/cjs/eds-card-generic.cjs.entry.js +1 -1
  11. package/dist/cjs/eds-card-project.cjs.entry.js +1 -1
  12. package/dist/cjs/eds-card-tags.cjs.entry.js +1 -1
  13. package/dist/cjs/eds-card-tool.cjs.entry.js +1 -1
  14. package/dist/cjs/eds-cookies-preference.cjs.entry.js +1 -1
  15. package/dist/cjs/eds-feedback.cjs.entry.js +1 -1
  16. package/dist/cjs/eds-footer.cjs.entry.js +2 -2
  17. package/dist/cjs/eds-frame.cjs.entry.js +1 -1
  18. package/dist/cjs/eds-fullscreen-menu.cjs.entry.js +8 -3
  19. package/dist/cjs/eds-gauge.cjs.entry.js +1 -1
  20. package/dist/cjs/eds-icon-arrow-diagonal.cjs.entry.js +1 -1
  21. package/dist/cjs/eds-icon-arrow-right.cjs.entry.js +1 -1
  22. package/dist/cjs/eds-icon-bin.cjs.entry.js +1 -1
  23. package/dist/cjs/eds-icon-bluesky.cjs.entry.js +1 -1
  24. package/dist/cjs/eds-icon-bookmark.cjs.entry.js +1 -1
  25. package/dist/cjs/eds-icon-chevron-down.cjs.entry.js +1 -1
  26. package/dist/cjs/eds-icon-chevron-left.cjs.entry.js +1 -1
  27. package/dist/cjs/eds-icon-chevron-right.cjs.entry.js +1 -1
  28. package/dist/cjs/eds-icon-chevron-up.cjs.entry.js +1 -1
  29. package/dist/cjs/eds-icon-clone.cjs.entry.js +1 -1
  30. package/dist/cjs/eds-icon-close.cjs.entry.js +1 -1
  31. package/dist/cjs/eds-icon-copy.cjs.entry.js +1 -1
  32. package/dist/cjs/eds-icon-download.cjs.entry.js +1 -1
  33. package/dist/cjs/eds-icon-draft.cjs.entry.js +1 -1
  34. package/dist/cjs/eds-icon-edit.cjs.entry.js +1 -1
  35. package/dist/cjs/eds-icon-eu.cjs.entry.js +1 -1
  36. package/dist/cjs/eds-icon-external.cjs.entry.js +1 -1
  37. package/dist/cjs/eds-icon-facebook.cjs.entry.js +1 -1
  38. package/dist/cjs/eds-icon-gitlab.cjs.entry.js +1 -1
  39. package/dist/cjs/eds-icon-linkedin.cjs.entry.js +1 -1
  40. package/dist/cjs/eds-icon-loader.cjs.entry.js +1 -1
  41. package/dist/cjs/eds-icon-mastodon.cjs.entry.js +1 -1
  42. package/dist/cjs/eds-icon-menu.cjs.entry.js +1 -1
  43. package/dist/cjs/eds-icon-minus.cjs.entry.js +1 -1
  44. package/dist/cjs/eds-icon-more.cjs.entry.js +1 -1
  45. package/dist/cjs/eds-icon-paper.cjs.entry.js +1 -1
  46. package/dist/cjs/eds-icon-plus.cjs.entry.js +1 -1
  47. package/dist/cjs/eds-icon-portal.cjs.entry.js +1 -1
  48. package/dist/cjs/eds-icon-private.cjs.entry.js +1 -1
  49. package/dist/cjs/eds-icon-public.cjs.entry.js +1 -1
  50. package/dist/cjs/eds-icon-search.cjs.entry.js +1 -1
  51. package/dist/cjs/eds-icon-star.cjs.entry.js +1 -1
  52. package/dist/cjs/eds-icon-start.cjs.entry.js +1 -1
  53. package/dist/cjs/eds-icon-success.cjs.entry.js +1 -1
  54. package/dist/cjs/eds-icon-thumbs-down.cjs.entry.js +1 -1
  55. package/dist/cjs/eds-icon-thumbs-up.cjs.entry.js +1 -1
  56. package/dist/cjs/eds-icon-tutorial.cjs.entry.js +1 -1
  57. package/dist/cjs/eds-icon-twitter.cjs.entry.js +1 -1
  58. package/dist/cjs/eds-icon-unknown.cjs.entry.js +1 -1
  59. package/dist/cjs/eds-icon-updown.cjs.entry.js +2 -2
  60. package/dist/cjs/eds-icon-user.cjs.entry.js +1 -1
  61. package/dist/cjs/eds-icon-view.cjs.entry.js +1 -1
  62. package/dist/cjs/eds-icon-youtube.cjs.entry.js +1 -1
  63. package/dist/cjs/eds-modal.cjs.entry.js +2 -2
  64. package/dist/cjs/eds-progress-bar.cjs.entry.js +1 -1
  65. package/dist/cjs/eds-section-core_2.cjs.entry.js +3 -3
  66. package/dist/cjs/eds-social-networks.cjs.entry.js +1 -1
  67. package/dist/cjs/eds-timeline.cjs.entry.js +1 -1
  68. package/dist/cjs/eds-toast-manager.cjs.entry.js +1 -1
  69. package/dist/cjs/eds-trl.cjs.entry.js +1 -1
  70. package/dist/cjs/incorrect-use-of-colors.cjs.entry.js +1 -1
  71. package/dist/cjs/index-50bc1aa4.js +2 -2
  72. package/dist/cjs/loader.cjs.js +1 -1
  73. package/dist/cjs/logo-space.cjs.entry.js +1 -1
  74. package/dist/cjs/logo-variations-horizontal_2.cjs.entry.js +2 -2
  75. package/dist/cjs/logo-variations-tabs.cjs.entry.js +1 -1
  76. package/dist/cjs/logo-wrong-usage.cjs.entry.js +1 -1
  77. package/dist/cjs/svg-repository.cjs.entry.js +3 -3
  78. package/dist/cjs/token-list_3.cjs.entry.js +3 -3
  79. package/dist/cjs/token-ratios.cjs.entry.js +1 -1
  80. package/dist/cjs/token-spacing.cjs.entry.js +1 -1
  81. package/dist/cjs/token-typography.cjs.entry.js +1 -1
  82. package/dist/cjs/{up-and-down-d71df67d.js → up-and-down-6f179dd8.js} +2 -2
  83. package/dist/collection/collection-manifest.json +1 -0
  84. package/dist/collection/components/eds-accordion/eds-accordion.js +2 -2
  85. package/dist/collection/components/eds-alert/eds-alert.js +2 -2
  86. package/dist/collection/components/eds-avatar/eds-avatar.js +1 -1
  87. package/dist/collection/components/eds-block-break/eds-block-break.js +1 -1
  88. package/dist/collection/components/eds-breadcrump/eds-breadcrump.js +1 -1
  89. package/dist/collection/components/eds-button/eds-button.js +1 -19
  90. package/dist/collection/components/eds-cards/eds-card-composer/eds-card-desc/eds-card-desc.js +1 -1
  91. package/dist/collection/components/eds-cards/eds-card-composer/eds-card-tags/eds-card-tags.js +1 -1
  92. package/dist/collection/components/eds-cards/eds-card-composer/eds-card-title/eds-card-title.js +1 -1
  93. package/dist/collection/components/eds-cards/eds-card-generic/eds-card-generic.js +1 -1
  94. package/dist/collection/components/eds-cards/eds-card-project/eds-card-project.js +1 -1
  95. package/dist/collection/components/eds-cards/eds-card-tool/eds-card-tool.js +1 -1
  96. package/dist/collection/components/eds-charts/eds-gauge/eds-gauge.js +1 -1
  97. package/dist/collection/components/eds-code-block/eds-code-block.js +1 -1
  98. package/dist/collection/components/eds-dropdown/eds-dropdown.js +2 -2
  99. package/dist/collection/components/eds-feedback/eds-feedback.js +1 -1
  100. package/dist/collection/components/eds-footer/eds-footer.js +2 -2
  101. package/dist/collection/components/eds-form/eds-form.js +56 -16
  102. package/dist/collection/components/eds-frame/eds-frame.js +1 -1
  103. package/dist/collection/components/eds-fullscreen-menu/eds-fullscreen-menu.js +8 -3
  104. package/dist/collection/components/eds-header/eds-header.css +5 -0
  105. package/dist/collection/components/eds-header/eds-header.js +1 -1
  106. package/dist/collection/components/eds-icons/chevron/eds-icon-chevron-down/eds-icon-chevron-down.js +1 -1
  107. package/dist/collection/components/eds-icons/chevron/eds-icon-chevron-left/eds-icon-chevron-left.js +1 -1
  108. package/dist/collection/components/eds-icons/chevron/eds-icon-chevron-right/eds-icon-chevron-right.js +1 -1
  109. package/dist/collection/components/eds-icons/chevron/eds-icon-chevron-up/eds-icon-chevron-up.js +1 -1
  110. package/dist/collection/components/eds-icons/eds-icon-arrow-diagonal/eds-icon-arrow-diagonal.js +1 -1
  111. package/dist/collection/components/eds-icons/eds-icon-arrow-right/eds-icon-arrow-right.js +1 -1
  112. package/dist/collection/components/eds-icons/eds-icon-bin/eds-icon-bin.js +1 -1
  113. package/dist/collection/components/eds-icons/eds-icon-bookmark/eds-icon-bookmark.js +1 -1
  114. package/dist/collection/components/eds-icons/eds-icon-clone/eds-icon-clone.js +1 -1
  115. package/dist/collection/components/eds-icons/eds-icon-close/eds-icon-close.js +1 -1
  116. package/dist/collection/components/eds-icons/eds-icon-copy/eds-icon-copy.js +1 -1
  117. package/dist/collection/components/eds-icons/eds-icon-download/eds-icon-download.js +1 -1
  118. package/dist/collection/components/eds-icons/eds-icon-draft/eds-icon-draft.js +1 -1
  119. package/dist/collection/components/eds-icons/eds-icon-edit/eds-icon-edit.js +1 -1
  120. package/dist/collection/components/eds-icons/eds-icon-eu/eds-icon-eu.js +1 -1
  121. package/dist/collection/components/eds-icons/eds-icon-external/eds-icon-external.js +1 -1
  122. package/dist/collection/components/eds-icons/eds-icon-gitlab/eds-icon-gitlab.js +1 -1
  123. package/dist/collection/components/eds-icons/eds-icon-loader/eds-icon-loader.js +1 -1
  124. package/dist/collection/components/eds-icons/eds-icon-menu/eds-icon-menu.js +1 -1
  125. package/dist/collection/components/eds-icons/eds-icon-minus/eds-icon-minus.js +1 -1
  126. package/dist/collection/components/eds-icons/eds-icon-more/eds-icon-more.js +1 -1
  127. package/dist/collection/components/eds-icons/eds-icon-paper/eds-icon-paper.js +1 -1
  128. package/dist/collection/components/eds-icons/eds-icon-plus/eds-icon-plus.js +1 -1
  129. package/dist/collection/components/eds-icons/eds-icon-portal/eds-icon-portal.js +1 -1
  130. package/dist/collection/components/eds-icons/eds-icon-private/eds-icon-private.js +1 -1
  131. package/dist/collection/components/eds-icons/eds-icon-public/eds-icon-public.js +1 -1
  132. package/dist/collection/components/eds-icons/eds-icon-search/eds-icon-search.js +1 -1
  133. package/dist/collection/components/eds-icons/eds-icon-star/eds-icon-star.js +1 -1
  134. package/dist/collection/components/eds-icons/eds-icon-start/eds-icon-start.js +1 -1
  135. package/dist/collection/components/eds-icons/eds-icon-success/eds-icon-success.js +1 -1
  136. package/dist/collection/components/eds-icons/eds-icon-thumbs-down/eds-icon-thumbs-down.js +1 -1
  137. package/dist/collection/components/eds-icons/eds-icon-thumbs-up/eds-icon-thumbs-up.js +1 -1
  138. package/dist/collection/components/eds-icons/eds-icon-tutorial/eds-icon-tutorial.js +1 -1
  139. package/dist/collection/components/eds-icons/eds-icon-unknown/eds-icon-unknown.js +1 -1
  140. package/dist/collection/components/eds-icons/eds-icon-updown/eds-icon-updown.js +2 -2
  141. package/dist/collection/components/eds-icons/eds-icon-user/eds-icon-user.js +1 -1
  142. package/dist/collection/components/eds-icons/eds-icon-view/eds-icon-view.js +1 -1
  143. package/dist/collection/components/eds-icons/social/eds-icon-bluesky/eds-icon-bluesky.js +1 -1
  144. package/dist/collection/components/eds-icons/social/eds-icon-facebook/eds-icon-facebook.js +1 -1
  145. package/dist/collection/components/eds-icons/social/eds-icon-linkedin/eds-icon-linkedin.js +1 -1
  146. package/dist/collection/components/eds-icons/social/eds-icon-mastodon/eds-icon-mastodon.js +1 -1
  147. package/dist/collection/components/eds-icons/social/eds-icon-twitter/eds-icon-twitter.js +1 -1
  148. package/dist/collection/components/eds-icons/social/eds-icon-youtube/eds-icon-youtube.js +1 -1
  149. package/dist/collection/components/eds-img/eds-img.js +2 -2
  150. package/dist/collection/components/eds-input-elements/eds-input/eds-input.js +2 -2
  151. package/dist/collection/components/eds-input-elements/eds-input-footer/eds-input-footer.js +1 -1
  152. package/dist/collection/components/eds-input-elements/eds-input-label/eds-input-label.js +1 -1
  153. package/dist/collection/components/eds-input-elements/eds-input-range/eds-input-range.js +1 -1
  154. package/dist/collection/components/eds-input-elements/eds-input-search/eds-input-search.js +1 -1
  155. package/dist/collection/components/eds-input-elements/eds-input-select/eds-input-select.js +2 -2
  156. package/dist/collection/components/eds-input-field/eds-input-field.js +2 -2
  157. package/dist/collection/components/eds-link/eds-link.js +15 -25
  158. package/dist/collection/components/eds-logo/eds-logo.js +1 -1
  159. package/dist/collection/components/eds-modal/eds-modal.js +2 -2
  160. package/dist/collection/components/eds-nps/eds-nps.js +66 -53
  161. package/dist/collection/components/eds-pagination/eds-pagination.js +1 -1
  162. package/dist/collection/components/eds-progress-bar/eds-progress-bar.js +1 -1
  163. package/dist/collection/components/eds-rating/eds-rating.js +1 -1
  164. package/dist/collection/components/eds-section/eds-section-core/eds-section-core.js +1 -1
  165. package/dist/collection/components/eds-section/eds-section-heading/eds-section-heading.js +2 -2
  166. package/dist/collection/components/eds-sidebar/eds-sidebar.css +458 -0
  167. package/dist/collection/components/eds-sidebar/eds-sidebar.js +299 -0
  168. package/dist/collection/components/eds-sidebar/eds-sidebar.stories.js +141 -0
  169. package/dist/collection/components/eds-social-networks/eds-social-networks.js +1 -1
  170. package/dist/collection/components/eds-spinner/eds-spinner.js +1 -1
  171. package/dist/collection/components/eds-steps/eds-steps.css +334 -10
  172. package/dist/collection/components/eds-steps/eds-steps.js +187 -101
  173. package/dist/collection/components/eds-steps/eds-steps.stories.js +21 -3
  174. package/dist/collection/components/eds-steps-v2/eds-steps-v2.css +167 -3
  175. package/dist/collection/components/eds-steps-v2/eds-steps-v2.js +177 -113
  176. package/dist/collection/components/eds-steps-v2/eds-steps-v2.stories.js +8 -1
  177. package/dist/collection/components/eds-switch/eds-switch.js +2 -2
  178. package/dist/collection/components/eds-table/eds-table.css +14 -0
  179. package/dist/collection/components/eds-table/eds-table.js +99 -9
  180. package/dist/collection/components/eds-tabs/eds-tabs.js +2 -2
  181. package/dist/collection/components/eds-tag/eds-tag.js +1 -1
  182. package/dist/collection/components/eds-timeline/eds-timeline.js +1 -1
  183. package/dist/collection/components/eds-toast-manager/eds-toast-manager.js +1 -1
  184. package/dist/collection/components/eds-tooltip/eds-tooltip.js +1 -1
  185. package/dist/collection/components/eds-trl/eds-trl.js +1 -1
  186. package/dist/collection/components/eds-user/eds-user.js +1 -1
  187. package/dist/collection/eds-docs-ui/colors/color-palette/primary.js +1 -1
  188. package/dist/collection/eds-docs-ui/colors/color-palette/secondary.js +1 -1
  189. package/dist/collection/eds-docs-ui/colors/color-palette/support.js +1 -1
  190. package/dist/collection/eds-docs-ui/colors/gradient-palette/primary.js +1 -1
  191. package/dist/collection/eds-docs-ui/colors/gradient-palette/secondary.js +7 -7
  192. package/dist/collection/eds-docs-ui/colors/gradient-palette/support.js +3 -3
  193. package/dist/collection/eds-docs-ui/colors/use-of-colors/correct-use-of-colors.js +1 -1
  194. package/dist/collection/eds-docs-ui/colors/use-of-colors/incorrect-use-of-colors.js +1 -1
  195. package/dist/collection/eds-docs-ui/components-section/components-section.js +1 -1
  196. package/dist/collection/eds-docs-ui/components-section/functional/overview.js +2 -2
  197. package/dist/collection/eds-docs-ui/components-section/functional/vue.js +1 -1
  198. package/dist/collection/eds-docs-ui/design-tokens/docs-tokens/docs-tokens.js +1 -1
  199. package/dist/collection/eds-docs-ui/design-tokens/token-list/token-list.js +1 -1
  200. package/dist/collection/eds-docs-ui/design-tokens/token-radii/token-radii.js +1 -1
  201. package/dist/collection/eds-docs-ui/design-tokens/token-ratios/token-ratios.js +1 -1
  202. package/dist/collection/eds-docs-ui/design-tokens/token-shadows/token-shadows.js +1 -1
  203. package/dist/collection/eds-docs-ui/design-tokens/token-spacing/token-spacing.js +1 -1
  204. package/dist/collection/eds-docs-ui/design-tokens/token-typography/token-typography.js +1 -1
  205. package/dist/collection/eds-docs-ui/docs-palettes/docs-palettes.js +1 -1
  206. package/dist/collection/eds-docs-ui/logo/logo-space/logo-space.js +1 -1
  207. package/dist/collection/eds-docs-ui/logo/logo-variations/horizontal/logo-variations-horizontal.js +1 -1
  208. package/dist/collection/eds-docs-ui/logo/logo-variations/vertical/logo-variations-vertical.js +1 -1
  209. package/dist/collection/eds-docs-ui/logo/logo-variations-tabs/logo-variations.js +1 -1
  210. package/dist/collection/eds-docs-ui/logo/logo-wrong-usage/logo-wrong-usage.js +1 -1
  211. package/dist/collection/eds-docs-ui/svg-repository/svg-repository.js +1 -1
  212. package/dist/collection/shared-ui/eds-cookies-preference/eds-cookies-preference.js +1 -1
  213. package/dist/collection/shared-ui/eds-global-search/eds-global-search.js +10 -12
  214. package/dist/collection/shared-ui/eds-global-search/eds-global-search.stories.js +2 -1
  215. package/dist/collection/shared-ui/examples/eds-app-root/eds-app-root.js +1 -1
  216. package/dist/components/components-section.js +33 -24
  217. package/dist/components/components.css +312 -0
  218. package/dist/components/components.esm.js +1 -1
  219. package/dist/components/correct-use-of-colors.js +1 -1
  220. package/dist/components/docs-palettes.js +1 -1
  221. package/dist/components/docs-tokens.js +1 -1
  222. package/dist/components/eds-accordion2.js +2 -2
  223. package/dist/components/eds-alert2.js +2 -2
  224. package/dist/components/eds-app-root.js +1 -1
  225. package/dist/components/eds-avatar2.js +1 -1
  226. package/dist/components/eds-block-break2.js +1 -1
  227. package/dist/components/eds-breadcrumb.js +1 -1
  228. package/dist/components/eds-button2.js +1 -3
  229. package/dist/components/eds-card-desc2.js +1 -1
  230. package/dist/components/eds-card-generic2.js +1 -1
  231. package/dist/components/eds-card-project.js +1 -1
  232. package/dist/components/eds-card-tags.js +1 -1
  233. package/dist/components/eds-card-title2.js +1 -1
  234. package/dist/components/eds-card-tool.js +1 -1
  235. package/dist/components/eds-code-block2.js +1 -1
  236. package/dist/components/eds-cookies-preference.js +1 -1
  237. package/dist/components/eds-dropdown2.js +2 -2
  238. package/dist/components/eds-feedback.js +1 -1
  239. package/dist/components/eds-footer2.js +2 -2
  240. package/dist/components/eds-form.js +80 -34
  241. package/dist/components/eds-frame.js +1 -1
  242. package/dist/components/eds-fullscreen-menu.js +8 -3
  243. package/dist/components/eds-gauge.js +1 -1
  244. package/dist/components/eds-global-search.js +31 -27
  245. package/dist/components/eds-header.js +2 -2
  246. package/dist/components/eds-icon-arrow-diagonal.js +1 -1
  247. package/dist/components/eds-icon-arrow-right.js +1 -1
  248. package/dist/components/eds-icon-bin.js +1 -1
  249. package/dist/components/eds-icon-bluesky.js +1 -1
  250. package/dist/components/eds-icon-bookmark.js +1 -1
  251. package/dist/components/eds-icon-chevron-down.js +1 -1
  252. package/dist/components/eds-icon-chevron-left.js +1 -1
  253. package/dist/components/eds-icon-chevron-right.js +1 -1
  254. package/dist/components/eds-icon-chevron-up.js +1 -1
  255. package/dist/components/eds-icon-clone.js +1 -1
  256. package/dist/components/eds-icon-close.js +1 -1
  257. package/dist/components/eds-icon-copy.js +1 -1
  258. package/dist/components/eds-icon-download.js +1 -1
  259. package/dist/components/eds-icon-draft.js +1 -1
  260. package/dist/components/eds-icon-edit.js +1 -1
  261. package/dist/components/eds-icon-eu.js +1 -1
  262. package/dist/components/eds-icon-external.js +1 -1
  263. package/dist/components/eds-icon-facebook.js +1 -1
  264. package/dist/components/eds-icon-gitlab.js +1 -1
  265. package/dist/components/eds-icon-linkedin.js +1 -1
  266. package/dist/components/eds-icon-loader.js +1 -1
  267. package/dist/components/eds-icon-mastodon.js +1 -1
  268. package/dist/components/eds-icon-menu.js +1 -1
  269. package/dist/components/eds-icon-minus.js +1 -1
  270. package/dist/components/eds-icon-more.js +1 -1
  271. package/dist/components/eds-icon-paper.js +1 -1
  272. package/dist/components/eds-icon-plus.js +1 -1
  273. package/dist/components/eds-icon-portal.js +1 -1
  274. package/dist/components/eds-icon-private.js +1 -1
  275. package/dist/components/eds-icon-public.js +1 -1
  276. package/dist/components/eds-icon-search.js +1 -1
  277. package/dist/components/eds-icon-star.js +1 -1
  278. package/dist/components/eds-icon-start.js +1 -1
  279. package/dist/components/eds-icon-success.js +1 -1
  280. package/dist/components/eds-icon-thumbs-down.js +1 -1
  281. package/dist/components/eds-icon-thumbs-up.js +1 -1
  282. package/dist/components/eds-icon-tutorial.js +1 -1
  283. package/dist/components/eds-icon-twitter.js +1 -1
  284. package/dist/components/eds-icon-unknown.js +1 -1
  285. package/dist/components/eds-icon-updown.js +2 -2
  286. package/dist/components/eds-icon-user.js +1 -1
  287. package/dist/components/eds-icon-view.js +1 -1
  288. package/dist/components/eds-icon-youtube.js +1 -1
  289. package/dist/components/eds-img2.js +2 -2
  290. package/dist/components/eds-input-field2.js +22 -16
  291. package/dist/components/eds-input-footer2.js +9 -3
  292. package/dist/components/eds-input-label2.js +1 -1
  293. package/dist/components/eds-input-range2.js +1 -1
  294. package/dist/components/eds-input-search2.js +1 -1
  295. package/dist/components/eds-input-select2.js +2 -2
  296. package/dist/components/eds-input2.js +2 -2
  297. package/dist/components/eds-link2.js +14 -9
  298. package/dist/components/eds-logo2.js +1 -1
  299. package/dist/components/eds-modal.js +2 -2
  300. package/dist/components/eds-nps2.js +66 -53
  301. package/dist/components/eds-pagination2.js +1 -1
  302. package/dist/components/eds-progress-bar2.js +1 -1
  303. package/dist/components/eds-rating2.js +1 -1
  304. package/dist/components/eds-section-core2.js +1 -1
  305. package/dist/components/eds-section-heading2.js +2 -2
  306. package/dist/components/eds-sidebar.d.ts +11 -0
  307. package/dist/components/eds-sidebar.js +208 -0
  308. package/dist/components/eds-social-networks2.js +1 -1
  309. package/dist/components/eds-spinner2.js +1 -1
  310. package/dist/components/eds-steps-v2.js +133 -46
  311. package/dist/components/eds-steps2.js +130 -34
  312. package/dist/components/eds-switch.js +2 -2
  313. package/dist/components/eds-table2.js +65 -9
  314. package/dist/components/eds-tabs.js +2 -2
  315. package/dist/components/eds-tag2.js +1 -1
  316. package/dist/components/eds-timeline.js +1 -1
  317. package/dist/components/eds-toast-manager.js +1 -1
  318. package/dist/components/eds-tooltip2.js +1 -1
  319. package/dist/components/eds-trl.js +1 -1
  320. package/dist/components/eds-user.js +1 -1
  321. package/dist/components/incorrect-use-of-colors.js +1 -1
  322. package/dist/components/logo-space.js +1 -1
  323. package/dist/components/logo-variations-horizontal2.js +1 -1
  324. package/dist/components/logo-variations-tabs.js +1 -1
  325. package/dist/components/logo-variations-vertical2.js +1 -1
  326. package/dist/components/logo-wrong-usage.js +1 -1
  327. package/dist/components/p-062d2f91.entry.js +1 -0
  328. package/dist/components/p-0725a684.entry.js +1 -0
  329. package/dist/components/p-07d5560c.entry.js +1 -0
  330. package/dist/components/p-13f74e41.entry.js +1 -0
  331. package/dist/components/p-15dc5ecf.entry.js +1 -0
  332. package/dist/components/{p-ca91952b.entry.js → p-15df046d.entry.js} +1 -1
  333. package/dist/components/p-15f94425.entry.js +1 -0
  334. package/dist/components/{p-7c7aaa95.entry.js → p-1f0819cf.entry.js} +1 -1
  335. package/dist/components/p-1f74c192.entry.js +1 -0
  336. package/dist/components/p-20e711e6.entry.js +1 -0
  337. package/dist/components/{p-398255ff.entry.js → p-21510f7a.entry.js} +1 -1
  338. package/dist/components/{p-fe2bb83e.entry.js → p-277d0045.entry.js} +1 -1
  339. package/dist/components/p-28ce55ae.entry.js +1 -0
  340. package/dist/components/p-30e88fc2.entry.js +1 -0
  341. package/dist/components/{p-75b40e57.entry.js → p-314aa952.entry.js} +1 -1
  342. package/dist/components/p-355df495.entry.js +1 -0
  343. package/dist/components/p-366c5c03.entry.js +1 -0
  344. package/dist/components/p-38113b9c.entry.js +1 -0
  345. package/dist/components/{p-ce3b6043.entry.js → p-3a1e54bd.entry.js} +1 -1
  346. package/dist/components/{p-7b0496b1.entry.js → p-3ad7a15b.entry.js} +1 -1
  347. package/dist/components/p-3b838def.entry.js +1 -0
  348. package/dist/components/p-48825534.entry.js +1 -0
  349. package/dist/components/{p-e614c8e8.entry.js → p-4cebd89e.entry.js} +1 -1
  350. package/dist/components/p-51d0e443.entry.js +1 -0
  351. package/dist/components/p-53f6527b.entry.js +1 -0
  352. package/dist/components/{p-76330532.entry.js → p-5ba1c4b4.entry.js} +1 -1
  353. package/dist/components/{p-e2bc6329.entry.js → p-5e6f5588.entry.js} +1 -1
  354. package/dist/components/p-6197c589.entry.js +1 -0
  355. package/dist/components/{p-24683124.entry.js → p-632bd36e.entry.js} +1 -1
  356. package/dist/components/p-65948a6e.entry.js +1 -0
  357. package/dist/components/{p-e9a6f693.entry.js → p-67c3bedc.entry.js} +1 -1
  358. package/dist/components/{p-0798d50d.entry.js → p-721431b8.entry.js} +1 -1
  359. package/dist/components/p-7737d5c7.entry.js +1 -0
  360. package/dist/components/p-78e85217.entry.js +1 -0
  361. package/dist/components/p-7a62ae0d.entry.js +1 -0
  362. package/dist/components/p-7aa97ad6.entry.js +1 -0
  363. package/dist/components/{p-2d6ca1c5.entry.js → p-7f820989.entry.js} +1 -1
  364. package/dist/components/{p-b471922f.entry.js → p-801f67a1.entry.js} +1 -1
  365. package/dist/components/{p-b522fa70.entry.js → p-80ced58a.entry.js} +1 -1
  366. package/dist/components/p-87481169.entry.js +1 -0
  367. package/dist/components/p-87df6442.entry.js +1 -0
  368. package/dist/components/p-8bd954b5.entry.js +1 -0
  369. package/dist/components/{p-bce8a58d.entry.js → p-8c520685.entry.js} +1 -1
  370. package/dist/components/p-941dc156.entry.js +1 -0
  371. package/dist/components/p-9afd31cb.entry.js +1 -0
  372. package/dist/components/p-9cd1cc1e.entry.js +1 -0
  373. package/dist/components/{p-4beb1e06.entry.js → p-9d57b51f.entry.js} +1 -1
  374. package/dist/components/{p-df18ffd1.entry.js → p-a61dbad5.entry.js} +1 -1
  375. package/dist/components/p-a7323642.entry.js +1 -0
  376. package/dist/components/p-a83c336c.entry.js +1 -0
  377. package/dist/components/p-ab4acc26.entry.js +1 -0
  378. package/dist/components/p-ac501eb6.entry.js +1 -0
  379. package/dist/components/p-ad036475.entry.js +1 -0
  380. package/dist/components/p-ad295d47.entry.js +1 -0
  381. package/dist/components/p-ad6e7daf.entry.js +1 -0
  382. package/dist/components/{p-f2b12631.entry.js → p-ae471b33.entry.js} +1 -1
  383. package/dist/components/p-b64f8ffc.entry.js +1 -0
  384. package/dist/components/p-bb800eec.entry.js +1 -0
  385. package/dist/components/p-bfb00131.entry.js +1 -0
  386. package/dist/components/p-c07e3269.entry.js +1 -0
  387. package/dist/components/p-c286e9d3.entry.js +1 -0
  388. package/dist/components/p-c38c527e.entry.js +1 -0
  389. package/dist/components/p-c404226a.entry.js +1 -0
  390. package/dist/components/p-c9d60f21.entry.js +1 -0
  391. package/dist/components/p-d29676a0.entry.js +1 -0
  392. package/dist/components/p-df5fc158.entry.js +1 -0
  393. package/dist/components/p-e311fe9e.entry.js +1 -0
  394. package/dist/components/p-e4f0f24a.entry.js +1 -0
  395. package/dist/components/{p-963feadd.entry.js → p-eda55db0.entry.js} +1 -1
  396. package/dist/components/p-ee93afac.entry.js +1 -0
  397. package/dist/components/{p-838d6773.entry.js → p-f0993844.entry.js} +1 -1
  398. package/dist/components/p-f1c8f841.entry.js +1 -0
  399. package/dist/components/{p-7ada2015.entry.js → p-f24bfc6a.entry.js} +1 -1
  400. package/dist/components/p-f3754a20.entry.js +1 -0
  401. package/dist/components/{p-b8b4c01e.entry.js → p-f4c954ec.entry.js} +1 -1
  402. package/dist/components/p-f6baca73.entry.js +9 -0
  403. package/dist/components/p-f7b88ef5.entry.js +1 -0
  404. package/dist/components/primary.js +1 -1
  405. package/dist/components/primary2.js +1 -1
  406. package/dist/components/secondary.js +1 -1
  407. package/dist/components/secondary2.js +7 -7
  408. package/dist/components/support.js +1 -1
  409. package/dist/components/support2.js +3 -3
  410. package/dist/components/svg-repository.js +3 -3
  411. package/dist/components/token-list2.js +1 -1
  412. package/dist/components/token-radii2.js +1 -1
  413. package/dist/components/token-ratios.js +1 -1
  414. package/dist/components/token-shadows2.js +1 -1
  415. package/dist/components/token-spacing.js +1 -1
  416. package/dist/components/token-typography.js +1 -1
  417. package/dist/components/up-and-down.js +2 -2
  418. package/dist/esm/color-primary-palette_6.entry.js +14 -14
  419. package/dist/esm/components-section.entry.js +33 -24
  420. package/dist/esm/components.js +1 -1
  421. package/dist/esm/correct-use-of-colors.entry.js +1 -1
  422. package/dist/esm/docs-palettes.entry.js +1 -1
  423. package/dist/esm/docs-tokens.entry.js +1 -1
  424. package/dist/esm/{eds-accordion_36.entry.js → eds-accordion_37.entry.js} +661 -210
  425. package/dist/esm/eds-app-root.entry.js +1 -1
  426. package/dist/esm/eds-card-desc_2.entry.js +2 -2
  427. package/dist/esm/eds-card-generic.entry.js +1 -1
  428. package/dist/esm/eds-card-project.entry.js +1 -1
  429. package/dist/esm/eds-card-tags.entry.js +1 -1
  430. package/dist/esm/eds-card-tool.entry.js +1 -1
  431. package/dist/esm/eds-cookies-preference.entry.js +1 -1
  432. package/dist/esm/eds-feedback.entry.js +1 -1
  433. package/dist/esm/eds-footer.entry.js +2 -2
  434. package/dist/esm/eds-frame.entry.js +1 -1
  435. package/dist/esm/eds-fullscreen-menu.entry.js +8 -3
  436. package/dist/esm/eds-gauge.entry.js +1 -1
  437. package/dist/esm/eds-icon-arrow-diagonal.entry.js +1 -1
  438. package/dist/esm/eds-icon-arrow-right.entry.js +1 -1
  439. package/dist/esm/eds-icon-bin.entry.js +1 -1
  440. package/dist/esm/eds-icon-bluesky.entry.js +1 -1
  441. package/dist/esm/eds-icon-bookmark.entry.js +1 -1
  442. package/dist/esm/eds-icon-chevron-down.entry.js +1 -1
  443. package/dist/esm/eds-icon-chevron-left.entry.js +1 -1
  444. package/dist/esm/eds-icon-chevron-right.entry.js +1 -1
  445. package/dist/esm/eds-icon-chevron-up.entry.js +1 -1
  446. package/dist/esm/eds-icon-clone.entry.js +1 -1
  447. package/dist/esm/eds-icon-close.entry.js +1 -1
  448. package/dist/esm/eds-icon-copy.entry.js +1 -1
  449. package/dist/esm/eds-icon-download.entry.js +1 -1
  450. package/dist/esm/eds-icon-draft.entry.js +1 -1
  451. package/dist/esm/eds-icon-edit.entry.js +1 -1
  452. package/dist/esm/eds-icon-eu.entry.js +1 -1
  453. package/dist/esm/eds-icon-external.entry.js +1 -1
  454. package/dist/esm/eds-icon-facebook.entry.js +1 -1
  455. package/dist/esm/eds-icon-gitlab.entry.js +1 -1
  456. package/dist/esm/eds-icon-linkedin.entry.js +1 -1
  457. package/dist/esm/eds-icon-loader.entry.js +1 -1
  458. package/dist/esm/eds-icon-mastodon.entry.js +1 -1
  459. package/dist/esm/eds-icon-menu.entry.js +1 -1
  460. package/dist/esm/eds-icon-minus.entry.js +1 -1
  461. package/dist/esm/eds-icon-more.entry.js +1 -1
  462. package/dist/esm/eds-icon-paper.entry.js +1 -1
  463. package/dist/esm/eds-icon-plus.entry.js +1 -1
  464. package/dist/esm/eds-icon-portal.entry.js +1 -1
  465. package/dist/esm/eds-icon-private.entry.js +1 -1
  466. package/dist/esm/eds-icon-public.entry.js +1 -1
  467. package/dist/esm/eds-icon-search.entry.js +1 -1
  468. package/dist/esm/eds-icon-star.entry.js +1 -1
  469. package/dist/esm/eds-icon-start.entry.js +1 -1
  470. package/dist/esm/eds-icon-success.entry.js +1 -1
  471. package/dist/esm/eds-icon-thumbs-down.entry.js +1 -1
  472. package/dist/esm/eds-icon-thumbs-up.entry.js +1 -1
  473. package/dist/esm/eds-icon-tutorial.entry.js +1 -1
  474. package/dist/esm/eds-icon-twitter.entry.js +1 -1
  475. package/dist/esm/eds-icon-unknown.entry.js +1 -1
  476. package/dist/esm/eds-icon-updown.entry.js +2 -2
  477. package/dist/esm/eds-icon-user.entry.js +1 -1
  478. package/dist/esm/eds-icon-view.entry.js +1 -1
  479. package/dist/esm/eds-icon-youtube.entry.js +1 -1
  480. package/dist/esm/eds-modal.entry.js +2 -2
  481. package/dist/esm/eds-progress-bar.entry.js +1 -1
  482. package/dist/esm/eds-section-core_2.entry.js +3 -3
  483. package/dist/esm/eds-social-networks.entry.js +1 -1
  484. package/dist/esm/eds-timeline.entry.js +1 -1
  485. package/dist/esm/eds-toast-manager.entry.js +1 -1
  486. package/dist/esm/eds-trl.entry.js +1 -1
  487. package/dist/esm/incorrect-use-of-colors.entry.js +1 -1
  488. package/dist/esm/index-870ab08f.js +2 -2
  489. package/dist/esm/loader.js +1 -1
  490. package/dist/esm/logo-space.entry.js +1 -1
  491. package/dist/esm/logo-variations-horizontal_2.entry.js +2 -2
  492. package/dist/esm/logo-variations-tabs.entry.js +1 -1
  493. package/dist/esm/logo-wrong-usage.entry.js +1 -1
  494. package/dist/esm/svg-repository.entry.js +3 -3
  495. package/dist/esm/token-list_3.entry.js +3 -3
  496. package/dist/esm/token-ratios.entry.js +1 -1
  497. package/dist/esm/token-spacing.entry.js +1 -1
  498. package/dist/esm/token-typography.entry.js +1 -1
  499. package/dist/esm/{up-and-down-d747abee.js → up-and-down-8b69ca97.js} +2 -2
  500. package/dist/hydrate/index.js +827 -341
  501. package/dist/hydrate/index.mjs +827 -341
  502. package/dist/types/Users/nigeor/Documents/Projects/EBRAINS/ebrains-ui-ecosystem/packages/components/.stencil/packages/svgs/src/lib/svgs.d.ts +2 -2
  503. package/dist/types/components/eds-button/eds-button.d.ts +0 -1
  504. package/dist/types/components/eds-form/eds-form.d.ts +1 -0
  505. package/dist/types/components/eds-link/eds-link.d.ts +0 -1
  506. package/dist/types/components/eds-nps/eds-nps.d.ts +5 -3
  507. package/dist/types/components/eds-sidebar/eds-sidebar.d.ts +50 -0
  508. package/dist/types/components/eds-sidebar/eds-sidebar.stories.d.ts +98 -0
  509. package/dist/types/components/eds-steps/eds-steps.d.ts +18 -69
  510. package/dist/types/components/eds-steps/eds-steps.stories.d.ts +18 -0
  511. package/dist/types/components/eds-steps-v2/eds-steps-v2.d.ts +24 -52
  512. package/dist/types/components/eds-steps-v2/eds-steps-v2.stories.d.ts +8 -0
  513. package/dist/types/components/eds-table/eds-table.d.ts +8 -0
  514. package/dist/types/components.d.ts +143 -124
  515. package/package.json +1 -1
  516. package/dist/components/p-004801b2.entry.js +0 -1
  517. package/dist/components/p-02648f82.entry.js +0 -1
  518. package/dist/components/p-09f1b358.entry.js +0 -1
  519. package/dist/components/p-0ec9dcf5.entry.js +0 -1
  520. package/dist/components/p-0fb8511d.entry.js +0 -1
  521. package/dist/components/p-127870d7.entry.js +0 -1
  522. package/dist/components/p-12e153fb.entry.js +0 -1
  523. package/dist/components/p-1f80e708.entry.js +0 -1
  524. package/dist/components/p-21b5ca1f.entry.js +0 -1
  525. package/dist/components/p-2bfcb3cf.entry.js +0 -1
  526. package/dist/components/p-2efa0ba6.entry.js +0 -1
  527. package/dist/components/p-33a639b5.entry.js +0 -1
  528. package/dist/components/p-36b17bf2.entry.js +0 -1
  529. package/dist/components/p-3c478e74.entry.js +0 -1
  530. package/dist/components/p-447e436c.entry.js +0 -1
  531. package/dist/components/p-44d33938.entry.js +0 -1
  532. package/dist/components/p-4995b8b2.entry.js +0 -1
  533. package/dist/components/p-53343ea1.entry.js +0 -1
  534. package/dist/components/p-54e29971.entry.js +0 -1
  535. package/dist/components/p-56447243.entry.js +0 -1
  536. package/dist/components/p-56cc4a15.entry.js +0 -1
  537. package/dist/components/p-5ddcec77.entry.js +0 -1
  538. package/dist/components/p-5e8142ed.entry.js +0 -1
  539. package/dist/components/p-70f5e9f5.entry.js +0 -1
  540. package/dist/components/p-714445de.entry.js +0 -1
  541. package/dist/components/p-7436a99a.entry.js +0 -1
  542. package/dist/components/p-772d6ca9.entry.js +0 -1
  543. package/dist/components/p-79044ab6.entry.js +0 -1
  544. package/dist/components/p-81ba0feb.entry.js +0 -1
  545. package/dist/components/p-82b357f7.entry.js +0 -1
  546. package/dist/components/p-84239973.entry.js +0 -1
  547. package/dist/components/p-85dfbfd3.entry.js +0 -1
  548. package/dist/components/p-a155c283.entry.js +0 -1
  549. package/dist/components/p-a4080044.entry.js +0 -1
  550. package/dist/components/p-abd40167.entry.js +0 -1
  551. package/dist/components/p-ae41414e.entry.js +0 -1
  552. package/dist/components/p-afb55d52.entry.js +0 -1
  553. package/dist/components/p-b4c2c58d.entry.js +0 -9
  554. package/dist/components/p-b6fc1a7d.entry.js +0 -1
  555. package/dist/components/p-b8a36d0f.entry.js +0 -1
  556. package/dist/components/p-bb4633ec.entry.js +0 -1
  557. package/dist/components/p-bc59e5ff.entry.js +0 -1
  558. package/dist/components/p-cdabb63e.entry.js +0 -1
  559. package/dist/components/p-d3fa440f.entry.js +0 -1
  560. package/dist/components/p-dacd8c26.entry.js +0 -1
  561. package/dist/components/p-ddec1f12.entry.js +0 -1
  562. package/dist/components/p-e6819f4d.entry.js +0 -1
  563. package/dist/components/p-e8d0a2db.entry.js +0 -1
  564. package/dist/components/p-eaf5d057.entry.js +0 -1
  565. package/dist/components/p-eb57d477.entry.js +0 -1
  566. package/dist/components/p-efdc6fd7.entry.js +0 -1
  567. package/dist/components/p-f013c0ac.entry.js +0 -1
  568. package/dist/components/p-f1ead3b3.entry.js +0 -1
  569. /package/dist/components/{p-1b2913c8.js → p-553ca350.js} +0 -0
@@ -0,0 +1,299 @@
1
+ import { h, Host } from "@stencil/core";
2
+ export class EdsSidebar {
3
+ constructor() {
4
+ this.toggleItem = (itemId, ev) => {
5
+ if (ev) {
6
+ ev.stopPropagation();
7
+ }
8
+ const newOpen = new Set(this.openItems);
9
+ if (newOpen.has(itemId)) {
10
+ newOpen.delete(itemId);
11
+ }
12
+ else {
13
+ newOpen.add(itemId);
14
+ }
15
+ this.openItems = newOpen;
16
+ };
17
+ this.navigate = (url, ev) => {
18
+ if (!this.enableRouting || !url) {
19
+ return;
20
+ }
21
+ if (ev) {
22
+ ev.preventDefault();
23
+ ev.stopPropagation();
24
+ }
25
+ // Emit custom event for routing
26
+ this.sidebar.emit(url);
27
+ // Update browser history if available
28
+ if (typeof window !== 'undefined' && window.history) {
29
+ window.history.pushState({}, '', url);
30
+ }
31
+ };
32
+ this.handleItemClick = (item, ev) => {
33
+ var _a;
34
+ // If item has children, ONLY toggle (don't navigate)
35
+ if ((_a = item.children) === null || _a === void 0 ? void 0 : _a.length) {
36
+ this.toggleItem(item.id, ev);
37
+ return;
38
+ }
39
+ // Only navigate if no children and has URL
40
+ if (item.url) {
41
+ this.navigate(item.url, ev);
42
+ }
43
+ };
44
+ this.items = '[]';
45
+ this.theme = 'default';
46
+ this.activeUrl = '';
47
+ this.enableRouting = true;
48
+ this.maxLevel = 4;
49
+ this.openItems = new Set();
50
+ this.parsedItems = [];
51
+ }
52
+ // ---------------------------------------------------------------------------
53
+ // Lifecycle
54
+ // ---------------------------------------------------------------------------
55
+ componentWillLoad() {
56
+ this.parsedItems = this.parseItems(this.items);
57
+ this.initializeOpenItems(this.parsedItems);
58
+ }
59
+ // ---------------------------------------------------------------------------
60
+ // Watchers
61
+ // ---------------------------------------------------------------------------
62
+ handleItemsChange(newItems) {
63
+ this.parsedItems = this.parseItems(newItems);
64
+ this.initializeOpenItems(this.parsedItems);
65
+ }
66
+ handleActiveUrlChange() {
67
+ this.initializeOpenItems(this.parsedItems);
68
+ }
69
+ // ---------------------------------------------------------------------------
70
+ // Utils
71
+ // ---------------------------------------------------------------------------
72
+ parseItems(items) {
73
+ if (Array.isArray(items)) {
74
+ return items;
75
+ }
76
+ if (typeof items === 'string') {
77
+ if (!items || items.trim() === '') {
78
+ return [];
79
+ }
80
+ try {
81
+ const parsed = JSON.parse(items);
82
+ return Array.isArray(parsed) ? parsed : [];
83
+ }
84
+ catch (e) {
85
+ console.error('eds-sidebar: Failed to parse items JSON:', e);
86
+ console.error('Received string:', items);
87
+ return [];
88
+ }
89
+ }
90
+ return [];
91
+ }
92
+ initializeOpenItems(items, level = 0) {
93
+ if (level === 0) {
94
+ // reset before recomputing
95
+ this.openItems = new Set();
96
+ }
97
+ if (level >= this.maxLevel) {
98
+ return;
99
+ }
100
+ items.forEach((item) => {
101
+ var _a;
102
+ const isActive = this.activeUrl && item.url === this.activeUrl;
103
+ const hasActiveChild = this.hasActiveDescendant(item);
104
+ if (item.open || isActive || hasActiveChild) {
105
+ this.openItems.add(item.id);
106
+ }
107
+ if ((_a = item.children) === null || _a === void 0 ? void 0 : _a.length) {
108
+ this.initializeOpenItems(item.children, level + 1);
109
+ }
110
+ });
111
+ }
112
+ hasActiveDescendant(item) {
113
+ var _a;
114
+ if (item.url === this.activeUrl) {
115
+ return true;
116
+ }
117
+ if (!((_a = item.children) === null || _a === void 0 ? void 0 : _a.length)) {
118
+ return false;
119
+ }
120
+ return item.children.some((child) => this.hasActiveDescendant(child));
121
+ }
122
+ // ---------------------------------------------------------------------------
123
+ // Render
124
+ // ---------------------------------------------------------------------------
125
+ renderItem(item, level = 0) {
126
+ if (level >= this.maxLevel) {
127
+ return null;
128
+ }
129
+ const isOpen = this.openItems.has(item.id);
130
+ const isActive = !!item.url && this.activeUrl === item.url;
131
+ const hasChildren = !!(item.children && item.children.length);
132
+ const itemId = `eds-sidebar-${item.id}`;
133
+ const childrenId = `${itemId}-children`;
134
+ return (h("li", { class: {
135
+ 'sidebar-item': true,
136
+ open: isOpen,
137
+ active: isActive,
138
+ 'has-children': hasChildren,
139
+ [`level-${level}`]: true
140
+ } }, h("div", { class: "sidebar-item-content", onClick: (e) => this.handleItemClick(item, e), role: hasChildren ? 'button' : item.url ? 'link' : 'button', tabindex: "0", "aria-current": isActive ? 'page' : undefined, "aria-expanded": hasChildren ? (isOpen ? 'true' : 'false') : undefined, "aria-controls": hasChildren ? childrenId : undefined, onKeyDown: (e) => {
141
+ if (e.key === 'Enter' || e.key === ' ') {
142
+ e.preventDefault();
143
+ this.handleItemClick(item, e);
144
+ }
145
+ } }, hasChildren && (h("span", { class: "sidebar-toggle mt-2 -ml-4", "aria-hidden": "true" }, h("eds-icon-wrapper", { icon: isOpen ? 'chevron-down' : 'chevron-right' }))), h("span", { class: "sidebar-link-wrapper" }, h("eds-link", { label: item.title, url: item.url || '#', intent: isActive ? 'strong' : 'weak', size: "small", "aria-label": item.title, "extra-class": "sidebar-link", tabindex: "-1" }))), hasChildren && isOpen && (h("ul", { id: childrenId, class: "sidebar-children" }, item.children.map((child) => this.renderItem(child, level + 1))))));
146
+ }
147
+ render() {
148
+ return (h(Host, { key: '4334d20e5d72671243633253910ab05b4da013da', class: {
149
+ 'eds-sidebar': true,
150
+ [`theme-${this.theme}`]: true
151
+ } }, h("nav", { key: '319f6f42416d4229f1b011bf1216b39c8627302d', class: "sidebar-nav", "aria-label": "Sidebar" }, h("ul", { key: '687ceae3eca3e844e8f6a361db4a76d127d27813', class: "sidebar-list" }, this.parsedItems.map((item) => this.renderItem(item, 0))))));
152
+ }
153
+ static get is() { return "eds-sidebar"; }
154
+ static get encapsulation() { return "shadow"; }
155
+ static get originalStyleUrls() {
156
+ return {
157
+ "$": ["eds-sidebar.css"]
158
+ };
159
+ }
160
+ static get styleUrls() {
161
+ return {
162
+ "$": ["eds-sidebar.css"]
163
+ };
164
+ }
165
+ static get properties() {
166
+ return {
167
+ "items": {
168
+ "type": "string",
169
+ "mutable": false,
170
+ "complexType": {
171
+ "original": "SidebarItem[] | string",
172
+ "resolved": "SidebarItem[] | string",
173
+ "references": {
174
+ "SidebarItem": {
175
+ "location": "local",
176
+ "path": "/Users/nigeor/Documents/Projects/EBRAINS/ebrains-ui-ecosystem/packages/components/src/components/eds-sidebar/eds-sidebar.tsx",
177
+ "id": "../../../packages/components/src/components/eds-sidebar/eds-sidebar.tsx::SidebarItem"
178
+ }
179
+ }
180
+ },
181
+ "required": false,
182
+ "optional": false,
183
+ "docs": {
184
+ "tags": [],
185
+ "text": "Sidebar items data structure\nCan be passed as JSON string in HTML or as object via JavaScript"
186
+ },
187
+ "attribute": "items",
188
+ "reflect": false,
189
+ "defaultValue": "'[]'"
190
+ },
191
+ "theme": {
192
+ "type": "string",
193
+ "mutable": false,
194
+ "complexType": {
195
+ "original": "'default' | 'minimal' | 'ebrains'",
196
+ "resolved": "\"default\" | \"ebrains\" | \"minimal\"",
197
+ "references": {}
198
+ },
199
+ "required": false,
200
+ "optional": false,
201
+ "docs": {
202
+ "tags": [],
203
+ "text": "Theme variant: 'default' or 'minimal'"
204
+ },
205
+ "attribute": "theme",
206
+ "reflect": false,
207
+ "defaultValue": "'default'"
208
+ },
209
+ "activeUrl": {
210
+ "type": "string",
211
+ "mutable": false,
212
+ "complexType": {
213
+ "original": "string",
214
+ "resolved": "string",
215
+ "references": {}
216
+ },
217
+ "required": false,
218
+ "optional": false,
219
+ "docs": {
220
+ "tags": [],
221
+ "text": "Current active URL for routing"
222
+ },
223
+ "attribute": "active-url",
224
+ "reflect": false,
225
+ "defaultValue": "''"
226
+ },
227
+ "enableRouting": {
228
+ "type": "boolean",
229
+ "mutable": false,
230
+ "complexType": {
231
+ "original": "boolean",
232
+ "resolved": "boolean",
233
+ "references": {}
234
+ },
235
+ "required": false,
236
+ "optional": false,
237
+ "docs": {
238
+ "tags": [],
239
+ "text": "Enable/disable routing behavior"
240
+ },
241
+ "attribute": "enable-routing",
242
+ "reflect": false,
243
+ "defaultValue": "true"
244
+ },
245
+ "maxLevel": {
246
+ "type": "number",
247
+ "mutable": false,
248
+ "complexType": {
249
+ "original": "number",
250
+ "resolved": "number",
251
+ "references": {}
252
+ },
253
+ "required": false,
254
+ "optional": false,
255
+ "docs": {
256
+ "tags": [],
257
+ "text": "Maximum nesting level to display"
258
+ },
259
+ "attribute": "max-level",
260
+ "reflect": false,
261
+ "defaultValue": "4"
262
+ }
263
+ };
264
+ }
265
+ static get states() {
266
+ return {
267
+ "openItems": {},
268
+ "parsedItems": {}
269
+ };
270
+ }
271
+ static get events() {
272
+ return [{
273
+ "method": "sidebar",
274
+ "name": "sidebar",
275
+ "bubbles": true,
276
+ "cancelable": true,
277
+ "composed": true,
278
+ "docs": {
279
+ "tags": [],
280
+ "text": "Event emitted when the routing is changed."
281
+ },
282
+ "complexType": {
283
+ "original": "string",
284
+ "resolved": "string",
285
+ "references": {}
286
+ }
287
+ }];
288
+ }
289
+ static get elementRef() { return "el"; }
290
+ static get watchers() {
291
+ return [{
292
+ "propName": "items",
293
+ "methodName": "handleItemsChange"
294
+ }, {
295
+ "propName": "activeUrl",
296
+ "methodName": "handleActiveUrlChange"
297
+ }];
298
+ }
299
+ }
@@ -0,0 +1,141 @@
1
+ export default {
2
+ title: 'Components/Sidebar',
3
+ component: 'eds-sidebar',
4
+ argTypes: {
5
+ theme: {
6
+ control: { type: 'select' },
7
+ options: ['default', 'minimal', 'ebrains'],
8
+ mapping: {
9
+ default: 'default',
10
+ minimal: 'minimal',
11
+ ebrains: 'ebrains'
12
+ },
13
+ description: 'Theme variant: "default" (subtle, no active background), "minimal" (with left border), or "ebrains" (green background on active).'
14
+ },
15
+ items: {
16
+ control: { type: 'object' },
17
+ description: 'An array of sidebar item objects. Each object should include "id", "title", optional "url", "icon", and "children" properties.'
18
+ },
19
+ activeUrl: {
20
+ control: 'text',
21
+ description: 'The current active URL for routing. Items matching this URL will be highlighted.'
22
+ },
23
+ maxLevel: {
24
+ control: { type: 'number', min: 1, max: 5 },
25
+ description: 'Maximum nesting level to display. Default is 4.'
26
+ }
27
+ },
28
+ args: {
29
+ theme: 'default',
30
+ items: [
31
+ {
32
+ id: '1',
33
+ title: 'Dashboard',
34
+ url: '/dashboard'
35
+ },
36
+ {
37
+ id: '2',
38
+ title: 'Projects',
39
+ children: [
40
+ {
41
+ id: '2-1',
42
+ title: 'Active Projects',
43
+ url: '/projects/active'
44
+ },
45
+ {
46
+ id: '2-2',
47
+ title: 'Archived',
48
+ url: '/projects/archived'
49
+ }
50
+ ]
51
+ },
52
+ {
53
+ id: '3',
54
+ title: 'Settings',
55
+ children: [
56
+ {
57
+ id: '3-1',
58
+ title: 'Profile',
59
+ url: '/settings/profile'
60
+ },
61
+ {
62
+ id: '3-2',
63
+ title: 'Security',
64
+ url: '/settings/security'
65
+ },
66
+ {
67
+ id: '3-3',
68
+ title: 'Notifications',
69
+ url: '/settings/notifications'
70
+ }
71
+ ]
72
+ },
73
+ {
74
+ id: '4',
75
+ title: 'Help',
76
+ url: '/help'
77
+ }
78
+ ],
79
+ activeUrl: '/dashboard',
80
+ maxLevel: 4
81
+ }
82
+ };
83
+ const renderSidebar = (args) => `
84
+ <div style="height: 600px; border: 1px solid #e5e7eb; border-radius: 8px; overflow: hidden;">
85
+ <eds-sidebar
86
+ theme="${args.theme}"
87
+ items='${JSON.stringify(args.items)}'
88
+ active-url="${args.activeUrl}"
89
+ max-level="${args.maxLevel}"
90
+ ></eds-sidebar>
91
+ </div>
92
+ `;
93
+ export const Default = {
94
+ render: (args) => renderSidebar(args)
95
+ };
96
+ export const MinimalTheme = {
97
+ args: {
98
+ theme: 'minimal',
99
+ activeUrl: '/projects/active'
100
+ },
101
+ render: (args) => renderSidebar(args)
102
+ };
103
+ export const EbrainsTheme = {
104
+ args: {
105
+ theme: 'ebrains',
106
+ activeUrl: '/settings/profile'
107
+ },
108
+ render: (args) => renderSidebar(args)
109
+ };
110
+ export const DeepNesting = {
111
+ args: {
112
+ items: [
113
+ {
114
+ id: '1',
115
+ title: 'Level 1',
116
+ children: [
117
+ {
118
+ id: '1-1',
119
+ title: 'Level 2',
120
+ children: [
121
+ {
122
+ id: '1-1-1',
123
+ title: 'Level 3',
124
+ children: [
125
+ {
126
+ id: '1-1-1-1',
127
+ title: 'Level 4',
128
+ url: '/level-4'
129
+ }
130
+ ]
131
+ }
132
+ ]
133
+ }
134
+ ]
135
+ }
136
+ ],
137
+ activeUrl: '/level-4',
138
+ maxLevel: 5
139
+ },
140
+ render: (args) => renderSidebar(args)
141
+ };
@@ -51,7 +51,7 @@ export class EdsSocialNetworks {
51
51
  * Each social network link uses the `eds-link` component with specific classes and styles.
52
52
  */
53
53
  render() {
54
- return (h("nav", { key: 'fd46b4205a2f03697d14a5a274698726aa9f406a', "aria-label": "Social media" }, h("p", { key: 'b2b5bacadc28417e948832562fbf413ed812aa1a', class: "f-ui-02" }, this.heading), h("ul", { key: '675682966b92c971be9afddc39c632070192da77', class: "mt-12 flex gap-4" }, this.socialNetworks.map((network, index) => (h("li", { key: index }, h("eds-link", { "extra-class": "effect-color effect-focus text-lighter hover:text-default flex items-center justify-center rounded-sm", external: true, "aria-label": `EBRAINS on ${network.label}`, url: network.url, icon: network.icon, intent: "strong" })))))));
54
+ return (h("nav", { key: 'f56d034a9c934e1be2003a0fedaf6c9ec4fc5909', "aria-label": "Social media" }, h("p", { key: '66d7c2384206143eef36cdb085780d4a1590fe76', class: "f-ui-02" }, this.heading), h("ul", { key: '0ccb5fd44ee30f77c19fdb67dc1cc19fadd3561e', class: "mt-12 flex gap-4" }, this.socialNetworks.map((network, index) => (h("li", { key: index }, h("eds-link", { "extra-class": "effect-color effect-focus text-lighter hover:text-default flex items-center justify-center rounded-sm", external: true, "aria-label": `EBRAINS on ${network.label}`, url: network.url, icon: network.icon, intent: "strong" })))))));
55
55
  }
56
56
  static get is() { return "eds-social-networks"; }
57
57
  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: 'e4c2f4762d214028c2e97666040e05ad5651debf' }, h("div", { key: 'e12572cb0195a84402847b0fc723ad2198196661', class: "spinner-overlay", style: overlayStyle }, h("span", { key: '6aa3b28a4e79951a5bbb46f6d7d845baf3761d14', class: "spinner", style: spinnerStyle }), this.message && h("p", { key: '5817378b525ecb8d8a211105b73a2db00067fbe3', class: "f-body-01" }, this.message))));
74
+ return (h(Host, { key: 'c50ca410eb23855b3076babb78b4849246722cf7' }, h("div", { key: '9b3722b00777a0dd77288c4c3b29419a9b87640b', class: "spinner-overlay", style: overlayStyle }, h("span", { key: '5479d0195b6d8991613df8ae03eee34b2a095b6b', class: "spinner", style: spinnerStyle }), this.message && h("p", { key: '448c3b0e6ce0aac6c21b53c58b97e423a1739864', class: "f-body-01" }, this.message))));
75
75
  }
76
76
  static get is() { return "eds-spinner"; }
77
77
  static get encapsulation() { return "shadow"; }