@ebrains/components 0.2.0-alpha.0 → 0.3.0-alpha.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 (262) hide show
  1. package/dist/cjs/color-primary-palette_6.cjs.entry.js +14 -14
  2. package/dist/cjs/components.cjs.js +1 -1
  3. package/dist/cjs/correct-use-of-colors.cjs.entry.js +1 -1
  4. package/dist/cjs/eds-alert.cjs.entry.js +96 -0
  5. package/dist/cjs/eds-avatar_17.cjs.entry.js +1454 -0
  6. package/dist/cjs/eds-card-desc_3.cjs.entry.js +117 -0
  7. package/dist/cjs/eds-card-generic.cjs.entry.js +105 -0
  8. package/dist/cjs/eds-card-section.cjs.entry.js +17 -6
  9. package/dist/cjs/eds-components-section.cjs.entry.js +44 -24
  10. package/dist/cjs/eds-docs-palettes.cjs.entry.js +1 -1
  11. package/dist/cjs/eds-docs-tokens.cjs.entry.js +1 -1
  12. package/dist/cjs/eds-form.cjs.entry.js +322 -0
  13. package/dist/cjs/eds-input_7.cjs.entry.js +316 -0
  14. package/dist/cjs/eds-login.cjs.entry.js +1 -1
  15. package/dist/cjs/eds-logo-variations.cjs.entry.js +27 -0
  16. package/dist/cjs/{eds-pagination.cjs.entry.js → eds-pagination_2.cjs.entry.js} +157 -0
  17. package/dist/cjs/eds-progress-bar.cjs.entry.js +29 -0
  18. package/dist/cjs/eds-svg-repository.cjs.entry.js +7 -1
  19. package/dist/cjs/eds-tabs-content.cjs.entry.js +2 -2
  20. package/dist/cjs/eds-tabs.cjs.entry.js +26 -5
  21. package/dist/cjs/eds-timeline.cjs.entry.js +76 -0
  22. package/dist/cjs/eds-trl.cjs.entry.js +52 -0
  23. package/dist/cjs/incorrect-use-of-colors.cjs.entry.js +1 -1
  24. package/dist/cjs/index-f08e4f5c.js +38 -30
  25. package/dist/cjs/loader.cjs.js +1 -1
  26. package/dist/cjs/logo-space.cjs.entry.js +1 -1
  27. package/dist/cjs/logo-variations-horizontal_2.cjs.entry.js +36 -0
  28. package/dist/cjs/logo-wrong-usage.cjs.entry.js +2 -2
  29. package/dist/cjs/token-list_3.cjs.entry.js +3 -3
  30. package/dist/cjs/token-ratios.cjs.entry.js +1 -1
  31. package/dist/cjs/token-spacing.cjs.entry.js +1 -1
  32. package/dist/cjs/token-typography.cjs.entry.js +1 -1
  33. package/dist/collection/collection-manifest.json +1 -0
  34. package/dist/collection/components/eds-breadcrump/eds-breadcrump.js +13 -12
  35. package/dist/collection/components/eds-button/eds-button.js +3 -3
  36. package/dist/collection/components/eds-input-elements/eds-input-select/eds-input-select.js +140 -15
  37. package/dist/collection/components/eds-table/eds-table.css +4 -0
  38. package/dist/collection/components/eds-table/eds-table.js +69 -11
  39. package/dist/collection/components/eds-table/eds-table.stories.js +14 -93
  40. package/dist/collection/components/eds-timeline/eds-timeline.js +26 -16
  41. package/dist/collection/components/eds-trl/eds-trl.js +30 -22
  42. package/dist/collection/eds-docs-ui/colors/color-palette/primary.js +1 -1
  43. package/dist/collection/eds-docs-ui/colors/color-palette/secondary.js +1 -1
  44. package/dist/collection/eds-docs-ui/colors/color-palette/support.js +1 -1
  45. package/dist/collection/eds-docs-ui/colors/gradient-palette/primary.js +1 -1
  46. package/dist/collection/eds-docs-ui/colors/gradient-palette/secondary.js +7 -7
  47. package/dist/collection/eds-docs-ui/colors/gradient-palette/support.js +3 -3
  48. package/dist/collection/eds-docs-ui/colors/use-of-colors/correct-use-of-colors.js +1 -1
  49. package/dist/collection/eds-docs-ui/colors/use-of-colors/incorrect-use-of-colors.js +1 -5
  50. package/dist/collection/eds-docs-ui/design-tokens/token-list/token-list.js +1 -1
  51. package/dist/collection/eds-docs-ui/design-tokens/token-radii/token-radii.js +1 -1
  52. package/dist/collection/eds-docs-ui/design-tokens/token-ratios/token-ratios.js +1 -1
  53. package/dist/collection/eds-docs-ui/design-tokens/token-shadows/token-shadows.js +1 -1
  54. package/dist/collection/eds-docs-ui/design-tokens/token-spacing/token-spacing.js +1 -1
  55. package/dist/collection/eds-docs-ui/design-tokens/token-typography/token-typography.js +1 -1
  56. package/dist/collection/eds-docs-ui/eds-components-section/eds-components-section.js +3 -6
  57. package/dist/collection/eds-docs-ui/eds-docs-palettes/eds-docs-palettes.js +1 -1
  58. package/dist/collection/eds-docs-ui/eds-docs-tokens/eds-docs-tokens.js +1 -1
  59. package/dist/collection/eds-docs-ui/eds-logo-variations/eds-logo-variations.js +44 -0
  60. package/dist/collection/eds-docs-ui/eds-svg-repository/eds-svg-repository.js +7 -1
  61. package/dist/collection/eds-docs-ui/functional/angular.js +1 -1
  62. package/dist/collection/eds-docs-ui/functional/installation.js +1 -1
  63. package/dist/collection/eds-docs-ui/functional/overview.js +1 -1
  64. package/dist/collection/eds-docs-ui/functional/react.js +1 -1
  65. package/dist/collection/eds-docs-ui/functional/vue.js +1 -1
  66. package/dist/collection/eds-docs-ui/logo/logo-space/logo-space.js +1 -1
  67. package/dist/collection/eds-docs-ui/logo/logo-variations/horizontal/logo-variations-horizontal.css +21 -1
  68. package/dist/collection/eds-docs-ui/logo/logo-variations/horizontal/logo-variations-horizontal.js +2 -54
  69. package/dist/collection/eds-docs-ui/logo/logo-variations/vertical/logo-variations-vertical.js +4 -13
  70. package/dist/collection/eds-docs-ui/logo/logo-wrong-usage/logo-wrong-usage.css +4 -0
  71. package/dist/collection/eds-docs-ui/logo/logo-wrong-usage/logo-wrong-usage.js +1 -1
  72. package/dist/collection/shared-ui/eds-card-section/eds-card-section.js +19 -8
  73. package/dist/collection/shared-ui/eds-card-section/eds-card-section.stories.js +40 -7
  74. package/dist/collection/shared-ui/eds-footer/eds-footer.js +1 -1
  75. package/dist/collection/shared-ui/eds-fullscreen-menu/eds-fullscreen-menu.js +4 -3
  76. package/dist/collection/shared-ui/eds-fullscreen-menu/eds-fullscreen-menu.stories.js +77 -0
  77. package/dist/collection/shared-ui/eds-header/eds-header.js +9 -5
  78. package/dist/collection/shared-ui/eds-header/eds-header.stories.js +16 -10
  79. package/dist/collection/shared-ui/eds-login/eds-login.js +3 -2
  80. package/dist/collection/shared-ui/eds-social-networks/eds-social-networks.js +4 -4
  81. package/dist/collection/shared-ui/eds-social-networks/eds-social-networks.stories.js +21 -0
  82. package/dist/collection/shared-ui/eds-tabs/eds-tabs.js +29 -8
  83. package/dist/collection/shared-ui/eds-tabs/eds-tabs.stories.js +22 -4
  84. package/dist/collection/shared-ui/eds-tabs-content/eds-tabs-content.js +2 -2
  85. package/dist/collection/shared-ui/eds-toast-manager/eds-toast-manager.css +48 -34
  86. package/dist/collection/shared-ui/eds-toast-manager/eds-toast-manager.js +1 -1
  87. package/dist/collection/shared-ui/eds-user/eds-user.js +12 -6
  88. package/dist/collection/shared-ui/eds-user-modal/eds-user-modal.js +1 -11
  89. package/dist/components/components.css +17 -10
  90. package/dist/components/components.esm.js +1 -1
  91. package/dist/components/correct-use-of-colors.js +1 -1
  92. package/dist/components/eds-breadcrumb.js +13 -12
  93. package/dist/components/eds-button2.js +1 -1
  94. package/dist/components/eds-card-section.js +17 -6
  95. package/dist/components/eds-components-section.js +44 -24
  96. package/dist/components/eds-docs-palettes.js +1 -1
  97. package/dist/components/eds-docs-tokens.js +1 -1
  98. package/dist/components/eds-footer2.js +1 -1
  99. package/dist/components/eds-header.js +6 -2
  100. package/dist/components/eds-input-select2.js +70 -2
  101. package/dist/components/eds-login.js +3 -2
  102. package/dist/components/eds-logo-variations.d.ts +11 -0
  103. package/dist/components/eds-logo-variations.js +60 -0
  104. package/dist/components/eds-social-networks.js +2 -2
  105. package/dist/components/eds-social-networks2.js +6 -6
  106. package/dist/components/eds-svg-repository.js +7 -1
  107. package/dist/components/eds-table2.js +36 -14
  108. package/dist/components/eds-tabs-content.js +2 -2
  109. package/dist/components/eds-tabs.js +26 -5
  110. package/dist/components/eds-timeline.js +23 -10
  111. package/dist/components/eds-toast-manager.js +1 -1
  112. package/dist/components/eds-trl.js +95 -15
  113. package/dist/components/eds-user-modal2.js +1 -5
  114. package/dist/components/eds-user2.js +12 -6
  115. package/dist/components/incorrect-use-of-colors.js +20 -2
  116. package/dist/components/logo-space.js +1 -1
  117. package/dist/components/logo-variations-horizontal.js +2 -50
  118. package/dist/components/logo-variations-horizontal2.js +37 -0
  119. package/dist/components/logo-variations-vertical.js +2 -50
  120. package/dist/components/logo-variations-vertical2.js +42 -0
  121. package/dist/components/logo-wrong-usage.js +2 -2
  122. package/dist/components/p-005de86f.entry.js +1 -0
  123. package/dist/components/{p-5eb32f03.entry.js → p-0910d733.entry.js} +1 -1
  124. package/dist/components/{p-c9c3cc49.entry.js → p-22e6d7d5.entry.js} +1 -1
  125. package/dist/components/p-2851ff44.entry.js +1 -0
  126. package/dist/components/p-29648b47.entry.js +1 -0
  127. package/dist/components/{p-9722811d.entry.js → p-2e8459ef.entry.js} +1 -1
  128. package/dist/components/p-3617841d.entry.js +1 -0
  129. package/dist/components/p-3ff76976.entry.js +1 -0
  130. package/dist/components/{p-bb60412b.entry.js → p-435a14c1.entry.js} +1 -1
  131. package/dist/components/p-52ac3456.entry.js +1 -0
  132. package/dist/components/p-57c964c5.entry.js +1 -0
  133. package/dist/components/p-5a43503a.entry.js +1 -0
  134. package/dist/components/p-5afb626c.entry.js +1 -0
  135. package/dist/components/p-5d7af761.entry.js +1 -0
  136. package/dist/components/p-6378fb3e.entry.js +1 -0
  137. package/dist/components/p-7215789a.entry.js +1 -0
  138. package/dist/components/p-762c8c83.entry.js +1 -0
  139. package/dist/components/p-7802e966.entry.js +1 -0
  140. package/dist/components/p-84957b6d.entry.js +1 -0
  141. package/dist/components/{p-1bcfbaf1.entry.js → p-87830085.entry.js} +1 -1
  142. package/dist/components/p-ac0112d5.entry.js +1 -0
  143. package/dist/components/p-acb16e1c.entry.js +1 -0
  144. package/dist/components/p-ae5dbd41.entry.js +1 -0
  145. package/dist/components/p-be6c80da.entry.js +1 -0
  146. package/dist/components/p-d1f6a722.entry.js +1 -0
  147. package/dist/components/p-d53b7a75.entry.js +1 -0
  148. package/dist/components/{p-b717f95a.entry.js → p-d571d530.entry.js} +1 -1
  149. package/dist/components/p-d7a92efb.entry.js +1 -0
  150. package/dist/components/p-fd27e56c.entry.js +1 -0
  151. package/dist/components/primary.js +1 -1
  152. package/dist/components/primary2.js +1 -1
  153. package/dist/components/secondary.js +1 -1
  154. package/dist/components/secondary2.js +7 -7
  155. package/dist/components/support.js +1 -1
  156. package/dist/components/support2.js +3 -3
  157. package/dist/components/token-list2.js +1 -1
  158. package/dist/components/token-radii2.js +1 -1
  159. package/dist/components/token-ratios.js +1 -1
  160. package/dist/components/token-shadows2.js +1 -1
  161. package/dist/components/token-spacing.js +1 -1
  162. package/dist/components/token-typography.js +1 -1
  163. package/dist/esm/color-primary-palette_6.entry.js +14 -14
  164. package/dist/esm/components.js +1 -1
  165. package/dist/esm/correct-use-of-colors.entry.js +1 -1
  166. package/dist/esm/eds-alert.entry.js +92 -0
  167. package/dist/esm/eds-avatar_17.entry.js +1434 -0
  168. package/dist/esm/eds-card-desc_3.entry.js +111 -0
  169. package/dist/esm/eds-card-generic.entry.js +101 -0
  170. package/dist/esm/eds-card-section.entry.js +17 -6
  171. package/dist/esm/eds-components-section.entry.js +44 -24
  172. package/dist/esm/eds-docs-palettes.entry.js +1 -1
  173. package/dist/esm/eds-docs-tokens.entry.js +1 -1
  174. package/dist/esm/eds-form.entry.js +318 -0
  175. package/dist/esm/eds-input_7.entry.js +306 -0
  176. package/dist/esm/eds-login.entry.js +1 -1
  177. package/dist/esm/eds-logo-variations.entry.js +23 -0
  178. package/dist/esm/{eds-pagination.entry.js → eds-pagination_2.entry.js} +157 -1
  179. package/dist/esm/eds-progress-bar.entry.js +25 -0
  180. package/dist/esm/eds-svg-repository.entry.js +8 -2
  181. package/dist/esm/eds-tabs-content.entry.js +2 -2
  182. package/dist/esm/eds-tabs.entry.js +26 -5
  183. package/dist/esm/eds-timeline.entry.js +72 -0
  184. package/dist/esm/eds-trl.entry.js +48 -0
  185. package/dist/esm/incorrect-use-of-colors.entry.js +1 -1
  186. package/dist/esm/index-e96badea.js +38 -30
  187. package/dist/esm/loader.js +1 -1
  188. package/dist/esm/logo-space.entry.js +1 -1
  189. package/dist/esm/logo-variations-horizontal_2.entry.js +31 -0
  190. package/dist/esm/logo-wrong-usage.entry.js +2 -2
  191. package/dist/esm/token-list_3.entry.js +3 -3
  192. package/dist/esm/token-ratios.entry.js +1 -1
  193. package/dist/esm/token-spacing.entry.js +1 -1
  194. package/dist/esm/token-typography.entry.js +1 -1
  195. package/dist/hydrate/index.js +378 -178
  196. package/dist/hydrate/index.mjs +378 -178
  197. package/dist/types/components/eds-breadcrump/eds-breadcrump.d.ts +1 -5
  198. package/dist/types/components/eds-button/eds-button.d.ts +2 -2
  199. package/dist/types/components/eds-input-elements/eds-input-select/eds-input-select.d.ts +106 -3
  200. package/dist/types/components/eds-table/eds-table.d.ts +9 -1
  201. package/dist/types/components/eds-table/eds-table.stories.d.ts +6 -67
  202. package/dist/types/components/eds-timeline/eds-timeline.d.ts +9 -12
  203. package/dist/types/components/eds-trl/eds-trl.d.ts +4 -1
  204. package/dist/types/components.d.ts +217 -38
  205. package/dist/types/eds-docs-ui/colors/use-of-colors/incorrect-use-of-colors.d.ts +0 -4
  206. package/dist/types/eds-docs-ui/eds-logo-variations/eds-logo-variations.d.ts +9 -0
  207. package/dist/types/eds-docs-ui/eds-svg-repository/eds-svg-repository.d.ts +2 -0
  208. package/dist/types/eds-docs-ui/logo/logo-variations/horizontal/logo-variations-horizontal.d.ts +1 -7
  209. package/dist/types/eds-docs-ui/logo/logo-variations/vertical/logo-variations-vertical.d.ts +1 -1
  210. package/dist/types/shared-ui/eds-card-section/eds-card-section.d.ts +6 -1
  211. package/dist/types/shared-ui/eds-card-section/eds-card-section.stories.d.ts +20 -1
  212. package/dist/types/shared-ui/eds-fullscreen-menu/eds-fullscreen-menu.d.ts +8 -2
  213. package/dist/types/shared-ui/eds-fullscreen-menu/eds-fullscreen-menu.stories.d.ts +29 -0
  214. package/dist/types/shared-ui/eds-header/eds-header.d.ts +7 -1
  215. package/dist/types/shared-ui/eds-header/eds-header.stories.d.ts +9 -1
  216. package/dist/types/shared-ui/eds-social-networks/eds-social-networks.d.ts +1 -1
  217. package/dist/types/shared-ui/eds-social-networks/eds-social-networks.stories.d.ts +13 -0
  218. package/dist/types/shared-ui/eds-tabs/eds-tabs.d.ts +18 -1
  219. package/dist/types/shared-ui/eds-user/eds-user.d.ts +1 -2
  220. package/package.json +3 -3
  221. package/dist/cjs/eds-alert_28.cjs.entry.js +0 -2059
  222. package/dist/cjs/eds-block-break.cjs.entry.js +0 -21
  223. package/dist/cjs/eds-breadcrumb.cjs.entry.js +0 -153
  224. package/dist/cjs/eds-footer.cjs.entry.js +0 -50
  225. package/dist/cjs/eds-fullscreen-menu.cjs.entry.js +0 -100
  226. package/dist/cjs/eds-social-networks.cjs.entry.js +0 -66
  227. package/dist/cjs/eds-table.cjs.entry.js +0 -143
  228. package/dist/cjs/logo-variations-horizontal.cjs.entry.js +0 -31
  229. package/dist/cjs/logo-variations-vertical.cjs.entry.js +0 -31
  230. package/dist/collection/components/eds-trl/eds-trl.css +0 -0
  231. package/dist/collection/shared-ui/eds-user-modal/eds-user-modal.css +0 -0
  232. package/dist/components/p-04e47e04.entry.js +0 -1
  233. package/dist/components/p-0a3b2576.entry.js +0 -1
  234. package/dist/components/p-0c99ef81.entry.js +0 -1
  235. package/dist/components/p-272d249f.entry.js +0 -1
  236. package/dist/components/p-2d8508cd.entry.js +0 -1
  237. package/dist/components/p-3a2e8ef3.entry.js +0 -1
  238. package/dist/components/p-3afafa59.entry.js +0 -1
  239. package/dist/components/p-3b40559e.entry.js +0 -1
  240. package/dist/components/p-49958f77.entry.js +0 -1
  241. package/dist/components/p-551c0b58.entry.js +0 -1
  242. package/dist/components/p-559b6ec9.entry.js +0 -1
  243. package/dist/components/p-5ae9722b.entry.js +0 -1
  244. package/dist/components/p-9000b245.entry.js +0 -1
  245. package/dist/components/p-b14ef448.entry.js +0 -1
  246. package/dist/components/p-b203eb1b.entry.js +0 -1
  247. package/dist/components/p-b33941a0.entry.js +0 -1
  248. package/dist/components/p-bca40434.entry.js +0 -1
  249. package/dist/components/p-df93db96.entry.js +0 -1
  250. package/dist/components/p-ebed87b8.entry.js +0 -1
  251. package/dist/components/p-ff5de62c.entry.js +0 -1
  252. package/dist/components/p-ffec8755.entry.js +0 -1
  253. package/dist/esm/eds-alert_28.entry.js +0 -2028
  254. package/dist/esm/eds-block-break.entry.js +0 -17
  255. package/dist/esm/eds-breadcrumb.entry.js +0 -149
  256. package/dist/esm/eds-footer.entry.js +0 -46
  257. package/dist/esm/eds-fullscreen-menu.entry.js +0 -96
  258. package/dist/esm/eds-social-networks.entry.js +0 -62
  259. package/dist/esm/eds-table.entry.js +0 -139
  260. package/dist/esm/logo-variations-horizontal.entry.js +0 -27
  261. package/dist/esm/logo-variations-vertical.entry.js +0 -27
  262. /package/dist/collection/shared-ui/eds-social-networks/{eds-social-network.css → eds-social-networks.css} +0 -0
