@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
@@ -24,13 +24,24 @@ const EdsCardSection$1 = /*@__PURE__*/ proxyCustomElement(class EdsCardSection e
24
24
  * @returns {any[]} An array of parsed card objects.
25
25
  */
26
26
  get parsedCards() {
27
- try {
28
- return JSON.parse(this.cards);
27
+ // If it's already an array, return it immediately.
28
+ if (Array.isArray(this.cards)) {
29
+ return this.cards;
29
30
  }
30
- catch (e) {
31
- //console.error('Error parsing links JSON', e);
32
- return [];
31
+ if (typeof this.cards === 'object') {
32
+ return this.cards;
33
33
  }
34
+ else if (typeof this.cards === 'string') {
35
+ try {
36
+ return JSON.parse(this.cards);
37
+ }
38
+ catch (e) {
39
+ // eslint-disable-next-line
40
+ console.error('Error parsing links prop:', e);
41
+ return [];
42
+ }
43
+ }
44
+ return [];
34
45
  }
35
46
  /**
36
47
  * Renders the card section as a grid layout.
@@ -40,7 +51,7 @@ const EdsCardSection$1 = /*@__PURE__*/ proxyCustomElement(class EdsCardSection e
40
51
  * @returns {JSX.Element} The rendered section containing a list of cards.
41
52
  */
42
53
  render() {
43
- 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 })))))));
54
+ 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 })))))));
44
55
  }
45
56
  static get style() { return EdsCardSectionStyle0; }
46
57
  }, [1, "eds-card-section", {
@@ -7,54 +7,76 @@ import { d as defineCustomElement$3 } from './eds-section-core2.js';
7
7
  import { d as defineCustomElement$2 } from './eds-section-heading2.js';
8
8
 
9
9
  const EdsComponentsOverview = () => (h("div", { class: "static-content container" },
10
- h("eds-alert", { message: "EBRAINS Design System makes it easy to implement and use its components across any framework or no framework at all. We\n accomplish this by using standardized web platform APIs and Web Components.", intent: "default" }),
11
10
  h("h2", null, "Load the module"),
12
11
  h("p", null,
13
12
  "Integrating EDSs components to a project without a JavaScript framework is straight forward. If you\u2019re working on a simple HTML page, you can start using the components immediately by adding the tags below to the",
14
13
  ' ',
15
14
  h("code", null, "head"),
16
15
  "."),
17
- h("eds-code-block", { code: '<script type="module" href="https://unpkg.com/@ebrains/components@0.0.1/loader"/></script>', language: "javascript", "copy-label": "Copy Code" }),
16
+ h("eds-code-block", { code: "<script type='module'>\n import { defineCustomElements } from 'https://unpkg.com/@ebrains/components@latest/loader/index.js'; \n // Define custom elements\n defineCustomElements(window);\n</script>", language: "javascript", "copy-label": "Copy Code" }),
18
17
  h("h2", null, "Load the styles"),
19
18
  h("p", null,
20
19
  "To directly use the produced css framework with a few predefined custom utility classes, add the tag below to the",
21
20
  ' ',
22
21
  h("code", null, "head")),
23
- h("eds-code-block", { code: '<link rel="stylesheet" href="https://unpkg.com/@ebrains/assets@0.0.1/styles/output.css"/>', language: "css", "copy-label": "Copy Code" }),
22
+ h("eds-code-block", { code: '<link rel="stylesheet" href="https://unpkg.com/@ebrains/assets@latest/styles/output.css"/>', language: "css", "copy-label": "Copy Code" }),
23
+ h("div", { class: "my-4" },
24
+ h("eds-alert", { message: "Note that, loading the predefined CSS framework above, automatically loads the fonts so you can skip loading them separately.", intent: "warning" })),
24
25
  h("h2", null, "Load the fonts"),
25
26
  h("p", null,
26
- "To load the correct webfonts as well, add either one of these tags to the ",
27
+ "To load the webfonts, add the tag below to the ",
27
28
  h("code", null, "head")),
28
29
  h("eds-code-block", { code: '<link rel="stylesheet" href="https://unpkg.com/@ebrains/assets@0.0.1/styles/base/fonts.css"/>', language: "css", "copy-label": "Copy Code" }),
29
30
  h("h2", null, "Component Usage"),
30
31
  h("p", null, "Once included, components can be used in your markup like any other regular HTML elements:"),
31
- h("eds-code-block", { code: '<eds-button label="my bytton" intent="primary"></eds-button>', language: "html", "copy-label": "Copy Code" })));
32
+ h("eds-code-block", { code: '<eds-button \n label="my bytton" \n intent="primary">\n</eds-button>', language: "html", "copy-label": "Copy Code" })));
32
33
 
