@ebrains/vue 0.2.0-alpha.0 → 0.4.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 (161) hide show
  1. package/{color-0ba8ed56-BVeDdJAE.js → color-bb472c37-CKu54kOY.js} +1 -1
  2. package/{color-0ba8ed56-D-UJpBQL.mjs → color-bb472c37-DDERsxdk.mjs} +6 -6
  3. package/color-primary-palette_6.entry-BB6740d4.js +1 -0
  4. package/{color-primary-palette_6.entry-CfqMCd3g.mjs → color-primary-palette_6.entry-CSDWEKLH.mjs} +17 -17
  5. package/correct-use-of-colors.entry-LuyuqIQ9.js +1 -0
  6. package/correct-use-of-colors.entry-hvZ1z3tc.mjs +59 -0
  7. package/{eds-alert_28.entry-DbTB72ow.mjs → eds-accordion_33.entry-DFgdjlJE.mjs} +709 -270
  8. package/{eds-alert_28.entry-Ctl9tHqr.js → eds-accordion_33.entry-DlnbmQ6R.js} +14 -11
  9. package/{eds-card-project.entry-XK15egnP.js → eds-card-project.entry-BQ-dH8vM.js} +1 -1
  10. package/{eds-card-project.entry-CKYhNPPH.mjs → eds-card-project.entry-C3eyu1U0.mjs} +2 -2
  11. package/{eds-card-section.entry-B7jR75ty.js → eds-card-section.entry-DU-1TB0I.js} +1 -1
  12. package/{eds-card-section.entry-x8CPk5NZ.mjs → eds-card-section.entry-Dxk-Ob_Y.mjs} +14 -8
  13. package/eds-card-tags.entry-CIu6lD0P.mjs +13 -0
  14. package/eds-card-tags.entry-YPPBWdFq.js +1 -0
  15. package/{eds-card-tool.entry-DFuXjfhh.mjs → eds-card-tool.entry-1_RNWh8n.mjs} +2 -2
  16. package/{eds-card-tool.entry-DZqHML8u.js → eds-card-tool.entry-DgBqQucY.js} +1 -1
  17. package/{eds-card-wrapper.entry-C_r0u0Fd.js → eds-card-wrapper.entry-BfCDGeFs.js} +1 -1
  18. package/{eds-card-wrapper.entry-DNnlCvMe.mjs → eds-card-wrapper.entry-C4pNRjIj.mjs} +2 -2
  19. package/{eds-code-block.entry-DwfHDe4j.mjs → eds-code-block.entry-B2xATQ7r.mjs} +87 -46
  20. package/{eds-code-block.entry-ClmjgThG.js → eds-code-block.entry-DQEDpAjn.js} +3 -3
  21. package/eds-components-section.entry-D08woahG.js +132 -0
  22. package/{eds-components-section.entry-BSRNSdwF.mjs → eds-components-section.entry-DR-984-3.mjs} +93 -42
  23. package/{eds-docs-palettes.entry-BlQEI2Bl.mjs → eds-docs-palettes.entry-B0yU2ZpL.mjs} +2 -2
  24. package/{eds-docs-palettes.entry-Gi9kzOYC.js → eds-docs-palettes.entry-qKOj3XU9.js} +1 -1
  25. package/{eds-docs-tokens.entry-Bxzd9uSz.mjs → eds-docs-tokens.entry-BVHiM7cK.mjs} +2 -2
  26. package/{eds-docs-tokens.entry-G6O1zRxS.js → eds-docs-tokens.entry-BtRXzjrp.js} +1 -1
  27. package/{eds-icon-arrow-diagonal.entry-C06V6TIW.js → eds-icon-arrow-diagonal.entry-DjDB--sU.js} +1 -1
  28. package/{eds-icon-arrow-diagonal.entry-Ky6NoFbS.mjs → eds-icon-arrow-diagonal.entry-E5xC3m8H.mjs} +1 -1
  29. package/{eds-icon-arrow-right.entry-BPHnm7pX.mjs → eds-icon-arrow-right.entry-DaXIkUew.mjs} +1 -1
  30. package/{eds-icon-arrow-right.entry-Dv17zi29.js → eds-icon-arrow-right.entry-odZ8U-W2.js} +1 -1
  31. package/{eds-icon-bluesky.entry-7_AzEVLl.mjs → eds-icon-bluesky.entry-B3yW2mUC.mjs} +1 -1
  32. package/{eds-icon-bluesky.entry-DQshm0EA.js → eds-icon-bluesky.entry-Dppj9cuC.js} +1 -1
  33. package/{eds-icon-chevron-down.entry-BlnVbI1I.js → eds-icon-chevron-down.entry-CidjiGQS.js} +1 -1
  34. package/{eds-icon-chevron-down.entry-DkcBkTRK.mjs → eds-icon-chevron-down.entry-xWODzTE-.mjs} +1 -1
  35. package/{eds-icon-chevron-left.entry-BwhZiPKE.mjs → eds-icon-chevron-left.entry-CJyHE01I.mjs} +1 -1
  36. package/{eds-icon-chevron-left.entry-BTxaVVnF.js → eds-icon-chevron-left.entry-DjJj-hmG.js} +1 -1
  37. package/{eds-icon-chevron-right.entry-c4irNhqS.js → eds-icon-chevron-right.entry-D8RyOADq.js} +1 -1
  38. package/{eds-icon-chevron-right.entry-BPKLFXW0.mjs → eds-icon-chevron-right.entry-iy6d6tux.mjs} +1 -1
  39. package/{eds-icon-chevron-up.entry-oja5yYhS.mjs → eds-icon-chevron-up.entry-TKCdY_T3.mjs} +1 -1
  40. package/{eds-icon-chevron-up.entry-CFiZyc6u.js → eds-icon-chevron-up.entry-ezV-v92v.js} +1 -1
  41. package/{eds-icon-close.entry-5BdzrFmk.mjs → eds-icon-close.entry-Brv3Uxu1.mjs} +1 -1
  42. package/{eds-icon-close.entry-DQD_dDo5.js → eds-icon-close.entry-CE-Nory7.js} +1 -1
  43. package/{eds-icon-copy.entry-CQ237xrq.js → eds-icon-copy.entry-Bpe3I5b6.js} +1 -1
  44. package/{eds-icon-copy.entry-jpUaAQ7k.mjs → eds-icon-copy.entry-DQioS3t7.mjs} +1 -1
  45. package/{eds-icon-eu.entry-CjCnJWwP.js → eds-icon-eu.entry-BzmYOiKL.js} +1 -1
  46. package/{eds-icon-eu.entry-gJ234Xni.mjs → eds-icon-eu.entry-KylDo55P.mjs} +1 -1
  47. package/{eds-icon-facebook.entry-BHUSe9LK.js → eds-icon-facebook.entry-DWZ02rD5.js} +1 -1
  48. package/{eds-icon-facebook.entry-Ch94iA-s.mjs → eds-icon-facebook.entry-DpS2m4v2.mjs} +1 -1
  49. package/{eds-icon-gitlab.entry-j6RBYOBc.js → eds-icon-gitlab.entry-D8PM12SK.js} +1 -1
  50. package/{eds-icon-gitlab.entry-B06LmNCU.mjs → eds-icon-gitlab.entry-JX-5azIw.mjs} +1 -1
  51. package/{eds-icon-linkedin.entry-CMW1rKpG.mjs → eds-icon-linkedin.entry-BylIVu8G.mjs} +1 -1
  52. package/{eds-icon-linkedin.entry-DouHzclR.js → eds-icon-linkedin.entry-CstoPbTS.js} +1 -1
  53. package/{eds-icon-loader.entry-BlGbpEzt.js → eds-icon-loader.entry-CaGFh0gM.js} +1 -1
  54. package/{eds-icon-loader.entry-Cx_ffiBq.mjs → eds-icon-loader.entry-DZyUa8Na.mjs} +1 -1
  55. package/{eds-icon-mastodon.entry-C4ITVPfN.mjs → eds-icon-mastodon.entry-BIckHn_q.mjs} +1 -1
  56. package/{eds-icon-mastodon.entry-Cpl3lSng.js → eds-icon-mastodon.entry-DxNG__-Y.js} +1 -1
  57. package/{eds-icon-menu.entry-DvQARmJU.mjs → eds-icon-menu.entry-C9N6s8Oa.mjs} +1 -1
  58. package/{eds-icon-menu.entry-BcPeEfV2.js → eds-icon-menu.entry-DwN-ZAWi.js} +1 -1
  59. package/{eds-icon-more.entry-m61loZHO.js → eds-icon-more.entry-68jT9AEw.js} +1 -1
  60. package/{eds-icon-more.entry-BoAVOpyT.mjs → eds-icon-more.entry-MUkUL_e2.mjs} +1 -1
  61. package/{eds-icon-search.entry-D-nQvhug.mjs → eds-icon-search.entry-CcwwFnns.mjs} +1 -1
  62. package/{eds-icon-search.entry-BJMtVlnR.js → eds-icon-search.entry-CrfMqbyi.js} +1 -1
  63. package/{eds-icon-success.entry-D8S7QlRm.mjs → eds-icon-success.entry-BUzsze9h.mjs} +1 -1
  64. package/{eds-icon-success.entry-DvIchNgX.js → eds-icon-success.entry-CACuZjP6.js} +1 -1
  65. package/{eds-icon-twitter.entry-DD48tnaV.mjs → eds-icon-twitter.entry-B1Iw69NW.mjs} +1 -1
  66. package/{eds-icon-twitter.entry-CD1nT3iI.js → eds-icon-twitter.entry-BbStwaGv.js} +1 -1
  67. package/{eds-icon-user.entry-DSPBBAZa.mjs → eds-icon-user.entry-CNo6pger.mjs} +1 -1
  68. package/{eds-icon-user.entry-DDRH46_Z.js → eds-icon-user.entry-vYVsxfK7.js} +1 -1
  69. package/{eds-icon-youtube.entry-BRyOsCV-.mjs → eds-icon-youtube.entry-CBU7Dvkh.mjs} +1 -1
  70. package/{eds-icon-youtube.entry-CfpQHgDF.js → eds-icon-youtube.entry-CmCAFp7D.js} +1 -1
  71. package/{eds-login.entry-CY0ZugpF.js → eds-login.entry-Bfztcsrc.js} +1 -1
  72. package/{eds-login.entry-bC6f6bvF.mjs → eds-login.entry-XqWPWCDL.mjs} +7 -7
  73. package/eds-logo-variations.entry-CUD-M_Fd.js +1 -0
  74. package/eds-logo-variations.entry-Cy_fbJLx.mjs +22 -0
  75. package/{eds-matomo-notice.entry-DanLI8VZ.js → eds-matomo-notice.entry-CytVSgYS.js} +1 -1
  76. package/{eds-matomo-notice.entry-DGHq-ICP.mjs → eds-matomo-notice.entry-kSuLDx9K.mjs} +2 -2
  77. package/{eds-navigator.entry-CUAf3hTM.js → eds-navigator.entry-BJTqtqld.js} +1 -1
  78. package/{eds-navigator.entry-D-fIKqub.mjs → eds-navigator.entry-DdzcXSRW.mjs} +1 -1
  79. package/eds-pagination_2.entry-B5PLo2Uu.mjs +249 -0
  80. package/eds-pagination_2.entry-DUsG8tcv.js +1 -0
  81. package/eds-progress-bar.entry-BBFsASiy.js +1 -0
  82. package/eds-progress-bar.entry-DdqH0plT.mjs +21 -0
  83. package/{eds-rating.entry-B2lhi19L.mjs → eds-rating.entry-CErokyKU.mjs} +6 -8
  84. package/{eds-rating.entry-BdE-bKae.js → eds-rating.entry-p9oWKCkQ.js} +1 -1
  85. package/{eds-section-core_2.entry-CqFyAWoq.mjs → eds-section-core_2.entry-D3HYngR_.mjs} +1 -1
  86. package/{eds-section-core_2.entry-BRNJshCh.js → eds-section-core_2.entry-D_nLUa29.js} +1 -1
  87. package/{eds-svg-repository.entry-qaL9fhLI.mjs → eds-svg-repository.entry-C-kayEdW.mjs} +71 -65
  88. package/{eds-svg-repository.entry-BdZya_DA.js → eds-svg-repository.entry-in72TP_1.js} +12 -12
  89. package/{eds-tab.entry-BqqMdTQv.mjs → eds-tab.entry-BKYSiEkl.mjs} +1 -1
  90. package/{eds-tab.entry-C6q7naM_.js → eds-tab.entry-BUzZWKac.js} +1 -1
  91. package/{eds-tabs-content.entry-D9b289Td.mjs → eds-tabs-content.entry-3cyCQAth.mjs} +4 -4
  92. package/{eds-tabs-content.entry-H__1SNbo.js → eds-tabs-content.entry-Cg7U8c5D.js} +1 -1
  93. package/{eds-tabs.entry-KsWwc6xS.mjs → eds-tabs.entry-B8q09in2.mjs} +24 -7
  94. package/eds-tabs.entry-DS6qBEo7.js +1 -0
  95. package/eds-timeline.entry-DEcov8mq.js +1 -0
  96. package/eds-timeline.entry-DhHSQScv.mjs +51 -0
  97. package/{eds-tooltip.entry-ByxJjA_6.mjs → eds-tooltip.entry-BTunlfGS.mjs} +14 -6
  98. package/eds-tooltip.entry-sjwuhdKF.js +1 -0
  99. package/eds-trl.entry-BHrlC_5O.js +1 -0
  100. package/eds-trl.entry-Bt28XH55.mjs +34 -0
  101. package/generated/components.d.ts +1 -0
  102. package/incorrect-use-of-colors.entry-DkY89xG1.mjs +42 -0
  103. package/incorrect-use-of-colors.entry-e4VhTVHS.js +1 -0
  104. package/index-D2H_BflF.js +21 -0
  105. package/{index-DQrtrXyM.mjs → index-I5Asbjce.mjs} +338 -363
  106. package/index.js +1 -1
  107. package/index.mjs +15 -14
  108. package/{logo-space.entry-DpgwdyOK.js → logo-space.entry-DsM5jXgX.js} +1 -1
  109. package/{logo-space.entry-OauRHmO8.mjs → logo-space.entry-GnVq-srD.mjs} +4 -4
  110. package/logo-variations-horizontal_2.entry-BeQ_r9Li.js +7 -0
  111. package/logo-variations-horizontal_2.entry-CC7tj8Hr.mjs +29 -0
  112. package/logo-wrong-usage.entry-Ct1Ae63m.mjs +14 -0
  113. package/logo-wrong-usage.entry-DkqcMaqp.js +1 -0
  114. package/package.json +1 -4
  115. package/{token-list_3.entry-Ca9muGhp.mjs → token-list_3.entry-CReCwFzO.mjs} +4 -4
  116. package/{token-list_3.entry-CVZDegic.js → token-list_3.entry-DaIOT7_R.js} +1 -1
  117. package/{token-ratios.entry-D3JWYlHy.mjs → token-ratios.entry-Dh8kvz8R.mjs} +2 -2
  118. package/{token-ratios.entry-DGMJ2vJj.js → token-ratios.entry-aBiRsmfr.js} +1 -1
  119. package/token-spacing.entry-C5HX4qPq.mjs +12 -0
  120. package/token-spacing.entry-DDiMRsNO.js +1 -0
  121. package/{token-typography.entry-DwUOTznz.mjs → token-typography.entry-CIETKadf.mjs} +2 -2
  122. package/{token-typography.entry-C8CdhyIM.js → token-typography.entry-DG-4k5gY.js} +1 -1
  123. package/color-primary-palette_6.entry-CoXWiKJ3.js +0 -1
  124. package/correct-use-of-colors.entry-CfXsWbhB.js +0 -1
  125. package/correct-use-of-colors.entry-CotQESQa.mjs +0 -59
  126. package/eds-accordion.entry-BsT7Ved4.mjs +0 -58
  127. package/eds-accordion.entry-BvDNoDvv.js +0 -4
  128. package/eds-block-break.entry-B8gP4ig9.mjs +0 -13
  129. package/eds-block-break.entry-L9LG-PtO.js +0 -1
  130. package/eds-breadcrumb.entry-C6mAAYNs.js +0 -1
  131. package/eds-breadcrumb.entry-Dio_2hx4.mjs +0 -114
  132. package/eds-card-tags.entry-Bvn8dDXI.mjs +0 -13
  133. package/eds-card-tags.entry-CndclGXB.js +0 -1
  134. package/eds-components-section.entry-8sEheaoX.js +0 -130
  135. package/eds-footer.entry-9xXgg22T.mjs +0 -29
  136. package/eds-footer.entry-DqnRHQ32.js +0 -1
  137. package/eds-frame.entry-Bz-23eT7.js +0 -1
  138. package/eds-frame.entry-YVbNIAAz.mjs +0 -74
  139. package/eds-fullscreen-menu.entry-4kxB1p-j.mjs +0 -74
  140. package/eds-fullscreen-menu.entry-DwOubHgX.js +0 -1
  141. package/eds-modal.entry-Bikh63fB.mjs +0 -65
  142. package/eds-modal.entry-TMxTmjgT.js +0 -1
  143. package/eds-pagination.entry-C8g4pxcm.js +0 -1
  144. package/eds-pagination.entry-D6iJH84k.mjs +0 -128
  145. package/eds-social-networks.entry-6VfWBLuR.js +0 -1
  146. package/eds-social-networks.entry-BgiRVGXx.mjs +0 -50
  147. package/eds-table.entry-BojRZdP2.mjs +0 -112
  148. package/eds-table.entry-ShWS4LWJ.js +0 -1
  149. package/eds-tabs.entry-DGHlnSwh.js +0 -1
  150. package/eds-tooltip.entry-BI1EvTiw.js +0 -1
  151. package/incorrect-use-of-colors.entry-C7xABbpE.js +0 -1
  152. package/incorrect-use-of-colors.entry-DNOV6p4p.mjs +0 -42
  153. package/index-BGGkUjck.js +0 -21
  154. package/logo-variations-horizontal.entry-BG8fM5Bs.js +0 -4
  155. package/logo-variations-horizontal.entry-BicKkgRN.mjs +0 -16
  156. package/logo-variations-vertical.entry-CXVFf9-0.mjs +0 -16
  157. package/logo-variations-vertical.entry-DJ-IpAyZ.js +0 -4
  158. package/logo-wrong-usage.entry-7MfyIkPp.js +0 -1
  159. package/logo-wrong-usage.entry-CH7JMqbI.mjs +0 -14
  160. package/token-spacing.entry-CdrdqAOb.js +0 -1
  161. package/token-spacing.entry-CjITQ8pH.mjs +0 -12