@@ -1,2 +1,2 @@
1
1
  import { h } from "@stencil/core";
2
- export const EdsDocsVue = () => (h("div", null, h("h2", null, "Vue Wrappers"), h("p", null, "Learn how to use our components in a Vue Application."), h("eds-code-block", { code: "npm install @ebrains/vue", language: "javascript", "copy-label": "Copy Code" }), h("p", null, "Define the custom elements"), h("eds-code-block", { code: "import { defineCustomElements } from '@ebrains/components/loader';\ndefineCustomElements();", language: "javascript", "copy-label": "Copy Code" }), h("eds-section-core", { "section-title": "Example Vue App", "heading-level": "h3" }, h("eds-code-block", { code: '\n<template>\n <h1 className="f-heading-02">Vue App</h1>\n\n <EdsHeader \n home-url="/" \n user-feature=false \n keycloak-url="http://localhost:8080" \n keycloak-realm="nigeor-realm"\n keycloak-client-id="stencil-app" \n links="[\n { "label": "About", "url": "/about" },\n { "label": "Focus Areas", "url": "/focus-areas" },\n { "label": "News & Events", "url": "/news-and-events" },\n { "label": "Contact", "url": "/contact" }\n ]">\n </EdsHeader>\n\n</template>\n\n<script>\n\nimport { EdsHeader } from "@ebrains/vue";\n\nexport default {\n name: "App",\n components: {\n EdsHeader,\n }\n};\n</script>\n', language: "javascript", "copy-label": "Copy Code" }))));
2
+ export const EdsDocsVue = () => (h("div", null, h("h2", null, "Vue Wrappers"), h("p", null, "Learn how to use our components in a Vue Application."), h("p", null, "Simply install the latest version of our NPM package."), h("eds-code-block", { code: "npm install @ebrains/vue", language: "javascript", "copy-label": "Copy Code" }), h("p", null, "Our NPM package already includes the custom elements definitions. However, you can use the components as they are by simply importing and executing the initialization command in your \"main.ts\" file."), h("eds-code-block", { code: "import { defineCustomElements } from '@ebrains/components/loader';\ndefineCustomElements();", language: "javascript", "copy-label": "Copy Code" }), h("h2", null, "Passing Properties to Custom Elements Using the ", h("b", null, ".prop"), " Modifier in Vue Wrappers"), h("p", null, "When using Vue wrappers for Stencil components (or any custom elements), you might encounter issues with property names being altered due to HTML\u2019s attribute handling. By default, Vue binds values as HTML attributes, and HTML attributes are case-insensitive. This means that camelCase property names can be transformed into lowercase strings, which can prevent your component from receiving the correct data."), h("h3", null, "How to Use the ", h("b", null, ".prop"), " Modifier"), h("p", null, "When using Vue wrappers, you can pass properties with the .prop modifier by adding it to your binding expression. Here\u2019s an example of how to do it:"), h("div", { class: "mt-8" }, h("eds-alert", { message: "This may lead to issues because Vue binds these as attributes .", intent: "error" })), h("eds-code-block", { code: '<EdsAlert\n message="This is a default informational alert."\n intent="default"\n :pressableLabel="Press Me"\n :pressableUrl="https://ebrains.eu"\n></EdsAlert>', language: "javascript", "copy-label": "Copy Code" }), h("div", { class: "mt-8" }, h("eds-alert", { message: "Use the .prop modifier to ensure properties are passed correctly.", intent: "success" })), h("eds-code-block", { code: '<EdsAlert\n message="This is a default informational alert."\n intent="default"\n :pressableLabel.prop="Press Me"\n :pressableUrl.prop="https://ebrains.eu"\n></EdsAlert>', language: "javascript", "copy-label": "Copy Code" }), h("p", null, "Using the ", h("b", null, ".prop"), " modifier in Vue ensures that the data you pass to your custom elements is received as intended. It prevents Vue (and the browser) from transforming camelCase property names into lowercase attributes, thereby maintaining the correct data mapping in your Stencil components."), h("eds-section-core", { "section-title": "Example Vue App", "heading-level": "h3" }, h("eds-code-block", { code: '\n<template>\n <EdsHeader \n :inverseHeader.prop="true"\n :menuEnabled.prop="true">\n </EdsHeader>\n</template>\n\n<script>\n\nimport { EdsHeader } from "@ebrains/vue";\n\nexport default {\n name: "App",\n components: {\n EdsHeader,\n }\n};\n</script>\n', language: "javascript", "copy-label": "Copy Code" }))));
@@ -5,7 +5,7 @@ import { vLogoMargins } from "../../../../../../../../packages/svgs/src/index";
5
5
  */