33
34
  const EdsDocsInstallation = () => (h("div", null,
34
- h("p", null, "To start using the EBRAINS Design System, include the following scripts and styles in your project. You can also install it via npm for use with modern build tools."),
35
- h("eds-code-block", { code: "npm install @ebrains/components", language: "html", "copy-label": "Copy Code" }),
36
- h("p", null, "TBD")));
37
-
38
- const EdsDocsUsage = () => (h("div", null,
39
- h("h1", null, "Usage with basic HTML "),
40
- h("p", null, "TBD")));
35
+ h("p", null, "Before proceeding, ensure that Node.js is installed on your machine\u2014you can download the latest version from the official website. If your project doesn\u2019t already use npm and you plan to integrate EBRAINS Components, you'll need to create a package.json file by running npm init and following the on-screen instructions."),
36
+ h("div", { class: "my-8" },
37
+ h("eds-code-block", { code: "npm install @ebrains/components", language: "html", "copy-label": "Copy Code" })),
38
+ h("div", { class: "my-8" },
39
+ h("eds-code-block", { code: "npm install @ebrains/assets", language: "html", "copy-label": "Copy Code" })),
40
+ h("div", { class: "my-8" },
41
+ h("eds-code-block", { code: "npm install @ebrains/react", language: "html", "copy-label": "Copy Code" }))));
41
42
 
42
43
  const EdsDocsReact = () => (h("div", null,
43
44
  h("h2", null, "React Wrappers"),
44
- h("p", null, "Learn how to use our components in a React Application."),
45
- "Simple install the package below and check out the examples",
46
- h("eds-code-block", { code: "npm install @ebrains/react", language: "javascript", "copy-label": "Copy Code" }),
45
+ h("p", null, "Learn how to use our components in a React Application.Simple install the package below and check out the examples"),
46
+ h("div", { class: "my-8" },
47
+ h("eds-code-block", { code: "npm install @ebrains/react", language: "javascript", "copy-label": "Copy Code" })),
47
48
  h("eds-section-core", { "section-title": "Example React App", "heading-level": "h3" },
48
- h("eds-code-block", { code: '\nimport { EdsHeader } from "@ebrains/react";\n\ninterface User {\n firstname: string;\n lastname: string;\n // Add any other properties your user object might have\n}\n\ninterface AuthStatus {\n authenticated: boolean;\n user: User | null;\n}\n\nimport { useEffect, useState } from "react";\n\nexport function App() {\n\n const [authStatus, setAuthStatus] = useState<AuthStatus>({\n authenticated: false,\n user: null,\n });\n \n const [activeTabIndex, setActiveTabIndex] = useState<number>(0);\n\n // Use useEffect to render Stencil components dynamically after the component mounts\n useEffect(() => {\n \n const handleAuthStatusChange = (event: CustomEvent) => {\n console.log(event.detail);\n setAuthStatus(event.detail); // Set the entire object\n };\n\n const handleTabChange = (\n event: CustomEvent<{ index: number; name: string }>,\n ) => {\n console.log(event.detail);\n setActiveTabIndex(event.detail.index);\n };\n\n document.addEventListener(\n "authStatusChanged",\n handleAuthStatusChange as EventListener,\n );\n document.addEventListener("tabChange", handleTabChange as EventListener);\n\n return () => {\n document.removeEventListener(\n "authStatusChanged",\n handleAuthStatusChange as EventListener,\n );\n document.removeEventListener(\n "tabChange",\n handleTabChange as EventListener,\n );\n };\n }, []); // Empty dependency array ensures this runs only once after mounting\n\n return (\n <div id="main">\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 <div> \n User is{" "} {authStatus.authenticated ? "authenticated" : "not authenticated"}\n </div>\n {authStatus.user && <div>Welcome, {authStatus.user.firstname}</div>}\n </div>\n </div>\n );\n}\n\nexport default App;\n', language: "javascript", "copy-label": "Copy Code" }))));
49
+ h("eds-code-block", { code: '\nimport { EdsHeader } from "@ebrains/react";\n\ninterface User {\n firstname: string;\n lastname: string;\n}\n\ninterface AuthStatus {\n authenticated: boolean;\n user: User | null;\n}\n\nimport { useEffect, useState } from "react";\n\nexport function App() {\n\n const [authStatus, setAuthStatus] = useState<AuthStatus>({\n authenticated: false,\n user: null,\n });\n \n const [activeTabIndex, setActiveTabIndex] = useState<number>(0);\n\n // Use useEffect to render Stencil components dynamically after the component mounts\n useEffect(() => {\n \n const handleAuthStatusChange = (event: CustomEvent) => {\n console.log(event.detail);\n setAuthStatus(event.detail); // Set the entire object\n };\n\n const handleTabChange = (\n event: CustomEvent<{ index: number; name: string }>,\n ) => {\n console.log(event.detail);\n setActiveTabIndex(event.detail.index);\n };\n\n document.addEventListener(\n "authStatusChanged",\n handleAuthStatusChange as EventListener,\n );\n document.addEventListener("tabChange", handleTabChange as EventListener);\n\n return () => {\n document.removeEventListener(\n "authStatusChanged",\n handleAuthStatusChange as EventListener,\n );\n document.removeEventListener(\n "tabChange",\n handleTabChange as EventListener,\n );\n };\n }, []); // Empty dependency array ensures this runs only once after mounting\n\n return (\n <div id="main">\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 <div> \n User is{" "} {authStatus.authenticated ? "authenticated" : "not authenticated"}\n </div>\n {authStatus.user && <div>Welcome, {authStatus.user.firstname}</div>}\n </div>\n </div>\n );\n}\n\nexport default App;\n', language: "javascript", "copy-label": "Copy Code" }))));
49
50
 