@@ -1,11 +1,55 @@
1
- import { r as d, h as e, g as s, c as h } from "./index-DQrtrXyM.mjs";
2
- import { c as b } from "./index-39c58238-BwYCDOHZ.mjs";
3
- import { g as u, s as f } from "./color-0ba8ed56-D-UJpBQL.mjs";
4
- import { t as x } from "./toastManager-d9eee791-CEYNwx25.mjs";
1
+ import { r as s, c as h, h as e, g as d } from "./index-I5Asbjce.mjs";
2
+ import { s as g, g as u } from "./color-bb472c37-DDERsxdk.mjs";
3
+ import { c as f } from "./index-39c58238-BwYCDOHZ.mjs";
4
+ import { t as b } from "./toastManager-d9eee791-CEYNwx25.mjs";
5
5
  import { h as p } from "./logo-color-7f1fd803-CFgbXdt8.mjs";
6
6
  import { h as y, a as v, b as w, c as k, v as z, d as S, e as C, f as F, g as E } from "./logo-white-no-bg-f382f86f-YhfmNmGG.mjs";
7
- import { l as I, a as H, c as A, i as W, b as L, g as j } from "./keycloak-13893af6-BLzE1H6E.mjs";
8
- const O = `:root {
7
+ import { l as I, a as L, c as H, i as A, b as W, g as j } from "./keycloak-13893af6-BLzE1H6E.mjs";
8
+ const O = "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}.min-h-36{min-height:2.25rem}.min-h-44{min-height:2.75rem}.min-h-56{min-height:3.5rem}.container{width:calc(var(--container-width, 100%) - (2 * var(--breakout-container-outer-gutter, var(--container-outer-gutter, var(--outer-gutter, 0)))));margin-right:auto;margin-left:auto}.container>*{--container-outer-gutter:0;--breakout-container-outer-gutter:0}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.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)}.border-softer{border:2px solid rgba(0, 0, 0, .1)}.bg-default{background-color:var(--grey-200)}.bg-inverse{background-color:var(--white)}.relative{position:relative}.absolute{position:absolute}.inset-x-16{left:1rem;right:1rem}.top-16{top:1rem}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.line-clamp-4{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}.w-full{width:100%}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.rounded-md{border-radius:12px}.outline-none{outline:2px solid transparent;outline-offset:2px}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.text-light{color:var(--grey-700)}.z-1{z-index:1}.z-10{z-index:10}.effect-height{transition-duration:300ms;transition-timing-function:cubic-bezier(0, 0, 0.2, 1);transition-property:height}.h-0{height:0rem}.h-auto{height:auto}.pt-20{padding-top:1.25rem}.overflow-hidden{overflow:hidden}.grid{display:grid}.overflow-hidden{overflow:hidden}.rounded-lg{border-radius:16px}.border-2{border-width:2px}.p-16{padding:1rem}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.f-heading-05{font-family:var(--f-heading-05-fontFamily);font-weight:var(--f-heading-05-fontWeight);font-size:var(--f-heading-05-fontSize);line-height:var(--f-heading-05-lineHeight);letter-spacing:var(--f-heading-05-letterSpacing)}.f-heading-06{font-family:var(--f-heading-06-fontFamily);font-weight:var(--f-heading-06-fontWeight);font-size:var(--f-heading-06-fontSize);line-height:var(--f-heading-06-lineHeight);letter-spacing:var(--f-heading-06-letterSpacing)}.text-left{text-align:left}.text-center{text-align:center}", R = O, M = class {
9
+ constructor(n) {
10
+ s(this, n), this.accordionChange = h(this, "accordionChange", 7), this.handleClick = () => {
11
+ var i;
12
+ this.isExpanded = !this.isExpanded, this.accordionChange.emit(this.isExpanded), this.setPanelHeight(), g({
13
+ category: "ui-component",
14
+ parentContext: null,
15
+ tag: this.el.tagName.toLowerCase(),
16
+ name: ((i = this.title) === null || i === void 0 ? void 0 : i.toLowerCase()) || "",
17
+ action: this.isExpanded ? "expanded" : "collapsed"
18
+ });
19
+ }, this.setPanelHeight = () => {
20
+ this.childContentRef && (this.shortContent = this.wrapperRef.scrollWidth > 830 && !this.description ? this.childContentRef.scrollHeight <= 80 : this.childContentRef.scrollHeight <= 20, this.panelHeight = this.isExpanded && !this.shortContent ? this.childContentRef.scrollHeight : 0);
21
+ }, this.title = void 0, this.description = void 0, this.switchBg = !0, this.expanded = !1, this.clampText = !0, this.minHeightContent = !1, this.isExpanded = this.expanded, this.panelHeight = 0, this.shortContent = !1;
22
+ }
23
+ /**
24
+ * Lifecycle method that sets up the initial panel height and adds a resize event listener
25
+ * to recalculate height on window resize.
26
+ */
27
+ componentDidLoad() {
28
+ this.setPanelHeight(), window.addEventListener("resize", this.setPanelHeight);
29
+ }
30
+ /**
31
+ * Lifecycle method that cleans up the resize event listener when the component is removed.
32
+ */
33
+ disconnectedCallback() {
34
+ window.removeEventListener("resize", this.setPanelHeight);
35
+ }
36
+ /**
37
+ * Renders the accordion structure, including header, content, description, and any slotted content.
38
+ * Adjusts styles based on `switchBg`, `tiny`, `clampText`, and other props.
39
+ */
40
+ render() {
41
+ const n = this.minHeightContent ? "min-h-56" : "";
42
+ return e("div", { key: "14811b7517511999f97dc8d486f6c1138d89538b", ref: (i) => this.wrapperRef = i, class: `container flex effect-color border-softer relative grid overflow-hidden rounded-lg border-2 p-16
43
+ ${this.switchBg && this.isExpanded ? "bg-inverse" : "bg-default"}
44
+ ${this.switchBg ? "hover:bg-inverse" : ""}
45
+ ${n}` }, e("h3", { key: "a55ab98b74555ab2ff470d824106d3ff2e9b7fec", class: "mr-auto f-heading-06 text-left absolute inset-x-16 top-16 line-clamp-1" }, this.title), e("div", { key: "b3a76425eed4d05404a51d8991070a12cd1609a1", class: "ml-auto" }, e("eds-button", { key: "06ddefe21175e4bc28ef4477f5fd552689e1cd31", id: "accordionId", intent: "tertiary", "aria-expanded": this.isExpanded || this.shortContent, "aria-controls": "accordionId", class: "effect-color flex w-full items-center justify-between rounded-md outline-none focus:outline-none", onClick: this.handleClick, icon: "chevron-down" })), e("div", { key: "7330f2824689a61e82c42f00f79e12d4148df2f9", class: "w-full" }, this.description ? e("span", { class: `text-light ${!this.isExpanded && this.clampText ? "line-clamp-1" : ""}` }, this.description) : null, e("section", { key: "533e8014f43ed6d50424f02bfb793456187badd9", id: "sectionId", "aria-hidden": !this.isExpanded, class: `z-1 effect-height relative h-0 w-full ${!this.isExpanded && this.clampText ? "overflow-hidden" : ""}`, style: { height: this.isExpanded ? "auto" : "0" } }, e("div", { key: "02a0fa8a79942cd2bc760eb62da9cb910252b6cd", ref: (i) => this.childContentRef = i, class: "accordion-content effect-color pt-20", "aria-hidden": !this.isExpanded }, e("span", { key: "33edc6bc83eb4eaa49ae5482841ae642a60ffde8", class: `${!this.isExpanded && this.clampText ? "line-clamp-2" : ""}` }, e("slot", { key: "bbbc3fa2b8fc5be7f55d6a45f0f37dc569706ac8" }))))));
46
+ }
47
+ get el() {
48
+ return d(this);
49
+ }
50
+ };
51
+ M.style = R;
52
+ const T = `:root {
9
53
  font-optical-sizing: auto;
10
54
  }
11
55
  html,