6
6
  export class LogoSpace {
7
7
  render() {
8
- return (h("div", { key: '941aa1eb81d139e0e9676481b9138bb52f7e83df', class: "container my-20" }, h("div", { key: 'aebf776430ff757354b7ec6cb777c129d0052f22', class: "w-[300px]" }, h("div", { key: '0ba420a45e374b736f360cbf165e1e7819a37184', class: "bg-dark" }, h("div", { key: 'abc0532214cde00c7488dbf658891e36b034a307', class: "logo-container", innerHTML: vLogoMargins })))));
8
+ return (h("div", { key: '004134f2770f755a3ae0d158b9ec6987a64dcc8b', class: "container my-20" }, h("div", { key: '49b57e44a4a68b5d6393ee3284af58d56aa5c014', class: "w-[300px]" }, h("div", { key: '4812ffe1b1df94ece0e2d391648aea812c7c9028', class: "bg-dark" }, h("div", { key: 'ce3bbecdba5bbabb14d1b0e197318cf4180f8699', class: "logo-container", innerHTML: vLogoMargins })))));
9
9
  }
10
10
  static get is() { return "logo-space"; }
11
11
  static get encapsulation() { return "shadow"; }
@@ -48,10 +48,30 @@
48
48
  width: 150px;
49
49
  }
50
50
 