50
51
  const EdsDocsVue = () => (h("div", null,
51
52
  h("h2", null, "Vue Wrappers"),
52
53
  h("p", null, "Learn how to use our components in a Vue Application."),
54
+ h("p", null, "Simply install the latest version of our NPM package."),
53
55
  h("eds-code-block", { code: "npm install @ebrains/vue", language: "javascript", "copy-label": "Copy Code" }),
54
- h("p", null, "Define the custom elements"),
56
+ 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."),
55
57
  h("eds-code-block", { code: "import { defineCustomElements } from '@ebrains/components/loader';\ndefineCustomElements();", language: "javascript", "copy-label": "Copy Code" }),
58
+ h("h2", null,
59
+ "Passing Properties to Custom Elements Using the ",
60
+ h("b", null, ".prop"),
61
+ " Modifier in Vue Wrappers"),
62
+ 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."),
63
+ h("h3", null,
64
+ "How to Use the ",
65
+ h("b", null, ".prop"),
66
+ " Modifier"),
67
+ 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:"),
68
+ h("div", { class: "mt-8" },
69
+ h("eds-alert", { message: "This may lead to issues because Vue binds these as attributes .", intent: "error" })),
70
+ 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" }),
71
+ h("div", { class: "mt-8" },
72
+ h("eds-alert", { message: "Use the .prop modifier to ensure properties are passed correctly.", intent: "success" })),
73
+ 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" }),
74
+ h("p", null,
75
+ "Using the ",
76
+ h("b", null, ".prop"),
77
+ " 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."),
56
78
  h("eds-section-core", { "section-title": "Example Vue App", "heading-level": "h3" },
57
- 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" }))));
79
+ 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" }))));
58
80
 
59
81
  const EdsDocsAngular = () => (h("div", null,
60
82
  h("h2", null, "Angular Wrappers"),
@@ -65,7 +87,7 @@ const EdsDocsAngular = () => (h("div", null,
65
87
  h("p", null, "Angular Custom Elements Schema"),
66
88
  h("eds-code-block", { code: 'import { CUSTOM_ELEMENTS_SCHEMA } from "@angular/core";', language: "javascript", "copy-label": "Copy Code" }),
67
89
  h("eds-section-core", { "section-title": "Example Angular App", "heading-level": "h3" },
68
- h("eds-code-block", { code: '\n<div class="container">\n <h1 class="f-heading-01">{{ title }}</h1>\n <eds-breadcrumb\n intent="tertiary"\n items="[\n { "label": "Home", "url": "#" },\n { "label": "Products", "url": "#" },\n ]">\n </eds-breadcrumb>\n <eds-footer></eds-footer>\n</div>', language: "javascript", "copy-label": "Copy Code" }))));
90
+ h("eds-code-block", { code: '\n<div class="container">\n <eds-breadcrumb\n intent="tertiary"\n items="[\n { "label": "Home", "url": "#" },\n { "label": "Products", "url": "#" },\n ]">\n </eds-breadcrumb>\n <eds-footer></eds-footer>\n</div>', language: "javascript", "copy-label": "Copy Code" }))));
69
91
 
70
92
  const EdsComponentsSection$1 = /*@__PURE__*/ proxyCustomElement(class EdsComponentsSection extends HTMLElement {
71
93
  constructor() {
@@ -80,19 +102,17 @@ const EdsComponentsSection$1 = /*@__PURE__*/ proxyCustomElement(class EdsCompone
80
102
  case 1:
81
103
  return h(EdsDocsInstallation, null);
82
104
  case 2:
83
- return h(EdsDocsUsage, null);
84
- case 3:
85
105
  return h(EdsDocsReact, null);
86
- case 4:
106
+ case 3:
87
107
  return h(EdsDocsVue, null);
88
- case 5:
108
+ case 4:
89
109
  return h(EdsDocsAngular, null);
90
110
  default:
91
111
  return h("p", null, "Content not available.");
92
112
  }
93
113
  }
94
114
  render() {
95
- return h("div", { key: 'faa14dc7bb5d966ea1328f60d8ca88b3c406ad51', class: "container" }, this.renderContent());
115
+ return h("div", { key: 'ce34514ab73daa5baa011bda56a13d6197f8bfd0', class: "container" }, this.renderContent());
96
116
  }
97
117
  }, [0, "eds-components-section", {
98
118
  "tabIndex": [2, "tab-index"]
@@ -26,7 +26,7 @@ const EdsDocsPalettes$1 = /*@__PURE__*/ proxyCustomElement(class EdsDocsPalettes
26
26
  }
27
27
  }
28
28
  render() {
29
- return h("div", { key: 'c11e0de66c41770e7ebca46d3fb7ab11b454511e', class: "container" }, this.renderContent());
29
+ return h("div", { key: '42f0a4598c64661d98054522e88366ec591a2cb3', class: "container" }, this.renderContent());
30
30
  }
31
31
  }, [0, "eds-docs-palettes", {
32
32
  "tabIndex": [2, "tab-index"]
@@ -30,7 +30,7 @@ const EdsDocsContent = /*@__PURE__*/ proxyCustomElement(class EdsDocsContent ext
30
30
  }
31
31
  }
32
32
  render() {
33
- return h("div", { key: 'ef9cf093af7bc730b73f3561b36187f70aea29a7', class: "container" }, this.renderContent());
33
+ return h("div", { key: '10708d591c4077e4e1fe94073322f01121253bdb', class: "container" }, this.renderContent());
34
34
  }
35
35
  }, [0, "eds-docs-tokens", {
36
36
  "tabIndex": [2, "tab-index"]
@@ -44,7 +44,7 @@ const EdsFooter = /*@__PURE__*/ proxyCustomElement(class EdsFooter extends HTMLE
44
44
  * @returns {JSX.Element} The rendered JSX for the footer component.
45
45
  */
46
46
  render() {
47
- 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)))));
47
+ 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)))));
48
48
  }