@@ -612,7 +656,7 @@ img {
612
656
  .after\\:border-softest::after {
613
657
  border-color: rgba(0, 0, 0, .05 );
614
658
  }
615
- `, R = O, T = b(["w-full bg-dark rounded-lg border-inside after:border-softest after:rounded-lg"], {
659
+ `, B = T, U = f(["w-full bg-dark rounded-lg border-inside after:border-softest after:rounded-lg"], {
616
660
  variants: {
617
661
  intent: {
618
662
  default: "",
@@ -655,17 +699,16 @@ img {
655
699
  intent: "default",
656
700
  direction: "horizontal"
657
701
  }
658
- }), U = class {
702
+ }), _ = class {
659
703
  constructor(n) {
660
- d(this, n), this.message = void 0, this.pressableLabel = void 0, this.pressableUrl = void 0, this.direction = "horizontal", this.intent = "default", this.withBtn = !1;
704
+ s(this, n), this.message = void 0, this.pressableLabel = void 0, this.pressableUrl = void 0, this.direction = "horizontal", this.intent = "default", this.withBtn = !1;
661
705
  }
662
706
  componentWillLoad() {
663
707
  this.withBtn = !!this.pressableLabel;
664
708
  }
665
709
  componentDidLoad() {
666
- this.el.shadowRoot.querySelectorAll("eds-link").forEach((i) => {
667
- this.emitContext(i);
668
- });
710
+ const n = this.el.shadowRoot.querySelector("eds-link");
711
+ this.emitContext(n);
669
712
  }
670
713
  emitContext(n) {
671
714
  const i = new CustomEvent("parentContext", {
@@ -677,18 +720,18 @@ img {
677
720
  n.dispatchEvent(i);
678
721
  }
679
722
  render() {
680
- return e("div", { key: "99518cd34cbfc04691f2f827b53105ef88c03af8", class: T({
723
+ return e("div", { key: "089491004acd618827ef139a7c2ef486726cea9d", class: U({
681
724
  intent: this.intent,
682
725
  direction: this.direction,
683
726
  withBtn: this.withBtn
684
- }), role: "alert" }, e("p", { key: "7eca97c849473bb4c8472d11243dc5eb9dded61f", class: "f-ui-01 py-8" }, this.message), this.withBtn && (this.pressableUrl ? e("eds-link", { class: "eds-alert-link", label: this.pressableLabel, url: this.pressableUrl, intent: "secondary" }) : null));
727
+ }), role: "alert" }, e("p", { key: "9a54555621b492f65b38ecd3cbb44660bf516e51", class: "f-ui-01 py-8" }, this.message), this.withBtn && (this.pressableUrl ? e("eds-link", { class: "eds-alert-link", label: this.pressableLabel, url: this.pressableUrl, intent: "secondary", external: !0 }) : null));
685
728
  }
686
729
  get el() {
687
- return s(this);
730
+ return d(this);
688
731
  }
689
732
  };
690
- U.style = R;
691
- const M = `.border-inside {
733
+ _.style = B;
734
+ const D = `.border-inside {
692
735
  position: relative;
693
736
 
694
737
  &::after {
@@ -836,9 +879,9 @@ const M = `.border-inside {
836
879
 
837
880
  .w-\\[54px\\] {
838
881
  width: 54px;
839
- }`, B = M, _ = class {
882
+ }`, Y = D, $ = class {
840
883
  constructor(n) {
841
- d(this, n), this.firstName = void 0, this.lastName = void 0, this.picture = void 0, this.initials = void 0, this.color = void 0, this.rounded = !1, this.initialsStrong = !1;
884
+ s(this, n), this.firstName = void 0, this.lastName = void 0, this.picture = void 0, this.initials = void 0, this.color = void 0, this.rounded = !1, this.initialsStrong = !1;
842
885
  }
843
886
  /**
844
887
  * Computed initials based on the provided `initials` prop or derived from `firstName` and `lastName`.
@@ -877,11 +920,129 @@ const M = `.border-inside {
877
920
  * @returns {JSX.Element} The rendered avatar component.
878
921
  */
879
922
  render() {
880
- return e("div", { key: "716279a35cc9235da991563d5f84d2dedbdae001", class: this.containerClasses }, this.picture ? e("eds-img", { src: this.picture, width: 54, height: 54, sizes: "120px", alt: `${this.firstName} ${this.lastName}`, lazyload: !0, withBg: !0 }) : e("abbr", { title: this.computedInitials || `${this.firstName} ${this.lastName}`, class: "!no-underline f-ui-01" }, this.computedInitials));
923
+ return e("div", { key: "3ba716296c615d31ce7f3f41fd57e732adc530bf", class: this.containerClasses }, this.picture ? e("eds-img", { src: this.picture, width: 54, height: 54, sizes: "120px", alt: `${this.firstName} ${this.lastName}`, lazyload: !0, withBg: !0 }) : e("abbr", { title: this.computedInitials || `${this.firstName} ${this.lastName}`, class: "!no-underline f-ui-01" }, this.computedInitials));
881
924
  }
882
925
  };
883
- _.style = B;
884
- const D = `@font-face {
926
+ $.style = Y;
927
+ const N = ".border-soft{border-color:rgba(0, 0, 0, .15)}.border-softer{border-color:rgba(0, 0, 0, .1)}.border-softest{border-color:rgba(0, 0, 0, .05)}.my-16{margin-top:1rem;margin-bottom:1rem}.my-20{margin-top:1.25rem;margin-bottom:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.w-full{width:100%}.border-t-2{border-top-width:2px}", P = N, q = class {
928
+ constructor(n) {
929
+ s(this, n), this.extraClass = "";
930
+ }
931
+ render() {
932
+ return e("hr", { key: "58ffdece778da8f323dd130908254690b3f6c8d3", class: `border-softer my-20 inline-block w-full border-t-2 ${this.extraClass}` });
933
+ }
934
+ };
935
+ q.style = P;
936
+ const X = "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}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.items-center{align-items:center}.justify-center{justify-content:center}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.125rem * var(--tw-space-x-reverse));margin-left:calc(0.125rem * calc(1 - var(--tw-space-x-reverse)))}.px-2{padding-left:0.125rem;padding-right:0.125rem}.w-20{width:1.25rem}.w-28{width:1.75rem}.w-32{width:2rem}.w-44{width:2.75rem}.h-20{height:1.25rem}.h-24{height:1.5rem}.h-28{height:1.75rem}.h-32{height:2rem}@media (min-width: 750px){.md\\:block{display:block}}", V = X, K = class {
937
+ constructor(n) {
938
+ s(this, n), this.updateScreenSize = () => {
939
+ const i = window.innerWidth;
940
+ i < 769 ? (this.maxVisibleItems = 3, this.isSmallScreen = !0) : i <= 1024 ? (this.maxVisibleItems = 4, this.isSmallScreen = !0) : (this.maxVisibleItems = 6, this.isSmallScreen = !1);
941
+ }, this.items = [], this.intent = "ghost", this.parsedItems = [], this.isSmallScreen = !1, this.maxVisibleItems = 6;
942
+ }
943
+ /**
944
+ * Watches for changes to the `items` prop and parses it.
945
+ */
946
+ parseItems(n) {
947
+ if (typeof n == "string")
948
+ try {
949
+ const i = JSON.parse(n);
950
+ this.parsedItems = Array.isArray(i) ? i : [];
951
+ } catch (i) {
952
+ console.error("Error parsing breadcrumb items:", i), this.parsedItems = [];
953
+ }
954
+ else Array.isArray(n) ? this.parsedItems = n : this.parsedItems = [];
955
+ }
956
+ /**
957
+ * Lifecycle method that runs when the component is about to be loaded.
958
+ * It parses the initial `items` prop value.
959
+ */
960
+ componentWillLoad() {
961
+ this.parseItems(this.items), this.updateScreenSize(), window.addEventListener("resize", this.updateScreenSize);
962
+ }
963
+ disconnectedCallback() {
964
+ window.removeEventListener("resize", this.updateScreenSize);
965
+ }
966
+ /**
967
+ * Lifecycle method that runs when the component has fully loaded.
968
+ * It emits a custom event for each `eds-link` element contained within the breadcrumb.
969
+ */
970
+ componentDidLoad() {
971
+ this.el.shadowRoot.querySelectorAll("eds-link").forEach((i) => {
972
+ this.emitContext(i);
973
+ });
974
+ }
975
+ /**
976
+ * Emits a custom event called `parentContext` for a given link element.
977
+ * This event provides context information about the breadcrumb component.
978
+ *
979
+ * @param linkElement - The link element to which the event will be dispatched.
980
+ */
981
+ emitContext(n) {
982
+ const i = new CustomEvent("parentContext", {
983
+ detail: {
984
+ componentName: this.el.tagName.toLowerCase(),
985
+ identifier: null
986
+ }
987
+ });
988
+ n.dispatchEvent(i);
989
+ }
990
+ /**
991
+ * Truncates breadcrumb items based on the maxVisibleItems value.
992
+ * Truncates `label` to 10 characters if `isSmallScreen` is true, except for the last label.
993
+ */
994
+ getTruncatedItems() {
995
+ const n = this.parsedItems.length;
996
+ if (n > this.maxVisibleItems) {
997
+ const i = this.parsedItems[0], r = this.parsedItems.slice(-2), l = { label: "...", url: "", isHidden: !0 };
998
+ if (this.maxVisibleItems === 3)
999
+ return [
1000
+ this.truncateLabel(i),
1001
+ l,
1002
+ ...r.map((t, o) => o === r.length - 1 ? t : this.truncateLabel(t))
1003
+ ];
1004
+ if (this.maxVisibleItems === 4) {
1005
+ const t = this.parsedItems[Math.floor(n / 2)];
1006
+ return [
1007
+ this.truncateLabel(i),
1008
+ this.truncateLabel(t),
1009
+ l,
1010
+ ...r.map((o, a) => a === r.length - 1 ? o : this.truncateLabel(o))
1011
+ ];
1012
+ }
1013
+ }
1014
+ return this.parsedItems.map((i, r) => r === this.parsedItems.length - 1 ? i : this.truncateLabel(i));
1015
+ }
1016
+ /**
1017
+ * Truncates the label of a breadcrumb item to a maximum of 10 characters
1018
+ * if the screen is small.
1019
+ */
1020
+ truncateLabel(n) {
1021
+ return n.label.length > 15 ? Object.assign(Object.assign({}, n), { label: `${n.label.slice(0, 15)}...` }) : n;
1022
+ }
1023
+ /**
1024
+ * Render method for the breadcrumb component.
1025
+ * It creates a navigation element with an ordered list of breadcrumb links.
1026
+ * The last link is disabled and marked as the current page.
1027
+ */
1028
+ render() {
1029
+ const n = this.getTruncatedItems();
1030
+ return e("nav", { key: "d66dd18fe856e4a8d82e47117d2de0288a9e3c56", "aria-label": "Breadcrumb" }, e("ol", { key: "b3a218032b312cb5973c1ca59ab7bedcfc07d676", class: "flex items-center space-x-2" }, n.map((i, r) => {
1031
+ const l = r === n.length - 1;
1032
+ return e("li", { class: "flex items-center" }, i.isHidden ? e("span", { class: "truncate px-2 ", "aria-hidden": "true" }, "...") : e("eds-link", { label: i.label, url: i.url, intent: this.intent, current: l, "aria-label": i.label, size: "small", "icon-small": "false" }), !l && !i.isHidden && e("eds-icon-wrapper", { icon: "chevron-right", class: "w-20 h-20" }));
1033
+ })));
1034
+ }
1035
+ get el() {
1036
+ return d(this);
1037
+ }
1038
+ static get watchers() {
1039
+ return {
1040
+ items: ["parseItems"]
1041
+ };
1042
+ }
1043
+ };
1044
+ K.style = V;
1045
+ const G = `@font-face {
885
1046
  font-family: "Inter";
886
1047
  font-weight: 100 900;
887
1048
  font-display: swap;
@@ -8020,9 +8181,9 @@ const D = `@font-face {
8020
8181
  padding-right: 0rem;
8021
8182
  }
8022
8183
  }
8023
- `, Y = D, P = class {
8184
+ `, J = G, Q = class {
8024
8185
  constructor(n) {
8025
- d(this, n), this.button = b([
8186
+ s(this, n), this.button = f([
8026
8187
  "relative inline-flex items-center",
8027
8188
  "py-8",
8028
8189
  "effect-focus effect-color",
@@ -8120,7 +8281,7 @@ const D = `@font-face {
8120
8281
  pill: !1,
8121
8282
  size: "small"
8122
8283
  }
8123
- }), this.iconCva = b(["flex inline-flex items-center justify-center"], {
8284
+ }), this.iconCva = f(["flex inline-flex items-center justify-center"], {
8124
8285
  variants: {
8125
8286
  size: {
8126
8287
  large: "",
@@ -8181,7 +8342,7 @@ const D = `@font-face {
8181
8342
  n.preventDefault();
8182
8343
  return;
8183
8344
  }
8184
- f({
8345
+ g({
8185
8346
  category: "ui-component",
8186
8347
  parentContext: this.parentContext,
8187
8348
  tag: this.el.tagName.toLowerCase(),
@@ -8204,31 +8365,31 @@ const D = `@font-face {
8204
8365
  iconOnly: !this.label,
8205
8366
  show: !this.loading
8206
8367
  }), r = this.elementType;
8207
- return e(r, { key: "04381724e90b1f71960832e705f3a1db46e3a200", "aria-label": this.label || this.ariaLabel || void 0, "aria-disabled": this.elementType === "button" ? this.disabled : void 0, disabled: this.elementType === "button" ? this.disabled : void 0, class: `${n || ""} ${this.extraClass || ""}`, onClick: (l) => this.handleClick(l) }, this.label && e("span", { key: "f9b77e3a0eee7afa676fa2b7a4bdce8b3ac124cd", class: this.loading ? "opacity-0" : "" }, this.label), this.loading && e("span", { key: "0e645a9f7c3d8e87f209ccd1a556ead976143094", class: "absolute inset-0 flex items-center justify-center" }, e("span", { key: "e7810efb3f5e9853f67afb9491f35b19509700e9", class: "loader", style: {
8368
+ return e(r, { key: "e571ed0d3e2f4aa262259afea7d44d19b5685be7", "aria-label": this.label || this.ariaLabel || void 0, "aria-disabled": this.elementType === "button" ? this.disabled : void 0, disabled: this.elementType === "button" ? this.disabled : void 0, class: `${n || ""} ${this.extraClass || ""}`, onClick: (l) => this.handleClick(l) }, this.label && e("span", { key: "8928bd512c6fb592ed8d2d25ad46213a5a7f4bf5", class: this.loading ? "opacity-0" : "" }, this.label), this.loading && e("span", { key: "8fdb5947ef65c60e5cc47f04d8fbe2f8485aa6bf", class: "absolute inset-0 flex items-center justify-center" }, e("span", { key: "5a6cf5d4f2debc279066cb49fa30da7b66f5532b", class: "loader", style: {
8208
8369
  border: `3px solid ${this.intent === "secondary" ? "rgba(255, 255, 255, .3)" : "rgba(0, 0, 0, .3)"}`,
8209
8370
  borderBottomColor: this.intent === "secondary" ? "#fff" : "#000"
8210
8371
  } })), this.icon ? e("eds-icon-wrapper", { class: i, icon: this.icon }) : null);
8211
8372
  }
8212
8373
  get el() {
8213
- return s(this);
8374
+ return d(this);
8214
8375
  }
8215
8376
  };
8216
- P.style = Y;
8217
- const N = ".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-light{font-family:var(--f-ui-03-light-fontFamily);font-weight:var(--f-ui-03-light-fontWeight);font-size:var(--f-ui-03-light-fontSize);line-height:var(--f-ui-03-light-lineHeight);letter-spacing:var(--f-ui-03-light-letterSpacing)}.text-light{color:var(--grey-700)}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.line-clamp-4{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}", q = N, $ = class {
8377
+ Q.style = J;
8378
+ const Z = ".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-light{font-family:var(--f-ui-03-light-fontFamily);font-weight:var(--f-ui-03-light-fontWeight);font-size:var(--f-ui-03-light-fontSize);line-height:var(--f-ui-03-light-lineHeight);letter-spacing:var(--f-ui-03-light-letterSpacing)}.text-light{color:var(--grey-700)}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.line-clamp-4{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}", nn = Z, en = class {
8218
8379
  constructor(n) {
8219
- d(this, n), this.description = void 0, this.descClass = "f-ui-03-light", this.truncate = !0, this.truncateLines = "3";
8380
+ s(this, n), this.description = void 0, this.descClass = "f-ui-03-light", this.truncate = !0, this.truncateLines = "3";
8220
8381
  }
8221
8382
  getTruncateClass() {
8222
8383
  return this.truncate && this.truncateLines ? `line-clamp-${this.truncateLines}` : "";
8223
8384
  }
8224
8385
  render() {
8225
- return e("p", { key: "017c115ebff999c74cff1eaeb5c63f97e0f6554d", class: `text-light ${this.descClass}` }, e("span", { key: "f87b9b3d593e417ef351882f426d24c0b206ccab", class: this.getTruncateClass() }, this.description));
8386
+ return e("p", { key: "ca38bcc0895d5a0c87fda782ef455e45c4b53263", class: `text-light ${this.descClass}` }, e("span", { key: "3108eec08a760b1db7ce1a7be05b68749f8f930b", class: this.getTruncateClass() }, this.description));
8226
8387
  }
8227
8388
  };
8228
- $.style = q;
8229
- const X = ".h-auto{height:auto}.h-full{height:100%}.\\!min-h-20{min-height:1.25rem !important}.min-h-120{min-height:120px}.min-h-156{min-height:156px}.bg-default{background-color:var(--grey-200)}.bg-inverse{background-color:var(--white)}.effect-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms;transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.hover\\:shadow-hover:hover{--tw-shadow:0px 0px 16px rgba(0, 0, 0, 0.2);--tw-shadow-colored:0px 0px 16px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.cursor-pointer{cursor:pointer}.border-soft{border-color:rgba(0, 0, 0, .15 )}.border-softer{border:2px solid rgba(0, 0, 0, .1 )}.effect-focus-within{outline-width:3px;outline-offset:2px;outline-color:var(--green-500)}.effect-focus-within:focus-within{outline-style:solid}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grow{flex-grow:1}.flex-col{flex-direction:column}.rounded-lg{border-radius:16px}.border-2{border-width:2px}.p-12{padding:0.75rem}.p-16{padding:1rem}.mt-6{margin-top:0.375rem}.mt-8{margin-top:0.5rem}.gap-y-4{row-gap:0.25rem}.order-first{order:-9999}.mb-10{margin-bottom:0.625rem}.mb-12{margin-bottom:0.75rem}", V = X, G = class {
8389
+ en.style = nn;
8390
+ const rn = ".h-auto{height:auto}.h-full{height:100%}.\\!min-h-20{min-height:1.25rem !important}.min-h-120{min-height:120px}.min-h-156{min-height:156px}.bg-default{background-color:var(--grey-200)}.bg-inverse{background-color:var(--white)}.effect-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms;transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.hover\\:shadow-hover:hover{--tw-shadow:0px 0px 16px rgba(0, 0, 0, 0.2);--tw-shadow-colored:0px 0px 16px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.cursor-pointer{cursor:pointer}.border-soft{border-color:rgba(0, 0, 0, .15 )}.border-softer{border:2px solid rgba(0, 0, 0, .1 )}.effect-focus-within{outline-width:3px;outline-offset:2px;outline-color:var(--green-500)}.effect-focus-within:focus-within{outline-style:solid}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grow{flex-grow:1}.flex-col{flex-direction:column}.rounded-lg{border-radius:16px}.border-2{border-width:2px}.p-12{padding:0.75rem}.p-16{padding:1rem}.mt-6{margin-top:0.375rem}.mt-8{margin-top:0.5rem}.gap-y-4{row-gap:0.25rem}.order-first{order:-9999}.mb-10{margin-bottom:0.625rem}.mb-12{margin-bottom:0.75rem}", ln = rn, tn = class {
8230
8391
  constructor(n) {
8231
- d(this, n), this.parentContext = null, this.cardTitle = void 0, this.url = void 0, this.description = void 0, this.image = void 0, this.avatar = void 0, this.shortAbbreviation = void 0, this.headingLevel = "h3", this.tags = "", this.tiny = !1, this.bg = !0, this.withHover = !0, this.hierarchy = !0, this.parsedImage = null;
8392
+ s(this, n), this.parentContext = null, this.cardTitle = void 0, this.url = void 0, this.description = void 0, this.image = void 0, this.avatar = void 0, this.shortAbbreviation = void 0, this.headingLevel = "h3", this.tags = [], this.tiny = !1, this.bg = !0, this.withHover = !0, this.hierarchy = !0, this.parsedImage = null;
8232
8393
  }
8233
8394
  componentWillLoad() {
8234
8395
  if (this.image)
@@ -8268,7 +8429,7 @@ const X = ".h-auto{height:auto}.h-full{height:100%}.\\!min-h-20{min-height:1.25r
8268
8429
  }
8269
8430
  handleClick() {
8270
8431
  var n;
8271
- f({
8432
+ g({
8272
8433
  category: "ui-component",
8273
8434
  parentContext: this.parentContext,
8274
8435
  tag: this.el.tagName.toLowerCase(),
@@ -8277,16 +8438,16 @@ const X = ".h-auto{height:auto}.h-full{height:100%}.\\!min-h-20{min-height:1.25r
8277
8438
  });
8278
8439
  }
8279
8440
  render() {
8280
- return e("article", { key: "17d1f00f232a4436756fa3846684bbae8c716036", class: this.articleClasses(), onClick: () => this.handleClick() }, e("eds-card-title", { key: "d99ee1716c4e308a3ea446f0f7cedfaeac30f2ed", "heading-level": this.headingLevel, titleClass: this.image ? "f-ui-01" : void 0, "card-title": this.cardTitle, url: this.url, hierarchy: this.hierarchy }), this.description && e("eds-card-desc", { key: "c5bdc76e68a8d660609630aa8184ec3a9508ab61", class: "mt-8", "truncate-lines": "3", description: this.description }), this.parsedImage ? e("eds-img", Object.assign({ class: "mt-8" }, this.parsedImage)) : this.avatar || this.shortAbbreviation ? e("eds-avatar", { class: "order-first mb-12", picture: this.avatar, initials: this.shortAbbreviation }) : null, e("div", { key: "fa993e3c60d357eb0d9a63e612bdd2bf026e7a85", class: "flex flex-wrap gap-y-4" }, this.parsedTags.map((n, i) => e("eds-tag", { key: i, intent: n.style, label: n.label }))), " ");
8441
+ return e("article", { key: "5b498abfc65206fe89c9e54e673a81e1b6ed37d5", class: this.articleClasses(), onClick: () => this.handleClick() }, e("eds-card-title", { key: "61a0c6076957e39ab2a059c8587fc2e716e470bc", "heading-level": this.headingLevel, titleClass: this.image ? "f-ui-01" : void 0, "card-title": this.cardTitle, url: this.url, hierarchy: this.hierarchy }), this.description && e("eds-card-desc", { key: "6df3c08512acf60e22001867ab5691aa19f67961", class: "mt-8", "truncate-lines": "3", description: this.description }), this.parsedImage ? e("eds-img", Object.assign({ class: "mt-8" }, this.parsedImage)) : this.avatar || this.shortAbbreviation ? e("eds-avatar", { class: "order-first mb-12", picture: this.avatar, initials: this.shortAbbreviation }) : null, e("div", { key: "712193c8afac6744e2512d8b760daf2c850987b9", class: "flex flex-wrap gap-y-4" }, this.parsedTags.map((n, i) => e("eds-tag", { key: i, intent: n.style, label: n.label }))), " ");
8281
8442
  }
8282
8443
  get el() {
8283
- return s(this);
8444
+ return d(this);
8284
8445
  }
8285
8446
  };
8286
- G.style = V;
8287
- const J = "a{all:unset;display:inline;color:inherit;text-decoration:none;cursor:pointer}h1,h2,h3,h4,h5,h6{margin:0}.f-heading-01{font-family:var(--f-heading-01-fontFamily);font-weight:var(--f-heading-01-fontWeight);font-size:var(--f-heading-01-fontSize);line-height:var(--f-heading-01-lineHeight);letter-spacing:var(--f-heading-01-letterSpacing)}.f-heading-02{font-family:var(--f-heading-02-fontFamily);font-weight:var(--f-heading-02-fontWeight);font-size:var(--f-heading-02-fontSize);line-height:var(--f-heading-02-lineHeight);letter-spacing:var(--f-heading-02-letterSpacing)}.f-heading-03{font-family:var(--f-heading-03-fontFamily);font-weight:var(--f-heading-03-fontWeight);font-size:var(--f-heading-03-fontSize);line-height:var(--f-heading-03-lineHeight);letter-spacing:var(--f-heading-03-letterSpacing)}.f-heading-04{font-family:var(--f-heading-04-fontFamily);font-weight:var(--f-heading-04-fontWeight);font-size:var(--f-heading-04-fontSize);line-height:var(--f-heading-04-lineHeight);letter-spacing:var(--f-heading-04-letterSpacing)}.f-heading-05{font-family:var(--f-heading-05-fontFamily);font-weight:var(--f-heading-05-fontWeight);font-size:var(--f-heading-05-fontSize);line-height:var(--f-heading-05-lineHeight);letter-spacing:var(--f-heading-05-letterSpacing)}.f-heading-06{font-family:var(--f-heading-06-fontFamily);font-weight:var(--f-heading-06-fontWeight);font-size:var(--f-heading-06-fontSize);line-height:var(--f-heading-06-lineHeight);letter-spacing:var(--f-heading-06-letterSpacing)}.break-words{overflow-wrap:break-word}.after\\:absolute::after{position:absolute}.after\\:inset-0::after{inset:0rem}.after\\:z-10::after{z-index:10}.after\\:content-\\[\\'\\'\\]::after{--tw-content:'';content:var(--tw-content)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}", K = J, Q = class {
8447
+ tn.style = ln;
8448
+ const on = "a{all:unset;display:inline;color:inherit;text-decoration:none;cursor:pointer}h1,h2,h3,h4,h5,h6{margin:0}.f-heading-01{font-family:var(--f-heading-01-fontFamily);font-weight:var(--f-heading-01-fontWeight);font-size:var(--f-heading-01-fontSize);line-height:var(--f-heading-01-lineHeight);letter-spacing:var(--f-heading-01-letterSpacing)}.f-heading-02{font-family:var(--f-heading-02-fontFamily);font-weight:var(--f-heading-02-fontWeight);font-size:var(--f-heading-02-fontSize);line-height:var(--f-heading-02-lineHeight);letter-spacing:var(--f-heading-02-letterSpacing)}.f-heading-03{font-family:var(--f-heading-03-fontFamily);font-weight:var(--f-heading-03-fontWeight);font-size:var(--f-heading-03-fontSize);line-height:var(--f-heading-03-lineHeight);letter-spacing:var(--f-heading-03-letterSpacing)}.f-heading-04{font-family:var(--f-heading-04-fontFamily);font-weight:var(--f-heading-04-fontWeight);font-size:var(--f-heading-04-fontSize);line-height:var(--f-heading-04-lineHeight);letter-spacing:var(--f-heading-04-letterSpacing)}.f-heading-05{font-family:var(--f-heading-05-fontFamily);font-weight:var(--f-heading-05-fontWeight);font-size:var(--f-heading-05-fontSize);line-height:var(--f-heading-05-lineHeight);letter-spacing:var(--f-heading-05-letterSpacing)}.f-heading-06{font-family:var(--f-heading-06-fontFamily);font-weight:var(--f-heading-06-fontWeight);font-size:var(--f-heading-06-fontSize);line-height:var(--f-heading-06-lineHeight);letter-spacing:var(--f-heading-06-letterSpacing)}.break-words{overflow-wrap:break-word}.after\\:absolute::after{position:absolute}.after\\:inset-0::after{inset:0rem}.after\\:z-10::after{z-index:10}.after\\:content-\\[\\'\\'\\]::after{--tw-content:'';content:var(--tw-content)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}", sn = on, dn = class {
8288
8449
  constructor(n) {
8289
- d(this, n), this.url = void 0, this.titleClass = void 0, this.headingLevel = "h3", this.externalLink = !1, this.cardTitle = void 0, this.hierarchy = !0;
8450
+ s(this, n), this.url = void 0, this.titleClass = void 0, this.headingLevel = "h3", this.externalLink = !1, this.cardTitle = void 0, this.hierarchy = !0;
8290
8451
  }
8291
8452
  /**
8292
8453
  * Dynamically generate the title class based on the heading level.
@@ -8316,14 +8477,21 @@ const J = "a{all:unset;display:inline;color:inherit;text-decoration:none;cursor:
8316
8477
  }*/
8317
8478
  render() {
8318
8479
  const n = this.headingLevel;
8319
- return e(n, { key: "8aee3bcb0e04508dd21a03ea0f695e040f37c767", class: this.getTitleClass() }, e("a", { key: "c5fa27fe86037ed6b039c156aecdf1acc9c7c8bc", class: "break-words after:absolute after:inset-0 after:z-10 after:content-[''] focus:outline-none", href: this.url, target: this.externalLink ? "_blank" : void 0, rel: this.externalLink ? "noopener noreferrer" : void 0 }, this.cardTitle));
8480
+ return e(n, { key: "a654161b2c53e944eaefb21be7189a5e0acb06cf", class: this.getTitleClass() }, e("a", { key: "868fd911c1a8c366d726e886bfc7827487013e27", class: "break-words after:absolute after:inset-0 after:z-10 after:content-[''] focus:outline-none", href: this.url, target: this.externalLink ? "_blank" : void 0, rel: this.externalLink ? "noopener noreferrer" : void 0 }, this.cardTitle));
8320
8481
  }
8321
8482
  };
8322
- Q.style = K;
8323
- const Z = ".z-focus{z-index:99}.relative{position:relative}.shadow-small{--tw-shadow:0px 1.5px 2px rgba(0, 0, 0, 0.1);--tw-shadow-colored:0px 1.5px 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.bg-inverse{background-color:var(--white)}.border-softest{border:2px solid rgba(0, 0, 0, .05)}.z-10{z-index:10}.z-on-top{z-index:99999}.absolute{position:absolute}.top-full{top:100%}.mt-4{margin-top:0.25rem}.mt-6{margin-top:0.375rem}.mt-8{margin-top:0.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.gap-y-4{row-gap:0.25rem}.rounded-lg{border-radius:16px}.border-2{border-width:2px}.p-8{padding:0.5rem}.left-0{left:0rem}.left-1\\/2{left:50%}.left-4{left:0.25rem}.left-\\[4px\\]{left:4px}.right-0{right:0rem}.right-4{right:0.25rem}.right-8{right:0.5rem}", nn = Z, en = class {
8483
+ dn.style = sn;
8484
+ const an = ".z-focus{z-index:99}.relative{position:relative}.shadow-small{--tw-shadow:0px 1.5px 2px rgba(0, 0, 0, 0.1);--tw-shadow-colored:0px 1.5px 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.bg-inverse{background-color:var(--white)}.border-softest{border:2px solid rgba(0, 0, 0, .05)}.z-10{z-index:10}.z-on-top{z-index:99999}.absolute{position:absolute}.top-full{top:100%}.mt-4{margin-top:0.25rem}.mt-6{margin-top:0.375rem}.mt-8{margin-top:0.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.gap-y-4{row-gap:0.25rem}.rounded-lg{border-radius:16px}.border-2{border-width:2px}.p-8{padding:0.5rem}.left-0{left:0rem}.left-1\\/2{left:50%}.left-4{left:0.25rem}.left-\\[4px\\]{left:4px}.right-0{right:0rem}.right-4{right:0.25rem}.right-8{right:0.5rem}", cn = an, gn = class {
8324
8485
  constructor(n) {
8325
- d(this, n), this.focusableItems = [], this.handleClick = () => {
8326
- this.isOpen = !this.isOpen, this.isOpen ? (this.focusIndex = 0, this.focusItem()) : this.closeDropdown();
8486
+ s(this, n), this.focusableItems = [], this.handleClick = () => {
8487
+ var i;
8488
+ this.isOpen = !this.isOpen, this.isOpen ? (this.focusIndex = 0, this.focusItem()) : this.closeDropdown(), g({
8489
+ category: "ui-component",
8490
+ parentContext: null,
8491
+ tag: this.host.tagName.toLowerCase(),
8492
+ name: ((i = this.label) === null || i === void 0 ? void 0 : i.toLowerCase()) || "",
8493
+ action: this.isOpen ? "expanded" : "collapsed"
8494
+ });
8327
8495
  }, this.icon = "chevron-down", this.label = void 0, this.rounded = !1, this.ariaLabel = "Open dropdown", this.asNav = !0, this.dropdownPos = "left", this.dropdownOffset = !0, this.intent = "tertiary", this.isOpen = !1, this.focusIndex = -1;
8328
8496
  }
8329
8497
  /**
@@ -8370,45 +8538,53 @@ const Z = ".z-focus{z-index:99}.relative{position:relative}.shadow-small{--tw-sh
8370
8538
  */
8371
8539
  componentDidLoad() {
8372
8540
  var n;
8373
- this.focusableItems = Array.from(((n = this.dropdownContent) === null || n === void 0 ? void 0 : n.querySelectorAll("a, button")) || []), this.host.shadowRoot.querySelectorAll("eds-button").forEach((r) => {
8374
- this.emitContext(r);
8375
- });
8376
- }
8377
- /**
8378
- * Emits a custom event called `parentContext` for a given button element.
8379
- * Provides context information about the dropdown component.
8380
- *
8381
- * @param linkElement - The button element to which the event will be dispatched.
8382
- */
8383
- emitContext(n) {
8384
- const i = new CustomEvent("parentContext", {
8385
- detail: {
8386
- componentName: this.host.tagName.toLowerCase(),
8387
- identifier: null
8388
- }
8389
- });
8390
- n.dispatchEvent(i);
8541
+ this.focusableItems = Array.from(((n = this.dropdownContent) === null || n === void 0 ? void 0 : n.querySelectorAll("a, button")) || []);
8391
8542
  }
8392
8543
  /**
8393
8544
  * Renders the dropdown component and displays its content when open.
8394
8545
  * @returns {JSX.Element} The rendered dropdown component.
8395
8546
  */
8396
8547
  render() {
8397
- return e("div", { key: "d49e23ee208cfb000baba83795899487e4d94af7", class: "z-focus relative", ref: (n) => this.dropdownContent = n }, e("eds-button", { key: "6647007c34b47558873e470890893ae4f8e18b5c", label: this.label, "aria-label": this.ariaLabel, icon: this.icon, intent: this.intent, onClick: this.handleClick, "aria-expanded": this.isOpen.toString(), "aria-haspopup": "menu" }), e("nav", { key: "41bbd4e2bf02345393aaa97101b2c3aca2fa4085", class: {
8548
+ return e("div", { key: "809cb733330db434f94f854ed4d1ee375f598297", class: "z-focus relative", ref: (n) => this.dropdownContent = n }, e("eds-button", { key: "c80f2930b335708a2a01d06b565673597bd8d926", label: this.label, "aria-label": this.ariaLabel, icon: this.icon, intent: this.intent, onClick: this.handleClick, "aria-expanded": this.isOpen.toString(), "aria-haspopup": "menu" }), e("nav", { key: "7b3ccb2ab29474a4795d5491960e0713aefcd624", class: {
8398
8549
  "shadow-small bg-inverse border-softest z-10 z-on-top absolute top-full mt-4 flex flex-col gap-y-4 border-2 p-8": !0,
8399
8550
  "left-4": this.dropdownPos === "left" && this.dropdownOffset,
8400
8551
  "left-0": this.dropdownPos === "left" && !this.dropdownOffset,
8401
8552
  "right-4": this.dropdownPos === "right" && this.dropdownOffset,
8402
8553
  "right-0": this.dropdownPos === "right" && !this.dropdownOffset,
8403
8554
  "rounded-lg": this.rounded
8404
- }, style: { display: this.isOpen ? "block" : "none" }, "aria-label": "Dropdown", "aria-hidden": !this.isOpen }, e("slot", { key: "714bad9f5a8ddf6d5ea246044a83b0a5102494c4" })));
8555
+ }, style: { display: this.isOpen ? "block" : "none" }, "aria-label": "Dropdown", "aria-hidden": !this.isOpen }, e("slot", { key: "c514c5dca893708fd1660a61cfeb1607229bbff5" })));
8405
8556
  }
8406
8557
  get host() {
8407
- return s(this);
8558
+ return d(this);
8408
8559
  }
8409
8560
  };
8410
- en.style = nn;
8411
- const rn = `@font-face {
8561
+ gn.style = cn;
8562
+ const xn = "", hn = xn, bn = class {
8563
+ constructor(n) {
8564
+ s(this, n), this.backToTop = () => {
8565
+ window.scrollTo({ top: 0, behavior: "smooth" });
8566
+ }, this.extraClass = "", this.social = !1, this.hasCookiesSetUp = !1, this.enableScrollTop = !1, this.fundedBy = "EBRAINS is funded by the Horizon Europe Framework Programme.", this.rightsReserved = `${(/* @__PURE__ */ new Date()).getFullYear()} EBRAINS. All rights reserved.`, this.cookiesPreference = "Cookies Preferences";
8567
+ }
8568
+ /**
8569
+ * Toggles the cookie preferences popup, if available.
8570
+ * The actual implementation for handling cookie preferences should be defined here.
8571
+ * @private
8572
+ */
8573
+ toggleCookiesPopup() {
8574
+ }
8575
+ /**
8576
+ * Renders the footer component with optional sections and elements,
8577
+ * including social network links, a Horizon Europe funding acknowledgment, and
8578
+ * legal links such as "Cookies Preferences" and copyright information.
8579
+ *
8580
+ * @returns {JSX.Element} The rendered JSX for the footer component.
8581
+ */
8582
+ render() {
8583
+ return e("footer", { key: "8d3d1b5d2acd76f56b2bc12539cb7d277b4dcd7f", class: `${this.extraClass} pb-banner` }, this.social ? e("div", { class: "border-softest border-t-2 pt-20 pb-28 md:pt-28" }, e("div", { class: "container pb-20 xl:pb-40 " }, e("div", { class: "grid-layout" }, e("div", { class: "grid-col-span-12 lg:grid-col-span-5" }, e("eds-social-networks", { class: "mt-28" })), e("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, e("div", { key: "7d6e3a414ec8e8f8e2b795faf639948f8819f5cb", class: `border-softest ${this.social ? "border-t-2" : ""} pt-20 pb-28 md:pt-28` }, e("div", { key: "9a475fd146ac0e1bc78c43940ee24ec31212fcb9", class: "container flex flex-wrap items-center gap-20 lg:flex-nowrap" }, e("div", { key: "4b465113cdb882f919fba15e944eb56edbe3c570", class: "flex items-center gap-x-12" }, e("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" }, e("eds-img", { key: "4714ea1a01b7b7eef8b3af0c04ffe793d51c4d5e", width: 54, height: 41, src: "https://www.ebrains.eu/flags/4x3/eu.svg" }))), e("div", { key: "c4db6bab70e570e337c82136a0d9d6dad01c1039", class: "f-ui-04 text-light order-last w-full lg:order-none lg:w-auto" }, e("p", { key: "0b030a92c12a3a96fe2baacc13ac21f5bd708a50" }, this.fundedBy), e("div", { key: "4714d0ccf0e3912ae330a6f39ed3607caf2b51a4", class: "mt-4 flex flex-wrap gap-12 lg:flex-nowrap" }, e("span", { key: "b4bc2d45871c7d1f9de1d6090959b12fd5246f01", class: "effect-focus !no-underline decoration-2 underline-offset-4 hover:!underline" }, "© ", this.rightsReserved), this.hasCookiesSetUp && e("button", { key: "98b56eee7be6bc1558821933cebf2853b3bb68fc", class: "effect-focus !no-underline underline-offset-4 hover:!underline", onClick: () => this.toggleCookiesPopup() }, this.cookiesPreference))), e("div", { key: "f4bf4a0c99f3be920dd15f68e6f7e390cd85ecce", class: "ml-auto pl-12" }, this.enableScrollTop ? e("eds-button", { "aria-label": "Back to top", intent: "ghostInverse", icon: "chevron-up", onClick: this.backToTop }) : null))));
8584
+ }
8585
+ };
8586
+ bn.style = hn;
8587
+ const fn = `@font-face {
8412
8588
  font-family: "Inter";
8413
8589
  font-weight: 100 900;
8414
8590
  font-display: swap;
@@ -15560,9 +15736,9 @@ const rn = `@font-face {
15560
15736
  padding-right: 0rem;
15561
15737
  }
15562
15738
  }
15563
- `, ln = rn, tn = class {
15739
+ `, mn = fn, pn = class {
15564
15740
  constructor(n) {
15565
- d(this, n), this.formSubmitting = h(this, "formSubmitting", 7), this.handleChange = (i, r) => {
15741
+ s(this, n), this.formSubmitting = h(this, "formSubmitting", 7), this.handleChange = (i, r) => {
15566
15742
  const l = i.target;
15567
15743
  this.values = Object.assign(Object.assign({}, this.values), { [r.name]: l.value });
15568
15744
  const t = Object.assign({}, this.errors);
@@ -15599,24 +15775,24 @@ const rn = `@font-face {
15599
15775
  });
15600
15776
  if (!o.ok) {
15601
15777
  const c = await o.json();
15602
- this.hasError = !0, x.show(c.error || this.errorMessage, "error");
15778
+ this.hasError = !0, b.show(c.error || this.errorMessage, "error");
15603
15779
  return;
15604
15780
  }
15605
15781
  const a = await o.json();
15606
- this.formSubmitted = !0, x.show(a.message || this.successMessage, "success"), this.formEl.reset();
15782
+ this.formSubmitted = !0, b.show(a.message || this.successMessage, "success"), this.formEl.reset();
15607
15783
  } catch (o) {
15608
- this.hasError = !0, x.show(`${o}`, "error");
15784
+ this.hasError = !0, b.show(`${o}`, "error");
15609
15785
  } finally {
15610
15786
  this.isSubmitting = !1, this.formSubmitting.emit(this.isSubmitting);
15611
15787
  }
15612
- }, this.smallAlert = !1, this.setFormUrl = !0, this.submitBtn = !0, this.submitBtnLabel = "Submit", this.successMessage = "Your message has been sent.", this.errorMessage = "Some fields in your form are incorrect.", this.submitBtnHintMessage = "To participate, please sign in using your EBRAINS account. If you do not have an account yet, you can easily create one on the EBRAINS portal.", this.endpoint = void 0, this.name = "form", this.fields = void 0, this.values = {}, this.coupleAuth = !1, this.formSubmitted = !1, this.hasError = !1, this.errors = {}, this.isSubmitting = !1, this.alertMessage = null, this.isAuthenticated = !1, this.authUser = void 0;
15788
+ }, this.setFormUrl = !0, this.submitBtn = !0, this.submitBtnLabel = "Submit", this.successMessage = "Your message has been sent.", this.errorMessage = "Some fields in your form are incorrect.", this.submitBtnHintMessage = "To participate, please sign in using your EBRAINS account. If you do not have an account yet, you can easily create one on the EBRAINS portal.", this.endpoint = void 0, this.name = "form", this.fields = [], this.values = {}, this.coupleAuth = !1, this.formSubmitted = !1, this.hasError = !1, this.errors = {}, this.isSubmitting = !1, this.alertMessage = null, this.isAuthenticated = !1, this.authUser = void 0, this.parsedFields = [];
15613
15789
  }
15614
15790
  onAuthStatusChanged(n) {
15615
15791
  var i;
15616
15792
  this.isAuthenticated = (i = n.detail) === null || i === void 0 ? void 0 : i.authenticated, this.authUser = n.detail.user;
15617
15793
  }
15618
15794
  componentDidLoad() {
15619
- this.el.querySelectorAll("eds-button").forEach((i) => {
15795
+ this.parseFields(this.fields), this.el.querySelectorAll("eds-button").forEach((i) => {
15620
15796
  this.emitContext(i);
15621
15797
  });
15622
15798
  }
@@ -15640,11 +15816,11 @@ const rn = `@font-face {
15640
15816
  }
15641
15817
  validateFieldGroup(n, i, r) {
15642
15818
  const o = Array.from(this.formEl.querySelectorAll("eds-input-field")).filter((c) => {
15643
- var g, m;
15644
- return ((m = (g = c.shadowRoot) === null || g === void 0 ? void 0 : g.querySelectorAll(`input[name="${n}"]`)) === null || m === void 0 ? void 0 : m.length) > 0;
15819
+ var x, m;
15820
+ return ((m = (x = c.shadowRoot) === null || x === void 0 ? void 0 : x.querySelectorAll(`input[name="${n}"]`)) === null || m === void 0 ? void 0 : m.length) > 0;
15645
15821
  }).flatMap((c) => {
15646
- var g;
15647
- return Array.from(((g = c.shadowRoot) === null || g === void 0 ? void 0 : g.querySelectorAll(`input[name="${n}"]`)) || []);
15822
+ var x;
15823
+ return Array.from(((x = c.shadowRoot) === null || x === void 0 ? void 0 : x.querySelectorAll(`input[name="${n}"]`)) || []);
15648
15824
  }).some((c) => c.checked), a = [];
15649
15825
  return r && !o && a.push(`At least one option in ${n} is required.`), a;
15650
15826
  }
@@ -15660,7 +15836,7 @@ const rn = `@font-face {
15660
15836
  return i && o && !o.checked && l.push(`${n} is required.`), l;
15661
15837
  }
15662
15838
  validateForm() {
15663
- this.errors = {}, this.hasError = !1, this.parseFields.forEach((n) => {
15839
+ this.errors = {}, this.hasError = !1, this.parsedFields.forEach((n) => {
15664
15840
  if (n.type !== "hidden")
15665
15841
  if ((n.type === "checkbox" || n.type === "radio") && !n.options) {
15666
15842
  const i = this.validateSingleBox(n.name, n.required);
@@ -15707,24 +15883,172 @@ const rn = `@font-face {
15707
15883
  }
15708
15884
  }), n;
15709
15885
  }
15710
- get parseFields() {
15711
- return JSON.parse(this.fields);
15886
+ parseFields(n) {
15887
+ try {
15888
+ typeof n == "string" ? this.parsedFields = JSON.parse(n) : Array.isArray(n) ? this.parsedFields = n : n && typeof n == "object" ? this.parsedFields = n : this.parsedFields = [];
15889
+ } catch (i) {
15890
+ console.error("Error parsing fields prop:", i), this.parsedFields = [];
15891
+ }
15712
15892
  }
15713
15893
  render() {
15714
- const n = this.parseFields.filter((r) => r.type === "hidden"), i = this.parseFields.filter((r) => r.type !== "hidden");
15715
- return e("form", { key: "fdb974998dfd27c0d857d0fbfbbe9e769e55d7bb", ref: (r) => this.formEl = r, enctype: "multipart/form-data", autocomplete: "on", method: "post", onSubmit: this.handleSubmit }, e("div", { key: "dfbe5adce9e5685736169e88408590088aba5b1e" }, e("slot", { key: "f5c5356a8b87bf63fdd21901da81291c596f1487" }), n.map((r, l) => e("eds-input", { key: l, type: "hidden", name: r.name, value: r.value })), i.map((r, l) => {
15894
+ const n = this.parsedFields.filter((r) => r.type === "hidden"), i = this.parsedFields.filter((r) => r.type !== "hidden");
15895
+ return e("form", { key: "0a106caa8aa9f056b55acf6fecfbc7090c4411d2", ref: (r) => this.formEl = r, enctype: "multipart/form-data", autocomplete: "on", method: "post", onSubmit: this.handleSubmit }, e("div", { key: "3478d82640378d9a1c0c09394453e2118b1b3ca9" }, e("slot", { key: "9bc37f54c03b2b0f831da917b6ce6bab2ec11084" }), n.map((r, l) => e("eds-input", { key: l, type: "hidden", name: r.name, value: r.value })), i.map((r, l) => {
15716
15896
  var t, o;
15717
15897
  return this.isFieldVisible(r) ? e("eds-input-field", { key: l, name: r.name, id: `${this.name}_${r.name}`, label: r.label, type: r.type, icon: r.icon || null, required: r.required, maxLength: r.maxlength, hint: r.hint, error: ((t = this.errors[r.name]) === null || t === void 0 ? void 0 : t.length) > 0, errorMessage: (o = this.errors[r.name]) === null || o === void 0 ? void 0 : o.join("<br />"), onInput: (a) => this.handleChange(a, r), class: l > 0 ? "mt-20" : "", options: r.options }) : null;
15718
- })), this.submitBtn && e("div", { key: "2c3165a56d5bec9135a8695cae1b87981167c949", class: "mt-20" }, e("eds-button", { key: "f311628ff58cd03ebbd0f7ccb0623df817d416da", intent: "primary", label: this.submitBtnLabel, disabled: this.isSubmitting || this.coupleAuth && !this.isAuthenticated, loading: this.isSubmitting, onClick: (r) => this.handleSubmit(r) }), this.coupleAuth && !this.isAuthenticated ? e("p", { class: "f-ui-05 text-lighter mt-8 ml-8" }, this.submitBtnHintMessage) : null), this.alertMessage && (this.formSubmitted || this.hasError) && e("div", { key: "1c7adc93081294eb86b71e808933215fe04fa033", class: "mt-20" }, e("eds-alert", { key: "d221dd0674be734a8b7382ea2eeb97509f6bc3a6", message: this.alertMessage, intent: this.hasError ? "error" : "success", direction: "horizontal" })));
15898
+ })), this.submitBtn && e("div", { key: "ca221e8c5c18cf4a107581736728f84cea7831d0", class: "mt-20" }, e("eds-button", { key: "eef3cf052beb62703c1df74d142650194d60c501", intent: "primary", label: this.submitBtnLabel, disabled: this.isSubmitting || this.coupleAuth && !this.isAuthenticated, loading: this.isSubmitting, onClick: (r) => this.handleSubmit(r) }), this.coupleAuth && !this.isAuthenticated ? e("p", { class: "f-ui-05 text-lighter mt-8 ml-8" }, this.submitBtnHintMessage) : null), this.alertMessage && (this.formSubmitted || this.hasError) && e("div", { key: "69861c8776b99e26a08585a5a8c893c85a2d9999", class: "mt-20" }, e("eds-alert", { key: "b4d225d8efcbe6cde95789c367f0ecf94f217c9c", message: this.alertMessage, intent: this.hasError ? "error" : "success", direction: "horizontal" })));
15719
15899
  }
15720
15900
  get el() {
15721
- return s(this);
15901
+ return d(this);
15902
+ }
15903
+ static get watchers() {
15904
+ return {
15905
+ fields: ["parseFields"]
15906
+ };
15722
15907
  }
15723
15908
  };
15724
- tn.style = ln;
15725
- const on = "", dn = on, sn = class {
15909
+ pn.style = mn;
15910
+ const le = class {
15911
+ constructor(n) {
15912
+ s(this, n), this.frameLabel = void 0, this.urlLabel = "Open in Storybook", this.errorMessage = "Could not load the requested Storybook content. Please check the URL or try again later.", this.storybookUrl = void 0, this.storyPath = void 0, this.intent = "strong", this.tiny = !1, this.size = "auto", this.bg = !0, this.iframeError = !1;
15913
+ }
15914
+ articleClasses() {
15915
+ return [
15916
+ this.tiny ? "min-h-120" : "min-h-156",
15917
+ this.bg ? "bg-inverse" : "bg-default",
15918
+ "rounded border-softer effect-focus-within relative flex grow flex-col border-2",
15919
+ "w-full h-full"
15920
+ ].join(" ");
15921
+ }
15922
+ getFrameHeight() {
15923
+ switch (this.size) {
15924
+ case "sm":
15925
+ return "100px";
15926
+ case "md":
15927
+ return "200px";
15928
+ case "lg":
15929
+ return "400px";
15930
+ case "xl":
15931
+ return "700px";
15932
+ default:
15933
+ return "auto";
15934
+ }
15935
+ }
15936
+ async checkIframeAvailability() {
15937
+ try {
15938
+ if (!(await fetch(this.frameSrc, { method: "GET" })).ok)
15939
+ throw new Error("Failed to load");
15940
+ } catch {
15941
+ this.iframeError = !0;
15942
+ }
15943
+ }
15944
+ componentWillLoad() {
15945
+ this.checkIframeAvailability();
15946
+ }
15947
+ componentDidLoad() {
15948
+ this.el.querySelectorAll("eds-link").forEach((i) => {
15949
+ this.emitContext(i);
15950
+ });
15951
+ }
15952
+ /**
15953
+ * Emits a custom event called `parentContext` for a given link element.
15954
+ * This event provides context information about the breadcrumb component.
15955
+ *
15956
+ * @param linkElement - The link element to which the event will be dispatched.
15957
+ */
15958
+ emitContext(n) {
15959
+ const i = new CustomEvent("parentContext", {
15960
+ detail: {
15961
+ componentName: this.el.tagName.toLowerCase(),
15962
+ identifier: this.frameLabel
15963
+ }
15964
+ });
15965
+ n.dispatchEvent(i);
15966
+ }
15967
+ get storyLink() {
15968
+ return `${this.storybookUrl}/?path=/story/${this.storyPath}`;
15969
+ }
15970
+ get frameSrc() {
15971
+ return `${this.storybookUrl}/iframe.html?id=${this.storyPath}&viewMode=story`;
15972
+ }
15973
+ render() {
15974
+ return e("div", { key: "0c3a43efc1a125af5999af88c4eb071b5c3bc6c5", class: this.articleClasses() }, e("div", { key: "32303d5e2c2f3b01efe1ceaf828346f873bea6b6", class: "effect-height flex items-center justify-between py-8 px-12" }, e("span", { key: "75f7f6750413dad4af2ea62c12ffb994491d5d01", class: "f-ui-02" }, this.frameLabel), this.iframeError ? null : e("eds-link", { label: this.urlLabel, url: this.storyLink, intent: this.intent, class: "ml-auto", external: !0, disabled: !1, icon: "arrow-diagonal" })), e("div", { key: "1fd99f6eda026814910b0cd93635616b7d3ffe09", class: "border-softer border-t-2" }, this.iframeError ? e("div", { class: "container ml-8 mr-8 mt-16" }, this.errorMessage) : e("iframe", { src: this.frameSrc, width: "100%", height: this.getFrameHeight(), title: this.frameLabel, frameBorder: "0", allowFullScreen: !0 })));
15975
+ }
15976
+ get el() {
15977
+ return d(this);
15978
+ }
15979
+ }, un = "", yn = un, vn = class {
15980
+ constructor(n) {
15981
+ s(this, n), this.menuClose = h(this, "menuClose", 7), this.links = void 0, this.menuLinks = void 0, this.homeUrl = "/", this.inverseHeader = !1, this.isMenuOpen = !1;
15982
+ }
15983
+ /**
15984
+ * Listens for the toggleMenu event to open or close the menu.
15985
+ * This event is emitted by the eds-header component.
15986
+ */
15987
+ handleToggleMenu(n) {
15988
+ this.isMenuOpen = n.detail;
15989
+ }
15990
+ /** Opens the menu */
15991
+ openMenu() {
15992
+ this.isMenuOpen = !0;
15993
+ }
15994
+ /** Closes the menu */
15995
+ closeMenu() {
15996
+ this.isMenuOpen = !1, this.menuClose.emit();
15997
+ }
15998
+ // Lifecycle method to add the resize event listener when component loads
15999
+ componentDidLoad() {
16000
+ window.addEventListener("resize", this.handleResize.bind(this));
16001
+ }
16002
+ // Lifecycle method to remove the resize event listener when component unloads
16003
+ disconnectedCallback() {
16004
+ window.removeEventListener("resize", this.handleResize.bind(this));
16005
+ }
16006
+ // Function to close the menu if screen width is larger than a defined breakpoint (1024px)
16007
+ handleResize() {
16008
+ window.innerWidth >= 1024 && (this.isMenuOpen = !1);
16009
+ }
16010
+ /**
16011
+ * Parses the `links` prop into an array of link objects.
16012
+ * Returns an empty array if parsing fails or if `links` is not a valid JSON string or object.
16013
+ *
16014
+ * @returns {any[]} Array of parsed link objects
16015
+ */
16016
+ get parsedLinks() {
16017
+ if (typeof this.links == "object")
16018
+ return this.links;
16019
+ if (typeof this.links == "string")
16020
+ try {
16021
+ return JSON.parse(this.links);
16022
+ } catch (n) {
16023
+ return console.error("Error parsing links prop:", n), [];
16024
+ }
16025
+ return [];
16026
+ }
16027
+ /**
16028
+ * Parses the `menuLinks` prop into an array of link objects.
16029
+ * Returns an empty array if parsing fails or if `menuLinks` is not a valid JSON string or object.
16030
+ *
16031
+ * @returns {any[]} Array of parsed menu link objects
16032
+ */
16033
+ get parsedMenuLinks() {
16034
+ if (typeof this.menuLinks == "object")
16035
+ return this.menuLinks;
16036
+ if (typeof this.menuLinks == "string")
16037
+ try {
16038
+ return JSON.parse(this.menuLinks);
16039
+ } catch (n) {
16040
+ return console.error("Error parsing menuLinks prop:", n), [];
16041
+ }
16042
+ return [];
16043
+ }
16044
+ render() {
16045
+ return this.isMenuOpen ? e("div", { class: "eds-full-screen bg-default fixed inset-0 z-[999999] overflow-y-scroll" }, e("div", { class: "flex min-h-full flex-col" }, e("div", { class: `bg-default w-full sticky top-0 ${this.inverseHeader ? "bg-strongest" : "bg-default"}` }, e("div", { class: "mx-auto flex items-center justify-between" }, e("div", { class: "mr-auto w-[200px] h-[85px]" }, e("eds-logo", { type: this.inverseHeader ? "color-white" : "color", href: this.homeUrl })), e("div", { class: "px-16" }, e("eds-button", { "aria-label": "Close menu", intent: "ghostInverse", icon: "close", onClick: () => this.closeMenu() })))), e("div", { class: "py-16 px-16" }, e("nav", { class: "mt-28 flex flex-col gap-y-8" }, this.parsedLinks.map((n, i) => e("eds-link", { label: n.label, key: i, url: n.url, intent: "tertiary", size: "large", class: "effect-color effect-focus rounded-xs f-heading-02 hover:text-lighter w-fit", onClick: () => this.closeMenu(), icon: "arrow-right" }))), e("eds-block-break", null), e("nav", { class: "mt-28 flex flex-col gap-y-8" }, this.parsedMenuLinks.map((n, i) => e("eds-link", { label: n.label, key: i, url: n.url, intent: "tertiary", size: "large", class: "effect-color effect-focus rounded-xs f-heading-02 hover:text-lighter w-fit", onClick: () => this.closeMenu(), icon: "chevron-right" })))), e("div", { class: "mt-auto" }, e("eds-footer", { social: !0, "extra-class": "bg-darker" })))) : null;
16046
+ }
16047
+ };
16048
+ vn.style = yn;
16049
+ const wn = "", kn = wn, zn = class {
15726
16050
  constructor(n) {
15727
- d(this, n), this.toggleMenu = h(this, "toggleMenu", 7), this.homeUrl = "/", this.links = void 0, this.inverseHeader = !1, this.userFeature = !1, this.menuEnabled = !1, this.keycloakUrl = void 0, this.keycloakRealm = void 0, this.keycloakClientId = void 0, this.isMenuOpen = !1, this.isUserMenuOpen = !1, this.isAuthenticated = !1;
16051
+ s(this, n), this.toggleMenu = h(this, "toggleMenu", 7), this.homeUrl = "/", this.links = void 0, this.inverseHeader = !1, this.userFeature = !1, this.menuEnabled = !1, this.keycloakUrl = void 0, this.keycloakRealm = void 0, this.keycloakClientId = void 0, this.isMenuOpen = !1, this.isUserMenuOpen = !1, this.isAuthenticated = !1;
15728
16052
  }
15729
16053
  onAuthStatusChanged(n) {
15730
16054
  var i;
@@ -15772,6 +16096,8 @@ const on = "", dn = on, sn = class {
15772
16096
  * @returns {any[]} Array of parsed link objects
15773
16097
  */
15774
16098
  get parsedLinks() {
16099
+ if (Array.isArray(this.links))
16100
+ return this.links;
15775
16101
  if (typeof this.links == "object")
15776
16102
  return this.links;
15777
16103
  if (typeof this.links == "string")
@@ -15783,17 +16109,17 @@ const on = "", dn = on, sn = class {
15783
16109
  return [];
15784
16110
  }
15785
16111
  render() {
15786
- return e("header", { key: "bd3056a3d8ca0e8472e154eb3da9ba1aca6d1fa1", class: `flex items-center justify-between relative z-10
15787
- ${this.inverseHeader ? "text-inverse bg-strongest" : "text-default bg-dark"}` }, e("div", { key: "55db7995eab812785789ecc8441079ee5e07af76", class: "mr-auto w-[200px] h-[85px]" }, e("eds-logo", { key: "0464d045dc59d0f78a021a14ffa0254579052529", type: this.inverseHeader ? "color-white" : "color", href: this.homeUrl })), this.parsedLinks && e("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" }, e("ul", { key: "7dca9e2715f3831ee806b0e354c19b65deac1490", class: "flex gap-x-2" }, this.parsedLinks.map((n) => e("eds-link", { label: n.label, "aria-label": n.label, url: n.url, intent: "ghost", size: "small", icon: n.icon, external: n.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" })))), e("slot", { key: "d49985a1074f2daed9cab42fa5af8b0ec8cb6ec9" }), this.userFeature ? e("div", { class: "px-16" }, e("eds-user", { "keycloak-url": this.keycloakUrl, "keycloak-realm": this.keycloakRealm, "keycloak-client-id": this.keycloakClientId })) : null, this.menuEnabled ? e("div", { class: "md:hidden flex overflow-hidden px-16" }, e("eds-button", { "aria-label": "Menu", intent: "ghostInverse", icon: "menu", size: "small", onClick: () => this.handleToggleMenu() })) : null);
16112
+ return e("header", { key: "b16e5e84ba7565ebf4ea5892a9a1af84fc94769d", class: `flex items-center justify-between relative z-10
16113
+ ${this.inverseHeader ? "text-inverse bg-strongest" : "text-default bg-dark"}` }, e("div", { key: "00206a2714dedfe205151002cc10c430e75814fb", class: "mr-auto w-[200px] h-[85px]" }, e("eds-logo", { key: "25fc6207d61bb4cc06877dd0b15bf56392b50255", type: this.inverseHeader ? "color-white" : "color", href: this.homeUrl })), this.parsedLinks && e("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" }, e("ul", { key: "5c70e48f3a617a6abe402659b37741e657440cbc", class: "flex gap-x-2" }, this.parsedLinks.map((n) => e("eds-link", { label: n.label, "aria-label": n.label, url: n.url, intent: "ghost", size: "small", icon: n.icon, external: n.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" })))), e("slot", { key: "773b60e90ecfe336fede86ea6e3b0ec2fd10bd72" }), this.userFeature ? e("div", { class: "px-16" }, e("eds-user", { "keycloak-url": this.keycloakUrl, "keycloak-realm": this.keycloakRealm, "keycloak-client-id": this.keycloakClientId })) : null, this.menuEnabled ? e("div", { class: "md:hidden flex overflow-hidden px-16" }, e("eds-button", { "aria-label": "Menu", intent: "ghostInverse", icon: "menu", size: "small", onClick: () => this.handleToggleMenu() })) : null);
15788
16114
  }
15789
16115
  get hostEl() {
15790
- return s(this);
16116
+ return d(this);
15791
16117
  }
15792
16118
  };
15793
- sn.style = dn;
15794
- const $n = class {
16119
+ zn.style = kn;
16120
+ const te = class {
15795
16121
  constructor(n) {
15796
- d(this, n), this.TagName = null, this.icon = "arrow-right", this.class = "", this.IconComponent = null;
16122
+ s(this, n), this.TagName = null, this.icon = "arrow-right", this.class = "", this.IconComponent = null;
15797
16123
  }
15798
16124
  componentWillLoad() {
15799
16125
  this.loadIconComponent(this.icon);
@@ -15817,7 +16143,7 @@ const $n = class {
15817
16143
  icon: ["iconChanged"]
15818
16144
  };
15819
16145
  }
15820
- }, an = `/*
16146
+ }, Sn = `/*
15821
16147
  1. Make replaced elements \`display: block\` by default. (https://github.com/mozdevs/cssremedy/issues/14)
15822
16148
  2. Add \`vertical-align: middle\` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
15823
16149
  This can trigger a poorly considered lint error in some tools but is included by design.
@@ -15899,9 +16225,9 @@ video {
15899
16225
 
15900
16226
  .opacity-100 {
15901
16227
  opacity: 1;
15902
- }`, cn = an, gn = class {
16228
+ }`, Cn = Sn, Fn = class {
15903
16229
  constructor(n) {
15904
- d(this, n), this.img = null, this.handleLoad = () => {
16230
+ s(this, n), this.img = null, this.handleLoad = () => {
15905
16231
  this.loaded = !0, this.showBg = !1;
15906
16232
  }, this.handleTransitionEnd = () => {
15907
16233
  this.showBg = !1;
@@ -15922,13 +16248,13 @@ video {
15922
16248
  }, width: this.width, height: this.height, sizes: this.sizes, src: this.src, srcSet: this.srcset, alt: this.alt }, n, { onLoad: this.handleLoad, onTransitionEnd: this.handleTransitionEnd }))));
15923
16249
  }
15924
16250
  get imgElement() {
15925
- return s(this);
16251
+ return d(this);
15926
16252
  }
15927
16253
  };
15928
- gn.style = cn;
15929
- const Xn = class {
16254
+ Fn.style = Cn;
16255
+ const oe = class {
15930
16256
  constructor(n) {
15931
- d(this, n), this.changeEvent = h(this, "changeEvent", 7), this.handleInput = (i) => {
16257
+ s(this, n), this.changeEvent = h(this, "changeEvent", 7), this.handleInput = (i) => {
15932
16258
  const r = i.target;
15933
16259
  this.innerVal = r.value, this.maxLength && this.type === "textarea" && (this.maxLengthReached = r.value.length >= this.maxLength), this.changeEvent.emit(i);
15934
16260
  }, this.name = void 0, this.inputId = void 0, this.placeholder = void 0, this.disabled = !1, this.hasMessage = !1, this.error = !1, this.checked = void 0, this.type = "text", this.required = !1, this.value = void 0, this.icon = void 0, this.maxLength = void 0, this.options = [], this.extraClass = void 0, this.innerVal = "", this.maxLengthReached = !1;
@@ -15952,14 +16278,14 @@ const Xn = class {
15952
16278
  `, "aria-invalid": this.error ? "true" : "false", "aria-describedby": i, maxlength: this.maxLength, onInput: this.handleInput, onChange: this.handleInput }), this.maxLength && this.type === "textarea" && e("span", { key: "2a95bcd05820c60e428c9e5de3cc2c3fc6ceb3db", class: `input-counter f-ui-05 absolute bottom-8 right-8 ${this.maxLengthReached ? "input-counter-error" : ""}` }, this.maxLength), this.icon && e("eds-icon-wrapper", { key: "d20b1b17f45c77e1e7ad63ca5cb12db777074601", class: `absolute top-1/2 left-[4px] -translate-y-1/2 ${this.disabled, "text-lightest"}`, icon: this.icon }));
15953
16279
  }
15954
16280
  get el() {
15955
- return s(this);
16281
+ return d(this);
15956
16282
  }
15957
16283
  static get watchers() {
15958
16284
  return {
15959
16285
  value: ["onValueChanged"]
15960
16286
  };
15961
16287
  }
15962
- }, xn = `@font-face {
16288
+ }, En = `@font-face {
15963
16289
  font-family: "Inter";
15964
16290
  font-weight: 100 900;
15965
16291
  font-display: swap;
@@ -23120,9 +23446,9 @@ input[type="range"]::-webkit-slider-thumb {
23120
23446
  -webkit-appearance: none;
23121
23447
  appearance: none; /* Ensure the thumb can be styled */
23122
23448
  }
23123
- `, bn = xn, hn = class {
23449
+ `, In = En, Ln = class {
23124
23450
  constructor(n) {
23125
- d(this, n), this.name = void 0, this.inputId = void 0, this.placeholder = void 0, this.disabled = !1, this.onChange = void 0, this.onInput = void 0, this.type = "text", this.required = !1, this.label = void 0, this.hint = void 0, this.icon = void 0, this.link = void 0, this.message = void 0, this.error = !1, this.checked = void 0, this.errorMessage = void 0, this.value = void 0, this.maxLength = void 0, this.options = void 0;
23451
+ s(this, n), this.name = void 0, this.inputId = void 0, this.placeholder = void 0, this.disabled = !1, this.onChange = void 0, this.onInput = void 0, this.type = "text", this.required = !1, this.label = void 0, this.hint = void 0, this.icon = void 0, this.link = void 0, this.message = void 0, this.error = !1, this.checked = void 0, this.errorMessage = void 0, this.value = void 0, this.maxLength = void 0, this.options = void 0;
23126
23452
  }
23127
23453
  get parsedOptions() {
23128
23454
  if (Array.isArray(this.options))
@@ -23157,24 +23483,24 @@ input[type="range"]::-webkit-slider-thumb {
23157
23483
  })() : e("eds-input", Object.assign({}, n))), e("eds-input-footer", { key: "7c283d5b193f179cdefbb011862358e3c92685c5", name: this.name, message: this.message, "error-message": this.errorMessage, error: this.error, link: this.link }));
23158
23484
  }
23159
23485
  };
23160
- hn.style = bn;
23161
- const Vn = class {
23486
+ Ln.style = In;
23487
+ const se = class {
23162
23488
  constructor(n) {
23163
- d(this, n), this.name = void 0, this.errorMessage = void 0, this.message = void 0, this.error = !1, this.link = void 0;
23489
+ s(this, n), this.name = void 0, this.errorMessage = void 0, this.message = void 0, this.error = !1, this.link = void 0;
23164
23490
  }
23165
23491
  render() {
23166
23492
  return e("div", { key: "9ce8da179446c0302754f1285b3733d928da042f", class: "space-y-4" }, this.error && this.errorMessage && e("div", { key: "aab7e8ded78e48864b2245603c3987a6ec3f3959", id: `error_${this.name}`, class: "text-error flex items-center" }, e("eds-icon-wrapper", { key: "152a06328c6cbb40f0d52310ac3ce761de21a26c", icon: "warning" }), e("p", { key: "658825aa4649ad83a150a0dc92d37f1b078de4c3", class: "f-ui-04 ml-4", innerHTML: this.errorMessage })), this.message && e("p", { key: "378ae9ef876e087f66302547958af4543262a441", id: `desc_${this.name}`, class: "f-ui-05 text-lighter", innerHTML: this.message }), this.link && e("a", { key: "cd396f03bdbd12a47544a44de17cfce35b8d206a", href: this.link.url, class: "f-ui-05 effect-color hover:text-lighter underline underline-offset-4" }, this.link.label));
23167
23493
  }
23168
- }, Gn = class {
23494
+ }, de = class {
23169
23495
  constructor(n) {
23170
- d(this, n), this.label = void 0, this.name = void 0, this.required = !1, this.disabled = !1;
23496
+ s(this, n), this.label = void 0, this.name = void 0, this.required = !1, this.disabled = !1;
23171
23497
  }
23172
23498
  render() {
23173
23499
  return e("label", { key: "d83f8267317c2d5ef500460e938b166c0e6517b1", htmlFor: this.name, class: `input-label ${this.disabled ? "text-lighter" : ""}` }, this.label, this.required && e("span", { key: "85ad9e44af342c191d8aa7aeb7e4c6288c544d6d" }, e("span", { key: "b350ee023f80bc9d5f24ef2fac9f74b2461d27b9", "aria-hidden": "true" }, "*"), e("span", { key: "af55a83d8998ac70817cb2f7cebfb74f276a6387", class: "sr-only" }, "required")));
23174
23500
  }
23175
- }, Jn = class {
23501
+ }, ae = class {
23176
23502
  constructor(n) {
23177
- d(this, n), this.onInput = (i) => {
23503
+ s(this, n), this.onInput = (i) => {
23178
23504
  const r = i.target;
23179
23505
  this.sliderVal = parseInt(r.value, 10);
23180
23506
  }, this.name = void 0, this.inputId = "range", this.disabled = !1, this.required = !1, this.min = 0, this.max = 100, this.step = 1, this.sliderVal = this.max % 2 === 0 ? this.max / 2 : Math.ceil(this.max / 2);
@@ -23203,11 +23529,11 @@ const Vn = class {
23203
23529
  }), e("p", { key: "e04c275e51710ae09eec1603911446e1e65bf648", id: `desc_${this.name}`, class: "block f-ui-05 text-lighter" }, "Current value: ", this.sliderVal));
23204
23530
  }
23205
23531
  get el() {
23206
- return s(this);
23532
+ return d(this);
23207
23533
  }
23208
- }, Kn = class {
23534
+ }, ce = class {
23209
23535
  constructor(n) {
23210
- d(this, n), this.onInput = (i) => {
23536
+ s(this, n), this.onInput = (i) => {
23211
23537
  console.log("on input:", i);
23212
23538
  }, this.onChange = (i) => {
23213
23539
  console.log("on change:", i.target.value);
@@ -23236,19 +23562,53 @@ const Vn = class {
23236
23562
  }));
23237
23563
  }
23238
23564
  get el() {
23239
- return s(this);
23565
+ return d(this);
23240
23566
  }
23241
- }, Qn = class {
23567
+ }, ge = class {
23242
23568
  constructor(n) {
23243
- d(this, n), this.changeEvent = h(this, "changeEvent", 7), this.handleChange = (i) => {
23569
+ s(this, n), this.changeEvent = h(this, "changeEvent", 7), this.handleChange = (i) => {
23244
23570
  const r = i.target;
23245
23571
  this.changeEvent.emit(r.value);
23246
- }, this.inputId = void 0, this.name = void 0, this.placeholder = void 0, this.disabled = !1, this.hasMessage = !1, this.error = !1, this.required = !1, this.options = [], this.value = void 0;
23572
+ }, this.inputId = void 0, this.name = void 0, this.placeholder = void 0, this.disabled = !1, this.hasMessage = !1, this.error = !1, this.required = !1, this.options = [], this.labelKey = "label", this.valueKey = "value", this.value = void 0, this.dynamicOptions = [], this.loading = !1, this.dynamicValueKey = "value", this.dynamicLabelKey = "label";
23573
+ }
23574
+ componentWillLoad() {
23575
+ this.loadOptions();
23576
+ }
23577
+ /**
23578
+ * Watches for changes in the `options` prop and loads the options accordingly.
23579
+ *
23580
+ * If the first object in the options array contains an "endpoint" key,
23581
+ * the component will fetch options from the specified endpoint using the configured keys.
23582
+ * Otherwise, it will treat the options as static.
23583
+ *
23584
+ * @async
23585
+ */
23586
+ async loadOptions() {
23587
+ if (this.options && this.options.length > 0 && this.options[0].endpoint) {
23588
+ const n = this.options[0], i = n.endpoint;
23589
+ this.dynamicValueKey = n.value || "value", this.dynamicLabelKey = n.label || "label", this.loading = !0;
23590
+ try {
23591
+ const r = await fetch(i);
23592
+ r.ok || b.show(`<eds-input-select> HTTP error! Status: ${r.status}`, "error");
23593
+ const l = await r.json();
23594
+ this.dynamicOptions = l;
23595
+ } catch (r) {
23596
+ b.show(`<eds-input-select> Error fetching dynamic options ${r}`, "error");
23597
+ } finally {
23598
+ this.loading = !1;
23599
+ }
23600
+ } else
23601
+ this.dynamicOptions = this.options, this.dynamicValueKey = this.valueKey, this.dynamicLabelKey = this.labelKey;
23247
23602
  }
23248
23603
  render() {
23249
- return e("div", { key: "9aaa3bf4491078f5b5df6f5f0d3d5f3739f25716", class: "relative" }, e("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 }, e("option", { key: "2d1e8fa6c5583e0580cbd92d731b731cdd7ecca8", value: "", disabled: !0, hidden: !0 }, "Please select ", this.name), this.options.map((n, i) => e("option", { key: i, value: n.value }, n.label))), e("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" : ""}` }, e("eds-icon-wrapper", { key: "07d186b6e0a6742a4f6ce39dd275ff1a6f905927", class: "w-20 h-20", icon: "chevron-right" })));
23604
+ return e("div", { key: "d37107564a86281b3a3920a5eb128f47f6fd4ceb", class: "relative" }, e("select", { key: "a69cd907ef6732ec42a99fd46bbf9a52ef03735a", 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 }, e("option", { key: "8b84a2b7edd7e989411908b16f35c46853889d8e", value: "", disabled: !0, hidden: !0 }, this.loading ? "Loading options..." : `Please select ${this.name}`), this.dynamicOptions.map((n, i) => e("option", { key: i, value: n[this.dynamicValueKey] }, n[this.dynamicLabelKey]))), e("span", { key: "dbccb6161aafc2dc31cc6dd5b3d8c812545eab9a", 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" : ""}` }, e("eds-icon-wrapper", { key: "b0fd24cb54185d8558dfabcb94d05b6257caacd1", class: "w-20 h-20", icon: "chevron-right" })));
23605
+ }
23606
+ static get watchers() {
23607
+ return {
23608
+ options: ["loadOptions"]
23609
+ };
23250
23610
  }
23251
- }, fn = `@font-face {
23611
+ }, Hn = `@font-face {
23252
23612
  font-family: "Inter";
23253
23613
  font-weight: 100 900;
23254
23614
  font-display: swap;
@@ -30411,7 +30771,7 @@ const Vn = class {
30411
30771
  align-items: center;
30412
30772
  }
30413
30773
 
30414
- `, mn = fn, pn = b([
30774
+ `, An = Hn, Wn = f([
30415
30775
  "relative inline-flex justify-center items-center py-8 rounded-sm",
30416
30776
  "effect-color effect-focus aria-disabled:text-lightest",
30417
30777
  "aria-disabled:bg-dark aria-disabled:cursor-not-allowed aria-disabled:!border-transparent aria-disabled:after:!border-transparent"
@@ -30528,11 +30888,11 @@ const Vn = class {
30528
30888
  iconSmall: !1,
30529
30889
  size: "small"
30530
30890
  }
30531
- }), un = class {
30891
+ }), jn = class {
30532
30892
  constructor(n) {
30533
- d(this, n), this.parentContext = null, this.label = void 0, this.intent = void 0, this.icon = void 0, this.iconPos = "right", this.iconSmall = !1, this.size = "small", this.external = !1, this.current = !1, this.download = !1, this.url = void 0, this.ariaLabel = void 0, this.disabled = !1, this.hideLabelOnSmallScreen = !1, this.extraClass = void 0;
30893
+ s(this, n), this.parentContext = null, this.label = void 0, this.intent = void 0, this.icon = void 0, this.iconPos = "right", this.iconSmall = !1, this.size = "small", this.external = !1, this.current = !1, this.download = !1, this.url = void 0, this.ariaLabel = void 0, this.disabled = !1, this.hideLabelOnSmallScreen = !1, this.extraClass = void 0;
30534
30894
  }
30535
- handleBreadcrumbContext(n) {
30895
+ handleParentContext(n) {
30536
30896
  n.target === this.el && (this.parentContext = n.detail, n.stopPropagation());
30537
30897
  }
30538
30898
  handleClick(n) {
@@ -30541,7 +30901,7 @@ const Vn = class {
30541
30901
  n.preventDefault();
30542
30902
  return;
30543
30903
  }
30544
- f({
30904
+ g({
30545
30905
  category: "ui-component",
30546
30906
  parentContext: this.parentContext,
30547
30907
  tag: this.el.tagName.toLowerCase(),
@@ -30565,22 +30925,22 @@ const Vn = class {
30565
30925
  `, icon: this.icon })) : null;
30566
30926
  }
30567
30927
  render() {
30568
- const n = this.disabled ? "span" : "a", i = pn({
30928
+ const n = this.disabled ? "span" : "a", i = Wn({
30569
30929
  intent: this.intent,
30570
30930
  size: this.getLinkSize(),
30571
30931
  iconSmall: this.iconSmall,
30572
30932
  isActive: this.current
30573
30933
  }), r = this.hideLabelOnSmallScreen ? "hidden lg:flex" : "";
30574
- return e(n, { key: "287497bf5ba99fe467ba08d59f65d24204fbecbc", class: `${i || ""} ${this.extraClass || ""}`, href: this.disabled ? void 0 : this.url, target: this.external && !this.disabled ? "_blank" : void 0, rel: this.external && !this.disabled ? "noopener noreferrer" : void 0, "aria-label": this.label || this.ariaLabel || void 0, "aria-disabled": this.disabled ? "true" : null, download: this.download ? "" : void 0, onClick: (l) => this.handleClick(l) }, e("span", { key: "a244b21dffaad38cb149a925df1feb3d78beed03", class: "z-1 relative inline-flex items-center justify-center" }, this.renderLeftIcon(), e("span", { key: "2ef69a91351ea622d6425699b90b45a0bd5989b1", class: r }, this.label), this.renderRightIcon()));
30934
+ return e(n, { key: "58eb3c1c5c192c2855424864c9e3e9c7a5fe3378", class: `${i || ""} ${this.extraClass || ""}`, href: this.disabled ? void 0 : this.url, target: this.external && !this.disabled ? "_blank" : void 0, rel: this.external && !this.disabled ? "noopener noreferrer" : void 0, "aria-label": this.label || this.ariaLabel || void 0, "aria-disabled": this.disabled ? "true" : null, download: this.download ? "" : void 0, onClick: (l) => this.handleClick(l) }, e("span", { key: "d4033ba589552f60f8dc7559434a3c035d226de4", class: "z-1 relative inline-flex items-center justify-center" }, this.renderLeftIcon(), e("span", { key: "ca520cc66febaf8c8ddfd2fd8ee8a13b71a3078d", class: r }, this.label), this.renderRightIcon()));
30575
30935
  }
30576
30936
  get el() {
30577
- return s(this);
30937
+ return d(this);
30578
30938
  }
30579
30939
  };
30580
- un.style = mn;
30581
- const yn = ".w-\\[130px\\]{width:130px}.mr-auto{margin-right:auto}.text-current{color:currentColor}.text-default{color:var(--black)}.text-inverse{color:var(--white)}.h-full{height:100%}.w-full{width:100%}.flex{display:flex}.inline-flex{display:inline-flex}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}@media (min-width: 900px){.lg\\:w-\\[150px\\]{width:150px}}", vn = yn, wn = class {
30940
+ jn.style = An;
30941
+ const On = ".w-\\[130px\\]{width:130px}.mr-auto{margin-right:auto}.text-current{color:currentColor}.text-default{color:var(--black)}.text-inverse{color:var(--white)}.h-full{height:100%}.w-full{width:100%}.flex{display:flex}.inline-flex{display:inline-flex}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}@media (min-width: 900px){.lg\\:w-\\[150px\\]{width:150px}}", Rn = On, Mn = class {
30582
30942
  constructor(n) {
30583
- d(this, n), this.href = "/", this.orientation = "horizontal", this.type = void 0;
30943
+ s(this, n), this.href = "/", this.orientation = "horizontal", this.type = void 0;
30584
30944
  }
30585
30945
  /**
30586
30946
  * Handles the click event on the logo link.
@@ -30591,7 +30951,7 @@ const yn = ".w-\\[130px\\]{width:130px}.mr-auto{margin-right:auto}.text-current{
30591
30951
  * - `action`: The action, set as "click".
30592
30952
  */
30593
30953
  handleClick() {
30594
- f({
30954
+ g({
30595
30955
  category: "ui-component",
30596
30956
  tag: this.el.tagName.toLowerCase(),
30597
30957
  name: "logo",
@@ -30628,28 +30988,149 @@ const yn = ".w-\\[130px\\]{width:130px}.mr-auto{margin-right:auto}.text-current{
30628
30988
  return e("a", { key: "3d9435fbc45427865bfa7bacb36bea4c34f08c4e", href: this.href, onClick: () => this.handleClick(), class: "eds-logo-wrapper" }, e("div", { key: "662122c4b687a082c930c034b033e9732ef611be", innerHTML: n }));
30629
30989
  }
30630
30990
  get el() {
30631
- return s(this);
30991
+ return d(this);
30632
30992
  }
30633
30993
  };
30634
- wn.style = vn;
30635
- const kn = ".w-full{width:100%}.h-full{height:100%}.bg-default{background-color:var(--grey-200)}.rounded-lg{border-radius:16px}.h-24{height:1.5rem}.border{border-width:1px}.border-softer{border:2px solid rgba(0, 0, 0, .1 )}.overflow-hidden{overflow:hidden}.bg-accent{background-color:var(--green-500)}.bg-\\[\\#0034CB\\]{--tw-text-opacity:1;background-color:rgb(0 52 203 / var(--tw-text-opacity))}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.duration-300{transition-duration:300ms}.flex{display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.text-default{color:var(--black)}.text-inverse{color:var(--white)}.f-body-02{font-family:var(--f-body-02-fontFamily);font-weight:var(--f-body-02-fontWeight);font-size:var(--f-body-02-fontSize);line-height:var(--f-body-02-lineHeight);letter-spacing:var(--f-body-02-letterSpacing)}", zn = kn, Sn = class {
30994
+ Mn.style = Rn;
30995
+ const Tn = ".block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.fixed{position:fixed}.inset-0{inset:0rem}.z-10{z-index:10}.z-50{z-index:50}.max-w-full{max-width:100%}.absolute{position:absolute}.px-20{padding-left:1.25rem;padding-right:1.25rem}.py-20{padding-top:1.25rem;padding-bottom:1.25rem}.bg-inverse{background-color:var(--white)}.bg-dark{background-color:var(--grey-300)}.rounded-lg{border-radius:16px}.shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.p-6{padding:0.375rem}.p-8{padding:0.5rem}.left-1\\/2{left:50%}.left-20{left:1.25rem}.right-20{right:1.25rem}.top-1\\/2{top:50%}.top-20{top:1.25rem}.bottom-20{bottom:1.25rem}.grow{flex-grow:1}.-translate-x-1\\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.border-b-2{border-bottom-width:2px}.border-softer{border-color:rgba(0, 0, 0, .1)}.pb-8{padding-bottom:0.5rem}.f-heading-03{font-family:var(--f-heading-03-fontFamily);font-weight:var(--f-heading-03-fontWeight);font-size:var(--f-heading-03-fontSize);line-height:var(--f-heading-03-lineHeight);letter-spacing:var(--f-heading-03-letterSpacing)}.f-heading-04{font-family:var(--f-heading-04-fontFamily);font-weight:var(--f-heading-04-fontWeight);font-size:var(--f-heading-04-fontSize);line-height:var(--f-heading-04-lineHeight);letter-spacing:var(--f-heading-04-letterSpacing)}.f-heading-05{font-family:var(--f-heading-05-fontFamily);font-weight:var(--f-heading-05-fontWeight);font-size:var(--f-heading-05-fontSize);line-height:var(--f-heading-05-lineHeight);letter-spacing:var(--f-heading-05-letterSpacing)}.text-light{color:var(--grey-700)}.text-lighter{color:var(--grey-600)}.text-lightest{color:var(--grey-500)}.ml-8{margin-left:0.5rem}.pt-8{padding-top:0.5rem}.bg-opacity-90{opacity:0.9}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.line-clamp-4{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}", Bn = Tn, Un = class {
30636
30996
  constructor(n) {
30637
- d(this, n), this.value = 0;
30997
+ s(this, n), this.isOpen = !1, this.title = "", this.truncate = !0, this.truncateLines = "1", this.position = "middle";
30998
+ }
30999
+ getTruncateClass() {
31000
+ return this.truncate && this.truncateLines ? `line-clamp-${this.truncateLines}` : "";
31001
+ }
31002
+ /**
31003
+ * Returns the Tailwind CSS classes to position the modal based on the `position` prop.
31004
+ *
31005
+ * @private
31006
+ * @returns {string} The concatenated CSS classes for modal positioning.
31007
+ */
31008
+ getModalPositionClasses() {
31009
+ switch (this.position) {
31010
+ case "top":
31011
+ return "left-1/2 top-20 -translate-x-1/2";
31012
+ case "bottom":
31013
+ return "left-1/2 bottom-20 -translate-x-1/2";
31014
+ case "left":
31015
+ return "left-20 top-1/2 -translate-y-1/2";
31016
+ case "right":
31017
+ return "right-20 top-1/2 -translate-y-1/2";
31018
+ case "middle":
31019
+ default:
31020
+ return "left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2";
31021
+ }
31022
+ }
31023
+ /**
31024
+ * Opens the modal.
31025
+ */
31026
+ async open() {
31027
+ var n;
31028
+ this.isOpen = !0, g({
31029
+ category: "ui-component",
31030
+ parentContext: null,
31031
+ tag: this.el.tagName.toLowerCase(),
31032
+ name: ((n = this.title) === null || n === void 0 ? void 0 : n.toLowerCase()) || "",
31033
+ action: "opened"
31034
+ });
31035
+ }
31036
+ /**
31037
+ * Closes the modal.
31038
+ */
31039
+ async close() {
31040
+ var n;
31041
+ this.isOpen = !1, g({
31042
+ category: "ui-component",
31043
+ parentContext: null,
31044
+ tag: this.el.tagName.toLowerCase(),
31045
+ name: ((n = this.title) === null || n === void 0 ? void 0 : n.toLowerCase()) || "",
31046
+ action: "closed"
31047
+ });
31048
+ }
31049
+ /**
31050
+ * Toggles the modal open or closed.
31051
+ */
31052
+ async toggle() {
31053
+ this.isOpen = !this.isOpen;
30638
31054
  }
30639
31055
  /**
30640
- * Method to update the progress value externally.
30641
- * @param newValue The new progress value (0-100).
31056
+ * Lifecycle method that runs when the component has fully loaded.
31057
+ * It emits a custom event for each `eds-button` element contained within the breadcrumb.
31058
+ */
31059
+ componentDidLoad() {
31060
+ }
31061
+ /**
31062
+ * Emits a custom event called `parentContext` for a given button element.
31063
+ * This event provides context information about the eds-modal component.
30642
31064
  */
30643
- async updateValue(n) {
30644
- this.value = Math.min(100, Math.max(0, n));
31065
+ /*emitContext(btnElement: HTMLElement) {
31066
+ const event = new CustomEvent<ParentContextDetail>('parentContext', {
31067
+ detail: {
31068
+ componentName: this.el.tagName.toLowerCase(),
31069
+ identifier: null
31070
+ }
31071
+ });
31072
+
31073
+ btnElement.dispatchEvent(event);
31074
+ }*/
31075
+ render() {
31076
+ return e("div", { key: "eedcdc49c9f4a16ef4537ec02335757aa1143bd9", class: `${this.isOpen ? "block" : "hidden"} fixed inset-0 z-50 flex` }, this.isOpen && e("div", {
31077
+ key: "2b24903b85895fd5eca389d6897aa85c892e762f",
31078
+ class: "fixed inset-0 bg-dark bg-opacity-90",
31079
+ onClick: () => this.close()
31080
+ }), e("div", { key: "d135a2d9eff1764b6335b9b16be54d8fec7d4112", class: `max-w-full absolute px-20 py-20 bg-inverse rounded-lg shadow-lg z-10 ${this.getModalPositionClasses()} grow justify-center` }, e("div", { key: "bc8ea6f95443f01d3e5b88953581e1f2eae4009c", class: "flex justify-between items-center border-b-2 border-softer pb-8" }, e("span", { key: "872b9a4bf44db478d38f18d3459a816c119f352d", class: `f-heading-04 text-lighter ${this.getTruncateClass()}` }, this.title), e("eds-button", { key: "bdf27a3f564d295383985cb1f0ce7df7f13a97fb", intent: "tertiary", icon: "close", "aria-label": "Close modal", onClick: () => this.close(), "extra-class": "ml-8" })), e("div", { key: "600cc4d544d0a41d9d2be74aedbb0d2fe2028141", class: "pt-8" }, e("slot", { key: "8ce560804a6d960b4075e4b6d1607dda6530c08d" }))));
31081
+ }
31082
+ get el() {
31083
+ return d(this);
31084
+ }
31085
+ };
31086
+ Un.style = Bn;
31087
+ const _n = "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}", Dn = _n, Yn = class {
31088
+ constructor(n) {
31089
+ s(this, n), this.socialNetworks = [
31090
+ {
31091
+ label: "Twitter",
31092
+ url: "https://twitter.com/ebrains_eu",
31093
+ icon: "twitter"
31094
+ },
31095
+ {
31096
+ label: "Linkedin",
31097
+ url: "https://www.linkedin.com/company/ebrains-eu/about/",
31098
+ icon: "linkedin"
31099
+ },
31100
+ {
31101
+ label: "Facebook",
31102
+ url: "https://www.facebook.com/people/Ebrains_eu/100046659909324/",
31103
+ icon: "facebook"
31104
+ },
31105
+ {
31106
+ label: "Youtube",
31107
+ url: "https://www.youtube.com/channel/UC6E796cVVR5Xrs2A5jJmleQ",
31108
+ icon: "youtube"
31109
+ },
31110
+ {
31111
+ label: "Mastodon",
31112
+ url: "https://mastodon.social/@ebrains",
31113
+ icon: "mastodon"
31114
+ },
31115
+ {
31116
+ label: "Bluesky",
31117
+ url: "https://bsky.app/profile/ebrains.bsky.social",
31118
+ icon: "bluesky"
31119
+ }
31120
+ ], this.title = "Follow EBRAINS to keep up-to-date";
30645
31121
  }
31122
+ /**
31123
+ * Renders the component's HTML structure with links to EBRAINS social profiles.
31124
+ * Each social network link uses the `eds-link` component with specific classes and styles.
31125
+ *
31126
+ * @returns {JSX.Element} The rendered JSX for the component.
31127
+ */
30646
31128
  render() {
30647
- const n = this.value;
30648
- return e("div", { key: "3131f56034a9fd72ca51e448bc2bcc6281669b25", class: "outer w-full bg-default rounded-lg h-24 border border-softer overflow-hidden" }, e("div", { key: "f1665a254f8dbe1ccb9e512e5f2e7c1e5ab88c07", class: "inner h-full rounded-lg bg-accent transition-all duration-300 flex items-center justify-center text-default f-body-02", style: { width: `${n}%` } }, n, "%"));
31129
+ return e("div", { key: "a6a3e2084eb01def71f6fee67ebe8c5f4f613c89" }, e("p", { key: "43b92e9c33f8abef6070a6a3cd77f7573e2ab454", class: "f-ui-02" }, this.title), e("ul", { key: "c0e0dfdeff373885f62250c8bf4385268410406c", class: "mt-12 flex gap-4" }, this.socialNetworks.map((n, i) => e("li", { key: i }, e("eds-link", { "extra-class": "effect-color effect-focus text-lighter hover:text-default flex items-center justify-center rounded-sm", external: !0, "aria-label": n.label, url: n.url, icon: n.icon, intent: "strong" })))));
30649
31130
  }
30650
31131
  };
30651
- Sn.style = zn;
30652
- const Cn = ".f-ui-05{font-family:var(--f-ui-05-fontFamily);font-weight:var(--f-ui-05-fontWeight);font-size:var(--f-ui-05-fontSize);line-height:var(--f-ui-05-lineHeight);letter-spacing:var(--f-ui-05-letterSpacing)}.py-1{padding-top:0.0625rem;padding-bottom:0.0625rem}.px-4{padding-left:0.25rem;padding-right:0.25rem}.border-2{border-width:2px}.rounded-pill{border-radius:100px}.border-default{border:2px solid var(--black)}.text-inverse{color:var(--white)}.bg-strongest{background-color:var(--black)}.text-\\[\\#0034CB\\]{--tw-text-opacity:1;color:rgb(0 52 203 / var(--tw-text-opacity))}.border-\\[\\#0034CB\\]{--tw-border-opacity:1;border:2px solid rgb(0 52 203 / var(--tw-border-opacity))}.text-light{color:var(--grey-700)}.bg-strongest-soft{background-color:rgba(0, 0, 0, .05)}.border-transparent{border-color:var(--transparent)}.border-inverse{border-color:var(--white)}.bg-inverse{background-color:var(--white)}.text-lighter{color:var(--grey-600)}", Fn = Cn, En = b(
31132
+ Yn.style = Dn;
31133
+ const $n = ".f-ui-05{font-family:var(--f-ui-05-fontFamily);font-weight:var(--f-ui-05-fontWeight);font-size:var(--f-ui-05-fontSize);line-height:var(--f-ui-05-lineHeight);letter-spacing:var(--f-ui-05-letterSpacing)}.py-1{padding-top:0.0625rem;padding-bottom:0.0625rem}.px-4{padding-left:0.25rem;padding-right:0.25rem}.border-2{border-width:2px}.rounded-pill{border-radius:100px}.border-default{border:2px solid var(--black)}.text-inverse{color:var(--white)}.bg-strongest{background-color:var(--black)}.text-\\[\\#0034CB\\]{--tw-text-opacity:1;color:rgb(0 52 203 / var(--tw-text-opacity))}.border-\\[\\#0034CB\\]{--tw-border-opacity:1;border:2px solid rgb(0 52 203 / var(--tw-border-opacity))}.text-light{color:var(--grey-700)}.bg-strongest-soft{background-color:rgba(0, 0, 0, .05)}.border-transparent{border-color:var(--transparent)}.border-inverse{border-color:var(--white)}.bg-inverse{background-color:var(--white)}.text-lighter{color:var(--grey-600)}", Nn = $n, Pn = f(
30653
31134
  ["f-ui-05 py-1 px-4 border-2 rounded-pill"],
30654
31135
  // Base classes
30655
31136
  {
@@ -30667,67 +31148,21 @@ const Cn = ".f-ui-05{font-family:var(--f-ui-05-fontFamily);font-weight:var(--f-u
30667
31148
  intent: "default"
30668
31149
  }
30669
31150
  }
30670
- ), In = class {
31151
+ ), qn = class {
30671
31152
  constructor(n) {
30672
- d(this, n), this.label = void 0, this.intent = "default";
31153
+ s(this, n), this.label = void 0, this.intent = "default";
30673
31154
  }
30674
31155
  /**
30675
31156
  * Render the component.
30676
31157
  * @returns The rendered HTML for the tag component with the applied styles and label.
30677
31158
  */
30678
31159
  render() {
30679
- const n = En({ intent: this.intent });
31160
+ const n = Pn({ intent: this.intent });
30680
31161
  return e("span", { key: "546bd7eb2c78760edc12cd7bb3ede5f6ab9099f3", class: n }, this.label);
30681
31162
  }
30682
31163
  };
30683
- In.style = Fn;
30684
- const Zn = class {
30685
- constructor(n) {
30686
- d(this, n), this.selectedEvent = null, this.parsedEvents = [], this.events = void 0;
30687
- }
30688
- parseEvents(n) {
30689
- try {
30690
- const i = JSON.parse(n);
30691
- this.parsedEvents = Array.isArray(i) ? i.map((r) => Object.assign(Object.assign({}, r), {
30692
- completed: r.completed === "true" || r.completed === !0
30693
- // Ensure boolean conversion
30694
- })) : [];
30695
- } catch {
30696
- this.parsedEvents = [];
30697
- }
30698
- }
30699
- componentWillLoad() {
30700
- this.parseEvents(this.events);
30701
- }
30702
- componentDidLoad() {
30703
- this.el.querySelectorAll("eds-card-generic").forEach((i) => {
30704
- this.emitContext(i);
30705
- });
30706
- }
30707
- emitContext(n) {
30708
- const i = new CustomEvent("parentContext", {
30709
- detail: {
30710
- componentName: this.el.tagName.toLowerCase(),
30711
- identifier: null
30712
- }
30713
- });
30714
- n.dispatchEvent(i);
30715
- }
30716
- handleEventClick(n) {
30717
- this.selectedEvent = n, this.modalRef && typeof this.modalRef.open == "function" && this.modalRef.open();
30718
- }
30719
- render() {
30720
- return e("div", { key: "8f40212e04ab17cac2688df56b7330041a605a86", class: "max-w-sidebar mx-auto px-4 py-8" }, e("div", { key: "68421d4fce08e881e2494b5c504bd5db7570e34f", class: "relative" }, e("div", { key: "e43edd7fba6d30b3dd48ffb2b467ff24b46c8da7", class: "absolute w-4 left-1/2 transform -translate-x-1/2 bg-strong h-full z-0" }), e("div", { key: "56dd7cebb5a2761547a5e24ec76652f7052906b2", class: "space-y-16" }, this.parsedEvents.map((n, i) => e("div", { class: "relative flex" }, e("div", { class: `w-1/2 ${i % 2 === 0 ? "pr-4" : ""}` }, i % 2 === 0 && e("eds-card-generic", { cardTitle: n.title, url: "#", description: n.description, "heading-level": "h2", tiny: !0, bg: !n.completed, "with-hover": "false", tags: JSON.stringify(n.completed ? [{ label: "completed", style: "accent" }] : [{ label: "pending", style: "default" }]), onClick: () => this.handleEventClick(n) })), e("div", { class: "flex items-center justify-center relative" }, n.completed ? e("div", { class: "w-32 h-32 bg-accent rounded-full shadow flex items-center justify-center" }) : e("div", { class: "w-32 h-32 bg-strong rounded-full shadow flex items-center justify-center" })), e("div", { class: `w-1/2 ${i % 2 !== 0 ? "pl-4" : ""}` }, i % 2 !== 0 && e("eds-card-generic", { cardTitle: n.title, url: "#", description: n.description, "heading-level": "h2", tiny: !0, bg: !n.completed, "with-hover": "false", tags: JSON.stringify(n.completed ? [{ label: "completed", style: "accent" }] : [{ label: "pending", style: "default" }]), onClick: () => this.handleEventClick(n) })))))));
30721
- }
30722
- get el() {
30723
- return s(this);
30724
- }
30725
- static get watchers() {
30726
- return {
30727
- events: ["parseEvents"]
30728
- };
30729
- }
30730
- }, Hn = b(["relative right-4 bottom-4 w-auto p-12 rounded-lg shadow-md"], {
31164
+ qn.style = Nn;
31165
+ const Xn = f(["relative right-4 bottom-4 w-auto p-12 rounded-lg shadow-md"], {
30731
31166
  variants: {
30732
31167
  intent: {
30733
31168
  default: "bg-dark text-light",
@@ -30739,12 +31174,32 @@ const Zn = class {
30739
31174
  defaultVariants: {
30740
31175
  intent: "default"
30741
31176
  }
30742
- }), ne = class {
31177
+ }), xe = class {
30743
31178
  constructor(n) {
30744
- d(this, n), this.dismissToast = () => {
31179
+ s(this, n), this.dismissToast = () => {
30745
31180
  this.visible = !1;
30746
31181
  }, this.message = void 0, this.intent = "default", this.duration = 5e3, this.visible = !0;
30747
31182
  }
31183
+ /**
31184
+ * Lifecycle method that sets up the initial panel height and adds a resize event listener
31185
+ * to recalculate height on window resize.
31186
+ */
31187
+ componentDidLoad() {
31188
+ const n = this.el.querySelector("eds-button");
31189
+ this.emitContext(n);
31190
+ }
31191
+ /**
31192
+ * Emits a custom event called `parentContext` for a given button element.
31193
+ */
31194
+ emitContext(n) {
31195
+ const i = new CustomEvent("parentContext", {
31196
+ detail: {
31197
+ componentName: this.el.tagName.toLowerCase(),
31198
+ identifier: null
31199
+ }
31200
+ });
31201
+ n.dispatchEvent(i);
31202
+ }
30748
31203
  connectedCallback() {
30749
31204
  this.dismissTimeout = setTimeout(this.dismissToast, this.duration);
30750
31205
  }
@@ -30754,18 +31209,18 @@ const Zn = class {
30754
31209
  render() {
30755
31210
  if (!this.visible)
30756
31211
  return null;
30757
- const n = Hn({ intent: this.intent });
31212
+ const n = Xn({ intent: this.intent });
30758
31213
  return e("div", { class: n }, e("div", { class: "flex items-center justify-between gap-4" }, e("p", { class: "f-ui-01" }, this.message), e("eds-button", { intent: "tertiary", icon: "close", "aria-label": "Close Toast", onClick: () => this.dismissToast(), "extra-class": "ml-8" })));
30759
31214
  }
30760
31215
  get el() {
30761
- return s(this);
31216
+ return d(this);
30762
31217
  }
30763
- }, An = ".toast-container{position:fixed;top:1rem;left:50%;transform:translateX(-50%);z-index:50;display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:36rem;}.toast-wrapper{width:100%;padding:0 1rem;}.eds-toast{box-shadow:0px 4px 6px rgba(0, 0, 0, 0.1);border-radius:0.5rem;animation:fade-in 0.3s ease-out;}@keyframes fade-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}", Wn = An, Ln = class {
31218
+ }, Vn = ".toast-container{position:fixed;top:1rem;left:50%;transform:translateX(-50%);z-index:50;display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:36rem;}.toast-wrapper{width:100%;padding:0 1rem;}.eds-toast{box-shadow:0px 4px 6px rgba(0, 0, 0, 0.1);border-radius:0.5rem;animation:fade-in 0.3s ease-out;}@keyframes fade-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}", Kn = Vn, Gn = class {
30764
31219
  constructor(n) {
30765
- d(this, n), this.toastId = 0, this.toasts = [];
31220
+ s(this, n), this.toastId = 0, this.toasts = [];
30766
31221
  }
30767
31222
  connectedCallback() {
30768
- x.init(this.hostElement), this.hostElement.addEventListener("show-toast", (n) => {
31223
+ b.init(this.hostElement), this.hostElement.addEventListener("show-toast", (n) => {
30769
31224
  const { message: i, intent: r } = n.detail;
30770
31225
  this.addToast(i, r);
30771
31226
  });
@@ -30784,39 +31239,19 @@ const Zn = class {
30784
31239
  this.toasts = this.toasts.filter((i) => i.id !== n);
30785
31240
  }
30786
31241
  render() {
30787
- return e("div", { key: "8fc238fb8e0b463c286ca21f2525cae8fd738684", class: "toast-container" }, this.toasts.map((n) => e("div", { key: n.id }, e("eds-toast", { message: n.message, intent: n.intent, onClick: () => this.removeToast(n.id) }))));
31242
+ return e("div", { key: "459148404380e386117387f42183e24a069b2de6", class: "toast-container" }, this.toasts.map((n) => e("div", { key: n.id }, e("eds-toast", { message: n.message, intent: n.intent, onClick: () => this.removeToast(n.id) }))));
30788
31243
  }
30789
31244
  get hostElement() {
30790
- return s(this);
30791
- }
30792
- };
30793
- Ln.style = Wn;
30794
- const jn = "", On = jn, Rn = class {
30795
- constructor(n) {
30796
- d(this, n), this.applications = void 0;
30797
- }
30798
- getParsedApplications() {
30799
- try {
30800
- return JSON.parse(this.applications || "[]");
30801
- } catch {
30802
- return [];
30803
- }
30804
- }
30805
- calculateProgress(n) {
30806
- return Math.ceil(n / 9 * 100);
30807
- }
30808
- render() {
30809
- const n = this.getParsedApplications();
30810
- return n.length === 0 ? e("p", null, "No applications to display.") : e("div", { class: "container mx-auto px-4 py-8" }, e("table", { class: "table-auto w-full border-collapse border border-gray-200" }, e("thead", null, e("tr", { class: "bg-gray-100" }, e("th", { class: "border border-gray-300 px-4 py-2 text-left" }, "Application"), e("th", { class: "border border-gray-300 px-4 py-2 text-left" }, "Current TRL Stage"), e("th", { class: "border border-gray-300 px-4 py-2 text-left" }, "Progress"))), e("tbody", null, n.map((i) => e("tr", null, e("td", { class: "border border-gray-300 px-4 py-2" }, i.name), e("td", { class: "border border-gray-300 px-4 py-2" }, "TRL ", i.currentTrl), e("td", { class: "border border-gray-300 px-4 py-2" }, e("eds-progress-bar", { value: this.calculateProgress(i.currentTrl) })))))));
31245
+ return d(this);
30811
31246
  }
30812
31247
  };
30813
- Rn.style = On;
30814
- const ee = class {
31248
+ Gn.style = Kn;
31249
+ const he = class {
30815
31250
  constructor(n) {
30816
- d(this, n), this.authStatusChanged = h(this, "authStatusChanged", 7), this.handleLogin = () => {
31251
+ s(this, n), this.authStatusChanged = h(this, "authStatusChanged", 7), this.handleLogin = () => {
30817
31252
  this.authenticated || I();
30818
31253
  }, this.handleLogout = () => {
30819
- H(), this.authenticated = !1;
31254
+ L(), this.authenticated = !1, this.user = null;
30820
31255
  }, this.keycloakUrl = void 0, this.keycloakRealm = void 0, this.keycloakClientId = void 0, this.user = null, this.authenticated = !1, this.serverAvailable = !1, this.username = "";
30821
31256
  }
30822
31257
  /**
@@ -30824,11 +31259,11 @@ const ee = class {
30824
31259
  * It initializes authentication by calling the `initAuth` method.
30825
31260
  */
30826
31261
  async componentWillLoad() {
30827
- if (this.serverAvailable = await A(`${this.keycloakUrl}/realms/${this.keycloakRealm}`), !this.serverAvailable) {
30828
- x.show("Keycloak server is unavailable.", "error");
31262
+ if (!this.keycloakUrl || !this.keycloakRealm || !this.keycloakClientId) {
31263
+ console.error("Keycloak configuration props are missing.");
30829
31264
  return;
30830
31265
  }
30831
- await this.initAuth();
31266
+ this.serverAvailable = await H(`${this.keycloakUrl}/realms/${this.keycloakRealm}`), this.serverAvailable && await this.initAuth();
30832
31267
  }
30833
31268
  /**
30834
31269
  * Initializes the Keycloak authentication by configuring Keycloak with the provided props.
@@ -30842,24 +31277,24 @@ const ee = class {
30842
31277
  realm: this.keycloakRealm,
30843
31278
  clientId: this.keycloakClientId
30844
31279
  };
30845
- await W(n, !0), this.authenticated = L(), this.authenticated && (this.user = j()), this.authStatusChanged.emit({
31280
+ await A(n, !0), W() && (this.user = j(), this.authenticated = !0), this.authStatusChanged.emit({
30846
31281
  authenticated: this.authenticated,
30847
31282
  user: this.user
30848
- }), x.show(`Welcome back, ${this.user.username}`, "success");
31283
+ });
30849
31284
  } catch (n) {
30850
31285
  console.error("Keycloak initialization failed:", n);
30851
31286
  }
30852
31287
  }
30853
31288
  render() {
30854
31289
  var n;
30855
- return this.serverAvailable ? e("div", { class: "block" }, this.authenticated ? e("div", { class: "flex items-center" }, e("eds-dropdown", { label: `Welcome, ${(n = this.user) === null || n === void 0 ? void 0 : n.username}`, intent: "tertiary", "aria-label": "User Menu", "dropdown-pos": "right", "dropdown-offset": "false", icon: "chevron-down", class: "text-default" }, e("eds-user-modal", { user: JSON.stringify(this.user), onLogout: this.handleLogout.bind(this) }))) : e("eds-button", { label: "Login", intent: "primary", onClick: this.handleLogin.bind(this), class: "text-default" })) : null;
31290
+ return this.serverAvailable ? e("div", { class: "block" }, this.authenticated ? e("div", { class: "flex items-center" }, e("eds-dropdown", { label: `Welcome, ${(n = this.user) === null || n === void 0 ? void 0 : n.username}`, intent: "tertiary", "aria-label": "User Menu", "dropdown-pos": "right", "dropdown-offset": "false", icon: "chevron-down", class: "text-default" }, e("eds-user-modal", { user: JSON.stringify(this.user), onLogout: this.handleLogout.bind(this) }))) : e("eds-button", { label: "Login", intent: "primary", onClick: this.handleLogin, "extra-class": "text-default" })) : null;
30856
31291
  }
30857
31292
  get hostEl() {
30858
- return s(this);
31293
+ return d(this);
30859
31294
  }
30860
- }, Tn = "", Un = Tn, Mn = class {
31295
+ }, be = class {
30861
31296
  constructor(n) {
30862
- d(this, n), this.user = void 0, this.links = void 0, this.onLogout = void 0, this.parsedUser = {}, this.parsedLinks = [];
31297
+ s(this, n), this.user = void 0, this.links = void 0, this.onLogout = void 0, this.parsedUser = {}, this.parsedLinks = [];
30863
31298
  }
30864
31299
  parseUserProp(n) {
30865
31300
  this.parsedUser = typeof n == "string" ? JSON.parse(n) : n;
@@ -30879,7 +31314,7 @@ const ee = class {
30879
31314
  }
30880
31315
  render() {
30881
31316
  var n, i, r, l, t;
30882
- return e("div", { key: "70a619795f9f0e5ed619cce77c95b7661beb2c63", class: "min-w-[280px] p-8" }, e("div", { key: "01bfe265178130ca0398592087f2420f7509d018", class: "flex gap-x-16 pb-16 border-b-2 border-softer" }, e("eds-avatar", { key: "fcb0cc8aa22e11763c342bc4247343485f6ded90", "first-name": (n = this.parsedUser) === null || n === void 0 ? void 0 : n.firstname, "last-name": (i = this.parsedUser) === null || i === void 0 ? void 0 : i.lastname, initials: this.initials, color: "grey", rounded: !0, "initials-strong": !0 }), e("div", { key: "70d5c334cc98e9bdc22e0129a7c3c0b8d616cb0d", class: "max-w-full" }, ((r = this.parsedUser) === null || r === void 0 ? void 0 : r.fullname) && e("p", { key: "f30cccaa393dd1274d156640ed649893de3f2a0b", class: "f-ui-01 text-default w-full text-ellipsis" }, this.parsedUser.fullname), ((l = this.parsedUser) === null || l === void 0 ? void 0 : l.username) && e("p", { key: "5256c0bc39ca675b05d654c6d0ad72da948df58e", class: "f-ui-03-light text-light mt-4" }, this.parsedUser.username), ((t = this.parsedUser) === null || t === void 0 ? void 0 : t.email) && e("p", { key: "892a3d85052c62e11cd775c2d91c55f572df745b", class: "f-ui-03-light text-light mt-4" }, this.parsedUser.email))), e("div", { key: "98e1f6605a8e312a1e7c340d21e0240a1e980e04", class: "text-default mt-16 flex w-full flex-col gap-y-8" }, e("div", { key: "d4ed22d8dc1bf4d1fd7c64b388e53df2a1e48957", class: "border-softer mb-10 border-b-2 pb-16" }, e("eds-link", { key: "98d69c840a87b15d537442ca0c1f2890175532ff", label: "My EBRAINS", "aria-label": "My EBRAINS", url: "https://www.ebrains.eu/dashboard", intent: "primary", "extra-class": "w-full", external: !0 })), e("eds-link", { key: 1, label: "Account Settings", url: "https://iam.ebrains.eu/auth/realms/hbp/account/", intent: "secondary", icon: "arrow-diagonal", external: !0, "extra-class": "w-full" }), this.hasLogout && e("eds-link", { key: "8c3c341626f0ca5fd217aea8939d44c7cf3e0ed3", label: "Sign out", intent: "tertiary", "extra-class": "w-full justify-center", onClick: () => this.onLogout && this.onLogout() })));
31317
+ return e("div", { key: "ad99ddd7c2710ef90840a5571ab6a161178cacc0", class: "min-w-[280px] p-8" }, e("div", { key: "d1da12f3a965fa7503fb3e00566db0796b803352", class: "flex gap-x-16 pb-16 border-b-2 border-softer" }, e("eds-avatar", { key: "c3d3ca80a9d23cc88f8ee6801b29995138c9b7c6", "first-name": (n = this.parsedUser) === null || n === void 0 ? void 0 : n.firstname, "last-name": (i = this.parsedUser) === null || i === void 0 ? void 0 : i.lastname, initials: this.initials, color: "grey", rounded: !0, "initials-strong": !0 }), e("div", { key: "4efe378b3a9ce76d35e642db150be13d0434db72", class: "max-w-full" }, ((r = this.parsedUser) === null || r === void 0 ? void 0 : r.fullname) && e("p", { key: "1068082a2894e3c3e3f77d1eea923f9c39d8766c", class: "f-ui-01 text-default w-full text-ellipsis" }, this.parsedUser.fullname), ((l = this.parsedUser) === null || l === void 0 ? void 0 : l.username) && e("p", { key: "b86e08b806a37c9957bca7f9ee268303e7ace134", class: "f-ui-03-light text-light mt-4" }, this.parsedUser.username), ((t = this.parsedUser) === null || t === void 0 ? void 0 : t.email) && e("p", { key: "b3514920e1eb4906cb7f7705bfbc986166e84946", class: "f-ui-03-light text-light mt-4" }, this.parsedUser.email))), e("div", { key: "61941fa0a19a19087da886a73d85d7e438d2c0b0", class: "text-default mt-16 flex w-full flex-col gap-y-8" }, e("div", { key: "5ad2be1763726c9d794b78a2593106fd8ba1dc7b", class: "border-softer mb-10 border-b-2 pb-16" }, e("eds-link", { key: "dbe3a9de56bf5ccc26426ddb831f2d1a27a0e6ff", label: "My EBRAINS", "aria-label": "My EBRAINS", url: "https://www.ebrains.eu/dashboard", intent: "primary", "extra-class": "w-full", external: !0 })), e("eds-link", { key: 1, label: "Account Settings", url: "https://iam.ebrains.eu/auth/realms/hbp/account/", intent: "secondary", icon: "arrow-diagonal", external: !0, "extra-class": "w-full" }), this.hasLogout && e("eds-link", { key: "642890827e2fa6735bc616e680dbda481c2c0053", label: "Sign out", intent: "tertiary", "extra-class": "w-full justify-center", onClick: () => this.onLogout && this.onLogout() })));
30883
31318
  }
30884
31319
  static get watchers() {
30885
31320
  return {
@@ -30888,34 +31323,38 @@ const ee = class {
30888
31323
  };
30889
31324
  }
30890
31325
  };
30891
- Mn.style = Un;
30892
31326
  export {
30893
- U as eds_alert,
30894
- _ as eds_avatar,
30895
- P as eds_button,
30896
- $ as eds_card_desc,
30897
- G as eds_card_generic,
30898
- Q as eds_card_title,
30899
- en as eds_dropdown,
30900
- tn as eds_form,
30901
- sn as eds_header,
30902
- $n as eds_icon_wrapper,
30903
- gn as eds_img,
30904
- Xn as eds_input,
30905
- hn as eds_input_field,
30906
- Vn as eds_input_footer,
30907
- Gn as eds_input_label,
30908
- Jn as eds_input_range,
30909
- Kn as eds_input_search,
30910
- Qn as eds_input_select,
30911
- un as eds_link,
30912
- wn as eds_logo,
30913
- Sn as eds_progress_bar,
30914
- In as eds_tag,
30915
- Zn as eds_timeline,
30916
- ne as eds_toast,
30917
- Ln as eds_toast_manager,
30918
- Rn as eds_trl,
30919
- ee as eds_user,
30920
- Mn as eds_user_modal
31327
+ M as eds_accordion,
31328
+ _ as eds_alert,
31329
+ $ as eds_avatar,
31330
+ q as eds_block_break,
31331
+ K as eds_breadcrumb,
31332
+ Q as eds_button,
31333
+ en as eds_card_desc,
31334
+ tn as eds_card_generic,
31335
+ dn as eds_card_title,
31336
+ gn as eds_dropdown,
31337
+ bn as eds_footer,
31338
+ pn as eds_form,
31339
+ le as eds_frame,
31340
+ vn as eds_fullscreen_menu,
31341
+ zn as eds_header,
31342
+ te as eds_icon_wrapper,
31343
+ Fn as eds_img,
31344
+ oe as eds_input,
31345
+ Ln as eds_input_field,
31346
+ se as eds_input_footer,
31347
+ de as eds_input_label,
31348
+ ae as eds_input_range,
31349
+ ce as eds_input_search,
31350
+ ge as eds_input_select,
31351
+ jn as eds_link,
31352
+ Mn as eds_logo,
31353
+ Un as eds_modal,
31354
+ Yn as eds_social_networks,
31355
+ qn as eds_tag,
31356
+ xe as eds_toast,
31357
+ Gn as eds_toast_manager,
31358
+ he as eds_user,
31359
+ be as eds_user_modal
30921
31360
  };