51
- .w-\[300px\] {
51
+ .w-\[500px\] {
52
52
  width: 500px;
53
53
  }
54
54
 
55
+ @media (min-width: 750px) {
56
+ .md\:w-\[300px\] {
57
+ width: 300px;
58
+ }
59
+
60
+ .md\:w-\[500px\] {
61
+ width: 500px;
62
+ }
63
+ }
64
+
65
+ @media (min-width: 900px) {
66
+ .lg\:w-\[300px\] {
67
+ width: 300px;
68
+ }
69
+
70
+ .lg\:w-\[500px\] {
71
+ width: 500px;
72
+ }
73
+ }
74
+
55
75
  .coloured {
56
76
  background: linear-gradient(to left,
57
77
  #9CE142 0%,
@@ -2,22 +2,9 @@ import { h } from "@stencil/core";
2
2
  /**
3
3
  * @internal
4
4
  */
5
- export class LogoVariations {
6
- constructor() {
7
- this.orientation = 'horizontal';
8
- this.type = undefined;
9
- }
5
+ export class LogoVariationsHorizontal {
10
6
  render() {
11
- if (this.type === 'coloured') {
12
- return (h("div", { class: "container my-16" }, h("div", { class: "coloured w-[300px]" }, h("eds-logo", { type: "no-bg", href: "#" }))));
13
- }
14
- if (this.type === 'black') {
15
- return (h("div", { class: "container my-16" }, h("div", { class: "bg-default w-[300px]" }, h("eds-logo", { type: "black", href: "#" }))));
16
- }
17
- if (this.type === 'color-white') {
18
- return (h("div", { class: "container my-16" }, h("div", { class: "w-[300px]" }, h("eds-logo", { type: "color-white", href: "#" }))));
19
- }
20
- return null;
7
+ return (h("div", { key: '577cade970766dbbbd654258efe78920d8c0dbaf' }, h("div", { key: '1c577dafe342384bffce716b4bcb9494685f2283', class: "container my-16" }, h("h3", { key: 'b9f78264dbbe144cc9c7823c48874b3618af3919', class: "f-heading03" }, "Coloured Background"), h("div", { key: 'c07b24eb1a3338d33a3b95c0228a1a7f297a0976', class: "coloured lg:w-[500px] md:w-[300px]" }, h("eds-logo", { key: 'ed173d7c59ae22ad55814cf64222a5ce52d108d4', type: "no-bg", href: "#" }))), h("div", { key: '7d939b469a8ce14f609e529121a830d9a47af857', class: "container my-16" }, h("h3", { key: 'f110490f66e3d27f204e289a5eb85461c13594fa', class: "f-heading03" }, "Black and White Background"), h("div", { key: 'd05bd8166d2a60aac723436b96e2451ae4459c04', class: "bg-default lg:w-[500px] md:w-[300px]" }, h("eds-logo", { key: 'ce24bb6db3038d781a4d1917012c0d4ed7f23b1a', type: "black", href: "#" }))), h("div", { key: '32fbbb1568604bdfd04c6ca6c14a558a3c490ed8', class: "container my-16" }, h("h3", { key: 'ef03e68319669f548c7826d6387072af8d3f5a66', class: "f-heading03" }, "Dark Background "), h("div", { key: 'a6b082f14400be771f43074c1f7f0bc348e77673', class: "lg:w-[500px] md:w-[300px]" }, h("eds-logo", { key: '569f77f1b43b4a65a39720017b34273d6f3d7baa', type: "color-white", href: "#" })))));
21
8
  }
22
9
  static get is() { return "logo-variations-horizontal"; }
23
10
  static get encapsulation() { return "shadow"; }
@@ -31,43 +18,4 @@ export class LogoVariations {
31
18
  "$": ["logo-variations-horizontal.css"]
32
19
  };
33
20
  }
34
- static get properties() {
35
- return {
36
- "orientation": {
37
- "type": "string",
38
- "mutable": false,
39
- "complexType": {
40
- "original": "'horizontal' | 'vertical'",
41
- "resolved": "\"horizontal\" | \"vertical\"",
42
- "references": {}
43
- },
44
- "required": false,
45
- "optional": false,
46
- "docs": {
47
- "tags": [],
48
- "text": ""
49
- },
50
- "attribute": "orientation",
51
- "reflect": false,
52
- "defaultValue": "'horizontal'"
53
- },
54
- "type": {
55
- "type": "string",
56
- "mutable": false,
57
- "complexType": {
58
- "original": "'coloured' | 'black' | 'color-white'",
59
- "resolved": "\"black\" | \"color-white\" | \"coloured\"",
60
- "references": {}
61
- },
62
- "required": false,
63
- "optional": false,
64
- "docs": {
65
- "tags": [],
66
- "text": "The type of logo variation to display.\nAvailable options: \"coloured\", \"mono\", \"dark\"."
67
- },
68
- "attribute": "type",
69
- "reflect": false
70
- }
71
- };
72
- }
73
21
  }
@@ -2,22 +2,13 @@ import { h } from "@stencil/core";
2
2
  /**
3
3
  * @internal
4
4
  */
5
- export class LogoVariations {
5
+ export class LogoVariationsVertical {
6
6
  constructor() {
7
- this.orientation = 'horizontal';
7
+ this.orientation = 'vertical';
8
8
  this.type = undefined;
9
9
  }
10
10
  render() {
11
- if (this.type === 'coloured') {
12
- return (h("div", { class: "container my-16" }, h("div", { class: "coloured w-[200px]" }, h("eds-logo", { orientation: "vertical", type: "no-bg", href: "#" }))));
13
- }
14
- if (this.type === 'black') {
15
- return (h("div", { class: "container my-16" }, h("div", { class: "bg-default w-[200px]" }, h("eds-logo", { orientation: "vertical", type: "black", href: "#" }))));
16
- }
17
- if (this.type === 'color-white') {
18
- return (h("div", { class: "container my-16" }, h("div", { class: "w-[200px]" }, h("eds-logo", { orientation: "vertical", type: "color-white", href: "#" }))));
19
- }
20
- return null;
11
+ return (h("div", { key: '70bc4a46031bb4456ba28bef27efbbfe5e7cf6f2' }, h("div", { key: '84ab774067350c75982d41b6d97500e19d3fe5e5', class: "container my-16" }, h("h3", { key: 'c080f9b4cfa18a3a48fb703f749c62531a322267', class: "f-heading03" }, "Coloured Background"), h("div", { key: 'a9a871769d76e97c879f49437187ca553a633dd2', class: "coloured w-[200px]" }, h("eds-logo", { key: '668f2607e0394ab1b25ddfbef4cd3e3880e1b4f9', orientation: "vertical", type: "no-bg", href: "#" }))), h("div", { key: 'd1674061f47b242930599337d605b51831214d7a', class: "container my-16" }, h("h3", { key: '8b1470587ad99fdf379c0c4b4646098d14f087e8', class: "f-heading03" }, "Black and White Background"), h("div", { key: 'bbb9997369a93ce84450a7d289948049fcfa5bf6', class: "bg-default w-[200px]" }, h("eds-logo", { key: '4f3dc6ad9f9db6f605d54df3c8adecea051cf34e', orientation: "vertical", type: "black", href: "#" }))), h("div", { key: '0f54fde04fbef65477809b45371ac15914b1433b', class: "container my-16" }, h("h3", { key: '5c46f1d7b09bf3e113e2733531611943ad21be4e', class: "f-heading03" }, "Dark Background "), h("div", { key: '88609875109aae85cb5333426a3bc270314d9fb5', class: "w-[200px]" }, h("eds-logo", { key: '0eeeba0006e25a8a4f0c4fb5c0d38b089e0a22f4', orientation: "vertical", type: "color-white", href: "#" })))));
21
12
  }
22
13
  static get is() { return "logo-variations-vertical"; }
23
14
  static get encapsulation() { return "shadow"; }
@@ -49,7 +40,7 @@ export class LogoVariations {
49
40
  },
50
41
  "attribute": "orientation",
51
42
  "reflect": false,
52
- "defaultValue": "'horizontal'"
43
+ "defaultValue": "'vertical'"
53
44
  },
54
45
  "type": {
55
46
  "type": "string",
@@ -127,6 +127,10 @@
127
127
  grid-template-columns: repeat(var(--container-grid-columns, var(--grid-columns)), 1fr);
128
128
  grid-gap: var(--inner-gutter);
129
129
  }
130
+ .grid-col-span-12 {
131
+ --container-grid-columns: 12;
132
+ grid-column: span 12 / span 12;
133
+ }
130
134
 
131
135
  .gap-y-8 {
132
136
  row-gap: 0.5rem;
@@ -5,7 +5,7 @@ import { hLogoColor } from "../../../../../../../../packages/svgs/src/index";
5
5
  */
6
6
  export class LogoWrongUsage {
7
7
  render() {
8
- return (h("ul", { key: '9aa8a3f496e779f561e54a6ee656528b2e55a500', class: "grid-layout gap-y-8 md:gap-y-12 lg:gap-y-16" }, h("span", { key: '735e61f1189decb4fef74b5f9f481f94f51c304e', class: `grid-col-span-12 md:grid-col-span-4 flex flex-col` }, h("div", { key: '8d8859bef157051ca9493bac1fd35e0db80414c0', class: "example" }, h("div", { key: '6ee9ce679339e1189439239889a60d8cba39c4b1', class: "bg-dark " }, h("div", { key: '492054f20250a9572ac3c641d05bbb955c050be4', class: "no-other-bg-color logo", innerHTML: hLogoColor })), h("p", { key: 'c9f49c3c44fb7446e6e4e02c1f79ac15827633ba', class: "f-ui-02" }, "Do not use with backgrounds that make legibility difficult"))), h("span", { key: 'd5cbda2472d3396f08fdb600676852708991ce0f', class: `grid-col-span-12 md:grid-col-span-4 flex flex-col` }, h("div", { key: 'dacbf3bcf4dd4914b4332a663a81732a196457f4', class: "example" }, h("div", { key: '9f9bb9b86a840658cf7311a2b035dbadd6a3e0af', class: "no-other-color p-16" }, h("div", { key: '9e96d60f66801638898c12b190640ae0dcc18d24', class: "logo non-brand-color", innerHTML: hLogoColor })), h("p", { key: '5e0470cb9f81e4bba14104746715704fed2fddeb', class: "f-ui-02" }, "Do not apply other colors"))), h("span", { key: '5e9e1943ab5d4cda7d6b4cb51b76f9da4370a50b', class: `grid-col-span-12 md:grid-col-span-4 flex flex-col` }, h("div", { key: '9821754465969edcf1ea98aa7a353ff04140612f', class: "example" }, h("div", { key: '513bb5879746d5979cf7f5360ea60c97196e5379', class: "bg-light p-16" }, h("div", { key: '25f615bf82c51f8601960cb705fa5983667a4943', class: "logo distorted", innerHTML: hLogoColor })), h("p", { key: '636efd5a54620ca8248b5e1adbf453a7d5292d0f', class: "f-ui-02" }, "Do not deform the logo"))), h("span", { key: 'a006b91c704b1df8f7adf1cad1d0033bd11378d8', class: `grid-col-span-12 md:grid-col-span-4 flex flex-col` }, h("div", { key: '6a494fdace1e6a2ff48e02a6a8a79f31ca101e02', class: "example" }, h("div", { key: '09ea335ac52cb395cc3173263b4a956aba59cc4e', class: "bg-white p-16" }, h("div", { key: '9acf37c882acb0a04fddc5754b8e91e6789f36ee', class: "logo effects", innerHTML: hLogoColor })), h("p", { key: 'f648aefe81578e9768c24de085e53e2484c1bb7b', class: "f-ui-02" }, "Do not apply effects"))), h("span", { key: '70f90abc0d6a3292101e29bdfc311ebb0192a585', class: `grid-col-span-12 md:grid-col-span-4 flex flex-col` }, h("div", { key: '9eb3aa4276d7b0a9f7c5e76ffa9fefe7f3def0a3', class: "example" }, h("div", { key: '5a38e80d567d2c2faf08fbcb66a62c24973c3fea', class: "bg-white p-16" }, h("div", { key: '7edbadc8850a9babefea43be9c5f9697021712d5', class: "logo rotated", innerHTML: hLogoColor })), h("p", { key: '96d30acd52838a03f33fd6c8dcf89a72417ce925', class: "f-ui-02" }, "Do not rotate the logo"))), h("span", { key: '41d476bd66b39e796f03c669945024720771216f', class: `grid-col-span-12 md:grid-col-span-4 flex flex-col` }, h("div", { key: '3fd7f690559195125d633097b578b1cc2ff4ccc1', class: "example" }, h("div", { key: '684387318cfffdfbc5592486095a28a923e5af07', class: "bg-light p-16" }, h("div", { key: '7593acd61c1ea52ce613a1f3395c8769a09f9aed', class: "logo outlined", innerHTML: hLogoColor })), h("p", { key: '51d6d974c005a0b5059cd002dff682dc50cfb19a', class: "f-ui-02" }, "Do not apply outlines"))), h("span", { key: '605db4b33b7aab4d0e81e30f658f639689a433b6', class: `grid-col-span-12 md:grid-col-span-4 flex flex-col` }), h("span", { key: '1dc1e6be701572fb7d31b435f8b25dbaf0bf30c8', class: `grid-col-span-12 md:grid-col-span-4 flex flex-col` }, h("div", { key: '30b239799a7d8acf93eba73d3d5dba3cc7117fb5', class: "example" }, h("div", { key: '16a146193f1ec233f37a9472dfe5fa92de10864d', class: "bg-accent p-16" }, h("div", { key: 'cc5924ad51847399ec52c2ece993bdd22305892f', class: "text-inverse", innerHTML: hLogoColor })), h("p", { key: 'bdcd59e968000ecd459b65aaa42e75fa9e06f8ef', class: "f-ui-02" }, "Do not use the green background for the logo version of the logo with backgrounds with the same tones")))));
8
+ return (h("ul", { key: 'e2fbd7802c153f970a457011a5dcaf3163d6290f', class: "container grid-layout gap-y-8 md:gap-y-12 lg:gap-y-16" }, h("span", { key: '07d6a5b930dd8ae652e63310c4232e8c3e6858b2', class: `grid-col-span-12 md:grid-col-span-4 flex flex-col` }, h("div", { key: '5d3dd01a67f41f839e79aa3d449ba319dcc0209c', class: "example" }, h("div", { key: '6b51ea71b6b4072ec6c66223a4f92c1232e8691a', class: "bg-dark " }, h("div", { key: '03a476635bc1112f1ea2d4ed10df0415ead7f0f8', class: "no-other-bg-color logo", innerHTML: hLogoColor })), h("p", { key: '084116335e9f8ed4c9d2a04a9551097dc2a53c4a', class: "f-ui-02" }, "Do not use with backgrounds that make legibility difficult"))), h("span", { key: 'e67f1bdeee28928f4f6f8fb5d1e0b59160edd949', class: `grid-col-span-12 md:grid-col-span-4 flex flex-col` }, h("div", { key: 'b0e909eb57a6771b32a93dd0932ef5b848a19ff2', class: "example" }, h("div", { key: '19bc9f29ddbffd1c308cb429100f0af3d58237a1', class: "no-other-color p-16" }, h("div", { key: '301c5cb926b9ad167f1ba096f99a874577617fb1', class: "logo non-brand-color", innerHTML: hLogoColor })), h("p", { key: 'b41ab53c2af9efeafb46d41a515eba2f801d49e4', class: "f-ui-02" }, "Do not apply other colors"))), h("span", { key: '826ae54f62c5a3880adf1833dbc19bbb9e1ec6f2', class: `grid-col-span-12 md:grid-col-span-4 flex flex-col` }, h("div", { key: '092d5fc3176845532ecf577c66d6e3a349ebfe45', class: "example" }, h("div", { key: '1d1d3cc86e728fc21f898c59ff1511c5fa728f9f', class: "bg-light p-16" }, h("div", { key: 'df05102398d3de9916a23d0998529d8ca8a66257', class: "logo distorted", innerHTML: hLogoColor })), h("p", { key: '377e38a762855d563d087eb275481de6a17ddbbb', class: "f-ui-02" }, "Do not deform the logo"))), h("span", { key: '766c4ea568c8bf2fa1efa207ff5f602e5128aef3', class: `grid-col-span-12 md:grid-col-span-4 flex flex-col` }, h("div", { key: 'cf4e883370c0ee284167bea7f2c0c603932d1682', class: "example" }, h("div", { key: 'de160646456f91316bf966db6568c20ff382dd3b', class: "bg-white p-16" }, h("div", { key: '5aa03093e5e483547919eaeca58643e54a286405', class: "logo effects", innerHTML: hLogoColor })), h("p", { key: 'aa65e295008001d6fe2b2168d8f7f43a770ec8e3', class: "f-ui-02" }, "Do not apply effects"))), h("span", { key: 'd0eb2536e430b6e9fdb9a37d638d5c31ee81e205', class: `grid-col-span-12 md:grid-col-span-4 flex flex-col` }, h("div", { key: '43ec87b4632c2709404aff9d3e7bbcb2910426ca', class: "example" }, h("div", { key: '36cd6dc2b23070e5c7fdfc09444d3ccbb8681216', class: "bg-white p-16" }, h("div", { key: 'a1077b322d113220e05ee3edce627c60547cb49a', class: "logo rotated", innerHTML: hLogoColor })), h("p", { key: '86c384f5cf362d16bd6ac5ac8448e3e0d591fa18', class: "f-ui-02" }, "Do not rotate the logo"))), h("span", { key: 'b267f6024a4e7bad6348d323606922888db5264b', class: `grid-col-span-12 md:grid-col-span-4 flex flex-col` }, h("div", { key: '0bd0c5d62e454ce133a187e7d3917afc0c26c551', class: "example" }, h("div", { key: '71e4c1681cfbb64970237b410e0925a0f22e1141', class: "bg-light p-16" }, h("div", { key: '01ab5d75102b9f476fecebcc31c975f6d4720c12', class: "logo outlined", innerHTML: hLogoColor })), h("p", { key: '0734a049d710d1f6406989668f60da1249e29c7b', class: "f-ui-02" }, "Do not apply outlines"))), h("span", { key: '830b7b2a8cdf6dfc7f395dc92db42fbe626a7ae4', class: `grid-col-span-12 md:grid-col-span-4 flex flex-col` }), h("span", { key: 'ca40bb4ea839eacf62e93f7fbec41f076f7b12a6', class: `grid-col-span-12 md:grid-col-span-4 flex flex-col` }, h("div", { key: '641a963ba81294eefe8fc00dd0a3bdca91af94a2', class: "example" }, h("div", { key: '70691be08e9081899fb2928d5d287aaebef3b399', class: "bg-accent p-16" }, h("div", { key: '556135fd6596b530bf959bb9984641f185cd9f96', class: "text-inverse", innerHTML: hLogoColor })), h("p", { key: '7eaded302e41fc1d04f2033add829dfaba6e8012', class: "f-ui-02" }, "Do not use the green background for the logo version of the logo with backgrounds with the same tones")))));
9
9
  }
10
10
  static get is() { return "logo-wrong-usage"; }
11
11
  static get encapsulation() { return "shadow"; }
@@ -21,13 +21,24 @@ export class EdsCardSection {
21
21
  * @returns {any[]} An array of parsed card objects.
22
22
  */
23
23
  get parsedCards() {
24
- try {
25
- return JSON.parse(this.cards);
24
+ // If it's already an array, return it immediately.
25
+ if (Array.isArray(this.cards)) {
26
+ return this.cards;
26
27
  }
27
- catch (e) {
28
- //console.error('Error parsing links JSON', e);
29
- return [];
28
+ if (typeof this.cards === 'object') {
29
+ return this.cards;
30
30
  }
31
+ else if (typeof this.cards === 'string') {
32
+ try {
33
+ return JSON.parse(this.cards);
34
+ }
35
+ catch (e) {
36
+ // eslint-disable-next-line
37
+ console.error('Error parsing links prop:', e);
38
+ return [];
39
+ }
40
+ }
41
+ return [];
31
42
  }
32
43
  /**
33
44
  * Renders the card section as a grid layout.
@@ -37,7 +48,7 @@ export class EdsCardSection {
37
48
  * @returns {JSX.Element} The rendered section containing a list of cards.
38
49
  */
39
50
  render() {
40
- return (h("section", { key: 'f8e6a03e37677623fad3c53327f6260920a5e914', class: "w-full" }, h("ul", { key: '1da1bc3a5aecadd52b4d025d7d02dc252e47b34a', class: "grid-layout gap-y-8 md:gap-y-12 lg:gap-y-16" }, this.parsedCards.map((card) => (h("li", { class: `grid-col-span-12 md:grid-col-span-${this.cols} flex flex-col` }, h("eds-card-generic", { cardTitle: card.title, description: card.description, avatar: card.avatar, headingLevel: card.headingLevel, tags: card.tags, url: card.url, bg: card.bg, tiny: card.tiny, image: card.image, withHover: card.withHover })))))));
51
+ return (h("section", { key: 'c02b0e71ae4658e2f568e9428a9c61455aeb8ccd', class: "w-full" }, h("ul", { key: '7f5d952d5cc5044c2ec23ca6b6b627901c40ab81', class: "grid-layout gap-y-8 md:gap-y-12 lg:gap-y-16" }, this.parsedCards.map((card) => (h("li", { class: `grid-col-span-12 md:grid-col-span-${this.cols} flex flex-col` }, h("eds-card-generic", { cardTitle: card.title, description: card.description, avatar: card.avatar, headingLevel: card.headingLevel, tags: card.tags, url: card.url, bg: card.bg, tiny: card.tiny, image: card.image, withHover: card.withHover })))))));
41
52
  }
42
53
  static get is() { return "eds-card-section"; }
43
54
  static get encapsulation() { return "shadow"; }
@@ -57,8 +68,8 @@ export class EdsCardSection {
57
68
  "type": "string",
58
69
  "mutable": false,
59
70
  "complexType": {
60
- "original": "string",
61
- "resolved": "string",
71
+ "original": "string | { title: string; description: string; tags: string; url: string }[]",
72
+ "resolved": "string | { title: string; description: string; tags: string; url: string; }[]",
62
73
  "references": {}
63
74
  },
64
75
  "required": false,
@@ -2,6 +2,7 @@ export default {
2
2
  title: 'Shared UI/Card Section',
3
3
  component: 'eds-card-section',
4
4
  argTypes: {
5
+ // For the string variant, we set the control to 'text'
5
6
  cards: {
6
7
  control: 'text',
7
8
  description: 'JSON string representing an array of card objects, each with properties like title, description, avatar, image, etc.'
@@ -16,6 +17,7 @@ export default {
16
17
  }
17
18
  },
18
19
  args: {
20
+ // Default args for the string variant
19
21
  cards: JSON.stringify([
20
22
  {
21
23
  title: 'The Future of AI in Healthcare',
@@ -57,18 +59,49 @@ export default {
57
59
  lazyload: true
58
60
  }
59
61
  }
60
- // Additional cards can be added here
61
62
  ]),
62
63
  cols: 4,
63
64
  extraClass: ''
64
65
  },
65
66
  parameters: {}
66
67
  };
67
- export const Default = {
68
+ // Variant 1: Passing cards as a JSON string (text control)
69
+ export const WithString = {
68
70
  render: (args) => `
69
- <eds-card-section
70
- cards='${args.cards}'
71
- cols="${args.cols}"
72
- class="${args.extraClass}"
73
- ></eds-card-section>`
71
+ <eds-card-section
72
+ cards='${args.cards}'
73
+ cols="${args.cols}"
74
+ class="${args.extraClass}"
75
+ ></eds-card-section>
76
+ `
77
+ };
78
+ // Variant 2: Passing cards as an object (object control)
79
+ export const WithObject = {
80
+ render: (args) => {
81
+ // Create the custom element
82
+ const cardSection = document.createElement('eds-card-section');
83
+ // Set the properties directly as objects
84
+ cardSection.cards = args.cards;
85
+ cardSection.cols = args.cols;
86
+ if (args.extraClass) {
87
+ cardSection.className = args.extraClass;
88
+ }
89
+ return cardSection;
90
+ },
91
+ args: {
92
+ // Override the default for this variant so that the cards are provided as an array of objects
93
+ cards: [
94
+ { title: 'Card1', description: 'Description1', tags: 'tag1,tag2', url: '/link1' },
95
+ { title: 'Card2', description: 'Description2', tags: 'tag3', url: '/link2' }
96
+ ],
97
+ cols: 4,
98
+ extraClass: ''
99
+ },
100
+ argTypes: {
101
+ // Change the control type for this variant to 'object'
102
+ cards: {
103
+ control: 'object',
104
+ description: 'An array of card objects, each with properties like title, description, avatar, image, etc.'
105
+ }
106
+ }
74
107
  };
@@ -47,7 +47,7 @@ export class EdsFooter {
47
47
  * @returns {JSX.Element} The rendered JSX for the footer component.
48
48
  */
49
49
  render() {
50
- return (h("footer", { key: 'efffa9b96cc2a094255fcb6d08ec45c7c7f09ec4', class: `${this.extraClass} pb-banner` }, this.social ? (h("div", { class: "border-softest border-t-2 pt-20 pb-28 md:pt-28" }, h("div", { class: "container pb-20 xl:pb-40 " }, h("div", { class: "grid-layout" }, h("div", { class: "grid-col-span-12 lg:grid-col-span-5" }, h("eds-social-networks", { class: "mt-28" })), h("nav", { "aria-label": "Secondary nav", class: "grid-col-span-12 lg:grid-col-span-6 lg:grid-col-start-7 grid-layout mt-28 gap-y-12 lg:mt-0" }))))) : null, h("div", { key: 'c3942c635dff3dc8cb47a21f20aca52acfaa3e18', class: `border-softest ${this.social ? 'border-t-2' : ''} pt-20 pb-28 md:pt-28` }, h("div", { key: '57e963272659ce2e63294c969f3724a03aef667e', class: "container flex flex-wrap items-center gap-20 lg:flex-nowrap" }, h("div", { key: 'c3e5cfe07fe9eb90450f7a87be1b95ed00ef38ce', class: "flex items-center gap-x-12" }, h("a", { key: 'b0d0c65115b611f78d2b468559c16eb60f538907', target: "_blank", rel: "noopener noreferrer", class: "effect-focus focus-visible:rounded-xs flex w-[54px] ml-0", href: "https://research-and-innovation.ec.europa.eu/funding/funding-opportunities/funding-programmes-and-open-calls/horizon-2020_en" }, h("eds-img", { key: '6cb5d067f07b456a8d828f3f42f2730e3e5374e0', width: 54, height: 41, src: "https://www.ebrains.eu/flags/4x3/eu.svg" }))), h("div", { key: 'e5b768b0fb96fcdcb786d33fc808368005935491', class: "f-ui-04 text-light order-last w-full lg:order-none lg:w-auto" }, h("p", { key: '777263c2f4bde43d38690f41391eaf8e51d945fa' }, this.fundedBy), h("div", { key: 'a415687d08edf8f3e03a6edce9c45f58662c8595', class: "mt-4 flex flex-wrap gap-12 lg:flex-nowrap" }, h("span", { key: 'c0b6498ad4f5e1f4f1945ebb971f9dd81cc74c77', class: "effect-focus !no-underline decoration-2 underline-offset-4 hover:!underline" }, "\u00A9 ", this.rightsReserved), this.hasCookiesSetUp && (h("button", { key: '10133d180bfb0d8a6354ea2cbea318a2c46fc463', class: "effect-focus !no-underline underline-offset-4 hover:!underline", onClick: () => this.toggleCookiesPopup() }, this.cookiesPreference)))), h("div", { key: '917d0980f91a8c42a75bae301b0a18e3777dd021', class: "ml-auto pl-12" }, this.enableScrollTop ? (h("eds-button", { "aria-label": "Back to top", intent: "ghostInverse", icon: "chevron-up", onClick: this.backToTop })) : null)))));
50
+ return (h("footer", { key: '8d3d1b5d2acd76f56b2bc12539cb7d277b4dcd7f', class: `${this.extraClass} pb-banner` }, this.social ? (h("div", { class: "border-softest border-t-2 pt-20 pb-28 md:pt-28" }, h("div", { class: "container pb-20 xl:pb-40 " }, h("div", { class: "grid-layout" }, h("div", { class: "grid-col-span-12 lg:grid-col-span-5" }, h("eds-social-networks", { class: "mt-28" })), h("nav", { "aria-label": "Secondary nav", class: "grid-col-span-12 lg:grid-col-span-6 lg:grid-col-start-7 grid-layout mt-28 gap-y-12 lg:mt-0" }))))) : null, h("div", { key: '7d6e3a414ec8e8f8e2b795faf639948f8819f5cb', class: `border-softest ${this.social ? 'border-t-2' : ''} pt-20 pb-28 md:pt-28` }, h("div", { key: '9a475fd146ac0e1bc78c43940ee24ec31212fcb9', class: "container flex flex-wrap items-center gap-20 lg:flex-nowrap" }, h("div", { key: '4b465113cdb882f919fba15e944eb56edbe3c570', class: "flex items-center gap-x-12" }, h("a", { key: '1a8ad1ee5f4dfb77da036b03d0770cba8e5d725e', target: "_blank", rel: "noopener noreferrer", class: "effect-focus focus-visible:rounded-xs flex w-[54px] ml-0", href: "https://research-and-innovation.ec.europa.eu/funding/funding-opportunities/funding-programmes-and-open-calls/horizon-2020_en" }, h("eds-img", { key: '4714ea1a01b7b7eef8b3af0c04ffe793d51c4d5e', width: 54, height: 41, src: "https://www.ebrains.eu/flags/4x3/eu.svg" }))), h("div", { key: 'c4db6bab70e570e337c82136a0d9d6dad01c1039', class: "f-ui-04 text-light order-last w-full lg:order-none lg:w-auto" }, h("p", { key: '0b030a92c12a3a96fe2baacc13ac21f5bd708a50' }, this.fundedBy), h("div", { key: '4714d0ccf0e3912ae330a6f39ed3607caf2b51a4', class: "mt-4 flex flex-wrap gap-12 lg:flex-nowrap" }, h("span", { key: 'b4bc2d45871c7d1f9de1d6090959b12fd5246f01', class: "effect-focus !no-underline decoration-2 underline-offset-4 hover:!underline" }, "\u00A9 ", this.rightsReserved), this.hasCookiesSetUp && (h("button", { key: '98b56eee7be6bc1558821933cebf2853b3bb68fc', class: "effect-focus !no-underline underline-offset-4 hover:!underline", onClick: () => this.toggleCookiesPopup() }, this.cookiesPreference)))), h("div", { key: 'f4bf4a0c99f3be920dd15f68e6f7e390cd85ecce', class: "ml-auto pl-12" }, this.enableScrollTop ? (h("eds-button", { "aria-label": "Back to top", intent: "ghostInverse", icon: "chevron-up", onClick: this.backToTop })) : null)))));
51
51
  }
52
52
  static get is() { return "eds-footer"; }
53
53
  static get originalStyleUrls() {
@@ -4,7 +4,8 @@ import { h } from "@stencil/core";
4
4
  * It provides a responsive, full-window overlay menu with navigation links and additional options.
5
5
  * This component is suitable for mobile and small screens, where a fullscreen menu enhances user navigation.
6
6
  *
7
- * ## Key Features:
7
+ * ## Key Features
8
+ *
8
9
  * - **Links and Menu Links**: Allows configurable primary and secondary navigation links.
9
10
  * - **Event-Driven Open/Close**: Listens for a `toggleMenu` event to open or close the menu, emitted by the `eds-header` component.
10
11
  * - **Responsive Behavior**: Automatically closes the menu when the screen width is larger than a specified breakpoint (1024px).
@@ -112,8 +113,8 @@ export class EdsFullscreenMenu {
112
113
  "type": "string",
113
114
  "mutable": false,
114
115
  "complexType": {
115
- "original": "string",
116
- "resolved": "string",
116
+ "original": "string | { label: string; url: string; icon?: string; external?: boolean }[]",
117
+ "resolved": "string | { label: string; url: string; icon?: string; external?: boolean; }[]",
117
118
  "references": {}
118
119
  },
119
120
  "required": false,
@@ -0,0 +1,77 @@
1
+ export default {
2
+ title: 'Shared UI/Header/Fullscreen Menu',
3
+ // We set a primary component here for documentation purposes.
4
+ // (Note: The story renders both eds-header and eds-fullscreen-menu.)
5
+ component: 'eds-fullscreen-menu',
6
+ argTypes: {
7
+ menuEnabled: {
8
+ control: 'boolean',
9
+ description: 'Enable menu toggle in the header',
10
+ defaultValue: true
11
+ },
12
+ headerLinks: {
13
+ control: 'object',
14
+ description: 'An array of link objects for the header navigation',
15
+ defaultValue: [
16
+ { label: 'About', url: '#' },
17
+ { label: 'Focus Areas', url: '#' },
18
+ { label: 'News & Events', url: '#' },
19
+ { label: 'Contact', url: '#' }
20
+ ]
21
+ },
22
+ menuLinks: {
23
+ control: 'object',
24
+ description: 'An array of link objects for the fullscreen menu',
25
+ defaultValue: [
26
+ { label: 'About', url: '#' },
27
+ { label: 'Focus Areas', url: '#' },
28
+ { label: 'News & Events', url: '#' },
29
+ { label: 'Contact', url: '#' }
30
+ ]
31
+ }
32
+ }
33
+ };
34
+ const Template = (args) => {
35
+ // Create a container element to host both components
36
+ const container = document.createElement('div');
37
+ container.style.position = 'relative'; // ensure proper stacking context
38
+ // Create an informational paragraph
39
+ const infoMessage = document.createElement('p');
40
+ infoMessage.textContent = 'Change the window width to see the menu burger. Then click on it to see the content';
41
+ infoMessage.style.fontFamily = 'sans-serif';
42
+ infoMessage.style.margin = '1rem 0';
43
+ infoMessage.style.fontWeight = 'bold';
44
+ // Append the info message to the container
45
+ container.appendChild(infoMessage);
46
+ // Render the header using property binding for the links by passing a JSON string.
47
+ // (You can update your components to also accept objects directly if desired.)
48
+ container.innerHTML += `
49
+ <eds-header
50
+ menu-enabled="${args.menuEnabled}"
51
+ links='${JSON.stringify(args.headerLinks)}'
52
+ ></eds-header>
53
+ <eds-fullscreen-menu
54
+ links='${JSON.stringify(args.menuLinks)}'
55
+ ></eds-fullscreen-menu>
56
+ `;
57
+ // Optionally, you might add some inline styling or scripts to simulate the header’s menu toggle behavior.
58
+ // For example, if your header emits an event when the menu toggle is clicked, you can listen for that event
59
+ // and programmatically show/hide the fullscreen menu. That logic would be implemented in your component.
60
+ return container;
61
+ };
62
+ export const Default = Template.bind({});
63
+ Default.args = {
64
+ menuEnabled: true,
65
+ headerLinks: [
66
+ { label: 'About', url: '#' },
67
+ { label: 'Focus Areas', url: '#' },
68
+ { label: 'News & Events', url: '#' },
69
+ { label: 'Contact', url: '#' }
70
+ ],
71
+ menuLinks: [
72
+ { label: 'About', url: '#' },
73
+ { label: 'Focus Areas', url: '#' },
74
+ { label: 'News & Events', url: '#' },
75
+ { label: 'Contact', url: '#' }
76
+ ]
77
+ };
@@ -74,6 +74,10 @@ export class EdsHeader {
74
74
  * @returns {any[]} Array of parsed link objects
75
75
  */
76
76
  get parsedLinks() {
77
+ // If it's already an array, return it immediately.
78
+ if (Array.isArray(this.links)) {
79
+ return this.links;
80
+ }
77
81
  if (typeof this.links === 'object') {
78
82
  return this.links;
79
83
  }
@@ -90,8 +94,8 @@ export class EdsHeader {
90
94
  return [];
91
95
  }
92
96
  render() {
93
- return (h("header", { key: 'bd3056a3d8ca0e8472e154eb3da9ba1aca6d1fa1', class: `flex items-center justify-between relative z-10
94
- ${this.inverseHeader ? 'text-inverse bg-strongest' : 'text-default bg-dark'}` }, h("div", { key: '55db7995eab812785789ecc8441079ee5e07af76', class: "mr-auto w-[200px] h-[85px]" }, h("eds-logo", { key: '0464d045dc59d0f78a021a14ffa0254579052529', type: this.inverseHeader ? 'color-white' : 'color', href: this.homeUrl })), this.parsedLinks && (h("nav", { key: '7ab1b2c20cf9d934a29480bd29736ced42ff5a20', class: "absolute left-1/2 top-1/2 grow -translate-x-1/2 -translate-y-1/2 justify-center hidden md:flex" }, h("ul", { key: '7dca9e2715f3831ee806b0e354c19b65deac1490', class: "flex gap-x-2" }, this.parsedLinks.map((link) => (h("eds-link", { label: link.label, "aria-label": link.label, url: link.url, intent: "ghost", size: "small", icon: link.icon, external: link.external, "extra-class": "after:effect-opacity aria-current-page:bg-darker whitespace-nowrap !text-current after:!border-transparent after:opacity-0 hover:after:!border-transparent hover:after:opacity-100" })))))), h("slot", { key: 'd49985a1074f2daed9cab42fa5af8b0ec8cb6ec9' }), this.userFeature ? (h("div", { class: "px-16" }, h("eds-user", { "keycloak-url": this.keycloakUrl, "keycloak-realm": this.keycloakRealm, "keycloak-client-id": this.keycloakClientId }))) : null, this.menuEnabled ? (h("div", { class: "md:hidden flex overflow-hidden px-16" }, h("eds-button", { "aria-label": "Menu", intent: "ghostInverse", icon: "menu", size: "small", onClick: () => this.handleToggleMenu() }))) : null));
97
+ return (h("header", { key: 'b16e5e84ba7565ebf4ea5892a9a1af84fc94769d', class: `flex items-center justify-between relative z-10
98
+ ${this.inverseHeader ? 'text-inverse bg-strongest' : 'text-default bg-dark'}` }, h("div", { key: '00206a2714dedfe205151002cc10c430e75814fb', class: "mr-auto w-[200px] h-[85px]" }, h("eds-logo", { key: '25fc6207d61bb4cc06877dd0b15bf56392b50255', type: this.inverseHeader ? 'color-white' : 'color', href: this.homeUrl })), this.parsedLinks && (h("nav", { key: '8d1ee2947db26e5acb556da845fe1b811a8d18b2', class: "absolute left-1/2 top-1/2 grow -translate-x-1/2 -translate-y-1/2 justify-center hidden md:flex" }, h("ul", { key: '5c70e48f3a617a6abe402659b37741e657440cbc', class: "flex gap-x-2" }, this.parsedLinks.map((link) => (h("eds-link", { label: link.label, "aria-label": link.label, url: link.url, intent: "ghost", size: "small", icon: link.icon, external: link.external, "extra-class": "after:effect-opacity aria-current-page:bg-darker whitespace-nowrap !text-current after:!border-transparent after:opacity-0 hover:after:!border-transparent hover:after:opacity-100" })))))), h("slot", { key: '773b60e90ecfe336fede86ea6e3b0ec2fd10bd72' }), this.userFeature ? (h("div", { class: "px-16" }, h("eds-user", { "keycloak-url": this.keycloakUrl, "keycloak-realm": this.keycloakRealm, "keycloak-client-id": this.keycloakClientId }))) : null, this.menuEnabled ? (h("div", { class: "md:hidden flex overflow-hidden px-16" }, h("eds-button", { "aria-label": "Menu", intent: "ghostInverse", icon: "menu", size: "small", onClick: () => this.handleToggleMenu() }))) : null));
95
99
  }
96
100
  static get is() { return "eds-header"; }
97
101
  static get originalStyleUrls() {
@@ -128,8 +132,8 @@ export class EdsHeader {
128
132
  "type": "string",
129
133
  "mutable": false,
130
134
  "complexType": {
131
- "original": "string",
132
- "resolved": "string",
135
+ "original": "string | { label: string; url: string; icon?: string; external?: boolean }[]",
136
+ "resolved": "string | { label: string; url: string; icon?: string; external?: boolean; }[]",
133
137
  "references": {}
134
138
  },
135
139
  "required": false,
@@ -189,7 +193,7 @@ export class EdsHeader {
189
193
  "optional": false,
190
194
  "docs": {
191
195
  "tags": [],
192
- "text": "Flag to enable or disable header menu toggle feature.\nWhen true, displays the toggle in the header."
196
+ "text": "Flag to enable or disable header menu toggle feature.\nWhen true, displays the toggle in the header.\nRequires the <eds-fullscreen-menu> to properly work."
193
197
  },
194
198
  "attribute": "menu-enabled",
195
199
  "reflect": false,
@@ -1,5 +1,5 @@
1
1
  export default {
2
- title: 'Shared Ui/Header',
2
+ title: 'Shared Ui/Header/Main',
3
3
  component: 'eds-header',
4
4
  argTypes: {
5
5
  homeUrl: {
@@ -7,8 +7,8 @@ export default {
7
7
  description: 'URL for the home logo link.'
8
8
  },
9
9
  links: {
10
- control: 'text',
11
- description: 'JSON string representing the primary navigation links, each containing `label`, `url`, and optionally `icon`.'
10
+ control: 'object',
11
+ description: 'An array of link objects for the header navigation'
12
12
  },
13
13
  menuLinks: {
14
14
  control: 'text',
@@ -18,6 +18,10 @@ export default {
18
18
  control: 'text',
19
19
  description: 'URL for the dashboard page.'
20
20
  },
21
+ menuEnabled: {
22
+ control: 'boolean',
23
+ description: 'Shows/hides burger menu on small screens.'
24
+ },
21
25
  inverseHeader: {
22
26
  control: 'boolean',
23
27
  description: 'Determines if the header is rendered in inverse style (dark background).'
@@ -41,12 +45,13 @@ export default {
41
45
  },
42
46
  args: {
43
47
  homeUrl: '/',
44
- links: JSON.stringify([
45
- { label: 'Home', url: '/', icon: '' },
46
- { label: 'About', url: '/about' },
47
- { label: 'Services', url: '/services' },
48
- { label: 'Contact', url: '/contact' }
49
- ]),
48
+ links: [
49
+ { label: 'About', url: '#' },
50
+ { label: 'Focus Areas', url: '#' },
51
+ { label: 'News & Events', url: '#' },
52
+ { label: 'Contact', url: '#' }
53
+ ],
54
+ menuEnabled: false,
50
55
  inverseHeader: false,
51
56
  userFeature: false,
52
57
  keycloakUrl: 'http://localhost:8080',
@@ -58,9 +63,10 @@ export const Default = (args) => `
58
63
  <eds-toast-manager />
59
64
  <eds-header
60
65
  home-url="${args.homeUrl}"
61
- links='${args.links}'
66
+ links='${JSON.stringify(args.links)}'
62
67
  menu-links='${args.menuLinks}'
63
68
  dashboard-url="${args.dashboardUrl}"
69
+ menu-enabled="${args.menuEnabled}"
64
70
  inverse-header="${args.inverseHeader}"
65
71
  user-feature="${args.userFeature}"
66
72
  keycloak-url="${args.keycloakUrl}"
@@ -66,9 +66,10 @@ export class EdsLogin {
66
66
  return this.authenticated ? 'Logout' : 'Login';
67
67
  }
68
68
  render() {
69
- return (h("div", { key: '3e9fdf8fa303948f00da83a1c8c1efc35e2c3c1a' }, h("eds-button", { key: '452b1c6ba9dda0ae5570accedf5e61b8391aeadb', label: this.getBtnLabel(), intent: "primary", loading: false, disabled: false, pill: false, icon: "arrow-diagonal", size: "small", "icon-pos": "right", "aria-label": this.getBtnLabel(), "element-type": "button", triggerClick: this.authenticated ? this.handleLogout : this.handleLogin.bind(this) })));
69
+ return (h("eds-button", { key: '35f298ecf951d5b1087f988262ae7d312c5e2d38', label: this.getBtnLabel(), intent: "primary", "extra-class": "text-default", "aria-label": this.getBtnLabel(), triggerClick: this.authenticated ? this.handleLogout : this.handleLogin.bind(this) }));
70
70
  }
71
71
  static get is() { return "eds-login"; }
72
+ static get encapsulation() { return "shadow"; }
72
73
  static get properties() {
73
74
  return {
74
75
  "keycloakUrl": {
@@ -145,7 +146,7 @@ export class EdsLogin {
145
146
  "text": "Event emitted when the authentication status changes.\nIt emits a boolean value indicating the new authentication status."
146
147
  },
147
148
  "complexType": {
148
- "original": "{ authenticated: boolean; user: any }",
149
+ "original": "{\n authenticated: boolean;\n user: any;\n }",
149
150
  "resolved": "{ authenticated: boolean; user: any; }",
150
151
  "references": {}
151
152
  }
@@ -3,7 +3,7 @@ import { h } from "@stencil/core";
3
3
  * Component representing a list of social network links for EBRAINS.
4
4
  * Each link directs users to EBRAINS' profiles on various social networks.
5
5
  */
6
- export class EdsSocialNetwork {
6
+ export class EdsSocialNetworks {
7
7
  constructor() {
8
8
  /**
9
9
  * Array of social network objects, each containing label, URL, and icon.
@@ -53,18 +53,18 @@ export class EdsSocialNetwork {
53
53
  * @returns {JSX.Element} The rendered JSX for the component.
54
54
  */
55
55
  render() {
56
- return (h("div", { key: '6169559327b728fd0f3a51a2b8a6439f80fba8fc' }, h("p", { key: 'df2e008500097af1b85660fe8b3fac122f5018a4', class: "f-ui-02" }, this.title), h("ul", { key: 'df01a2802412c4db4e5442fdfc0b6ef3f15c4109', 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": network.label, url: network.url, icon: network.icon, intent: "strong" })))))));
56
+ return (h("div", { key: 'a6a3e2084eb01def71f6fee67ebe8c5f4f613c89' }, h("p", { key: '43b92e9c33f8abef6070a6a3cd77f7573e2ab454', class: "f-ui-02" }, this.title), h("ul", { key: 'c0e0dfdeff373885f62250c8bf4385268410406c', 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": network.label, url: network.url, icon: network.icon, intent: "strong" })))))));
57
57
  }
58
58
  static get is() { return "eds-social-networks"; }
59
59
  static get encapsulation() { return "shadow"; }
60
60
  static get originalStyleUrls() {
61
61
  return {
62
- "$": ["eds-social-network.css"]
62
+ "$": ["eds-social-networks.css"]
63
63
  };
64
64
  }
65
65
  static get styleUrls() {
66
66
  return {
67
- "$": ["eds-social-network.css"]
67
+ "$": ["eds-social-networks.css"]
68
68
  };
69
69
  }
70
70
  static get properties() {