49
49
  static get style() { return EdsFooterStyle0; }
50
50
  }, [0, "eds-footer", {
@@ -77,6 +77,10 @@ const EdsHeader$1 = /*@__PURE__*/ proxyCustomElement(class EdsHeader extends HTM
77
77
  * @returns {any[]} Array of parsed link objects
78
78
  */
79
79
  get parsedLinks() {
80
+ // If it's already an array, return it immediately.
81
+ if (Array.isArray(this.links)) {
82
+ return this.links;
83
+ }
80
84
  if (typeof this.links === 'object') {
81
85
  return this.links;
82
86
  }
@@ -93,8 +97,8 @@ const EdsHeader$1 = /*@__PURE__*/ proxyCustomElement(class EdsHeader extends HTM
93
97
  return [];
94
98
  }
95
99
  render() {
96
- return (h("header", { key: 'bd3056a3d8ca0e8472e154eb3da9ba1aca6d1fa1', class: `flex items-center justify-between relative z-10
97
- ${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));
100
+ return (h("header", { key: 'b16e5e84ba7565ebf4ea5892a9a1af84fc94769d', class: `flex items-center justify-between relative z-10
101
+ ${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));
98
102
  }
99
103
  get hostEl() { return this; }
100
104
  static get style() { return EdsHeaderStyle0; }
@@ -1,4 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
+ import { t as toast } from './toastManager.js';
2
3
  import { d as defineCustomElement$1 } from './eds-icon-wrapper2.js';
3
4
 
4
5
  const EdsInputSelect = /*@__PURE__*/ proxyCustomElement(class EdsInputSelect extends HTMLElement {
@@ -6,6 +7,12 @@ const EdsInputSelect = /*@__PURE__*/ proxyCustomElement(class EdsInputSelect ext
6
7
  super();
7
8
  this.__registerHost();
8
9
  this.changeEvent = createEvent(this, "changeEvent", 7);
10
+ /**
11
+ * Event handler for the select input's change event.
12
+ * Emits the selected value.
13
+ *
14
+ * @param event The change event from the select input.
15
+ */
9
16
  this.handleChange = (event) => {
10
17
  const target = event.target;
11
18
  this.changeEvent.emit(target.value);
@@ -18,11 +25,64 @@ const EdsInputSelect = /*@__PURE__*/ proxyCustomElement(class EdsInputSelect ext
18
25
  this.error = false;
19
26
  this.required = false;
20
27
  this.options = [];
28
+ this.labelKey = 'label';
29
+ this.valueKey = 'value';
21
30
  this.value = undefined;
31
+ this.dynamicOptions = [];
32
+ this.loading = false;
33
+ this.dynamicValueKey = 'value';
34
+ this.dynamicLabelKey = 'label';
35
+ }
36
+ componentWillLoad() {
37
+ this.loadOptions();
38
+ }
39
+ /**
40
+ * Watches for changes in the `options` prop and loads the options accordingly.
41
+ *
42
+ * If the first object in the options array contains an "endpoint" key,
43
+ * the component will fetch options from the specified endpoint using the configured keys.
44
+ * Otherwise, it will treat the options as static.
45
+ *
46
+ * @async
47
+ */
48
+ async loadOptions() {
49
+ // If the first option contains an "endpoint" key, assume dynamic fetch mode.
50
+ if (this.options && this.options.length > 0 && this.options[0].endpoint) {
51
+ const config = this.options[0];
52
+ const endpoint = config.endpoint;
53
+ this.dynamicValueKey = config.value || 'value';
54
+ this.dynamicLabelKey = config.label || 'label';
55
+ this.loading = true;
56
+ try {
57
+ const response = await fetch(endpoint);
58
+ if (!response.ok) {
59
+ toast.show(`<eds-input-select> HTTP error! Status: ${response.status}`, 'error');
60
+ }
61
+ const data = await response.json();
62
+ // Assume the API returns an array of objects.
63
+ this.dynamicOptions = data;
64
+ }
65
+ catch (error) {
66
+ //console.error('Error fetching dynamic options:', error);
67
+ toast.show(`<eds-input-select> Error fetching dynamic options ${error}`, 'error');
68
+ }
69
+ finally {
70
+ this.loading = false;
71
+ }
72
+ }
73
+ else {
74
+ // No dynamic configuration found, assume static options.
75
+ this.dynamicOptions = this.options;
76
+ this.dynamicValueKey = this.valueKey;
77
+ this.dynamicLabelKey = this.labelKey;
78
+ }
22
79
  }
23
80
  render() {
24
- return (h("div", { key: '9aaa3bf4491078f5b5df6f5f0d3d5f3739f25716', class: "relative" }, h("select", { key: '5f860de772d8d92eb36648bdaaca0c93146e8a68', id: this.inputId || this.name, name: this.name, class: `input invalid:text-lightest pr-32 ${this.error ? 'input-error' : ''}`, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": this.hasMessage || this.error ? `${this.name}-error` : '', disabled: this.disabled, required: this.required, onChange: this.handleChange }, h("option", { key: '2d1e8fa6c5583e0580cbd92d731b731cdd7ecca8', value: "", disabled: true, hidden: true }, "Please select ", this.name), this.options.map((option, index) => (h("option", { key: index, value: option.value }, option.label)))), h("span", { key: 'f62edaae154ce443c964849689b5dc92d9303958', class: `bg-dark rounded-xs absolute top-1/2 right-[6px] flex h-28 w-28 -translate-y-1/2 items-center justify-center ${this.disabled ? 'text-lightest bg-transparent' : ''}` }, h("eds-icon-wrapper", { key: '07d186b6e0a6742a4f6ce39dd275ff1a6f905927', class: "w-20 h-20", icon: "chevron-right" }))));
81
+ return (h("div", { key: '0b45eaae992171cd9795f7bf01883b0f3efbcc13', class: "relative" }, h("select", { key: '0ee8bccb24f7bd65e9347c0b79905154db39dca7', id: this.inputId || this.name, name: this.name, class: `input invalid:text-lightest pr-32 ${this.error ? 'input-error' : ''}`, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": this.hasMessage || this.error ? `${this.name}-error` : '', disabled: this.disabled || this.loading, required: this.required, onChange: this.handleChange }, h("option", { key: 'b1b53dcf8dd3155e8dba28327f05b4725a013435', value: "", disabled: true, hidden: true }, this.loading ? 'Loading options...' : `Please select ${this.name}`), this.dynamicOptions.map((option, index) => (h("option", { key: index, value: option[this.dynamicValueKey] }, option[this.dynamicLabelKey])))), h("span", { key: '3f652e7ed7570b602565af3f0e3c5c91506e4089', class: `bg-dark rounded-xs absolute top-1/2 right-[6px] flex h-28 w-28 -translate-y-1/2 items-center justify-center ${this.disabled || this.loading ? 'text-lightest bg-transparent' : ''}` }, h("eds-icon-wrapper", { key: '2237727060af6286c346f749d2e8e3f7f86c7c70', class: "w-20 h-20", icon: "chevron-right" }))));
25
82
  }
83
+ static get watchers() { return {
84
+ "options": ["loadOptions"]
85
+ }; }
26
86
  }, [0, "eds-input-select", {
27
87
  "inputId": [1, "input-id"],
28
88
  "name": [1],
@@ -32,7 +92,15 @@ const EdsInputSelect = /*@__PURE__*/ proxyCustomElement(class EdsInputSelect ext
32
92
  "error": [4],
33
93
  "required": [4],
34
94
  "options": [16],
35
- "value": [8]
95
+ "labelKey": [1, "label-key"],
96
+ "valueKey": [1, "value-key"],
97
+ "value": [8],
98
+ "dynamicOptions": [32],
99
+ "loading": [32],
100
+ "dynamicValueKey": [32],
101
+ "dynamicLabelKey": [32]
102
+ }, undefined, {
103
+ "options": ["loadOptions"]
36
104
  }]);
37
105
  function defineCustomElement() {
38
106
  if (typeof customElements === "undefined") {
@@ -7,6 +7,7 @@ const EdsLogin$1 = /*@__PURE__*/ proxyCustomElement(class EdsLogin extends HTMLE
7
7
  constructor() {
8
8
  super();
9
9
  this.__registerHost();
10
+ this.__attachShadow();
10
11
  this.authStatusChanged = createEvent(this, "authStatusChanged", 7);
11
12
  // Method to handle user logout
12
13
  this.handleLogout = () => {
@@ -64,9 +65,9 @@ const EdsLogin$1 = /*@__PURE__*/ proxyCustomElement(class EdsLogin extends HTMLE
64
65
  return this.authenticated ? 'Logout' : 'Login';
65
66
  }
66
67
  render() {
67
- 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) })));
68
+ 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) }));
68
69
  }
69
- }, [0, "eds-login", {
70
+ }, [1, "eds-login", {
70
71
  "keycloakUrl": [1, "keycloak-url"],
71
72
  "keycloakRealm": [1, "keycloak-realm"],
72
73
  "keycloakClientId": [1, "keycloak-client-id"],
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface EdsLogoVariations extends Components.EdsLogoVariations, HTMLElement {}
4
+ export const EdsLogoVariations: {
5
+ prototype: EdsLogoVariations;
6
+ new (): EdsLogoVariations;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,60 @@
1
+ import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
+ import { d as defineCustomElement$4 } from './eds-logo2.js';
3
+ import { d as defineCustomElement$3 } from './logo-variations-horizontal2.js';
4
+ import { d as defineCustomElement$2 } from './logo-variations-vertical2.js';
5
+
6
+ const EdsLogoVariations$1 = /*@__PURE__*/ proxyCustomElement(class EdsLogoVariations extends HTMLElement {
7
+ constructor() {
8
+ super();
9
+ this.__registerHost();
10
+ this.tabIndex = undefined;
11
+ }
12
+ renderContent() {
13
+ switch (this.tabIndex) {
14
+ case 0:
15
+ return h("logo-variations-horizontal", null);
16
+ case 1:
17
+ return h("logo-variations-vertical", null);
18
+ default:
19
+ return h("p", null, "Content not available.");
20
+ }
21
+ }
22
+ render() {
23
+ return h("div", { key: '9d6ce0e75030d6e636aab423181b0ce999f6f1b0', class: "container" }, this.renderContent());
24
+ }
25
+ }, [0, "eds-logo-variations", {
26
+ "tabIndex": [2, "tab-index"]
27
+ }]);
28
+ function defineCustomElement$1() {
29
+ if (typeof customElements === "undefined") {
30
+ return;
31
+ }
32
+ const components = ["eds-logo-variations", "eds-logo", "logo-variations-horizontal", "logo-variations-vertical"];
33
+ components.forEach(tagName => { switch (tagName) {
34
+ case "eds-logo-variations":
35
+ if (!customElements.get(tagName)) {
36
+ customElements.define(tagName, EdsLogoVariations$1);
37
+ }
38
+ break;
39
+ case "eds-logo":
40
+ if (!customElements.get(tagName)) {
41
+ defineCustomElement$4();
42
+ }
43
+ break;
44
+ case "logo-variations-horizontal":
45
+ if (!customElements.get(tagName)) {
46
+ defineCustomElement$3();
47
+ }
48
+ break;
49
+ case "logo-variations-vertical":
50
+ if (!customElements.get(tagName)) {
51
+ defineCustomElement$2();
52
+ }
53
+ break;
54
+ } });
55
+ }
56
+
57
+ const EdsLogoVariations = EdsLogoVariations$1;
58
+ const defineCustomElement = defineCustomElement$1;
59
+
60
+ export { EdsLogoVariations, defineCustomElement };
@@ -1,6 +1,6 @@
1
- import { E as EdsSocialNetwork, d as defineCustomElement$1 } from './eds-social-networks2.js';
1
+ import { E as EdsSocialNetworks$1, d as defineCustomElement$1 } from './eds-social-networks2.js';
2
2
 
3
- const EdsSocialNetworks = EdsSocialNetwork;
3
+ const EdsSocialNetworks = EdsSocialNetworks$1;
4
4
  const defineCustomElement = defineCustomElement$1;
5
5
 
6
6
  export { EdsSocialNetworks, defineCustomElement };
@@ -2,10 +2,10 @@ import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/clien
2
2
  import { d as defineCustomElement$2 } from './eds-icon-wrapper2.js';
3
3
  import { d as defineCustomElement$1 } from './eds-link2.js';
4
4
 
5
- const edsSocialNetworkCss = "blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}.f-ui-02{font-family:var(--f-ui-02-fontFamily);font-weight:var(--f-ui-02-fontWeight);font-size:var(--f-ui-02-fontSize);line-height:var(--f-ui-02-lineHeight);letter-spacing:var(--f-ui-02-letterSpacing)}.f-ui-02-light{font-family:var(--f-ui-02-light-fontFamily);font-weight:var(--f-ui-02-light-fontWeight);font-size:var(--f-ui-02-light-fontSize);line-height:var(--f-ui-02-light-lineHeight);letter-spacing:var(--f-ui-02-light-letterSpacing)}.f-ui-03{font-family:var(--f-ui-03-fontFamily);font-weight:var(--f-ui-03-fontWeight);font-size:var(--f-ui-03-fontSize);line-height:var(--f-ui-03-lineHeight);letter-spacing:var(--f-ui-03-letterSpacing)}.mt-12{margin-top:0.75rem}.mt-16{margin-top:1rem}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.gap-4{gap:0.25rem}.effect-color{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms;transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.effect-focus{outline-width:3px;outline-offset:2px;outline-color:var(--green-500)}.text-light{color:var(--grey-700)}.text-lighter{color:var(--grey-600)}.hover\\:text-default:hover{color:var(--black)}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.rounded-sm{border-radius:8px}";
6
- const EdsSocialNetworksStyle0 = edsSocialNetworkCss;
5
+ const edsSocialNetworksCss = "blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}.f-ui-02{font-family:var(--f-ui-02-fontFamily);font-weight:var(--f-ui-02-fontWeight);font-size:var(--f-ui-02-fontSize);line-height:var(--f-ui-02-lineHeight);letter-spacing:var(--f-ui-02-letterSpacing)}.f-ui-02-light{font-family:var(--f-ui-02-light-fontFamily);font-weight:var(--f-ui-02-light-fontWeight);font-size:var(--f-ui-02-light-fontSize);line-height:var(--f-ui-02-light-lineHeight);letter-spacing:var(--f-ui-02-light-letterSpacing)}.f-ui-03{font-family:var(--f-ui-03-fontFamily);font-weight:var(--f-ui-03-fontWeight);font-size:var(--f-ui-03-fontSize);line-height:var(--f-ui-03-lineHeight);letter-spacing:var(--f-ui-03-letterSpacing)}.mt-12{margin-top:0.75rem}.mt-16{margin-top:1rem}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.gap-4{gap:0.25rem}.effect-color{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms;transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.effect-focus{outline-width:3px;outline-offset:2px;outline-color:var(--green-500)}.text-light{color:var(--grey-700)}.text-lighter{color:var(--grey-600)}.hover\\:text-default:hover{color:var(--black)}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.rounded-sm{border-radius:8px}";
6
+ const EdsSocialNetworksStyle0 = edsSocialNetworksCss;
7
7
 
8
- const EdsSocialNetwork = /*@__PURE__*/ proxyCustomElement(class EdsSocialNetwork extends HTMLElement {
8
+ const EdsSocialNetworks = /*@__PURE__*/ proxyCustomElement(class EdsSocialNetworks extends HTMLElement {
9
9
  constructor() {
10
10
  super();
11
11
  this.__registerHost();
@@ -58,7 +58,7 @@ const EdsSocialNetwork = /*@__PURE__*/ proxyCustomElement(class EdsSocialNetwork
58
58
  * @returns {JSX.Element} The rendered JSX for the component.
59
59
  */
60
60
  render() {
61
- 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" })))))));
61
+ 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" })))))));
62
62
  }
63
63
  static get style() { return EdsSocialNetworksStyle0; }
64
64
  }, [1, "eds-social-networks", {
@@ -72,7 +72,7 @@ function defineCustomElement() {
72
72
  components.forEach(tagName => { switch (tagName) {
73
73
  case "eds-social-networks":
74
74
  if (!customElements.get(tagName)) {
75
- customElements.define(tagName, EdsSocialNetwork);
75
+ customElements.define(tagName, EdsSocialNetworks);
76
76
  }
77
77
  break;
78
78
  case "eds-icon-wrapper":
@@ -88,4 +88,4 @@ function defineCustomElement() {
88
88
  } });
89
89
  }
90
90
 
91
- export { EdsSocialNetwork as E, defineCustomElement as d };
91
+ export { EdsSocialNetworks as E, defineCustomElement as d };
@@ -315,6 +315,11 @@ const EdsSvgRepository$1 = /*@__PURE__*/ proxyCustomElement(class EdsSvgReposito
315
315
  icon: svgContent // Pass SVG content as innerHTML
316
316
  }));
317
317
  }
318
+ get hostWidth() {
319
+ // Instead of using window.innerWidth, use the parent element's width.
320
+ const containerWidth = this.hostEl.parentElement ? this.hostEl.parentElement.offsetWidth : 400;
321
+ return containerWidth;
322
+ }
318
323
  render() {
319
324
  const svgData = this.getSvgData();
320
325
  // Define table configuration
@@ -322,8 +327,9 @@ const EdsSvgRepository$1 = /*@__PURE__*/ proxyCustomElement(class EdsSvgReposito
322
327
  icon: { format: 'svg' },
323
328
  name: { format: 'bold' }
324
329
  };
325
- return (h("eds-table", { key: 'd5b4cdb69826e22d716bf9bf4ff7fb9ab1f65044', data: JSON.stringify(svgData), config: JSON.stringify(tableConfig), "rows-per-page": 10, "search-enabled": true, "pagination-enabled": true }));
330
+ return (h("eds-table", { key: 'a1d4a1db6f0886a43513fc34707cdd6140ab685d', data: JSON.stringify(svgData), config: JSON.stringify(tableConfig), "rows-per-page": 10, "search-enabled": true, "pagination-enabled": true, "host-width": this.hostWidth }));
326
331
  }
332
+ get hostEl() { return this; }
327
333
  }, [1, "eds-svg-repository"]);
328
334
  function defineCustomElement$1() {
329
335
  if (typeof customElements === "undefined") {