@ebrains/components 3.0.0 → 3.1.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 (371) hide show
  1. package/dist/cjs/color-primary-palette_6.cjs.entry.js +14 -14
  2. package/dist/cjs/components-section.cjs.entry.js +1 -1
  3. package/dist/cjs/components.cjs.js +1 -1
  4. package/dist/cjs/correct-use-of-colors.cjs.entry.js +1 -1
  5. package/dist/cjs/docs-palettes.cjs.entry.js +1 -1
  6. package/dist/cjs/docs-tokens.cjs.entry.js +1 -1
  7. package/dist/cjs/{eds-accordion_52.cjs.entry.js → eds-accordion_53.cjs.entry.js} +847 -207
  8. package/dist/cjs/eds-app-root.cjs.entry.js +1 -1
  9. package/dist/cjs/eds-cookies-preference.cjs.entry.js +1 -1
  10. package/dist/cjs/eds-feedback.cjs.entry.js +1 -1
  11. package/dist/cjs/eds-frame.cjs.entry.js +1 -1
  12. package/dist/cjs/eds-gauge.cjs.entry.js +1 -1
  13. package/dist/cjs/eds-gitlab-contributors.cjs.entry.js +9 -2
  14. package/dist/cjs/eds-icon-bluesky.cjs.entry.js +1 -1
  15. package/dist/cjs/eds-icon-eu.cjs.entry.js +1 -1
  16. package/dist/cjs/eds-icon-facebook.cjs.entry.js +1 -1
  17. package/dist/cjs/eds-icon-gitlab.cjs.entry.js +1 -1
  18. package/dist/cjs/eds-icon-linkedin.cjs.entry.js +1 -1
  19. package/dist/cjs/eds-icon-mastodon.cjs.entry.js +1 -1
  20. package/dist/cjs/eds-icon-twitter.cjs.entry.js +1 -1
  21. package/dist/cjs/eds-icon-youtube.cjs.entry.js +1 -1
  22. package/dist/cjs/eds-input-search.cjs.entry.js +76 -0
  23. package/dist/cjs/eds-section-core_2.cjs.entry.js +3 -3
  24. package/dist/cjs/eds-timeline.cjs.entry.js +1 -1
  25. package/dist/cjs/eds-toast-manager.cjs.entry.js +1 -1
  26. package/dist/cjs/eds-trl-badge.cjs.entry.js +181 -0
  27. package/dist/cjs/incorrect-use-of-colors.cjs.entry.js +1 -1
  28. package/dist/cjs/index-50bc1aa4.js +10 -2
  29. package/dist/cjs/loader.cjs.js +1 -1
  30. package/dist/cjs/logo-space.cjs.entry.js +1 -1
  31. package/dist/cjs/logo-variations-horizontal_2.cjs.entry.js +2 -2
  32. package/dist/cjs/logo-variations-tabs.cjs.entry.js +1 -1
  33. package/dist/cjs/logo-wrong-usage.cjs.entry.js +1 -1
  34. package/dist/cjs/svg-repository.cjs.entry.js +1 -1
  35. package/dist/cjs/token-list_3.cjs.entry.js +3 -3
  36. package/dist/cjs/token-ratios.cjs.entry.js +1 -1
  37. package/dist/cjs/token-spacing.cjs.entry.js +1 -1
  38. package/dist/cjs/token-typography.cjs.entry.js +1 -1
  39. package/dist/collection/collection-manifest.json +4 -1
  40. package/dist/collection/components/eds-accordion/eds-accordion.css +3 -2
  41. package/dist/collection/components/eds-accordion/eds-accordion.js +1 -1
  42. package/dist/collection/components/eds-accordion/eds-accordion.stories.js +7 -19
  43. package/dist/collection/components/eds-alert/eds-alert.stories.js +19 -147
  44. package/dist/collection/components/eds-avatar/eds-avatar.js +1 -1
  45. package/dist/collection/components/eds-avatar/eds-avatar.stories.js +2 -2
  46. package/dist/collection/components/eds-block-break/eds-block-break.js +1 -1
  47. package/dist/collection/components/eds-breadcrump/eds-breadcrump.js +1 -1
  48. package/dist/collection/components/eds-button/eds-button.css +15 -0
  49. package/dist/collection/components/eds-button/eds-button.js +13 -6
  50. package/dist/collection/components/eds-cards/eds-card-composer/eds-card-desc/eds-card-desc.js +1 -1
  51. package/dist/collection/components/eds-cards/eds-card-cta/eds-card-cta.css +10 -1
  52. package/dist/collection/components/eds-cards/eds-card-cta/eds-card-cta.js +1 -1
  53. package/dist/collection/components/eds-cards/eds-card-feature/eds-card-feature.js +1 -1
  54. package/dist/collection/components/eds-cards/eds-card-generic/eds-card-generic.js +1 -1
  55. package/dist/collection/components/eds-cards/eds-card-hero/eds-card-hero.js +1 -1
  56. package/dist/collection/components/eds-cards/eds-card-stat/eds-card-stat.js +1 -1
  57. package/dist/collection/components/eds-charts/eds-gauge/eds-gauge.js +1 -1
  58. package/dist/collection/components/eds-code-block/eds-code-block.js +1 -1
  59. package/dist/collection/components/eds-dropdown/eds-dropdown.js +30 -4
  60. package/dist/collection/components/eds-feedback/eds-feedback.js +1 -1
  61. package/dist/collection/components/eds-footer/eds-footer.css +143 -203
  62. package/dist/collection/components/eds-footer/eds-footer.js +173 -76
  63. package/dist/collection/components/eds-footer/eds-footer.stories.js +108 -15
  64. package/dist/collection/components/eds-form/eds-form.css +37 -1
  65. package/dist/collection/components/eds-form/eds-form.js +45 -7
  66. package/dist/collection/components/eds-frame/eds-frame.js +1 -1
  67. package/dist/collection/components/eds-header/eds-header.js +1 -1
  68. package/dist/collection/components/eds-header/eds-header.stories.js +26 -12
  69. package/dist/collection/components/eds-icon-wrapper/eds-icon-wrapper.js +20 -1
  70. package/dist/collection/components/eds-icons/eds-icon-eu/eds-icon-eu.js +1 -1
  71. package/dist/collection/components/eds-icons/eds-icon-gitlab/eds-icon-gitlab.js +1 -1
  72. package/dist/collection/components/eds-icons/social/eds-icon-bluesky/eds-icon-bluesky.js +1 -1
  73. package/dist/collection/components/eds-icons/social/eds-icon-facebook/eds-icon-facebook.js +1 -1
  74. package/dist/collection/components/eds-icons/social/eds-icon-linkedin/eds-icon-linkedin.js +1 -1
  75. package/dist/collection/components/eds-icons/social/eds-icon-mastodon/eds-icon-mastodon.js +1 -1
  76. package/dist/collection/components/eds-icons/social/eds-icon-twitter/eds-icon-twitter.js +1 -1
  77. package/dist/collection/components/eds-icons/social/eds-icon-youtube/eds-icon-youtube.js +1 -1
  78. package/dist/collection/components/eds-img/eds-img.js +2 -2
  79. package/dist/collection/components/eds-img/eds-img.stories.js +29 -52
  80. package/dist/collection/components/eds-input-dropzone/eds-input-dropzone.js +1 -1
  81. package/dist/collection/components/eds-input-elements/eds-input/eds-input.js +20 -2
  82. package/dist/collection/components/eds-input-elements/eds-input-footer/eds-input-footer.css +29 -0
  83. package/dist/collection/components/eds-input-elements/eds-input-footer/eds-input-footer.js +2 -1
  84. package/dist/collection/components/eds-input-elements/eds-input-label/eds-input-label.js +1 -1
  85. package/dist/collection/components/eds-input-elements/eds-input-range/eds-input-range.js +1 -1
  86. package/dist/collection/components/eds-input-elements/eds-input-search/eds-input-search.js +1 -1
  87. package/dist/collection/components/eds-input-elements/eds-input-search/eds-input-search.stories.js +30 -0
  88. package/dist/collection/components/eds-input-elements/eds-input-select/eds-input-select.js +2 -2
  89. package/dist/collection/components/eds-input-field/eds-input-field.js +11 -5
  90. package/dist/collection/components/eds-input-field/eds-input-field.stories.js +82 -130
  91. package/dist/collection/components/eds-input-file/eds-input-file.js +1 -1
  92. package/dist/collection/components/eds-link/eds-link.js +1 -1
  93. package/dist/collection/components/eds-link/eds-link.stories.js +13 -8
  94. package/dist/collection/components/eds-logo/eds-logo.js +1 -1
  95. package/dist/collection/components/eds-modal/eds-modal.stories.js +9 -8
  96. package/dist/collection/components/eds-nps/eds-nps.css +32 -0
  97. package/dist/collection/components/eds-nps/eds-nps.js +3 -3
  98. package/dist/collection/components/eds-pagination/eds-pagination.js +2 -2
  99. package/dist/collection/components/eds-rating/eds-rating.css +9 -0
  100. package/dist/collection/components/eds-rating/eds-rating.js +2 -2
  101. package/dist/collection/components/eds-section/eds-section-core/eds-section-core.js +1 -1
  102. package/dist/collection/components/eds-section/eds-section-heading/eds-section-heading.js +2 -2
  103. package/dist/collection/components/eds-sidebar/eds-sidebar.js +2 -2
  104. package/dist/collection/components/eds-social-networks/eds-social-networks.js +1 -1
  105. package/dist/collection/components/eds-spinner/eds-spinner.js +1 -1
  106. package/dist/collection/components/eds-steps-v2/eds-steps-v2.js +1 -1
  107. package/dist/collection/components/eds-table/eds-table.css +21 -4
  108. package/dist/collection/components/eds-table/eds-table.js +17 -50
  109. package/dist/collection/components/eds-table/eds-table.stories.js +5 -109
  110. package/dist/collection/components/eds-tabs/eds-tabs.css +7 -1
  111. package/dist/collection/components/eds-tabs/eds-tabs.js +47 -9
  112. package/dist/collection/components/eds-tag/eds-tag.js +1 -1
  113. package/dist/collection/components/eds-timeline/eds-timeline.js +1 -1
  114. package/dist/collection/components/eds-toast-manager/eds-toast-manager.js +1 -1
  115. package/dist/collection/components/eds-tooltip/eds-tooltip.js +1 -1
  116. package/dist/collection/components/eds-tooltip/eds-tooltip.stories.js +1 -1
  117. package/dist/collection/components/eds-user/eds-user.js +1 -1
  118. package/dist/collection/eds-docs-ui/colors/color-palette/primary.js +1 -1
  119. package/dist/collection/eds-docs-ui/colors/color-palette/secondary.js +1 -1
  120. package/dist/collection/eds-docs-ui/colors/color-palette/support.js +1 -1
  121. package/dist/collection/eds-docs-ui/colors/gradient-palette/primary.js +1 -1
  122. package/dist/collection/eds-docs-ui/colors/gradient-palette/secondary.js +7 -7
  123. package/dist/collection/eds-docs-ui/colors/gradient-palette/support.js +3 -3
  124. package/dist/collection/eds-docs-ui/colors/use-of-colors/correct-use-of-colors.js +1 -1
  125. package/dist/collection/eds-docs-ui/colors/use-of-colors/incorrect-use-of-colors.js +1 -1
  126. package/dist/collection/eds-docs-ui/components-section/components-section.js +1 -1
  127. package/dist/collection/eds-docs-ui/design-tokens/docs-tokens/docs-tokens.js +1 -1
  128. package/dist/collection/eds-docs-ui/design-tokens/token-list/token-list.js +1 -1
  129. package/dist/collection/eds-docs-ui/design-tokens/token-radii/token-radii.js +1 -1
  130. package/dist/collection/eds-docs-ui/design-tokens/token-ratios/token-ratios.js +1 -1
  131. package/dist/collection/eds-docs-ui/design-tokens/token-shadows/token-shadows.js +1 -1
  132. package/dist/collection/eds-docs-ui/design-tokens/token-spacing/token-spacing.js +1 -1
  133. package/dist/collection/eds-docs-ui/design-tokens/token-typography/token-typography.js +1 -1
  134. package/dist/collection/eds-docs-ui/docs-palettes/docs-palettes.js +1 -1
  135. package/dist/collection/eds-docs-ui/logo/logo-space/logo-space.js +1 -1
  136. package/dist/collection/eds-docs-ui/logo/logo-variations/horizontal/logo-variations-horizontal.js +1 -1
  137. package/dist/collection/eds-docs-ui/logo/logo-variations/vertical/logo-variations-vertical.js +1 -1
  138. package/dist/collection/eds-docs-ui/logo/logo-variations-tabs/logo-variations.js +1 -1
  139. package/dist/collection/eds-docs-ui/logo/logo-wrong-usage/logo-wrong-usage.js +1 -1
  140. package/dist/collection/eds-docs-ui/svg-repository/svg-repository.js +1 -1
  141. package/dist/collection/shared-ui/eds-cookies-preference/eds-cookies-preference.js +1 -1
  142. package/dist/collection/shared-ui/eds-gitlab-contributors/eds-gitlab-contributors.css +19 -0
  143. package/dist/collection/shared-ui/eds-gitlab-contributors/eds-gitlab-contributors.js +8 -1
  144. package/dist/collection/shared-ui/eds-global-search/eds-global-search.css +166 -0
  145. package/dist/collection/shared-ui/eds-global-search/eds-global-search.js +62 -6
  146. package/dist/collection/shared-ui/eds-kg-learning-resources/eds-kg-learning-resources.css +205 -0
  147. package/dist/collection/shared-ui/eds-kg-learning-resources/eds-kg-learning-resources.js +257 -0
  148. package/dist/collection/shared-ui/eds-matomo-notice/eds-matomo-notice.css +23 -102
  149. package/dist/collection/shared-ui/eds-matomo-notice/eds-matomo-notice.js +7 -1
  150. package/dist/collection/shared-ui/eds-search-select/eds-search-select.css +203 -0
  151. package/dist/collection/shared-ui/eds-search-select/eds-search-select.js +685 -0
  152. package/dist/collection/shared-ui/eds-search-select/eds-search-select.stories.js +85 -0
  153. package/dist/collection/shared-ui/eds-trl-badge/ebrains-mark.js +26 -0
  154. package/dist/collection/shared-ui/eds-trl-badge/eds-trl-badge.css +22 -0
  155. package/dist/collection/shared-ui/eds-trl-badge/eds-trl-badge.js +321 -0
  156. package/dist/collection/shared-ui/eds-trl-badge/eds-trl-badge.stories.js +96 -0
  157. package/dist/collection/shared-ui/examples/eds-app-root/eds-app-root.js +1 -1
  158. package/dist/collection/utils/eds-form/formValidators.js +2 -1
  159. package/dist/collection/utils/eds-form/safeFormat.js +39 -0
  160. package/dist/components/components-section.js +1 -1
  161. package/dist/components/components.css +3 -4
  162. package/dist/components/components.esm.js +1 -1
  163. package/dist/components/correct-use-of-colors.js +1 -1
  164. package/dist/components/docs-palettes.js +1 -1
  165. package/dist/components/docs-tokens.js +1 -1
  166. package/dist/components/eds-accordion2.js +2 -2
  167. package/dist/components/eds-app-root.js +1 -1
  168. package/dist/components/eds-avatar2.js +1 -1
  169. package/dist/components/eds-block-break2.js +1 -1
  170. package/dist/components/eds-breadcrumb.js +1 -1
  171. package/dist/components/eds-button2.js +12 -5
  172. package/dist/components/eds-card-cta.js +2 -2
  173. package/dist/components/eds-card-desc2.js +1 -1
  174. package/dist/components/eds-card-feature.js +1 -1
  175. package/dist/components/eds-card-generic2.js +1 -1
  176. package/dist/components/eds-card-hero.js +1 -1
  177. package/dist/components/eds-card-stat.js +1 -1
  178. package/dist/components/eds-code-block2.js +1 -1
  179. package/dist/components/eds-cookies-preference.js +1 -1
  180. package/dist/components/eds-dropdown2.js +30 -4
  181. package/dist/components/eds-feedback.js +1 -1
  182. package/dist/components/eds-footer2.js +115 -26
  183. package/dist/components/eds-form.js +61 -23
  184. package/dist/components/eds-frame.js +1 -1
  185. package/dist/components/eds-gauge.js +1 -1
  186. package/dist/components/eds-gitlab-contributors.js +9 -2
  187. package/dist/components/eds-global-search.js +48 -69
  188. package/dist/components/eds-header.js +1 -1
  189. package/dist/components/eds-icon-bluesky.js +1 -1
  190. package/dist/components/eds-icon-eu.js +1 -1
  191. package/dist/components/eds-icon-facebook.js +1 -1
  192. package/dist/components/eds-icon-gitlab.js +1 -1
  193. package/dist/components/eds-icon-linkedin.js +1 -1
  194. package/dist/components/eds-icon-mastodon.js +1 -1
  195. package/dist/components/eds-icon-twitter.js +1 -1
  196. package/dist/components/eds-icon-wrapper2.js +5 -2
  197. package/dist/components/eds-icon-youtube.js +1 -1
  198. package/dist/components/eds-img2.js +2 -2
  199. package/dist/components/eds-input-dropzone2.js +1 -1
  200. package/dist/components/eds-input-field2.js +25 -25
  201. package/dist/components/eds-input-file2.js +1 -1
  202. package/dist/components/eds-input-footer2.js +43 -3
  203. package/dist/components/eds-input-label2.js +1 -1
  204. package/dist/components/eds-input-range2.js +1 -1
  205. package/dist/components/eds-input-search.js +100 -1
  206. package/dist/components/eds-input-select2.js +2 -2
  207. package/dist/components/eds-input2.js +4 -2
  208. package/dist/components/eds-kg-learning-resources.d.ts +11 -0
  209. package/dist/components/eds-kg-learning-resources.js +221 -0
  210. package/dist/components/eds-kg-web-services-select2.js +16 -22
  211. package/dist/components/eds-link2.js +1 -1
  212. package/dist/components/eds-logo2.js +1 -1
  213. package/dist/components/eds-matomo-notice2.js +8 -2
  214. package/dist/components/eds-nps2.js +4 -4
  215. package/dist/components/eds-pagination2.js +2 -2
  216. package/dist/components/eds-rating2.js +3 -3
  217. package/dist/components/eds-search-select.d.ts +11 -0
  218. package/dist/components/eds-search-select.js +6 -0
  219. package/dist/components/eds-search-select2.js +361 -0
  220. package/dist/components/eds-section-core2.js +1 -1
  221. package/dist/components/eds-section-heading2.js +2 -2
  222. package/dist/components/eds-sidebar.js +2 -2
  223. package/dist/components/eds-social-networks2.js +1 -1
  224. package/dist/components/eds-spinner2.js +1 -1
  225. package/dist/components/eds-steps-v2.js +1 -1
  226. package/dist/components/eds-table2.js +31 -53
  227. package/dist/components/eds-tabs.js +48 -10
  228. package/dist/components/eds-tag2.js +1 -1
  229. package/dist/components/eds-timeline.js +1 -1
  230. package/dist/components/eds-toast-manager.js +1 -1
  231. package/dist/components/eds-tooltip2.js +1 -1
  232. package/dist/components/eds-trl-badge.d.ts +11 -0
  233. package/dist/components/eds-trl-badge.js +204 -0
  234. package/dist/components/eds-user.js +1 -1
  235. package/dist/components/incorrect-use-of-colors.js +1 -1
  236. package/dist/components/logo-space.js +19 -25
  237. package/dist/components/logo-variations-horizontal2.js +1 -1
  238. package/dist/components/logo-variations-tabs.js +1 -1
  239. package/dist/components/logo-variations-vertical2.js +1 -1
  240. package/dist/components/logo-wrong-usage.js +1 -1
  241. package/dist/components/p-00ba405d.entry.js +1 -0
  242. package/dist/components/p-03342030.entry.js +1 -0
  243. package/dist/components/{p-0fe10e6c.entry.js → p-0e2bac0f.entry.js} +1 -1
  244. package/dist/components/{p-7aa4edef.entry.js → p-12acc48d.entry.js} +1 -1
  245. package/dist/components/p-18399fe1.entry.js +1 -0
  246. package/dist/components/p-1e6f0572.entry.js +1 -0
  247. package/dist/components/{p-c46675c8.entry.js → p-1fbcc480.entry.js} +1 -1
  248. package/dist/components/{p-dfe93385.entry.js → p-25729ade.entry.js} +1 -1
  249. package/dist/components/p-27e093c3.entry.js +1 -0
  250. package/dist/components/{p-a6dc1f88.entry.js → p-37ef07d9.entry.js} +1 -1
  251. package/dist/components/{p-74b9c9a8.entry.js → p-3d1bb2fe.entry.js} +1 -1
  252. package/dist/components/{p-940a2d42.entry.js → p-42791331.entry.js} +1 -1
  253. package/dist/components/p-5ff4b1d0.entry.js +1 -0
  254. package/dist/components/{p-d16b5363.entry.js → p-62580004.entry.js} +1 -1
  255. package/dist/components/{p-d2576747.entry.js → p-62f53e7a.entry.js} +1 -1
  256. package/dist/components/p-6be1730a.entry.js +1 -0
  257. package/dist/components/p-786ff09b.entry.js +1 -0
  258. package/dist/components/p-80a32e20.entry.js +1 -0
  259. package/dist/components/p-85476a6f.entry.js +9 -0
  260. package/dist/components/{p-a63e14bb.entry.js → p-8a483358.entry.js} +1 -1
  261. package/dist/components/{p-04e9c2d7.entry.js → p-b1a10842.entry.js} +1 -1
  262. package/dist/components/p-bdcb71e1.entry.js +1 -0
  263. package/dist/components/p-c2127276.entry.js +1 -0
  264. package/dist/components/p-c3ee9163.entry.js +1 -0
  265. package/dist/components/{p-f55dd314.entry.js → p-c4cfbf98.entry.js} +1 -1
  266. package/dist/components/p-c65082fe.entry.js +1 -0
  267. package/dist/components/p-cc096938.entry.js +1 -0
  268. package/dist/components/p-d59d6fda.entry.js +1 -0
  269. package/dist/components/p-e027bc90.entry.js +1 -0
  270. package/dist/components/{p-f364296f.entry.js → p-e339d0b5.entry.js} +1 -1
  271. package/dist/components/{p-0d7aee0b.entry.js → p-e4df206e.entry.js} +1 -1
  272. package/dist/components/{p-c2fc62f7.entry.js → p-e71a4f29.entry.js} +1 -1
  273. package/dist/components/{p-773bd015.entry.js → p-e9e6ec19.entry.js} +1 -1
  274. package/dist/components/p-f4d2f882.entry.js +1 -0
  275. package/dist/components/{p-d1b3aa52.entry.js → p-f9a9fa34.entry.js} +1 -1
  276. package/dist/components/primary.js +1 -1
  277. package/dist/components/primary2.js +1 -1
  278. package/dist/components/secondary.js +1 -1
  279. package/dist/components/secondary2.js +7 -7
  280. package/dist/components/support.js +1 -1
  281. package/dist/components/support2.js +3 -3
  282. package/dist/components/svg-repository.js +19 -25
  283. package/dist/components/token-list2.js +1 -1
  284. package/dist/components/token-radii2.js +1 -1
  285. package/dist/components/token-ratios.js +1 -1
  286. package/dist/components/token-shadows2.js +1 -1
  287. package/dist/components/token-spacing.js +1 -1
  288. package/dist/components/token-typography.js +1 -1
  289. package/dist/esm/color-primary-palette_6.entry.js +14 -14
  290. package/dist/esm/components-section.entry.js +1 -1
  291. package/dist/esm/components.js +1 -1
  292. package/dist/esm/correct-use-of-colors.entry.js +1 -1
  293. package/dist/esm/docs-palettes.entry.js +1 -1
  294. package/dist/esm/docs-tokens.entry.js +1 -1
  295. package/dist/esm/{eds-accordion_52.entry.js → eds-accordion_53.entry.js} +846 -207
  296. package/dist/esm/eds-app-root.entry.js +1 -1
  297. package/dist/esm/eds-cookies-preference.entry.js +1 -1
  298. package/dist/esm/eds-feedback.entry.js +1 -1
  299. package/dist/esm/eds-frame.entry.js +1 -1
  300. package/dist/esm/eds-gauge.entry.js +1 -1
  301. package/dist/esm/eds-gitlab-contributors.entry.js +9 -2
  302. package/dist/esm/eds-icon-bluesky.entry.js +1 -1
  303. package/dist/esm/eds-icon-eu.entry.js +1 -1
  304. package/dist/esm/eds-icon-facebook.entry.js +1 -1
  305. package/dist/esm/eds-icon-gitlab.entry.js +1 -1
  306. package/dist/esm/eds-icon-linkedin.entry.js +1 -1
  307. package/dist/esm/eds-icon-mastodon.entry.js +1 -1
  308. package/dist/esm/eds-icon-twitter.entry.js +1 -1
  309. package/dist/esm/eds-icon-youtube.entry.js +1 -1
  310. package/dist/{components/eds-input-search2.js → esm/eds-input-search.entry.js} +9 -39
  311. package/dist/esm/eds-section-core_2.entry.js +3 -3
  312. package/dist/esm/eds-timeline.entry.js +1 -1
  313. package/dist/esm/eds-toast-manager.entry.js +1 -1
  314. package/dist/esm/eds-trl-badge.entry.js +177 -0
  315. package/dist/esm/incorrect-use-of-colors.entry.js +1 -1
  316. package/dist/esm/index-870ab08f.js +10 -2
  317. package/dist/esm/loader.js +1 -1
  318. package/dist/esm/logo-space.entry.js +1 -1
  319. package/dist/esm/logo-variations-horizontal_2.entry.js +2 -2
  320. package/dist/esm/logo-variations-tabs.entry.js +1 -1
  321. package/dist/esm/logo-wrong-usage.entry.js +1 -1
  322. package/dist/esm/svg-repository.entry.js +1 -1
  323. package/dist/esm/token-list_3.entry.js +3 -3
  324. package/dist/esm/token-ratios.entry.js +1 -1
  325. package/dist/esm/token-spacing.entry.js +1 -1
  326. package/dist/esm/token-typography.entry.js +1 -1
  327. package/dist/hydrate/index.js +1222 -207
  328. package/dist/hydrate/index.mjs +1222 -207
  329. package/dist/types/components/eds-accordion/eds-accordion.stories.d.ts +4 -8
  330. package/dist/types/components/eds-alert/eds-alert.stories.d.ts +7 -73
  331. package/dist/types/components/eds-button/eds-button.d.ts +1 -1
  332. package/dist/types/components/eds-dropdown/eds-dropdown.d.ts +1 -0
  333. package/dist/types/components/eds-footer/eds-footer.d.ts +84 -55
  334. package/dist/types/components/eds-footer/eds-footer.stories.d.ts +62 -1
  335. package/dist/types/components/eds-form/eds-form.d.ts +10 -0
  336. package/dist/types/components/eds-header/eds-header.stories.d.ts +6 -6
  337. package/dist/types/components/eds-icon-wrapper/eds-icon-wrapper.d.ts +8 -0
  338. package/dist/types/components/eds-img/eds-img.stories.d.ts +6 -20
  339. package/dist/types/components/eds-input-elements/eds-input/eds-input.d.ts +7 -0
  340. package/dist/types/components/eds-input-elements/eds-input-search/eds-input-search.stories.d.ts +36 -0
  341. package/dist/types/components/eds-input-field/eds-input-field.stories.d.ts +97 -38
  342. package/dist/types/components/eds-link/eds-link.stories.d.ts +9 -6
  343. package/dist/types/components/eds-table/eds-table.d.ts +8 -14
  344. package/dist/types/components/eds-table/eds-table.stories.d.ts +0 -107
  345. package/dist/types/components/eds-tabs/eds-tabs.d.ts +10 -0
  346. package/dist/types/components.d.ts +507 -86
  347. package/dist/types/shared-ui/eds-global-search/eds-global-search.d.ts +12 -0
  348. package/dist/types/shared-ui/eds-kg-learning-resources/eds-kg-learning-resources.d.ts +60 -0
  349. package/dist/types/shared-ui/eds-search-select/eds-search-select.d.ts +98 -0
  350. package/dist/types/shared-ui/eds-search-select/eds-search-select.stories.d.ts +81 -0
  351. package/dist/types/shared-ui/eds-trl-badge/ebrains-mark.d.ts +7 -0
  352. package/dist/types/shared-ui/eds-trl-badge/eds-trl-badge.d.ts +54 -0
  353. package/dist/types/shared-ui/eds-trl-badge/eds-trl-badge.stories.d.ts +112 -0
  354. package/dist/types/utils/eds-form/safeFormat.d.ts +21 -0
  355. package/package.json +1 -1
  356. package/dist/components/p-18e852e1.entry.js +0 -1
  357. package/dist/components/p-3ccd6948.entry.js +0 -1
  358. package/dist/components/p-3d3841d6.entry.js +0 -1
  359. package/dist/components/p-3f38df99.entry.js +0 -1
  360. package/dist/components/p-527e71d0.entry.js +0 -1
  361. package/dist/components/p-55047f7f.entry.js +0 -9
  362. package/dist/components/p-64c23098.entry.js +0 -1
  363. package/dist/components/p-7b93a385.entry.js +0 -1
  364. package/dist/components/p-878f65a6.entry.js +0 -1
  365. package/dist/components/p-92f6d9c0.entry.js +0 -1
  366. package/dist/components/p-9eedf771.entry.js +0 -1
  367. package/dist/components/p-b4355cec.entry.js +0 -1
  368. package/dist/components/p-d2f17fac.entry.js +0 -1
  369. package/dist/components/p-db5eea95.entry.js +0 -1
  370. package/dist/components/p-e205c269.entry.js +0 -1
  371. package/dist/components/p-f88b5f21.entry.js +0 -1
@@ -2335,7 +2335,7 @@ class ColorPrimaryPalette {
2335
2335
  ];
2336
2336
  }
2337
2337
  render() {
2338
- return (hAsync("ul", { key: '8e734cf4a60694d3f9e3b8418cda0b5ae2b53c0c', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, this.colors.map((color) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { class: "effect-height flex items-center justify-between p-16", style: { backgroundColor: color.background } }, hAsync("div", { class: "grid" }, hAsync("span", { class: "f-body-02" }, color.rgb), hAsync("span", { class: "f-body-02 w-full" }, color.cmyk), hAsync("eds-code-block", { code: color.hex, style: { minWidth: '150px', marginRight: '5px' } })), hAsync("div", { class: "grid" }, hAsync("span", { class: "f-body-02" }, color.pantoneC), hAsync("span", { class: "f-body-02" }, color.pantoneU))))))));
2338
+ return (hAsync("ul", { key: 'baff427c72d8e73945459cd7988112758685e9dc', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, this.colors.map((color) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { class: "effect-height flex items-center justify-between p-16", style: { backgroundColor: color.background } }, hAsync("div", { class: "grid" }, hAsync("span", { class: "f-body-02" }, color.rgb), hAsync("span", { class: "f-body-02 w-full" }, color.cmyk), hAsync("eds-code-block", { code: color.hex, style: { minWidth: '150px', marginRight: '5px' } })), hAsync("div", { class: "grid" }, hAsync("span", { class: "f-body-02" }, color.pantoneC), hAsync("span", { class: "f-body-02" }, color.pantoneU))))))));
2339
2339
  }
2340
2340
  static get cmpMeta() { return {
2341
2341
  "$flags$": 0,
@@ -2407,7 +2407,7 @@ class ColorSecondaryPalette {
2407
2407
  this.show = undefined;
2408
2408
  }
2409
2409
  render() {
2410
- return (hAsync("ul", { key: '5ed603d55cb6903a0dcfa620ae51a729a61cc883', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, this.colors.map((color) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { class: "effect-height flex items-center justify-between p-16", style: { backgroundColor: color.background } }, hAsync("div", { class: "grid" }, hAsync("span", { class: "f-body-02" }, color.rgb), hAsync("span", { class: "f-body-02 w-full" }, color.cmyk), hAsync("eds-code-block", { code: color.hex, style: { minWidth: '150px', marginRight: '5px' } })), hAsync("div", { class: "grid" }, hAsync("span", { class: "f-body-02" }, color.pantoneC), hAsync("span", { class: "f-body-02" }, color.pantoneU))))))));
2410
+ return (hAsync("ul", { key: 'f72b4b776eb902f9525ed7d8daf22f58e76adf6c', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, this.colors.map((color) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { class: "effect-height flex items-center justify-between p-16", style: { backgroundColor: color.background } }, hAsync("div", { class: "grid" }, hAsync("span", { class: "f-body-02" }, color.rgb), hAsync("span", { class: "f-body-02 w-full" }, color.cmyk), hAsync("eds-code-block", { code: color.hex, style: { minWidth: '150px', marginRight: '5px' } })), hAsync("div", { class: "grid" }, hAsync("span", { class: "f-body-02" }, color.pantoneC), hAsync("span", { class: "f-body-02" }, color.pantoneU))))))));
2411
2411
  }
2412
2412
  static get cmpMeta() { return {
2413
2413
  "$flags$": 0,
@@ -2481,7 +2481,7 @@ class ColorSupportPalette {
2481
2481
  return 'text-default';
2482
2482
  }
2483
2483
  render() {
2484
- return (hAsync("ul", { key: '44b71e2df44c8c9d5a5ba570d25050a09566bf3f', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, this.colors.map((color) => {
2484
+ return (hAsync("ul", { key: '0f2cc155ce4e73dc47272a4640834cb0ee2e22a5', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, this.colors.map((color) => {
2485
2485
  // compute once
2486
2486
  const textClass = this.getTextColor(color.background);
2487
2487
  return (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { class: "effect-height flex items-center justify-between p-16", style: { backgroundColor: color.background } }, hAsync("div", { class: "grid" }, hAsync("span", { class: `f-body-02 ${textClass}` }, color.cmyk), hAsync("eds-code-block", { code: color.hex, style: { minWidth: '150px', marginRight: '5px' }, class: textClass })), hAsync("div", { class: "grid" }, hAsync("span", { class: `f-body-02 ${textClass}` }, color.pantoneC), hAsync("span", { class: `f-body-02 ${textClass}` }, color.pantoneU)))));
@@ -2641,7 +2641,7 @@ class ComponentsSection {
2641
2641
  }
2642
2642
  }
2643
2643
  render() {
2644
- return hAsync("div", { key: '9664cd887a7ac8a2a80f32e501cac7230620052e', class: "container" }, this.renderContent());
2644
+ return hAsync("div", { key: '8d781f8e27f93eb003bd4390da57503dc17a945b', class: "container" }, this.renderContent());
2645
2645
  }
2646
2646
  static get cmpMeta() { return {
2647
2647
  "$flags$": 0,
@@ -2719,7 +2719,7 @@ class CorrectUseOfColors {
2719
2719
  registerInstance(this, hostRef);
2720
2720
  }
2721
2721
  render() {
2722
- return (hAsync("div", { key: '6f2e0d05692813eeb9f7edb52508efd608763908', class: "container" }, hAsync("p", { key: '78ab9fe995f873ae56b734550fb96d5cfcc94ecf', class: "f-body-01" }, "This guide demonstrates the correct usage of the", hAsync("eds-link", { key: '2dd1a95794b4e72c5fc54079b69ef48108fca4ac', label: "primary", size: "small", intent: "underline", icon: "chevron-right", url: "../color-palette/#primary-palette", "extra-class": "inline-block ml-4" }), "and", hAsync("eds-link", { key: 'db85859e08c5faa38cc8e04d9e7602486cac1921', label: "support", size: "small", intent: "underline", icon: "chevron-right", url: "../color-palette/#support-palette", "extra-class": "inline-block ml-4" }), "color palettes."), hAsync("div", { key: 'bbd0f8a9de6ab6d1ad08d79af9695ebee46568c4', class: "flex" }, hAsync("div", { key: '12fe2d6fa1f349e6431a6484e50b637f3a9539cf', class: "w-full" }, hAsync("ul", { key: '8750fcdacb4a408d1003153ef24c1aa1eb266d50', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, primary$1.map((color) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { class: "w-full min-h-[150px] effect-height flex items-center justify-between p-16", style: { backgroundColor: color.background } })))))), hAsync("div", { key: '899c5ac4127fdab0c26a619e5ba9e9abad682b84', class: "w-full" }, hAsync("ul", { key: '20324cb5001311ad3ff9dc138e2d7dfd4779a071', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, support.map((color) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { class: "w-full min-h-[90px] effect-height flex items-center justify-between p-16", style: { backgroundColor: color.background } }))))))), hAsync("p", { key: '8d9cf6a12252c3ab51779365467d9b5b8eda2aac', class: "f-body-01" }, "This guide demonstrates the correct usage of the", hAsync("eds-link", { key: '01fb910b11041bb7b9891edf0546ad6d48a1c59d', label: "purple", size: "small", intent: "underline", icon: "chevron-right", url: "../color-palette/#primary-palette", "extra-class": "inline-block ml-4" }), "and", hAsync("eds-link", { key: '0e16590a0ea3dd612c386ec8144d34c46d9cc239', label: "support", size: "small", intent: "underline", icon: "chevron-right", url: "../color-palette/#support-palette", "extra-class": "inline-block ml-4" }), "color palettes."), hAsync("div", { key: '409db013f54872918a046349932ffb03cbd5c7c8', class: "flex" }, hAsync("div", { key: '7a4caa407edcf4778769b087e14f1d7725d49541', class: "w-full" }, hAsync("ul", { key: '04a87008d35495235219096d6cee25c5b79c047a', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, purple$1.map((color) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { class: "w-full min-h-[225px] effect-height flex items-center justify-between p-16", style: { backgroundColor: color.background } })))))), hAsync("div", { key: '42412cb3ccd6019262724d160208c9c74ab0be87', class: "w-full" }, hAsync("ul", { key: '832b788f29badaf0e6b498b743400e98b3d62336', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, support.map((color) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { class: "w-full min-h-[90px] effect-height flex items-center justify-between p-16", style: { backgroundColor: color.background } }))))))), hAsync("p", { key: '7d5710b21829f9a98d11d9328528391bb35b9b5b', class: "f-body-01" }, "This guide demonstrates the correct usage of the", hAsync("eds-link", { key: 'afd01b3fbd6ba01f2e6f66c99a8d69e31a21bf1a', label: "blue", size: "small", intent: "underline", icon: "chevron-right", url: "../color-palette/#primary-palette", "extra-class": "inline-block ml-4" }), "and", hAsync("eds-link", { key: '560b790073d516e3a48217454d2926eb8e7619ae', label: "support", size: "small", intent: "underline", icon: "chevron-right", url: "../color-palette/#support-palette", "extra-class": "inline-block ml-4" }), "color palettes."), hAsync("div", { key: '81ec29cd9873c62aa9afffecc9f39ada4535452a', class: "flex" }, hAsync("div", { key: '358baaafe6def20de75387af5bac0cb69cb53daf', class: "w-full" }, hAsync("ul", { key: '338913f0d10c724834a9bf9102ebff0159ad4b42', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, blue.map((color) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { class: "w-full min-h-[225px] effect-height flex items-center justify-between p-16", style: { backgroundColor: color.background } })))))), hAsync("div", { key: 'baf990dd3cf2c6587e312e07b93b00e975608268', class: "w-full" }, hAsync("ul", { key: '60bb4363163e3d10eb61388a8f505d1da2027598', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, support.map((color) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { class: "w-full min-h-[90px] effect-height flex items-center justify-between p-16", style: { backgroundColor: color.background } }))))))), hAsync("p", { key: 'e607f95714c66a02cc8d7e336f2b0731bfeb916f', class: "f-body-01" }, "This guide demonstrates the correct usage of the", hAsync("eds-link", { key: '82b699d19d01e11eeea3c13d8e817d12c32ee4ca', label: "redish", size: "small", intent: "underline", icon: "chevron-right", url: "../color-palette/#primary-palette", "extra-class": "inline-block ml-4" }), "and", hAsync("eds-link", { key: '54f9a3e1e6b7629ace882a50f971e88d983e66d2', label: "support", size: "small", intent: "underline", icon: "chevron-right", url: "../color-palette/#support-palette", "extra-class": "inline-block ml-4" }), "color palettes."), hAsync("div", { key: 'bf1a294c09474031d042153d402e9fe84907d0f5', class: "flex" }, hAsync("div", { key: '5ec457417cf7a123aabd28e822d437e2706c228f', class: "w-full" }, hAsync("ul", { key: 'ee50fe6ddf736682fb69838f53875b88cd22507d', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, red$1.map((color) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { class: "w-full min-h-[225px] effect-height flex items-center justify-between p-16", style: { backgroundColor: color.background } })))))), hAsync("div", { key: '50fcc531966b131ec36acbf396e1676ea988d1ba', class: "w-full" }, hAsync("ul", { key: '01fa6bca1248df187df894f419ff77efe24bf426', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, support.map((color) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { class: "w-full min-h-[90px] effect-height flex items-center justify-between p-16", style: { backgroundColor: color.background } })))))))));
2722
+ return (hAsync("div", { key: '1448b252afd426048e14a56782bad097bbc2cb04', class: "container" }, hAsync("p", { key: '0a0a0ead35d299893d307a1eb9a71e4234d066aa', class: "f-body-01" }, "This guide demonstrates the correct usage of the", hAsync("eds-link", { key: '83f480812bba9e85716bae68885b3fdc7ed241a7', label: "primary", size: "small", intent: "underline", icon: "chevron-right", url: "../color-palette/#primary-palette", "extra-class": "inline-block ml-4" }), "and", hAsync("eds-link", { key: '5c19085f34284f1a2aa3c525c9389611b75bfb1c', label: "support", size: "small", intent: "underline", icon: "chevron-right", url: "../color-palette/#support-palette", "extra-class": "inline-block ml-4" }), "color palettes."), hAsync("div", { key: 'd660baa9e8a74688099c0ec5e8c0a6a3f0519952', class: "flex" }, hAsync("div", { key: 'e3402503bc727c66c39dd6fdc38e8f41a79f6fda', class: "w-full" }, hAsync("ul", { key: '0b797f5b7339979cedb7fe29ecfa6ea36c656df7', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, primary$1.map((color) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { class: "w-full min-h-[150px] effect-height flex items-center justify-between p-16", style: { backgroundColor: color.background } })))))), hAsync("div", { key: '36362208d138fa0e1d892f52c0f2e8d063dedfd2', class: "w-full" }, hAsync("ul", { key: '5cbeeaf57b89f04f55e0a0c289d6d4b3ea3f5a64', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, support.map((color) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { class: "w-full min-h-[90px] effect-height flex items-center justify-between p-16", style: { backgroundColor: color.background } }))))))), hAsync("p", { key: '9b409f7d4d271ebd6334d1a973e3a3e4c329ab9b', class: "f-body-01" }, "This guide demonstrates the correct usage of the", hAsync("eds-link", { key: '1b4b5713f609774b37e2a84ae992098f4412da6b', label: "purple", size: "small", intent: "underline", icon: "chevron-right", url: "../color-palette/#primary-palette", "extra-class": "inline-block ml-4" }), "and", hAsync("eds-link", { key: '2aaef87146f0777ec614c27e5c309a862a32008a', label: "support", size: "small", intent: "underline", icon: "chevron-right", url: "../color-palette/#support-palette", "extra-class": "inline-block ml-4" }), "color palettes."), hAsync("div", { key: '8b0114f367da96c44094e88b642c3d80cc03eb3a', class: "flex" }, hAsync("div", { key: '0e7031b26c356592194c9590969d87f59a533b99', class: "w-full" }, hAsync("ul", { key: '9b081bf5903f907c50c3bd70b021dc1d5f13047f', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, purple$1.map((color) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { class: "w-full min-h-[225px] effect-height flex items-center justify-between p-16", style: { backgroundColor: color.background } })))))), hAsync("div", { key: '7a48e557e56d0f76556bddd5c0d7348347b522e5', class: "w-full" }, hAsync("ul", { key: 'de47269f2887ede6f63d78ea27216bdfca092e00', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, support.map((color) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { class: "w-full min-h-[90px] effect-height flex items-center justify-between p-16", style: { backgroundColor: color.background } }))))))), hAsync("p", { key: '6462727e41d5adbb78e6516cc514deab0c82a4ff', class: "f-body-01" }, "This guide demonstrates the correct usage of the", hAsync("eds-link", { key: '4e451a7a19184ea9febc308440f18aa9ffd7ba20', label: "blue", size: "small", intent: "underline", icon: "chevron-right", url: "../color-palette/#primary-palette", "extra-class": "inline-block ml-4" }), "and", hAsync("eds-link", { key: '00b0bfd638b09f74045600e1f8712ff291a9fefb', label: "support", size: "small", intent: "underline", icon: "chevron-right", url: "../color-palette/#support-palette", "extra-class": "inline-block ml-4" }), "color palettes."), hAsync("div", { key: 'defd084d15e5ea4ba08fc3bbd6e0b49177c5272f', class: "flex" }, hAsync("div", { key: 'd6bf7ff0ae322e935cc5757470a46ebe3d0d9044', class: "w-full" }, hAsync("ul", { key: 'e5446d344666bf651ea95740defb7ddc7a7b11c1', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, blue.map((color) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { class: "w-full min-h-[225px] effect-height flex items-center justify-between p-16", style: { backgroundColor: color.background } })))))), hAsync("div", { key: 'fea82f2022e4649db4f0e7496682d1da56b081fd', class: "w-full" }, hAsync("ul", { key: 'e678cd5f9af9969b3d5832102dc37ea2b720f88a', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, support.map((color) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { class: "w-full min-h-[90px] effect-height flex items-center justify-between p-16", style: { backgroundColor: color.background } }))))))), hAsync("p", { key: 'd2e63f7de74f17c40529f04195dfceab6d2064ce', class: "f-body-01" }, "This guide demonstrates the correct usage of the", hAsync("eds-link", { key: 'e038092dd9503209b495fcd19648891c8dcfd6e3', label: "redish", size: "small", intent: "underline", icon: "chevron-right", url: "../color-palette/#primary-palette", "extra-class": "inline-block ml-4" }), "and", hAsync("eds-link", { key: '8a08ec7cdb4f054bdf44b949da4490b6ffce4e2a', label: "support", size: "small", intent: "underline", icon: "chevron-right", url: "../color-palette/#support-palette", "extra-class": "inline-block ml-4" }), "color palettes."), hAsync("div", { key: '8d082cd4dddffb42b6d16d1c8b1269a2ba6f9b20', class: "flex" }, hAsync("div", { key: '9d5794ab3a57398babcd8d6f27df2d9ed2154c45', class: "w-full" }, hAsync("ul", { key: 'b83da37b2a99897f68c44cf5c8b910c7626f828e', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, red$1.map((color) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { class: "w-full min-h-[225px] effect-height flex items-center justify-between p-16", style: { backgroundColor: color.background } })))))), hAsync("div", { key: '2842ef771db390b7e486e3926107238b3f91f7f9', class: "w-full" }, hAsync("ul", { key: '59dda1da69095cda6ca70c92dec362b7ec6ae521', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, support.map((color) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { class: "w-full min-h-[90px] effect-height flex items-center justify-between p-16", style: { backgroundColor: color.background } })))))))));
2723
2723
  }
2724
2724
  static get cmpMeta() { return {
2725
2725
  "$flags$": 0,
@@ -2758,7 +2758,7 @@ class DocsContent {
2758
2758
  }
2759
2759
  }
2760
2760
  render() {
2761
- return hAsync("div", { key: 'd012b0c560b658efc52b6ed9c26f481d2ce38bd9', class: "container" }, this.renderContent());
2761
+ return hAsync("div", { key: '4104127b2816de8034a5bde49162486930647142', class: "container" }, this.renderContent());
2762
2762
  }
2763
2763
  static get cmpMeta() { return {
2764
2764
  "$flags$": 0,
@@ -2791,7 +2791,7 @@ class DocsPalettes {
2791
2791
  }
2792
2792
  }
2793
2793
  render() {
2794
- return hAsync("div", { key: '81c8a0516dc577d0a9b04255aa021739abfd6c9e', class: "container" }, this.renderContent());
2794
+ return hAsync("div", { key: 'b6a79a91f8609cc1dd6fdd09c15b33e90dea202b', class: "container" }, this.renderContent());
2795
2795
  }
2796
2796
  static get cmpMeta() { return {
2797
2797
  "$flags$": 0,
@@ -2860,7 +2860,7 @@ function matomoOptOut() {
2860
2860
  }
2861
2861
  }
2862
2862
 
2863
- const edsAccordionCss = ":host{display:block;width:100%}.accordion-card{border-radius:16px;padding:1.5rem;transition:all 0.4s ease;position:relative;overflow:hidden;border:1px solid rgba(0, 0, 0, 0.1)}.accordion-card-default{background:var(--brand-black);color:var(--white)}.accordion-card-default:hover{border-color:rgba(0, 255, 157, 0.4);box-shadow:0 4px 20px rgba(0, 0, 0, 0.1)}.accordion-card-default .accordion-title{color:var(--white)}.accordion-card-default .accordion-description{color:var(--grey-light)}.accordion-card-default .accordion-chevron{color:var(--white)}.accordion-card-default .accordion-content{color:var(--grey-light)}.accordion-card-inverse{background:var(--white);color:var(--brand-black)}.accordion-card-inverse:hover{border-color:rgba(0, 255, 157, 0.4);box-shadow:0 4px 20px rgba(0, 0, 0, 0.1)}.accordion-card-inverse .accordion-title{color:var(--brand-black)}.accordion-card-inverse .accordion-description{color:var(--grey-dark)}.accordion-card-inverse .accordion-chevron{color:var(--brand-black)}.accordion-card-inverse .accordion-content{color:var(--grey-dark)}.accordion-header{display:flex;align-items:center;gap:1rem;cursor:pointer;width:100%;background:none;border:none;padding:0;text-align:left;-webkit-user-select:none;user-select:none}.accordion-header:focus-visible{outline:2px solid var(--brand-green);outline-offset:2px;border-radius:8px}.accordion-icon{width:48px;height:48px;min-width:48px;display:flex;align-items:center;justify-content:center;background:rgba(0, 255, 157, 0.1);border-radius:12px;color:var(--brand-green);flex-shrink:0}.accordion-card-inverse .accordion-icon{background:rgba(0, 0, 0, 0.05);color:var(--brand-black)}.accordion-header-text{flex-grow:1;min-width:0}.accordion-title{font-family:'Inter', var(--f-heading-fontFamily);font-weight:300;font-size:1.25rem;line-height:1.4;margin:0}.accordion-description{font-family:'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;font-size:0.9375rem;line-height:1.6;margin-top:0.25rem;margin-bottom:0}.accordion-chevron{flex-shrink:0;transition:transform 0.3s ease}.accordion-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.4s ease}.accordion-panel.expanded{grid-template-rows:1fr}.accordion-panel-inner{overflow:hidden}.accordion-content{padding-top:1rem;font-family:'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;font-size:0.9375rem;line-height:1.6}.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}@media (max-width: 768px){.accordion-card{padding:1.25rem}.accordion-icon{width:40px;height:40px;min-width:40px}.accordion-title{font-size:1.125rem}.accordion-header{gap:0.75rem}}h3,p{margin:0}";
2863
+ const edsAccordionCss = ":host{display:block;width:100%}.accordion-card{border-radius:16px;padding:1.5rem;transition:all 0.4s ease;position:relative;overflow:hidden;border:1px solid rgba(0, 0, 0, 0.1)}.accordion-card-default{background:var(--brand-black);color:var(--white)}.accordion-card-default:hover{border-color:rgba(0, 255, 157, 0.4);box-shadow:0 4px 20px rgba(0, 0, 0, 0.1)}.accordion-card-default .accordion-title{color:var(--white)}.accordion-card-default .accordion-description{color:var(--grey-light)}.accordion-card-default .accordion-chevron{color:var(--white)}.accordion-card-default .accordion-content{color:var(--grey-light)}.accordion-card-inverse{background:var(--white);color:var(--brand-black)}.accordion-card-inverse:hover{border-color:rgba(0, 255, 157, 0.4);box-shadow:0 4px 20px rgba(0, 0, 0, 0.1)}.accordion-card-inverse .accordion-title{color:var(--brand-black)}.accordion-card-inverse .accordion-description{color:var(--grey-700)}.accordion-card-inverse .accordion-chevron{color:var(--brand-black)}.accordion-card-inverse .accordion-content{color:var(--grey-700)}.accordion-header{display:flex;align-items:center;gap:1rem;cursor:pointer;width:100%;background:none;border:none;padding:0;text-align:left;-webkit-user-select:none;user-select:none}.accordion-header:focus-visible{outline:2px solid var(--brand-green);outline-offset:2px;border-radius:8px}.accordion-icon{width:48px;height:48px;min-width:48px;display:flex;align-items:center;justify-content:center;background:rgba(0, 255, 157, 0.1);border-radius:12px;color:var(--brand-green);flex-shrink:0}.accordion-card-inverse .accordion-icon{background:rgba(0, 0, 0, 0.05);color:var(--brand-black)}.accordion-header-text{flex-grow:1;min-width:0}.accordion-title{font-family:'Inter', var(--f-heading-fontFamily);font-weight:300;font-size:1.25rem;line-height:1.4;margin:0}.accordion-description{font-family:'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;font-size:0.9375rem;line-height:1.6;margin-top:0.25rem;margin-bottom:0}.accordion-chevron{flex-shrink:0;transition:transform 0.3s ease}.accordion-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.4s ease}.accordion-panel.expanded{grid-template-rows:1fr}.accordion-panel-inner{overflow:hidden}.accordion-content{padding-top:1rem;font-family:'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;font-size:0.9375rem;line-height:1.6}.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}@media (max-width: 768px){.accordion-card{padding:1.25rem}.accordion-icon{width:40px;height:40px;min-width:40px}.accordion-title{font-size:1.125rem}.accordion-header{gap:0.75rem}}h3,p{margin:0}";
2864
2864
  var EdsAccordionStyle0 = edsAccordionCss;
2865
2865
 
2866
2866
  /**
@@ -2918,7 +2918,7 @@ class EdsAccordion {
2918
2918
  'accordion-card',
2919
2919
  `accordion-card-${this.variant}`
2920
2920
  ].join(' ');
2921
- return (hAsync("div", { key: 'e9f44914fce505b97f90415ed72f322ff09fcee7', class: cardClasses }, hAsync("div", { key: 'd4c6ec563b66b14fc74bc872c953bd9e3e501a85', class: "accordion-header", onClick: this.handleClick, onKeyDown: this.handleKeyDown, role: "button", tabindex: 0, "aria-expanded": String(this.isExpanded), "aria-controls": "accordionSection" }, this.icon && (hAsync("div", { key: '9c365bc15aeec93ccc2021206e72e457a2032265', class: "accordion-icon" }, hAsync("eds-icon-wrapper", { key: '73742a6cb431342c62e1fd5661c39927dcb57bef', name: this.icon, size: 24 }))), hAsync("div", { key: '1ba17b07eedccb135dc5138ace783ea211b75d52', class: "accordion-header-text" }, hAsync("h3", { key: 'd8c34e66195fbe2863736d39f5a9e8276f30252a', class: "accordion-title" }, this.heading), this.description && (hAsync("p", { key: 'c24a3614a3f2d1bcd29a39cbd3384c25c1c50e47', class: `accordion-description ${!this.isExpanded && this.clampText ? 'line-clamp-1' : ''}` }, this.description))), hAsync("eds-icon-wrapper", { key: 'deecdbb3c0ec32079b3b913ed7976ae813b9468a', name: this.toggleIcon, size: 20, class: "accordion-chevron" })), hAsync("section", { key: 'f3767c81d79e2681c6317e3268cf1c966fba6bc2', id: "accordionSection", "aria-hidden": String(!this.isExpanded), class: `accordion-panel ${this.isExpanded ? 'expanded' : ''}` }, hAsync("div", { key: '08ce9281f2e7fc858f30d0b7c0da0b0739824193', class: "accordion-panel-inner" }, hAsync("div", { key: 'c9cdc6312fa279d1c1ee5753c7038b0a9ce3c624', class: "accordion-content" }, hAsync("slot", { key: 'aaec055131ce2ae7830aecfc2fc6ace50f05ded1' }))))));
2921
+ return (hAsync("div", { key: '08061b87dfd54b49f8aa782f29e2a9c5c8bcd2ef', class: cardClasses }, hAsync("div", { key: '728033232d8e6aa348bc98d028a5bd62d32fd934', class: "accordion-header", onClick: this.handleClick, onKeyDown: this.handleKeyDown, role: "button", tabindex: 0, "aria-expanded": String(this.isExpanded), "aria-controls": "accordionSection" }, this.icon && (hAsync("div", { key: 'eeb4260c955a2d4394bc3663dc749afc45b6f87f', class: "accordion-icon" }, hAsync("eds-icon-wrapper", { key: '0896625a235bda97a098ac7b9a4ebec00e5fa587', name: this.icon, size: 24 }))), hAsync("div", { key: '3e6b85780bc597a84dc0eb5d2526f9e54c16148d', class: "accordion-header-text" }, hAsync("h3", { key: 'b5c5c0023bc23dc225183736f02683134a40da93', class: "accordion-title" }, this.heading), this.description && (hAsync("p", { key: 'eb04c90cef03a838a4f852b988f3a9984e593120', class: `accordion-description ${!this.isExpanded && this.clampText ? 'line-clamp-1' : ''}` }, this.description))), hAsync("eds-icon-wrapper", { key: '583d0bcc82a178c2a47eef586aede9c87e8ea456', name: this.toggleIcon, size: 20, class: "accordion-chevron" })), hAsync("section", { key: '8f820377d639ced2d0a4fe505452b6b408640400', id: "accordionSection", "aria-hidden": String(!this.isExpanded), class: `accordion-panel ${this.isExpanded ? 'expanded' : ''}` }, hAsync("div", { key: 'd41dc9c3ef21f14df3ca25138440356703fa35ed', class: "accordion-panel-inner" }, hAsync("div", { key: '156c3c9b139efcb964525147338ecdeeca538123', class: "accordion-content" }, hAsync("slot", { key: 'b19b54c279cca1a32b4ed0f5b0a319d87b7bf937' }))))));
2922
2922
  }
2923
2923
  get el() { return getElement(this); }
2924
2924
  static get style() { return EdsAccordionStyle0; }
@@ -3052,7 +3052,7 @@ class EdsAppRoot {
3052
3052
  this.combinedInitPromise = Promise.all([initKeycloakPromise, authStatusPromise]);
3053
3053
  }
3054
3054
  render() {
3055
- return (hAsync("div", { key: '10a75e7e117b2f3ab3d0ba8f2a26c122b2e0eed4' }, hAsync("eds-splash-screen", { key: 'ab527af22c9a9fe861bbed4759946428e3e7fdf0', inverse: true, initPromise: this.combinedInitPromise }), hAsync("eds-login", { key: '78e7face11e06df76b9dd29e99b7d968cc2cf32e', "keycloak-url": "http://localhost:8080", "keycloak-realm": "nigeor-realm", "keycloak-client-id": "stencil-app" }), hAsync("main", { key: '30f463e667ccc25062bbf2764fdabc8937b6097c' }, this.isAuthenticated ? hAsync("h1", null, "Welcome, authenticated user!") : hAsync("h1", null, "Please log in."))));
3055
+ return (hAsync("div", { key: 'c9192fb7e315fa8fe41c9ee512f4573951865208' }, hAsync("eds-splash-screen", { key: 'e3d413597cc370692c593abd4017d97e1c172219', inverse: true, initPromise: this.combinedInitPromise }), hAsync("eds-login", { key: '2821e64738053db4809663aa918f98c4df358201', "keycloak-url": "http://localhost:8080", "keycloak-realm": "nigeor-realm", "keycloak-client-id": "stencil-app" }), hAsync("main", { key: '4680b74ec0f74b8060b020f726f6696b41b43a9e' }, this.isAuthenticated ? hAsync("h1", null, "Welcome, authenticated user!") : hAsync("h1", null, "Please log in."))));
3056
3056
  }
3057
3057
  static get cmpMeta() { return {
3058
3058
  "$flags$": 9,
@@ -3135,7 +3135,7 @@ class EdsAvatar {
3135
3135
  * @returns {JSX.Element} The rendered avatar component.
3136
3136
  */
3137
3137
  render() {
3138
- return (hAsync("div", { key: '00e163f2dd33c92bdfd8f45b6e2d3384afa32a30', class: this.containerClasses }, this.picture ? (hAsync("eds-img", { src: this.picture, width: 54, height: 54, sizes: "120px", alt: `${this.firstName} ${this.lastName}`, lazyload: true, withBg: true })) : (hAsync("abbr", { title: this.computedInitials || `${this.firstName} ${this.lastName}`, class: "!no-underline f-ui-01" }, this.computedInitials))));
3138
+ return (hAsync("div", { key: '36f8cb598e0e53793ce8a49e9e2419f41ba8f160', class: this.containerClasses }, this.picture ? (hAsync("eds-img", { src: this.picture, width: 54, height: 54, sizes: "120px", alt: `${this.firstName} ${this.lastName}`, lazyload: true, withBg: true })) : (hAsync("abbr", { title: this.computedInitials || `${this.firstName} ${this.lastName}`, class: "!no-underline f-ui-01" }, this.computedInitials))));
3139
3139
  }
3140
3140
  static get style() { return EdsAvatarStyle0; }
3141
3141
  static get cmpMeta() { return {
@@ -3166,7 +3166,7 @@ class EdsBlockBreak {
3166
3166
  this.inverse = false;
3167
3167
  }
3168
3168
  render() {
3169
- return hAsync("hr", { key: '7b472ce3dcecc7a0c061d336c4edb1bec098c113', class: `${this.inverse ? 'border-default' : 'border-softer'} my-16 inline-block w-full border-t-2` });
3169
+ return hAsync("hr", { key: '2531c44fa20745f7860e4647f77ffa038a56d832', class: `${this.inverse ? 'border-default' : 'border-softer'} my-16 inline-block w-full border-t-2` });
3170
3170
  }
3171
3171
  static get style() { return EdsBlockBreakStyle0; }
3172
3172
  static get cmpMeta() { return {
@@ -3326,7 +3326,7 @@ class EdsBreadcrumb {
3326
3326
  */
3327
3327
  render() {
3328
3328
  const itemsToRender = this.getTruncatedItems();
3329
- return (hAsync("nav", { key: 'a068d2deb011c0a303e5a4320f4f5913bfc36d4a', "aria-label": "Breadcrumb" }, hAsync("ol", { key: '63ab81ece8ff48546875320f4fd346638fac3bdc', class: "flex items-center space-x-2" }, itemsToRender.map((item, index) => {
3329
+ return (hAsync("nav", { key: '95c13ac07de20bc04fb57ee990e5d21f928f3a86', "aria-label": "Breadcrumb" }, hAsync("ol", { key: '2a03ff53ac27eaa5e37ddfef32e9a4fe322755dd', class: "flex items-center space-x-2" }, itemsToRender.map((item, index) => {
3330
3330
  const isLast = index === itemsToRender.length - 1;
3331
3331
  return (hAsync("li", { class: "flex items-center" }, !item.isHidden ? ((() => {
3332
3332
  const { fullLabel } = this.getLabels(item, isLast);
@@ -3407,7 +3407,7 @@ const cva = (base, config)=>{
3407
3407
  };
3408
3408
  };
3409
3409
 
3410
- const edsButtonCss = "/* ============================================\n EDS BUTTON - NEW EBRAINS VISUAL SYSTEM\n ============================================ */\n\n*,\n::before,\n::after {\n box-sizing: border-box;\n border-width: 0;\n border-style: solid;\n border-color: currentColor;\n}\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\n 1. Change the font styles in all browsers.\n 2. Remove the margin in Firefox and Safari.\n 3. Remove default padding in all browsers.\n */\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n font-size: 100%;\n font-weight: inherit;\n line-height: inherit;\n letter-spacing: inherit;\n color: inherit;\n margin: 0;\n padding: 0;\n}\n\n/*\n Remove the inheritance of text transform in Edge and Firefox.\n */\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n 1. Correct the inability to style clickable types in iOS and Safari.\n 2. Remove default button styles.\n */\nbutton,\ninput:where([type='button']),\ninput:where([type='reset']),\ninput:where([type='submit']) {\n -webkit-appearance: button;\n /* 1 */\n background-color: transparent;\n /* 2 */\n background-image: none;\n /* 2 */\n}\n\np {\n margin: 0;\n}\n\n/*\n Set the default cursor for buttons.\n */\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\n Make sure disabled buttons don't get the pointer cursor.\n */\n:disabled {\n cursor: default;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n\n/* ============================================\n TYPOGRAPHY CLASSES\n ============================================ */\n\n.f-body-01 {\n font-family: var(--f-body-01-fontFamily);\n font-weight: var(--f-body-01-fontWeight);\n font-size: var(--f-body-01-fontSize);\n line-height: var(--f-body-01-lineHeight);\n letter-spacing: var(--f-body-01-letterSpacing);\n}\n\n.f-body-02 {\n font-family: var(--f-body-02-fontFamily);\n font-weight: var(--f-body-02-fontWeight);\n font-size: var(--f-body-02-fontSize);\n line-height: var(--f-body-02-lineHeight);\n letter-spacing: var(--f-body-02-letterSpacing);\n}\n\n.f-ui-01 {\n font-family: var(--f-ui-01-fontFamily);\n font-weight: var(--f-ui-01-fontWeight);\n font-size: var(--f-ui-01-fontSize);\n line-height: var(--f-ui-01-lineHeight);\n letter-spacing: var(--f-ui-01-letterSpacing);\n}\n\n.f-ui-02 {\n font-family: var(--f-ui-02-fontFamily);\n font-weight: var(--f-ui-02-fontWeight);\n font-size: var(--f-ui-02-fontSize);\n line-height: var(--f-ui-02-lineHeight);\n letter-spacing: var(--f-ui-02-letterSpacing);\n}\n\n/* ============================================\n BUTTON BORDER EFFECTS - NEW SYSTEM\n ============================================ */\n\n.border-inside {\n position: relative;\n\n &::after {\n pointer-events: none;\n position: absolute;\n inset: 0rem;\n z-index: 1;\n border-radius: 8px;\n border-width: 2px;\n border-color: rgba(7, 20, 13, 1); /* brand-black with opacity */\n content: '';\n }\n}\n\n.border-inside-inverse {\n position: relative;\n\n &::after {\n pointer-events: none;\n position: absolute;\n inset: 0rem;\n z-index: 1;\n border-radius: 8px;\n border-width: 2px;\n border-color: rgba(255, 255, 255, 1); /* white border */\n content: '';\n }\n}\n\n.border-inside-pill {\n &::after {\n border-radius: 100px; /* pill shape */\n content: '';\n }\n}\n\n.border-inside-inverse.border-inside-pill {\n &::after {\n border-radius: 100px; /* pill shape for inverse border */\n }\n}\n\n/* ============================================\n LOADER SPINNER\n ============================================ */\n\n.loader {\n box-sizing: border-box;\n display: inline-block;\n height: 1rem;\n width: 1rem;\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n.loader {\n animation: spin 1s linear infinite;\n border-radius: 9999px;\n border: 3px solid rgba(7, 20, 13, 0.3); /* brand-black */\n border-bottom-color: #07140D; /* brand-black */\n}\n\n/* ============================================\n TRANSITIONS & EFFECTS\n ============================================ */\n\n.effect-color {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 300ms;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n}\n\n.effect-focus {\n outline-width: 3px;\n outline-offset: 2px;\n outline-color: var(--brand-green); /* NEW: brand-green for focus */\n}\n\n.effect-focus:focus-visible {\n outline-style: solid;\n}\n\n.effect-focus-within {\n outline-width: 3px;\n outline-offset: 2px;\n outline-color: var(--brand-green); /* NEW: brand-green for focus */\n}\n\n.effect-focus-within:focus-within {\n outline-style: solid;\n}\n\n/* ============================================\n BRAND HOVER TRANSFORM EFFECT\n ============================================ */\n.brand-hover-transform {\n transition-property: transform, box-shadow, color, background-color;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 300ms;\n}\n\n.brand-hover-transform:hover {\n transform: translateY(-2px);\n box-shadow: 0 8px 20px rgba(0, 255, 157, 0.3);\n}\n\n.brand-hover-transform[aria-disabled=\"true\"]:hover,\n.brand-hover-transform:disabled:hover {\n transform: none;\n box-shadow: none;\n}\n\n/* Secondary Inverse Transform Effect */\n.secondary-inverse-transform {\n transition-property: transform, background-color, color;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 300ms;\n}\n\n.secondary-inverse-transform:hover {\n transform: translateY(-2px);\n}\n\n.secondary-inverse-transform[aria-disabled=\"true\"]:hover,\n.secondary-inverse-transform:disabled:hover {\n transform: none;\n}\n\n/* ============================================\n UTILITY CLASSES\n ============================================ */\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n.pointer-events-none {\n pointer-events: none;\n}\n\n.static {\n position: static;\n}\n\n.fixed {\n position: fixed;\n}\n\n.absolute {\n position: absolute;\n}\n\n.relative {\n position: relative;\n}\n\n.sticky {\n position: sticky;\n}\n\n.inset-0 {\n inset: 0rem;\n}\n\n.inset-x-16 {\n left: 1rem;\n right: 1rem;\n}\n\n/* ============================================\n POSITIONING\n ============================================ */\n\n.-top-8 {\n top: -0.5rem;\n}\n\n.left-0 {\n left: 0rem;\n}\n\n.left-1\\/2 {\n left: 50%;\n}\n\n.left-4 {\n left: 0.25rem;\n}\n\n.left-\\[4px\\] {\n left: 4px;\n}\n\n.right-0 {\n right: 0rem;\n}\n\n.right-4 {\n right: 0.25rem;\n}\n\n.right-8 {\n right: 0.5rem;\n}\n\n.right-\\[6px\\] {\n right: 6px;\n}\n\n.top-0 {\n top: 0rem;\n}\n\n.top-1\\/2 {\n top: 50%;\n}\n\n/* ============================================\n SPACING\n ============================================ */\n\n.m-0 {\n margin: 0rem;\n}\n\n.mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n\n.-ml-16 {\n margin-left: -1rem;\n}\n\n.-mr-16 {\n margin-right: -1rem;\n}\n\n.ml-0 {\n margin-left: 0rem;\n}\n\n.ml-4 {\n margin-left: 0.25rem;\n}\n\n.ml-64 {\n margin-left: 4rem;\n}\n\n.ml-8 {\n margin-left: 0.5rem;\n}\n\n.ml-auto {\n margin-left: auto;\n}\n\n.mr-4 {\n margin-right: 0.25rem;\n}\n\n.mr-8 {\n margin-right: 0.5rem;\n}\n\n.mr-auto {\n margin-right: auto;\n}\n\n/* ============================================\n DISPLAY\n ============================================ */\n\n.block {\n display: block;\n}\n\n.\\!block {\n display: block !important;\n}\n\n.inline-block {\n display: inline-block;\n}\n\n.inline {\n display: inline;\n}\n\n.flex {\n display: flex;\n}\n\n.inline-flex {\n display: inline-flex;\n}\n\n.hidden {\n display: none;\n}\n\n/* ============================================\n DIMENSIONS\n ============================================ */\n\n.h-20 {\n height: 1.25rem;\n}\n\n.h-24 {\n height: 1.5rem;\n}\n\n.h-36 {\n height: 2.25rem;\n}\n\n.h-40 {\n height: 2.5rem;\n}\n\n.h-44 {\n height: 2.75rem;\n}\n\n.h-48 {\n height: 3rem;\n}\n\n.h-auto {\n height: auto;\n}\n\n.h-full {\n height: 100%;\n}\n\n.\\!min-h-20 {\n min-height: 1.25rem !important;\n}\n\n.min-h-screen {\n min-height: 100vh;\n}\n\n.w-20 {\n width: 1.25rem;\n}\n\n.w-24 {\n width: 1.5rem;\n}\n\n.w-full {\n width: 100%;\n}\n\n.w-auto {\n width: auto;\n}\n\n/* ============================================\n FLEXBOX\n ============================================ */\n\n.flex-none {\n flex: none;\n}\n\n.grow {\n flex-grow: 1;\n}\n\n.cursor-pointer {\n cursor: pointer;\n}\n\n.resize {\n resize: both;\n}\n\n.flex-row {\n flex-direction: row;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse;\n}\n\n.flex-col {\n flex-direction: column;\n}\n\n.flex-wrap {\n flex-wrap: wrap;\n}\n\n.items-center {\n align-items: center;\n}\n\n.justify-center {\n justify-content: center;\n}\n\n.justify-between {\n justify-content: space-between;\n}\n\n.gap-4 {\n gap: 0.25rem;\n}\n\n.gap-8 {\n gap: 0.5rem;\n}\n\n.space-x-2> :not([hidden])~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.125rem * var(--tw-space-x-reverse));\n margin-left: calc(0.125rem * calc(1 - var(--tw-space-x-reverse)));\n}\n\n/* ============================================\n OVERFLOW\n ============================================ */\n\n.overflow-hidden {\n overflow: hidden;\n}\n\n.overflow-x-auto {\n overflow-x: auto;\n}\n\n.overflow-x-hidden {\n overflow-x: hidden;\n}\n\n.overflow-y-scroll {\n overflow-y: scroll;\n}\n\n/* ============================================\n TEXT\n ============================================ */\n\n.whitespace-nowrap {\n white-space: nowrap;\n}\n\n.break-words {\n overflow-wrap: break-word;\n}\n\n/* ============================================\n BORDERS & RADIUS - NEW SYSTEM\n ============================================ */\n\n.rounded {\n border-radius: 0.25rem;\n}\n\n.rounded-full {\n border-radius: 9999px;\n}\n\n.rounded-lg {\n border-radius: 16px;\n}\n\n.rounded-md {\n border-radius: 12px;\n}\n\n.rounded-pill {\n border-radius: 100px; /* NEW: pill shape */\n}\n\n.rounded-sm {\n border-radius: 8px;\n}\n\n.rounded-xxs {\n border-radius: 2px;\n}\n\n.border {\n border-width: 1px;\n}\n\n.border-\\[\\#0034CB\\] {\n --tw-border-opacity: 1;\n border-color: rgb(0 52 203 / var(--tw-border-opacity));\n}\n\n.border-\\[\\#d2d2d2\\] {\n --tw-border-opacity: 1;\n border-color: rgb(210 210 210 / var(--tw-border-opacity));\n}\n\n.border-softest {\n border-color: var(--grey-light);\n}\n\n.border-b-softer {\n border-bottom-color: rgba(7, 20, 13, 0.1); /* NEW: brand-black */\n}\n\n/* ============================================\n BACKGROUNDS - NEW EBRAINS COLORS\n ============================================ */\n\n/* Accent backgrounds - NEW green */\n.\\!bg-accent-dark {\n background-color: var(--brand-green-dark) !important; /* NEW: #00C87B */\n}\n\n.bg-accent {\n background-color: var(--brand-green); /* NEW: #00FF9D */\n}\n\n.bg-accent-dark {\n background-color: var(--brand-green-dark); /* NEW: #00C87B */\n}\n\n/* Neutral backgrounds - NEW simplified greys */\n.\\!bg-darker {\n background-color: var(--grey-dark) !important; /* NEW: #7A7B7A */\n}\n\n.bg-dark {\n background-color: var(--grey-light); /* NEW: #ECECEC */\n}\n\n.bg-darker {\n background-color: var(--grey-dark); /* NEW: #7A7B7A */\n}\n\n/* Strong backgrounds - NEW brand-black */\n.\\!bg-strong-dark {\n background-color: var(--brand-black) !important; /* NEW: #07140D */\n}\n\n.bg-strong {\n background-color: var(--grey-dark); /* NEW: #7A7B7A */\n}\n\n.bg-strong-dark {\n background-color: var(--brand-black); /* NEW: #07140D */\n}\n\n.bg-stronger {\n background-color: var(--brand-black); /* NEW: #07140D */\n}\n\n.bg-strongest {\n background-color: var(--brand-black); /* NEW: #07140D (was pure black) */\n}\n\n/* Overlay */\n.bg-overlay {\n background-color: rgba(7, 20, 13, 0.25); /* NEW: brand-black overlay */\n}\n\n/* ============================================\n PADDING\n ============================================ */\n\n.p-12 {\n padding: 0.75rem;\n}\n\n.p-6 {\n padding: 0.375rem;\n}\n\n.p-8 {\n padding: 0.5rem;\n}\n\n.\\!px-0 {\n padding-left: 0rem !important;\n padding-right: 0rem !important;\n}\n\n.px-12 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n\n.px-16 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n.px-32 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n\n.py-8 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.py-12 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n}\n\n.pl-2 {\n padding-left: 0.125rem;\n}\n\n.pl-4 {\n padding-left: 0.25rem;\n}\n\n.pl-8 {\n padding-left: 0.5rem;\n}\n\n.pr-2 {\n padding-right: 0.125rem;\n}\n\n.pr-4 {\n padding-right: 0.25rem;\n}\n\n.pr-8 {\n padding-right: 0.5rem;\n}\n\n/* ============================================\n TEXT COLORS - NEW SYSTEM\n ============================================ */\n\n.\\!text-current {\n color: currentColor !important;\n}\n\n.text-accent {\n color: var(--brand-green); /* NEW: #00FF9D */\n}\n\n.text-current {\n color: currentColor;\n}\n\n.text-default {\n color: var(--brand-black); /* NEW: #07140D (was pure black) */\n}\n\n.text-inverse {\n color: var(--white);\n}\n\n.text-light {\n color: var(--grey-dark); /* NEW: simplified to grey-dark */\n}\n\n\n.text-lightest {\n color: var(--grey-light); /* NEW: simplified to grey-dark */\n}\n\n/* ============================================\n OPACITY\n ============================================ */\n\n.opacity-0 {\n opacity: 0;\n}\n\n.opacity-20 {\n opacity: 20;\n}\n\n/* ============================================\n SHADOWS - NEW SYSTEM\n ============================================ */\n\n.shadow {\n --tw-shadow: 0 1px 3px rgba(7, 20, 13, 0.1); /* NEW: brand-black */\n --tw-shadow-colored: 0 1px 3px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.shadow-accent {\n --tw-shadow: 0 0 16px rgba(0, 255, 157, 0.5); /* NEW: brand-green glow */\n --tw-shadow-colored: 0 0 16px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.underline-offset-4 {\n text-underline-offset: 0.2em;\n}\n\n.\\@container {\n container-type: inline-size;\n}\n\n/* ============================================\n PSEUDO-ELEMENT EFFECTS\n ============================================ */\n\n.after\\:effect-opacity::after {\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 300ms;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n}\n\n.even\\:bg-inverse-softer:nth-child(even) {\n background-color: rgba(255, 255, 255, .15);\n}\n\n.invalid\\:text-lightest:invalid {\n color: var(--grey-dark); /* NEW: simplified */\n}\n\n/* ============================================\n INTERACTIVE STATES - NEW COLORS\n ============================================ */\n\n.focus-within\\:bg-transparent:focus-within {\n background-color: transparent;\n}\n\n/* Hover states with NEW colors */\n\n.hover\\:border-0::hover {\n border-width: 0px;\n}\n\n.hover\\:border-accent::hover {\n border-color: var(--brand-green); /* NEW: #00FF9D */\n}\n\n.hover\\:text-default:hover {\n color: var(--brand-black);\n}\n\n.hover\\:text-light:hover {\n color: var(--grey-dark);\n}\n\n.hover\\:text-inverse:hover {\n color: var(--white);\n}\n\n\n.hover\\:bg-accent:hover {\n background-color: var(--brand-green); /* NEW: #00C87B */\n}\n\n.hover\\:bg-accent-dark:hover {\n background-color: var(--brand-green-dark); /* NEW: #00C87B */\n}\n\n.hover\\:bg-dark:hover {\n background-color: var(--grey-light); /* NEW: #ECECEC */\n}\n\n.hover\\:bg-darker:hover {\n background-color: var(--grey-dark); /* NEW: #7A7B7A */\n}\n\n.hover\\:bg-default:hover {\n background-color: var(--grey-light);\n}\n\n.hover\\:bg-inverse:hover {\n background-color: var(--white);\n}\n\n.hover\\:bg-strong-dark:hover {\n background-color: var(--brand-black); /* NEW: #07140D */\n}\n\n.hover\\:bg-transparent:hover {\n background-color: transparent;\n}\n\n.hover\\:bg-strongest:hover {\n background-color: var(--brand-black);\n}\n\n.hover\\:text-default:hover {\n color: var(--brand-black); /* NEW: #07140D */\n}\n\n.hover\\:text-lighter:hover {\n color: var(--grey-dark); /* NEW: #7A7B7A */\n}\n\n.hover\\:\\!underline:hover {\n text-decoration-line: underline !important;\n}\n\n.hover\\:no-underline:hover {\n text-decoration-line: none;\n}\n\n.hover\\:shadow-hover:hover {\n --tw-shadow: 0 8px 24px rgba(7, 20, 13, 0.2); /* NEW: brand-black */\n --tw-shadow-colored: 0 8px 24px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.focus\\:shadow-none:focus {\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.focus\\:outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n\n/* ============================================\n DISABLED STATES - NEW COLORS\n ============================================ */\n\n.disabled\\:cursor-not-allowed:disabled {\n cursor: not-allowed;\n}\n\n.disabled\\:bg-dark:disabled {\n background-color: var(--grey-light); /* NEW: #ECECEC */\n}\n\n.disabled\\:text-lightest:disabled {\n color: var(--grey-dark); /* NEW: #7A7B7A */\n}\n\n.aria-disabled\\:cursor-not-allowed[aria-disabled=\"true\"] {\n cursor: not-allowed;\n}\n\n.aria-disabled\\:\\!border-transparent[aria-disabled=\"true\"] {\n border-color: transparent !important;\n}\n\n.aria-disabled\\:bg-dark[aria-disabled=\"true\"] {\n background-color: var(--grey-light); /* NEW: #ECECEC */\n}\n\n.aria-disabled\\:bg-transparent[aria-disabled=\"true\"] {\n background-color: transparent;\n}\n\n.aria-disabled\\:text-light[aria-disabled=\"true\"] {\n color: var(--grey-dark); /* NEW: #7A7B7A */\n}\n\n.aria-disabled\\:text-lightest[aria-disabled=\"true\"] {\n color: var(--grey-dark); /* NEW: #7A7B7A */\n}\n\n.aria-disabled\\:line-through[aria-disabled=\"true\"] {\n text-decoration-line: line-through;\n}\n\n.aria-disabled\\:shadow-none[aria-disabled=\"true\"] {\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.aria-current-page\\:bg-darker[aria-current=\"page\"] {\n background-color: var(--grey-dark); /* NEW: #7A7B7A */\n}\n\n/* ============================================\n AFTER PSEUDO-ELEMENTS\n ============================================ */\n\n.after\\:absolute::after {\n position: absolute;\n}\n\n.after\\:inset-0::after {\n inset: 0rem;\n}\n\n.after\\:inset-x-0::after {\n left: 0rem;\n right: 0rem;\n}\n\n.after\\:bottom-0::after {\n bottom: 0rem;\n}\n\n.after\\:left-16::after {\n left: 1rem;\n}\n\n.after\\:right-16::after {\n right: 1rem;\n}\n\n.after\\:z-10::after {\n z-index: 10;\n}\n\n.after\\:rounded-lg::after {\n border-radius: 16px;\n}\n\n.after\\:rounded-t-lg::after {\n border-top-left-radius: 16px;\n border-top-right-radius: 16px;\n}\n\n.after\\:border-3::after {\n border-width: 3px;\n}\n\n.after\\:border-b-2::after {\n border-bottom-width: 2px;\n}\n\n.after\\:\\!border-transparent::after {\n border-color: transparent !important;\n}\n\n.after\\:border-accent::after {\n border-color: var(--brand-green); /* NEW: #00FF9D */\n}\n\n.after\\:border-accent-dark::after {\n border-color: var(--brand-green-dark); /* NEW: #00FF9D */\n}\n\n.after\\:border-soft::after {\n border-color: var(--grey-dark);\n}\n\n.after\\:border-softest::after {\n border-color: var(--grey-light);\n}\n\n.after\\:opacity-0::after {\n opacity: 0;\n}\n\n.after\\:content-\\[\\'\\'\\]::after {\n --tw-content: '';\n content: var(--tw-content);\n}\n\n.hover\\:text-accent:hover {\n color: var(--brand-green);\n}\n\n.hover\\:after\\:\\border-accent:hover::after {\n border-color: var(--brand-green);\n}\n\n.hover\\:after\\:\\!border-transparent:hover::after {\n border-color: transparent !important;\n}\n\n.hover\\:after\\:opacity-100:hover::after {\n opacity: 1;\n}\n\n.focus-visible\\:after\\:opacity-100:focus-visible::after {\n opacity: 1;\n}\n\n.aria-disabled\\:after\\:\\!border-transparent[aria-disabled=\"true\"]::after {\n border-color: transparent !important;\n}\n\n.aria-disabled\\:after\\:\\!border-0[aria-disabled=\"true\"]::after {\n border-width: 0 !important;\n}\n\n.hover\\:before\\:opacity-100:hover::before {\n opacity: 1;\n}\n\n/* ============================================\n CTA BUTTON STYLES\n ============================================ */\n\n/* CTA link style */\n.cta-link {\n font-family: 'IBM Plex Mono', monospace;\n font-size: var(--f-ui-01-fontSize);\n color: var(--grey-dark);\n text-decoration: none;\n transition: color 0.3s ease;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n}\n\n.cta-link:hover {\n color: var(--brand-green);\n}\n\n/* CTA brand link style - always green */\n.cta-link-brand {\n font-family: 'IBM Plex Mono', monospace;\n font-size: var(--f-ui-02-fontSize);\n color: var(--brand-green);\n text-decoration: none;\n transition: color 0.3s ease;\n display: inline-flex;\n align-items: center;\n gap: 0.5rem;\n}\n\n.cta-link-brand:hover {\n color: var(--brand-green-dark);\n}\n\n@media (min-width: 750px) {\n .md\\:w-full {\n width: 100%;\n }\n\n .md\\:flex {\n display: flex;\n }\n}";
3410
+ const edsButtonCss = "/* ============================================\n EDS BUTTON - NEW EBRAINS VISUAL SYSTEM\n ============================================ */\n\n*,\n::before,\n::after {\n box-sizing: border-box;\n border-width: 0;\n border-style: solid;\n border-color: currentColor;\n}\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\n 1. Change the font styles in all browsers.\n 2. Remove the margin in Firefox and Safari.\n 3. Remove default padding in all browsers.\n */\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n font-size: 100%;\n font-weight: inherit;\n line-height: inherit;\n letter-spacing: inherit;\n color: inherit;\n margin: 0;\n padding: 0;\n}\n\n/*\n Remove the inheritance of text transform in Edge and Firefox.\n */\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n 1. Correct the inability to style clickable types in iOS and Safari.\n 2. Remove default button styles.\n */\nbutton,\ninput:where([type='button']),\ninput:where([type='reset']),\ninput:where([type='submit']) {\n -webkit-appearance: button;\n /* 1 */\n background-color: transparent;\n /* 2 */\n background-image: none;\n /* 2 */\n}\n\np {\n margin: 0;\n}\n\n/*\n Set the default cursor for buttons.\n */\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\n Make sure disabled buttons don't get the pointer cursor.\n */\n:disabled {\n cursor: default;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n\n/* ============================================\n TYPOGRAPHY CLASSES\n ============================================ */\n\n.f-body-01 {\n font-family: var(--f-body-01-fontFamily);\n font-weight: var(--f-body-01-fontWeight);\n font-size: var(--f-body-01-fontSize);\n line-height: var(--f-body-01-lineHeight);\n letter-spacing: var(--f-body-01-letterSpacing);\n}\n\n.f-body-02 {\n font-family: var(--f-body-02-fontFamily);\n font-weight: var(--f-body-02-fontWeight);\n font-size: var(--f-body-02-fontSize);\n line-height: var(--f-body-02-lineHeight);\n letter-spacing: var(--f-body-02-letterSpacing);\n}\n\n.f-ui-01 {\n font-family: var(--f-ui-01-fontFamily);\n font-weight: var(--f-ui-01-fontWeight);\n font-size: var(--f-ui-01-fontSize);\n line-height: var(--f-ui-01-lineHeight);\n letter-spacing: var(--f-ui-01-letterSpacing);\n}\n\n.f-ui-02 {\n font-family: var(--f-ui-02-fontFamily);\n font-weight: var(--f-ui-02-fontWeight);\n font-size: var(--f-ui-02-fontSize);\n line-height: var(--f-ui-02-lineHeight);\n letter-spacing: var(--f-ui-02-letterSpacing);\n}\n\n/* ============================================\n BUTTON BORDER EFFECTS - NEW SYSTEM\n ============================================ */\n\n.border-inside {\n position: relative;\n\n &::after {\n pointer-events: none;\n position: absolute;\n inset: 0rem;\n z-index: 1;\n border-radius: 8px;\n border-width: 2px;\n border-color: rgba(7, 20, 13, 1); /* brand-black with opacity */\n content: '';\n }\n}\n\n.border-inside-inverse {\n position: relative;\n\n &::after {\n pointer-events: none;\n position: absolute;\n inset: 0rem;\n z-index: 1;\n border-radius: 8px;\n border-width: 2px;\n border-color: rgba(255, 255, 255, 1); /* white border */\n content: '';\n }\n}\n\n.border-inside-pill {\n &::after {\n border-radius: 100px; /* pill shape */\n content: '';\n }\n}\n\n.border-inside-inverse.border-inside-pill {\n &::after {\n border-radius: 100px; /* pill shape for inverse border */\n }\n}\n\n/* ============================================\n LOADER SPINNER\n ============================================ */\n\n.loader {\n box-sizing: border-box;\n display: inline-block;\n height: 1rem;\n width: 1rem;\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n.loader {\n animation: spin 1s linear infinite;\n border-radius: 9999px;\n border: 3px solid rgba(7, 20, 13, 0.3); /* brand-black */\n border-bottom-color: #07140D; /* brand-black */\n}\n\n/* ============================================\n TRANSITIONS & EFFECTS\n ============================================ */\n\n.effect-color {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 300ms;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n}\n\n.effect-focus {\n outline-width: 3px;\n outline-offset: 2px;\n outline-color: var(--brand-green); /* NEW: brand-green for focus */\n}\n\n.effect-focus:focus-visible {\n outline-style: solid;\n}\n\n.effect-focus-within {\n outline-width: 3px;\n outline-offset: 2px;\n outline-color: var(--brand-green); /* NEW: brand-green for focus */\n}\n\n.effect-focus-within:focus-within {\n outline-style: solid;\n}\n\n/* ============================================\n BRAND HOVER TRANSFORM EFFECT\n ============================================ */\n.brand-hover-transform {\n transition-property: transform, box-shadow, color, background-color;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 300ms;\n}\n\n.brand-hover-transform:hover {\n transform: translateY(-2px);\n box-shadow: 0 8px 20px rgba(0, 255, 157, 0.3);\n}\n\n.brand-hover-transform[aria-disabled=\"true\"]:hover,\n.brand-hover-transform:disabled:hover {\n transform: none;\n box-shadow: none;\n}\n\n/* Secondary Inverse Transform Effect */\n.secondary-inverse-transform {\n transition-property: transform, background-color, color;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 300ms;\n}\n\n.secondary-inverse-transform:hover {\n transform: translateY(-2px);\n}\n\n.secondary-inverse-transform[aria-disabled=\"true\"]:hover,\n.secondary-inverse-transform:disabled:hover {\n transform: none;\n}\n\n/* ============================================\n UTILITY CLASSES\n ============================================ */\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n.pointer-events-none {\n pointer-events: none;\n}\n\n.static {\n position: static;\n}\n\n.fixed {\n position: fixed;\n}\n\n.absolute {\n position: absolute;\n}\n\n.relative {\n position: relative;\n}\n\n.sticky {\n position: sticky;\n}\n\n.inset-0 {\n inset: 0rem;\n}\n\n.inset-x-16 {\n left: 1rem;\n right: 1rem;\n}\n\n/* ============================================\n POSITIONING\n ============================================ */\n\n.-top-8 {\n top: -0.5rem;\n}\n\n.left-0 {\n left: 0rem;\n}\n\n.left-1\\/2 {\n left: 50%;\n}\n\n.left-4 {\n left: 0.25rem;\n}\n\n.left-\\[4px\\] {\n left: 4px;\n}\n\n.right-0 {\n right: 0rem;\n}\n\n.right-4 {\n right: 0.25rem;\n}\n\n.right-8 {\n right: 0.5rem;\n}\n\n.right-\\[6px\\] {\n right: 6px;\n}\n\n.top-0 {\n top: 0rem;\n}\n\n.top-1\\/2 {\n top: 50%;\n}\n\n/* ============================================\n SPACING\n ============================================ */\n\n.m-0 {\n margin: 0rem;\n}\n\n.mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n\n.-ml-16 {\n margin-left: -1rem;\n}\n\n.-mr-16 {\n margin-right: -1rem;\n}\n\n.ml-0 {\n margin-left: 0rem;\n}\n\n.ml-4 {\n margin-left: 0.25rem;\n}\n\n.ml-64 {\n margin-left: 4rem;\n}\n\n.ml-8 {\n margin-left: 0.5rem;\n}\n\n.ml-auto {\n margin-left: auto;\n}\n\n.mr-4 {\n margin-right: 0.25rem;\n}\n\n.mr-8 {\n margin-right: 0.5rem;\n}\n\n.mr-auto {\n margin-right: auto;\n}\n\n/* ============================================\n DISPLAY\n ============================================ */\n\n.block {\n display: block;\n}\n\n.\\!block {\n display: block !important;\n}\n\n.inline-block {\n display: inline-block;\n}\n\n.inline {\n display: inline;\n}\n\n.flex {\n display: flex;\n}\n\n.inline-flex {\n display: inline-flex;\n}\n\n.hidden {\n display: none;\n}\n\n/* ============================================\n DIMENSIONS\n ============================================ */\n\n.h-20 {\n height: 1.25rem;\n}\n\n.h-24 {\n height: 1.5rem;\n}\n\n.h-36 {\n height: 2.25rem;\n}\n\n.h-40 {\n height: 2.5rem;\n}\n\n.h-44 {\n height: 2.75rem;\n}\n\n/* Min-height variants — used for button sizing so a label that wraps to\n two lines grows (with its py-12 padding) instead of being clipped at a\n fixed height. Single-line buttons keep the same height. */\n.min-h-36 {\n min-height: 2.25rem;\n}\n\n.min-h-44 {\n min-height: 2.75rem;\n}\n\n.h-48 {\n height: 3rem;\n}\n\n.h-auto {\n height: auto;\n}\n\n.h-full {\n height: 100%;\n}\n\n.\\!min-h-20 {\n min-height: 1.25rem !important;\n}\n\n.min-h-screen {\n min-height: 100vh;\n}\n\n.w-20 {\n width: 1.25rem;\n}\n\n.w-24 {\n width: 1.5rem;\n}\n\n.w-full {\n width: 100%;\n}\n\n.w-auto {\n width: auto;\n}\n\n/* ============================================\n FLEXBOX\n ============================================ */\n\n.flex-none {\n flex: none;\n}\n\n.grow {\n flex-grow: 1;\n}\n\n.cursor-pointer {\n cursor: pointer;\n}\n\n.resize {\n resize: both;\n}\n\n.flex-row {\n flex-direction: row;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse;\n}\n\n.flex-col {\n flex-direction: column;\n}\n\n.flex-wrap {\n flex-wrap: wrap;\n}\n\n.items-center {\n align-items: center;\n}\n\n.justify-center {\n justify-content: center;\n}\n\n.justify-between {\n justify-content: space-between;\n}\n\n.gap-4 {\n gap: 0.25rem;\n}\n\n.gap-8 {\n gap: 0.5rem;\n}\n\n.space-x-2> :not([hidden])~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.125rem * var(--tw-space-x-reverse));\n margin-left: calc(0.125rem * calc(1 - var(--tw-space-x-reverse)));\n}\n\n/* ============================================\n OVERFLOW\n ============================================ */\n\n.overflow-hidden {\n overflow: hidden;\n}\n\n.overflow-x-auto {\n overflow-x: auto;\n}\n\n.overflow-x-hidden {\n overflow-x: hidden;\n}\n\n.overflow-y-scroll {\n overflow-y: scroll;\n}\n\n/* ============================================\n TEXT\n ============================================ */\n\n.whitespace-nowrap {\n white-space: nowrap;\n}\n\n.break-words {\n overflow-wrap: break-word;\n}\n\n/* ============================================\n BORDERS & RADIUS - NEW SYSTEM\n ============================================ */\n\n.rounded {\n border-radius: 0.25rem;\n}\n\n.rounded-full {\n border-radius: 9999px;\n}\n\n.rounded-lg {\n border-radius: 16px;\n}\n\n.rounded-md {\n border-radius: 12px;\n}\n\n.rounded-pill {\n border-radius: 100px; /* NEW: pill shape */\n}\n\n.rounded-sm {\n border-radius: 8px;\n}\n\n.rounded-xxs {\n border-radius: 2px;\n}\n\n.border {\n border-width: 1px;\n}\n\n.border-\\[\\#0034CB\\] {\n --tw-border-opacity: 1;\n border-color: rgb(0 52 203 / var(--tw-border-opacity));\n}\n\n.border-\\[\\#d2d2d2\\] {\n --tw-border-opacity: 1;\n border-color: rgb(210 210 210 / var(--tw-border-opacity));\n}\n\n.border-softest {\n border-color: var(--grey-light);\n}\n\n.border-b-softer {\n border-bottom-color: rgba(7, 20, 13, 0.1); /* NEW: brand-black */\n}\n\n/* ============================================\n BACKGROUNDS - NEW EBRAINS COLORS\n ============================================ */\n\n/* Accent backgrounds - NEW green */\n.\\!bg-accent-dark {\n background-color: var(--brand-green-dark) !important; /* NEW: #00C87B */\n}\n\n.bg-accent {\n background-color: var(--brand-green); /* NEW: #00FF9D */\n}\n\n.bg-brand-light {\n background-color: var(--green-200); /* light brand tint #d3ffdc — brandLight intent */\n}\n\n.bg-accent-dark {\n background-color: var(--brand-green-dark); /* NEW: #00C87B */\n}\n\n/* Neutral backgrounds - NEW simplified greys */\n.\\!bg-darker {\n background-color: var(--grey-dark) !important; /* NEW: #7A7B7A */\n}\n\n.bg-dark {\n background-color: var(--grey-light); /* NEW: #ECECEC */\n}\n\n.bg-darker {\n background-color: var(--grey-dark); /* NEW: #7A7B7A */\n}\n\n/* Strong backgrounds - NEW brand-black */\n.\\!bg-strong-dark {\n background-color: var(--brand-black) !important; /* NEW: #07140D */\n}\n\n.bg-strong {\n background-color: var(--grey-dark); /* NEW: #7A7B7A */\n}\n\n.bg-strong-dark {\n background-color: var(--brand-black); /* NEW: #07140D */\n}\n\n.bg-stronger {\n background-color: var(--brand-black); /* NEW: #07140D */\n}\n\n.bg-strongest {\n background-color: var(--brand-black); /* NEW: #07140D (was pure black) */\n}\n\n/* Overlay */\n.bg-overlay {\n background-color: rgba(7, 20, 13, 0.25); /* NEW: brand-black overlay */\n}\n\n/* ============================================\n PADDING\n ============================================ */\n\n.p-12 {\n padding: 0.75rem;\n}\n\n.p-6 {\n padding: 0.375rem;\n}\n\n.p-8 {\n padding: 0.5rem;\n}\n\n.\\!px-0 {\n padding-left: 0rem !important;\n padding-right: 0rem !important;\n}\n\n.px-12 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n\n.px-16 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n.px-32 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n\n.py-8 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.py-12 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n}\n\n.pl-2 {\n padding-left: 0.125rem;\n}\n\n.pl-4 {\n padding-left: 0.25rem;\n}\n\n.pl-8 {\n padding-left: 0.5rem;\n}\n\n.pr-2 {\n padding-right: 0.125rem;\n}\n\n.pr-4 {\n padding-right: 0.25rem;\n}\n\n.pr-8 {\n padding-right: 0.5rem;\n}\n\n/* ============================================\n TEXT COLORS - NEW SYSTEM\n ============================================ */\n\n.\\!text-current {\n color: currentColor !important;\n}\n\n.text-accent {\n color: var(--brand-green); /* NEW: #00FF9D */\n}\n\n.text-current {\n color: currentColor;\n}\n\n.text-default {\n color: var(--brand-black); /* NEW: #07140D (was pure black) */\n}\n\n.text-inverse {\n color: var(--white);\n}\n\n.text-light {\n color: var(--grey-dark); /* NEW: simplified to grey-dark */\n}\n\n\n.text-lightest {\n color: var(--grey-light); /* NEW: simplified to grey-dark */\n}\n\n/* ============================================\n OPACITY\n ============================================ */\n\n.opacity-0 {\n opacity: 0;\n}\n\n.opacity-20 {\n opacity: 20;\n}\n\n/* ============================================\n SHADOWS - NEW SYSTEM\n ============================================ */\n\n.shadow {\n --tw-shadow: 0 1px 3px rgba(7, 20, 13, 0.1); /* NEW: brand-black */\n --tw-shadow-colored: 0 1px 3px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.shadow-accent {\n --tw-shadow: 0 0 16px rgba(0, 255, 157, 0.5); /* NEW: brand-green glow */\n --tw-shadow-colored: 0 0 16px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.underline-offset-4 {\n text-underline-offset: 0.2em;\n}\n\n.\\@container {\n container-type: inline-size;\n}\n\n/* ============================================\n PSEUDO-ELEMENT EFFECTS\n ============================================ */\n\n.after\\:effect-opacity::after {\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 300ms;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n}\n\n.even\\:bg-inverse-softer:nth-child(even) {\n background-color: rgba(255, 255, 255, .15);\n}\n\n.invalid\\:text-lightest:invalid {\n color: var(--grey-dark); /* NEW: simplified */\n}\n\n/* ============================================\n INTERACTIVE STATES - NEW COLORS\n ============================================ */\n\n.focus-within\\:bg-transparent:focus-within {\n background-color: transparent;\n}\n\n/* Hover states with NEW colors */\n\n.hover\\:border-0::hover {\n border-width: 0px;\n}\n\n.hover\\:border-accent::hover {\n border-color: var(--brand-green); /* NEW: #00FF9D */\n}\n\n.hover\\:text-default:hover {\n color: var(--brand-black);\n}\n\n.hover\\:text-light:hover {\n color: var(--grey-dark);\n}\n\n.hover\\:text-inverse:hover {\n color: var(--white);\n}\n\n\n.hover\\:bg-accent:hover {\n background-color: var(--brand-green); /* NEW: #00C87B */\n}\n\n.hover\\:bg-accent-dark:hover {\n background-color: var(--brand-green-dark); /* NEW: #00C87B */\n}\n\n.hover\\:bg-dark:hover {\n background-color: var(--grey-light); /* NEW: #ECECEC */\n}\n\n.hover\\:bg-darker:hover {\n background-color: var(--grey-dark); /* NEW: #7A7B7A */\n}\n\n.hover\\:bg-default:hover {\n background-color: var(--grey-light);\n}\n\n.hover\\:bg-inverse:hover {\n background-color: var(--white);\n}\n\n.hover\\:bg-strong-dark:hover {\n background-color: var(--brand-black); /* NEW: #07140D */\n}\n\n.hover\\:bg-transparent:hover {\n background-color: transparent;\n}\n\n.hover\\:bg-strongest:hover {\n background-color: var(--brand-black);\n}\n\n.hover\\:text-default:hover {\n color: var(--brand-black); /* NEW: #07140D */\n}\n\n.hover\\:text-lighter:hover {\n color: var(--grey-dark); /* NEW: #7A7B7A */\n}\n\n.hover\\:\\!underline:hover {\n text-decoration-line: underline !important;\n}\n\n.hover\\:no-underline:hover {\n text-decoration-line: none;\n}\n\n.hover\\:shadow-hover:hover {\n --tw-shadow: 0 8px 24px rgba(7, 20, 13, 0.2); /* NEW: brand-black */\n --tw-shadow-colored: 0 8px 24px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.focus\\:shadow-none:focus {\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.focus\\:outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n\n/* ============================================\n DISABLED STATES - NEW COLORS\n ============================================ */\n\n.disabled\\:cursor-not-allowed:disabled {\n cursor: not-allowed;\n}\n\n.disabled\\:bg-dark:disabled {\n background-color: var(--grey-light); /* NEW: #ECECEC */\n}\n\n.disabled\\:text-lightest:disabled {\n color: var(--grey-dark); /* NEW: #7A7B7A */\n}\n\n.aria-disabled\\:cursor-not-allowed[aria-disabled=\"true\"] {\n cursor: not-allowed;\n}\n\n.aria-disabled\\:\\!border-transparent[aria-disabled=\"true\"] {\n border-color: transparent !important;\n}\n\n.aria-disabled\\:bg-dark[aria-disabled=\"true\"] {\n background-color: var(--grey-light); /* NEW: #ECECEC */\n}\n\n.aria-disabled\\:bg-transparent[aria-disabled=\"true\"] {\n background-color: transparent;\n}\n\n.aria-disabled\\:text-light[aria-disabled=\"true\"] {\n color: var(--grey-dark); /* NEW: #7A7B7A */\n}\n\n.aria-disabled\\:text-lightest[aria-disabled=\"true\"] {\n color: var(--grey-dark); /* NEW: #7A7B7A */\n}\n\n.aria-disabled\\:line-through[aria-disabled=\"true\"] {\n text-decoration-line: line-through;\n}\n\n.aria-disabled\\:shadow-none[aria-disabled=\"true\"] {\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.aria-current-page\\:bg-darker[aria-current=\"page\"] {\n background-color: var(--grey-dark); /* NEW: #7A7B7A */\n}\n\n/* ============================================\n AFTER PSEUDO-ELEMENTS\n ============================================ */\n\n.after\\:absolute::after {\n position: absolute;\n}\n\n.after\\:inset-0::after {\n inset: 0rem;\n}\n\n.after\\:inset-x-0::after {\n left: 0rem;\n right: 0rem;\n}\n\n.after\\:bottom-0::after {\n bottom: 0rem;\n}\n\n.after\\:left-16::after {\n left: 1rem;\n}\n\n.after\\:right-16::after {\n right: 1rem;\n}\n\n.after\\:z-10::after {\n z-index: 10;\n}\n\n.after\\:rounded-lg::after {\n border-radius: 16px;\n}\n\n.after\\:rounded-t-lg::after {\n border-top-left-radius: 16px;\n border-top-right-radius: 16px;\n}\n\n.after\\:border-3::after {\n border-width: 3px;\n}\n\n.after\\:border-b-2::after {\n border-bottom-width: 2px;\n}\n\n.after\\:\\!border-transparent::after {\n border-color: transparent !important;\n}\n\n.after\\:border-accent::after {\n border-color: var(--brand-green); /* NEW: #00FF9D */\n}\n\n.after\\:border-accent-dark::after {\n border-color: var(--brand-green-dark); /* NEW: #00FF9D */\n}\n\n.after\\:border-soft::after {\n border-color: var(--grey-dark);\n}\n\n.after\\:border-softest::after {\n border-color: var(--grey-light);\n}\n\n.after\\:opacity-0::after {\n opacity: 0;\n}\n\n.after\\:content-\\[\\'\\'\\]::after {\n --tw-content: '';\n content: var(--tw-content);\n}\n\n.hover\\:text-accent:hover {\n color: var(--brand-green);\n}\n\n.hover\\:after\\:\\border-accent:hover::after {\n border-color: var(--brand-green);\n}\n\n.hover\\:after\\:\\!border-transparent:hover::after {\n border-color: transparent !important;\n}\n\n.hover\\:after\\:opacity-100:hover::after {\n opacity: 1;\n}\n\n.focus-visible\\:after\\:opacity-100:focus-visible::after {\n opacity: 1;\n}\n\n.aria-disabled\\:after\\:\\!border-transparent[aria-disabled=\"true\"]::after {\n border-color: transparent !important;\n}\n\n.aria-disabled\\:after\\:\\!border-0[aria-disabled=\"true\"]::after {\n border-width: 0 !important;\n}\n\n.hover\\:before\\:opacity-100:hover::before {\n opacity: 1;\n}\n\n/* ============================================\n CTA BUTTON STYLES\n ============================================ */\n\n/* CTA link style */\n.cta-link {\n font-family: 'IBM Plex Mono', monospace;\n font-size: var(--f-ui-01-fontSize);\n color: var(--grey-dark);\n text-decoration: none;\n transition: color 0.3s ease;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n}\n\n.cta-link:hover {\n color: var(--brand-green);\n}\n\n/* CTA brand link style - always green */\n.cta-link-brand {\n font-family: 'IBM Plex Mono', monospace;\n font-size: var(--f-ui-02-fontSize);\n color: var(--brand-green);\n text-decoration: none;\n transition: color 0.3s ease;\n display: inline-flex;\n align-items: center;\n gap: 0.5rem;\n}\n\n.cta-link-brand:hover {\n color: var(--brand-green-dark);\n}\n\n@media (min-width: 750px) {\n .md\\:w-full {\n width: 100%;\n }\n\n .md\\:flex {\n display: flex;\n }\n}";
3411
3411
  var EdsButtonStyle0 = edsButtonCss;
3412
3412
 
3413
3413
  /**
@@ -3433,7 +3433,10 @@ class EdsButton {
3433
3433
  constructor(hostRef) {
3434
3434
  registerInstance(this, hostRef);
3435
3435
  this.button = cva([
3436
- 'relative items-center py-12 cursor-pointer',
3436
+ 'relative items-center cursor-pointer',
3437
+ // Brand-green focus-visible outline (rules live in eds-button.css);
3438
+ // without this class keyboard focus falls back to the browser ring.
3439
+ 'effect-focus',
3437
3440
  'aria-disabled:text-lightest aria-disabled:bg-dark aria-disabled:cursor-not-allowed',
3438
3441
  'disabled:text-lightest disabled:bg-dark disabled:cursor-not-allowed'
3439
3442
  ], {
@@ -3445,6 +3448,10 @@ class EdsButton {
3445
3448
  ghost: '',
3446
3449
  ghostInverse: 'text-inverse',
3447
3450
  brand: 'bg-accent text-default hover:bg-strongest hover:text-inverse aria-disabled:shadow-none',
3451
+ // Light-green tint with brand-black text — an on-brand "unselected"
3452
+ // state (e.g. eds-rating / eds-nps) that brightens to solid brand on
3453
+ // hover/selection. Lives start-to-finish in the brand palette.
3454
+ brandLight: 'bg-brand-light text-default hover:bg-accent hover:text-default aria-disabled:shadow-none',
3448
3455
  brandInverse: 'bg-accent text-default hover:bg-inverse hover:text-default aria-disabled:shadow-none',
3449
3456
  neutral: 'bg-darker after:border-softest bg-inverse hover:bg-dark hover:text-light text-inverse aria-disabled:shadow-none',
3450
3457
  cta: [
@@ -3463,8 +3470,8 @@ class EdsButton {
3463
3470
  true: ''
3464
3471
  },
3465
3472
  size: {
3466
- small: 'h-36 f-ui-02',
3467
- large: 'h-44 f-ui-01'
3473
+ small: 'min-h-36 f-ui-02 py-8',
3474
+ large: 'min-h-44 f-ui-01 py-12'
3468
3475
  },
3469
3476
  hasIcon: {
3470
3477
  true: '',
@@ -3637,7 +3644,7 @@ class EdsButton {
3637
3644
  const loaderBottomColor = this.intent === 'primary' || this.intent === 'secondaryInverse'
3638
3645
  ? '#FFFFFF' // White for dark backgrounds
3639
3646
  : '#07140D'; // Brand-black for light backgrounds (secondary, brand, etc.)
3640
- return (hAsync(Host, { key: '6f955c89a01cf823ff8fc34bfa92df85a3aa8327' }, hAsync(ElementType, { key: 'fabf5842d4c9583c7ff9e4415697c62c111dce68', tabindex: isInteractive ? '0' : '-1', "aria-label": this.label ? undefined : this.ariaLabel, "aria-disabled": this.disabled || this.loading ? 'true' : undefined, "aria-busy": this.loading ? 'true' : undefined, disabled: this.elementType === 'button' ? this.disabled || this.loading : undefined, role: this.elementType === 'a' ? 'button' : undefined, class: `${classes || ''}`, onClick: (event) => this.handleClick(event), onKeyDown: (event) => this.handleKeyDown(event) }, this.label && (hAsync("span", { key: '746feb603fd83b54bab92e62ab9aefcd6a232f54', class: `${this.loading ? 'opacity-0' : ''} ${this.icon && (this.intent !== 'cta' && this.intent !== 'cta-brand') ? (this.iconPos === 'right' ? (this.size === 'large' ? 'pr-4' : 'pr-2') : (this.size === 'large' ? 'pl-4' : 'pl-2')) : ''}`, "aria-hidden": this.loading ? 'true' : undefined }, this.label)), this.loading && (hAsync("span", { key: 'e0f54e409080548687304bae2f5d3e1b56863318', class: "absolute inset-0 flex items-center justify-center", "aria-hidden": "true" }, hAsync("span", { key: 'c2472f5d2730ef850a076471fa00c9db91496db7', class: "loader", style: {
3647
+ return (hAsync(Host, { key: '263f3fd25c17d5f9d8ddcfcc57848d6c8e729994' }, hAsync(ElementType, { key: '9c9f68e332ca6fe14387fc239e880069596b0072', tabindex: isInteractive ? '0' : '-1', "aria-label": this.label ? undefined : this.ariaLabel, "aria-disabled": this.disabled || this.loading ? 'true' : undefined, "aria-busy": this.loading ? 'true' : undefined, disabled: this.elementType === 'button' ? this.disabled || this.loading : undefined, role: this.elementType === 'a' ? 'button' : undefined, class: `${classes || ''}`, onClick: (event) => this.handleClick(event), onKeyDown: (event) => this.handleKeyDown(event) }, this.label && (hAsync("span", { key: '285a0b07089eb7ebab3bd439000ea89c454164d0', class: `${this.loading ? 'opacity-0' : ''} ${this.icon && (this.intent !== 'cta' && this.intent !== 'cta-brand') ? (this.iconPos === 'right' ? (this.size === 'large' ? 'pr-4' : 'pr-2') : (this.size === 'large' ? 'pl-4' : 'pl-2')) : ''}`, "aria-hidden": this.loading ? 'true' : undefined }, this.label)), this.loading && (hAsync("span", { key: '36da873de3be79f2cfc3e4851dadd953e17109dc', class: "absolute inset-0 flex items-center justify-center", "aria-hidden": "true" }, hAsync("span", { key: '961913b2c22e6bd803c6639e617129843c877bfe', class: "loader", style: {
3641
3648
  border: `3px solid ${loaderBorderColor}`,
3642
3649
  borderBottomColor: loaderBottomColor
3643
3650
  } }))), this.icon ? (hAsync("eds-icon-wrapper", { name: this.icon, size: 20, "aria-hidden": "true" })) : null)));
@@ -3732,7 +3739,7 @@ class EdsCardApp {
3732
3739
  }; }
3733
3740
  }
3734
3741
 
3735
- const edsCardCtaCss = ":host{display:flex;height:100%}.cta-container{height:auto;text-align:center;border-radius:16px;padding:1.5rem;position:relative;overflow:hidden;display:flex;flex-direction:column;flex-grow:1;justify-content:center}.cta-container-default{background-color:var(--brand-black);border:1px solid rgba(0, 255, 157, 0.25)}.cta-container-default .cta-title{color:var(--white)}.cta-container-default .cta-description{color:var(--grey-light)}.cta-container-default .cta-link{color:var(--grey-dark)}.cta-container-inverse{background-color:var(--white);border:1px solid rgba(0, 255, 157, 0.15)}.cta-container-inverse .cta-title{color:var(--brand-black)}.cta-container-inverse .cta-description{color:var(--grey-dark)}.cta-container-inverse .cta-link{color:var(--grey-dark)}.cta-container::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center, rgba(0, 255, 157, 0.1) 0%, transparent 50%);animation:rotate 20s linear infinite;pointer-events:none}@keyframes rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.cta-content{position:relative;z-index:1;width:100%}.cta-title{font-family:'Inter', var(--f-heading-fontFamily);font-weight:300;font-size:clamp(1.5rem, 4vw, 2rem);letter-spacing:-0.02em;margin-bottom:1rem;line-height:1.2}.cta-description{font-family:'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;font-size:1rem;margin:0 0 1.5rem;line-height:1.6}.cta-actions{display:flex;gap:1rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap}.cta-links{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}@media (max-width: 768px){.cta-container{padding:1.5rem}.cta-title{font-size:1.25rem}.cta-description{font-size:0.875rem;margin-bottom:1rem}.cta-actions{gap:0.75rem;margin-bottom:1rem}.cta-links{gap:0.75rem}}";
3742
+ const edsCardCtaCss = ":host{display:flex;height:100%}.cta-container{height:auto;text-align:center;border-radius:16px;padding:1.5rem;position:relative;overflow:hidden;display:flex;flex-direction:column;flex-grow:1;justify-content:flex-start}.cta-container-default{background-color:var(--brand-black);border:1px solid rgba(0, 255, 157, 0.25)}.cta-container-default .cta-title{color:var(--white)}.cta-container-default .cta-description{color:var(--grey-light)}.cta-container-default .cta-link{color:var(--grey-dark)}.cta-container-inverse{background-color:var(--white);border:1px solid rgba(0, 255, 157, 0.15)}.cta-container-inverse .cta-title{color:var(--brand-black)}.cta-container-inverse .cta-description{color:var(--grey-dark)}.cta-container-inverse .cta-link{color:var(--grey-dark)}.cta-container::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center, rgba(0, 255, 157, 0.1) 0%, transparent 50%);animation:rotate 20s linear infinite;pointer-events:none}@keyframes rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.cta-content{position:relative;z-index:1;width:100%;flex-grow:1;display:flex;flex-direction:column}.cta-title{font-family:'Inter', var(--f-heading-fontFamily);font-weight:300;font-size:clamp(1.5rem, 4vw, 2rem);letter-spacing:-0.02em;margin-bottom:1rem;line-height:1.2}.cta-description{font-family:'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;font-size:1rem;margin:0 0 1.5rem;line-height:1.6}.cta-actions{display:flex;gap:1rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap;margin-top:auto}.cta-links{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}@media (max-width: 768px){.cta-container{padding:1.5rem}.cta-title{font-size:1.25rem}.cta-description{font-size:0.875rem;margin-bottom:1rem}.cta-actions{gap:0.75rem;margin-bottom:1rem}.cta-links{gap:0.75rem}}";
3736
3743
  var EdsCardCtaStyle0 = edsCardCtaCss;
3737
3744
 
3738
3745
  /**
@@ -3786,7 +3793,7 @@ class EdsCardCta {
3786
3793
  const primaryButtonIntent = this.variant === 'default' ? 'brandInverse' : 'brand';
3787
3794
  const secondaryButtonIntent = this.variant === 'default' ? 'secondaryInverse' : 'secondary';
3788
3795
  const linkIntent = this.variant === 'default' ? 'cta' : 'underline';
3789
- return (hAsync("div", { key: 'ee2163e6096ad05dc55ac40c6626236723a23b72', class: containerClasses }, hAsync("div", { key: 'f51481133015ef5eafce48bab525cf166c000e3a', class: "cta-content" }, hAsync("h2", { key: '577441d8bc7cb4c906408faf995e106ef2779e8b', class: "cta-title", innerHTML: this.title }), hAsync("p", { key: 'b8cbcf891b95f82c3dd57f1db9335f55c1d7162c', class: "cta-description" }, this.description), hAsync("div", { key: 'f167262a521b9e15176a4fc65e3e45a8cf24feb1', class: "cta-actions" }, hAsync("eds-button", { key: 'f2c092d340996c87864677f94d979fe6317ef6d7', label: this.primaryButtonText, intent: primaryButtonIntent, icon: "arrow-right", "icon-pos": "right", size: "large", triggerClick: this.handlePrimaryClick }), this.secondaryButtonText && (hAsync("eds-button", { key: 'de0fe98dab48b2ab4b78a637915df48c930c4b54', label: this.secondaryButtonText, intent: secondaryButtonIntent, size: "large", triggerClick: this.handleSecondaryClick }))), this.parsedLinks && this.parsedLinks.length > 0 && (hAsync("div", { key: '842a6e794364fb50829ad422fc7699527b17e918', class: "cta-links" }, this.parsedLinks.map((link, index) => (hAsync("eds-link", { key: index, label: link.label, url: link.url, intent: linkIntent }))))))));
3796
+ return (hAsync("div", { key: 'ee2163e6096ad05dc55ac40c6626236723a23b72', class: containerClasses }, hAsync("div", { key: 'f51481133015ef5eafce48bab525cf166c000e3a', class: "cta-content" }, hAsync("h2", { key: '577441d8bc7cb4c906408faf995e106ef2779e8b', class: "cta-title", innerHTML: this.title }), hAsync("p", { key: 'b8cbcf891b95f82c3dd57f1db9335f55c1d7162c', class: "cta-description" }, this.description), hAsync("div", { key: 'f167262a521b9e15176a4fc65e3e45a8cf24feb1', class: "cta-actions" }, hAsync("slot", { key: 'c114de9b72bf56a2bda67d21aab0a1a24efba2e4', name: "actions" }, hAsync("eds-button", { key: '75c4508fad3377ae1788bca7cda5f8315c8301a3', label: this.primaryButtonText, intent: primaryButtonIntent, icon: "arrow-right", "icon-pos": "right", size: "large", triggerClick: this.handlePrimaryClick }), this.secondaryButtonText && (hAsync("eds-button", { key: '2c6de6b1032c62619b7225d3f7cbc04617fca465', label: this.secondaryButtonText, intent: secondaryButtonIntent, size: "large", triggerClick: this.handleSecondaryClick })))), this.parsedLinks && this.parsedLinks.length > 0 && (hAsync("div", { key: 'a78f81632c85cb729d738b0bb533d260bc7e3727', class: "cta-links" }, this.parsedLinks.map((link, index) => (hAsync("eds-link", { key: index, label: link.label, url: link.url, intent: linkIntent }))))))));
3790
3797
  }
3791
3798
  get el() { return getElement(this); }
3792
3799
  static get style() { return EdsCardCtaStyle0; }
@@ -3835,7 +3842,7 @@ class EdsCardDesc {
3835
3842
  return this.truncate && this.truncateLines ? `line-clamp-${this.truncateLines}` : '';
3836
3843
  }
3837
3844
  render() {
3838
- return (hAsync("p", { key: 'c018c6b42e709c9e5df23ba9a999955ee4da1fdd', class: `f-body-02 ${this.intent === 'secondary' ? 'text-inverse' : 'text-default'}` }, hAsync("span", { key: 'bcfb43e3940a31dc4c0ec18904e4448eb27d0580', class: this.getTruncateClass() }, this.description)));
3845
+ return (hAsync("p", { key: 'd7d9f5d40d82700388753a165a998574bd69e674', class: `f-body-02 ${this.intent === 'secondary' ? 'text-inverse' : 'text-default'}` }, hAsync("span", { key: 'bff2551896e726ce02a78b448a0e3f2a3df0c697', class: this.getTruncateClass() }, this.description)));
3839
3846
  }
3840
3847
  static get style() { return EdsCardDescStyle0; }
3841
3848
  static get cmpMeta() { return {
@@ -3882,7 +3889,7 @@ class EdsCardFeature {
3882
3889
  'feature-card',
3883
3890
  `feature-card-${this.variant}`
3884
3891
  ].join(' ');
3885
- return (hAsync("div", { key: '315904b024e86403b00c9f0e3ebb93dafba08fa8', class: cardClasses }, this.icon && (hAsync("div", { key: 'e0891b38e8321130471ae1422c96fbfe7662b01f', class: "feature-icon" }, hAsync("eds-icon-wrapper", { key: '768b355daebf53d69a54166525c193505dc44d67', name: this.icon, size: 24 }))), hAsync("h3", { key: 'e2486793198e51e518f24beab609a3d0186902d4', class: "feature-title" }, this.title), hAsync("p", { key: '4d66d673b5733c96312cde5e1c3fd64cced5d95a', class: "feature-description" }, this.description), this.url && (hAsync("eds-link", { key: 'e9123234265f259fb9b61172f2e79c7aba5f82b4', label: this.linkText, url: this.url, intent: "cta", icon: "arrow-right", "icon-pos": "right" }))));
3892
+ return (hAsync("div", { key: 'f76c056bbca7b38892cdecf56291fe3882c9e3bb', class: cardClasses }, this.icon && (hAsync("div", { key: '9e22a5f6c5e30b55c4bac84f5f11f773b1b37ab9', class: "feature-icon" }, hAsync("eds-icon-wrapper", { key: '64154c38f3655cb55f14c2963a62ead699d8a533', name: this.icon, size: 24 }))), hAsync("h3", { key: '99ed95a90796dbb6baa3f73cb2830fcd0954328c', class: "feature-title" }, this.title), hAsync("p", { key: 'f91109a10f62a58d8b650987fbbf1a5a4f68beaa', class: "feature-description" }, this.description), this.url && (hAsync("eds-link", { key: 'b94b57e5385da9db54a3767d0413349000add755', label: this.linkText, url: this.url, intent: "cta", icon: "arrow-right", "icon-pos": "right" }))));
3886
3893
  }
3887
3894
  get el() { return getElement(this); }
3888
3895
  static get style() { return EdsCardFeatureStyle0; }
@@ -3993,7 +4000,7 @@ class EdsCardGeneric {
3993
4000
  this.isHovered = false;
3994
4001
  }
3995
4002
  render() {
3996
- return (hAsync("article", { key: 'eb4b42dccca0fb46bc8e51e1b6873e118796647b', class: this.articleClasses(), onClick: this.url ? () => this.handleClick() : undefined, onMouseEnter: this.url ? () => this.handleMouseEnter() : undefined, onMouseLeave: this.url ? () => this.handleMouseLeave() : undefined }, this.icon && (hAsync("div", { key: '229f7daab8d8560092eb94e664c73c306b2fec19', class: "card-icon-wrapper" }, hAsync("eds-icon-wrapper", { key: 'c4b76bdff72dcbe7d98a7dfea71ca8693c00094e', name: this.icon, size: 32 }))), hAsync("div", { key: '45d3a9d83cf92137485bae5248c55edb56c58671', class: "p-12 flex flex-col grow" }, this.parsedTags && this.parsedTags.length > 0 && (hAsync("div", { key: '101676ed06f29e985c6bf11620a56660360ace57', class: "flex mb-12 gap-x-4" }, this.parsedTags.map((tag, index) => (hAsync("eds-tag", { key: index, intent: tag.intent, label: tag.label, size: tag.size }))))), hAsync("eds-card-title", { key: 'c901580eca3a3b8ce4c26e1c9ce5d0f9b7a11ed6', title: this.title, url: this.url, intent: this.intent, size: this.titleSize }), this.description && (hAsync("div", { key: '618be209087536eee2fdfd3eaa1595c6fe6d0176', class: "mt-8" }, this.description && (hAsync("eds-card-desc", { key: '1aa3ea97c4371ea7510ad47e364cea27e1de0482', "truncate-lines": "3", description: this.description, intent: this.intent })))), hAsync("slot", { key: '3086eeeeb29bb82d927ab82e6ce98664118b0193', name: "card" }), this.url && (hAsync("div", { key: 'f1f73a07002f7d82daa0b68b15d7c5cddba9c730', class: `flex items-center justify-between mt-auto pt-16 ${this.getLearnMoreColor()}` }, hAsync("span", { key: '86fd1e428f6553b74aa634359fad7ba3ce590844', class: "f-ui-01" }, "Learn more"), hAsync("eds-icon-wrapper", { key: 'f955e10355e2726052cd2d34d888ea0effd2b362', name: this.isHovered ? 'arrow-right' : 'arrow-up-right', size: 32 }))))));
4003
+ return (hAsync("article", { key: '6efb0c2c0c3d196b9759307bb98f4bf1e12504d5', class: this.articleClasses(), onClick: this.url ? () => this.handleClick() : undefined, onMouseEnter: this.url ? () => this.handleMouseEnter() : undefined, onMouseLeave: this.url ? () => this.handleMouseLeave() : undefined }, this.icon && (hAsync("div", { key: '9c29cae822923b524668da65f3e341f9626d7e95', class: "card-icon-wrapper" }, hAsync("eds-icon-wrapper", { key: '104a3551d3d8b910528dd43e8a12494faf4764a0', name: this.icon, size: 32 }))), hAsync("div", { key: 'cc9d326aa6e55d1ed26b73f46d5fbb8087d55bf0', class: "p-12 flex flex-col grow" }, this.parsedTags && this.parsedTags.length > 0 && (hAsync("div", { key: 'f740e184ec400d6083d04e4fa99259aa061c5dbf', class: "flex mb-12 gap-x-4" }, this.parsedTags.map((tag, index) => (hAsync("eds-tag", { key: index, intent: tag.intent, label: tag.label, size: tag.size }))))), hAsync("eds-card-title", { key: 'e263ce9bd116857648439bf9f356fc110e048547', title: this.title, url: this.url, intent: this.intent, size: this.titleSize }), this.description && (hAsync("div", { key: 'aa6687dc61c548dd52e2d2f3eb9598f85c2af0a5', class: "mt-8" }, this.description && (hAsync("eds-card-desc", { key: '8b82f70b5dc513396d08affc4958d9c1040583d6', "truncate-lines": "3", description: this.description, intent: this.intent })))), hAsync("slot", { key: 'ff4d0ba6184b01b80e44c78a7cccec124f2b1706', name: "card" }), this.url && (hAsync("div", { key: '889b5fbaf026df0e826626020ff201d06f047cc8', class: `flex items-center justify-between mt-auto pt-16 ${this.getLearnMoreColor()}` }, hAsync("span", { key: '3a5b5d603a7f3d852b5e92ba57f7214f7b9754ec', class: "f-ui-01" }, "Learn more"), hAsync("eds-icon-wrapper", { key: 'de15571bd4892f72646c205b14105f328d5a596d', name: this.isHovered ? 'arrow-right' : 'arrow-up-right', size: 32 }))))));
3997
4004
  }
3998
4005
  get el() { return getElement(this); }
3999
4006
  static get style() { return EdsCardGenericStyle0; }
@@ -4068,7 +4075,7 @@ class EdsCardHero {
4068
4075
  `hero-card-${this.variant}`,
4069
4076
  this.url ? 'hero-card-clickable' : ''
4070
4077
  ].filter(Boolean).join(' ');
4071
- return (hAsync("div", { key: '8f7c9c98becb22586f308b0065c3f9cd515a7860', class: cardClasses, onClick: () => this.handleClick() }, hAsync("div", { key: '6d99fd528b9611573a5ad3548e04914f532cfa21', class: "card-category" }, this.category), hAsync("div", { key: 'f117842619c7fa91b088a72d3e5405843f9b0b3f', class: "card-title" }, this.title), this.description && (hAsync("div", { key: '25a110fe2f58cb77051a8a5b37ee43e616e516fd', class: "card-description" }, this.description)), this.parsedTags && this.parsedTags.length > 0 && (hAsync("div", { key: 'd0ef732bf246460affb697d71496ae5ee284ff48', class: "card-tags" }, this.parsedTags.map((tag, index) => (hAsync("span", { key: index, class: "card-tag" }, tag.label)))))));
4078
+ return (hAsync("div", { key: 'c92f2acc8065b4142b28ca213abbb646e61f44fc', class: cardClasses, onClick: () => this.handleClick() }, hAsync("div", { key: '38b8ec832d05a4891646ac31f24d32f62c5ac2e1', class: "card-category" }, this.category), hAsync("div", { key: 'd356e4651ed9d136c72c519ecb9b484570c9b3be', class: "card-title" }, this.title), this.description && (hAsync("div", { key: '52afdf7988667f73d8725e6a5f5b7816d4b38b30', class: "card-description" }, this.description)), this.parsedTags && this.parsedTags.length > 0 && (hAsync("div", { key: 'a50fb41278d3b98da7054e0bee52d2a98ab5d8f3', class: "card-tags" }, this.parsedTags.map((tag, index) => (hAsync("span", { key: index, class: "card-tag" }, tag.label)))))));
4072
4079
  }
4073
4080
  get el() { return getElement(this); }
4074
4081
  static get style() { return EdsCardHeroStyle0; }
@@ -4133,7 +4140,7 @@ class EdsCardStat {
4133
4140
  `stat-card-${this.variant}`,
4134
4141
  this.url ? 'stat-card-clickable' : ''
4135
4142
  ].filter(Boolean).join(' ');
4136
- const content = (hAsync("div", { key: '9934fb7c9f9014293fc4190e83b658151c8ce5a1', class: cardClasses, onClick: () => this.handleClick() }, hAsync("div", { key: '22b26775310db09da96fe0d793362ff8691da554', class: "stat-number" }, this.number), hAsync("div", { key: '59e5a6f0851ac2d133cdfa7fdbb160401c60ba92', class: "stat-label" }, this.label), this.description && (hAsync("div", { key: '916007f86e7de06b8e7cec79fc92b422a2c66db0', class: "stat-description" }, this.description))));
4143
+ const content = (hAsync("div", { key: 'f1dadeadd1d893b7a33aa92772baf7245954f6e7', class: cardClasses, onClick: () => this.handleClick() }, hAsync("div", { key: '6adb8cc68740cd2dabf0bacf0af446e1499171a8', class: "stat-number" }, this.number), hAsync("div", { key: 'adc7a8ffd44bceda51fcb98f68cfc8d7e454db5f', class: "stat-label" }, this.label), this.description && (hAsync("div", { key: 'f70549244277e2c08c7bd94a1d297c00655faff5', class: "stat-description" }, this.description))));
4137
4144
  return content;
4138
4145
  }
4139
4146
  get el() { return getElement(this); }
@@ -6695,7 +6702,7 @@ class EdsCodeBlock {
6695
6702
  return this.code; // Fallback if language is not provided or unsupported
6696
6703
  }
6697
6704
  render() {
6698
- return (hAsync("div", { key: '16c785c0fbac538fb0e20c42ed613f5211bea089', class: "relative bg-strongest rounded-sm" }, hAsync("div", { key: '24967e8c714dc62c2366cae6bf6a19566fdeedbf', class: "text-inverse flex justify-between items-center p-8" }, this.language ? (hAsync("span", { class: "f-ui-03" }, this.language.toUpperCase())) : (hAsync("pre", { class: "bg-stronger pl-8", role: "region", "aria-label": "Code block without language" }, hAsync("code", { innerHTML: this.getHighlightedCode() }))), hAsync("span", { key: 'd84c547a7fda762a51279462e6c33642d3ed93b1', "aria-hidden": "true", class: "w-20 h-20 mt-8" }, hAsync("eds-icon-wrapper", { key: 'e784206acb815fdb2df3f7013b32e18b42f47e0d', name: this.copied ? 'checkmark-filled' : 'copy', onClick: () => this.copyToClipboard() })), hAsync("span", { key: '8f68b5adda295c370cfff19602cb8cc140d9a10d', class: "sr-only" }, "Copy Code")), this.language && (hAsync("pre", { key: 'a3c42360f4a5026d8e6f5328f5ed5d8ca724c3ca', class: `language-${this.language} bg-stronger pl-8 pb-8`, role: "region", "aria-label": `Code block in ${this.language}` }, hAsync("code", { key: '96ce7f1cf1cee401bd1a90368c56934116d97d29', innerHTML: this.getHighlightedCode() })))));
6705
+ return (hAsync("div", { key: '4d73fa52c489b6995dd8a6d83c05e323bb1f5431', class: "relative bg-strongest rounded-sm" }, hAsync("div", { key: 'c0df3237009310833b417f5ede5b7c204f2752bc', class: "text-inverse flex justify-between items-center p-8" }, this.language ? (hAsync("span", { class: "f-ui-03" }, this.language.toUpperCase())) : (hAsync("pre", { class: "bg-stronger pl-8", role: "region", "aria-label": "Code block without language" }, hAsync("code", { innerHTML: this.getHighlightedCode() }))), hAsync("span", { key: '016505a0749baaa52c6e4aa77f00b4da31e7ec45', "aria-hidden": "true", class: "w-20 h-20 mt-8" }, hAsync("eds-icon-wrapper", { key: '21474f1b28af95251aca639c349aaac489d8519b', name: this.copied ? 'checkmark-filled' : 'copy', onClick: () => this.copyToClipboard() })), hAsync("span", { key: '64450529ad3cf3dab7e74f8455307cdb3298bbc4', class: "sr-only" }, "Copy Code")), this.language && (hAsync("pre", { key: 'affcb4719ef29d7ed9ed676eab975c98ceca31fa', class: `language-${this.language} bg-stronger pl-8 pb-8`, role: "region", "aria-label": `Code block in ${this.language}` }, hAsync("code", { key: '43fa1b80c2e02233076c4da15a5aa04f0b49bfc3', innerHTML: this.getHighlightedCode() })))));
6699
6706
  }
6700
6707
  get el() { return getElement(this); }
6701
6708
  static get style() { return EdsCodeBlockStyle0; }
@@ -6743,7 +6750,7 @@ class EdsCookiesPreference {
6743
6750
  }
6744
6751
  }
6745
6752
  render() {
6746
- return (hAsync("div", { key: '3926e6e4972c901880f57859280330ad315dc263' }, hAsync("eds-link", { key: '8c513565cb94589c1d441aa4b0badf79ab464169', size: "small", intent: this.intent, label: this.buttonText, onClick: () => this.toggleCookiesPopup() }), this.showMatomoNotice && hAsync("eds-matomo-notice", { "force-show": true, key: this.noticeKey })));
6753
+ return (hAsync("div", { key: '0a1f75fe95820dd8f994193f86b52b684f5fd240' }, hAsync("eds-link", { key: 'd3b5740fa53b30a39296b23cd95da1ad2d8d730d', size: "small", intent: this.intent, label: this.buttonText, onClick: () => this.toggleCookiesPopup() }), this.showMatomoNotice && hAsync("eds-matomo-notice", { "force-show": true, key: this.noticeKey })));
6747
6754
  }
6748
6755
  static get style() { return EdsCookiesPreferenceStyle0; }
6749
6756
  static get cmpMeta() { return {
@@ -6801,6 +6808,13 @@ class EdsDropdown {
6801
6808
  if (this.isOpen) {
6802
6809
  // refresh focusables each open in case slot changed
6803
6810
  this.focusableItems = Array.from(((_a = this.panelEl) === null || _a === void 0 ? void 0 : _a.querySelectorAll('a, button, [role="menuitem"]')) || []);
6811
+ // The panel declares role="menu"; slotted links/buttons need
6812
+ // role="menuitem" or screen readers announce an empty menu.
6813
+ this.focusableItems.forEach((item) => {
6814
+ if (!item.hasAttribute('role')) {
6815
+ item.setAttribute('role', 'menuitem');
6816
+ }
6817
+ });
6804
6818
  this.focusIndex = this.focusableItems.length ? 0 : -1;
6805
6819
  this.focusItem();
6806
6820
  }
@@ -6839,7 +6853,6 @@ class EdsDropdown {
6839
6853
  const path = (e.composedPath && e.composedPath()) || [];
6840
6854
  if (!path.includes(this.host)) {
6841
6855
  this.closeDropdown();
6842
- this.dropdown.emit({ expanded: false });
6843
6856
  }
6844
6857
  }
6845
6858
  /**
@@ -6847,12 +6860,22 @@ class EdsDropdown {
6847
6860
  * @param {KeyboardEvent} event - The keyboard event.
6848
6861
  */
6849
6862
  handleKeyDown(event) {
6863
+ var _a;
6850
6864
  if (this.isOpen) {
6851
6865
  const key = event.key;
6852
6866
  switch (key) {
6853
6867
  case 'Tab':
6868
+ // ARIA menu pattern: Tab does not walk the items — it closes
6869
+ // the menu and lets focus continue to the next element on the
6870
+ // page (no preventDefault on purpose).
6871
+ this.closeDropdown();
6872
+ break;
6873
+ case 'Escape':
6874
+ // Close and hand focus back to the trigger so keyboard users
6875
+ // can back out without committing to a Tab.
6876
+ event.preventDefault();
6854
6877
  this.closeDropdown();
6855
- this.dropdown.emit({ expanded: false });
6878
+ (_a = this.buttonEl) === null || _a === void 0 ? void 0 : _a.focus();
6856
6879
  break;
6857
6880
  case 'ArrowUp':
6858
6881
  event.preventDefault();
@@ -6864,6 +6887,16 @@ class EdsDropdown {
6864
6887
  this.focusIndex = (this.focusIndex + 1) % this.focusableItems.length;
6865
6888
  this.focusItem();
6866
6889
  break;
6890
+ case 'Home':
6891
+ event.preventDefault();
6892
+ this.focusIndex = this.focusableItems.length ? 0 : -1;
6893
+ this.focusItem();
6894
+ break;
6895
+ case 'End':
6896
+ event.preventDefault();
6897
+ this.focusIndex = this.focusableItems.length - 1;
6898
+ this.focusItem();
6899
+ break;
6867
6900
  }
6868
6901
  }
6869
6902
  }
@@ -6931,13 +6964,13 @@ class EdsDropdown {
6931
6964
  * @returns {JSX.Element} The rendered dropdown component.
6932
6965
  */
6933
6966
  render() {
6934
- return (hAsync("div", { key: '52f349afae529afc12461642abf17fcf4870ca6f', class: "z-focus relative", ref: (el) => (this.dropdownContent = el) }, hAsync("eds-button", { key: 'ed1f3366306f7e3d708473e14fc8de5723dba03f', label: this.label, "aria-label": this.ariaLabel, icon: this.icon, iconSmall: false, intent: this.intent, onClick: this.handleClick, "aria-expanded": this.isOpen.toString(), "aria-haspopup": "menu", size: "small", pill: true }), hAsync("nav", { key: 'fb9a559a97ad866b62d4cb2a0f7f828548e24c75', ref: (el) => (this.panelEl = el), role: "menu", class: {
6967
+ return (hAsync("div", { key: '1ce4926a15ac67d653ef03de877e64be83f61b4e', class: "z-focus relative", ref: (el) => (this.dropdownContent = el) }, hAsync("eds-button", { key: '8b45fc57c018dd620701b2b9db5403c30f88a6ed', ref: (el) => (this.buttonEl = el), label: this.label, "aria-label": this.ariaLabel, icon: this.icon, iconSmall: false, intent: this.intent, onClick: this.handleClick, "aria-expanded": this.isOpen.toString(), "aria-haspopup": "menu", size: "small", pill: true }), hAsync("nav", { key: '35854d55ea595e35513348bf36145794b2c57007', ref: (el) => (this.panelEl = el), role: "menu", class: {
6935
6968
  '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': true,
6936
6969
  'left-4': this.dropdownPos === 'left' && this.dropdownOffset,
6937
6970
  'left-0': this.dropdownPos === 'left' && !this.dropdownOffset,
6938
6971
  'right-4': this.dropdownPos === 'right' && this.dropdownOffset,
6939
6972
  'right-0': this.dropdownPos === 'right' && !this.dropdownOffset
6940
- }, style: { display: this.isOpen ? 'block' : 'none' }, "aria-label": "Dropdown", "aria-hidden": !this.isOpen }, hAsync("slot", { key: '6205de74b039cb784bf9b104edfd6f7a03cc5ed1' }))));
6973
+ }, style: { display: this.isOpen ? 'block' : 'none' }, "aria-label": "Dropdown", "aria-hidden": !this.isOpen }, hAsync("slot", { key: 'd6b153bb5968fa958be4d96d60cce774a9a0713c' }))));
6941
6974
  }
6942
6975
  get host() { return getElement(this); }
6943
6976
  static get style() { return EdsDropdownStyle0; }
@@ -7021,7 +7054,7 @@ class EdsFeedback {
7021
7054
  const HeadingTag = this.headingLevel;
7022
7055
  const levelNum = this.headingLevel.replace('h', '');
7023
7056
  const headingClass = `f-heading-${levelNum.padStart(2, '0')} my-4`;
7024
- return (hAsync("div", { key: '7d01b8aef2854cfdb739553e7f43ed9516199e1e', class: "grid inline" }, hAsync(HeadingTag, { key: 'a0c4a4f93598b955e90416d50260aaa3f644615a', class: headingClass }, this.label), hAsync("p", { key: 'acb2db8fc209faf2d39622e2e858fa1e7403e1b4', class: "f-body-01 text-light" }, this.description), hAsync("eds-rating", { key: 'b0db57c9e3539a5edfecf67cc3a12dd87d74fad9', "rating-type": this.type, "rating-count": this.count }), this.selectedRating > 0 && this.parsedMappings[this.selectedRating - 1] && (hAsync("span", { key: '8d6bf62a18fdb12dddba932be9a5115396fdfd6f', class: "f-ui-04 text-lighter" }, this.parsedMappings[this.selectedRating - 1]))));
7057
+ return (hAsync("div", { key: '5eddbd664389530e209698e5e435c853c8f50b9f', class: "grid inline" }, hAsync(HeadingTag, { key: '22d1d4a44a116f78bbfa66946d8b7a9f95779524', class: headingClass }, this.label), hAsync("p", { key: 'd3e5abefa5d0e1e32281b5088251fb9c304b8d2a', class: "f-body-01 text-light" }, this.description), hAsync("eds-rating", { key: '65f1e772ac885d20f46e147aedeb55ab2ec871fe', "rating-type": this.type, "rating-count": this.count }), this.selectedRating > 0 && this.parsedMappings[this.selectedRating - 1] && (hAsync("span", { key: 'f660ceb9889d560ec1687c6f17bdbbe6a89f90ee', class: "f-ui-04 text-lighter" }, this.parsedMappings[this.selectedRating - 1]))));
7025
7058
  }
7026
7059
  get el() { return getElement(this); }
7027
7060
  static get style() { return EdsFeedbackStyle0; }
@@ -7043,53 +7076,134 @@ class EdsFeedback {
7043
7076
  }; }
7044
7077
  }
7045
7078
 
7046
- const edsFooterCss = "p{margin:0}footer{position:relative}.cursor-pointer{cursor:pointer}.ml-4{margin-left:0.25rem}.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}.bg-darker{background-color:var(--grey-light)}.bg-strongest{background-color:var(--brand-black)}.border-softest{border-color:rgba(0, 0, 0, .05)}.border-inverse-softer{border-color:rgba(255, 255, 255, .15)}.border-t-2{border-top-width:2px}.pt-20{padding-top:1.25rem}.pb-28{padding-bottom:1.75rem}.grid-layout{display:grid;grid-template-columns:repeat(var(--container-grid-columns, var(--grid-columns)), 1fr);grid-gap:var(--inner-gutter)}.grid-col-span-12{--container-grid-columns:12;grid-column:span 12 / span 12}.mt-28{margin-top:1.75rem}.gap-y-12{row-gap:0.75rem}.gap-x-12{-moz-column-gap:0.75rem;column-gap:0.75rem}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-20{gap:1.25rem}.effect-focus{outline-width:3px;outline-offset:2px;outline-color:var(--brand-green)}.effect-focus:focus-visible{outline-style:solid}.focus-visible\\:rounded-xs:focus-visible{border-radius:4px}.flex{display:flex}.w-\\[54px\\]{width:54px}.ml-0{margin-left:0rem}.order-last{order:9999}.w-full{width:100%}.h-auto{height:auto}.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-04{font-family:var(--f-ui-04-fontFamily);font-weight:var(--f-ui-04-fontWeight);font-size:var(--f-ui-04-fontSize);line-height:var(--f-ui-04-lineHeight);letter-spacing:var(--f-ui-04-letterSpacing)}.text-light{color:var(--grey-light)}.text-default{color:var(--brand-black)}.text-inverse{color:var(--white)}.mt-4{margin-top:0.25rem}.mr-4{margin-right:0.25rem}.gap-12{gap:0.75rem}.inline-block{display:inline-block}.\\!no-underline{text-decoration-line:none !important}.decoration-2{text-decoration-thickness:2px}.underline-offset-4{text-underline-offset:4px}.hover\\:\\!underline:hover{text-decoration-line:underline !important}.ml-auto{margin-left:auto}.pl-12{padding-left:0.75rem}.opacity-0{opacity:0}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.duration-75{transition-duration:75ms}@media (min-width: 750px){.md\\:pt-28{padding-top:1.75rem}}@media (min-width: 900px){.lg\\:grid-col-span-5{--container-grid-columns:5;grid-column:span 5 / span 5}.lg\\:grid-col-span-6{--container-grid-columns:6;grid-column:span 6 / span 6}.lg\\:grid-col-start-7{grid-column-start:7}.lg\\:mt-0{margin-top:0rem}.lg\\:flex-nowrap{flex-wrap:nowrap}.lg\\:order-none{order:0}.lg\\:w-auto{width:auto}}@media (min-width: 1024px){.xl\\:pb-40{padding-bottom:2.5rem}}";
7079
+ const edsFooterCss = ":host{display:block}p{margin:0}ul{list-style:none;padding:0;margin:0}.eds-footer-root{position:relative;padding:4rem 4rem 2rem;border-top:1px solid rgba(0, 0, 0, 0.06);font-family:var(--f-ui-02-fontFamily)}.eds-footer-root.theme-inverse{background-color:var(--brand-black, #000000);color:var(--grey-light, rgba(255, 255, 255, 0.7));border-top-color:rgba(255, 255, 255, 0.06)}.eds-footer-root.theme-default{background-color:var(--white, #ffffff);color:var(--grey-dark, #4b5563);border-top-color:rgba(0, 0, 0, 0.06)}.footer-container{max-width:1400px;margin:0 auto}.footer-grid{display:grid;grid-template-columns:2fr repeat(3, 1fr);gap:4rem;margin-bottom:4rem}.footer-brand-row{display:flex;align-items:center;gap:1rem}.footer-flag-link{display:inline-block;width:54px;flex-shrink:0;border-radius:4px}.footer-flag-link:focus-visible{outline:3px solid var(--brand-green);outline-offset:2px}.footer-flag-svg{height:auto;width:100%;display:block}.footer-funded{font-size:0.875rem;line-height:1.6;max-width:300px}.theme-inverse .footer-funded{color:var(--grey-dark, rgba(255, 255, 255, 0.55))}.theme-default .footer-funded{color:var(--grey-dark, #4b5563)}.footer-copyright{font-size:0.875rem;margin-top:0.75rem}.theme-inverse .footer-copyright{color:var(--grey-dark, rgba(255, 255, 255, 0.55))}.theme-default .footer-copyright{color:var(--grey-dark, #4b5563)}.footer-column-heading{font-size:0.8125rem;font-weight:500;margin:0 0 1.5rem 0}.theme-inverse .footer-column-heading{color:var(--white, #ffffff)}.theme-default .footer-column-heading{color:var(--brand-black, #111827)}.footer-column-list li{margin-bottom:0.75rem}.footer-column-list li:last-child{margin-bottom:0}.footer-link,.footer-text-item{font-size:0.875rem;text-decoration:none;transition:color 0.3s ease}.footer-link{cursor:pointer}.theme-inverse .footer-link,.theme-inverse .footer-text-item{color:var(--grey-dark, rgba(255, 255, 255, 0.55))}.theme-default .footer-link,.theme-default .footer-text-item{color:var(--grey-dark, #4b5563)}.footer-link:hover{color:var(--brand-green)}.footer-link:focus-visible{outline:2px solid var(--brand-green);outline-offset:2px;border-radius:2px}.footer-social{padding-bottom:2rem;margin-bottom:2rem}.theme-inverse .footer-social{border-bottom:1px solid rgba(255, 255, 255, 0.06)}.theme-default .footer-social{border-bottom:1px solid rgba(0, 0, 0, 0.06)}.footer-back-to-top{position:absolute;top:1.5rem;right:2rem;opacity:0;transition:opacity 75ms cubic-bezier(0.4, 0, 0.2, 1)}@media (max-width: 1200px){.footer-grid{grid-template-columns:repeat(2, 1fr);gap:3rem}}@media (max-width: 768px){.eds-footer-root{padding:3rem 2rem 2rem}.footer-grid{grid-template-columns:1fr;gap:2rem;margin-bottom:2rem}.footer-funded{max-width:none}}";
7047
7080
  var EdsFooterStyle0 = edsFooterCss;
7048
7081
 
7049
7082
  /**
7050
- * `EdsFooter` is a footer component designed for the EBRAINS platform, featuring social links,
7051
- * legal information, and an optional cookie preferences button. It includes a "Back to top"
7052
- * button and displays an acknowledgment for Horizon Europe funding.
7083
+ * EBRAINS-wide default link columns. Used when a consumer doesn't pass
7084
+ * the `columns` prop. URLs are absolute so the same footer renders
7085
+ * correctly from any app's domain (handbook.ebrains.eu, forms.ebrains.eu,
7086
+ * design.ebrains.eu, …) — the previous eds-docs design used relative
7087
+ * paths which only worked from design.ebrains.eu itself.
7053
7088
  *
7054
- * Key Features:
7055
- * - Social Network Links: Optionally display a section for social media links.
7056
- * - Legal and Funding Information: Includes text for legal disclaimers and funding acknowledgments.
7057
- * - Cookie Preferences: Optionally display a "Cookies Preferences" button.
7058
- * - Back to Top Button: Smoothly scrolls the page back to the top when clicked.
7089
+ * If EBRAINS adds / renames a canonical resource, change it here once
7090
+ * and every consumer's footer updates on the next component release.
7091
+ */
7092
+ const DEFAULT_COLUMNS = [
7093
+ {
7094
+ heading: 'Resources',
7095
+ links: [
7096
+ { label: 'Documentation', href: 'https://design.ebrains.eu/get-started/', external: true },
7097
+ { label: 'Components', href: 'https://design.ebrains.eu/ui-components/', external: true },
7098
+ { label: 'Foundations', href: 'https://design.ebrains.eu/foundations/', external: true },
7099
+ { label: 'Analytics', href: 'https://design.ebrains.eu/analytics/', external: true },
7100
+ ],
7101
+ },
7102
+ {
7103
+ heading: 'Community',
7104
+ links: [
7105
+ { label: 'GitLab', href: 'https://gitlab.ebrains.eu/ri/tech-hub/ebrains-ui-ecosystem/', external: true },
7106
+ { label: 'Storybook', href: 'https://storybook.design.ebrains.eu', external: true },
7107
+ { label: 'Report Issues', href: 'https://gitlab.ebrains.eu/ri/tech-hub/ebrains-ui-ecosystem/-/issues', external: true },
7108
+ { label: 'Contribute', href: 'https://design.ebrains.eu/get-started/contributing/', external: true },
7109
+ ],
7110
+ },
7111
+ {
7112
+ heading: 'Legal',
7113
+ links: [
7114
+ { label: 'MIT License' },
7115
+ { label: 'Cookie Preferences', action: 'cookies' },
7116
+ ],
7117
+ },
7118
+ ];
7119
+ /**
7120
+ * `EdsFooter` is the EBRAINS-wide footer component.
7121
+ *
7122
+ * Renders a 4-column layout matching the eds-docs landing footer:
7123
+ * [ Brand (EU flag + funding text + copyright) | Resources | Community | Legal ]
7059
7124
  *
7060
- * This component is ideal for maintaining consistent branding, legal disclaimers, and navigational elements
7061
- * across the EBRAINS platform, with options for social links and a "Back to top" button.
7125
+ * Defaults are designed so a consumer that writes `<eds-footer></eds-footer>`
7126
+ * with no props gets the full canonical EBRAINS footer rendered same
7127
+ * brand block, same link columns, same dark theme as the eds-docs
7128
+ * landing page. The previous minimal-strip footer is replaced; consumers
7129
+ * that need different link content pass the `columns` prop (array or
7130
+ * JSON-stringified array for HTML attribute use).
7131
+ *
7132
+ * Configurability without breakage:
7133
+ * - All previous props remain (`social`, `variant`, `fundedBy`,
7134
+ * `rightsReserved`, `enableScrollTop`, `enableCookiesSettings`,
7135
+ * `cookiesPreferences`, `backToTopAriaLabel`). Their meanings are
7136
+ * preserved.
7137
+ * - New `columns` prop is optional — omit it for the defaults.
7138
+ * - The `enableCookiesSettings` toggle now decides whether any column
7139
+ * link with `action: 'cookies'` is rendered (default false; pass
7140
+ * true to surface the Cookie Preferences entry in the Legal column).
7062
7141
  */
7063
7142
  class EdsFooter {
7064
7143
  constructor(hostRef) {
7065
7144
  registerInstance(this, hostRef);
7066
7145
  this.cookies = createEvent(this, "cookies", 7);
7067
- /**
7068
- * Scrolls the page smoothly back to the top.
7069
- * Called when the "Back to top" button is clicked.
7070
- * @private
7071
- */
7072
7146
  this.backToTop = () => {
7073
7147
  window.scrollTo({ top: 0, behavior: 'smooth' });
7074
7148
  };
7149
+ this.emitCookies = () => {
7150
+ this.cookies.emit('toggle');
7151
+ };
7075
7152
  this.social = false;
7076
- this.variant = 'default';
7153
+ this.variant = 'inverse';
7077
7154
  this.enableScrollTop = false;
7078
7155
  this.fundedBy = 'EBRAINS is funded by the Horizon Europe Framework Programme.';
7079
7156
  this.rightsReserved = `${new Date().getFullYear()} EBRAINS. All rights reserved.`;
7080
- this.cookiesPreferences = 'Cookies preferences';
7157
+ this.cookiesPreferences = 'Cookie Preferences';
7081
7158
  this.enableCookiesSettings = false;
7082
7159
  this.backToTopAriaLabel = 'Back to Top';
7083
- this.showMatomoNotice = false;
7160
+ this.columns = undefined;
7161
+ this.resolvedColumns = DEFAULT_COLUMNS;
7162
+ }
7163
+ componentWillLoad() {
7164
+ this.resolvedColumns = this.parseColumns(this.columns);
7165
+ }
7166
+ onColumnsChange(value) {
7167
+ this.resolvedColumns = this.parseColumns(value);
7168
+ }
7169
+ /**
7170
+ * Resolve the `columns` prop to a usable array.
7171
+ * - undefined / null → defaults
7172
+ * - JSON-parseable str → parsed array
7173
+ * - already an array → used as-is
7174
+ * - anything else (malformed JSON, wrong shape) → defaults + console warning
7175
+ *
7176
+ * Defensive parsing so a typo in a Hugo template's attribute doesn't
7177
+ * render an empty footer in production. Failure logs a warning but
7178
+ * keeps the footer working with sensible defaults.
7179
+ */
7180
+ parseColumns(value) {
7181
+ if (value === undefined || value === null || value === '')
7182
+ return DEFAULT_COLUMNS;
7183
+ if (Array.isArray(value))
7184
+ return value;
7185
+ if (typeof value === 'string') {
7186
+ try {
7187
+ const parsed = JSON.parse(value);
7188
+ if (Array.isArray(parsed))
7189
+ return parsed;
7190
+ console.warn('eds-footer: `columns` JSON parsed but is not an array; using defaults');
7191
+ return DEFAULT_COLUMNS;
7192
+ }
7193
+ catch (e) {
7194
+ console.warn('eds-footer: failed to parse `columns` JSON, using defaults', e);
7195
+ return DEFAULT_COLUMNS;
7196
+ }
7197
+ }
7198
+ return DEFAULT_COLUMNS;
7084
7199
  }
7085
7200
  componentDidLoad() {
7086
7201
  var _a;
7087
7202
  this.backBtn = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#toTop');
7088
7203
  }
7089
7204
  handleScroll() {
7090
- if (!this.backBtn) {
7205
+ if (!this.backBtn)
7091
7206
  return;
7092
- }
7093
7207
  const shouldShow = window.scrollY > 100 && document.body.scrollHeight > window.innerHeight;
7094
7208
  this.backBtn.style.opacity = shouldShow ? '1' : '0';
7095
7209
  this.backBtn.style.pointerEvents = shouldShow ? 'auto' : 'none';
@@ -7099,44 +7213,59 @@ class EdsFooter {
7099
7213
  btn.setAttribute('tabindex', shouldShow ? '0' : '-1');
7100
7214
  }
7101
7215
  }
7102
- toggleCookiesConsent() {
7103
- this.cookies.emit('toggle');
7104
- }
7105
7216
  /**
7106
- * Renders the footer component with optional sections and elements,
7107
- * including social network links, a Horizon Europe funding acknowledgment, and
7108
- * legal links such as "Cookies Preferences" and copyright information.
7217
+ * Render one link inside a column.
7218
+ * - `action: 'cookies'` button-like anchor that fires the cookies event
7219
+ * - `href` present → real anchor (target=_blank when `external`)
7220
+ * - neither → plain text span (e.g. "MIT License")
7109
7221
  */
7222
+ renderLink(link, index) {
7223
+ if (link.action === 'cookies') {
7224
+ if (!this.enableCookiesSettings)
7225
+ return null;
7226
+ return (hAsync("li", { key: `cookies-${index}` }, hAsync("a", { href: "javascript:void(0)", class: "footer-link", onClick: this.emitCookies, role: "button" }, this.cookiesPreferences || link.label)));
7227
+ }
7228
+ if (link.href) {
7229
+ const external = link.external === true;
7230
+ return (hAsync("li", { key: `${link.label}-${index}` }, hAsync("a", Object.assign({ class: "footer-link", href: link.href }, (external ? { target: '_blank', rel: 'noopener noreferrer' } : {})), link.label)));
7231
+ }
7232
+ return (hAsync("li", { key: `text-${index}` }, hAsync("span", { class: "footer-text-item" }, link.label)));
7233
+ }
7110
7234
  render() {
7111
7235
  const year = new Date().getFullYear();
7112
7236
  const rights = this.rightsReserved || `${year} EBRAINS. All rights reserved.`;
7113
7237
  const isInverse = this.variant === 'inverse';
7114
- const footerClasses = isInverse ? 'bg-strongest text-inverse' : '';
7115
- const borderClasses = isInverse ? 'border-inverse-softer' : 'border-softest';
7116
- const textClasses = isInverse ? 'text-inverse' : 'text-default';
7117
- return (hAsync("footer", { key: 'ffe47afda9981e367f24d2525a5b21e96f4f3d10', class: footerClasses }, this.social ? (hAsync("div", { class: `${borderClasses} border-t-2 pt-20 md:pt-28` }, hAsync("div", { class: "container pb-20" }, hAsync("div", { class: "grid-layout" }, hAsync("div", { class: "grid-col-span-12 lg:grid-col-span-5" }, hAsync("eds-social-networks", { class: "mt-28", variant: this.variant })))))) : null, hAsync("div", { key: '2e884f06ca55ea5837aabfd7d726a79b72365ab3', class: `${borderClasses} ${this.social ? 'border-t-2' : ''} pb-28 pt-20 md:pt-28` }, hAsync("div", { key: 'f601602dd39c564ce77d978325cbacaa752bd5f0', class: "container flex items-center gap-20 lg:flex-nowrap" }, hAsync("div", { key: '94d6bf12bca8a37560124de2a9114a4566494883', class: "flex items-center gap-x-12" }, hAsync("a", { key: '8c9bf0a41cce7e043311b39c6418d2dc3541694f', 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-europe_en", "aria-label": "Learn about Horizon Europe funding" }, hAsync("svg", { key: '5d0c96911aa0069dd7c0ef6a5690d5ac59dbc737', class: "h-auto w-full", width: "63", height: "50", viewBox: "0 0 640 480", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, hAsync("path", { key: 'bab3fd3f37857e99c2a525b7a9553d4c706d247c', d: "M0 0h640v480H0V0z", fill: "#039" }), hAsync("path", { key: 'e77d6f1fc21f36083196adcb4f6b7a3e70105b0f', d: "M325.032 93.15l17.513-.398-14.401 9.972 5.789 16.53L320 108.639l-13.933 10.615 5.789-16.531-14.399-9.97 17.51.396L320 76.374l5.032 16.775zm0 284.444l17.513-.398-14.401 9.972 5.789 16.53L320 393.083l-13.933 10.615 5.789-16.531-14.399-9.97 17.51.397L320 360.818l5.032 16.776zm-147.25-158.983l5.029 16.761 17.511-.397-14.4 9.969 5.79 16.533-13.933-10.616-13.932 10.616 5.788-16.531-14.401-9.971 17.511.397 5.028-16.761.004-.015.001.003.001-.003.003.015zm77.885-105.334l17.511-.397-14.401 9.971 5.79 16.531-13.932-10.614-13.933 10.615 5.788-16.531-14.4-9.971h.005l-.003-.001 17.51.397 5.033-16.775 5.032 16.775zm-52.729 52.729l17.511-.398h.002l-14.402 9.971 5.79 16.531-13.933-10.615-13.932 10.615 5.789-16.532-14.4-9.97 17.51.397 5.033-16.776 5.032 16.777zm-5.001 125.803l5.027 16.759 17.513-.397-14.401 9.971 5.79 16.531-.005-.005.003.006-13.932-10.615-13.933 10.615 5.788-16.532-14.398-9.97 17.51.396 5.029-16.759.004-.016v.003l.002-.003.003.016zm51.445 47.71l5.027 16.76 17.513-.397-14.401 9.97 5.791 16.532-.004-.004.002.004-13.933-10.615-13.933 10.615 5.788-16.532-14.398-9.97 17.51.397 5.029-16.76.004-.016v.003l.002-.003.003.016zm217.873-104.147l17.511-.397-14.401 9.969 5.79 16.533-13.934-10.616-13.931 10.616 5.789-16.533-14.399-9.969 17.509.397 5.034-16.776 5.032 16.776zm-63.958-95.997l-5.786-16.522 14.401-9.972-17.511.398-5.033-16.778-5.034 16.777-17.51-.398 14.4 9.972-5.789 16.53 13.932-10.614 13.934 10.614-.004-.007zm38.797 42.122l13.934 10.614-.004-.007-5.787-16.524 14.401-9.971-17.51.399-5.033-16.778-5.033 16.777-17.51-.398h-.001l14.399 9.972-5.787 16.529 13.931-10.613zm5.007 127.071l17.51-.397-14.4 9.971 5.79 16.531-13.933-10.614-13.932 10.615 5.788-16.531-14.401-9.971h.005l-.003-.001 17.51.397 5.033-16.775 5.033 16.775zm-51.446 47.711l17.511-.397-14.4 9.97 5.79 16.532-13.933-10.615-13.933 10.615 5.789-16.531-14.401-9.971h.002l17.51.397 5.033-16.776 5.032 16.776z", fill: "#FC0" })))), hAsync("div", { key: '3057a627d8cc6e524f6381f21bb34b549d45021f' }, hAsync("div", { key: 'd6397eaa434f15d415bff0c5171b4f71295dabc3', class: `f-ui-02 ${textClasses}` }, hAsync("p", { key: 'cc9e370cd5b4238fcd76bc8f1f84c54af2873bab' }, this.fundedBy), hAsync("div", { key: '9af9a16cf3cc6fc4223c1b5eac13f96894b92962', class: "mt-4 flex flex-wrap gap-12 lg:flex-nowrap inline-block" }, hAsync("span", { key: 'e86c83c7504f60831dc9d4239b3e2b551b2765b6', class: "effect-focus !no-underline decoration-2 underline-offset-4 hover:!underline mr-4" }, "\u00A9 ", rights), this.enableCookiesSettings ? (hAsync("eds-link", { label: this.cookiesPreferences, intent: "underline", size: "small", onClick: () => {
7118
- this.toggleCookiesConsent();
7119
- } })) : null))), hAsync("div", { key: 'd2dcb8a3a99c5aa368d6d710e125e3a9f8fefd25', class: "ml-auto pl-12" }, this.enableScrollTop ? (hAsync("div", { id: "toTop", class: "transition-all transition duration-75 opacity-0" }, hAsync("eds-button", { id: "backToTop", "aria-label": this.backToTopAriaLabel, intent: isInverse ? 'ghostInverse' : 'ghost', size: "large", icon: "chevron-up", onClick: this.backToTop, tabindex: "-1" }))) : null)))));
7238
+ // Class hooks driven by variant the CSS file styles each
7239
+ // selector independently rather than relying on prop-based
7240
+ // inline styles, so theme tokens stay overridable from outside
7241
+ // via the host's CSS custom properties.
7242
+ const rootClasses = ['eds-footer-root', isInverse ? 'theme-inverse' : 'theme-default']
7243
+ .join(' ');
7244
+ return (hAsync("footer", { key: 'b09063376e3bd78845302473a96884bd473cea09', class: rootClasses }, this.social ? (hAsync("div", { class: "footer-social" }, hAsync("div", { class: "footer-container" }, hAsync("eds-social-networks", { variant: this.variant })))) : null, hAsync("div", { key: '3aeb8f496bb4c3c73da907ba9b9fbb72841be213', class: "footer-container" }, hAsync("div", { key: 'e7e33ce7dee8079a9aff17d45963dfaff9576121', class: "footer-grid" }, hAsync("div", { key: 'e6fc738e086774e114c5ceef1b82fea2e2840990', class: "footer-brand" }, hAsync("div", { key: '96f7030269174c122ffe0117897a79b00020dd29', class: "footer-brand-row" }, hAsync("a", { key: '5967c33efff435ceee2a45c21cae67749b91b9ba', target: "_blank", rel: "noopener noreferrer", class: "footer-flag-link", href: "https://research-and-innovation.ec.europa.eu/funding/funding-opportunities/funding-programmes-and-open-calls/horizon-europe_en", "aria-label": "Learn about Horizon Europe funding" }, hAsync("svg", { key: '3de7debe64d431152e47a4daefb7c9facf7bf951', class: "footer-flag-svg", width: "63", height: "50", viewBox: "0 0 640 480", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, hAsync("path", { key: '50e3f0c5ae41e3e7cc5689ddf01a8944a6c5d2eb', d: "M0 0h640v480H0V0z", fill: "#039" }), hAsync("path", { key: '2c0f61e6de734d7214accd10cefd3a39e31f36a1', d: "M325.032 93.15l17.513-.398-14.401 9.972 5.789 16.53L320 108.639l-13.933 10.615 5.789-16.531-14.399-9.97 17.51.396L320 76.374l5.032 16.775zm0 284.444l17.513-.398-14.401 9.972 5.789 16.53L320 393.083l-13.933 10.615 5.789-16.531-14.399-9.97 17.51.397L320 360.818l5.032 16.776zm-147.25-158.983l5.029 16.761 17.511-.397-14.4 9.969 5.79 16.533-13.933-10.616-13.932 10.616 5.788-16.531-14.401-9.971 17.511.397 5.028-16.761.004-.015.001.003.001-.003.003.015zm77.885-105.334l17.511-.397-14.401 9.971 5.79 16.531-13.932-10.614-13.933 10.615 5.788-16.531-14.4-9.971h.005l-.003-.001 17.51.397 5.033-16.775 5.032 16.775zm-52.729 52.729l17.511-.398h.002l-14.402 9.971 5.79 16.531-13.933-10.615-13.932 10.615 5.789-16.532-14.4-9.97 17.51.397 5.033-16.776 5.032 16.777zm-5.001 125.803l5.027 16.759 17.513-.397-14.401 9.971 5.79 16.531-.005-.005.003.006-13.932-10.615-13.933 10.615 5.788-16.532-14.398-9.97 17.51.396 5.029-16.759.004-.016v.003l.002-.003.003.016zm51.445 47.71l5.027 16.76 17.513-.397-14.401 9.97 5.791 16.532-.004-.004.002.004-13.933-10.615-13.933 10.615 5.788-16.532-14.398-9.97 17.51.397 5.029-16.76.004-.016v.003l.002-.003.003.016zm217.873-104.147l17.511-.397-14.401 9.969 5.79 16.533-13.934-10.616-13.931 10.616 5.789-16.533-14.399-9.969 17.509.397 5.034-16.776 5.032 16.776zm-63.958-95.997l-5.786-16.522 14.401-9.972-17.511.398-5.033-16.778-5.034 16.777-17.51-.398 14.4 9.972-5.789 16.53 13.932-10.614 13.934 10.614-.004-.007zm38.797 42.122l13.934 10.614-.004-.007-5.787-16.524 14.401-9.971-17.51.399-5.033-16.778-5.033 16.777-17.51-.398h-.001l14.399 9.972-5.787 16.529 13.931-10.613zm5.007 127.071l17.51-.397-14.4 9.971 5.79 16.531-13.933-10.614-13.932 10.615 5.788-16.531-14.401-9.971h.005l-.003-.001 17.51.397 5.033-16.775 5.033 16.775zm-51.446 47.711l17.511-.397-14.4 9.97 5.79 16.532-13.933-10.615-13.933 10.615 5.789-16.531-14.401-9.971h.002l17.51.397 5.033-16.776 5.032 16.776z", fill: "#FC0" }))), hAsync("p", { key: '9ff8e10db0e213754bfc73bcce1b3dd36bc62e30', class: "footer-funded" }, this.fundedBy)), hAsync("p", { key: 'a24c4fbfe48c4c3c8d076f24da9c84b739a982d8', class: "footer-copyright" }, "\u00A9 ", rights)), this.resolvedColumns.map((col, ci) => (hAsync("div", { class: "footer-column", key: `col-${ci}` }, hAsync("h4", { class: "footer-column-heading" }, col.heading), hAsync("ul", { class: "footer-column-list" }, (col.links || []).map((link, li) => this.renderLink(link, li)))))))), this.enableScrollTop ? (hAsync("div", { id: "toTop", class: "footer-back-to-top" }, hAsync("eds-button", { id: "backToTop", "aria-label": this.backToTopAriaLabel, intent: isInverse ? 'ghostInverse' : 'ghost', size: "large", icon: "chevron-up", onClick: this.backToTop, tabindex: "-1" }))) : null));
7120
7245
  }
7121
7246
  get el() { return getElement(this); }
7247
+ static get watchers() { return {
7248
+ "columns": ["onColumnsChange"]
7249
+ }; }
7122
7250
  static get style() { return EdsFooterStyle0; }
7123
7251
  static get cmpMeta() { return {
7124
7252
  "$flags$": 9,
7125
7253
  "$tagName$": "eds-footer",
7126
7254
  "$members$": {
7127
7255
  "social": [4],
7128
- "variant": [1],
7256
+ "variant": [513],
7129
7257
  "enableScrollTop": [4, "enable-scroll-top"],
7130
7258
  "fundedBy": [1, "funded-by"],
7131
7259
  "rightsReserved": [1, "rights-reserved"],
7132
7260
  "cookiesPreferences": [1, "cookies-preferences"],
7133
7261
  "enableCookiesSettings": [4, "enable-cookies-settings"],
7134
7262
  "backToTopAriaLabel": [1, "back-to-top-aria-label"],
7135
- "showMatomoNotice": [32]
7263
+ "columns": [1],
7264
+ "resolvedColumns": [32]
7136
7265
  },
7137
7266
  "$listeners$": [[9, "scroll", "handleScroll"]],
7138
7267
  "$lazyBundleId$": "-",
7139
- "$attrsToReflect$": []
7268
+ "$attrsToReflect$": [["variant", "variant"]]
7140
7269
  }; }
7141
7270
  }
7142
7271
 
@@ -7269,7 +7398,8 @@ isFieldVisible) {
7269
7398
  delete errors[field.name];
7270
7399
  return;
7271
7400
  }
7272
- if (field.type !== 'hidden') {
7401
+ // 'content' is a presentational text block — no input, never validated.
7402
+ if (field.type !== 'hidden' && field.type !== 'content') {
7273
7403
  if ((field.type === 'checkbox' || field.type === 'radio') && !field.options) {
7274
7404
  // Single checkbox or radio without multiple options
7275
7405
  const fieldErrors = validateSingleBox(field.name, field.required, formEl);
@@ -7336,6 +7466,46 @@ isFieldVisible) {
7336
7466
  return { errors, hasError };
7337
7467
  }
7338
7468
 
7469
+ /**
7470
+ * safeInlineFormat — the single, audited text→HTML formatter used everywhere a
7471
+ * form renders author-supplied text via innerHTML (form/step description, Text
7472
+ * Blocks, and field messages).
7473
+ *
7474
+ * SECURITY: escape-first, then a tiny whitelisted inline subset. Because all of
7475
+ * &, <, >, " are turned into entities BEFORE any markup is generated, author
7476
+ * text can never inject a tag or attribute — the only HTML produced is the
7477
+ * <strong>, <a> and <br> emitted here. Links are restricted to http/https/mailto
7478
+ * (others fall back to plain text), URLs cannot contain whitespace or a quote,
7479
+ * and external links get rel="noopener noreferrer".
7480
+ *
7481
+ * DO NOT reorder: escaping MUST happen before tag generation, or the guarantee
7482
+ * breaks. Keep this in sync with the JS mirror in
7483
+ * apps/live/forms-app/src/utils/descriptionFormat.ts.
7484
+ *
7485
+ * **bold** → <strong>bold</strong>
7486
+ * [label](url) → <a href="url" …>label</a> (http/https/mailto only)
7487
+ * newline → <br>
7488
+ */
7489
+ function safeInlineFormat(text) {
7490
+ if (!text) {
7491
+ return '';
7492
+ }
7493
+ let s = String(text)
7494
+ .replace(/&/g, '&amp;')
7495
+ .replace(/</g, '&lt;')
7496
+ .replace(/>/g, '&gt;')
7497
+ .replace(/"/g, '&quot;');
7498
+ // bold
7499
+ s = s.replace(/\*\*([^*]+)\*\*/g, '<strong>$1</strong>');
7500
+ // links — safe schemes only; otherwise drop to the plain label
7501
+ s = s.replace(/\[([^\]]+)\]\(([^)\s]+)\)/g, (_m, label, url) => /^(https?:|mailto:)/i.test(url)
7502
+ ? `<a href="${url}" target="_blank" rel="noopener noreferrer" class="eds-desc-link">${label}</a>`
7503
+ : label);
7504
+ // newlines → line breaks
7505
+ s = s.replace(/\n/g, '<br>');
7506
+ return s;
7507
+ }
7508
+
7339
7509
  /**
7340
7510
  * Validates a field based on its type and returns an array of error messages.
7341
7511
  * @param field - The field configuration object.
@@ -7370,7 +7540,7 @@ function getFormInitData({ initData, parsedFields, currentValues
7370
7540
  return { updatedValues };
7371
7541
  }
7372
7542
 
7373
- const edsFormCss = ".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}.flex{display:flex}.flex-col{flex-direction:column}.f-body-01{font-family:var(--f-body-01-fontFamily);font-weight:var(--f-body-01-fontWeight);font-size:var(--f-body-01-fontSize);line-height:var(--f-body-01-lineHeight);letter-spacing:var(--f-body-01-letterSpacing)}.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)}.f-body-01 b,.f-body-01 strong{font-weight:var(--f-body-01---bold-weight, bold)}.f-body-02 b,.f-body-02 strong{font-weight:var(--f-body-02---bold-weight, bold)}.f-heading-04{font-family:var(--f-heading-04-fontFamily);font-weight:600;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:600;font-size:var(--f-heading-05-fontSize);line-height:var(--f-heading-05-lineHeight);letter-spacing:var(--f-heading-05-letterSpacing);overflow:visible}.text-light{color:var(--grey-dark)}.rounded-xs{border-radius:4px}.rounded-sm{border-radius:8px}.border-softer{border-color:rgba(0, 0, 0, .1)}.border-2{border-width:2px}.border-t-2{border-top-width:2px}.mt-20{margin-top:1.25rem}.mt-32{margin-top:2rem}.mt-64{margin-top:4rem}.mb-32{margin-bottom:2rem}.pt-28{padding-top:1.75rem}.pt-32{padding-top:2rem}.pt-64{padding-top:4rem}.pl-8{padding-left:0.5rem}.pl-16{padding-left:1rem}.border-l-2{border-left-width:2px}.gap-y-8{row-gap:0.5rem}.gap-y-16{row-gap:1rem}.gap-y-20{row-gap:1.25rem}.gap-y-24{row-gap:1.5rem}.border-group{border-left:1px solid var(--soft-color, #ddd);padding-left:1rem}.bg-inverse{background-color:var(--white)}.form-brand{box-shadow:0 2px 12px rgba(0, 0, 0, 0.08);border-left:4px solid var(--brand-green);animation:fadeInUp 0.6s ease}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.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)}.shadow-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}.effect-focus-within{outline-width:3px;outline-offset:2px;outline-color:var(--brand-green)}.effect-focus-within:focus-within{outline-style:solid}.relative{position:relative}.rounded-sm{border-radius:8px}.rounded-lg{border-radius:16px}.px-16{padding-left:1rem;padding-right:1rem}.pb-4{padding-bottom:0.25rem}.pb-16{padding-bottom:1rem}.p-32{padding:2rem}.mr-auto{margin-right:auto}.ml-auto{margin-left:auto}.w-full{width:100%}.justify-between{justify-content:space-between}.items-center{align-items:center}@media (min-width: 750px){.md\\:flex-row-reverse{flex-direction:row-reverse}.md\\:justify-between{justify-content:space-between}.md\\:gap-y-0{row-gap:0}.md\\:w-auto{width:auto}.md\\:mt-64{margin-top:4rem}.md\\:pt-64{padding-top:4rem}}";
7543
+ const edsFormCss = ".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}.flex{display:flex}.flex-col{flex-direction:column}.f-body-01{font-family:var(--f-body-01-fontFamily);font-weight:var(--f-body-01-fontWeight);font-size:var(--f-body-01-fontSize);line-height:var(--f-body-01-lineHeight);letter-spacing:var(--f-body-01-letterSpacing)}.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)}.f-body-01 b,.f-body-01 strong{font-weight:var(--f-body-01---bold-weight, bold)}.f-body-02 b,.f-body-02 strong{font-weight:var(--f-body-02---bold-weight, bold)}.f-heading-04{font-family:var(--f-heading-04-fontFamily);font-weight:600;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:600;font-size:var(--f-heading-05-fontSize);line-height:var(--f-heading-05-lineHeight);letter-spacing:var(--f-heading-05-letterSpacing);overflow:visible}.text-light{color:var(--grey-dark)}.rounded-xs{border-radius:4px}.rounded-sm{border-radius:8px}.border-softer{border-color:rgba(0, 0, 0, .1)}.border-2{border-width:2px}.border-t-2{border-top-width:2px}.mt-20{margin-top:1.25rem}.mt-32{margin-top:2rem}.mt-64{margin-top:4rem}.mb-32{margin-bottom:2rem}.pt-28{padding-top:1.75rem}.pt-32{padding-top:2rem}.pt-64{padding-top:4rem}.pl-8{padding-left:0.5rem}.pl-16{padding-left:1rem}.border-l-2{border-left-width:2px}.gap-y-8{row-gap:0.5rem}.gap-y-16{row-gap:1rem}.gap-y-20{row-gap:1.25rem}.gap-y-24{row-gap:1.5rem}.border-group{border-left:1px solid var(--soft-color, #ddd);padding-left:1rem}.bg-inverse{background-color:var(--white)}.form-brand{box-shadow:0 2px 12px rgba(0, 0, 0, 0.08);border-left:4px solid var(--brand-green);animation:fadeInUp 0.6s ease}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.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)}.shadow-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}.effect-focus-within{outline-width:3px;outline-offset:2px;outline-color:var(--brand-green)}.effect-focus-within:focus-within{outline-style:solid}.relative{position:relative}.rounded-sm{border-radius:8px}.rounded-lg{border-radius:16px}.px-16{padding-left:1rem;padding-right:1rem}.pb-4{padding-bottom:0.25rem}.pb-16{padding-bottom:1rem}.p-32{padding:2rem}.mr-auto{margin-right:auto}.ml-auto{margin-left:auto}.w-full{width:100%}.justify-between{justify-content:space-between}.items-center{align-items:center}@media (min-width: 750px){.md\\:flex-row-reverse{flex-direction:row-reverse}.md\\:justify-between{justify-content:space-between}.md\\:gap-y-0{row-gap:0}.md\\:w-auto{width:auto}.md\\:mt-64{margin-top:4rem}.md\\:pt-64{padding-top:4rem}}.eds-desc-link{position:relative;display:inline-block;color:var(--brand-black);text-decoration:none}.eds-desc-link::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background-color:var(--brand-green);transition:width 0.3s ease}.eds-desc-link:hover::after{width:100%}.eds-desc-link:focus-visible::after{width:0}.eds-content-block{line-height:1.5;color:var(--brand-black, #07140d)}.eds-content-block strong{font-weight:600}.eds-content-block .eds-desc-link{font-weight:600}";
7374
7544
  var EdsFormStyle0 = edsFormCss;
7375
7545
 
7376
7546
  /**
@@ -7570,7 +7740,20 @@ class EdsForm {
7570
7740
  if (this.setFormUrl && typeof window !== 'undefined') {
7571
7741
  formData.set('form_url', window.location.href);
7572
7742
  }
7743
+ // Group fields by name so we can drop values for fields hidden by a condition.
7744
+ // A name may be reused across mutually-exclusive conditional variants (e.g. a
7745
+ // `web_app_url` shown for service_type=web_app AND another for =platform), so a
7746
+ // value is dropped ONLY when EVERY field with that name is hidden — if any
7747
+ // variant is visible, its value is kept.
7748
+ const fieldsByName = {};
7749
+ this.parsedFields.forEach((f) => {
7750
+ (fieldsByName[f.name] = fieldsByName[f.name] || []).push(f);
7751
+ });
7573
7752
  Object.keys(this.values).forEach((key) => {
7753
+ const fields = fieldsByName[key];
7754
+ if (fields && fields.length && !fields.some((f) => this.isFieldVisible(f))) {
7755
+ return; // all fields with this name are conditionally hidden — skip
7756
+ }
7574
7757
  const value = this.values[key];
7575
7758
  // Handle File arrays (from file inputs)
7576
7759
  if (Array.isArray(value)) {
@@ -7865,29 +8048,53 @@ class EdsForm {
7865
8048
  return map;
7866
8049
  }
7867
8050
  renderField(field) {
7868
- var _a, _b, _c, _d;
8051
+ var _a, _b, _c, _d, _e, _f, _g;
7869
8052
  if (!this.isFieldVisible(field)) {
7870
8053
  return null;
7871
8054
  }
8055
+ // 0) Presentational "Text Block" — static formatted text, NOT an input.
8056
+ // It has no value, is never added to the submission (makeFormData only
8057
+ // iterates this.values) and is never validated (see formValidators). The
8058
+ // text runs through formatDescription, which escapes HTML first, so author
8059
+ // content can never inject markup — only the **bold**/[link]/newline subset.
8060
+ if (field.type === 'content') {
8061
+ const raw = ((_b = (_a = field.content) !== null && _a !== void 0 ? _a : field.label) !== null && _b !== void 0 ? _b : '');
8062
+ return (hAsync("div", { class: "eds-content-block f-body-02 text-default", key: field.name, innerHTML: this.formatDescription(raw) }));
8063
+ }
7872
8064
  // 1) Handle rating
7873
8065
  if (field.type === 'rating') {
7874
8066
  // pull the current value (or zero)
7875
8067
  const val = this.values[field.name] || 0;
7876
- return (hAsync("div", { class: "form-group rating-field", key: field.name }, hAsync("div", { class: "flex justify-between" }, field && (hAsync("eds-input-label", { name: `rating-${field.name}`, label: field.label, disabled: field.disabled, required: field.required }))), hAsync("eds-rating", { id: `rating-${field.name}`, "rating-type": field.ratingType, "rating-count": field.ratingCount, "selected-rating": val, onRating: (e) => this.handleRating(e, field) }), hAsync("div", { class: "mt-6" }, hAsync("eds-input-footer", { id: `${field.name}-footer`, name: field.name, message: field.message, "error-message": (_a = this.errors[field.name]) === null || _a === void 0 ? void 0 : _a.join('<br/>'), error: !!this.errors[field.name], link: field.link }))));
8068
+ return (hAsync("div", { class: "form-group rating-field", key: field.name }, hAsync("div", { class: "flex justify-between" }, field && (hAsync("eds-input-label", { name: `rating-${field.name}`, label: field.label, disabled: field.disabled, required: field.required }))), hAsync("eds-rating", { id: `rating-${field.name}`, "rating-type": field.ratingType, "rating-count": field.ratingCount, "selected-rating": val, onRating: (e) => this.handleRating(e, field) }), hAsync("div", { class: "mt-6" }, hAsync("eds-input-footer", { id: `${field.name}-footer`, name: field.name, message: field.message, "error-message": (_c = this.errors[field.name]) === null || _c === void 0 ? void 0 : _c.join('<br/>'), error: !!this.errors[field.name], link: field.link }))));
7877
8069
  }
7878
8070
  else if (field.type === 'nps') {
7879
8071
  // pull the current value (or null)
7880
8072
  const val = this.values[field.name] !== undefined ? this.values[field.name] : null;
7881
- return (hAsync("div", { class: "form-group nps-field", key: field.name }, hAsync("div", { class: "flex justify-between" }, field && (hAsync("eds-input-label", { name: `nps-${field.name}`, label: field.question, disabled: field.disabled, required: field.required }))), hAsync("eds-nps", { id: `nps-${field.name}`, "right-label": field.rightLabel, "left-label": field.leftLabel, "selected-value": val, onNps: (e) => this.handleNPS(e, field) }), hAsync("div", { class: "mt-6" }, hAsync("eds-input-footer", { id: `${field.name}-footer`, name: field.name, "error-message": (_b = this.errors[field.name]) === null || _b === void 0 ? void 0 : _b.join('<br/>'), error: !!this.errors[field.name] }))));
8073
+ return (hAsync("div", { class: "form-group nps-field", key: field.name }, hAsync("div", { class: "flex justify-between" }, field && (hAsync("eds-input-label", { name: `nps-${field.name}`, label: field.question, disabled: field.disabled, required: field.required }))), hAsync("eds-nps", { id: `nps-${field.name}`, "right-label": field.rightLabel, "left-label": field.leftLabel, "selected-value": val, onNps: (e) => this.handleNPS(e, field) }), hAsync("div", { class: "mt-6" }, hAsync("eds-input-footer", { id: `${field.name}-footer`, name: field.name, "error-message": (_d = this.errors[field.name]) === null || _d === void 0 ? void 0 : _d.join('<br/>'), error: !!this.errors[field.name] }))));
8074
+ }
8075
+ else if (field.type === 'search-select') {
8076
+ return (hAsync("eds-search-select", { key: field.name, name: field.name, label: field.label, source: field.source, options: field.options, multiple: !!field.multiple, "api-base": field.apiBase || '/api/v1', placeholder: field.placeholder, required: field.required, disabled: field.disabled, hint: field.hint, message: field.message, error: !!this.errors[field.name], "error-message": (_e = this.errors[field.name]) === null || _e === void 0 ? void 0 : _e.join('<br/>'), value: this.values[field.name], onEdsinput: (e) => this.handleInput(e, field), onEdschange: (e) => this.handleChange(e, field) }));
7882
8077
  }
7883
8078
  else if (field.type === 'kg-web-service') {
7884
- return (hAsync("eds-kg-web-services-select", { key: field.name, name: field.name, label: field.label, "api-endpoint": field.apiEndpoint || '/api/v1/kg/web-services/cached', placeholder: field.placeholder, required: field.required, disabled: field.disabled, hint: field.hint, message: field.message, error: !!this.errors[field.name], "error-message": (_c = this.errors[field.name]) === null || _c === void 0 ? void 0 : _c.join('<br/>'), value: this.values[field.name], size: field.size || 500, onEdsinput: (e) => this.handleInput(e, field), onEdschange: (e) => this.handleChange(e, field) }));
8079
+ return (hAsync("eds-kg-web-services-select", { key: field.name, name: field.name, label: field.label, "api-endpoint": field.apiEndpoint || '/api/v1/kg/web-services/cached', placeholder: field.placeholder, required: field.required, disabled: field.disabled, hint: field.hint, message: field.message, error: !!this.errors[field.name], "error-message": (_f = this.errors[field.name]) === null || _f === void 0 ? void 0 : _f.join('<br/>'), value: this.values[field.name], size: field.size || 500, onEdsinput: (e) => this.handleInput(e, field), onEdschange: (e) => this.handleChange(e, field) }));
7885
8080
  }
7886
- return (hAsync("eds-input-field", { key: field.name, name: field.name, label: field.label, placeholder: field.placeholder, type: field.type, value: this.values[field.name], required: field.required, hint: field.hint, message: field.message, link: field.link, error: !!this.errors[field.name], errorMessage: (_d = this.errors[field.name]) === null || _d === void 0 ? void 0 : _d.join('<br/>'), options: field.options, onInput: (e) => this.handleInput(e, field), onChangeNative: (e) => this.handleChange(e, field) }));
8081
+ return (hAsync("eds-input-field", { key: field.name, name: field.name, label: field.label, placeholder: field.placeholder, type: field.type, value: this.values[field.name], required: field.required, hint: field.hint, message: field.message, link: field.link, error: !!this.errors[field.name], errorMessage: (_g = this.errors[field.name]) === null || _g === void 0 ? void 0 : _g.join('<br/>'), options: field.options, onInput: (e) => this.handleInput(e, field), onChangeNative: (e) => this.handleChange(e, field) }));
7887
8082
  }
7888
8083
  async getData() {
7889
8084
  return this.makeFormData();
7890
8085
  }
8086
+ /**
8087
+ * Render the form/step description with a small, safe subset of inline
8088
+ * formatting so authors can add links and emphasis:
8089
+ * **bold** → <strong>
8090
+ * [label](url) → <a> (only http/https/mailto; others render as text)
8091
+ * blank line / \n → paragraph / line break
8092
+ * HTML is escaped FIRST, so author text can never inject markup — only the
8093
+ * whitelisted patterns above produce tags.
8094
+ */
8095
+ formatDescription(text) {
8096
+ return safeInlineFormat(text);
8097
+ }
7891
8098
  render() {
7892
8099
  const hiddenFields = this.parsedFields.filter((field) => field.type === 'hidden');
7893
8100
  //const otherFields = this.parsedFields.filter((field) => field.type !== 'hidden');
@@ -7903,9 +8110,9 @@ class EdsForm {
7903
8110
  else if (this.formStyle === 'brand') {
7904
8111
  styleClasses = 'bg-inverse form-brand relative rounded-xs p-32';
7905
8112
  }
7906
- return (hAsync("form", { key: '5e58460e52950974cdf11001123f9ffb23dc659e', class: styleClasses, ref: (el) => (this.formEl = el), autocomplete: "on", onSubmit: this.handleSubmit }, hAsync("div", { key: 'ff3a33e3a8d311c86712daa68c80aac767d82a9b', class: "flex flex-col gap-y-20 overflow-visible" }, this.title && (hAsync("span", { key: 'b1f363c03074f944a8f60387a40cef6fa791b188', role: "heading", class: "f-heading-05 pb-4 block" }, this.title)), this.description && hAsync("span", { key: '7a9b5ea5451cf59ac47ec81dd1a44c7c9e6326a3', class: "f-body-02 text-light" }, this.description), hAsync("slot", { key: '1e50a245fa37b73149a22308fda4039051d4639c' })), hiddenFields.map((field, index) => (hAsync("eds-input", { key: index, type: "hidden", name: field.name, value: field.value }))), this.parsedGroups
8113
+ return (hAsync("form", { key: '5717a276eb4bcb1b40bb6c3a3d68e2372ccf0b37', class: styleClasses, ref: (el) => (this.formEl = el), autocomplete: "on", onSubmit: this.handleSubmit }, hAsync("div", { key: '8e9fec59b6cafccabbb67381a12541f12201cc48', class: "flex flex-col gap-y-20 overflow-visible" }, this.title && (hAsync("span", { key: 'f47c68db954de63773257f9c898141be27278a00', role: "heading", class: "f-heading-05 pb-4 block" }, this.title)), this.description && hAsync("span", { key: '4287bb5f9c31cf5d3953a032de4a8c269e1feb7e', class: "f-body-02 text-light", innerHTML: this.formatDescription(this.description) }), hAsync("slot", { key: 'e9e52696eab6477354ac5ee6cbe08399483b1b37' })), hiddenFields.map((field, index) => (hAsync("eds-input", { key: index, type: "hidden", name: field.name, value: field.value }))), this.parsedGroups
7907
8114
  .filter((g) => Array.isArray(buckets[g.id]) && buckets[g.id].length > 0)
7908
- .map((g) => (hAsync("div", { class: "mt-32", key: g.id }, hAsync("span", { class: "f-body-02" }, hAsync("b", null, g.title)), hAsync("div", { class: "border-group mt-32 mb-32 flex flex-col gap-y-24" }, buckets[g.id].map((f) => this.renderField(f)))))), hAsync("div", { key: '6cd08f342c0f9004d10628827720cb641339fcd5', class: "flex flex-col mt-32 gap-y-24" }, buckets['__ungrouped'].map((f) => this.renderField(f))), (this.formBtn || this.clearBtn) && (hAsync("div", { key: 'e8d37bedbd49c9fc94cbd2e2a887448f3764b8f9', class: "mt-32 md:mt-64 flex flex-col items-center md:flex-row-reverse md:justify-between gap-y-16 md:gap-y-0" }, this.formBtn && (hAsync("eds-button", { key: 'ec878c5edaa87cf9bff0424b92e5c82605856e67', intent: this.buttonIntent, pill: true, label: this.formBtnLabel, disabled: this.isSubmitting, loading: this.isSubmitting, icon: 'arrow-right', size: "large", onClick: () => this.handleSubmit() })), this.clearBtn && (hAsync("eds-button", { key: '1158dc2af47f9f523ccd2ee1435a4147fc0a646c', intent: "neutral", pill: true, size: "large", label: this.clearBtnLabel, disabled: this.isSubmitting || !this.values || Object.keys(this.values).length === 0, onClick: (e) => this.handleClear(e) }))))));
8115
+ .map((g) => (hAsync("div", { class: "mt-32", key: g.id }, hAsync("span", { class: "f-body-02" }, hAsync("b", null, g.title)), hAsync("div", { class: "border-group mt-32 mb-32 flex flex-col gap-y-24" }, buckets[g.id].map((f) => this.renderField(f)))))), hAsync("div", { key: '22d248217ea85d68e2be652ddcbfd13ed4775934', class: "flex flex-col mt-32 gap-y-24" }, buckets['__ungrouped'].map((f) => this.renderField(f))), (this.formBtn || this.clearBtn) && (hAsync("div", { key: '101f9e275d68f59b762938ff3f7d7102660b80f0', class: "mt-32 md:mt-64 flex flex-col items-center md:flex-row-reverse md:justify-between gap-y-16 md:gap-y-0" }, this.formBtn && (hAsync("eds-button", { key: '02d427d951c715634605b6977f61cee67abaa8b0', intent: this.buttonIntent, pill: true, label: this.formBtnLabel, disabled: this.isSubmitting, loading: this.isSubmitting, icon: 'arrow-right', size: "large", onClick: () => this.handleSubmit() })), this.clearBtn && (hAsync("eds-button", { key: 'abf330715df3acf2a4bdc8d4f322fc13c70c267f', intent: "neutral", pill: true, size: "large", label: this.clearBtnLabel, disabled: this.isSubmitting || !this.values || Object.keys(this.values).length === 0, onClick: (e) => this.handleClear(e) }))))));
7909
8116
  }
7910
8117
  get el() { return getElement(this); }
7911
8118
  static get watchers() { return {
@@ -8035,7 +8242,7 @@ class EdsFrame {
8035
8242
  }
8036
8243
  }
8037
8244
  render() {
8038
- return (hAsync("div", { key: '0fa74cf426f9d934a035b5e3f6c9e5722c40beab', class: this.articleClasses() }, hAsync("div", { key: '65ab4084241ce1b5337e9bfaaffb5c2aaceec28e', class: "effect-height flex items-center justify-between py-8 px-12" }, hAsync("span", { key: 'f1cda1a4d61b47550d9d8cd08986f2253710c4ea', class: "f-ui-02" }, this.frameLabel), !this.iframeError && this.url && this.urlLabel ? (hAsync("eds-link", { label: this.urlLabel, url: this.url, intent: this.intent, class: "ml-auto", external: true, disabled: false, icon: "arrow-up-right" })) : null), hAsync("div", { key: 'e02ffe4f38f1375a0694f2acec72406824745437', class: "border-softer" }, this.iframeError ? (hAsync("div", { class: "container ml-8 mr-8 mt-16" }, this.errorMessage)) : (hAsync("iframe", { src: this.frameSrc, width: "100%", height: this.getFrameHeight(), title: this.frameLabel, frameBorder: "0", allowFullScreen: true })))));
8245
+ return (hAsync("div", { key: 'ddbc978054f645eb990cde6bdd26647bd01eeb1a', class: this.articleClasses() }, hAsync("div", { key: '0a16fbd950742b8a75428b3705deaa03ef785a5b', class: "effect-height flex items-center justify-between py-8 px-12" }, hAsync("span", { key: '0c2a84cae101ec1e5352ed7be7b874b6ec45f37d', class: "f-ui-02" }, this.frameLabel), !this.iframeError && this.url && this.urlLabel ? (hAsync("eds-link", { label: this.urlLabel, url: this.url, intent: this.intent, class: "ml-auto", external: true, disabled: false, icon: "arrow-up-right" })) : null), hAsync("div", { key: 'c001f1b33c5136820155b0299e83b6dc49fbbd43', class: "border-softer" }, this.iframeError ? (hAsync("div", { class: "container ml-8 mr-8 mt-16" }, this.errorMessage)) : (hAsync("iframe", { src: this.frameSrc, width: "100%", height: this.getFrameHeight(), title: this.frameLabel, frameBorder: "0", allowFullScreen: true })))));
8039
8246
  }
8040
8247
  get el() { return getElement(this); }
8041
8248
  static get style() { return EdsFrameStyle0; }
@@ -8219,7 +8426,7 @@ class EdsGauge {
8219
8426
  const textStyle = {
8220
8427
  fontSize: `${fontSize}px`
8221
8428
  };
8222
- return (hAsync("div", { key: 'f5801b63984f42bad206445de4e865c0e161b88e', role: "progressbar", "aria-valuemin": this.valueMin, "aria-valuemax": this.valueMax, "aria-valuenow": clamped, "aria-label": `Gauge value: ${clamped} of ${this.valueMax}`, class: "relative inline-block rounded-full overflow-hidden", style: containerStyle }, hAsync("div", { key: '1a982401ba1853e937dfbb9aeb4736d4665abab1', class: "absolute bg-inverse rounded-full", style: maskStyle }), hAsync("div", { key: '0db002b1a3a3f49fe3fd0f3aa4d3fd0e2ee6a45d', class: "absolute inset-0 flex items-center justify-center" }, hAsync("span", { key: 'a011eaaab9e6f3d15d706bf9309ae7bafa689387', class: "f-body-01 text-default", style: textStyle }, clamped))));
8429
+ return (hAsync("div", { key: '5629f8adbc6f144aad49062883cb85ecf24fc16c', role: "progressbar", "aria-valuemin": this.valueMin, "aria-valuemax": this.valueMax, "aria-valuenow": clamped, "aria-label": `Gauge value: ${clamped} of ${this.valueMax}`, class: "relative inline-block rounded-full overflow-hidden", style: containerStyle }, hAsync("div", { key: 'd668b54b0a5f4bf260a2f1153781c59741bd8694', class: "absolute bg-inverse rounded-full", style: maskStyle }), hAsync("div", { key: 'f08feba97d30ed893a72a7e07e412aa82ea8cd3d', class: "absolute inset-0 flex items-center justify-center" }, hAsync("span", { key: '2a8dccde44677d4a4b742cd992144d6cf399ee9b', class: "f-body-01 text-default", style: textStyle }, clamped))));
8223
8430
  }
8224
8431
  static get style() { return EdsGaugeStyle0; }
8225
8432
  static get cmpMeta() { return {
@@ -8239,7 +8446,7 @@ class EdsGauge {
8239
8446
  }; }
8240
8447
  }
8241
8448
 
8242
- const edsGitlabContributorsCss = ".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}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.grid{display:grid}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.gap-2{gap:0.5rem;}.gap-4{gap:1rem;}.gap-6{gap:1.5rem;}.p-5{padding:1.25rem;}.p-12{padding:3rem;}.pb-2{padding-bottom:0.25rem;}.pb-4{padding-bottom:1rem;}.mb-6{margin-bottom:1.5rem;}.m-0{margin:0}.mt-auto{margin-top:auto}.w-full{width:100%}.min-w-0{min-width:0}.text-xs{font-size:0.75rem;line-height:1rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-2xl{font-size:1.5rem;line-height:2rem}.font-semibold{font-weight:600}.whitespace-nowrap{white-space:nowrap}.overflow-hidden{overflow:hidden}.text-ellipsis{text-overflow:ellipsis}.no-underline{text-decoration:none}.text-gray-600{color:var(--eds-color-gray-600, #4b5563)}.text-gray-900{color:var(--eds-color-gray-900, #111827)}.border-gray-200{border-color:var(--eds-color-gray-200, #e5e7eb)}.bg-white{background-color:var(--eds-color-white, #ffffff)}.text-primary-600{color:var(--eds-color-primary-600, #2563eb)}.hover\\:text-primary-600:hover{color:var(--eds-color-primary-600, #2563eb)}.border-primary-300{border-color:var(--eds-color-primary-300, #93c5fd)}.hover\\:border-primary-300:hover{border-color:var(--eds-color-primary-300, #93c5fd)}.text-success-600{color:var(--eds-color-success-600, #16a34a)}.text-error-600{color:var(--eds-color-error-600, #dc2626)}.border{border-width:1px}.border-b{border-bottom-width:1px}.rounded-lg{border-radius:var(--eds-radius-lg, 0.5rem);}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition-colors{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:150ms}.duration-200{transition-duration:200ms}.shadow-md{box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)}.hover\\:shadow-md:hover{box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)}.-translate-y-0\\.5{transform:translateY(-0.125rem);}.hover\\:-translate-y-0\\.5:hover{transform:translateY(-0.125rem)}.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}@media (min-width: 640px){.sm\\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media (min-width: 768px){.md\\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}}@media (min-width: 1024px){.lg\\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.lg\\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr))}}.contributor-card{will-change:transform, box-shadow, border-color}.f-ui-01{font-family:var(--f-ui-01-fontFamily);font-weight:var(--f-ui-01-fontWeight);font-size:var(--f-ui-01-fontSize);line-height:var(--f-ui-01-lineHeight);letter-spacing:var(--f-ui-01-letterSpacing)}.text-default{color:var(--black)}.text-light{color:var(--grey-700)}.text-lighter{color:var(--grey-600)}";
8449
+ const edsGitlabContributorsCss = ".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}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.grid{display:grid}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.gap-2{gap:0.5rem;}.gap-4{gap:1rem;}.gap-6{gap:1.5rem;}.p-5{padding:1.25rem;}.p-12{padding:3rem;}.pb-2{padding-bottom:0.25rem;}.pb-4{padding-bottom:1rem;}.mb-6{margin-bottom:1.5rem;}.m-0{margin:0}.mt-auto{margin-top:auto}.w-full{width:100%}.min-w-0{min-width:0}.text-xs{font-size:0.75rem;line-height:1rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-2xl{font-size:1.5rem;line-height:2rem}.font-semibold{font-weight:600}.whitespace-nowrap{white-space:nowrap}.overflow-hidden{overflow:hidden}.text-ellipsis{text-overflow:ellipsis}.no-underline{text-decoration:none}.text-gray-600{color:var(--eds-color-gray-600, #4b5563)}.text-gray-900{color:var(--eds-color-gray-900, #111827)}.border-gray-200{border-color:var(--eds-color-gray-200, #e5e7eb)}.bg-white{background-color:var(--eds-color-white, #ffffff)}.text-primary-600{color:var(--eds-color-primary-600, #2563eb)}.hover\\:text-primary-600:hover{color:var(--eds-color-primary-600, #2563eb)}.border-primary-300{border-color:var(--eds-color-primary-300, #93c5fd)}.hover\\:border-primary-300:hover{border-color:var(--eds-color-primary-300, #93c5fd)}.text-success-600{color:var(--eds-color-success-600, #16a34a)}.text-error-600{color:var(--eds-color-error-600, #dc2626)}.border{border-width:1px}.border-b{border-bottom-width:1px}.rounded-lg{border-radius:var(--eds-radius-lg, 0.5rem);}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition-colors{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:150ms}.duration-200{transition-duration:200ms}.shadow-md{box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)}.hover\\:shadow-md:hover{box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)}.-translate-y-0\\.5{transform:translateY(-0.125rem);}.hover\\:-translate-y-0\\.5:hover{transform:translateY(-0.125rem)}.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}@media (min-width: 640px){.sm\\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media (min-width: 768px){.md\\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}}@media (min-width: 1024px){.lg\\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.lg\\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr))}}.contributor-card{will-change:transform, box-shadow, border-color}.loading{position:relative;min-height:8rem;padding:1rem 1.25rem;color:var(--grey-dark, #7A7B7A);font-size:0.9375rem;border:1px solid rgba(0, 0, 0, 0.08);border-radius:0.25rem;background-color:rgba(0, 0, 0, 0.02)}.f-ui-01{font-family:var(--f-ui-01-fontFamily);font-weight:var(--f-ui-01-fontWeight);font-size:var(--f-ui-01-fontSize);line-height:var(--f-ui-01-lineHeight);letter-spacing:var(--f-ui-01-letterSpacing)}.text-default{color:var(--black)}.text-light{color:var(--grey-700)}.text-lighter{color:var(--grey-600)}";
8243
8450
  var EdsGitlabContributorsStyle0 = edsGitlabContributorsCss;
8244
8451
 
8245
8452
  /**
@@ -8481,7 +8688,14 @@ class EdsGitlabContributors {
8481
8688
  }
8482
8689
  render() {
8483
8690
  if (this.loading) {
8484
- return (hAsync("div", { class: "flex flex-col items-center justify-center p-12 gap-4" }, hAsync("eds-spinner", { size: "md" }), hAsync("p", { class: "text-base text-gray-600 m-0" }, "Loading contributors...")));
8691
+ // Spinner placeholder mirrors eds-kg-learning-resources exactly
8692
+ // same `.loading` wrapper (position: relative + min-height so the
8693
+ // absolutely-positioned spinner anchors inside the box instead of
8694
+ // escaping to the page), same eds-spinner props (sm/primary/
8695
+ // transparent + message-as-prop), and the same role+aria-live for
8696
+ // screen-reader announcement. Keep these two components in sync if
8697
+ // the loading affordance ever changes.
8698
+ return (hAsync("div", { class: "loading", role: "status", "aria-live": "polite" }, hAsync("eds-spinner", { size: "sm", variant: "primary", background: "transparent", message: "Loading contributors..." })));
8485
8699
  }
8486
8700
  if (this.error) {
8487
8701
  return (hAsync("eds-alert", { message: "Error loading contributors", intent: "error" }));
@@ -8522,7 +8736,7 @@ class EdsGitlabContributors {
8522
8736
  }; }
8523
8737
  }
8524
8738
 
8525
- const edsGlobalSearchCss = ":host{display:block;width:100%}p{margin:0}ol,ul,menu{list-style:none;margin:0;padding:0}.search-wrapper{position:relative;width:100%}.search-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;background:white;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 8px 24px rgba(0, 0, 0, 0.12),\n 0 2px 8px rgba(0, 0, 0, 0.08),\n 0 0 0 1px rgba(0, 255, 157, 0.08);max-height:500px;overflow:hidden;z-index:9999;display:flex;flex-direction:column;animation:dropdownFadeIn 0.25s cubic-bezier(0.4, 0, 0.2, 1)}.dropdown-state{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px;color:#616161;font-size:14px}.dropdown-results{list-style:none;margin:0;overflow-y:auto;overflow-x:hidden;max-height:440px}.result-item{padding:7px 7px;cursor:pointer;border-left:4px solid transparent;margin-bottom:2px;transition:all 0.25s cubic-bezier(0.4, 0, 0.2, 1);overflow:hidden;word-wrap:break-word;word-break:break-word}.result-item:hover,.result-item--selected{background:linear-gradient(\n 90deg,\n rgba(0, 255, 157, 0.08) 0%,\n rgba(0, 255, 157, 0.03) 100%\n );border-left-color:var(--green-600);box-shadow:0 2px 8px rgba(0, 255, 157, 0.15)}.result-item:hover .result-title,.result-item--selected .result-title{color:var(--green-700)}.result-title{color:var(--black);transition:color 0.2s ease}.result-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.result-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.result-badge{display:inline-block;padding:3px 8px;background:rgba(0, 255, 157, 0.12);color:var(--green-800);border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;transition:all 0.2s ease}.result-item:hover .result-badge,.result-item--selected .result-badge{background:rgba(0, 255, 157, 0.2);color:var(--green-900)}.result-url{font-size:12px;color:var(--grey-600)}.external-icon{display:inline-block;width:14px;height:14px;margin-left:4px;color:var(--green-600)}.result-snippet{font-size:13px;color:#616161;line-height:1.5;margin:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;transition:color 0.2s ease}.result-item:hover .result-snippet,.result-item--selected .result-snippet{color:#424242}.dropdown-footer{border-top:1px solid rgba(0, 255, 157, 0.15);padding:10px 16px;background:linear-gradient(\n 180deg,\n rgba(0, 255, 157, 0.02) 0%,\n rgba(0, 255, 157, 0.05) 100%\n );flex-shrink:0}.footer-hint{font-size:11px;color:#616161;display:flex;align-items:center;gap:6px;flex-wrap:wrap}kbd{display:inline-block;padding:3px 7px;font-size:11px;font-family:monospace;line-height:1.2;font-weight:500;color:var(--green-700);background:rgba(0, 255, 157, 0.1);border:1px solid rgba(0, 200, 123, 0.3);border-radius:4px;box-shadow:0 2px 0 rgba(0, 255, 157, 0.15),\n inset 0 1px 0 rgba(255, 255, 255, 0.5)}.dropdown-results::-webkit-scrollbar{width:8px}.dropdown-results::-webkit-scrollbar-track{background:rgba(0, 255, 157, 0.05);border-radius:4px}.dropdown-results::-webkit-scrollbar-thumb{background:#33FFB8;border-radius:4px}.dropdown-results::-webkit-scrollbar-thumb:hover{background:#00FF9D}.flex{display:flex}.inline-flex{display:inline-flex}.text-center{text-align:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.text-error{color:var(--red-700)}.text-lighter{color:var(--grey-600)}.text-lightest{color:var(--grey-500)}.ml-4{margin-left:0.25rem}.ml-8{margin-left:0.5rem}.ml-16{margin-left:1rem}.p-16{padding:1rem}.p-64{padding:4rem}.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)}.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)}.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)}.f-ui-04{font-family:var(--f-ui-04-fontFamily);font-weight:var(--f-ui-04-fontWeight);font-size:var(--f-ui-04-fontSize);line-height:var(--f-ui-04-lineHeight);letter-spacing:var(--f-ui-04-letterSpacing)}";
8739
+ const edsGlobalSearchCss = ":host{display:block;width:100%}p{margin:0}ol,ul,menu{list-style:none;margin:0;padding:0}.search-wrapper{position:relative;width:100%}.search-pill{display:flex;align-items:center;gap:12px;height:48px;padding:0 18px;border-radius:999px;font-family:var(--plex-sans, 'IBM Plex Sans', system-ui, sans-serif);font-size:15px;cursor:text;transition:background 120ms ease, box-shadow 120ms ease, color 120ms ease}.search-pill .search-icon{flex-shrink:0}.search-pill .search-input{flex:1;min-width:0;border:0;background:transparent;outline:none;font:inherit;color:inherit;-webkit-appearance:none;appearance:none}.search-pill .search-input::-webkit-search-cancel-button{-webkit-appearance:none}.search-pill .search-kbd{flex-shrink:0;font-family:'IBM Plex Mono', ui-monospace, 'SF Mono', Menlo, monospace;font-size:11px;font-weight:500;line-height:1;padding:3px 6px;border-radius:4px;box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.05);letter-spacing:0.02em}.search-pill:focus-within .search-kbd{display:none}.search-pill .search-clear{flex-shrink:0;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0;margin:0;border:0;border-radius:999px;background:transparent;color:inherit;cursor:pointer;opacity:0.7;transition:opacity 120ms ease, background 120ms ease}.search-pill .search-clear:hover{opacity:1;background:rgba(0, 0, 0, 0.06)}.search-pill .search-clear:focus-visible{outline:none;box-shadow:0 0 0 2px var(--brand-green, #00C87B);opacity:1}.search-pill--black .search-clear:hover{background:rgba(255, 255, 255, 0.10)}.search-pill--gray{background:var(--grey-light, #ECECEC);color:var(--grey-dark, #7A7B7A);border:0}.search-pill--gray:hover{background:#E0E0E0}.search-pill--gray .search-input{color:var(--brand-black, #07140D)}.search-pill--gray .search-input::placeholder{color:var(--grey-dark, #7A7B7A)}.search-pill--gray .search-kbd{color:var(--grey-dark, #7A7B7A);background:var(--white, #FFFFFF);border:1px solid #DCDCDC}.search-pill--gray:focus-within{background:var(--white, #FFFFFF);box-shadow:0 0 0 2px var(--brand-green, #00C87B)}.search-pill--white{background:var(--white, #FFFFFF);color:var(--grey-dark, #7A7B7A);border:1px solid var(--grey-light, #ECECEC)}.search-pill--white:hover{background:#FAFAFA}.search-pill--white .search-input{color:var(--brand-black, #07140D)}.search-pill--white .search-input::placeholder{color:var(--grey-dark, #7A7B7A)}.search-pill--white .search-kbd{color:var(--grey-dark, #7A7B7A);background:var(--grey-light, #ECECEC);border:1px solid #DCDCDC}.search-pill--white:focus-within{background:var(--white, #FFFFFF);box-shadow:0 0 0 2px var(--brand-green, #00C87B)}.search-pill--black{background:var(--brand-black, #07140D);color:rgba(255, 255, 255, 0.7);border:1px solid rgba(255, 255, 255, 0.12)}.search-pill--black:hover{background:#11221A}.search-pill--black .search-input{color:var(--white, #FFFFFF)}.search-pill--black .search-input::placeholder{color:rgba(255, 255, 255, 0.55)}.search-pill--black .search-kbd{color:rgba(255, 255, 255, 0.75);background:rgba(255, 255, 255, 0.08);border:1px solid rgba(255, 255, 255, 0.15)}.search-pill--black:focus-within{background:var(--brand-black, #07140D);box-shadow:0 0 0 2px var(--brand-green, #00C87B)}.search-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;background:white;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 8px 24px rgba(0, 0, 0, 0.12),\n 0 2px 8px rgba(0, 0, 0, 0.08),\n 0 0 0 1px rgba(0, 255, 157, 0.08);max-height:500px;overflow:hidden;z-index:9999;display:flex;flex-direction:column;animation:dropdownFadeIn 0.25s cubic-bezier(0.4, 0, 0.2, 1)}.dropdown-state{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px;color:#616161;font-size:14px}.dropdown-results{list-style:none;margin:0;overflow-y:auto;overflow-x:hidden;max-height:440px}.result-item{padding:7px 7px;cursor:pointer;border-left:4px solid transparent;margin-bottom:2px;transition:all 0.25s cubic-bezier(0.4, 0, 0.2, 1);overflow:hidden;word-wrap:break-word;word-break:break-word}.result-item:hover,.result-item--selected{background:linear-gradient(\n 90deg,\n rgba(0, 255, 157, 0.08) 0%,\n rgba(0, 255, 157, 0.03) 100%\n );border-left-color:var(--green-600);box-shadow:0 2px 8px rgba(0, 255, 157, 0.15)}.result-item:hover .result-title,.result-item--selected .result-title{color:var(--green-700)}.result-title{color:var(--black);transition:color 0.2s ease}.result-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.result-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.result-badge{display:inline-block;padding:3px 8px;background:rgba(0, 255, 157, 0.12);color:var(--green-800);border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;transition:all 0.2s ease}.result-badge--parent{background:rgba(120, 0, 255, 0.08);color:var(--purple-800, #6b21a8)}.result-badge--lr{background:rgba(0, 120, 255, 0.1);color:var(--blue-800, #1565c0)}.result-item:hover .result-badge,.result-item--selected .result-badge{background:rgba(0, 255, 157, 0.2);color:var(--green-900)}.result-item:hover .result-badge--parent,.result-item--selected .result-badge--parent{background:rgba(120, 0, 255, 0.15);color:var(--purple-900, #581c87)}.result-item:hover .result-badge--lr,.result-item--selected .result-badge--lr{background:rgba(0, 120, 255, 0.18);color:var(--blue-900, #0d47a1)}.result-url{font-size:12px;color:var(--grey-600)}.external-icon{display:inline-block;width:14px;height:14px;margin-left:4px;color:var(--green-600)}.result-snippet{font-size:13px;color:#616161;line-height:1.5;margin:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;transition:color 0.2s ease}.result-item:hover .result-snippet,.result-item--selected .result-snippet{color:#424242}.dropdown-footer{border-top:1px solid rgba(0, 255, 157, 0.15);padding:10px 16px;background:linear-gradient(\n 180deg,\n rgba(0, 255, 157, 0.02) 0%,\n rgba(0, 255, 157, 0.05) 100%\n );flex-shrink:0}.footer-hint{font-size:11px;color:#616161;display:flex;align-items:center;gap:6px;flex-wrap:wrap}kbd{display:inline-block;padding:3px 7px;font-size:11px;font-family:monospace;line-height:1.2;font-weight:500;color:var(--green-700);background:rgba(0, 255, 157, 0.1);border:1px solid rgba(0, 200, 123, 0.3);border-radius:4px;box-shadow:0 2px 0 rgba(0, 255, 157, 0.15),\n inset 0 1px 0 rgba(255, 255, 255, 0.5)}.dropdown-results::-webkit-scrollbar{width:8px}.dropdown-results::-webkit-scrollbar-track{background:rgba(0, 255, 157, 0.05);border-radius:4px}.dropdown-results::-webkit-scrollbar-thumb{background:#33FFB8;border-radius:4px}.dropdown-results::-webkit-scrollbar-thumb:hover{background:#00FF9D}.flex{display:flex}.inline-flex{display:inline-flex}.text-center{text-align:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.text-error{color:var(--red-700)}.text-lighter{color:var(--grey-600)}.text-lightest{color:var(--grey-500)}.ml-4{margin-left:0.25rem}.ml-8{margin-left:0.5rem}.ml-16{margin-left:1rem}.p-16{padding:1rem}.p-64{padding:4rem}.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)}.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)}.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)}.f-ui-04{font-family:var(--f-ui-04-fontFamily);font-weight:var(--f-ui-04-fontWeight);font-size:var(--f-ui-04-fontSize);line-height:var(--f-ui-04-lineHeight);letter-spacing:var(--f-ui-04-letterSpacing)}";
8526
8740
  var EdsGlobalSearchStyle0 = edsGlobalSearchCss;
8527
8741
 
8528
8742
  class EdsGlobalSearch {
@@ -8530,6 +8744,23 @@ class EdsGlobalSearch {
8530
8744
  registerInstance(this, hostRef);
8531
8745
  this.resultSelected = createEvent(this, "resultSelected", 7);
8532
8746
  this.searchClosed = createEvent(this, "searchClosed", 7);
8747
+ /** Clear the current query and results; keep focus in the input so the
8748
+ * user can start typing again without an extra click. */
8749
+ this.handleClear = () => {
8750
+ if (this.debounceTimer) {
8751
+ clearTimeout(this.debounceTimer);
8752
+ }
8753
+ this.query = '';
8754
+ this.results = [];
8755
+ this.hasSearched = false;
8756
+ this.showDropdown = false;
8757
+ this.selectedIndex = -1;
8758
+ // Re-focus and reflect the empty value on the underlying DOM input.
8759
+ if (this.inputRef) {
8760
+ this.inputRef.value = '';
8761
+ this.inputRef.focus();
8762
+ }
8763
+ };
8533
8764
  this.handleInput = (event) => {
8534
8765
  var _a;
8535
8766
  const target = event.target;
@@ -8562,6 +8793,7 @@ class EdsGlobalSearch {
8562
8793
  this.currentOrigin = '';
8563
8794
  this.currentSource = '';
8564
8795
  this.authToken = '';
8796
+ this.variant = 'gray';
8565
8797
  this.query = '';
8566
8798
  this.results = [];
8567
8799
  this.loading = false;
@@ -8571,15 +8803,26 @@ class EdsGlobalSearch {
8571
8803
  this.selectedIndex = -1;
8572
8804
  }
8573
8805
  componentDidLoad() {
8574
- // Focus input if needed
8575
- if (this.inputRef) {
8576
- this.inputRef.focus();
8577
- }
8806
+ // ⌘K / Ctrl+K focuses the search pill from anywhere on the page.
8807
+ // Bound here (not via @Listen) so it works across shadow boundaries.
8808
+ this.cmdKListener = (event) => {
8809
+ var _a;
8810
+ const isMac = navigator.platform.toUpperCase().includes('MAC');
8811
+ const modifier = isMac ? event.metaKey : event.ctrlKey;
8812
+ if (modifier && event.key.toLowerCase() === 'k') {
8813
+ event.preventDefault();
8814
+ (_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.focus();
8815
+ }
8816
+ };
8817
+ document.addEventListener('keydown', this.cmdKListener);
8578
8818
  }
8579
8819
  disconnectedCallback() {
8580
8820
  if (this.debounceTimer) {
8581
8821
  clearTimeout(this.debounceTimer);
8582
8822
  }
8823
+ if (this.cmdKListener) {
8824
+ document.removeEventListener('keydown', this.cmdKListener);
8825
+ }
8583
8826
  }
8584
8827
  handleDocumentClick(event) {
8585
8828
  const path = event.composedPath();
@@ -8726,10 +8969,19 @@ class EdsGlobalSearch {
8726
8969
  return this.hasSearched && !this.loading && !this.hasResults && this.query.trim();
8727
8970
  }
8728
8971
  render() {
8729
- return (hAsync("div", { key: '1852fc796b6240987bcad1e278f4b1df136cc449', class: "search-wrapper" }, hAsync("eds-input-field", { key: 'b52b3f0910af3b75c52dc5fd9a514c592b257939', icon: "search", "input-id": "search-global", type: "text", name: "search-box-global", placeholder: this.placeholder, value: this.query, onInput: this.handleInput }), this.showDropdown && (hAsync("div", { key: '9f3201f757082d175f74cd6cf289235876a7adbd', class: "search-dropdown", ref: (el) => (this.dropdownRef = el) }, this.loading && (hAsync("div", { key: '3eb28e3703204b69356012f69088e6eb756be901', class: "flex text-center justify-center p-64" }, hAsync("eds-spinner", { key: '08034f1d9fd9125bc9581c89e9b2f96efc1a964b', variant: "primary", size: "sm" }))), this.error && !this.loading && (hAsync("div", { key: '8b54ae6c27499978b37a34b0b8e596216141a967', class: "flex text-center justify-center p-16" }, hAsync("span", { key: 'b4229325ea0650af096984c50882558508c3e97d', class: "text-error f-body-02" }, this.error))), this.showEmpty && (hAsync("div", { key: 'e2c4afb90f05171d30c42d7f5780388b18b19e50', class: "dropdown-state" }, hAsync("eds-icon-wrapper", { key: 'ad17ced3b7cd285c654cb88e21f295c1aaa1059f', name: "search" }), hAsync("div", { key: '66f22b148372de474fa3593deedbaa138b6f534e' }, hAsync("p", { key: 'eeb0532fbe406b0415f45685ea0f00e09950db84', class: "f-body-02" }, "No results found"), hAsync("p", { key: 'e13d6267eaa8cfc11930b2f61ea29b2f3a82cb71', class: "f-ui-04 text-lightest" }, "Try different keywords")))), this.hasResults && !this.loading && (hAsync("ul", { key: '23a0e1e6e1634d0e9212d2b9711a9d9f8d1ace42', class: "dropdown-results" }, this.results.map((result, index) => (hAsync("li", { key: result.id, "data-index": index, class: {
8972
+ return (hAsync("div", { key: '841c9a013a1c4cee9697f3465759bf638b28475e', class: "search-wrapper" }, hAsync("label", { key: 'ff1b37fff6e94019d2da63060aba77d82ee1bafb', class: `search-pill search-pill--${this.variant}`, htmlFor: "search-global" }, hAsync("svg", { key: '150aff8a31a68195e7b333b9bcfccbc3affb3901', class: "search-icon", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", "aria-hidden": "true" }, hAsync("circle", { key: 'cb424f39cd5f6316056dbcc6b80d11ce8ade1410', cx: "11", cy: "11", r: "7" }), hAsync("line", { key: '004bce39d3a9ee7a53ef0e942cf986e38b76b921', x1: "20", y1: "20", x2: "16.5", y2: "16.5" })), hAsync("input", { key: '97f4c012d7152f29fac9723ced4f06207b8a2453', id: "search-global", class: "search-input", type: "search", name: "search-box-global", placeholder: this.placeholder, value: this.query, autoComplete: "off", onInput: this.handleInput, ref: (el) => (this.inputRef = el) }), this.query && this.query.length > 0 ? (hAsync("button", { type: "button", class: "search-clear", "aria-label": "Clear search", onMouseDown: (e) => e.preventDefault() /* keep focus in input */, onClick: () => this.handleClear() }, hAsync("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2.2", "stroke-linecap": "round", "stroke-linejoin": "round", "aria-hidden": "true" }, hAsync("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), hAsync("line", { x1: "6", y1: "6", x2: "18", y2: "18" })))) : (hAsync("kbd", { class: "search-kbd", "aria-hidden": "true" }, "\u2318K"))), this.showDropdown && (hAsync("div", { key: '3354848b17ba065a64919defd74de0616a29c25c', class: "search-dropdown", ref: (el) => (this.dropdownRef = el) }, this.loading && (hAsync("div", { key: '5c5f731e969f60c8c3d2ce21683fec35302a2954', class: "flex text-center justify-center p-64" }, hAsync("eds-spinner", { key: '6d0b5223f03bb0ed2f83f2ab3c77cf4e116d87e7', variant: "primary", size: "sm" }))), this.error && !this.loading && (hAsync("div", { key: '9cbca9b3f62c2969478e34a654a973196a5e9187', class: "flex text-center justify-center p-16" }, hAsync("span", { key: 'ce2bd2f6c6b05fb5fdfec4da67460b72445970bc', class: "text-error f-body-02" }, this.error))), this.showEmpty && (hAsync("div", { key: 'b7d446aa72732c9932c90bb5ef08a2f27c357ae4', class: "dropdown-state" }, hAsync("eds-icon-wrapper", { key: 'ac5377b3efa4f26e10781f369843a69c3409ec83', name: "search" }), hAsync("div", { key: '774784c1dbe4c6e6eda9e8d70833d0a2a6821b4f' }, hAsync("p", { key: 'bbce9a267889eee40b54fd471f203b530de42a86', class: "f-body-02" }, "No results found"), hAsync("p", { key: 'd440e4e0ff4f59ea14eef7aa5db0692c4a2352fa', class: "f-ui-04 text-lightest" }, "Try different keywords")))), this.hasResults && !this.loading && (hAsync("ul", { key: 'b89e31f5931705e750f0f19fb159f93a05324e6d', class: "dropdown-results" }, this.results.map((result, index) => (hAsync("li", { key: result.id, "data-index": index, class: {
8730
8973
  'result-item': true,
8731
8974
  'result-item--selected': index === this.selectedIndex
8732
- }, onClick: () => this.selectResult(result), onMouseEnter: () => (this.selectedIndex = index) }, hAsync("div", { class: "result-header" }, hAsync("span", { class: "result-title f-body-02" }, result.title)), hAsync("div", { class: "result-meta" }, hAsync("span", { class: "result-badge" }, result.source), result.section && hAsync("span", { class: "result-badge" }, result.section), hAsync("span", { class: "result-url" }, result.url)), result.snippet && hAsync("p", { class: "result-snippet" }, this.stripHtml(result.snippet))))))), this.hasResults && !this.loading && (hAsync("div", { key: '4d901487a14818ea05d3433c7cc5b881a87764e2', class: "dropdown-footer" }, hAsync("span", { key: '8411362dd3b694220e6d10268a63ef4fc3b30eeb', class: "footer-hint" }, hAsync("kbd", { key: '5b1c50f275a4d1daa35f0b1276c26bf110189785' }, "\u2191"), " ", hAsync("kbd", { key: '711430aba48663a8f58b5f3dae15c1357e75761b' }, "\u2193"), " navigate \u2022 ", hAsync("kbd", { key: 'b4e4362f19d7b82cbce9dcdea0b9c863a6e36fef' }, "\u21B5"), " select \u2022 ", hAsync("kbd", { key: '9cc79708fece76043eb8f050b1715ff610f937ec' }, "esc"), " close")))))));
8975
+ }, onClick: () => this.selectResult(result), onMouseEnter: () => (this.selectedIndex = index) }, hAsync("div", { class: "result-header" }, hAsync("span", { class: "result-title f-body-02" }, result.title)), hAsync("div", { class: "result-meta" }, result.parent_software ? ([
8976
+ hAsync("span", { class: "result-badge result-badge--parent" }, result.parent_software),
8977
+ result.section && hAsync("span", { class: "result-badge result-badge--lr" }, result.section)
8978
+ ]) : result.source === 'kg-services' ? ([
8979
+ hAsync("span", { class: "result-badge" }, "EBRAINS KG"),
8980
+ result.section && hAsync("span", { class: "result-badge" }, result.section)
8981
+ ]) : ([
8982
+ hAsync("span", { class: "result-badge" }, result.source),
8983
+ result.section && hAsync("span", { class: "result-badge" }, result.section)
8984
+ ]), hAsync("span", { class: "result-url" }, result.url)), result.snippet && hAsync("p", { class: "result-snippet" }, this.stripHtml(result.snippet))))))), this.hasResults && !this.loading && (hAsync("div", { key: 'fd07f17d78ba2d95c30d95b35d89151b27e3a957', class: "dropdown-footer" }, hAsync("span", { key: '20a6bc436e135e29b89a94b150c505bab6281d6f', class: "footer-hint" }, hAsync("kbd", { key: '08e43dd318b0dde7d67f74731055e2bbc00bdc78' }, "\u2191"), " ", hAsync("kbd", { key: '676535d717d5fb4b98cbf09050883630dbecaf6e' }, "\u2193"), " navigate \u2022 ", hAsync("kbd", { key: 'cd9ac17223ae195b0508c7ea37ad2a9459341b8b' }, "\u21B5"), " select \u2022 ", hAsync("kbd", { key: 'dbaa3eacc337eee81404518e9bd4c9b9fbc44205' }, "esc"), " close")))))));
8733
8985
  }
8734
8986
  get el() { return getElement(this); }
8735
8987
  static get style() { return EdsGlobalSearchStyle0; }
@@ -8745,6 +8997,7 @@ class EdsGlobalSearch {
8745
8997
  "currentOrigin": [1, "current-origin"],
8746
8998
  "currentSource": [1, "current-source"],
8747
8999
  "authToken": [1, "auth-token"],
9000
+ "variant": [513],
8748
9001
  "query": [32],
8749
9002
  "results": [32],
8750
9003
  "loading": [32],
@@ -8755,7 +9008,7 @@ class EdsGlobalSearch {
8755
9008
  },
8756
9009
  "$listeners$": [[4, "click", "handleDocumentClick"], [0, "keydown", "handleKeydown"]],
8757
9010
  "$lazyBundleId$": "-",
8758
- "$attrsToReflect$": []
9011
+ "$attrsToReflect$": [["variant", "variant"]]
8759
9012
  }; }
8760
9013
  }
8761
9014
 
@@ -8818,7 +9071,7 @@ class EdsHeader {
8818
9071
  const logoType = this.variant === 'strong' ? 'negative' : 'positive';
8819
9072
  // Link intent based on header variant
8820
9073
  const linkIntent = this.variant === 'strong' ? 'underlineInverse' : 'underline';
8821
- return (hAsync("header", { key: '2c1cfca934f70c0d72fa50c163eb14524ca4e5a5', role: "banner", class: `flex items-center justify-between relative z-10 ${classes}` }, hAsync("div", { key: 'b7914ad1431d19a167e39814aa5ab7e6c87ce8e4', class: "w-[250px]" }, hAsync("div", { key: 'efb6efcb51f960e48bf236dd94d308ae12480808', class: "p-[24px]" }, hAsync("eds-logo", { key: 'a8b20eee1ed9577fc06da51e6325875f56025694', variant: logoType, href: this.url }))), this.parsedLinks && (hAsync("nav", { key: '3b322f02b8249091158876559339baf4ba763242', role: "navigation", "aria-label": "Primary", class: "flex-1 flex justify-center items-center hidden md:flex" }, hAsync("ul", { key: '8c74e64f51bddefcc578c09e5d6570f208ecbcf6', class: "flex gap-x-16" }, this.parsedLinks.map((link) => (hAsync("eds-link", { label: link.label, "aria-label": link.label, url: link.url, intent: linkIntent, size: "large", icon: link.icon, external: link.external })))))), hAsync("div", { key: 'c75b261b7bc734a121ac195400d2c1200b58d7ec', class: "w-[250px] flex justify-end items-center" }, hAsync("slot", { key: '1b447037e7158d3e06f68add6084da957ff8c8b0', name: "actions" })), this.menu && (hAsync("div", { key: '8e92ee65ed8a235ad0af4d61588ce6118a92b07f', class: "md:hidden flex overflow-hidden px-16" }, hAsync("eds-button", { key: '8b79d619d4b51dac26f0ff5347909611383cb635', "aria-label": "Menu", intent: this.variant === 'strong' ? 'ghostInverse' : 'ghost', icon: "menu", size: "small", onClick: () => this.handleToggleMenu() })))));
9074
+ return (hAsync("header", { key: 'fd95f6b0126d620ab1d4f58240d471301d607fa5', role: "banner", class: `flex items-center justify-between relative z-10 ${classes}` }, hAsync("div", { key: 'e7b1bd9a146543107d87ff6f4c8575ad63fc3889', class: "w-[250px]" }, hAsync("div", { key: '257a8bf3d0efea39bd0e7f5c92d2a6bcbaa66d48', class: "p-[24px]" }, hAsync("eds-logo", { key: '71365268524d0db6999dc6ff4a9227e388d53cdf', variant: logoType, href: this.url }))), this.parsedLinks && (hAsync("nav", { key: '085b2bd5f667ea7e0be4de77cb4bd3d1a2bb6e3c', role: "navigation", "aria-label": "Primary", class: "flex-1 flex justify-center items-center hidden md:flex" }, hAsync("ul", { key: 'b5c015e6e1fb376f6b48805cc5d0db436234a5fc', class: "flex gap-x-16" }, this.parsedLinks.map((link) => (hAsync("eds-link", { label: link.label, "aria-label": link.label, url: link.url, intent: linkIntent, size: "large", icon: link.icon, external: link.external })))))), hAsync("div", { key: '9bca10c081cd1b8157579fa587615538dc624817', class: "w-[250px] flex justify-end items-center" }, hAsync("slot", { key: '360fb5fe76b41b2513cba2f8705ea5ea91cae9a9', name: "actions" })), this.menu && (hAsync("div", { key: '7feaa2b97062e7ceb94bacc35e61a12edc0b2e54', class: "md:hidden flex overflow-hidden px-16" }, hAsync("eds-button", { key: '706c1668e3b04517cfe0cb92da5b459980986df0', "aria-label": "Menu", intent: this.variant === 'strong' ? 'ghostInverse' : 'ghost', icon: "menu", size: "small", onClick: () => this.handleToggleMenu() })))));
8822
9075
  }
8823
9076
  get hostEl() { return getElement(this); }
8824
9077
  static get style() { return EdsHeaderStyle0; }
@@ -9148,7 +9401,7 @@ class EdsIconBluesky {
9148
9401
  this.class = '';
9149
9402
  }
9150
9403
  render() {
9151
- return hAsync("span", { key: 'c2d0ffef1833f4a53a4447d517c6505ce9be70a4', class: this.class, innerHTML: bluesky });
9404
+ return hAsync("span", { key: 'f2c2ad35173c7bfeae50e5b4de8f59e362d9656f', class: this.class, innerHTML: bluesky });
9152
9405
  }
9153
9406
  static get cmpMeta() { return {
9154
9407
  "$flags$": 0,
@@ -9171,7 +9424,7 @@ class EdsIconEu {
9171
9424
  this.class = '';
9172
9425
  }
9173
9426
  render() {
9174
- return hAsync("span", { key: 'c4a043469698de97b7433749599ee04746df7f8e', class: this.class, innerHTML: euSvg });
9427
+ return hAsync("span", { key: '56f0efdfb37b2dd4474dc2e69ef649915a9f4bbc', class: this.class, innerHTML: euSvg });
9175
9428
  }
9176
9429
  static get cmpMeta() { return {
9177
9430
  "$flags$": 0,
@@ -9194,7 +9447,7 @@ class EdsIconFacebook {
9194
9447
  this.class = '';
9195
9448
  }
9196
9449
  render() {
9197
- return hAsync("span", { key: '8498500cd0da2784b889a7b2b2ca9ff4e8414ab6', class: this.class, innerHTML: facebook });
9450
+ return hAsync("span", { key: '798a3ad6a040dfce879fe62c0a32c83cbd529ad0', class: this.class, innerHTML: facebook });
9198
9451
  }
9199
9452
  static get cmpMeta() { return {
9200
9453
  "$flags$": 0,
@@ -9217,7 +9470,7 @@ class EdsIconGitlab {
9217
9470
  this.class = '';
9218
9471
  }
9219
9472
  render() {
9220
- return hAsync("span", { key: '41c0a44af7394753c8c656f5a1de86b1446f05e3', class: this.class, innerHTML: gitlabBlack });
9473
+ return hAsync("span", { key: 'd1c7c0c1e3cae3b45377e305792192df46ef064a', class: this.class, innerHTML: gitlabBlack });
9221
9474
  }
9222
9475
  static get cmpMeta() { return {
9223
9476
  "$flags$": 0,
@@ -9240,7 +9493,7 @@ class EdsIconLinkedin {
9240
9493
  this.class = '';
9241
9494
  }
9242
9495
  render() {
9243
- return hAsync("span", { key: '02a55590ddf6ee6b873370913e9e7cbfe5390c79', class: this.class, innerHTML: linkedin });
9496
+ return hAsync("span", { key: 'd8c97d9140baa6609917021bbc67fc7cca47ee32', class: this.class, innerHTML: linkedin });
9244
9497
  }
9245
9498
  static get cmpMeta() { return {
9246
9499
  "$flags$": 0,
@@ -9263,7 +9516,7 @@ class EdsIconMastodon {
9263
9516
  this.class = '';
9264
9517
  }
9265
9518
  render() {
9266
- return hAsync("span", { key: '633a54b9f7bdeec8d704d7994de959a8e12ebe4f', class: this.class, innerHTML: mastodon });
9519
+ return hAsync("span", { key: '8498500cd0da2784b889a7b2b2ca9ff4e8414ab6', class: this.class, innerHTML: mastodon });
9267
9520
  }
9268
9521
  static get cmpMeta() { return {
9269
9522
  "$flags$": 0,
@@ -9286,7 +9539,7 @@ class EdsIconTwitter {
9286
9539
  this.class = '';
9287
9540
  }
9288
9541
  render() {
9289
- return hAsync("span", { key: '6f20d0106096d427556e05b663e3fa133852470e', class: this.class, innerHTML: twitter });
9542
+ return hAsync("span", { key: '1d2f811831f0c876e8b1133c0df03b6f15acaccb', class: this.class, innerHTML: twitter });
9290
9543
  }
9291
9544
  static get cmpMeta() { return {
9292
9545
  "$flags$": 0,
@@ -11726,6 +11979,7 @@ class EdsIconWrapper {
11726
11979
  registerInstance(this, hostRef);
11727
11980
  this.name = undefined;
11728
11981
  this.size = 20;
11982
+ this.label = undefined;
11729
11983
  }
11730
11984
  render() {
11731
11985
  const iconSvg = ICONS[this.name];
@@ -11733,7 +11987,8 @@ class EdsIconWrapper {
11733
11987
  console.warn(`Icon "${this.name}" not found in ICONS`);
11734
11988
  return null;
11735
11989
  }
11736
- return (hAsync(Host, { role: "img" }, hAsync("span", { class: `icon icon--${this.size}`, innerHTML: iconSvg })));
11990
+ const decorative = !this.label;
11991
+ return (hAsync(Host, { role: decorative ? null : 'img', "aria-label": decorative ? null : this.label, "aria-hidden": decorative ? 'true' : null }, hAsync("span", { class: `icon icon--${this.size}`, innerHTML: iconSvg })));
11737
11992
  }
11738
11993
  static get style() { return EdsIconWrapperStyle0; }
11739
11994
  static get cmpMeta() { return {
@@ -11741,7 +11996,8 @@ class EdsIconWrapper {
11741
11996
  "$tagName$": "eds-icon-wrapper",
11742
11997
  "$members$": {
11743
11998
  "name": [1],
11744
- "size": [2]
11999
+ "size": [2],
12000
+ "label": [1]
11745
12001
  },
11746
12002
  "$listeners$": undefined,
11747
12003
  "$lazyBundleId$": "-",
@@ -11758,7 +12014,7 @@ class EdsIconYoutube {
11758
12014
  this.class = '';
11759
12015
  }
11760
12016
  render() {
11761
- return hAsync("span", { key: 'e07946107d2e0e5a0705bc52d27a436e0f4d5956', class: this.class, innerHTML: youtube });
12017
+ return hAsync("span", { key: '7ebb80fd84ed9ed7c227b1f1ddf213d0502160f9', class: this.class, innerHTML: youtube });
11762
12018
  }
11763
12019
  static get cmpMeta() { return {
11764
12020
  "$flags$": 0,
@@ -11834,10 +12090,10 @@ class EdsImg {
11834
12090
  imgOpts['loading'] = 'lazy';
11835
12091
  imgOpts['decoding'] = 'async';
11836
12092
  }
11837
- return (hAsync("div", { key: '401f46b1ba986cbab6ef1617039f2315fb9d5e6b', class: {
12093
+ return (hAsync("div", { key: '122ae0673a7a2c9afd88cdcf8a83b52c11f0643e', class: {
11838
12094
  'items-center justify-center': true,
11839
12095
  'effect-bg-pattern': this.lazyload && this.showBg
11840
- } }, hAsync("picture", { key: 'cf2b2803efd4f8f0abb40cd427b1b29eff591b15' }, this.formats.map((format) => (hAsync("source", { type: format.type, srcSet: format.srcset, media: format.media, sizes: this.sizes }))), hAsync("img", Object.assign({ key: 'a256bcf9c87284391fdeebcf6dcdb1e95b7fc1f8', ref: (el) => (this.img = el), class: {
12096
+ } }, hAsync("picture", { key: 'b0bb1af0c95375db18bd45453016ee2fd78a6e2a' }, this.formats.map((format) => (hAsync("source", { type: format.type, srcSet: format.srcset, media: format.media, sizes: this.sizes }))), hAsync("img", Object.assign({ key: '2a8500ea92db1a846f0f6dbb41fa664c3d514f19', ref: (el) => (this.img = el), class: {
11841
12097
  'effect-opacity object-cover object-center': true,
11842
12098
  'opacity-100': this.loaded,
11843
12099
  'opacity-0': !this.loaded
@@ -11897,6 +12153,7 @@ class EdsInput {
11897
12153
  this.min = undefined;
11898
12154
  this.max = undefined;
11899
12155
  this.step = undefined;
12156
+ this.inputTabIndex = undefined;
11900
12157
  this.innerVal = '';
11901
12158
  this.maxLengthReached = false;
11902
12159
  }
@@ -11919,7 +12176,7 @@ class EdsInput {
11919
12176
  render() {
11920
12177
  const withIcon = !!this.icon;
11921
12178
  const describedBy = this.hasMessage || this.error ? `${this.name}-error` : '';
11922
- return (hAsync("div", { key: '5e5aabb89e931e0129ad606f9ed6070e336f9d98', class: "relative flex items-center" }, this.type === 'textarea' ? (hAsync("textarea", { id: this.inputId || this.name, name: this.name, placeholder: this.placeholder, value: this.innerVal.toString(), required: this.required, disabled: this.disabled, class: `min-h-80 input input-textarea ${withIcon ? 'input-with-icon' : ''} ${this.error ? 'input-error' : ''} ${this.extraClass}`, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, maxlength: this.maxLength, onInput: this.handleInput, onChange: this.handleInput })) : this.type === 'select' ? (hAsync("select", { id: this.inputId || this.name, name: this.name, required: this.required, disabled: this.disabled, class: `input input-select ${this.error ? 'input-error' : ''} ${this.extraClass}`, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, onInput: this.handleInput, onChange: this.handleInput }, this.options.map((option) => (hAsync("option", { value: option.value, selected: option.value === this.innerVal, key: option.value }, option.label))))) : (hAsync("input", Object.assign({ id: this.inputId || this.name, name: this.name, placeholder: this.placeholder, value: this.innerVal.toString(), required: this.required, disabled: this.disabled, type: this.type, checked: ['radio', 'checkbox'].includes(this.type) ? this.checked : undefined }, (this.type === 'number'
12179
+ return (hAsync("div", { key: '0261b14034860a2f59dde8de72d6729ec411d2cf', class: "relative flex items-center" }, this.type === 'textarea' ? (hAsync("textarea", { id: this.inputId || this.name, name: this.name, placeholder: this.placeholder, value: this.innerVal.toString(), required: this.required, disabled: this.disabled, class: `min-h-80 input input-textarea ${withIcon ? 'input-with-icon' : ''} ${this.error ? 'input-error' : ''} ${this.extraClass}`, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, maxlength: this.maxLength, onInput: this.handleInput, onChange: this.handleInput })) : this.type === 'select' ? (hAsync("select", { id: this.inputId || this.name, name: this.name, required: this.required, disabled: this.disabled, class: `input input-select ${this.error ? 'input-error' : ''} ${this.extraClass}`, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, onInput: this.handleInput, onChange: this.handleInput }, this.options.map((option) => (hAsync("option", { value: option.value, selected: option.value === this.innerVal, key: option.value }, option.label))))) : (hAsync("input", Object.assign({ id: this.inputId || this.name, name: this.name, placeholder: this.placeholder, value: this.innerVal.toString(), required: this.required, disabled: this.disabled, type: this.type, tabindex: this.inputTabIndex, checked: ['radio', 'checkbox'].includes(this.type) ? this.checked : undefined }, (this.type === 'number'
11923
12180
  ? {
11924
12181
  min: this.min,
11925
12182
  max: this.max,
@@ -11930,7 +12187,7 @@ class EdsInput {
11930
12187
  input ${this.type === 'radio' ? 'input-radio' : this.type === 'checkbox' ? 'input-checkbox' : ''}
11931
12188
  ${withIcon && this.type !== 'radio' && this.type !== 'checkbox' ? 'input-icon pl-36' : ''}
11932
12189
  ${this.error ? 'input-error' : ''}
11933
- `, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, maxlength: this.maxLength, onInput: this.handleInput, onChange: this.handleInput }))), this.maxLength && this.type === 'textarea' && (hAsync("span", { key: 'b3f75c5b363dc5320d4552ca9d9544975fdd89e0', class: `input-counter f-ui-05 absolute bottom-8 right-8 ${this.maxLengthReached ? 'input-counter-error' : ''}` }, this.maxLength)), this.icon && (hAsync("eds-icon-wrapper", { key: 'e3d18b7c5089e635ee3c4341f039482fdf37f5f1', class: `absolute top-1/2 left-[12px] -translate-y-1/2 ${this.disabled ? 'text-lightest' : 'text-lightest'}`, name: this.icon }))));
12190
+ `, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, maxlength: this.maxLength, onInput: this.handleInput, onChange: this.handleInput }))), this.maxLength && this.type === 'textarea' && (hAsync("span", { key: 'f2a7b410ee586d3266d05d422f3376488392fc6b', class: `input-counter f-ui-05 absolute bottom-8 right-8 ${this.maxLengthReached ? 'input-counter-error' : ''}` }, this.maxLength)), this.icon && (hAsync("eds-icon-wrapper", { key: '37581bbd64652b25a00a401ab359736169814b1f', class: `absolute top-1/2 left-[12px] -translate-y-1/2 ${this.disabled ? 'text-lightest' : 'text-lightest'}`, name: this.icon }))));
11934
12191
  }
11935
12192
  get el() { return getElement(this); }
11936
12193
  static get watchers() { return {
@@ -11957,6 +12214,7 @@ class EdsInput {
11957
12214
  "min": [2],
11958
12215
  "max": [2],
11959
12216
  "step": [2],
12217
+ "inputTabIndex": [2, "input-tab-index"],
11960
12218
  "innerVal": [32],
11961
12219
  "maxLengthReached": [32]
11962
12220
  },
@@ -12063,7 +12321,7 @@ class EdsInputDropzone {
12063
12321
  }
12064
12322
  render() {
12065
12323
  const dropzoneClass = `eds-input-dropzone ${this.isDragging ? 'dragging' : ''} ${this.disabled ? 'disabled' : ''}`;
12066
- return (hAsync("div", { key: 'a5f1b90a46927fc9b6396c7aa46b6871233f543a', class: "eds-input-dropzone-container" }, hAsync("input", { key: '3eefd790de82dc7686f1eaeb70f974155830d0e1', ref: (el) => (this.fileInputRef = el), type: "file", id: this.inputId || this.name, name: this.name, class: "eds-input-dropzone-hidden", disabled: this.disabled, required: this.required, multiple: this.multiple, accept: this.accept, onChange: this.handleFileSelect }), hAsync("div", { key: 'e9f2a824fd9df33e943b6b4ab80dff9b6b0c031d', class: dropzoneClass, onClick: this.handleDropzoneClick, onDragOver: this.handleDragOver, onDragLeave: this.handleDragLeave, onDrop: this.handleDrop }, hAsync("svg", { key: 'f7535c3bb5e80e894520176de395da72732fa714', class: "dropzone-icon", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, hAsync("path", { key: 'c16c8692d38cf348ec967b2a3617422afff7909a', d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }), hAsync("polyline", { key: '13d7a4c1ae764156957c86c03dbeb4e18f4df227', points: "17 8 12 3 7 8" }), hAsync("line", { key: 'ddd716e98d7defa01360ecaa726696141116c860', x1: "12", y1: "3", x2: "12", y2: "15" })), hAsync("div", { key: '2ab160b911248c5db33b00100b2dbacfeebd6145', class: "dropzone-text" }, hAsync("p", { key: '4dc47aaa591673211e7b6b2fbd84565a3986bf8e', class: "dropzone-primary" }, this.primaryText), hAsync("p", { key: '92d44b3198860ad6509743a7c55a7c1f949fab70', class: "dropzone-secondary" }, this.secondaryText))), this.selectedFiles.length > 0 && (hAsync("div", { key: '84b2403ba93872292c4d15206d9fcbe1a71a21a5', class: "eds-input-dropzone-chips" }, this.selectedFiles.map((item) => (hAsync("div", { key: item.id, class: "eds-input-dropzone-chip" }, this.getFileIcon(item.file.name), hAsync("span", { class: "eds-input-dropzone-chip-name" }, item.file.name), hAsync("span", { class: "eds-input-dropzone-chip-size" }, this.formatFileSize(item.file.size)), hAsync("button", { type: "button", class: "eds-input-dropzone-chip-remove", onClick: () => this.handleRemoveFile(item.id), disabled: this.disabled, "aria-label": `Remove ${item.file.name}` }, hAsync("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2" }, hAsync("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), hAsync("line", { x1: "6", y1: "6", x2: "18", y2: "18" }))))))))));
12324
+ return (hAsync("div", { key: '8c6d9cdd919e72f5e85a7b01a2db3cb6fadface0', class: "eds-input-dropzone-container" }, hAsync("input", { key: 'fb643c39fa588971f825a01b20e8da6ac2da7d36', ref: (el) => (this.fileInputRef = el), type: "file", id: this.inputId || this.name, name: this.name, class: "eds-input-dropzone-hidden", disabled: this.disabled, required: this.required, multiple: this.multiple, accept: this.accept, onChange: this.handleFileSelect }), hAsync("div", { key: 'fd000cfb95b10eb54798ea5575810692c8cce65d', class: dropzoneClass, onClick: this.handleDropzoneClick, onDragOver: this.handleDragOver, onDragLeave: this.handleDragLeave, onDrop: this.handleDrop }, hAsync("svg", { key: 'ed7588f87e4182351f5301992ae582df1f21be5e', class: "dropzone-icon", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, hAsync("path", { key: '9977271ac6bb26c6d642708eb6a7d2f2ca242dcc', d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }), hAsync("polyline", { key: 'f32b1ff2bea2718e075d78985837ba71acf23ce9', points: "17 8 12 3 7 8" }), hAsync("line", { key: '326bc6f0e24c191a26859567653f807c81745a77', x1: "12", y1: "3", x2: "12", y2: "15" })), hAsync("div", { key: 'f880855ecf537d527663101a5348591f975e7074', class: "dropzone-text" }, hAsync("p", { key: '4747da3e157c6b1c3e56774867fc0258e2e77059', class: "dropzone-primary" }, this.primaryText), hAsync("p", { key: '7852be7ecdcdfabf5fed632065b14128941461ee', class: "dropzone-secondary" }, this.secondaryText))), this.selectedFiles.length > 0 && (hAsync("div", { key: '36347980293d2ea800a845a4ab5bb9c28fedc485', class: "eds-input-dropzone-chips" }, this.selectedFiles.map((item) => (hAsync("div", { key: item.id, class: "eds-input-dropzone-chip" }, this.getFileIcon(item.file.name), hAsync("span", { class: "eds-input-dropzone-chip-name" }, item.file.name), hAsync("span", { class: "eds-input-dropzone-chip-size" }, this.formatFileSize(item.file.size)), hAsync("button", { type: "button", class: "eds-input-dropzone-chip-remove", onClick: () => this.handleRemoveFile(item.id), disabled: this.disabled, "aria-label": `Remove ${item.file.name}` }, hAsync("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2" }, hAsync("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), hAsync("line", { x1: "6", y1: "6", x2: "18", y2: "18" }))))))))));
12067
12325
  }
12068
12326
  get hostEl() { return getElement(this); }
12069
12327
  static get style() { return EdsInputDropzoneStyle0; }
@@ -12210,9 +12468,12 @@ class EdsInputField {
12210
12468
  return [];
12211
12469
  }
12212
12470
  render() {
12213
- const inputOpts = Object.assign({ name: this.name, id: this.inputId, placeholder: this.placeholder, disabled: this.disabled, onInput: this.handleNativeInput, onChange: this.handleNativeChange, type: this.type, required: this.required, value: this.value, error: this.error, icon: this.icon, checked: this.checked }, (this.type === 'number' ? { min: this.min, max: this.max, step: this.step } : {}));
12214
- return (hAsync("div", { key: '1568054341b82bcaa01ffe4a48092d5f25a639ed' }, this.type === 'checkbox' || this.type === 'radio' ? (this.parsedOptions.length > 0 ? (hAsync("fieldset", { class: "space-y-4" }, (this.label || this.hint) && (hAsync("div", { class: "flex justify-between mb-4" }, this.label && (hAsync("eds-input-label", { name: this.inputId || this.name, label: this.label, required: this.required })), this.hint && (hAsync("p", { id: `${this.name}-hint`, class: "f-ui-05 text-lighter mt-8 ml-8" }, this.hint)))), this.parsedOptions.map((option) => (hAsync("div", { class: "flex items-center gap-x-4 gap-y-4", key: option.value }, hAsync("eds-input", Object.assign({}, inputOpts, { value: option.value, checked: typeof this.value === 'string' && this.value.split(',').includes(String(option.value)) })), hAsync("label", { htmlFor: this.name, class: `input-label-options ${this.disabled ? 'text-lighter' : ''}` }, option.label)))))) : (hAsync("div", { class: "flex items-center gap-x-8" }, hAsync("eds-input", Object.assign({}, inputOpts, { value: this.value, checked: this.value === 'on' || this.checked })), this.label && (hAsync("eds-input-label", { name: this.inputId || this.name, label: this.label, disabled: this.disabled, required: this.required }))))) : (hAsync("div", null, (this.label || this.hint) && (hAsync("div", { class: "flex justify-between mb-4" }, this.label && (hAsync("eds-input-label", { name: this.inputId || this.name, label: this.label, disabled: this.disabled, required: this.required })), this.hint && (hAsync("p", { id: `${this.name}-hint`, class: "f-ui-05 text-lighter mt-8 ml-8" }, this.hint)))), this.type === 'select' ? (hAsync("eds-input-select", Object.assign({}, inputOpts, { options: this.parsedOptions }))) : this.type === 'file' ? (hAsync("eds-input-file", { name: this.name, inputId: this.inputId, disabled: this.disabled, required: this.required, multiple: true, onEdsfile: this.handleFileChange })) : this.type === 'dropzone' ? (hAsync("eds-input-dropzone", { name: this.name, inputId: this.inputId, disabled: this.disabled, required: this.required, multiple: true, onEdsfile: this.handleFileChange })) : this.type === 'search' ? (hAsync("eds-input-search", { name: "search-box" })) : this.type === 'range' ? ((() => {
12215
- var _a, _b, _c;
12471
+ const inputOpts = Object.assign({ name: this.name, id: this.inputId, placeholder: this.placeholder, disabled: this.disabled, onInput: this.handleNativeInput, onChange: this.handleNativeChange, type: this.type, required: this.required, value: this.value, error: this.error,
12472
+ // Icons are only supported on text inputs for now ignore the prop for
12473
+ // every other type so e.g. number/select/checkbox never render one.
12474
+ icon: this.type === 'text' ? this.icon : undefined, checked: this.checked }, (this.type === 'number' ? { min: this.min, max: this.max, step: this.step } : {}));
12475
+ return (hAsync("div", { key: '2072cce16b572431b41363beff779d8631de7abc' }, this.type === 'checkbox' || this.type === 'radio' ? (this.parsedOptions.length > 0 ? (hAsync("fieldset", { class: "space-y-4" }, (this.label || this.hint) && (hAsync("div", { class: "flex justify-between mb-4" }, this.label && (hAsync("eds-input-label", { name: this.inputId || this.name, label: this.label, required: this.required })), this.hint && (hAsync("p", { id: `${this.name}-hint`, class: "f-ui-05 text-lighter mt-8 ml-8" }, this.hint)))), this.parsedOptions.map((option) => (hAsync("div", { class: "flex items-center gap-x-4 gap-y-4", key: option.value }, hAsync("eds-input", Object.assign({}, inputOpts, { inputId: `${this.inputId || this.name}-${option.value}`, inputTabIndex: 0, value: option.value, checked: typeof this.value === 'string' && this.value.split(',').includes(String(option.value)) })), hAsync("label", { htmlFor: `${this.inputId || this.name}-${option.value}`, class: `input-label-options ${this.disabled ? 'text-lighter' : ''}` }, option.label)))))) : (hAsync("div", { class: "flex items-center gap-x-8" }, hAsync("eds-input", Object.assign({}, inputOpts, { inputTabIndex: 0, value: this.value, checked: this.value === 'on' || this.checked })), this.label && (hAsync("eds-input-label", { name: this.inputId || this.name, label: this.label, disabled: this.disabled, required: this.required }))))) : (hAsync("div", null, (this.label || this.hint) && (hAsync("div", { class: "flex justify-between mb-4" }, this.label && (hAsync("eds-input-label", { name: this.inputId || this.name, label: this.label, disabled: this.disabled, required: this.required })), this.hint && (hAsync("p", { id: `${this.name}-hint`, class: "f-ui-05 text-lighter mt-8 ml-8" }, this.hint)))), this.type === 'select' ? (hAsync("eds-input-select", Object.assign({}, inputOpts, { options: this.parsedOptions }))) : this.type === 'file' ? (hAsync("eds-input-file", { name: this.name, inputId: this.inputId, disabled: this.disabled, required: this.required, multiple: true, onEdsfile: this.handleFileChange })) : this.type === 'dropzone' ? (hAsync("eds-input-dropzone", { name: this.name, inputId: this.inputId, disabled: this.disabled, required: this.required, multiple: true, onEdsfile: this.handleFileChange })) : this.type === 'range' ? ((() => {
12476
+ var _a, _b, _c, _d, _e, _f;
12216
12477
  const rangeProps = {
12217
12478
  name: inputOpts.name,
12218
12479
  inputId: inputOpts.id || inputOpts.name,
@@ -12223,8 +12484,11 @@ class EdsInputField {
12223
12484
  };
12224
12485
  const opt = this.parsedOptions;
12225
12486
  const numberValue = typeof this.value === 'string' ? parseFloat(this.value) : this.value;
12226
- return (hAsync("eds-input-range", Object.assign({}, rangeProps, { min: (_a = opt[0]) === null || _a === void 0 ? void 0 : _a.value, max: (_b = opt[1]) === null || _b === void 0 ? void 0 : _b.value, step: (_c = opt[2]) === null || _c === void 0 ? void 0 : _c.value, value: numberValue })));
12227
- })()) : (hAsync("eds-input", Object.assign({}, inputOpts))))), hAsync("div", { key: '5df838f8bf73bc9e0dfa0792f76ad1b958f3d1fc', class: "mt-6" }, hAsync("eds-input-footer", { key: 'daf5d0fd8d9cca3241e760b740a47e2663c3e665', id: `${this.name}-footer`, name: this.name, message: this.message, "error-message": this.errorMessage, error: this.error, link: this.link }))));
12487
+ // Prefer the explicit min/max/step props (consistent with
12488
+ // type="number"); fall back to options[0..2].value for
12489
+ // backward compatibility with existing range fields.
12490
+ return (hAsync("eds-input-range", Object.assign({}, rangeProps, { min: (_a = this.min) !== null && _a !== void 0 ? _a : (_b = opt[0]) === null || _b === void 0 ? void 0 : _b.value, max: (_c = this.max) !== null && _c !== void 0 ? _c : (_d = opt[1]) === null || _d === void 0 ? void 0 : _d.value, step: (_e = this.step) !== null && _e !== void 0 ? _e : (_f = opt[2]) === null || _f === void 0 ? void 0 : _f.value, value: numberValue })));
12491
+ })()) : (hAsync("eds-input", Object.assign({}, inputOpts))))), hAsync("div", { key: 'f3ab7ef07c5c35f6d5e5d7a3ec35f98fe133ab5b', class: "mt-6" }, hAsync("eds-input-footer", { key: 'a72af69114cd3916e9ffa6ca8a65dced572dadf7', id: `${this.name}-footer`, name: this.name, message: this.message, "error-message": this.errorMessage, error: this.error, link: this.link }))));
12228
12492
  }
12229
12493
  static get delegatesFocus() { return true; }
12230
12494
  get hostEl() { return getElement(this); }
@@ -12329,7 +12593,7 @@ class EdsInputFile {
12329
12593
  }
12330
12594
  render() {
12331
12595
  const effectiveLabel = this.buttonLabel || (this.multiple ? 'Choose Files' : 'Choose File');
12332
- return (hAsync("div", { key: 'c4c8f06b7d911cc7b9aa44a54bc1ec1144fc7901', class: "eds-input-file-container" }, hAsync("input", { key: 'bf4d4f3b3a49a2b386780fd6d65056e2bfee327d', ref: (el) => (this.fileInputRef = el), type: "file", id: this.inputId || this.name, name: this.name, class: "eds-input-file-hidden", disabled: this.disabled, required: this.required, multiple: this.multiple, accept: this.accept, onChange: this.handleFileSelect }), hAsync("button", { key: 'cb4447bab24a31ba0ab7ab852041a9117a4c8d16', type: "button", class: "eds-input-file-btn", onClick: this.handleButtonClick, disabled: this.disabled }, hAsync("svg", { key: 'b5a98574c8b044b63bf4d6b5384f691d78179b25', viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, hAsync("path", { key: '9dcd73b3ea6b947052417dedbdedfbe9c1683d11', d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }), hAsync("polyline", { key: '17442a8caa70a37f77839b4a313a36aa8324d54a', points: "17 8 12 3 7 8" }), hAsync("line", { key: 'de51aa410bd793d708280bc398766859afa59ff5', x1: "12", y1: "3", x2: "12", y2: "15" })), effectiveLabel), this.selectedFiles.length > 0 && (hAsync("div", { key: '179a1541b71508f3bf78760079d04b2d98a8c7ec', class: "eds-input-file-chips" }, this.selectedFiles.map((item) => (hAsync("div", { key: item.id, class: "eds-input-file-chip" }, this.getFileIcon(item.file.name), hAsync("span", { class: "eds-input-file-chip-name" }, item.file.name), hAsync("span", { class: "eds-input-file-chip-size" }, this.formatFileSize(item.file.size)), hAsync("button", { type: "button", class: "eds-input-file-chip-remove", onClick: () => this.handleRemoveFile(item.id), disabled: this.disabled, "aria-label": `Remove ${item.file.name}` }, hAsync("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2" }, hAsync("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), hAsync("line", { x1: "6", y1: "6", x2: "18", y2: "18" }))))))))));
12596
+ return (hAsync("div", { key: 'e02d98fbc01dbe7a89eeb3010f966ed4a373ede6', class: "eds-input-file-container" }, hAsync("input", { key: '2013826fda9453aade4528c9f051aac98780662f', ref: (el) => (this.fileInputRef = el), type: "file", id: this.inputId || this.name, name: this.name, class: "eds-input-file-hidden", disabled: this.disabled, required: this.required, multiple: this.multiple, accept: this.accept, onChange: this.handleFileSelect }), hAsync("button", { key: 'f5e5cf91376ccb69b39ef3c9b11095aca8bfb728', type: "button", class: "eds-input-file-btn", onClick: this.handleButtonClick, disabled: this.disabled }, hAsync("svg", { key: '563066375b42d0a8c14f14ac9fdfb587539f4e76', viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, hAsync("path", { key: 'ebe5549fffa0c2453ab98891da75a464c09e9fa2', d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }), hAsync("polyline", { key: '69036b82e15103e481770d0ef2c500b0dcad0399', points: "17 8 12 3 7 8" }), hAsync("line", { key: 'e0531be95796ec6dc7f9fe359e4736a15a0e3640', x1: "12", y1: "3", x2: "12", y2: "15" })), effectiveLabel), this.selectedFiles.length > 0 && (hAsync("div", { key: '62590fb46cee89d2524f1ede71c7af341c3e426a', class: "eds-input-file-chips" }, this.selectedFiles.map((item) => (hAsync("div", { key: item.id, class: "eds-input-file-chip" }, this.getFileIcon(item.file.name), hAsync("span", { class: "eds-input-file-chip-name" }, item.file.name), hAsync("span", { class: "eds-input-file-chip-size" }, this.formatFileSize(item.file.size)), hAsync("button", { type: "button", class: "eds-input-file-chip-remove", onClick: () => this.handleRemoveFile(item.id), disabled: this.disabled, "aria-label": `Remove ${item.file.name}` }, hAsync("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2" }, hAsync("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), hAsync("line", { x1: "6", y1: "6", x2: "18", y2: "18" }))))))))));
12333
12597
  }
12334
12598
  get hostEl() { return getElement(this); }
12335
12599
  static get style() { return EdsInputFileStyle0; }
@@ -12353,7 +12617,7 @@ class EdsInputFile {
12353
12617
  }; }
12354
12618
  }
12355
12619
 
12356
- const edsInputFooterCss = "p{margin:0}.text-error{color:var(--red-700)}.flex{display:flex}.items-center{align-items:center}.f-ui-04{font-family:var(--f-ui-04-fontFamily);font-weight:var(--f-ui-04-fontWeight);font-size:var(--f-ui-04-fontSize);line-height:var(--f-ui-04-lineHeight);letter-spacing:var(--f-ui-04-letterSpacing)}.ml-4{margin-left:0.25rem}.pt-4{padding-top:0.25rem}.mb-4{margin-bottom:0.25rem}.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)}.text-lighter{color:var(--grey-600)}.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)}.hover\\:text-lighter:hover{color:var(--grey-600)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}";
12620
+ const edsInputFooterCss = "p{margin:0}.eds-desc-link{position:relative;display:inline-block;color:var(--brand-black);text-decoration:none}.eds-desc-link::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background-color:var(--brand-green);transition:width 0.3s ease}.eds-desc-link:hover::after{width:100%}.eds-desc-link:focus-visible::after{width:0}eds-link{--f-ui-02-fontSize:var(--f-ui-04-fontSize)}.text-error{color:var(--red-700)}.flex{display:flex}.items-center{align-items:center}.f-ui-04{font-family:var(--f-ui-04-fontFamily);font-weight:var(--f-ui-04-fontWeight);font-size:var(--f-ui-04-fontSize);line-height:var(--f-ui-04-lineHeight);letter-spacing:var(--f-ui-04-letterSpacing)}.ml-4{margin-left:0.25rem}.pt-4{padding-top:0.25rem}.mb-4{margin-bottom:0.25rem}.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)}.text-lighter{color:var(--grey-600)}.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)}.hover\\:text-lighter:hover{color:var(--grey-600)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}";
12357
12621
  var EdsInputFooterStyle0 = edsInputFooterCss;
12358
12622
 
12359
12623
  class EdsInputFooter {
@@ -12366,7 +12630,7 @@ class EdsInputFooter {
12366
12630
  this.link = undefined;
12367
12631
  }
12368
12632
  render() {
12369
- return (hAsync("div", { key: 'b6e571eae554f1292e897d99443ea03b6dfa4fe3' }, this.error && this.errorMessage && (hAsync("div", { key: '9240b3db2aee19b5cbc1c54aa7a90994c23580d0', id: `error_${this.name}`, class: "text-error flex items-center" }, hAsync("eds-icon-wrapper", { key: '68b17235d0396119275c9b2a883bb47ee365c266', name: "warning", size: 20 }), hAsync("p", { key: 'bfb1721ddcc7ad63583e56911b8c4a31f1147c51', class: "f-ui-04 ml-4 mb-4 pt-4", innerHTML: this.errorMessage }))), this.message && hAsync("p", { key: '390c9ea7b3b2754a1a090c9f3f3ec6996a8f0945', id: `desc_${this.name}`, class: "f-ui-05 text-lighter", innerHTML: this.message }), this.link && (hAsync("eds-link", { key: '0777fb8b099d5cc7fa2902bf1b741f28592515a1', label: this.link.label, url: this.link.url, intent: "underline", size: "small", external: true }))));
12633
+ return (hAsync("div", { key: '866e375b5dd1d9c958f2255537e919a8c1f25dc7' }, this.error && this.errorMessage && (hAsync("div", { key: '95d11c9cbb7746cc727ad9e037d00a28d9475bfc', id: `error_${this.name}`, class: "text-error flex items-center" }, hAsync("eds-icon-wrapper", { key: 'face7f905ffa7c5f4dc7a7e6825d185e0d6b7901', name: "warning", size: 20 }), hAsync("p", { key: '2011af93e06df1d91972843a510e843763f53b0b', class: "f-ui-04 ml-4 mb-4 pt-4", innerHTML: this.errorMessage }))), this.message && hAsync("p", { key: '39d6833a30e7b93f75154a14bee1e6b4500575cb', id: `desc_${this.name}`, class: "f-ui-04 text-lighter", innerHTML: safeInlineFormat(this.message) }), this.link && (hAsync("eds-link", { key: 'bfbf95e704574ada6f857ca08a90409ab38c1a5e', label: this.link.label, url: this.link.url, intent: "underline", size: "small", external: true }))));
12370
12634
  }
12371
12635
  static get style() { return EdsInputFooterStyle0; }
12372
12636
  static get cmpMeta() { return {
@@ -12397,7 +12661,7 @@ class EdsInputLabel {
12397
12661
  this.disabled = false;
12398
12662
  }
12399
12663
  render() {
12400
- return (hAsync("label", { key: '7790bae024ee253c12b47ee43dd7697329ff5602', htmlFor: this.name, class: `input-label ${this.disabled ? 'text-lighter' : ''}` }, this.label, this.required && (hAsync("span", { key: '1f8e72cee3848171c0f70ce7564524c9f2646eeb' }, hAsync("span", { key: '5ac8ccbe9b984c54ae3a556ea0dc09d6fa625f24', "aria-hidden": "true" }, "*"), hAsync("span", { key: 'a562b41bce8a4e671596266c7705a98f5b2252d0', class: "sr-only" }, "required")))));
12664
+ return (hAsync("label", { key: '40867ae01e94ab7a69b6f82658e4ee1b1e5b87cf', htmlFor: this.name, class: `input-label ${this.disabled ? 'text-lighter' : ''}` }, this.label, this.required && (hAsync("span", { key: 'e3cfc44ea2a7f53f51c544648b3c635557cb8248' }, hAsync("span", { key: 'ff7559b58cb22ce2a3066ed15e77f6088f299aaa', "aria-hidden": "true" }, "*"), hAsync("span", { key: '2c831682aae410ac71589171e2b04981c60052bb', class: "sr-only" }, "required")))));
12401
12665
  }
12402
12666
  static get style() { return EdsInputLabelStyle0; }
12403
12667
  static get cmpMeta() { return {
@@ -12465,7 +12729,7 @@ class EdsInputRange {
12465
12729
  render() {
12466
12730
  var _a;
12467
12731
  const currentValue = (_a = this.sliderVal) !== null && _a !== void 0 ? _a : Math.round(this.min + (this.max - this.min) / 2);
12468
- return (hAsync("div", { key: '9be1a9d4241844c03d7e2b851ebc5ce181bfadf6', class: "relative flex flex-col items-start" }, hAsync("input", { key: '746c10f7a466a6b498f57812dcb6d9b9ff1e685d', id: this.inputId || this.name, name: this.name, min: this.min, max: this.max, step: this.step, value: currentValue, required: this.required, disabled: this.disabled, type: "range", class: "w-full py-6 input", tabindex: "0", role: "slider", "aria-describedby": `desc_${this.name}`, "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": currentValue, onInput: this.onInput, onChange: this.onChange }), hAsync("p", { key: '97b516ab9c20d9b5c7a783b369081b29eb3a83f0', id: `desc_${this.name}`, class: "block f-ui-05 mt-4 text-light" }, "Current value: ", currentValue)));
12732
+ return (hAsync("div", { key: '231ae0f34900dfa3b8edeb9745ce07220735c613', class: "relative flex flex-col items-start" }, hAsync("input", { key: '2cbfbbb410694a4764f44c26a74f4cbca9b98f3c', id: this.inputId || this.name, name: this.name, min: this.min, max: this.max, step: this.step, value: currentValue, required: this.required, disabled: this.disabled, type: "range", class: "w-full py-6 input", tabindex: "0", role: "slider", "aria-describedby": `desc_${this.name}`, "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": currentValue, onInput: this.onInput, onChange: this.onChange }), hAsync("p", { key: '8e7036cbaeebb62c6cd4b7f2105d3fa487ad463e', id: `desc_${this.name}`, class: "block f-ui-05 mt-4 text-light" }, "Current value: ", currentValue)));
12469
12733
  }
12470
12734
  get el() { return getElement(this); }
12471
12735
  static get watchers() { return {
@@ -12560,7 +12824,7 @@ class EdsInputSearch {
12560
12824
  return this.inputElement;
12561
12825
  }
12562
12826
  render() {
12563
- return (hAsync("div", { key: '849afaf3483b07fd2579d1138fbc1c1eee3930be', class: "relative flex items-center" }, hAsync("eds-icon-wrapper", { key: '1b9a30ee46d4575116b585efe8a2d0c6d6b83b39', name: "search", class: "absolute top-1/2 left-[14px] -translate-y-1/2 text-lightest", "aria-hidden": "true" }), hAsync("input", { key: '174fc93f10851aec47cb440895105c34600de601', id: this.inputId || this.name, name: this.name, placeholder: this.placeholder, value: this.value || '', required: this.required, disabled: this.disabled, type: "search", "aria-label": this.placeholder, class: `input pl-36 ${this.decorate}`,
12827
+ return (hAsync("div", { key: '52676b3559e14b5153f7d8f0fa6cd12e49354d87', class: "relative flex items-center" }, hAsync("eds-icon-wrapper", { key: '754e8753607c01dab63d156d306f3325547049aa', name: "search", class: "absolute top-1/2 left-[14px] -translate-y-1/2 text-lightest", "aria-hidden": "true" }), hAsync("input", { key: 'b49d523195711316c0817de67776d379a6c7248b', id: this.inputId || this.name, name: this.name, placeholder: this.placeholder, value: this.value || '', required: this.required, disabled: this.disabled, type: "search", "aria-label": this.placeholder, class: `input pl-36 ${this.decorate}`,
12564
12828
  //onInput={this.onInput}
12565
12829
  onChange: this.onChange })));
12566
12830
  }
@@ -12614,12 +12878,12 @@ class EdsInputSelect {
12614
12878
  const selectId = this.inputId || this.name;
12615
12879
  const placeholderText = this.placeholder || `Pick from the list`;
12616
12880
  const describedBy = this.hasMessage || this.error ? `${this.name}-error` : undefined;
12617
- return (hAsync("div", { key: 'c2f809a88f8b9eab6a36b86bb49daaa39ac1a832', class: "relative" }, hAsync("select", { key: '0847d6526bd118db744627279d96a979dafd19d1', id: selectId, name: this.name, class: {
12881
+ return (hAsync("div", { key: '8365ffbc8f6f6386edfc1626d16c9152fd3cce9f', class: "relative" }, hAsync("select", { key: '52e712898a3251cea5447a379886449175e7c8b8', id: selectId, name: this.name, class: {
12618
12882
  input: true,
12619
12883
  'input-error': this.error,
12620
12884
  'px-4': true,
12621
12885
  'py-2': true
12622
- }, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, disabled: this.disabled, required: this.required, onChange: this.handleChange }, hAsync("option", { key: '1d66602cc92028fddfd047bb2fc79c8f3602ba8e', value: "", disabled: true, selected: !this.value || this.value === '' }, placeholderText), this.options.map((opt, index) => (hAsync("option", { key: index, value: opt.value, selected: opt.value === this.value }, opt.label)))), hAsync("span", { key: '40f750ff55b0ac5707c4010868835c6d82537d17', class: "bg-dark rounded-xs absolute top-1/2 right-[6px] flex h-28 w-28 -translate-y-1/2 items-center justify-center" }, hAsync("eds-icon-wrapper", { key: 'ef8c068e287819be7228940bfbe0b8b923e22087', class: "w-20 h-20", name: "chevron-right" }))));
12886
+ }, "aria-invalid": this.error ? 'true' : 'false', "aria-describedby": describedBy, disabled: this.disabled, required: this.required, onChange: this.handleChange }, hAsync("option", { key: 'd52c376ffb683abc0dec72177dba445273d148f7', value: "", disabled: true, selected: !this.value || this.value === '' }, placeholderText), this.options.map((opt, index) => (hAsync("option", { key: index, value: opt.value, selected: opt.value === this.value }, opt.label)))), hAsync("span", { key: 'fecbcb47793f8a57de44711b33d3650be5297aa7', class: "bg-dark rounded-xs absolute top-1/2 right-[6px] flex h-28 w-28 -translate-y-1/2 items-center justify-center" }, hAsync("eds-icon-wrapper", { key: '4fda1345a62eeb212093057382d877f31bb6112d', class: "w-20 h-20", name: "chevron-right" }))));
12623
12887
  }
12624
12888
  static get cmpMeta() { return {
12625
12889
  "$flags$": 0,
@@ -12641,6 +12905,172 @@ class EdsInputSelect {
12641
12905
  }; }
12642
12906
  }
12643
12907
 
12908
+ const edsKgLearningResourcesCss = ":host{display:block;font-family:var(--plex-sans, 'IBM Plex Sans', system-ui, sans-serif);color:var(--brand-black, #07140D)}.lr-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.75rem;margin-bottom:1.5rem}.lr-heading{font-family:var(--inter, 'Inter', sans-serif);font-weight:300;font-size:1.75rem;line-height:110%;margin:0;color:var(--brand-black, #07140D)}.summary{display:flex;gap:0.5rem}.filters{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:0.75rem;margin-bottom:1.5rem;align-items:flex-end}.filter-search{grid-column:span 2}.filter-select{grid-column:span 1}.accordion-list{display:flex;flex-direction:column;gap:0.5rem}.resources-content{padding-top:0.5rem}.kg-link{margin-bottom:1rem}.resources-table{width:100%;border-collapse:collapse;font-size:0.875rem}.resources-table thead th{text-align:left;font-family:var(--plex-sans, 'IBM Plex Sans', system-ui, sans-serif);font-weight:500;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--grey-dark, #7A7B7A);padding:0.5rem 0.75rem;border-bottom:1px solid rgba(0, 0, 0, 0.1)}.resource-row{transition:background-color 0.2s ease}.resource-row--clickable{cursor:pointer}.resource-row--clickable:hover{background-color:rgba(0, 255, 157, 0.04)}.resource-row td{padding:0.625rem 0.75rem;border-bottom:1px solid rgba(0, 0, 0, 0.04);vertical-align:top}.resource-row:last-child td{border-bottom:none}.resource-name{font-weight:500;font-size:1.0625rem;color:var(--brand-black, #07140D);transition:color 0.2s ease}.resource-row--clickable:hover .resource-name{color:var(--brand-green-dark, #00C87B)}.resource-desc{margin:0.25rem 0 0;font-size:0.9375rem;color:var(--grey-dark, #7A7B7A);line-height:145%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.col-name{width:auto}.col-type{width:160px;white-space:nowrap}.col-level{width:110px;white-space:nowrap}.loading{position:relative;min-height:8rem;padding:1rem 1.25rem;color:var(--grey-dark, #7A7B7A);font-size:0.9375rem;border:1px solid rgba(0, 0, 0, 0.08);border-radius:0.25rem;background-color:rgba(0, 0, 0, 0.02)}.no-results{padding:2rem;text-align:center;color:var(--grey-dark, #7A7B7A);font-size:0.875rem}@media (max-width: 750px){.lr-header{flex-direction:column;align-items:flex-start}.filters{grid-template-columns:1fr}.filter-search,.filter-select{grid-column:span 1}.col-type,.col-level{width:auto}.resources-table thead{display:none}.resource-row{display:flex;flex-wrap:wrap;gap:0.375rem;padding:0.625rem 0;border-bottom:1px solid rgba(0, 0, 0, 0.04)}.resource-row td{border:none;padding:0}.col-name{width:100%}}";
12909
+ var EdsKgLearningResourcesStyle0 = edsKgLearningResourcesCss;
12910
+
12911
+ let cachedData = null;
12912
+ let cacheTimestamp = 0;
12913
+ const CACHE_TTL = 10 * 60 * 1000;
12914
+ class EdsKgLearningResources {
12915
+ constructor(hostRef) {
12916
+ registerInstance(this, hostRef);
12917
+ this.apiEndpoint = '/api/v1/kg/learning-resources/cached';
12918
+ this.resolveNames = true;
12919
+ this.size = 500;
12920
+ this.heading = '';
12921
+ this.variant = 'inverse';
12922
+ this.loading = false;
12923
+ this.error = '';
12924
+ this.software = [];
12925
+ this.meta = null;
12926
+ this.filterType = '';
12927
+ this.filterLevel = '';
12928
+ this.searchQuery = '';
12929
+ }
12930
+ componentWillLoad() {
12931
+ this.fetchData();
12932
+ }
12933
+ async fetchData() {
12934
+ const now = Date.now();
12935
+ if (cachedData && (now - cacheTimestamp) < CACHE_TTL) {
12936
+ this.software = cachedData;
12937
+ return;
12938
+ }
12939
+ this.loading = true;
12940
+ this.error = '';
12941
+ try {
12942
+ const params = new URLSearchParams({
12943
+ size: this.size.toString(),
12944
+ resolve_names: this.resolveNames.toString(),
12945
+ });
12946
+ const response = await fetch(`${this.apiEndpoint}?${params}`);
12947
+ if (!response.ok) {
12948
+ throw new Error(`Failed to fetch: ${response.statusText}`);
12949
+ }
12950
+ const data = await response.json();
12951
+ this.software = data.data || [];
12952
+ this.meta = data.meta || null;
12953
+ cachedData = this.software;
12954
+ cacheTimestamp = now;
12955
+ }
12956
+ catch (err) {
12957
+ this.error = err instanceof Error ? err.message : 'Failed to load learning resources';
12958
+ }
12959
+ finally {
12960
+ this.loading = false;
12961
+ }
12962
+ }
12963
+ getFilteredSoftware() {
12964
+ let filtered = this.software;
12965
+ if (this.filterType) {
12966
+ filtered = filtered.filter(sw => sw.learning_resources_types.includes(this.filterType));
12967
+ }
12968
+ if (this.filterLevel) {
12969
+ filtered = filtered.filter(sw => sw.learning_resources_levels.includes(this.filterLevel));
12970
+ }
12971
+ if (this.searchQuery) {
12972
+ const q = this.searchQuery.toLowerCase();
12973
+ filtered = filtered.filter(sw => sw.name.toLowerCase().includes(q) ||
12974
+ sw.learning_resources.some(lr => {
12975
+ var _a, _b;
12976
+ return ((_a = lr.name) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(q)) ||
12977
+ ((_b = lr.abstract) === null || _b === void 0 ? void 0 : _b.toLowerCase().includes(q));
12978
+ }));
12979
+ }
12980
+ return filtered;
12981
+ }
12982
+ getFilteredResources(resources) {
12983
+ let filtered = resources;
12984
+ if (this.filterType) {
12985
+ filtered = filtered.filter(lr => lr.type === this.filterType);
12986
+ }
12987
+ if (this.filterLevel) {
12988
+ filtered = filtered.filter(lr => lr.educational_level === this.filterLevel);
12989
+ }
12990
+ return filtered;
12991
+ }
12992
+ /* TODO: Uncomment when filters are enabled
12993
+ private getAllTypes(): string[] {
12994
+ const types = new Set<string>();
12995
+ this.software.forEach(sw =>
12996
+ sw.learning_resources_types.forEach(t => types.add(t))
12997
+ );
12998
+ return Array.from(types).sort();
12999
+ }
13000
+
13001
+ private getAllLevels(): string[] {
13002
+ const levels = new Set<string>();
13003
+ this.software.forEach(sw =>
13004
+ sw.learning_resources_levels.forEach(l => levels.add(l))
13005
+ );
13006
+ return Array.from(levels).sort();
13007
+ }
13008
+ */
13009
+ getTagIntent(type) {
13010
+ const map = {
13011
+ 'interactive tutorial': 'brand',
13012
+ 'video tutorial': 'primary',
13013
+ 'user documentation': 'dark',
13014
+ 'video presentation': 'inverse',
13015
+ 'slide deck': 'strong',
13016
+ };
13017
+ return map[type] || 'brand-dark';
13018
+ }
13019
+ getLevelTagIntent(level) {
13020
+ const map = {
13021
+ 'beginner': 'brand',
13022
+ 'intermediate': 'dark',
13023
+ 'advanced': 'strong',
13024
+ };
13025
+ return map[level] || 'brand-dark';
13026
+ }
13027
+ renderAccordionDescription(sw) {
13028
+ const count = sw.learning_resources_count;
13029
+ const types = sw.learning_resources_types.join(', ');
13030
+ return `${count} resource${count !== 1 ? 's' : ''} — ${types}`;
13031
+ }
13032
+ renderResources(sw) {
13033
+ const filtered = this.getFilteredResources(sw.learning_resources);
13034
+ return (hAsync("div", { class: "resources-content" }, sw.kg_search_url && (hAsync("div", { class: "kg-link" }, hAsync("eds-link", { url: sw.kg_search_url, label: "View in EBRAINS Knowledge Graph", intent: "cta", external: true }))), hAsync("table", { class: "resources-table" }, hAsync("thead", null, hAsync("tr", null, hAsync("th", { class: "col-name" }, "Name"), hAsync("th", { class: "col-type" }, "Type"), hAsync("th", { class: "col-level" }, "Level"))), hAsync("tbody", null, filtered.map(lr => (hAsync("tr", { class: `resource-row ${lr.iri ? 'resource-row--clickable' : ''}`, onClick: () => {
13035
+ if (lr.iri) {
13036
+ window.open(lr.iri, '_blank', 'noopener,noreferrer');
13037
+ }
13038
+ } }, hAsync("td", { class: "col-name" }, hAsync("span", { class: "resource-name" }, lr.name || 'Untitled'), lr.abstract && (hAsync("p", { class: "resource-desc" }, lr.abstract))), hAsync("td", { class: "col-type" }, lr.type && (hAsync("eds-tag", { label: lr.type, intent: this.getTagIntent(lr.type), size: "medium" }))), hAsync("td", { class: "col-level" }, lr.educational_level && (hAsync("eds-tag", { label: lr.educational_level, intent: this.getLevelTagIntent(lr.educational_level), size: "medium" })))))))), filtered.length === 0 && (hAsync("p", { class: "no-results" }, "No resources match the current filters."))));
13039
+ }
13040
+ render() {
13041
+ // Always render the same outer scaffold (header + content area) so the
13042
+ // heading sits in identical position across loading / error / loaded
13043
+ // states and the spinner appears where the accordion list will render.
13044
+ const filtered = !this.loading && !this.error ? this.getFilteredSoftware() : [];
13045
+ // const allTypes = this.getAllTypes();
13046
+ // const allLevels = this.getAllLevels();
13047
+ return (hAsync("div", { key: '154b59a74cb32996f1bee10ee7758d916bebdd43', class: "lr-container" }, hAsync("div", { key: '0c5c04b65f0c4e4c032b1b1a7d96e98fd6775563', class: "lr-header" }, hAsync("h2", { key: '01ef66537b31a63521f0406cd2ec9976b532d18f', class: "lr-heading" }, this.heading)), this.loading && (hAsync("div", { key: '134ca8e5f7349127b40aa1ae0967cd12dc12cc0b', class: "loading", role: "status", "aria-live": "polite" }, hAsync("eds-spinner", { key: 'a3a0621b6ea041f8da4ef6f36c1688974f3c5591', size: "sm", variant: "primary", background: "transparent", message: "Loading learning resources..." }))), this.error && !this.loading && (hAsync("eds-alert", { key: 'a0334442c175374daf8ce2be4da60ac004e4d0e2', intent: "error", message: this.error })), !this.loading && !this.error && (hAsync("div", { key: 'f2b8244f1ee5c052cabd5eec8cbfc36d06f4d08d', class: "accordion-list" }, filtered.map(sw => (hAsync("eds-accordion", { heading: sw.name, description: this.renderAccordionDescription(sw), variant: this.variant, icon: "book", switchBg: true, clampText: false }, this.renderResources(sw)))), filtered.length === 0 && (hAsync("p", { key: 'd572c9eb76279c93ba2bd5f0fae20b4e1d9fc816', class: "no-results" }, "No software matches the current filters."))))));
13048
+ }
13049
+ get el() { return getElement(this); }
13050
+ static get style() { return EdsKgLearningResourcesStyle0; }
13051
+ static get cmpMeta() { return {
13052
+ "$flags$": 9,
13053
+ "$tagName$": "eds-kg-learning-resources",
13054
+ "$members$": {
13055
+ "apiEndpoint": [1, "api-endpoint"],
13056
+ "resolveNames": [4, "resolve-names"],
13057
+ "size": [2],
13058
+ "heading": [1],
13059
+ "variant": [1],
13060
+ "loading": [32],
13061
+ "error": [32],
13062
+ "software": [32],
13063
+ "meta": [32],
13064
+ "filterType": [32],
13065
+ "filterLevel": [32],
13066
+ "searchQuery": [32]
13067
+ },
13068
+ "$listeners$": undefined,
13069
+ "$lazyBundleId$": "-",
13070
+ "$attrsToReflect$": []
13071
+ }; }
13072
+ }
13073
+
12644
13074
  const edsKgWebServicesSelectCss = ".kg-web-services-select-container{width:100%}.loading-container,.error-container{width:100%}";
12645
13075
  var EdsKgWebServicesSelectStyle0 = edsKgWebServicesSelectCss;
12646
13076
 
@@ -13051,7 +13481,7 @@ class EdsLink {
13051
13481
  const labelClasses = this.hideLabelOnSmallScreen
13052
13482
  ? 'hidden lg:flex' // Tailwind example: hidden on small screens, visible on larger
13053
13483
  : '';
13054
- return (hAsync("a", { key: 'b604585e484db17a87cba4fb492ef17014c0c88a', class: `${classes || ''}`, href: isInteractive ? safeUrl : undefined, target: this.external && isInteractive ? '_blank' : undefined, rel: this.external && isInteractive ? 'noopener noreferrer' : undefined, tabIndex: isInteractive ? 0 : -1, "aria-label": isIconOnly ? this.ariaLabel || 'Link' : undefined, "aria-disabled": this.disabled ? 'true' : undefined, "aria-current": this.current ? 'page' : undefined, role: this.disabled ? 'link' : undefined, download: this.download ? '' : undefined, onClick: (event) => this.handleClick(event), onKeyDown: (event) => this.handleKeyDown(event) }, hAsync("span", { key: 'c3d5d62b4740ecb9f4fa6330147bb1f23afe22e0', class: "z-1 relative inline-flex items-center justify-center" }, this.renderLeftIcon(), this.label && (hAsync("span", { key: 'c4340d032516895b8ad9a01170998605875a5774', class: `${labelClasses} ${this.icon ? (this.iconPos === 'right' ? (this.size === 'large' ? 'pr-4' : 'pr-2') : (this.size === 'large' ? 'pl-4' : 'pl-2')) : ''}` }, this.label)), this.renderRightIcon())));
13484
+ return (hAsync("a", { key: 'd167c16280b7f0b4c1fcf14f0f0d3468111e715b', class: `${classes || ''}`, href: isInteractive ? safeUrl : undefined, target: this.external && isInteractive ? '_blank' : undefined, rel: this.external && isInteractive ? 'noopener noreferrer' : undefined, tabIndex: isInteractive ? 0 : -1, "aria-label": isIconOnly ? this.ariaLabel || 'Link' : undefined, "aria-disabled": this.disabled ? 'true' : undefined, "aria-current": this.current ? 'page' : undefined, role: this.disabled ? 'link' : undefined, download: this.download ? '' : undefined, onClick: (event) => this.handleClick(event), onKeyDown: (event) => this.handleKeyDown(event) }, hAsync("span", { key: '000476a609888f5f848722015ce5e6137f26e371', class: "z-1 relative inline-flex items-center justify-center" }, this.renderLeftIcon(), this.label && (hAsync("span", { key: '15232cde31d23c5a466189c69fbdb9db48f08274', class: `${labelClasses} ${this.icon ? (this.iconPos === 'right' ? (this.size === 'large' ? 'pr-4' : 'pr-2') : (this.size === 'large' ? 'pl-4' : 'pl-2')) : ''}` }, this.label)), this.renderRightIcon())));
13055
13485
  }
13056
13486
  get el() { return getElement(this); }
13057
13487
  static get style() { return EdsLinkStyle0; }
@@ -13135,7 +13565,7 @@ class EdsLogo {
13135
13565
  }
13136
13566
  render() {
13137
13567
  const logoContent = this.getLogo();
13138
- return (hAsync("a", { key: '06321ecfcf456f1870cd080043203258306a2451', href: this.href, onClick: () => this.handleClick(), class: "eds-logo-wrapper", "aria-label": this.label }, hAsync("div", { key: '0e9da2f98700553f4898d0f60935f1c5cbd97cbc', innerHTML: logoContent })));
13568
+ return (hAsync("a", { key: '3f8257c9481079f011278b114e13effe9057d823', href: this.href, onClick: () => this.handleClick(), class: "eds-logo-wrapper", "aria-label": this.label }, hAsync("div", { key: '4dac45a1a0c38c6e1613995aad2005b41acac775', innerHTML: logoContent })));
13139
13569
  }
13140
13570
  get el() { return getElement(this); }
13141
13571
  static get style() { return EdsLogoStyle0; }
@@ -13154,7 +13584,7 @@ class EdsLogo {
13154
13584
  }; }
13155
13585
  }
13156
13586
 
13157
- const edsMatomoNoticeCss = ".fixed{position:fixed}.absolute{position:absolute}.w-full{width:100%}.bottom-0{bottom:0rem}.bottom-4{bottom:0.25rem}.p-4{padding:0.25rem}.p-6{padding:0.375rem}.p-8{padding:0.5rem}.z-10{z-index:10}.z-\\[999999\\]{z-index:999999}.left-0{left:0rem}.left-1\\/2{left:50%}.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}.flex{display:flex}.gap-12{gap:0.75rem}.gap-20{gap:1.25rem}.gap-4{gap:0.25rem}.gap-8{gap:0.5rem}@media (min-width: 750px){.md\\:left-1\\/2{left:50%}.md\\:flex{display:flex}.md\\:hidden{display:none}.md\\:-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))}.md\\:-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))}}";
13587
+ const edsMatomoNoticeCss = ":host{display:block;background-color:var(--white, #FFFFFF);border-radius:16px;box-shadow:0 8px 24px rgba(0, 0, 0, 0.12);overflow:hidden}.flex{display:flex}.items-center{align-items:center}.gap-8{gap:0.5rem}";
13158
13588
  var EdsMatomoNoticeStyle0 = edsMatomoNoticeCss;
13159
13589
 
13160
13590
  class EdsMatomoNotice {
@@ -13265,7 +13695,13 @@ class EdsMatomoNotice {
13265
13695
  if (!this.showNotice) {
13266
13696
  return null;
13267
13697
  }
13268
- return (hAsync("div", { class: "p-8" }, hAsync("eds-accordion", { title: this.heading, description: this.hasCookieConsent() ? this.optOutMessage : this.description, switchBg: true, expanded: true }, this.hasCookieConsent() ? (hAsync("div", { class: "flex items-center gap-8" }, this.optedOut() ? (hAsync("eds-button", { intent: "brand", label: "Opt me in again", pill: true, "aria-label": "Opt me in again", onClick: () => this.optInAnalytics() })) : (hAsync("eds-button", { intent: "brand", label: "Keep Me In", pill: true, "aria-label": "Keep Me In", onClick: () => this.keepMeIn() })), hAsync("eds-button", { intent: "ghost", label: "Opt-out", pill: true, "aria-label": "Opt-out from analytics", onClick: () => this.optOutAnalytics() }))) : (hAsync("div", { class: "flex items-center gap-8" }, hAsync("eds-button", { intent: "brand", pill: true, label: "I agree", "aria-label": "Opt-in for analytics", onClick: () => this.optInAnalytics() }), hAsync("eds-button", { intent: "ghost", pill: true, label: "No, thanks", "aria-label": "Opt-out from analytics", onClick: () => this.noThanks() }))))));
13698
+ return (
13699
+ // Content-only render — no positioning, no overlay, no sizing.
13700
+ // The host application wraps this component in whatever positioned
13701
+ // container makes sense (fixed bottom banner, modal, sidebar slot,
13702
+ // etc.). See packages/shared-hugo/layouts/_default/baseof.html for
13703
+ // the bottom-centered card wrapper used by handbook/eds-docs.
13704
+ hAsync("div", null, hAsync("eds-accordion", { title: this.heading, description: this.hasCookieConsent() ? this.optOutMessage : this.description, switchBg: true, expanded: true }, this.hasCookieConsent() ? (hAsync("div", { class: "flex items-center gap-8" }, this.optedOut() ? (hAsync("eds-button", { intent: "brand", label: "Opt me in again", pill: true, "aria-label": "Opt me in again", onClick: () => this.optInAnalytics() })) : (hAsync("eds-button", { intent: "brand", label: "Keep Me In", pill: true, "aria-label": "Keep Me In", onClick: () => this.keepMeIn() })), hAsync("eds-button", { intent: "ghost", label: "Opt-out", pill: true, "aria-label": "Opt-out from analytics", onClick: () => this.optOutAnalytics() }))) : (hAsync("div", { class: "flex items-center gap-8" }, hAsync("eds-button", { intent: "brand", pill: true, label: "I agree", "aria-label": "Opt-in for analytics", onClick: () => this.optInAnalytics() }), hAsync("eds-button", { intent: "ghost", pill: true, label: "No, thanks", "aria-label": "Opt-out from analytics", onClick: () => this.noThanks() }))))));
13269
13705
  }
13270
13706
  get el() { return getElement(this); }
13271
13707
  static get style() { return EdsMatomoNoticeStyle0; }
@@ -13507,7 +13943,7 @@ class EdsModal {
13507
13943
  }; }
13508
13944
  }
13509
13945
 
13510
- const edsNpsCss = ".flex{display:flex}.justify-between{justify-content:space-between}.mt-4{margin-top:0.25rem}.mt-8{margin-top:0.5rem}.ml-4{margin-left:0.25rem}.mr-4{margin-right:0.25rem}.gap-2{gap:0.125rem}.gap-4{gap:0.25rem}.grid{display:grid}.grid-col-span-1{--container-grid-columns:1;grid-column:span 1 / span 1}.grid-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr))}.grid-cols-11[class*=\"grid-line-x\"][class*=\"grid-line-x\"]>*:nth-child(n)::before{border-bottom-width:1px}.grid-cols-11[class*=\"grid-line-xfull\"]>*:nth-child(n)::before{inset-inline-start:calc(var(--inner-gutter) / -2);inset-inline-end:calc(var(--inner-gutter) / -2)}.grid-cols-11[class*=\"grid-line-x\"]>*:nth-child(11n+1)::before{inset-inline-start:0}.grid-cols-11[class*=\"grid-line-x\"]>*:nth-child(11n+11)::before{inset-inline-end:0}.grid-cols-11[class*=\"grid-line-x\"]>*:nth-child(11n+1):nth-last-child(-n+11)::before{border-bottom-width:0}.grid-cols-11[class*=\"grid-line-x\"]>*:nth-child(11n+1):nth-last-child(-n+11)~*::before{border-bottom-width:0}.grid-cols-11[class*=\"grid-line-y\"][class*=\"grid-line-y\"]>*:nth-child(n)::after{border-inline-end-width:1px}.grid-cols-11[class*=\"grid-line-y\"][class*=\"grid-line-y\"]>*:nth-child(11n+11)::after{border-inline-end-width:0}.grid-cols-11[class*=\"grid-line-y\"][class*=\"grid-line-y\"]>*:nth-child(-n+11)::after{top:0}.grid-cols-11[class*=\"grid-line-y\"][class*=\"grid-line-y\"]>*:nth-child(11n+1):nth-last-child(-n+11)::after{bottom:0}.grid-cols-11[class*=\"grid-line-y\"][class*=\"grid-line-y\"]>*:nth-child(11n+1):nth-last-child(-n+11)~li::after{bottom:0}.f-ui-04{font-family:var(--f-ui-04-fontFamily);font-weight:var(--f-ui-04-fontWeight);font-size:var(--f-ui-04-fontSize);line-height:var(--f-ui-04-lineHeight);letter-spacing:var(--f-ui-04-letterSpacing)}.text-light{color:var(--grey-dark)}.flex-wrap{flex-wrap:wrap}";
13946
+ const edsNpsCss = ".eds-nps__labels{padding-top:0.75rem;padding-bottom:0.5rem}.eds-nps__scale{display:block;width:fit-content;max-width:100%;padding-top:0.5rem;}#nps-buttons{gap:0.6rem}.eds-nps__btn{border-radius:9999px;transition:transform 0.15s ease-in-out}.eds-nps__btn.is-selected{transform:scale(1.12)}.flex{display:flex}.justify-between{justify-content:space-between}.mt-4{margin-top:0.25rem}.mt-8{margin-top:0.5rem}.ml-4{margin-left:0.25rem}.mr-4{margin-right:0.25rem}.gap-2{gap:0.125rem}.gap-4{gap:0.25rem}.grid{display:grid}.grid-col-span-1{--container-grid-columns:1;grid-column:span 1 / span 1}.grid-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr))}.grid-cols-11[class*=\"grid-line-x\"][class*=\"grid-line-x\"]>*:nth-child(n)::before{border-bottom-width:1px}.grid-cols-11[class*=\"grid-line-xfull\"]>*:nth-child(n)::before{inset-inline-start:calc(var(--inner-gutter) / -2);inset-inline-end:calc(var(--inner-gutter) / -2)}.grid-cols-11[class*=\"grid-line-x\"]>*:nth-child(11n+1)::before{inset-inline-start:0}.grid-cols-11[class*=\"grid-line-x\"]>*:nth-child(11n+11)::before{inset-inline-end:0}.grid-cols-11[class*=\"grid-line-x\"]>*:nth-child(11n+1):nth-last-child(-n+11)::before{border-bottom-width:0}.grid-cols-11[class*=\"grid-line-x\"]>*:nth-child(11n+1):nth-last-child(-n+11)~*::before{border-bottom-width:0}.grid-cols-11[class*=\"grid-line-y\"][class*=\"grid-line-y\"]>*:nth-child(n)::after{border-inline-end-width:1px}.grid-cols-11[class*=\"grid-line-y\"][class*=\"grid-line-y\"]>*:nth-child(11n+11)::after{border-inline-end-width:0}.grid-cols-11[class*=\"grid-line-y\"][class*=\"grid-line-y\"]>*:nth-child(-n+11)::after{top:0}.grid-cols-11[class*=\"grid-line-y\"][class*=\"grid-line-y\"]>*:nth-child(11n+1):nth-last-child(-n+11)::after{bottom:0}.grid-cols-11[class*=\"grid-line-y\"][class*=\"grid-line-y\"]>*:nth-child(11n+1):nth-last-child(-n+11)~li::after{bottom:0}.f-ui-04{font-family:var(--f-ui-04-fontFamily);font-weight:var(--f-ui-04-fontWeight);font-size:var(--f-ui-04-fontSize);line-height:var(--f-ui-04-lineHeight);letter-spacing:var(--f-ui-04-letterSpacing)}.text-light{color:var(--grey-dark)}.flex-wrap{flex-wrap:wrap}";
13511
13947
  var EdsNpsStyle0 = edsNpsCss;
13512
13948
 
13513
13949
  class EdsNps {
@@ -13588,14 +14024,14 @@ class EdsNps {
13588
14024
  }
13589
14025
  render() {
13590
14026
  const count = this.max - this.min + 1;
13591
- return (hAsync("div", { key: '932d0a62e52376c1ddaf71e8d21bf5437c2d0b9f', class: "eds-nps" }, hAsync("eds-input-label", { key: '60f5b6849dcc53f2a0d46fa5e44499076bd46174', id: "nps-question", name: "nps-question", label: this.question }), hAsync("div", { key: '14d032aa6dc6b2cc67189f6e11a0fc59ca420cbb', id: "nps-buttons", role: "radiogroup", "aria-labelledby": "nps-question", onKeyDown: this.handleKeyNav, class: "flex flex-wrap gap-2 my-8" }, Array.from({ length: count }, (_, i) => {
14027
+ return (hAsync("div", { key: '412ddeabf0cc97829202063af25f17e3309b0754', class: "eds-nps" }, hAsync("eds-input-label", { key: '100a47e710fa75d6a5761a87ca68e8bc8910e248', id: "nps-question", name: "nps-question", label: this.question }), hAsync("div", { key: '9a7a63112e17f4c725005e1ae8e42c98107db7c4', class: "eds-nps__scale" }, hAsync("div", { key: '501029dad573cd31d956ae3cae67f2db9f2649f1', id: "nps-buttons", role: "radiogroup", "aria-labelledby": "nps-question", onKeyDown: this.handleKeyNav, class: "flex flex-wrap gap-2 my-8" }, Array.from({ length: count }, (_, i) => {
13592
14028
  const val = this.min + i;
13593
14029
  const isSelected = val === this.internalValue;
13594
14030
  const tabIndex = isSelected || (this.internalValue == null && i === 0) ? 0 : -1;
13595
- return (hAsync("div", { class: "flex", key: val }, hAsync("eds-button", { ref: (el) => (this.btnRefs[i] = el), size: "large", role: "radio", "aria-checked": isSelected ? 'true' : 'false', "aria-label": `${val}`, onClick: () => this.onSelect(val), tabIndex: tabIndex, intent: isSelected ? 'brand' : 'neutral', "extra-class": "!block !px-0 w-full", label: `${val}`, pill: true, onFocus: () => {
14031
+ return (hAsync("div", { class: "flex", key: val }, hAsync("eds-button", { ref: (el) => (this.btnRefs[i] = el), size: "large", role: "radio", "aria-checked": isSelected ? 'true' : 'false', "aria-label": `${val}`, onClick: () => this.onSelect(val), tabIndex: tabIndex, intent: isSelected ? 'brand' : 'brandLight', class: isSelected ? 'eds-nps__btn is-selected' : 'eds-nps__btn', "extra-class": "!block !px-0 w-full", label: `${val}`, pill: true, onFocus: () => {
13596
14032
  this.internalValue = val;
13597
14033
  } })));
13598
- })), hAsync("div", { key: 'f1fd58c7c1003f144b816c9a1d169a2edec4a768', class: "flex justify-between mt-8" }, hAsync("span", { key: '476a3c3b3ef1c43744b8a69e577e597fff887beb', class: "f-ui-04 text-light ml-4" }, this.leftLabel), hAsync("span", { key: '275ec0c204781365c2e57283c1096fadb853dbe5', class: "f-ui-04 text-light mr-4" }, this.rightLabel))));
14034
+ })), hAsync("div", { key: 'aa15457591f1edf6e59eed384bcfbb25d49c9fd5', class: "flex justify-between eds-nps__labels" }, hAsync("span", { key: 'a468b290491e368e3084f17ce40c6aa39e00ad3a', class: "f-ui-04 text-light ml-4" }, this.leftLabel), hAsync("span", { key: '146b9eea4bbc360f7765e69e319738c77beae69d', class: "f-ui-04 text-light mr-4" }, this.rightLabel)))));
13599
14035
  }
13600
14036
  get el() { return getElement(this); }
13601
14037
  static get watchers() { return {
@@ -13871,7 +14307,7 @@ class EdsPagination {
13871
14307
  }
13872
14308
  render() {
13873
14309
  const navigableIndex = -1; // Track index for keyboard navigation
13874
- return (hAsync("div", { key: '6d7dea7a6d544bf79e944dfeb80cffb2f5a0b0cb' }, this.total > 0 && this.mode === 'default' && (hAsync("p", { key: '77da5262419978bf0806155727f64c2c957e3bb1', class: "f-ui-03 text-light mb-28 w-full text-center", "aria-live": "polite", id: "pagination-info" }, hAsync("span", { key: '537551dfe8de1af55d3350cef4fa62f503aba3c1', class: "text-light sr-only" }, "Results:"), this.pageResults())), this.mode === 'navigator' || (this.lastPage && this.lastPage > 1) ? (hAsync("nav", { "aria-label": "Pagination Navigation", "aria-describedby": this.mode === 'default' ? 'pagination-info' : undefined, onKeyDown: this.handleKeyDown }, hAsync("ul", { class: "flex items-center justify-center gap-x-8", role: "list" }, hAsync("li", { class: "mr-auto" }, this.useButtons ? (hAsync("div", { class: "pagination-button-wrapper", onFocus: () => this.handleItemFocus(navigableIndex) }, hAsync("eds-button", { label: this.prevLabel, disabled: this.mode === 'navigator' ? !this.prevUrl : this.isFirstPage(), "aria-label": "Go to previous page", icon: "chevron-left", "icon-pos": "left", size: "small", "icon-small": "true", intent: "secondary", "extra-class": "!p-8 lg:!pr-12 pagination-button", onClick: (event) => {
14310
+ return (hAsync("div", { key: '5c11fd306f0ebf47a452e44d633e18b2e3860d78' }, this.total > 0 && this.mode === 'default' && (hAsync("p", { key: 'fe8b7f7b6c7785152f1edd90a750f4a9a7e2768b', class: "f-ui-03 text-light mb-28 w-full text-center", "aria-live": "polite", id: "pagination-info" }, hAsync("span", { key: '5e2c67535dbf765dc662770164404f0de69315a1', class: "text-light sr-only" }, "Results:"), this.pageResults())), this.mode === 'navigator' || (this.lastPage && this.lastPage > 1) ? (hAsync("nav", { "aria-label": "Pagination Navigation", "aria-describedby": this.mode === 'default' ? 'pagination-info' : undefined, onKeyDown: this.handleKeyDown }, hAsync("ul", { class: "flex items-center justify-center gap-x-8", role: "list" }, hAsync("li", { class: "mr-auto" }, this.useButtons ? (hAsync("div", { class: "pagination-button-wrapper", onFocus: () => this.handleItemFocus(navigableIndex) }, hAsync("eds-button", { label: this.prevLabel, disabled: this.mode === 'navigator' ? !this.prevUrl : this.isFirstPage(), "aria-label": "Go to previous page", icon: "chevron-left", "icon-pos": "left", size: "small", "icon-small": "true", intent: "ghost", "extra-class": "!p-8 lg:!pr-12 pagination-button", onClick: (event) => {
13875
14311
  if (this.mode === 'default' && !this.isFirstPage()) {
13876
14312
  this.handlePageClick(event, (this.currentPage || 1) - 1);
13877
14313
  }
@@ -13880,7 +14316,7 @@ class EdsPagination {
13880
14316
  : this.isFirstPage()
13881
14317
  ? '#'
13882
14318
  : this.generateLink(this.currentPage - 1).url, disabled: this.mode === 'navigator' ? !this.prevUrl : this.isFirstPage(), "aria-label": "Go to previous page", icon: "chevron-left", "icon-pos": "left", size: "small", "icon-small": "true", intent: "strong", "hide-label-on-small-screen": true, class: "!p-8 lg:!pr-12" }))), this.mode === 'default' &&
13883
- this.links.map((link, index) => (hAsync("li", { key: index, class: "f-ui-02 flex h-36 items-center justify-center" }, typeof link === 'string' ? (hAsync("span", { class: "flex items-center justify-center", "aria-hidden": "true" }, link)) : this.useButtons ? (hAsync("div", { class: "pagination-button-wrapper", onFocus: () => this.handleItemFocus(navigableIndex) }, hAsync("eds-button", { label: link.label, "aria-label": link.current ? `Current page, page ${link.label}` : `Go to page ${link.label}`, "aria-current": link.current ? 'page' : undefined, size: "small", "extra-class": "!p-8 pagination-button", intent: link.current ? 'primary' : 'secondary', onClick: (event) => this.handlePageClick(event, parseInt(link.label)) }))) : (hAsync("eds-link", { url: link.url, "aria-label": link.ariaLabel, label: link.label, current: link.current, "aria-current": link.current ? 'page' : undefined, size: "small", class: "!p-8", intent: link.current ? 'primary' : 'secondary', onClick: (event) => this.handlePageClick(event, parseInt(link.label)) }))))), hAsync("li", { class: "ml-auto" }, this.useButtons ? (hAsync("div", { class: "pagination-button-wrapper", onFocus: () => this.handleItemFocus(navigableIndex) }, hAsync("eds-button", { label: this.nextLabel, disabled: this.mode === 'navigator' ? !this.nextUrl : this.isLastPage(), "aria-label": "Go to next page", size: "small", "icon-small": "true", icon: "chevron-right", intent: "secondary", "extra-class": "!p-8 lg:!pl-12 pagination-button", onClick: (event) => {
14319
+ this.links.map((link, index) => (hAsync("li", { key: index, class: "f-ui-02 flex h-36 items-center justify-center" }, typeof link === 'string' ? (hAsync("span", { class: "flex items-center justify-center", "aria-hidden": "true" }, link)) : this.useButtons ? (hAsync("div", { class: "pagination-button-wrapper", onFocus: () => this.handleItemFocus(navigableIndex) }, hAsync("eds-button", { label: link.label, "aria-label": link.current ? `Current page, page ${link.label}` : `Go to page ${link.label}`, "aria-current": link.current ? 'page' : undefined, size: "small", "extra-class": "!p-8 pagination-button", intent: link.current ? 'brand' : 'ghost', onClick: (event) => this.handlePageClick(event, parseInt(link.label)) }))) : (hAsync("eds-link", { url: link.url, "aria-label": link.ariaLabel, label: link.label, current: link.current, "aria-current": link.current ? 'page' : undefined, size: "small", class: "!p-8", intent: link.current ? 'primary' : 'secondary', onClick: (event) => this.handlePageClick(event, parseInt(link.label)) }))))), hAsync("li", { class: "ml-auto" }, this.useButtons ? (hAsync("div", { class: "pagination-button-wrapper", onFocus: () => this.handleItemFocus(navigableIndex) }, hAsync("eds-button", { label: this.nextLabel, disabled: this.mode === 'navigator' ? !this.nextUrl : this.isLastPage(), "aria-label": "Go to next page", size: "small", "icon-small": "true", icon: "chevron-right", intent: "ghost", "extra-class": "!p-8 lg:!pl-12 pagination-button", onClick: (event) => {
13884
14320
  if (this.mode === 'default' && !this.isLastPage()) {
13885
14321
  this.handlePageClick(event, (this.currentPage || 1) + 1);
13886
14322
  }
@@ -14106,7 +14542,7 @@ class EdsProgressBar {
14106
14542
  }; }
14107
14543
  }
14108
14544
 
14109
- const edsRatingCss = ":host{display:inline-block}.block{display:block}.stars{display:flex;gap:0.25rem;cursor:pointer}.star{color:var(--star-empty-color, #ccc);transition:color 0.2s ease-in-out}.star.filled{color:var(--brand-green);}.star:hover,.star.filled:hover{transform:scale(1.2)}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.mt-4{margin-top:0.25rem}.mt-6{margin-top:0.375rem}.mt-8{margin-top:0.5rem}.my-4{margin-top:0.25rem;margin-bottom:0.25rem}.my-8{margin-top:0.5rem;margin-bottom:0.5rem}.my-16{margin-top:1rem;margin-bottom:1rem}.my-20{margin-top:1.25rem;margin-bottom:1.25rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.0625rem * var(--tw-space-x-reverse));margin-left:calc(0.0625rem * calc(1 - var(--tw-space-x-reverse)))}";
14545
+ const edsRatingCss = ":host{display:inline-block}.block{display:block}.stars{display:flex;gap:0.25rem;cursor:pointer}.star{color:var(--star-empty-color, #ccc);transition:color 0.2s ease-in-out}.star.filled{color:var(--brand-green);}.star:hover,.star.filled:hover{transform:scale(1.2)}.eds-rating__btn{transition:transform 0.15s ease-in-out}.eds-rating__btn.is-selected{transform:scale(1.05)}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.mt-4{margin-top:0.25rem}.mt-6{margin-top:0.375rem}.mt-8{margin-top:0.5rem}.my-4{margin-top:0.25rem;margin-bottom:0.25rem}.my-8{margin-top:0.5rem;margin-bottom:0.5rem}.my-16{margin-top:1rem;margin-bottom:1rem}.my-20{margin-top:1.25rem;margin-bottom:1.25rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.0625rem * var(--tw-space-x-reverse));margin-left:calc(0.0625rem * calc(1 - var(--tw-space-x-reverse)))}";
14110
14546
  var EdsRatingStyle0 = edsRatingCss;
14111
14547
 
14112
14548
  class EdsRating {
@@ -14185,12 +14621,12 @@ class EdsRating {
14185
14621
  this.onSelect(next);
14186
14622
  }
14187
14623
  render() {
14188
- return (hAsync("div", { key: '89671afe2d02d527001009ee83fb0d4e48550479', id: "rating-buttons", role: "group", "aria-labelledby": "rating", class: "stars flex space-x-1 my-8", onKeyDown: (e) => this.handleKeyNav(e) }, Array.from({ length: this.ratingCount }, (_, index) => {
14624
+ return (hAsync("div", { key: '01857f12c63fbe53b95152902ddba594aa736f6f', id: "rating-buttons", role: "group", "aria-labelledby": "rating", class: "stars flex space-x-1 my-8", onKeyDown: (e) => this.handleKeyNav(e) }, Array.from({ length: this.ratingCount }, (_, index) => {
14189
14625
  const starRating = index + 1;
14190
14626
  const isSelected = starRating <= this.internalRating;
14191
14627
  // Use the mapping text if available; otherwise, fall back to a generic label.
14192
14628
  const checked = this.internalRating === starRating;
14193
- return (hAsync("eds-button", { ref: (el) => (this.buttonRefs[index] = el), icon: this.ratingType, "aria-label": `${starRating} ${this.ratingType}${starRating > 1 ? 's' : ''}`, onClick: () => this.onSelect(starRating), tabIndex: checked || (this.internalRating === 0 && index === 0) ? 0 : -1, intent: isSelected ? 'brand' : 'neutral', size: "large" }));
14629
+ return (hAsync("eds-button", { ref: (el) => (this.buttonRefs[index] = el), icon: this.ratingType, "aria-label": `${starRating} ${this.ratingType}${starRating > 1 ? 's' : ''}`, onClick: () => this.onSelect(starRating), tabIndex: checked || (this.internalRating === 0 && index === 0) ? 0 : -1, intent: isSelected ? 'brand' : 'brandLight', class: isSelected ? 'eds-rating__btn is-selected' : 'eds-rating__btn', size: "large" }));
14194
14630
  })));
14195
14631
  }
14196
14632
  get el() { return getElement(this); }
@@ -14213,6 +14649,346 @@ class EdsRating {
14213
14649
  }; }
14214
14650
  }
14215
14651
 
14652
+ const edsSearchSelectCss = ":host{display:block;width:100%;font-family:var(--f-ui-02-fontFamily, 'IBM Plex Sans', system-ui, sans-serif)}.eds-ss{position:relative;display:block;width:100%}.eds-ss__labelrow{display:flex;justify-content:space-between;margin-bottom:0.25rem}.eds-ss__hint{margin-top:0.5rem;margin-left:0.5rem;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);color:var(--grey-600)}.eds-ss__control{position:relative}.eds-ss__box{display:flex;flex-wrap:wrap;align-items:center;gap:0.35rem;width:100%;box-sizing:border-box;min-height:2.5rem;padding:6px 0.75rem;padding-right:3.75rem;border-width:2px;border-style:solid;border-color:rgba(0, 0, 0, 0.1);border-radius:8px;background:var(--white, #fff);transition-property:color, background-color, border-color;transition-timing-function:cubic-bezier(0, 0, 0.2, 1);transition-duration:300ms}.eds-ss__box:hover{border-color:var(--brand-black)}.eds-ss__box:focus-within{border-color:var(--brand-black);outline:3px solid var(--brand-green);outline-offset:2px}.eds-ss__box.is-error{border-color:var(--red-700)}.eds-ss__box.is-disabled{cursor:not-allowed;background-color:var(--grey-300)}.eds-ss__input{flex:1;min-width:6rem;border:none;outline:none;background:transparent;padding:4px 0;color:var(--brand-black);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)}.eds-ss__input::placeholder{color:var(--grey-500)}.eds-ss__input:disabled{cursor:not-allowed;color:var(--grey-500)}.eds-ss__chip{display:inline-flex;align-items:center;gap:0.35rem;padding:4px 0.4rem 4px 0.7rem;background:rgba(0, 200, 123, 0.12);color:var(--brand-green-dark, #00A867);border-radius:6px;font-family:var(--f-ui-02-fontFamily);font-size:var(--f-ui-02-fontSize);font-weight:600;line-height:1.4;max-width:100%}.eds-ss__chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eds-ss__chip-x{flex-shrink:0;border:none;background:none;cursor:pointer;color:var(--brand-green-dark, #00A867);font-size:1.2rem;line-height:1;padding:0 2px}.eds-ss__chip-x:hover{color:var(--brand-black, #07140D)}.eds-ss__clear,.eds-ss__chevron{position:absolute;top:50%;transform:translateY(-50%)}.eds-ss__chevron{right:6px;width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;background-color:var(--grey-300);border-radius:4px;color:var(--brand-black);pointer-events:none}.eds-ss__clear{right:2.6rem;color:var(--grey-600, #6e6e6e);background:none;border:none;cursor:pointer;font-size:1.05rem;line-height:1}.eds-ss__clear:hover{color:var(--brand-black, #07140D)}.eds-ss__list{position:absolute;z-index:50;left:0;right:0;margin:0.25rem 0 0;padding:0.25rem;list-style:none;max-height:18rem;overflow-y:auto;background:var(--white, #fff);border:2px solid rgba(0, 0, 0, 0.1);border-radius:8px;box-shadow:0 8px 24px rgba(0, 0, 0, 0.12)}.eds-ss__option{padding:0.5rem 0.6rem;border-radius:6px;cursor:pointer;color:var(--brand-black, #07140D);font-family:var(--f-ui-02-fontFamily);font-size:var(--f-ui-02-fontSize);line-height:var(--f-ui-02-lineHeight);letter-spacing:var(--f-ui-02-letterSpacing)}.eds-ss__option.is-active{background:rgba(0, 200, 123, 0.1)}.eds-ss__option.is-selected{font-weight:600;color:var(--brand-green-dark, #00A867)}.eds-ss__status,.eds-ss__more{padding:0.5rem 0.6rem;font-family:var(--f-ui-05-fontFamily);font-size:var(--f-ui-05-fontSize);line-height:var(--f-ui-05-lineHeight);color:var(--grey-600, #6e6e6e)}.eds-ss__status.is-error{color:var(--red-700, #d64545)}.eds-ss__more{border-top:1px solid rgba(0, 0, 0, 0.1);margin-top:0.25rem;font-style:italic}";
14653
+ var EdsSearchSelectStyle0 = edsSearchSelectCss;
14654
+
14655
+ /**
14656
+ * Searchable, source-agnostic select for HUGE option lists (countries,
14657
+ * currencies, nationalities, …) — the generalised sibling of
14658
+ * eds-kg-web-services-select.
14659
+ *
14660
+ * It never talks to an external API directly. It either filters an inline
14661
+ * `options` array client-side, or queries a VETTED, NAMED `source` through our
14662
+ * own datasets registry (`/api/v1/datasets/<source>/search`), which returns the
14663
+ * one normalised shape `{ items: [{label, value}], total, nextOffset }`. Any
14664
+ * messy upstream schema is flattened server-side by an adapter — the component
14665
+ * stays dumb.
14666
+ *
14667
+ * Rendering is result-capped (we render at most `maxVisible` rows and tell the
14668
+ * user to keep typing) so a 5,000-item source never blows up the DOM. Remote
14669
+ * sources are additionally bounded by the server's page `limit`.
14670
+ */
14671
+ class EdsSearchSelect {
14672
+ constructor(hostRef) {
14673
+ registerInstance(this, hostRef);
14674
+ this.edsinput = createEvent(this, "edsinput", 7);
14675
+ this.edschange = createEvent(this, "edschange", 7);
14676
+ this.debounceTimer = null;
14677
+ this.inlineOptions = [];
14678
+ this.listboxId = `eds-ss-list-${Math.round(performance.now())}`;
14679
+ // value -> label, so selected tags render readable labels even for remote
14680
+ // values whose label hasn't been fetched in the current page.
14681
+ this.labelCache = {};
14682
+ this.onInput = (e) => {
14683
+ this.query = e.target.value;
14684
+ this.open = true;
14685
+ this.activeIndex = -1;
14686
+ this.runSearch(this.query);
14687
+ };
14688
+ this.clear = () => {
14689
+ if (this.multiple) {
14690
+ this.value = [];
14691
+ this.emitValue([]);
14692
+ }
14693
+ else {
14694
+ this.value = undefined;
14695
+ this.selectedLabel = '';
14696
+ this.emitValue('');
14697
+ }
14698
+ this.query = '';
14699
+ };
14700
+ this.onKeyDown = (e) => {
14701
+ if (e.key === 'ArrowDown') {
14702
+ e.preventDefault();
14703
+ if (!this.open)
14704
+ return this.openMenu();
14705
+ this.activeIndex = Math.min(this.activeIndex + 1, this.visibleItems.length - 1);
14706
+ }
14707
+ else if (e.key === 'ArrowUp') {
14708
+ e.preventDefault();
14709
+ this.activeIndex = Math.max(this.activeIndex - 1, 0);
14710
+ }
14711
+ else if (e.key === 'Enter') {
14712
+ if (this.open && this.activeIndex >= 0) {
14713
+ e.preventDefault();
14714
+ this.select(this.visibleItems[this.activeIndex]);
14715
+ }
14716
+ }
14717
+ else if (e.key === 'Escape') {
14718
+ this.closeMenu();
14719
+ }
14720
+ else if (e.key === 'Backspace' && this.multiple && !this.query && this.selectedValues.length) {
14721
+ // Backspace on an empty query removes the last selected tag.
14722
+ this.removeValue(this.selectedValues[this.selectedValues.length - 1]);
14723
+ }
14724
+ };
14725
+ // Close when a click lands outside the component. Must be shadow-aware:
14726
+ // this component is nested inside eds-form's shadow root, so a document-level
14727
+ // listener sees the event retargeted to the OUTER host — `host.contains(target)`
14728
+ // would be false even for our own clicks and wrongly close on open. composedPath()
14729
+ // walks through every shadow boundary and contains our host iff the click was ours.
14730
+ this.onDocumentClick = (e) => {
14731
+ if (this.open && !e.composedPath().includes(this.host))
14732
+ this.closeMenu();
14733
+ };
14734
+ this.name = undefined;
14735
+ this.label = undefined;
14736
+ this.placeholder = 'Search…';
14737
+ this.required = false;
14738
+ this.disabled = false;
14739
+ this.hint = undefined;
14740
+ this.message = undefined;
14741
+ this.error = false;
14742
+ this.errorMessage = undefined;
14743
+ this.value = undefined;
14744
+ this.multiple = false;
14745
+ this.options = undefined;
14746
+ this.source = undefined;
14747
+ this.apiBase = '/api/v1';
14748
+ this.searchParam = 'q';
14749
+ this.limit = 50;
14750
+ this.debounceMs = 250;
14751
+ this.maxVisible = 100;
14752
+ this.open = false;
14753
+ this.query = '';
14754
+ this.loading = false;
14755
+ this.fetchError = '';
14756
+ this.items = [];
14757
+ this.total = 0;
14758
+ this.activeIndex = -1;
14759
+ this.selectedLabel = '';
14760
+ }
14761
+ componentWillLoad() {
14762
+ this.parseInlineOptions();
14763
+ this.resolveSelectedLabel();
14764
+ }
14765
+ onOptionsChange() {
14766
+ this.parseInlineOptions();
14767
+ this.resolveSelectedLabel();
14768
+ }
14769
+ onValueChange() {
14770
+ this.resolveSelectedLabel();
14771
+ }
14772
+ parseInlineOptions() {
14773
+ if (!this.options) {
14774
+ this.inlineOptions = [];
14775
+ return;
14776
+ }
14777
+ if (typeof this.options === 'string') {
14778
+ try {
14779
+ this.inlineOptions = JSON.parse(this.options) || [];
14780
+ }
14781
+ catch (_a) {
14782
+ this.inlineOptions = [];
14783
+ }
14784
+ }
14785
+ else {
14786
+ this.inlineOptions = this.options;
14787
+ }
14788
+ this.cacheLabels(this.inlineOptions);
14789
+ }
14790
+ cacheLabels(opts) {
14791
+ (opts || []).forEach((o) => {
14792
+ if (o && o.value != null)
14793
+ this.labelCache[String(o.value)] = o.label;
14794
+ });
14795
+ }
14796
+ /** The current selection as a value array (works for single + multi). */
14797
+ get selectedValues() {
14798
+ const v = this.value;
14799
+ if (Array.isArray(v))
14800
+ return v.map(String).filter((s) => s !== '');
14801
+ if (typeof v === 'string' && v !== '') {
14802
+ return this.multiple ? v.split(',').filter(Boolean) : [v];
14803
+ }
14804
+ return [];
14805
+ }
14806
+ labelFor(val) {
14807
+ var _a, _b;
14808
+ return (this.labelCache[String(val)] ||
14809
+ ((_a = this.inlineOptions.find((o) => String(o.value) === String(val))) === null || _a === void 0 ? void 0 : _a.label) ||
14810
+ ((_b = this.items.find((o) => String(o.value) === String(val))) === null || _b === void 0 ? void 0 : _b.label) ||
14811
+ String(val));
14812
+ }
14813
+ emitValue(v) {
14814
+ this.edsinput.emit({ value: v });
14815
+ this.edschange.emit({ value: v });
14816
+ }
14817
+ get isRemote() {
14818
+ return !!this.source && this.inlineOptions.length === 0;
14819
+ }
14820
+ resolveSelectedLabel() {
14821
+ if (!this.value) {
14822
+ this.selectedLabel = '';
14823
+ return;
14824
+ }
14825
+ // Inline: resolve label from the known list. Remote: best-effort — show the
14826
+ // value until/unless it appears in a fetched page.
14827
+ const pool = this.inlineOptions.length ? this.inlineOptions : this.items;
14828
+ const found = pool.find((o) => String(o.value) === String(this.value));
14829
+ this.selectedLabel = found ? found.label : String(this.value);
14830
+ }
14831
+ // --- Data --------------------------------------------------------------
14832
+ filterInline(q) {
14833
+ const needle = q.trim().toLowerCase();
14834
+ if (!needle)
14835
+ return this.inlineOptions;
14836
+ return this.inlineOptions.filter((o) => o.label.toLowerCase().includes(needle) ||
14837
+ String(o.value).toLowerCase().includes(needle));
14838
+ }
14839
+ async fetchRemote(q) {
14840
+ this.loading = true;
14841
+ this.fetchError = '';
14842
+ try {
14843
+ const params = new URLSearchParams({ [this.searchParam]: q, limit: String(this.limit) });
14844
+ const url = `${this.apiBase}/datasets/${encodeURIComponent(this.source)}/search?${params}`;
14845
+ const resp = await fetch(url);
14846
+ if (!resp.ok)
14847
+ throw new Error(`Search failed: ${resp.statusText}`);
14848
+ const data = await resp.json();
14849
+ this.items = data.items || [];
14850
+ this.cacheLabels(this.items);
14851
+ this.total = typeof data.total === 'number' ? data.total : this.items.length;
14852
+ this.resolveSelectedLabel();
14853
+ }
14854
+ catch (e) {
14855
+ this.fetchError = e instanceof Error ? e.message : 'Search failed';
14856
+ this.items = [];
14857
+ this.total = 0;
14858
+ }
14859
+ finally {
14860
+ this.loading = false;
14861
+ }
14862
+ }
14863
+ runSearch(q, immediate = false) {
14864
+ if (this.isRemote) {
14865
+ // Show the loading state synchronously so the debounce window renders
14866
+ // "Searching…" rather than a misleading "No matches" before the fetch.
14867
+ this.loading = true;
14868
+ clearTimeout(this.debounceTimer);
14869
+ if (immediate) {
14870
+ this.fetchRemote(q);
14871
+ }
14872
+ else {
14873
+ this.debounceTimer = setTimeout(() => this.fetchRemote(q), this.debounceMs);
14874
+ }
14875
+ }
14876
+ else {
14877
+ this.items = this.filterInline(q);
14878
+ this.total = this.items.length;
14879
+ }
14880
+ }
14881
+ // --- The capped, render-ready slice ------------------------------------
14882
+ get visibleItems() {
14883
+ return this.items.slice(0, this.maxVisible);
14884
+ }
14885
+ get hiddenCount() {
14886
+ return Math.max(0, this.total - this.visibleItems.length);
14887
+ }
14888
+ // --- Interaction -------------------------------------------------------
14889
+ openMenu() {
14890
+ if (this.disabled)
14891
+ return;
14892
+ this.open = true;
14893
+ this.activeIndex = -1;
14894
+ // Populate on first open (initial page for remote, full list for inline).
14895
+ // Immediate fetch on open — debounce only applies to typing.
14896
+ if (!this.items.length || this.isRemote)
14897
+ this.runSearch(this.query, true);
14898
+ }
14899
+ closeMenu() {
14900
+ this.open = false;
14901
+ this.activeIndex = -1;
14902
+ }
14903
+ select(opt) {
14904
+ this.labelCache[String(opt.value)] = opt.label;
14905
+ if (this.multiple) {
14906
+ const current = this.selectedValues;
14907
+ const key = String(opt.value);
14908
+ const next = current.includes(key)
14909
+ ? current.filter((v) => v !== key) // toggle off if already chosen
14910
+ : [...current, key];
14911
+ this.value = next;
14912
+ this.query = '';
14913
+ this.emitValue(next);
14914
+ // Keep the menu open so more can be picked; reset the list to all results.
14915
+ this.runSearch('', true);
14916
+ return;
14917
+ }
14918
+ this.value = opt.value;
14919
+ this.selectedLabel = opt.label;
14920
+ this.query = '';
14921
+ this.closeMenu();
14922
+ this.emitValue(opt.value);
14923
+ }
14924
+ removeValue(val, e) {
14925
+ e === null || e === void 0 ? void 0 : e.stopPropagation();
14926
+ const next = this.selectedValues.filter((v) => v !== String(val));
14927
+ this.value = next;
14928
+ this.emitValue(next);
14929
+ }
14930
+ connectedCallback() {
14931
+ document.addEventListener('click', this.onDocumentClick, true);
14932
+ }
14933
+ disconnectedCallback() {
14934
+ document.removeEventListener('click', this.onDocumentClick, true);
14935
+ clearTimeout(this.debounceTimer);
14936
+ }
14937
+ render() {
14938
+ const selected = this.selectedValues;
14939
+ const hasSelection = selected.length > 0;
14940
+ const inputValue = this.multiple ? this.query : (this.open ? this.query : this.selectedLabel);
14941
+ const placeholder = this.multiple
14942
+ ? (hasSelection ? '' : this.placeholder)
14943
+ : (hasSelection && !this.open ? this.selectedLabel : this.placeholder);
14944
+ return (hAsync("div", { key: 'f5224332aa395be2a9dd8a1312dcd1b631ad2129', class: "eds-ss" }, (this.label || this.hint) && (hAsync("div", { key: 'e28da19abdedb4107a7b7be2a59e6444780f8251', class: "eds-ss__labelrow" }, this.label && (hAsync("eds-input-label", { key: '81933dbc2d370b8ddbbf8f4286c3420e4f140ca7', name: `${this.name}-input`, label: this.label, required: this.required, disabled: this.disabled })), this.hint && (hAsync("p", { key: '1ff5b7a62cc20bb2ce710ca2e06c728d94aef895', id: `${this.name}-hint`, class: "eds-ss__hint" }, this.hint)))), hAsync("div", { key: '84fbdccc6326707ac854e06d7209dd149d9c26a7', class: "eds-ss__control relative" }, hAsync("div", { key: 'ae99c3d9c706fa6619459d8d6c9baa3df610169e', class: { 'eds-ss__box': true, 'is-error': this.error || !!this.fetchError, 'is-disabled': this.disabled } }, this.multiple &&
14945
+ selected.map((v) => (hAsync("span", { class: "eds-ss__chip", key: v }, hAsync("span", { class: "eds-ss__chip-label" }, this.labelFor(v)), !this.disabled && (hAsync("button", { type: "button", class: "eds-ss__chip-x", "aria-label": `Remove ${this.labelFor(v)}`, onMouseDown: (e) => { e.preventDefault(); this.removeValue(v, e); } }, "\u00D7"))))), hAsync("input", { key: '18dcd5787c7636c09be7285fb85b77f5cae334c8', id: `${this.name}-input`, class: "eds-ss__input", type: "text", role: "combobox", autocomplete: "off", "aria-expanded": this.open ? 'true' : 'false', "aria-controls": this.listboxId, "aria-autocomplete": "list", placeholder: placeholder, value: inputValue, disabled: this.disabled, required: this.required && !hasSelection, onFocus: () => this.openMenu(), onInput: this.onInput, onKeyDown: this.onKeyDown })), !this.multiple && hasSelection && !this.disabled && (hAsync("button", { key: 'c927fa49fb58b7abec13f6d436f1d1452f9644c5', type: "button", class: "eds-ss__clear", "aria-label": "Clear selection", onClick: this.clear }, "\u00D7")), hAsync("span", { key: 'bff4bf41fb388f849ef9c0928f4aa88e065d718d', class: "eds-ss__chevron", "aria-hidden": "true" }, hAsync("eds-icon-wrapper", { key: '7871955d6fc5626914995d51c1b4b3511b60febe', name: "chevron-right", size: 20 }))), this.open && (hAsync("ul", { key: 'e529fe82576be45a0e99d4a020aa4f721b71686b', class: "eds-ss__list", id: this.listboxId, role: "listbox" }, this.loading && hAsync("li", { key: 'fe8d73dfa0d6a5cf7e9bea4220511a22489884f8', class: "eds-ss__status" }, "Searching\u2026"), !this.loading && this.fetchError && hAsync("li", { key: 'b708b1de4eee8e45287fd23f0bf63327032616d6', class: "eds-ss__status is-error" }, this.fetchError), !this.loading && !this.fetchError && this.visibleItems.length === 0 && (hAsync("li", { key: '9400ac7a022f38935f05df3705e2a65acb9d4a04', class: "eds-ss__status" }, "No matches")), !this.loading &&
14946
+ !this.fetchError &&
14947
+ this.visibleItems.map((opt, i) => (hAsync("li", { key: opt.value, class: { 'eds-ss__option': true, 'is-active': i === this.activeIndex, 'is-selected': selected.includes(String(opt.value)) }, role: "option", "aria-selected": selected.includes(String(opt.value)) ? 'true' : 'false', onMouseEnter: () => (this.activeIndex = i), onMouseDown: (e) => { e.preventDefault(); this.select(opt); } }, opt.label))), !this.loading && !this.fetchError && this.hiddenCount > 0 && (hAsync("li", { key: '8e82d65e9da3755ad10ffaf0fc4a45f5bc365a48', class: "eds-ss__more" }, "+", this.hiddenCount, " more \u2014 keep typing to narrow")))), hAsync("eds-input-footer", { key: '0564f006a874a3556118ce99441cbfabc230ac57', name: this.name, message: this.message, error: this.error, "error-message": this.errorMessage })));
14948
+ }
14949
+ get host() { return getElement(this); }
14950
+ static get watchers() { return {
14951
+ "options": ["onOptionsChange"],
14952
+ "value": ["onValueChange"]
14953
+ }; }
14954
+ static get style() { return EdsSearchSelectStyle0; }
14955
+ static get cmpMeta() { return {
14956
+ "$flags$": 9,
14957
+ "$tagName$": "eds-search-select",
14958
+ "$members$": {
14959
+ "name": [1],
14960
+ "label": [1],
14961
+ "placeholder": [1],
14962
+ "required": [4],
14963
+ "disabled": [4],
14964
+ "hint": [1],
14965
+ "message": [1],
14966
+ "error": [4],
14967
+ "errorMessage": [1, "error-message"],
14968
+ "value": [1025],
14969
+ "multiple": [4],
14970
+ "options": [1],
14971
+ "source": [1],
14972
+ "apiBase": [1, "api-base"],
14973
+ "searchParam": [1, "search-param"],
14974
+ "limit": [2],
14975
+ "debounceMs": [2, "debounce-ms"],
14976
+ "maxVisible": [2, "max-visible"],
14977
+ "open": [32],
14978
+ "query": [32],
14979
+ "loading": [32],
14980
+ "fetchError": [32],
14981
+ "items": [32],
14982
+ "total": [32],
14983
+ "activeIndex": [32],
14984
+ "selectedLabel": [32]
14985
+ },
14986
+ "$listeners$": undefined,
14987
+ "$lazyBundleId$": "-",
14988
+ "$attrsToReflect$": []
14989
+ }; }
14990
+ }
14991
+
14216
14992
  const edsSectionCoreCss = "";
14217
14993
  var EdsSectionCoreStyle0 = edsSectionCoreCss;
14218
14994
 
@@ -14238,7 +15014,7 @@ class EdsSectionCore {
14238
15014
  }
14239
15015
  render() {
14240
15016
  const TagType = this.tag; // Set dynamic tag type (div or section)
14241
- return (hAsync(TagType, { key: '65cb765fe9b997b5e573f5befd4ca1ea6611f1c5' }, hAsync("eds-section-heading", { key: 'a48c9fef0a45fbed08749e8b4f17d762d38bbb5b', headingLevel: this.headingLevel, sectionTitle: this.sectionTitle }), hAsync("slot", { key: '7e26bc40132c32670db60f5765b412d00d64c129' })));
15017
+ return (hAsync(TagType, { key: '635230d1ec9a0dcc945990a6a58dc3508345d984' }, hAsync("eds-section-heading", { key: '0b6b94df22af707cbd6964132f3a5190b4b7e83c', headingLevel: this.headingLevel, sectionTitle: this.sectionTitle }), hAsync("slot", { key: '8834c29c25249fb5c384fb5d51866eadb93a97d6' })));
14242
15018
  }
14243
15019
  static get style() { return EdsSectionCoreStyle0; }
14244
15020
  static get cmpMeta() { return {
@@ -14293,12 +15069,12 @@ class EdsSectionHeading {
14293
15069
  render() {
14294
15070
  const TagType = this.tag; // Dynamically set tag type for the container
14295
15071
  const HeadingTag = this.headingLevel; // Dynamically set heading level
14296
- return (hAsync(TagType, { key: '032f8629ef5ea1c45f40a135a54c32337f7181e9', class: {
15072
+ return (hAsync(TagType, { key: '7275284a1158ab982f1e53117b72738d0a001c97', class: {
14297
15073
  'ui-section-header flex flex-wrap items-center justify-between gap-x-12 gap-y-8': true,
14298
15074
  container: this.withContainer,
14299
15075
  'pt-48': this.spacingLarge,
14300
15076
  'pt-28': !this.spacingLarge
14301
- } }, hAsync(HeadingTag, { key: '37f821426fe05dba66445745da3d23c9ff75345e', class: this.getHeadingClass() }, this.sectionTitle)));
15077
+ } }, hAsync(HeadingTag, { key: 'a3c68baa56a0337348405c88544225ed7c7ff0ed', class: this.getHeadingClass() }, this.sectionTitle)));
14302
15078
  }
14303
15079
  static get cmpMeta() { return {
14304
15080
  "$flags$": 0,
@@ -14467,10 +15243,10 @@ class EdsSidebar {
14467
15243
  } }, hasChildren && (hAsync("span", { class: "sidebar-toggle -ml-4", "aria-hidden": "true" }, hAsync("eds-icon-wrapper", { name: isOpen ? 'chevron-down' : 'chevron-right' }))), hAsync("span", { class: "sidebar-link-wrapper" }, hAsync("eds-link", { label: item.title, url: item.url || '#', intent: isActive ? 'strong' : 'weak', size: "small", "aria-label": item.title, "extra-class": "sidebar-link", tabindex: "-1" }))), hasChildren && isOpen && (hAsync("ul", { id: childrenId, class: "sidebar-children" }, item.children.map((child) => this.renderItem(child, level + 1))))));
14468
15244
  }
14469
15245
  render() {
14470
- return (hAsync(Host, { key: 'a56e293e9b53b0dbffd6268c117f77828ba5f41a', class: {
15246
+ return (hAsync(Host, { key: 'f5221c19e8148ca62a76fb470a4aa6786c3e41b5', class: {
14471
15247
  'eds-sidebar': true,
14472
15248
  [`theme-${this.theme}`]: true
14473
- } }, hAsync("nav", { key: '07ca17add683f976b30e736389eddc473e1e5669', class: "sidebar-nav", "aria-label": "Sidebar" }, hAsync("ul", { key: 'a102418d399f14715eddf34e1c3373cf1be9d4aa', class: "sidebar-list" }, this.parsedItems.map((item) => this.renderItem(item, 0))))));
15249
+ } }, hAsync("nav", { key: '0a975a10a3892f6eabaf2a1c2be21963f0e76549', class: "sidebar-nav", "aria-label": "Sidebar" }, hAsync("ul", { key: '498436fa1f4ec7ff2f3feea843fe58b415d20a3f', class: "sidebar-list" }, this.parsedItems.map((item) => this.renderItem(item, 0))))));
14474
15250
  }
14475
15251
  get el() { return getElement(this); }
14476
15252
  static get watchers() { return {
@@ -14556,7 +15332,7 @@ class EdsSocialNetworks {
14556
15332
  const isInverse = this.variant === 'inverse';
14557
15333
  const textClass = isInverse ? 'text-inverse' : '';
14558
15334
  const linkIntent = isInverse ? 'inverse' : 'strong';
14559
- return (hAsync("nav", { key: '11b876483142bb98c686a4cb722d28022ca9f40c', "aria-label": "Social media" }, hAsync("p", { key: 'daf2865247ed69ab3e4233d191d8abb8d5be584f', class: `f-ui-02 ${textClass}` }, this.heading), hAsync("ul", { key: '47918284e8a158d523d3329eb28f4881ac27233e', class: "mt-12 flex gap-4" }, this.socialNetworks.map((network, index) => (hAsync("li", { key: index }, hAsync("eds-link", { external: true, "aria-label": `EBRAINS on ${network.label}`, url: network.url, icon: network.icon, intent: linkIntent })))))));
15335
+ return (hAsync("nav", { key: '924bdf5a32b65cd0968ad92461cb8203f3305fce', "aria-label": "Social media" }, hAsync("p", { key: 'f406d71ed2d7ff9048e5db05f5ad62566081aa45', class: `f-ui-02 ${textClass}` }, this.heading), hAsync("ul", { key: '40d000bc78780d7ec3c0c9bf2e10ec0a26f3b72e', class: "mt-12 flex gap-4" }, this.socialNetworks.map((network, index) => (hAsync("li", { key: index }, hAsync("eds-link", { external: true, "aria-label": `EBRAINS on ${network.label}`, url: network.url, icon: network.icon, intent: linkIntent })))))));
14560
15336
  }
14561
15337
  static get style() { return EdsSocialNetworksStyle0; }
14562
15338
  static get cmpMeta() { return {
@@ -14648,7 +15424,7 @@ class EdsSpinner {
14648
15424
  alignItems: 'center',
14649
15425
  justifyContent: 'center'
14650
15426
  };
14651
- return (hAsync(Host, { key: '16d20431aaa90a29b6e3d32cbd3403ece1f45345' }, hAsync("div", { key: '0e29dafa5eb3a84f31305614ae083356604a81bf', class: "spinner-overlay", style: overlayStyle }, hAsync("span", { key: 'cf63a83095e35a1ca4328fd14293e6895d8d9811', class: "spinner", style: spinnerStyle }), this.message && hAsync("p", { key: '7bb83c40db5dc985c429ca6ac171145db80c011d', class: "f-ui-01" }, this.message))));
15427
+ return (hAsync(Host, { key: 'c09fa07856848a03aab44bbb56ecdd66a986bb40' }, hAsync("div", { key: '544c653e9e0457d2063eaefc5ff1fe88de89f14e', class: "spinner-overlay", style: overlayStyle }, hAsync("span", { key: 'e389aa572863a265c9aa68d587ad744f1c8db0a7', class: "spinner", style: spinnerStyle }), this.message && hAsync("p", { key: '5e554fe1b870e673c5b3da3ec2a227e92dd9863d', class: "f-ui-01" }, this.message))));
14652
15428
  }
14653
15429
  static get style() { return EdsSpinnerStyle0; }
14654
15430
  static get cmpMeta() { return {
@@ -15197,7 +15973,7 @@ class EdsStepsV2 {
15197
15973
  const steps = this.parsedSteps;
15198
15974
  const marginClass = this.orientation === 'horizontal' ? 'mt-64' : 'mt-32';
15199
15975
  const themeClass = this.theme === 'brand' ? 'theme-brand' : 'theme-default';
15200
- return (hAsync("div", { key: '0f95d17cc699c020419593bec5ed76c4515501c9', class: this.articleClasses() }, this.imageSrc ? (hAsync("div", { class: "w-full mb-12 rounded-t-lg overflow-hidden border-2" }, hAsync("eds-img", { src: this.imageSrc, width: this.imageWidth, "with-bg": "true", "lazy-load": "true", alt: "Step illustration" }))) : (this.message && (hAsync("div", { class: `w-full ${this.theme === 'brand' ? 'bg-strongest' : 'bg-darker'} rounded-t-lg border-2` }, hAsync("div", { class: "p-24" }, hAsync("span", { class: `${this.theme === 'brand' ? 'text-accent' : 'text-inverse'} f-heading-04` }, this.message))))), hAsync("div", { key: 'ed26ac9fc5cc4d7c409d29c3cd623e37a5abc944', class: "mt-16 pb-20 px-8" }, this.type === 'linear' && this.orientation === 'horizontal' ? (hAsync("div", { class: `steps--horizontal ${themeClass}`, style: { '--step-count': steps.length.toString() } }, hAsync("div", { class: "horizontal-indicators" }, steps.map((step, index) => this.renderHorizontalIndicator(step, index))), steps.map((step, index) => {
15976
+ return (hAsync("div", { key: 'e1d78d18506adb662bbcc100f6f886e33c21a996', class: this.articleClasses() }, this.imageSrc ? (hAsync("div", { class: "w-full mb-12 rounded-t-lg overflow-hidden border-2" }, hAsync("eds-img", { src: this.imageSrc, width: this.imageWidth, "with-bg": "true", "lazy-load": "true", alt: "Step illustration" }))) : (this.message && (hAsync("div", { class: `w-full ${this.theme === 'brand' ? 'bg-strongest' : 'bg-darker'} rounded-t-lg border-2` }, hAsync("div", { class: "p-24" }, hAsync("span", { class: `${this.theme === 'brand' ? 'text-accent' : 'text-inverse'} f-heading-04` }, this.message))))), hAsync("div", { key: '5b69e2c641d96025b34377fc647679f94d0e4e44', class: "mt-16 pb-20 px-8" }, this.type === 'linear' && this.orientation === 'horizontal' ? (hAsync("div", { class: `steps--horizontal ${themeClass}`, style: { '--step-count': steps.length.toString() } }, hAsync("div", { class: "horizontal-indicators" }, steps.map((step, index) => this.renderHorizontalIndicator(step, index))), steps.map((step, index) => {
15201
15977
  const isLast = index === steps.length - 1;
15202
15978
  if (this.activeStep !== index) {
15203
15979
  return null;
@@ -15339,7 +16115,7 @@ class EdsSwitch {
15339
16115
  }; }
15340
16116
  }
15341
16117
 
15342
- const edsTableCss = "table{text-indent:0;border-color:inherit;border-collapse:collapse;}tr.table-row-default{background-color:transparent}tr.table-row-color:nth-child(even){background-color:var(--grey-light)}tr.table-row-color:nth-child(odd){background-color:transparent}.brand-table-wrapper{margin-top:2rem;width:100%}.brand-table{width:100% !important;border-collapse:separate !important;border-spacing:0 !important;display:table !important;table-layout:fixed !important}.brand-thead{background:var(--grey-light)}.brand-header-row{border:none !important}.brand-header-row th{padding:1rem 1.5rem !important;text-align:center !important;font-weight:600 !important;font-size:0.9rem !important;text-transform:uppercase;letter-spacing:0.05em;color:var(--grey-dark) !important;border:none !important;overflow-wrap:break-word !important;word-wrap:break-word !important}.brand-header-row th:first-child{border-radius:0.5rem 0 0 0;padding-left:2rem !important}.brand-header-row th:last-child{border-radius:0 0.5rem 0 0;padding-right:2rem !important}.brand-row{border-bottom:1px solid var(--grey-light) !important;transition:all 0.3s ease;cursor:pointer;position:relative;background:transparent !important}.brand-row:hover{background:rgba(0, 255, 157, 0.05) !important}.brand-row td{padding:1.5rem 1.5rem !important;border:none !important;vertical-align:middle;position:relative;z-index:1;overflow-wrap:break-word !important;word-wrap:break-word !important}.brand-row td:first-child{padding-left:2rem !important}.brand-row td:last-child{padding-right:2rem !important}.brand-row .actions-cell{text-align:right !important}.brand-table tr.brand-row{border-left:none;border-right:none;border-top:none}.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}.pt-32{padding-top:2rem}.pt-40{padding-top:2.5rem}.pt-48{padding-top:3rem}.pb-28{padding-bottom:1.75rem}.pb-60{padding-bottom:3.75rem}.mt-20{margin-top:1.25rem}.mt-28{margin-top:1.75rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.overflow-x-auto{overflow-x:auto}.mt-6{margin-top:0.375rem}.p-0{padding:0rem}.p-4{padding:0.25rem}.m-0{margin:0rem}.border{border-width:1px}.border-softer{border:1px solid rgba(0, 0, 0, .1)}.even\\:bg-inverse-softer:nth-child(even){background-color:rgba(255, 255, 255, .15)}.px-8{padding-left:0.5rem;padding-right:0.5rem}.px-20{padding-left:1.25rem;padding-right:1.25rem}.py-8{padding-top:0.5rem;padding-bottom:0.5rem}.f-ui-01{font-family:var(--f-ui-01-fontFamily);font-size:var(--f-ui-01-fontSize);line-height:var(--f-ui-01-lineHeight);letter-spacing:var(--f-ui-01-letterSpacing)}.f-ui-02{font-family:var(--f-ui-02-fontFamily);font-size:var(--f-ui-02-fontSize);line-height:var(--f-ui-02-lineHeight);letter-spacing:var(--f-ui-02-letterSpacing)}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.text-center{text-align:center}.break-words{overflow-wrap:anywhere}.controls-container{display:flex;width:100%}.view-toggle-wrapper{flex-shrink:0}.search-wrapper{min-width:0}.card-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:1.5rem;margin-top:1.5rem}.data-card{background:var(--white);border:1px solid var(--grey-light);border-radius:0.75rem;padding:1.5rem;transition:all 0.3s ease;display:flex;flex-direction:column;gap:1rem}.data-card:hover{border-color:var(--brand-green);box-shadow:0 4px 12px rgba(0, 255, 157, 0.1);transform:translateY(-2px)}.card-content{display:flex;flex-direction:column;gap:0.75rem;flex:1}.card-field{display:flex;flex-direction:column;gap:0.25rem}.card-label{font-family:var(--f-ui-03-fontFamily);font-size:var(--f-ui-03-fontSize);font-weight:var(--f-ui-03-fontWeight);line-height:var(--f-ui-03-lineHeight);text-transform:uppercase;letter-spacing:0.05em;color:var(--grey-dark)}.card-value{font-family:var(--f-ui-02-fontFamily);font-size:var(--f-ui-02-fontSize);line-height:var(--f-ui-02-lineHeight);color:var(--brand-black);word-wrap:break-word}.card-actions{display:flex;gap:0.5rem;justify-content:flex-end;padding-top:0.75rem;border-top:1px solid var(--grey-light)}@media (min-width: 640px){.card-grid{grid-template-columns:repeat(auto-fill, minmax(320px, 1fr))}}@media (min-width: 1024px){.card-grid{grid-template-columns:repeat(auto-fill, minmax(350px, 1fr));gap:2rem}}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-start{align-items:flex-start}.items-center{align-items:center}.gap-16{gap:1rem}.mb-16{margin-bottom:1rem}.w-full{width:100%}.w-auto{width:auto}@media (min-width: 750px){.flex-md-row{flex-direction:row}.items-md-center{align-items:center}.w-md-auto{width:auto}.w-md-400{width:400px}}";
16118
+ const edsTableCss = "table{text-indent:0;border-color:inherit;border-collapse:collapse;}.brand-table-wrapper{margin-top:2rem;width:100%}.brand-table{width:100% !important;border-collapse:separate !important;border-spacing:0 !important;display:table !important;table-layout:fixed !important}.brand-thead{background:var(--grey-light)}.brand-header-row{border:none !important}.brand-header-row th{padding:1rem 1.5rem !important;text-align:center !important;font-weight:600 !important;font-size:0.9rem !important;text-transform:uppercase;letter-spacing:0.05em;color:var(--grey-dark) !important;border:none !important;overflow-wrap:break-word !important;word-wrap:break-word !important}.brand-header-row th:first-child{border-radius:0.5rem 0 0 0;padding-left:2rem !important}.brand-header-row th:last-child{border-radius:0 0.5rem 0 0;padding-right:2rem !important}.brand-row{border-bottom:1px solid var(--grey-light) !important;transition:all 0.3s ease;position:relative;background:transparent !important}.brand-row.has-actions{cursor:pointer}.brand-row:hover{background:rgba(0, 255, 157, 0.05) !important}.brand-row td{padding:1.5rem 1.5rem !important;border:none !important;vertical-align:middle;position:relative;z-index:1;overflow-wrap:break-word !important;word-wrap:break-word !important}.brand-row td:first-child{padding-left:2rem !important}.brand-row td:last-child{padding-right:2rem !important}.brand-row .actions-cell{text-align:right !important}.brand-table tr.brand-row{border-left:none;border-right:none;border-top:none}.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}.pt-32{padding-top:2rem}.pt-40{padding-top:2.5rem}.pt-48{padding-top:3rem}.pb-28{padding-bottom:1.75rem}.pb-60{padding-bottom:3.75rem}.mt-20{margin-top:1.25rem}.mt-28{margin-top:1.75rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.overflow-x-auto{overflow-x:auto}.mt-6{margin-top:0.375rem}.p-0{padding:0rem}.p-4{padding:0.25rem}.m-0{margin:0rem}.border{border-width:1px}.border-softer{border:1px solid rgba(0, 0, 0, .1)}.even\\:bg-inverse-softer:nth-child(even){background-color:rgba(255, 255, 255, .15)}.px-8{padding-left:0.5rem;padding-right:0.5rem}.px-20{padding-left:1.25rem;padding-right:1.25rem}.py-8{padding-top:0.5rem;padding-bottom:0.5rem}.f-ui-01{font-family:var(--f-ui-01-fontFamily);font-size:var(--f-ui-01-fontSize);line-height:var(--f-ui-01-lineHeight);letter-spacing:var(--f-ui-01-letterSpacing)}.f-ui-02{font-family:var(--f-ui-02-fontFamily);font-size:var(--f-ui-02-fontSize);line-height:var(--f-ui-02-lineHeight);letter-spacing:var(--f-ui-02-letterSpacing)}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.text-center{text-align:center}.break-words{overflow-wrap:anywhere}.controls-container{display:flex;width:100%}.view-toggle-wrapper{flex-shrink:0}.search-wrapper{min-width:0}.card-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:1.5rem;margin-top:1.5rem}.data-card{background:var(--white);border:1px solid var(--grey-light);border-radius:0.75rem;padding:1.5rem;transition:all 0.3s ease;display:flex;flex-direction:column;gap:1rem}.data-card:hover{border-color:var(--brand-green);box-shadow:0 4px 12px rgba(0, 255, 157, 0.1);transform:translateY(-2px)}.card-content{display:flex;flex-direction:column;gap:0.75rem;flex:1}.card-field{display:flex;flex-direction:column;gap:0.25rem}.card-label{font-family:var(--f-ui-03-fontFamily);font-size:var(--f-ui-03-fontSize);font-weight:var(--f-ui-03-fontWeight);line-height:var(--f-ui-03-lineHeight);text-transform:uppercase;letter-spacing:0.05em;color:var(--grey-dark)}.card-value{font-family:var(--f-ui-02-fontFamily);font-size:var(--f-ui-02-fontSize);line-height:var(--f-ui-02-lineHeight);color:var(--brand-black);word-wrap:break-word}.card-field:first-child .card-value{font-size:var(--f-ui-01-fontSize);line-height:var(--f-ui-01-lineHeight)}.card-actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:0.5rem;padding-top:0.75rem;border-top:1px solid var(--grey-light)}@media (min-width: 640px){.card-grid{grid-template-columns:repeat(auto-fill, minmax(320px, 1fr))}}@media (min-width: 1024px){.card-grid{grid-template-columns:repeat(auto-fill, minmax(350px, 1fr));gap:2rem}}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-start{align-items:flex-start}.items-center{align-items:center}.gap-16{gap:1rem}.mb-16{margin-bottom:1rem}.w-full{width:100%}.w-auto{width:auto}@media (min-width: 750px){.flex-md-row{flex-direction:row}.items-md-center{align-items:center}.w-md-auto{width:auto}.w-md-400{width:400px}}";
15343
16119
  var EdsTableStyle0 = edsTableCss;
15344
16120
 
15345
16121
  /**
@@ -15428,11 +16204,10 @@ class EdsTable {
15428
16204
  this.paginationEnabled = true;
15429
16205
  this.searchEnabled = false;
15430
16206
  this.hostWidth = undefined;
15431
- this.columnSize = 'default';
15432
16207
  this.actions = [];
15433
16208
  this.actionTemplate = undefined;
15434
16209
  this.sortingEnabled = false;
15435
- this.theme = 'color';
16210
+ this.theme = 'brand';
15436
16211
  this.view = 'table';
15437
16212
  this.showViewToggle = false;
15438
16213
  this.parsedActions = [];
@@ -15464,6 +16239,8 @@ class EdsTable {
15464
16239
  }
15465
16240
  }
15466
16241
  componentWillLoad() {
16242
+ // 'default' / 'color' themes are disabled — always render the brand theme.
16243
+ this.theme = 'brand';
15467
16244
  this.parseConfig();
15468
16245
  this.handleActionsChange();
15469
16246
  this.parseData();
@@ -15599,19 +16376,6 @@ class EdsTable {
15599
16376
  this.columns.push('actions');
15600
16377
  }
15601
16378
  }
15602
- getVisibleColumnsCount() {
15603
- return this.columns.filter((column) => { var _a; return !((_a = this.parsedConfig[column]) === null || _a === void 0 ? void 0 : _a.hidden); }).length;
15604
- }
15605
- divisionFactor() {
15606
- let divisionFactor = 1;
15607
- if (this.columnSize === 'medium') {
15608
- divisionFactor = 2;
15609
- }
15610
- else if (this.columnSize === 'large') {
15611
- divisionFactor = 4;
15612
- }
15613
- return divisionFactor;
15614
- }
15615
16379
  capitalize(str) {
15616
16380
  return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();
15617
16381
  }
@@ -15646,24 +16410,23 @@ class EdsTable {
15646
16410
  const dataColumns = this.columns.filter((col) => { var _a; return col !== 'actions' && !((_a = this.parsedConfig[col]) === null || _a === void 0 ? void 0 : _a.hidden); });
15647
16411
  return (hAsync("div", { class: "card-grid" }, rows.map((row) => (hAsync("div", { class: "data-card" }, hAsync("div", { class: "card-content" }, dataColumns.map((col) => (hAsync("div", { class: "card-field" }, hAsync("span", { class: "card-label" }, this.capitalize(col)), hAsync("span", { class: "card-value" }, this.renderCell(row[col], col)))))), this.parsedActions.length > 0 && (hAsync("div", { class: "card-actions" }, this.parsedActions.map((act) => (hAsync("span", null, this.renderSingleActionCell(act.name, row)))))))))));
15648
16412
  }
15649
- renderTableView(paginatedRows, currentContainerWidth, visibleColumnsCount) {
15650
- const columnWidth = visibleColumnsCount > 0 ? Math.floor((currentContainerWidth / visibleColumnsCount) * this.divisionFactor()) : 100;
16413
+ renderTableView(paginatedRows) {
15651
16414
  return (hAsync("div", { class: `mt-20 ${this.theme === 'brand' ? 'brand-table-wrapper' : ''}` }, hAsync("table", { class: `${this.theme === 'brand' ? '' : 'block overflow-x-auto'} mt-6 p-0 ${this.theme === 'brand' ? 'brand-table' : ''}` }, hAsync("thead", { class: this.theme === 'brand' ? 'brand-thead' : '' }, hAsync("tr", { class: `m-0 p-0 border border-softer table-row-${this.theme} ${this.theme === 'brand' ? 'brand-header-row' : ''}` }, this.columns
15652
16415
  .filter((col) => { var _a; return col === 'actions' || !((_a = this.parsedConfig[col]) === null || _a === void 0 ? void 0 : _a.hidden); })
15653
16416
  .map((col) => {
15654
16417
  if (col === 'actions') {
15655
- return (hAsync("th", { class: "m-0 py-8 border border-softer f-ui-02 break-words", style: this.theme === 'brand' ? {} : { minWidth: `${columnWidth - 4}px` } }));
16418
+ return (hAsync("th", { class: "m-0 py-8 border border-softer f-ui-02 break-words" }));
15656
16419
  }
15657
- return (hAsync("th", { class: "m-0 py-8 border border-softer f-ui-02 break-words", style: this.theme === 'brand' ? {} : { minWidth: `${columnWidth - 4}px` } }, hAsync("div", { style: { display: 'flex', alignItems: 'center', justifyContent: 'center', gap: '0.25rem' } }, hAsync("span", null, this.capitalize(col)), this.sortingEnabled && (hAsync("eds-icon-wrapper", { name: this.sortColumn === col
16420
+ return (hAsync("th", { class: "m-0 py-8 border border-softer f-ui-02 break-words" }, hAsync("div", { style: { display: 'flex', alignItems: 'center', justifyContent: 'center', gap: '0.25rem' } }, hAsync("span", null, this.capitalize(col)), this.sortingEnabled && (hAsync("eds-icon-wrapper", { name: this.sortColumn === col
15658
16421
  ? this.sortDirection === 'asc'
15659
16422
  ? 'chevron-up'
15660
16423
  : 'chevron-down'
15661
16424
  : 'chevron-down', "aria-label": `Sort by ${col}`, onClick: () => this.handleSort(col), style: { cursor: 'pointer' } })))));
15662
- }))), hAsync("tbody", null, paginatedRows.map((row) => (hAsync("tr", { class: `m-0 p-0 border border-softer table-row-${this.theme} ${this.theme === 'brand' ? 'brand-row' : ''}` }, this.columns
16425
+ }))), hAsync("tbody", null, paginatedRows.map((row) => (hAsync("tr", { class: `m-0 p-0 border border-softer table-row-${this.theme} ${this.theme === 'brand' ? 'brand-row' : ''} ${this.parsedActions.length > 0 ? 'has-actions' : ''}` }, this.columns
15663
16426
  .filter((col) => { var _a; return col === 'actions' || !((_a = this.parsedConfig[col]) === null || _a === void 0 ? void 0 : _a.hidden); })
15664
16427
  .map((col) => {
15665
16428
  if (col === 'actions') {
15666
- return (hAsync("td", { class: "text-center border border-softer m-0 f-ui-01 break-words actions-cell", style: this.theme === 'brand' ? {} : { minWidth: `${columnWidth - 4}px` } }, hAsync("div", { role: "toolbar", "aria-label": "Row actions", onKeyDown: this.onActionKeyDown, style: {
16429
+ return (hAsync("td", { class: "text-center border border-softer m-0 f-ui-01 break-words actions-cell" }, hAsync("div", { role: "toolbar", "aria-label": "Row actions", onKeyDown: this.onActionKeyDown, style: {
15667
16430
  display: 'flex',
15668
16431
  gap: '0.5rem',
15669
16432
  justifyContent: 'center',
@@ -15671,18 +16434,16 @@ class EdsTable {
15671
16434
  } }, this.parsedActions.map((act) => (hAsync("span", { style: { whiteSpace: 'nowrap' } }, this.renderSingleActionCell(act.name, row)))))));
15672
16435
  }
15673
16436
  // Regular data cell
15674
- return (hAsync("td", { class: "text-center border border-softer m-0 py-8 f-ui-02 break-words", style: this.theme === 'brand' ? {} : { minWidth: `${columnWidth - 4}px` } }, this.renderCell(row[col], col)));
16437
+ return (hAsync("td", { class: "text-center border border-softer m-0 py-8 f-ui-02 break-words" }, this.renderCell(row[col], col)));
15675
16438
  }))))))));
15676
16439
  }
15677
16440
  render() {
15678
- const currentContainerWidth = this.hostWidth && this.hostWidth.trim() !== '' ? Number(this.hostWidth) : this.containerWidth || 400;
15679
- const visibleColumnsCount = this.getVisibleColumnsCount();
15680
16441
  const paginatedRows = this.getPaginatedRows();
15681
16442
  const lastPage = Math.ceil(this.totalRows / this.rowsPerPage);
15682
16443
  const showControls = this.showViewToggle || this.searchEnabled;
15683
- return (hAsync("div", { key: 'ca547566767c7bccd7b894dad5819ed74e9e281d' }, showControls && (hAsync("div", { key: '47c6fa14c2dbe499617dc31df1fd578bde473c6f', class: "controls-container flex-col flex-md-row items-start items-md-center justify-between gap-16 mb-16" }, this.showViewToggle && (hAsync("div", { key: '7f63fd07e67eaca9abc9d0700d7824e0f474dc23', class: "view-toggle-wrapper" }, hAsync("eds-switch", { key: 'f52b744b0e83295c1641f338212bae5843970ab9', variant: "segmented", labelOff: "Table View", labelOn: "Card View", checked: this.view === 'card', onUiswitch: this.handleViewChange }))), this.searchEnabled && (hAsync("div", { key: '5ebb3620be6161a1d7e1881cb5d33f5aac2e12a4', class: `search-wrapper w-full ${this.showViewToggle ? 'w-md-400' : ''}` }, hAsync("eds-input-field", { key: 1, icon: "search", name: "search", "aria-label": "Search", type: "text", placeholder: "Search...", onInput: (event) => this.handleSearch(event) }))))), this.view === 'card'
16444
+ return (hAsync("div", { key: '1e8a2f5f19df240ee3a57951641b60b947342fad' }, showControls && (hAsync("div", { key: '778fe091226330448bba089189e9dd6a6aa977a9', class: "controls-container flex-col flex-md-row items-start items-md-center justify-between gap-16 mb-16" }, this.showViewToggle && (hAsync("div", { key: '7ef287464bb2fba846be5341f4bb0e71d982be0e', class: "view-toggle-wrapper" }, hAsync("eds-switch", { key: '2d3a494a5b354a14c8e882a153633bd5e85a40ab', variant: "segmented", labelOff: "Table View", labelOn: "Card View", checked: this.view === 'card', onUiswitch: this.handleViewChange }))), this.searchEnabled && (hAsync("div", { key: 'dfcf6d0bdc23cb10481121881a7656b02a0599c1', class: `search-wrapper w-full ${this.showViewToggle ? 'w-md-400' : ''}` }, hAsync("eds-input-field", { key: 1, icon: "search", name: "search", "aria-label": "Search", type: "text", placeholder: "Search...", onInput: (event) => this.handleSearch(event) }))))), this.view === 'card'
15684
16445
  ? this.renderCardView(paginatedRows)
15685
- : this.renderTableView(paginatedRows, currentContainerWidth, visibleColumnsCount), this.shouldEnablePagination() && (hAsync("div", { key: 'bed5232d5ff9d7cac22ac2537876a388f35c85a6', class: "mt-20" }, hAsync("eds-pagination", { key: 'ec91525689028f6cfe2721e290f5c5c7097ab67a', currentPage: this.currentPage, lastPage: lastPage, perPage: this.rowsPerPage, total: this.totalRows, mode: "default" })))));
16446
+ : this.renderTableView(paginatedRows), this.shouldEnablePagination() && (hAsync("div", { key: '3f7faafdd6147855cb8812ff6303c335c7fd1f35', class: "mt-20" }, hAsync("eds-pagination", { key: '17705ba01a8ca8cc79bacfce34e55f11ce53d70c', currentPage: this.currentPage, lastPage: lastPage, perPage: this.rowsPerPage, total: this.totalRows, mode: "default" })))));
15686
16447
  }
15687
16448
  get hostEl() { return getElement(this); }
15688
16449
  static get watchers() { return {
@@ -15701,11 +16462,10 @@ class EdsTable {
15701
16462
  "paginationEnabled": [4, "pagination-enabled"],
15702
16463
  "searchEnabled": [4, "search-enabled"],
15703
16464
  "hostWidth": [1, "host-width"],
15704
- "columnSize": [1, "column-size"],
15705
16465
  "actions": [1],
15706
16466
  "actionTemplate": [16],
15707
16467
  "sortingEnabled": [4, "sorting-enabled"],
15708
- "theme": [1],
16468
+ "theme": [1025],
15709
16469
  "view": [1025],
15710
16470
  "showViewToggle": [4, "show-view-toggle"],
15711
16471
  "parsedActions": [32],
@@ -15726,7 +16486,7 @@ class EdsTable {
15726
16486
  }; }
15727
16487
  }
15728
16488
 
15729
- const edsTabsCss = ":host{display:block}.tabs-container{display:flex;gap:0.25rem;padding:0.25rem;border-radius:10px;width:fit-content;margin-bottom:3rem}.tabs-container-default{background-color:var(--brand-black, #07140D);border:1px solid rgba(255, 255, 255, 0.06)}.tabs-container-inverse{background:rgba(0, 0, 0, 0.02);border:1px solid rgba(0, 0, 0, 0.06)}.tabs-nav{display:flex;gap:0.25rem}.tab{padding:0.625rem 1.25rem;border-radius:8px;font-size:1.125rem;cursor:pointer;transition:all 0.2s ease;border:none;background:transparent;font-family:'IBM Plex Sans', sans-serif;white-space:nowrap;outline:none}.tab:focus-visible{outline:3px solid var(--brand-green);outline-offset:2px}.tab-default{color:var(--grey-700)}.tab-default:hover{color:var(--white)}.tab-default.tab-active{background:rgba(0, 255, 157, 0.1);color:var(--brand-green)}.tab-inverse{color:var(--grey-700)}.tab-inverse:hover{color:var(--brand-black)}.tab-inverse.tab-active{background:rgba(0, 200, 123, 0.1);color:var(--brand-green-dark)}.tab-panels{margin-top:2rem}.tab-panels>div{outline:none}.tab-panels>div:focus-visible{outline:3px solid var(--brand-green);outline-offset:2px;border-radius:4px}@media (max-width: 768px){.tabs-container{width:100%;overflow-x:auto}.tabs-nav{width:100%;min-width:fit-content}}";
16489
+ const edsTabsCss = ":host{display:block}.tabs-container{display:flex;gap:0.25rem;padding:0.25rem;border-radius:10px;width:fit-content;margin-bottom:3rem}.tabs-container-default{background-color:var(--brand-black, #07140D);border:1px solid rgba(255, 255, 255, 0.06)}.tabs-container-inverse{background:rgba(0, 0, 0, 0.02);border:1px solid rgba(0, 0, 0, 0.06)}.tabs-nav{display:flex;gap:0.25rem}.tab{padding:0.625rem 1.25rem;border-radius:8px;font-size:1.125rem;cursor:pointer;transition:color 0.15s ease;border:none;background:transparent;font-family:'IBM Plex Sans', sans-serif;white-space:nowrap;outline:none}.tab:focus-visible{outline:3px solid var(--brand-green);outline-offset:2px}.tab-default{color:var(--grey-700)}.tab-default:hover{color:var(--white)}.tab-default.tab-active{background:rgba(0, 255, 157, 0.1);color:var(--brand-green)}.tab-inverse{color:var(--grey-700)}.tab-inverse:hover{color:var(--brand-black)}.tab-inverse.tab-active{background:rgba(0, 200, 123, 0.1);color:var(--brand-green-dark)}.tab-panels{margin-top:2rem}.tab-panels>div{outline:none}.tab-panels>div:focus-visible{outline:3px solid var(--brand-green);outline-offset:2px;border-radius:4px}@media (max-width: 768px){.tabs-container{width:100%;overflow-x:auto}.tabs-nav{width:100%;min-width:fit-content}}";
15730
16490
  var EdsTabsStyle0 = edsTabsCss;
15731
16491
 
15732
16492
  /**
@@ -15765,14 +16525,28 @@ class EdsTabs {
15765
16525
  }
15766
16526
  /**
15767
16527
  * Parses the `tabs` prop into an array of tab objects.
16528
+ *
16529
+ * Note: we deliberately do NOT clear `tabRefs` here. Consumers
16530
+ * often re-pass `tabs` with an updated `active` flag every time
16531
+ * the user switches tabs (Vue/React re-render on event). Wiping
16532
+ * the refs leaves a window in which a queued focus() call sees
16533
+ * `tabRefs[index] === undefined` and silently no-ops — focus
16534
+ * gets stuck on the previous tab even though `aria-selected` and
16535
+ * the background already moved. Stencil re-binds refs on render,
16536
+ * so the array stays in sync without us emptying it; we only
16537
+ * truncate when the new list is shorter to drop stale entries.
15768
16538
  */
15769
16539
  parseTabs() {
15770
16540
  this.parsedTabs = parseData(this.tabs);
15771
- this.tabRefs = [];
16541
+ if (this.tabRefs.length > this.parsedTabs.length) {
16542
+ this.tabRefs.length = this.parsedTabs.length;
16543
+ }
15772
16544
  }
15773
16545
  componentDidUpdate() {
15774
- if (this.tabRefs.length !== this.parsedTabs.length) {
15775
- this.tabRefs = new Array(this.parsedTabs.length).fill(null);
16546
+ // Same reasoning as parseTabs: only shrink, never re-allocate
16547
+ // to nulls — that would re-introduce the silent-no-op window.
16548
+ if (this.tabRefs.length > this.parsedTabs.length) {
16549
+ this.tabRefs.length = this.parsedTabs.length;
15776
16550
  }
15777
16551
  }
15778
16552
  setActiveIndex() {
@@ -15783,6 +16557,7 @@ class EdsTabs {
15783
16557
  }
15784
16558
  }
15785
16559
  handleTabClick(index, tabLabel, shouldFocus = true) {
16560
+ var _a;
15786
16561
  if (index < 0 || index >= this.parsedTabs.length) {
15787
16562
  return;
15788
16563
  }
@@ -15797,11 +16572,34 @@ class EdsTabs {
15797
16572
  action: 'click'
15798
16573
  });
15799
16574
  }
15800
- if (shouldFocus && this.tabRefs[index]) {
15801
- setTimeout(() => {
16575
+ if (shouldFocus) {
16576
+ // Focus must move SYNCHRONOUSLY, while the keydown event
16577
+ // that triggered this call is still on the stack. Otherwise
16578
+ // the browser's `:focus-visible` heuristic doesn't flag the
16579
+ // focus move as keyboard-driven and the outline never paints
16580
+ // — accessibility regression (WCAG 2.4.7).
16581
+ //
16582
+ // We query by static id (`#tab-${index}`) instead of using
16583
+ // `tabRefs[index]` because consumer-driven prop changes can
16584
+ // briefly drop the cached ref. The button id is set in
16585
+ // `render()` and doesn't depend on active state, so it is
16586
+ // always findable.
16587
+ const findBtn = () => { var _a; return ((_a = this.el.shadowRoot) !== null && _a !== void 0 ? _a : this.el).querySelector(`#tab-${index}`); };
16588
+ (_a = findBtn()) === null || _a === void 0 ? void 0 : _a.focus();
16589
+ // Belt-and-suspenders: if a consumer reacts to the `tab`
16590
+ // event by re-rendering our buttons (rare, but possible
16591
+ // when the `tabs` prop is recomputed), the sync focus above
16592
+ // landed on a button that is now detached. Re-focus once
16593
+ // the next frame's DOM is in place. We only act if focus
16594
+ // genuinely isn't on the right element, to avoid a redundant
16595
+ // focus call that would reset selection/IME state.
16596
+ requestAnimationFrame(() => {
15802
16597
  var _a;
15803
- (_a = this.tabRefs[index]) === null || _a === void 0 ? void 0 : _a.focus();
15804
- }, 0);
16598
+ const after = findBtn();
16599
+ if (after && ((_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement) !== after) {
16600
+ after.focus();
16601
+ }
16602
+ });
15805
16603
  }
15806
16604
  }
15807
16605
  onKeyDown(ev, idx) {
@@ -15835,7 +16633,7 @@ class EdsTabs {
15835
16633
  'tabs-container',
15836
16634
  `tabs-container-${this.variant}`
15837
16635
  ].join(' ');
15838
- return (hAsync("div", { key: '66e0871d6cd917c15598b6e3ea80e5ff82970029', id: `${this.identifier}` }, hAsync("div", { key: 'c65163e33fcf4960bbcc367a2abf62c0aec99446', class: containerClasses }, hAsync("nav", { key: 'fae5e0f23904318299d60e1d3212f84b8c5a0bed', role: "tablist", class: "tabs-nav", "aria-label": this.navAriaLabel }, this.parsedTabs.map((tab, index) => {
16636
+ return (hAsync("div", { key: '646f43031cde2e0ab84d2830fd9477841b3c757b', id: `${this.identifier}` }, hAsync("div", { key: '2eb01c96640c6fc602777f227525066e5970489e', class: containerClasses }, hAsync("nav", { key: 'b419fc7414574ea70b19433a3c5daa63b5ad6652', role: "tablist", class: "tabs-nav", "aria-label": this.navAriaLabel }, this.parsedTabs.map((tab, index) => {
15839
16637
  const isActive = index === this.activeIndex;
15840
16638
  const tabClasses = [
15841
16639
  'tab',
@@ -15843,7 +16641,7 @@ class EdsTabs {
15843
16641
  isActive ? 'tab-active' : ''
15844
16642
  ].filter(Boolean).join(' ');
15845
16643
  return (hAsync("button", { class: tabClasses, type: "button", role: "tab", "aria-selected": isActive ? 'true' : 'false', tabIndex: isActive ? 0 : -1, "aria-label": tab.ariaLabel || tab.label, "aria-controls": `panel-${index}`, id: `tab-${index}`, ref: (el) => this.setTabRef(el, index), onClick: () => this.handleTabClick(index, tab.label, true), onKeyDown: (e) => this.onKeyDown(e, index) }, tab.label || tab.ariaLabel));
15846
- }))), hAsync("div", { key: 'a259d3e45fbcc5f75303cf8eb256374c67c62db1', class: "tab-panels" }, this.parsedTabs.map((_, index) => (hAsync("div", { role: "tabpanel", id: `panel-${index}`, "aria-labelledby": `tab-${index}`, hidden: index !== this.activeIndex, tabIndex: index === this.activeIndex ? 0 : -1 }, hAsync("slot", { name: `panel-${index}` })))))));
16644
+ }))), hAsync("div", { key: '0ce244b3d2b2120d1bdf127144e9b42e2ad34e52', class: "tab-panels" }, this.parsedTabs.map((_, index) => (hAsync("div", { role: "tabpanel", id: `panel-${index}`, "aria-labelledby": `tab-${index}`, hidden: index !== this.activeIndex, tabIndex: index === this.activeIndex ? 0 : -1 }, hAsync("slot", { name: `panel-${index}` })))))));
15847
16645
  }
15848
16646
  get el() { return getElement(this); }
15849
16647
  static get watchers() { return {
@@ -15906,7 +16704,7 @@ class EdsTag {
15906
16704
  }
15907
16705
  render() {
15908
16706
  const classes = tagStyles({ intent: this.intent, size: this.size });
15909
- return (hAsync("span", { key: 'ca20e54df5fc895110b39ce7875c3c0026e94fc3', class: classes }, hAsync("span", { key: '5ad7ada1ae051ff2840bb033ec683b44477f6684', style: { position: 'relative', zIndex: '1' } }, this.label)));
16707
+ return (hAsync("span", { key: '20e1625ac01b0dc1f40356d02622e0649faa7fa7', class: classes }, hAsync("span", { key: '313c3f18c0a5df285afe6a40ded9e68035d9648f', style: { position: 'relative', zIndex: '1' } }, this.label)));
15910
16708
  }
15911
16709
  static get style() { return EdsTagStyle0; }
15912
16710
  static get cmpMeta() { return {
@@ -15968,7 +16766,7 @@ class EdsTimeline {
15968
16766
  }
15969
16767
  }
15970
16768
  render() {
15971
- return (hAsync("div", { key: '9670bbe26e6f092d88c73268838d9349dca0c323', class: "max-w-sidebar mx-auto px-4 py-8" }, hAsync("div", { key: '202722dc0cb384ce68b2239915f44bf90d87a77e', class: "relative" }, hAsync("div", { key: '59760e5a62518dc6c3cc7fcfa711e060837f4c49', class: "absolute w-4 left-1/2 transform -translate-x-1/2 bg-strong h-full z-0" }), hAsync("div", { key: '2f1f6c5f5e7f2a770fc762b1b886dd199f0cf953', class: "space-y-16" }, this.parsedEvents.map((event, index) => (hAsync("div", { class: "relative flex" }, hAsync("div", { class: `w-1/2 ${index % 2 === 0 ? 'pr-4' : ''}` }, index % 2 === 0 && (hAsync("eds-card-generic", { title: event.title, url: "#", description: event.description, intent: "secondary", tags: JSON.stringify(event.completed
16769
+ return (hAsync("div", { key: '78b199b18d361ae3223e4f1fe9a2043d61f4271b', class: "max-w-sidebar mx-auto px-4 py-8" }, hAsync("div", { key: 'afdfdf7dc573a7f273703a02e38e755a9815bdf7', class: "relative" }, hAsync("div", { key: '7affc96f356ee901ca263c7347ae60b84869f28b', class: "absolute w-4 left-1/2 transform -translate-x-1/2 bg-strong h-full z-0" }), hAsync("div", { key: '7ba006234bd1365890e75b7f59aa118265ba727c', class: "space-y-16" }, this.parsedEvents.map((event, index) => (hAsync("div", { class: "relative flex" }, hAsync("div", { class: `w-1/2 ${index % 2 === 0 ? 'pr-4' : ''}` }, index % 2 === 0 && (hAsync("eds-card-generic", { title: event.title, url: "#", description: event.description, intent: "secondary", tags: JSON.stringify(event.completed
15972
16770
  ? [{ label: 'completed', style: 'accent' }]
15973
16771
  : [{ label: 'pending', style: 'default' }]), onClick: () => this.handleEventClick(event) }))), hAsync("div", { class: "flex items-center justify-center relative" }, event.completed ? (hAsync("div", { class: "w-32 h-32 bg-accent rounded-full shadow flex items-center justify-center" })) : (hAsync("div", { class: "w-32 h-32 bg-strong rounded-full shadow flex items-center justify-center" }))), hAsync("div", { class: `w-1/2 ${index % 2 !== 0 ? 'pl-4' : ''}` }, index % 2 !== 0 && (hAsync("eds-card-generic", { title: event.title, url: "#", description: event.description, intent: "secondary", tags: JSON.stringify(event.completed
15974
16772
  ? [{ label: 'completed', style: 'accent' }]
@@ -16144,7 +16942,7 @@ class EdsToastManager {
16144
16942
  this.toasts = this.toasts.filter((t) => t.id !== id);
16145
16943
  }
16146
16944
  render() {
16147
- return (hAsync("div", { key: 'd707822f33892171428aa926822dff5ffefac219', class: "toast-container" }, this.toasts.map((t) => (hAsync("div", { key: t.id }, hAsync("eds-toast", { message: t.message, intent: t.intent, onClick: () => this.removeToast(t.id) }))))));
16945
+ return (hAsync("div", { key: '989e469e815c6af6b46a14fddee85e4707f86704', class: "toast-container" }, this.toasts.map((t) => (hAsync("div", { key: t.id }, hAsync("eds-toast", { message: t.message, intent: t.intent, onClick: () => this.removeToast(t.id) }))))));
16148
16946
  }
16149
16947
  get hostElement() { return getElement(this); }
16150
16948
  static get style() { return EdsToastManagerStyle0; }
@@ -16183,7 +16981,7 @@ class EdsTooltip {
16183
16981
  }
16184
16982
  render() {
16185
16983
  const positionClass = this.position === 'bottom' ? 'top-full mt-2' : 'bottom-full mb-2';
16186
- return (hAsync("div", { key: '240956acf8218cb0b36254aecd629058ad39f4eb', class: "relative w-full inline-block group" }, hAsync("slot", { key: '4424c8de31fd4e2aa702369314cf0819447ca364' }), hAsync("div", { key: 'f260ef6ee9700231dc77ddc9debc7f5b92f546c6', class: `absolute ${positionClass}
16984
+ return (hAsync("div", { key: '8b4396894b1ec7cc1c2d928ffa5b3d7628f8c4ee', class: "relative w-full inline-block group" }, hAsync("slot", { key: 'c2547098aacc584960f217edcafeb060ce742adc' }), hAsync("div", { key: '1e6beac7e4294456f7a6130c4b0573cce3e4b548', class: `absolute ${positionClass}
16187
16985
  rounded-xs bg-strongest text-inverse
16188
16986
  f-ui-03-light pointer-events-none
16189
16987
  z-10 px-4 opacity-0 transition-opacity duration-150 ease-in-out
@@ -16204,6 +17002,220 @@ class EdsTooltip {
16204
17002
  }; }
16205
17003
  }
16206
17004
 
17005
+ /* eslint-disable */
17006
+ /**
17007
+ * Official EBRAINS sphere mark, extracted from
17008
+ * packages/assets/EBRAINS_logo_25/new_ebrains_logo_rgb/250901_new_ebrains_logo_rgb_positive.svg
17009
+ * (the gradient-filled wave segments only — wordmark dropped).
17010
+ *
17011
+ * Gradient ids carry a `__UID__` placeholder so each badge instance can
17012
+ * namespace them (no <defs> collisions when several badges share a page).
17013
+ * Gradient template inheritance uses SVG2 `href` (no xlink namespace needed).
17014
+ * Use markDefs() inside the badge <defs> and markGroup() in the body.
17015
+ */
17016
+ const MARK_DEFS = `<linearGradient id="__UID__Unbenannter_Verlauf_29" x1="-26.7" y1="64.8" x2="155" y2="-19.9" gradientUnits="userSpaceOnUse"> <stop offset="0" stop-color="#03a98f"/> <stop offset=".1" stop-color="#10a97b"/> <stop offset=".3" stop-color="#23aa5f"/> <stop offset="1" stop-color="#00ff9d"/> </linearGradient><linearGradient id="__UID__Unbenannter_Verlauf_291" x1="38.6" y1="205" x2="220.3" y2="120.2" href="#__UID__Unbenannter_Verlauf_29"/><linearGradient id="__UID__Unbenannter_Verlauf_292" x1="33" y1="193" x2="214.8" y2="108.3" href="#__UID__Unbenannter_Verlauf_29"/><linearGradient id="__UID__Unbenannter_Verlauf_293" x1="-3.5" y1="114.7" x2="178.3" y2="30" href="#__UID__Unbenannter_Verlauf_29"/><linearGradient id="__UID__Unbenannter_Verlauf_294" x1="4.5" y1="131.8" x2="186.2" y2="47.1" href="#__UID__Unbenannter_Verlauf_29"/><linearGradient id="__UID__Unbenannter_Verlauf_295" x1="28.6" y1="183.6" x2="210.4" y2="98.9" href="#__UID__Unbenannter_Verlauf_29"/><linearGradient id="__UID__Unbenannter_Verlauf_296" x1="3.8" y1="130.3" x2="185.5" y2="45.5" href="#__UID__Unbenannter_Verlauf_29"/><linearGradient id="__UID__Unbenannter_Verlauf_297" x1="18" y1="160.6" x2="199.7" y2="75.9" href="#__UID__Unbenannter_Verlauf_29"/>`;
17017
+ const MARK_PATHS = `<path fill="url(#__UID__Unbenannter_Verlauf_29)" d="M67.3,19.9c11.2-2.3,22.5-1,32.1,1.5.8.2,1.2-.8.5-1.3-11.6-7.3-20.9-11.4-26.6-13.5l-18.3,4.9c-3.4.9-6.4,2.7-8.9,5.1l-29.6,29.6c-2.5,2.5-4.2,5.5-5.1,8.9l-.7,2.6c1.7-1.5,3.4-3.2,5.2-4.9,12.6-12,29.9-28.4,51.3-32.9Z"/><path fill="url(#__UID__Unbenannter_Verlauf_291)" d="M33.8,172.2l12.3,12.3c2.5,2.5,5.5,4.2,8.9,5.1l40.4,10.8c3.4.9,6.9.9,10.2,0l40.4-10.8c3.4-.9,6.4-2.7,8.9-5.1l2.8-2.8c-80-32.2-119-12.3-123.9-9.5Z"/><path fill="url(#__UID__Unbenannter_Verlauf_292)" d="M97.7,137.4c-25.1.2-51.1.4-78.8,19.8l10.5,10.5h.1c2-1.5,42.4-27.9,132.8,9.1h.2c0,.1,18.6-18.4,18.6-18.4-7.8-2.8-58.6-21-83.1-21h-.3Z"/><path fill="url(#__UID__Unbenannter_Verlauf_293)" d="M137.2,41h0c2.6,2.4,5.3,5,8,7.7,26.3,26.3,43.8,37.2,53.9,41.8l-9.5-35.5c-.9-3.4-2.7-6.4-5.1-8.9l-29.6-29.6c-2.5-2.5-5.5-4.2-8.9-5.1L105.7.7c-3.4-.9-6.9-.9-10.2,0l-12.1,3.2c12.4,5.6,31.5,16.5,53.7,37,0,0,.1.1.2.2Z"/><path fill="url(#__UID__Unbenannter_Verlauf_294)" d="M132.7,86.1c4.9,1.6,26.3,12,26.3,12,1.7.7,7.3,3.3,8.9,4.1.7.3,1.3-.6.8-1.1-1.5-1.4-5.8-5-10.9-8.6,0,0-21.8-15.4-27.2-18.5-7.8-4.3-47.4-26.7-81.3-10C25.8,75.6,8,89.7.6,96c-.8,3.2-.7,6.5.1,9.7l3.4,12.8c7.2-6.7,20.2-17.2,40.4-28.2,35.4-19.2,61.9-12.8,88.2-4.2Z"/><path fill="url(#__UID__Unbenannter_Verlauf_295)" d="M55.9,128c-3.1,1.7-17.5,10.3-17.5,10.3,0,0-4.9,3-.2,1.9,2-.5,7.8-3.1,9.7-3.6,0,0,19.1-7,49.8-5.4.1,0,.2,0,.4,0,27.6,0,84.2,21,86.6,21.9l1.1.5c1.8-2.2,3.2-4.7,3.9-7.5l2.7-10.2c-14.1-5.9-55.1-22.3-81-22.3s-55.3,14.3-55.5,14.4Z"/><path fill="url(#__UID__Unbenannter_Verlauf_296)" d="M131.7,44.5c-2-1.7-4.9-3.9-8.5-6.3-1.8-1.3-3.6-2.3-5.4-3.2-8.1-4.1-29.1-13.1-49.2-9-19.7,4.1-35.5,19.2-48.2,31.3-4.7,4.5-8.7,8.3-12.4,11.1l-4.6,17.2c9.4-7.4,24.4-18,43.2-27.2,36.9-18.1,79.2,5.4,87.3,10.3,12.1,7.3,47.9,34.4,64,46.8l2.6-9.8c.7-2.5.8-5,.5-7.5-10.4-3.8-29.7-14.5-60.2-45-3.1-3.1-6.1-5.9-9.1-8.6Z"/><path fill="url(#__UID__Unbenannter_Verlauf_297)" d="M47.5,95.8c-22.1,12-35.5,23.6-41.5,29.6l5.5,20.7c.3,1.2.8,2.4,1.4,3.5,9.5-9.3,38.6-26.3,39.8-27,1-.6,25.6-15.3,58.7-15.3s67.5,16,82.6,22.4l1.1-4.2c-9.9-6.7-37.4-24.5-64.4-33.5-24.9-8.3-50-14.3-83.2,3.8Z"/>`;
17018
+ /** Gradient <defs> for the mark, namespaced with `uid`. */
17019
+ function markDefs(uid) {
17020
+ return MARK_DEFS.replace(/__UID__/g, uid);
17021
+ }
17022
+ /**
17023
+ * The mark paths wrapped in a positioned, scaled group.
17024
+ * The source artwork lives in a ~201×201 canvas; `size` is the rendered px.
17025
+ */
17026
+ function markGroup(uid, x, y, size = 16) {
17027
+ const s = (size / 201.1).toFixed(4);
17028
+ const paths = MARK_PATHS.replace(/__UID__/g, uid);
17029
+ return `<g transform="translate(${x},${y}) scale(${s})">${paths}</g>`;
17030
+ }
17031
+
17032
+ const edsTrlBadgeCss = ":host{display:inline-block;line-height:0;}.link{display:inline-block;line-height:0;text-decoration:none;color:inherit}.link svg{display:block}";
17033
+ var EdsTrlBadgeStyle0 = edsTrlBadgeCss;
17034
+
17035
+ let _uid = 0;
17036
+ /**
17037
+ * `EdsTrlBadge` — public EBRAINS TRL badge, aligned with the EBRAINS visual
17038
+ * system (Black `#07140D`, Green `#00FF9D`, Dark Green `#00C87B`, Grey
17039
+ * `#7A7B7A`, IBM Plex Mono) and using the **official EBRAINS sphere mark**.
17040
+ *
17041
+ * Renders a self-contained inline `<svg>` (same markup the server-side
17042
+ * `badge.svg` endpoint emits), so it embeds anywhere and stays crisp.
17043
+ *
17044
+ * Variants:
17045
+ * - `tone` — CI-style label + value pill (dark or light `theme`).
17046
+ * - `full` — single bar with the full string.
17047
+ * - `pill` — compact rounded "TRL 7".
17048
+ * - `outline` — thin border, transparent fill, mono caps (dark or light).
17049
+ * - `scale` — nine readiness pips showing position on the 1–9 scale.
17050
+ *
17051
+ * The value/pip colour encodes maturity within the brand palette:
17052
+ * TRL 7–9 → green, 4–6 → dark green, 1–3 → grey.
17053
+ *
17054
+ * @example
17055
+ * <eds-trl-badge level={7} assessed="2026-06" methodology="v8.2"></eds-trl-badge>
17056
+ * <eds-trl-badge level={7} variant="outline" theme="light"></eds-trl-badge>
17057
+ * <eds-trl-badge level={7} variant="scale" size={32}></eds-trl-badge>
17058
+ */
17059
+ class EdsTrlBadge {
17060
+ constructor(hostRef) {
17061
+ registerInstance(this, hostRef);
17062
+ /** Per-instance suffix so the mark's gradient ids never collide. */
17063
+ this.uid = `trl${++_uid}-`;
17064
+ this.level = undefined;
17065
+ this.assessed = undefined;
17066
+ this.methodology = undefined;
17067
+ this.theme = 'dark';
17068
+ this.variant = 'tone';
17069
+ this.size = undefined;
17070
+ this.label = 'EBRAINS TRL';
17071
+ this.href = undefined;
17072
+ }
17073
+ esc(s) {
17074
+ return String(s).replace(/&/g, '&amp;').replace(/</g, '&lt;')
17075
+ .replace(/>/g, '&gt;').replace(/"/g, '&quot;');
17076
+ }
17077
+ /** Maturity tier → value/pip colour (brand palette). */
17078
+ levelColor() {
17079
+ const n = Number(this.level);
17080
+ if (n >= 7)
17081
+ return '#00FF9D';
17082
+ if (n >= 4)
17083
+ return '#00C87B';
17084
+ return '#7A7B7A';
17085
+ }
17086
+ /** Readable value text on a coloured segment (black on green, light on grey). */
17087
+ valueText() {
17088
+ return Number(this.level) >= 4 ? '#07140D' : '#ECECEC';
17089
+ }
17090
+ fullText() {
17091
+ const parts = [`${this.label} ${this.level}`];
17092
+ if (this.assessed)
17093
+ parts.push(`assessed ${this.assessed}`);
17094
+ if (this.methodology)
17095
+ parts.push(`methodology ${this.methodology}`);
17096
+ return parts.join(' · ');
17097
+ }
17098
+ /** Build the inner markup + intrinsic dimensions for the chosen variant. */
17099
+ build() {
17100
+ const CW = EdsTrlBadge.CW;
17101
+ const uid = this.uid;
17102
+ const clip = `${uid}clip`;
17103
+ const valColor = this.levelColor();
17104
+ const logoSpace = 28; // 8 margin + ~16 mark + 4 gap
17105
+ const mono = `font-family="'IBM Plex Mono',monospace"`;
17106
+ const lvl = this.esc(String(this.level));
17107
+ if (this.variant === 'full') {
17108
+ const tail = (this.assessed ? ` · assessed ${this.esc(this.assessed)}` : '') +
17109
+ (this.methodology ? ` · methodology ${this.esc(this.methodology)}` : '');
17110
+ const w = Math.ceil(logoSpace + this.fullText().length * CW + 10);
17111
+ const inner = `<defs><clipPath id="${clip}"><rect width="${w}" height="24" rx="6"/></clipPath>${markDefs(uid)}</defs>` +
17112
+ `<g clip-path="url(#${clip})"><rect width="${w}" height="24" fill="#07140D"/></g>${markGroup(uid, 8, 4, 16)}` +
17113
+ `<text x="30" y="15.5" ${mono} font-size="11" letter-spacing=".2">` +
17114
+ `<tspan fill="#ECECEC">${this.esc(this.label)} </tspan>` +
17115
+ `<tspan fill="${valColor}" font-weight="600">${lvl}</tspan>` +
17116
+ `<tspan fill="#7A7B7A">${this.esc(tail)}</tspan></text>`;
17117
+ return { w, h: 24, inner };
17118
+ }
17119
+ if (this.variant === 'pill') {
17120
+ const txt = `TRL ${this.level}`;
17121
+ const w = Math.ceil(logoSpace + txt.length * CW + 14);
17122
+ const tx = logoSpace + (w - logoSpace) / 2 - 4;
17123
+ const inner = `<defs>${markDefs(uid)}</defs>` +
17124
+ `<rect width="${w}" height="24" rx="12" fill="#07140D"/>${markGroup(uid, 7, 4, 16)}` +
17125
+ `<text x="${tx}" y="16" ${mono} font-size="11" font-weight="500" letter-spacing=".5" text-anchor="middle">` +
17126
+ `<tspan fill="#ECECEC">TRL </tspan><tspan fill="${valColor}" font-weight="600">${lvl}</tspan></text>`;
17127
+ return { w, h: 24, inner };
17128
+ }
17129
+ if (this.variant === 'outline') {
17130
+ const dark = this.theme !== 'light';
17131
+ const bg = dark ? '#0c1c14' : '#ffffff';
17132
+ const stroke = dark ? '#34473d' : '#07140D';
17133
+ const labelColor = dark ? '#ECECEC' : '#07140D';
17134
+ const sep = dark ? '#5a6b62' : '#9aa39d';
17135
+ const value = dark ? valColor : (Number(this.level) >= 4 ? '#00966a' : '#7A7B7A');
17136
+ const w = Math.ceil(logoSpace + (this.label + ' · ' + this.level).length * CW + 12);
17137
+ const inner = `<defs>${markDefs(uid)}</defs>` +
17138
+ `<rect x=".5" y=".5" width="${w - 1}" height="23" rx="6" fill="${bg}" stroke="${stroke}"/>${markGroup(uid, 8, 4, 16)}` +
17139
+ `<text x="30" y="16" ${mono} font-size="11" letter-spacing=".3">` +
17140
+ `<tspan fill="${labelColor}">${this.esc(this.label)} </tspan>` +
17141
+ `<tspan fill="${sep}">· </tspan>` +
17142
+ `<tspan fill="${value}" font-weight="600">${lvl}</tspan></text>`;
17143
+ return { w, h: 24, inner };
17144
+ }
17145
+ if (this.variant === 'scale') {
17146
+ const dark = this.theme !== 'light';
17147
+ const bg = dark ? '#07140D' : '#ECECEC';
17148
+ const labelColor = dark ? '#ECECEC' : '#07140D';
17149
+ const emptyPip = dark ? '#2f4339' : '#c4ccc7';
17150
+ const sep = dark ? '#5a6b62' : '#9aa39d';
17151
+ const n = Math.max(0, Math.min(9, Number(this.level) || 0));
17152
+ const pipStart = Math.ceil(30 + this.label.length * CW + 12);
17153
+ const pipStep = 9, pipW = 6, pipH = 8, pipY = 9;
17154
+ let pips = '';
17155
+ for (let i = 0; i < 9; i++) {
17156
+ const x = pipStart + i * pipStep;
17157
+ pips += `<rect x="${x}" y="${pipY}" width="${pipW}" height="${pipH}" rx="1" fill="${i < n ? valColor : emptyPip}"/>`;
17158
+ }
17159
+ const valueX = pipStart + 9 * pipStep + 5;
17160
+ const w = Math.ceil(valueX + `${this.level}/9`.length * CW + 8);
17161
+ const inner = `<defs>${markDefs(uid)}</defs>` +
17162
+ `<rect width="${w}" height="26" rx="6" fill="${bg}"/>${markGroup(uid, 8, 5, 16)}` +
17163
+ `<text x="30" y="17" ${mono} font-size="11" letter-spacing=".3" fill="${labelColor}">${this.esc(this.label)}</text>` +
17164
+ `<g>${pips}</g>` +
17165
+ `<text x="${valueX}" y="17" ${mono} font-size="11" font-weight="500">` +
17166
+ `<tspan fill="${valColor}">${lvl}</tspan><tspan fill="${sep}">/9</tspan></text>`;
17167
+ return { w, h: 26, inner };
17168
+ }
17169
+ // tone (default) — dark or light theme
17170
+ const dark = this.theme !== 'light';
17171
+ const labelBg = dark ? '#07140D' : '#ECECEC';
17172
+ const labelTextColor = dark ? '#ECECEC' : '#07140D';
17173
+ const valTextColor = dark ? this.valueText() : '#07140D';
17174
+ const labelSegW = Math.ceil(logoSpace + this.label.length * CW + 12);
17175
+ const valSegW = Math.ceil(12 + String(this.level).length * CW + 12);
17176
+ const w = labelSegW + valSegW;
17177
+ const inner = `<defs><clipPath id="${clip}"><rect width="${w}" height="24" rx="6"/></clipPath>${markDefs(uid)}</defs>` +
17178
+ `<g clip-path="url(#${clip})"><rect width="${labelSegW}" height="24" fill="${labelBg}"/>` +
17179
+ `<rect x="${labelSegW}" width="${valSegW}" height="24" fill="${valColor}"/></g>${markGroup(uid, 8, 4, 16)}` +
17180
+ `<text x="${logoSpace + (labelSegW - logoSpace) / 2}" y="16" ${mono} font-size="11" letter-spacing=".4" fill="${labelTextColor}" text-anchor="middle">${this.esc(this.label)}</text>` +
17181
+ `<text x="${labelSegW + valSegW / 2}" y="16" ${mono} font-size="11" font-weight="600" fill="${valTextColor}" text-anchor="middle">${lvl}</text>`;
17182
+ return { w, h: 24, inner };
17183
+ }
17184
+ buildSvg() {
17185
+ const { w, h, inner } = this.build();
17186
+ const aria = this.esc(this.fullText());
17187
+ const k = this.size ? this.size / h : 1;
17188
+ const outW = Math.round(w * k);
17189
+ const outH = Math.round(h * k);
17190
+ return `<svg xmlns="http://www.w3.org/2000/svg" width="${outW}" height="${outH}" ` +
17191
+ `viewBox="0 0 ${w} ${h}" role="img" aria-label="${aria}"><title>${aria}</title>${inner}</svg>`;
17192
+ }
17193
+ render() {
17194
+ const svg = this.buildSvg();
17195
+ return (hAsync(Host, { key: 'eddfb49f35ff9771d76eef13a024b840b3a24cca' }, this.href ? (hAsync("a", { class: "link", href: this.href, "aria-label": this.fullText(), innerHTML: svg })) : (hAsync("span", { class: "link", innerHTML: svg }))));
17196
+ }
17197
+ static get style() { return EdsTrlBadgeStyle0; }
17198
+ static get cmpMeta() { return {
17199
+ "$flags$": 9,
17200
+ "$tagName$": "eds-trl-badge",
17201
+ "$members$": {
17202
+ "level": [2],
17203
+ "assessed": [1],
17204
+ "methodology": [1],
17205
+ "theme": [1],
17206
+ "variant": [1],
17207
+ "size": [2],
17208
+ "label": [1],
17209
+ "href": [1]
17210
+ },
17211
+ "$listeners$": undefined,
17212
+ "$lazyBundleId$": "-",
17213
+ "$attrsToReflect$": []
17214
+ }; }
17215
+ }
17216
+ // IBM Plex Mono advance width at 11px (used to size segments to the text).
17217
+ EdsTrlBadge.CW = 6.8;
17218
+
16207
17219
  const edsUserCss = "hr,p{margin:0}.block{display:block}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.text-default{color:var(--black)}.min-w-\\[280px\\]{min-width:280px}.p-8{padding:0.5rem}.gap-x-16{-moz-column-gap:1rem;column-gap:1rem}.gap-y-8{row-gap:0.5rem}.pb-16{padding-bottom:1rem}.border-b-2{border-bottom-width:2px}.border-softer{border-color:rgba(0, 0, 0, .1 )}.max-w-full{max-width:100%}.w-full{width:100%}.f-ui-01{font-family:var(--f-ui-01-fontFamily);font-weight:var(--f-ui-01-fontWeight);font-size:var(--f-ui-01-fontSize);line-height:var(--f-ui-01-lineHeight);letter-spacing:var(--f-ui-01-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)}.mt-4{margin-top:0.25rem}.mt-16{margin-top:1rem}";
16208
17220
  var EdsUserStyle0 = edsUserCss;
16209
17221
 
@@ -16255,7 +17267,7 @@ class EdsUser {
16255
17267
  render() {
16256
17268
  const user = this.parsedUser;
16257
17269
  //const iconName = this.expanded ? 'chevron-down' : 'chevron-right';
16258
- return (hAsync("div", { key: 'd23f741600ca86103642bfe17058e8e966ed00e0', class: "block" }, hAsync("div", { key: 'cf73f261fdd219f236a93b4162656ef3178ca419', class: "flex items-center" }, hAsync("eds-dropdown", { key: 'c69a3c95348c765d893aa01d5631d122de428970', ref: (el) => (this.dropdownEl = el), intent: this.intent, "aria-label": "User Menu", "dropdown-pos": "right", "dropdown-offset": "false", icon: "user", label: this.dropdownLabel, class: "text-default", onDropdown: this.handleDropdown }, hAsync("div", { key: 'f142afdf77953f791ca0478af862934d0904dabb', class: "min-w-[280px] p-8" }, hAsync("div", { key: '7ee37a9f2175e626c278071a409a5c26f4331c8a', class: "flex gap-x-16", "data-dropdown-no-close": true }, hAsync("eds-avatar", { key: '7248877a0579d8d15dec94b994af5150c9dbf2c2', "first-name": user.given_name, "last-name": user.family_name, initials: this.initials, color: "black" }), hAsync("div", { key: '1766fb5e2613b434c8de825c90141b4f95be00e1', class: "max-w-full" }, user.name && hAsync("p", { key: 'd36907607f575eeb5425c1f2e32e91034fad6dde', class: "f-ui-01 text-default w-full text-ellipsis" }, user.name), user.preferred_username && hAsync("p", { key: '73e02010d3d54151252903071bbe30168ea7d64a', class: "f-ui-03-light text-light mt-4" }, user.preferred_username), user.email && hAsync("p", { key: 'eb522e6c95f15ef0584c7a90c20bb815ccc5d1a1', class: "f-ui-03-light text-light mt-4" }, user.email))), hAsync("div", { key: 'c4284f4dba1964a949380aa0154419e3215daac4', class: "text-default flex w-full flex-col gap-y-8" }, hAsync("slot", { key: '6476e03cf61ad7517e9742e67b44b9c917d9f329' })))))));
17270
+ return (hAsync("div", { key: '1a9c56a4868b68ea95fdbb19a61435f5fa23b1b5', class: "block" }, hAsync("div", { key: '242beb1cf3dc3e545be84003615eaed119be3e20', class: "flex items-center" }, hAsync("eds-dropdown", { key: 'e75e0305a60936df4deb5b012fa139ca9a6b024f', ref: (el) => (this.dropdownEl = el), intent: this.intent, "aria-label": "User Menu", "dropdown-pos": "right", "dropdown-offset": "false", icon: "user", label: this.dropdownLabel, class: "text-default", onDropdown: this.handleDropdown }, hAsync("div", { key: '09c74d1320e9637e50f7e0f8482e435db7a3319a', class: "min-w-[280px] p-8" }, hAsync("div", { key: 'fa70ecc13e477cf2d2ead8e8dbab4fa3c3587149', class: "flex gap-x-16", "data-dropdown-no-close": true }, hAsync("eds-avatar", { key: '69f059e2002237dd874ba62952c2b014ad94cb8a', "first-name": user.given_name, "last-name": user.family_name, initials: this.initials, color: "black" }), hAsync("div", { key: 'c300f3bbe7f57d82913cef614637188babb82818', class: "max-w-full" }, user.name && hAsync("p", { key: 'dc1a4a26f6c1da6c6e88e5aae484ca2ada2864e6', class: "f-ui-01 text-default w-full text-ellipsis" }, user.name), user.preferred_username && hAsync("p", { key: '76f94c7b0394125d9a6b547722df5545c6b479fd', class: "f-ui-03-light text-light mt-4" }, user.preferred_username), user.email && hAsync("p", { key: '8be3fe5ba1c302d5ef9bfb6d563070c07ed722ca', class: "f-ui-03-light text-light mt-4" }, user.email))), hAsync("div", { key: '191e365fa893122e09c07aa36d1fde5d28b9b3de', class: "text-default flex w-full flex-col gap-y-8" }, hAsync("slot", { key: '8d3fbd032340d5c32fd93ab89b034e7de25ef2e3' })))))));
16259
17271
  }
16260
17272
  get hostEl() { return getElement(this); }
16261
17273
  static get style() { return EdsUserStyle0; }
@@ -16311,7 +17323,7 @@ class GradientPrimaryPalette {
16311
17323
  ];
16312
17324
  }
16313
17325
  render() {
16314
- return (hAsync("ul", { key: '258789470870c2782879bbf43ee7320b7c20278c', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16", style: {
17326
+ return (hAsync("ul", { key: 'a8696a25aafbfb13acf0966545e33caf6f65545d', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16", style: {
16315
17327
  background: 'linear-gradient(to bottom, #9CE142 0%, #00C959 50%, #00A595 100%)'
16316
17328
  } }, this.colors.map((color) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { class: "effect-height flex items-center justify-between p-16" }, hAsync("div", { class: "grid" }, hAsync("span", { class: "f-body-02" }, color.rgb), hAsync("span", { class: "f-body-02 w-full" }, color.cmyk), hAsync("eds-code-block", { code: color.hex, style: { minWidth: '150px', marginRight: '5px' } })), hAsync("div", { class: "grid" }, hAsync("span", { class: "f-body-02" }, color.pantoneC), hAsync("span", { class: "f-body-02" }, color.pantoneU))))))));
16317
17329
  }
@@ -16384,19 +17396,19 @@ class GradientSecondaryPalette {
16384
17396
  ];
16385
17397
  }
16386
17398
  render() {
16387
- return (hAsync("div", { key: '69225b7fdfb7caca0f969c9f8443e5feae1e5049' }, hAsync("ul", { key: '191050a4e4062a36abbe3dcbd341e42cf1bbc729', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, hAsync("li", { key: '1983fa3f61c360c114d0219701e31cb986864b75', class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { key: '9f578c04f4bdb27ad92300ee3607f07332798798', class: "effect-height flex items-center justify-between p-16", style: {
17399
+ return (hAsync("div", { key: '0ddb6899f2537c472edbdd0de348c4155a861fff' }, hAsync("ul", { key: 'f5dc4b1ec2fac8da8266e89b3ee51b13bbf2ab6c', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, hAsync("li", { key: 'f0c8c818f3fcf25c565890fc330f0381c5c0dbc6', class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { key: 'b6df1db077f85646585b918b155e49ea139bcc82', class: "effect-height flex items-center justify-between p-16", style: {
16388
17400
  background: this.colors[0].background
16389
- } }, hAsync("div", { key: '46d3cab1cb3dd781fb0b10a7e2a475a335d3a14b', class: "grid" }, hAsync("span", { key: '20c96e39bb215773e97152fc6232b40c35369492', class: "f-body-02" }, this.colors[0].rgb), hAsync("span", { key: 'bf5eefcd1e597bd459367dde6435337fca6790bb', class: "f-body-02 w-full" }, this.colors[0].cmyk), hAsync("eds-code-block", { key: '439f646e2f45512485a0e871340fe1c0d99af31d', code: this.colors[0].hex, style: { minWidth: '150px', marginRight: '5px' } })), hAsync("div", { key: 'ff06a5814e4d7a677ea695640235df7f1b09c685', class: "grid" }, hAsync("span", { key: '1f2329355cde34ce8de0db364588a9210414a63f', class: "f-body-02" }, this.colors[0].pantoneC), hAsync("span", { key: 'ce99a877251340fa0fe40cf1a9449c180f3d4f4a', class: "f-body-02" }, this.colors[0].pantoneU))), hAsync("div", { key: 'aeff17cba43d8048125b7934c9359183b98c94e5', class: "effect-height flex items-center justify-between p-16", style: {
17401
+ } }, hAsync("div", { key: '77d1cb3761d5d5d1f415e9b47a31fee3f246dd7c', class: "grid" }, hAsync("span", { key: 'b1d79586fdd0126a44329a6478702803df065afc', class: "f-body-02" }, this.colors[0].rgb), hAsync("span", { key: '463fef5cd7531513f644605f4caba6218ddf08ad', class: "f-body-02 w-full" }, this.colors[0].cmyk), hAsync("eds-code-block", { key: 'e0ecb4d4ec8c30f2de553d8763d50b7346c1148a', code: this.colors[0].hex, style: { minWidth: '150px', marginRight: '5px' } })), hAsync("div", { key: '1e8f1a7be1aa0418232458729a5bb85d2cb98e4f', class: "grid" }, hAsync("span", { key: 'a82f7eed64466929d0c366ad0cac1dd8d07095b3', class: "f-body-02" }, this.colors[0].pantoneC), hAsync("span", { key: '78c94eaf3d621a16ebc17d210fd3f6baef0e70fe', class: "f-body-02" }, this.colors[0].pantoneU))), hAsync("div", { key: '4b21c9633426e2d49421e9e93adb920306aced13', class: "effect-height flex items-center justify-between p-16", style: {
16390
17402
  background: this.colors[1].background
16391
- } }, hAsync("div", { key: '4dbe74c2a516f22ef522d95fa3fb0c5815207a3c', class: "grid" }, hAsync("span", { key: '22867c70b47939d9f9b30078c6873486eef8a03d', class: "f-body-02" }, this.colors[1].rgb), hAsync("span", { key: '0510a917d4b4bc373d6a259cef421c20e6fef0cc', class: "f-body-02 w-full" }, this.colors[1].cmyk), hAsync("eds-code-block", { key: '649226a0e9dc4825c3f009ac1b2044b68b55a80b', code: this.colors[1].hex, style: { minWidth: '150px', marginRight: '5px' } })), hAsync("div", { key: '70d71385d6f5fa63e64831f31b3ca5c5b15a059f', class: "grid" }, hAsync("span", { key: 'e31cb3e8d926d12dfb59c60e236458311867bd83', class: "f-body-02" }, this.colors[1].pantoneC), hAsync("span", { key: 'f36f4f08dc044852213b42dfde6e106a1b85c982', class: "f-body-02" }, this.colors[1].pantoneU))))), hAsync("eds-block-break", { key: '40c2cdbce85fe5233a167f2133082877ed46fe8a' }), hAsync("ul", { key: '6c0ef5e7552351757cf0f419bf1b254cca6f9121', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, hAsync("li", { key: 'd7b26c790d754d5ba55b3c02f601718c07b2c54a', class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { key: '24c753409e5b67d70212ea6a39850b4355ced584', class: "effect-height flex items-center justify-between p-16", style: {
17403
+ } }, hAsync("div", { key: '118a50630946847b09f2792fda6fc86f9c4b458e', class: "grid" }, hAsync("span", { key: '4143c24062fcd7b3313867eb4c13a8a83fbbd644', class: "f-body-02" }, this.colors[1].rgb), hAsync("span", { key: '5ef264bd694c497e2ba0348a36ef1789bcada833', class: "f-body-02 w-full" }, this.colors[1].cmyk), hAsync("eds-code-block", { key: 'a1456423e9173eb95da41584ecded25d5c61766a', code: this.colors[1].hex, style: { minWidth: '150px', marginRight: '5px' } })), hAsync("div", { key: 'e345d8cc8c51f2d9d1fea9b2c67051ce5ca8f358', class: "grid" }, hAsync("span", { key: '29b7d5bcfb5ac5f95474f053239a49e7fc91799f', class: "f-body-02" }, this.colors[1].pantoneC), hAsync("span", { key: 'b446728afaa56156a254499d335c2a1c8e1b0148', class: "f-body-02" }, this.colors[1].pantoneU))))), hAsync("eds-block-break", { key: 'b3d7bc7434cf9f707cd1827cb2dac72fe70d58e2' }), hAsync("ul", { key: 'c83274127086ebcb67f22d946480636059e313af', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, hAsync("li", { key: '27fbee38a641a525a3dd02f4ad7b6b03fa2f59b5', class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { key: '34b924874118811fef752e975532fb6c56692b67', class: "effect-height flex items-center justify-between p-16", style: {
16392
17404
  background: this.colors[2].background
16393
- } }, hAsync("div", { key: '058568211b7fe1f9318ca17df97b54e06ae0ea5d', class: "grid" }, hAsync("span", { key: '082e7edbbc979c8481e4c87471d5217fecd70325', class: "f-body-02" }, this.colors[2].rgb), hAsync("span", { key: '1d7f777eeeae24bba34af35a328cfca5be2d6ab8', class: "f-body-02 w-full" }, this.colors[2].cmyk), hAsync("eds-code-block", { key: '2226100dd044fe6cb53652f6384a6b1eff1cf20b', code: this.colors[2].hex, style: { minWidth: '150px', marginRight: '5px' } })), hAsync("div", { key: '33f9d85cffdd0f83b9caf87805dd18eae875a76d', class: "grid" }, hAsync("span", { key: '6637f361a11e185af2953435c93a76799e6fda05', class: "f-body-02" }, this.colors[2].pantoneC), hAsync("span", { key: '749318eac8b7f37e1da1302bcbd17f93f0af344d', class: "f-body-02" }, this.colors[2].pantoneU))), hAsync("div", { key: '9d3b781a726649c0accc613cb697d01bb42c5e32', class: "effect-height flex items-center justify-between p-16", style: {
17405
+ } }, hAsync("div", { key: '1e28e76e270583923233a207dcf14f155ec1a056', class: "grid" }, hAsync("span", { key: '25ddba2af4b76aff1d3c28711052e23e1f924f35', class: "f-body-02" }, this.colors[2].rgb), hAsync("span", { key: 'a2f75582478b7ac7cb5e5c954fbe6bc41c534714', class: "f-body-02 w-full" }, this.colors[2].cmyk), hAsync("eds-code-block", { key: '5ed9569671f7644be52a63735cd9f91dd0c38e45', code: this.colors[2].hex, style: { minWidth: '150px', marginRight: '5px' } })), hAsync("div", { key: 'b6c65b860f91f5d1b0dea6320588807b54935260', class: "grid" }, hAsync("span", { key: '75fdc2677a0cf76e2fc458bf6ddafa8f25e47c25', class: "f-body-02" }, this.colors[2].pantoneC), hAsync("span", { key: '48a8182282ab4311ebe104ce812924261f350c52', class: "f-body-02" }, this.colors[2].pantoneU))), hAsync("div", { key: '40f5edd974eff3891f08fb4bb71e627a7fc6c3e3', class: "effect-height flex items-center justify-between p-16", style: {
16394
17406
  background: this.colors[3].background
16395
- } }, hAsync("div", { key: 'a6b623c79282ce86a61e729057900ecbb5a68168', class: "grid" }, hAsync("span", { key: 'f6eb8b41c30a9acf4f71f23c4f5dc63475792874', class: "f-body-02" }, this.colors[3].rgb), hAsync("span", { key: 'f0606ad3c6c4676d2899052e33f6c4441953cf6d', class: "f-body-02 w-full" }, this.colors[3].cmyk), hAsync("eds-code-block", { key: 'c910b8bfbe955617edcdaeea4fa3e3398c134b18', code: this.colors[3].hex, style: { minWidth: '150px', marginRight: '5px' } })), hAsync("div", { key: 'a33a31c3d55d5490eb48800f921408dc48e046d5', class: "grid" }, hAsync("span", { key: 'd74a10f52e474e9db505461bb53c44c9e12405ee', class: "f-body-02" }, this.colors[3].pantoneC), hAsync("span", { key: '01ca7c9b8cf3dd0d3b3f3159a426f6f4f0840c5f', class: "f-body-02" }, this.colors[3].pantoneU))))), hAsync("eds-block-break", { key: '8d19ffae79f0d6c800d1ab6f303d978b2d0c6ae3' }), hAsync("ul", { key: '508b78eda27c872d411df1b6c9f9bd8ece25b4ee', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, hAsync("li", { key: '69ec343591e60f178e5c9a8742495739f489c8f5', class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { key: '8b142eaf31a4456fad672dbb8c60076e2c4ddfc5', class: "effect-height flex items-center justify-between p-16", style: {
17407
+ } }, hAsync("div", { key: '30e2c52d5dc2f14b2d31db28725602fa5db2c7cc', class: "grid" }, hAsync("span", { key: 'f38624cf43d3afc08c6ddf7fda4c0d8c8302cabb', class: "f-body-02" }, this.colors[3].rgb), hAsync("span", { key: '7fa03e96c202c03376214cf874de48ad3059a819', class: "f-body-02 w-full" }, this.colors[3].cmyk), hAsync("eds-code-block", { key: '5668f67a60cf3c148b2f411b5e990409f1b2a63d', code: this.colors[3].hex, style: { minWidth: '150px', marginRight: '5px' } })), hAsync("div", { key: '944dbcbe0b74d5de3b7a6cb6249292c4f6198ce4', class: "grid" }, hAsync("span", { key: 'f85d29f44844bad53e1a8272792909ee655c3d11', class: "f-body-02" }, this.colors[3].pantoneC), hAsync("span", { key: 'a8565dd2fcd60b9e8f685ca91be4b91fd9310243', class: "f-body-02" }, this.colors[3].pantoneU))))), hAsync("eds-block-break", { key: '1736517e3b869da97268b88ca1e862e52afb72e3' }), hAsync("ul", { key: '89c5251e7c56a1858f98f9877721aaf3818d3ce3', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, hAsync("li", { key: 'f1bf325f0f4c4ff13212dd40a957a0407a0e2a31', class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { key: '8f324cbb1e6c24f786135607d511cc6040582902', class: "effect-height flex items-center justify-between p-16", style: {
16396
17408
  background: this.colors[4].background
16397
- } }, hAsync("div", { key: 'bf5f0cf2b9ef7c9a4814fa6f423cb4b9434878c3', class: "grid" }, hAsync("span", { key: '074772116344b8e4e4283e448a67de07019fc807', class: "f-body-02" }, this.colors[4].rgb), hAsync("span", { key: 'f963109c62079dd8dd85fb82eae94ece0170d8fd', class: "f-body-02 w-full" }, this.colors[4].cmyk), hAsync("eds-code-block", { key: 'c2e79bf856562f0830ea6fe651ec774644d64f08', code: this.colors[4].hex, style: { minWidth: '150px', marginRight: '5px' } })), hAsync("div", { key: 'd08a0628c64b87da7e8714b75e2c380228ea6144', class: "grid" }, hAsync("span", { key: '79bfd7870adbc66d77770dd59d63f1e368fc3d32', class: "f-body-02" }, this.colors[4].pantoneC), hAsync("span", { key: '88d5fce43c419d06b0d1a7c5196ca2cb7c2e4171', class: "f-body-02" }, this.colors[4].pantoneU))), hAsync("div", { key: '36b4521488bd73d13f2e666b899e50df1537eb81', class: "effect-height flex items-center justify-between p-16", style: {
17409
+ } }, hAsync("div", { key: '1eb01383979ac6d4a0b61964a7bcd19887c8908f', class: "grid" }, hAsync("span", { key: '2aaf61cb79ca93c7303ea37b0e23f755bf933948', class: "f-body-02" }, this.colors[4].rgb), hAsync("span", { key: '5814e3e62806533329488aa61f3528d6add22db1', class: "f-body-02 w-full" }, this.colors[4].cmyk), hAsync("eds-code-block", { key: 'e5a78ab4f2ee993cbf6f084314534b645b782dfa', code: this.colors[4].hex, style: { minWidth: '150px', marginRight: '5px' } })), hAsync("div", { key: 'db666031e9fee9f2029992f776e1c468f5fb1ce7', class: "grid" }, hAsync("span", { key: '9888a56c6d738e2a175d89e6fe16fe5b4761fc56', class: "f-body-02" }, this.colors[4].pantoneC), hAsync("span", { key: '4337a6bedba3e7dbc09225a031c34f3e193d22bb', class: "f-body-02" }, this.colors[4].pantoneU))), hAsync("div", { key: '6cf755699eb3ff7f43b8694bb85fb4559372a0a3', class: "effect-height flex items-center justify-between p-16", style: {
16398
17410
  background: this.colors[5].background
16399
- } }, hAsync("div", { key: 'c94304a7f235b4ba472a07004773424d8a90c222', class: "grid" }, hAsync("span", { key: 'b1b47cc470037312522f3de03c8249870dda6703', class: "f-body-02" }, this.colors[5].rgb), hAsync("span", { key: '665d8aa39800f35bf04f04912ff18f6599f27735', class: "f-body-02 w-full" }, this.colors[5].cmyk), hAsync("eds-code-block", { key: '4c09ed9f92d05ee3918d8f67b429989ae512d561', code: this.colors[5].hex, style: { minWidth: '150px', marginRight: '5px' } })), hAsync("div", { key: '3500216d692f134a3a02426adf62e32bbf49d776', class: "grid" }, hAsync("span", { key: 'eff3cd5a7e07a2a8d51db3471389ecdc0ffc4d83', class: "f-body-02" }, this.colors[5].pantoneC), hAsync("span", { key: 'e34aae1a29feadb849ae0e4ffa5037e716f67777', class: "f-body-02" }, this.colors[5].pantoneU)))))));
17411
+ } }, hAsync("div", { key: 'c9864bbfb228691b623c2713e3655de3fb871caa', class: "grid" }, hAsync("span", { key: 'cc86cc9b24f429d7ebeca8ac8fff95346b8c149b', class: "f-body-02" }, this.colors[5].rgb), hAsync("span", { key: 'e46c02239ec074fe15cb2979b500a0b7e0a17a56', class: "f-body-02 w-full" }, this.colors[5].cmyk), hAsync("eds-code-block", { key: '5325d7f9e4a8c28884ba1bc0147d549b42be68c6', code: this.colors[5].hex, style: { minWidth: '150px', marginRight: '5px' } })), hAsync("div", { key: '09af1ed381838dc60410fe2ba9116e4da0644307', class: "grid" }, hAsync("span", { key: 'bde38ea3998629f7ee7cf4cfafd96bfd3e11fb3a', class: "f-body-02" }, this.colors[5].pantoneC), hAsync("span", { key: 'f2da476b838b6124f8e1b77209fa1a524048e71a', class: "f-body-02" }, this.colors[5].pantoneU)))))));
16400
17412
  }
16401
17413
  static get cmpMeta() { return {
16402
17414
  "$flags$": 0,
@@ -16459,11 +17471,11 @@ class GradientSupportPalette {
16459
17471
  ];
16460
17472
  }
16461
17473
  render() {
16462
- return (hAsync("ul", { key: 'b2a9b236f4d09ceef5bda9568b2210ce5f244a35', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, hAsync("li", { key: '6527094bbfe9ae9b3d07107e06ad25639a5a9102', class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { key: 'fd97b352fd25574a076855b168e9a86dd12450a5', class: "effect-height flex items-center justify-between p-16", style: { backgroundColor: this.colors[0].background } }, hAsync("div", { key: '1ecf065df68a1038dfb3d98e4f3b6c1de65bc08e', class: "grid" }, hAsync("span", { key: '8768cb503ab0a21870428ed166f8e25f45072a3f', class: "f-body-02" }, this.colors[0].rgb), hAsync("span", { key: 'd2ca5585cb8e58941c1e24e3b92d24c113042f4b', class: "f-body-02 w-full" }, this.colors[0].cmyk), hAsync("eds-code-block", { key: '179d621b1f7355241aba0332d8cb261300cc313b', code: this.colors[0].hex, style: { minWidth: '150px', marginRight: '5px' } })), hAsync("div", { key: '2857e7fe056cd77b613697fcd0a71b6904d7f522', class: "grid" }, hAsync("span", { key: '37fb181e166357e3a735a3b28cec42c04fa307d0', class: "f-body-02" }, this.colors[0].pantoneC || 'N/A'), hAsync("span", { key: '2df6d62a1f29d5815a910c3a1d69137a72d38837', class: "f-body-02" }, this.colors[0].pantoneU || 'N/A')))), hAsync("li", { key: 'b8f91e3c53126c2eaf8b4055754acbb40ff5641a', class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { key: '37f55d6e6af310b057b6c76011f995377e8479b4', class: "effect-height flex items-center justify-between p-16", style: { backgroundColor: this.colors[1].background } }, hAsync("div", { key: '2310de38c6deed34dde453039d22c3295c3515a0', class: "grid" }, hAsync("span", { key: '3cf79727b544d93d73e58b257f73864bf928d301', class: "f-body-02" }, this.colors[1].rgb), hAsync("span", { key: 'd1f2e667b2e49c39b5c58a63a995aeedd4e8b659', class: "f-body-02 w-full" }, this.colors[1].cmyk), hAsync("eds-code-block", { key: '6dfbad0e7a87977d9ad4eb3d6732c2582f66000d', code: this.colors[1].hex, style: { minWidth: '150px', marginRight: '5px' } })), hAsync("div", { key: '9e5a372a3a1b72ad7ef8e7658fc5ee328ee4ebc6', class: "grid" }, hAsync("span", { key: '1b808be8fc77c51983ef4c43e8a3f0dc47b46006', class: "f-body-02" }, this.colors[1].pantoneC || 'N/A'), hAsync("span", { key: 'ccabc7f2ddc85de55fb3b099b0b95b2030baa818', class: "f-body-02" }, this.colors[1].pantoneU || 'N/A')))), hAsync("li", { key: '2831236d472040166824309e964608560f8935d8', class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { key: '8471b5023d94083d8118f9c452b35d0c1c173662', class: "effect-height flex items-center justify-between p-16", style: {
17474
+ return (hAsync("ul", { key: 'a74064ecc5a2d9646b76e50bd01fed9974cad718', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, hAsync("li", { key: '2a79cfc1423158ebe2479e5f4160874c5c57bba0', class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { key: 'f732817f063656d0f5083fbde7f53d78f4ce319b', class: "effect-height flex items-center justify-between p-16", style: { backgroundColor: this.colors[0].background } }, hAsync("div", { key: 'a780e52ac0812ba9f2d0933169a1ed408dcac017', class: "grid" }, hAsync("span", { key: '034c1c3f59ddb5d15b417eddd9049f61721c40e7', class: "f-body-02" }, this.colors[0].rgb), hAsync("span", { key: 'd85bde05df7d5e756d2c4e106ab364e7c3ec3d30', class: "f-body-02 w-full" }, this.colors[0].cmyk), hAsync("eds-code-block", { key: 'c4f3d8edad422dd905da51a2976b41df8833b2b2', code: this.colors[0].hex, style: { minWidth: '150px', marginRight: '5px' } })), hAsync("div", { key: '6b6055393c1c086ef6c71fde0a06646d32c2cc49', class: "grid" }, hAsync("span", { key: '7678ac503bbfe96a8c7e4ba0833e5872afc4bda4', class: "f-body-02" }, this.colors[0].pantoneC || 'N/A'), hAsync("span", { key: 'e3861166afbbdcb1057d7aedf0363be1650ffef2', class: "f-body-02" }, this.colors[0].pantoneU || 'N/A')))), hAsync("li", { key: '51a63dafebd44287264876132b1a53c7ada24f59', class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { key: '26c3f5cd749a0ce810ce71283ba75292884c1802', class: "effect-height flex items-center justify-between p-16", style: { backgroundColor: this.colors[1].background } }, hAsync("div", { key: 'c2adcca45b3edb97cdc92f1bd177aee32c27d13b', class: "grid" }, hAsync("span", { key: '06ee04c8345bd3c7bee01f28ec79c839d3956812', class: "f-body-02" }, this.colors[1].rgb), hAsync("span", { key: '4118231fd5b280b10937136b05e420b3d4fa039d', class: "f-body-02 w-full" }, this.colors[1].cmyk), hAsync("eds-code-block", { key: '8053667bcbbe539b49a8fa490b28d7fed3c206fb', code: this.colors[1].hex, style: { minWidth: '150px', marginRight: '5px' } })), hAsync("div", { key: 'ffbfe32727e433f64c2ca2fefb27348f46cdd123', class: "grid" }, hAsync("span", { key: '50199120a53270d4e9a2fdbfe7b0430fd810247e', class: "f-body-02" }, this.colors[1].pantoneC || 'N/A'), hAsync("span", { key: '9f1b49b9e3e9cc941e4047362a531ac39fa4acf2', class: "f-body-02" }, this.colors[1].pantoneU || 'N/A')))), hAsync("li", { key: '842be74ea7d2839282421c05c94de0ea08edc324', class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { key: 'e36fa05852a0e97af9f6d30b4bc7ac0a03c5ca46', class: "effect-height flex items-center justify-between p-16", style: {
16463
17475
  background: this.colors[2].background
16464
- } }, hAsync("div", { key: '7c1251b8075a6d67b82e88e038ed772e292e0742', class: "grid" }, hAsync("span", { key: '55793b301d204f7d5996f85ae5ad003d61930f5f', class: "f-body-02" }, this.colors[2].rgb), hAsync("span", { key: 'a5eab2850d8a5e41ec043cd3b506a2f536f20820', class: "f-body-02 w-full" }, this.colors[2].cmyk), hAsync("eds-code-block", { key: 'b7642a477a00c4f811b4cc36f36458179802211b', code: this.colors[2].hex, style: { minWidth: '150px', marginRight: '5px' } })), hAsync("div", { key: '791c7d3c9d83c82848805efe96d6567dbcf2579a', class: "grid" }, hAsync("span", { key: '3d46cbb0ccce0f1554d19c33aa4fb0a92d24381f', class: "f-body-02" }, this.colors[2].pantoneC), hAsync("span", { key: '68ce16ea65d735d9025729b5cbffa173a2b9e07a', class: "f-body-02" }, this.colors[2].pantoneU))), hAsync("div", { key: 'ee9efa5eec6d06a960619eb84de06703df3a4358', class: "effect-height flex items-center justify-between p-16", style: {
17476
+ } }, hAsync("div", { key: '7c20aa597afc6623e4f48c96a5dfe35fcc794417', class: "grid" }, hAsync("span", { key: '9de55f6cf867d5ca0f359c34df82ea9ea9944b41', class: "f-body-02" }, this.colors[2].rgb), hAsync("span", { key: '64ca513c8cb69fa0e8bf8decc3b9315f59e78adc', class: "f-body-02 w-full" }, this.colors[2].cmyk), hAsync("eds-code-block", { key: 'fe4421e78d7c9f6b9fae2aab43046e68fa61b33a', code: this.colors[2].hex, style: { minWidth: '150px', marginRight: '5px' } })), hAsync("div", { key: '1913674915edca8c83213f405465670bd1dc53b1', class: "grid" }, hAsync("span", { key: 'a53396290e785e8c055e152d15256388a278606b', class: "f-body-02" }, this.colors[2].pantoneC), hAsync("span", { key: 'd175bc7681febbde0bfbcf9816c8077cef210de3', class: "f-body-02" }, this.colors[2].pantoneU))), hAsync("div", { key: 'bbb39daa24f9881296be8b89fc5dd7d980acace6', class: "effect-height flex items-center justify-between p-16", style: {
16465
17477
  background: this.colors[3].background
16466
- } }, hAsync("div", { key: 'a1033cf5a07c5adae91f6968ef0d74ea910ff02e', class: "grid" }, hAsync("span", { key: 'e5d58be01a90c281fa701d022b24807a3b1a8404', class: "f-body-02" }, this.colors[3].rgb), hAsync("span", { key: '7bef9018db3e4997997124f6f3d697ecf614531e', class: "f-body-02 w-full" }, this.colors[3].cmyk), hAsync("eds-code-block", { key: 'c95ed9f2caf0a75b34e6cc1ca3d4afa12f163b35', code: this.colors[3].hex, style: { minWidth: '150px', marginRight: '5px' } })), hAsync("div", { key: '1ab575c669e9fb41388df03fe029c4dc63c167b0', class: "grid" }, hAsync("span", { key: '58c31b1b22572eb897f7e5a2d82135b92505eae3', class: "f-body-02" }, this.colors[3].pantoneC), hAsync("span", { key: 'ca75da8134fd83a86150fd6dbcdde73a2561c453', class: "f-body-02" }, this.colors[3].pantoneU)))), hAsync("li", { key: '700df92ad4634107b94e19ae2dd21b04909393b6', class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { key: '9038289a89c119a695fcd3a0eb6d174f13a33591', class: "effect-height flex items-center justify-between p-16", style: { backgroundColor: this.colors[4].background } }, hAsync("div", { key: '73a8b1f9955f52c8e83aff7f85d269af13206cfa', class: "grid" }, hAsync("span", { key: 'd7cd4652abb1e85f1751149c4be6ba5fc13c6da5', class: "f-body-02" }, this.colors[4].rgb), hAsync("span", { key: 'b38ed95e45e80e3ce59edff465293a9d9f42ab37', class: "f-body-02 w-full" }, this.colors[4].cmyk), hAsync("eds-code-block", { key: '72ffcc7e26b91aaa5315738d902e3becbade6759', code: this.colors[4].hex, style: { minWidth: '150px', marginRight: '5px' } })), hAsync("div", { key: '856966a786985018be9151aaef0442456056ca88', class: "grid" }, hAsync("span", { key: '6baa9c0a4a587055b85940d846369086bc688075', class: "f-body-02" }, this.colors[4].pantoneC || 'N/A'), hAsync("span", { key: '578fbcd62e8ca8d6cd6d43891540451724133f6e', class: "f-body-02" }, this.colors[4].pantoneU || 'N/A'))))));
17478
+ } }, hAsync("div", { key: '8d2c43ece12d3b50970df5843d038c4866eeb18e', class: "grid" }, hAsync("span", { key: '2e2fc983f867ef09fffb61c6f82d796c68c73b17', class: "f-body-02" }, this.colors[3].rgb), hAsync("span", { key: '4d9f460a5f6f5b8166f41eee37e15809b2abf943', class: "f-body-02 w-full" }, this.colors[3].cmyk), hAsync("eds-code-block", { key: 'dfb80c0f00dc096561da4d5a85a98969e4568987', code: this.colors[3].hex, style: { minWidth: '150px', marginRight: '5px' } })), hAsync("div", { key: '1d7d6041de03afec92b41519d8422a998ce25465', class: "grid" }, hAsync("span", { key: '5298461da58d328376cc3448da7b3994dabe0abd', class: "f-body-02" }, this.colors[3].pantoneC), hAsync("span", { key: 'a21f99e92de656addef78784d6c699ac17c82f36', class: "f-body-02" }, this.colors[3].pantoneU)))), hAsync("li", { key: '36b0e8aed142a859481083b733e2c72dbe88e2a7', class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { key: 'd6620556f763fc9b59ef96846c1121a78945e6df', class: "effect-height flex items-center justify-between p-16", style: { backgroundColor: this.colors[4].background } }, hAsync("div", { key: '3be07bea07803e9103ccaa26582502a746f9d832', class: "grid" }, hAsync("span", { key: '25ead831ce5dab6e3c145b8610f6654d85bb185a', class: "f-body-02" }, this.colors[4].rgb), hAsync("span", { key: 'f5993b7b320e904ee13f63152aa33dd82431c387', class: "f-body-02 w-full" }, this.colors[4].cmyk), hAsync("eds-code-block", { key: 'b01544b8316df980372cc834a39a9adbf7ec2e26', code: this.colors[4].hex, style: { minWidth: '150px', marginRight: '5px' } })), hAsync("div", { key: 'e7b4641f2fd27c0742439164bd1f10b08c593f4f', class: "grid" }, hAsync("span", { key: 'd4fe6aacd76c7aa6b0e5fa06ff553403b16d05b4', class: "f-body-02" }, this.colors[4].pantoneC || 'N/A'), hAsync("span", { key: 'a2eb07ff8a20e25ddf65e589285f016e1ecdc52e', class: "f-body-02" }, this.colors[4].pantoneU || 'N/A'))))));
16467
17479
  }
16468
17480
  static get cmpMeta() { return {
16469
17481
  "$flags$": 0,
@@ -16517,7 +17529,7 @@ class IncorrectUseOfColors {
16517
17529
  registerInstance(this, hostRef);
16518
17530
  }
16519
17531
  render() {
16520
- return (hAsync("div", { key: '424c9b01d69068fa058b25dd89df08154912dfe7', class: "container" }, hAsync("div", { key: '5a9dae817344c3c92b8bdb55b806b1f96e26496d', class: "mb-8" }, hAsync("eds-alert", { key: 'afeaa6e5320151800d31c3fecb85669000409a14', message: "Note that, each of the four colour tones cannot be mixed in the same composition.", intent: "error" })), hAsync("div", { key: '87241b25b9f9e326183ba4496983d93bef766380', class: "flex" }, hAsync("div", { key: 'c018e1fffc8198b3e48e1df6b1e8d560e1c7b84a', class: "w-full" }, hAsync("ul", { key: '97845ca2dfe71ac0feb27762c4b3c71c80ca626c', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, primary.map((color) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { class: "w-full min-h-[150px] effect-height flex items-center justify-between p-16", style: { backgroundColor: color.background } })))))), hAsync("div", { key: '05adf9099f1b043d08577cf1f233551d83fc4242', class: "w-full" }, hAsync("ul", { key: '55792bcf3ecb93df6884d7366aa8c7f2c3cf5ad5', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, incorrect.map((color) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { class: "w-full min-h-[90px] effect-height flex items-center justify-between p-16", style: { backgroundColor: color.background } })))))))));
17532
+ return (hAsync("div", { key: '2688817c691de1f39d1c25845642e99af13e1b00', class: "container" }, hAsync("div", { key: '823b5f324f9b7fe4143dd982e71f535b9c576dd6', class: "mb-8" }, hAsync("eds-alert", { key: '95cf4b07317e116636979fb2d72b4fe925b09fa2', message: "Note that, each of the four colour tones cannot be mixed in the same composition.", intent: "error" })), hAsync("div", { key: 'd4bfceeb122dddf376808ae187379c07ed0e1a06', class: "flex" }, hAsync("div", { key: '82eac813cc9b29424640fb2517992e3384d19a6e', class: "w-full" }, hAsync("ul", { key: 'da2ca77bd91a25c6a451910a6b3bf939e5e8abc9', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, primary.map((color) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { class: "w-full min-h-[150px] effect-height flex items-center justify-between p-16", style: { backgroundColor: color.background } })))))), hAsync("div", { key: '538560ac8db9f9d023a5afbf4cd67dff80f6e7b6', class: "w-full" }, hAsync("ul", { key: '4b601f722730fbe1cbb78c1185d79b34654d3f76', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, incorrect.map((color) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-6 flex flex-col" }, hAsync("div", { class: "w-full min-h-[90px] effect-height flex items-center justify-between p-16", style: { backgroundColor: color.background } })))))))));
16521
17533
  }
16522
17534
  static get cmpMeta() { return {
16523
17535
  "$flags$": 0,
@@ -16540,7 +17552,7 @@ class LogoSpace {
16540
17552
  registerInstance(this, hostRef);
16541
17553
  }
16542
17554
  render() {
16543
- return (hAsync("div", { key: 'afaefa486624790c61ec7be56d25e8214e692f80', class: "container" }, hAsync("ul", { key: '20a3d543d1bb3027cf12ea20d64bfc263c1e911f', class: "not-prose grid-layout grid-cols-6 gap-y-8 md:gap-y-12 lg:gap-y-16" }, hAsync("li", { key: '02e87b7c3b1acf86fe4aba6eb3fcda5cf0737d73', class: "grid-col-span-6 xxl:grid-col-span-3 xl:grid-col-span-3 lg:grid-col-span-3 md:grid-col-span-3 flex flex-col" }, hAsync("div", { key: 'cb6614645cfdac9e07fb08a843a1171a60d2cae9', class: "logo-clear-space mx-auto", style: { position: 'relative', padding: '2.5rem', background: '#f5f5f5', borderRadius: '8px' } }, hAsync("div", { key: 'bda137ca9589342b6483262df1429e64eb3785ee', style: { position: 'absolute', top: '0', left: '50%', transform: 'translateX(-50%)', display: 'flex', flexDirection: 'column', alignItems: 'center' } }, hAsync("span", { key: 'd6f5fe1d1b006baf25cfb4b20613d92bace337ce', style: { fontSize: '11px', fontWeight: '600', color: '#00C87B', fontFamily: 'IBM Plex Mono, monospace' } }, "E"), hAsync("div", { key: '97ff118cab9d1ebdb1abc7f4c253cab3c1bd9965', style: { width: '1px', height: '12px', borderLeft: '1px dashed #00C87B' } })), hAsync("div", { key: 'a538f0751fe79c94d90e33325ff1be2e5feebc5c', style: { position: 'absolute', bottom: '0', left: '50%', transform: 'translateX(-50%)', display: 'flex', flexDirection: 'column', alignItems: 'center' } }, hAsync("div", { key: '500d0e1d35fbfb8df0af72cd6019e3ef673ce8f5', style: { width: '1px', height: '12px', borderLeft: '1px dashed #00C87B' } }), hAsync("span", { key: 'a02e8d7742fed312d090f00213a07774fe1a196f', style: { fontSize: '11px', fontWeight: '600', color: '#00C87B', fontFamily: 'IBM Plex Mono, monospace' } }, "E")), hAsync("div", { key: '00ec1e2a973bb99fadb6d73a9af41862c09dd05d', style: { position: 'absolute', left: '4px', top: '50%', transform: 'translateY(-50%)', display: 'flex', alignItems: 'center' } }, hAsync("span", { key: 'd792490e3d3e52895eb19ea489153bd4d37556ed', style: { fontSize: '11px', fontWeight: '600', color: '#00C87B', fontFamily: 'IBM Plex Mono, monospace' } }, "E"), hAsync("div", { key: 'da0320e4a4c3e0b6cf5dae32507c488a1698885c', style: { height: '1px', width: '12px', borderTop: '1px dashed #00C87B' } })), hAsync("div", { key: '2c01f062de36831c794f1a9defe7b044d28ad9ad', style: { position: 'absolute', right: '4px', top: '50%', transform: 'translateY(-50%)', display: 'flex', alignItems: 'center' } }, hAsync("div", { key: '68e5e2bb4f52a4c6ac003aa1deccfe721a948a92', style: { height: '1px', width: '12px', borderTop: '1px dashed #00C87B' } }), hAsync("span", { key: '6e753f8d2513ef86efd3c4b7e4ebf187ec5bf122', style: { fontSize: '11px', fontWeight: '600', color: '#00C87B', fontFamily: 'IBM Plex Mono, monospace' } }, "E")), hAsync("div", { key: 'f4a83531bfbbce8e3e89565be7f1c8d0320ea504', style: { border: '1px dashed rgba(0, 200, 123, 0.5)', borderRadius: '4px', padding: '1rem', display: 'flex', alignItems: 'center', justifyContent: 'center' } }, hAsync("eds-logo", { key: '135977a942f8d9c8817bd866ea21a2597860e7b6', variant: "positive", href: "#", style: { display: 'block', width: '250px' } })))), hAsync("li", { key: '2d2d834f16263bb4d95cc0c945af2aa0a53c7dd8', class: "grid-col-span-6 xxl:grid-col-span-3 xl:grid-col-span-3 lg:grid-col-span-3 md:grid-col-span-3 flex flex-col" }, hAsync("div", { key: 'b6b7f75960412d0232e417406158b56e3d1946e2', class: "text-center mt-16" }, hAsync("p", { key: '43f97699ab3f882863b9e181e3b31cc576b1e411', class: "f-body-01" }, "To ensure legibility, follow these minimum size guidelines:"), hAsync("eds-table", { key: '62c49c7c7675d876bd11feb480836fe344f0f3a1', data: '[\n { "Media": "Print", "Min Size": "0.75 cm" },\n { "Media": "Web", "Min Size": "29 px" }\n ]', config: '{\n "Media": { "format": "bold" }\n }' }))))));
17555
+ return (hAsync("div", { key: '9f72a0aaadd8ae1aaa8998ca3539bd7d2640de80', class: "container" }, hAsync("ul", { key: 'c4eae5e0c5c6adebbcdfa9f5ff5e505e8fca5364', class: "not-prose grid-layout grid-cols-6 gap-y-8 md:gap-y-12 lg:gap-y-16" }, hAsync("li", { key: 'cc93430ed51397f9cc5f6885da73464eee4f50f0', class: "grid-col-span-6 xxl:grid-col-span-3 xl:grid-col-span-3 lg:grid-col-span-3 md:grid-col-span-3 flex flex-col" }, hAsync("div", { key: '7a10d36af753e4cc085a898385a79f86cfda4386', class: "logo-clear-space mx-auto", style: { position: 'relative', padding: '2.5rem', background: '#f5f5f5', borderRadius: '8px' } }, hAsync("div", { key: 'ca39c5c1d7692ac3e3f4c5f86b37ac315da32238', style: { position: 'absolute', top: '0', left: '50%', transform: 'translateX(-50%)', display: 'flex', flexDirection: 'column', alignItems: 'center' } }, hAsync("span", { key: '29dc95b66b0cc09fc4b4d45b317858262fd5f74c', style: { fontSize: '11px', fontWeight: '600', color: '#00C87B', fontFamily: 'IBM Plex Mono, monospace' } }, "E"), hAsync("div", { key: '314d8208cb5349457c1586eacbda115e9fb16d11', style: { width: '1px', height: '12px', borderLeft: '1px dashed #00C87B' } })), hAsync("div", { key: '4d8a568924c6891cd4be3c19e04fc31c2ea1fc70', style: { position: 'absolute', bottom: '0', left: '50%', transform: 'translateX(-50%)', display: 'flex', flexDirection: 'column', alignItems: 'center' } }, hAsync("div", { key: 'b09af7bd89b9f553b812190356ca62aa92ed6991', style: { width: '1px', height: '12px', borderLeft: '1px dashed #00C87B' } }), hAsync("span", { key: 'f093c84334e23c4f4f057e7e4b32d9107a3f41fc', style: { fontSize: '11px', fontWeight: '600', color: '#00C87B', fontFamily: 'IBM Plex Mono, monospace' } }, "E")), hAsync("div", { key: '91db9099f9e9a1523e19785fb7114e3f4fce7275', style: { position: 'absolute', left: '4px', top: '50%', transform: 'translateY(-50%)', display: 'flex', alignItems: 'center' } }, hAsync("span", { key: '88dd6f5d7954d2a1609db58f16242302f8d4f018', style: { fontSize: '11px', fontWeight: '600', color: '#00C87B', fontFamily: 'IBM Plex Mono, monospace' } }, "E"), hAsync("div", { key: '1a6cad75530619b5f7cdbd9044c61ddd05bb4882', style: { height: '1px', width: '12px', borderTop: '1px dashed #00C87B' } })), hAsync("div", { key: '1cf721720500db93522e8563a44260f1ad5d12a3', style: { position: 'absolute', right: '4px', top: '50%', transform: 'translateY(-50%)', display: 'flex', alignItems: 'center' } }, hAsync("div", { key: 'cd05bc1ca38fd5698f894f036ea4530833636dec', style: { height: '1px', width: '12px', borderTop: '1px dashed #00C87B' } }), hAsync("span", { key: 'ab0476740b19beb7c7799334370bff344e01a4de', style: { fontSize: '11px', fontWeight: '600', color: '#00C87B', fontFamily: 'IBM Plex Mono, monospace' } }, "E")), hAsync("div", { key: 'ce5dcd6aaa22c90084ac3f285c28726ef1dc241e', style: { border: '1px dashed rgba(0, 200, 123, 0.5)', borderRadius: '4px', padding: '1rem', display: 'flex', alignItems: 'center', justifyContent: 'center' } }, hAsync("eds-logo", { key: '457548ba3f0835a632c86521fce2fc828f72b7a5', variant: "positive", href: "#", style: { display: 'block', width: '250px' } })))), hAsync("li", { key: '676ceccfa0081fa6b05a2c6cb3c0ba88da61cd6a', class: "grid-col-span-6 xxl:grid-col-span-3 xl:grid-col-span-3 lg:grid-col-span-3 md:grid-col-span-3 flex flex-col" }, hAsync("div", { key: '5ca2e9f1c386afc3f70be756183b4fe93779022f', class: "text-center mt-16" }, hAsync("p", { key: '0c986326909c8de83e584f796c41198554741c3d', class: "f-body-01" }, "To ensure legibility, follow these minimum size guidelines:"), hAsync("eds-table", { key: 'c745fc8b37d5fe412b08c0f88283d5ba74492f30', data: '[\n { "Media": "Print", "Min Size": "0.75 cm" },\n { "Media": "Web", "Min Size": "29 px" }\n ]', config: '{\n "Media": { "format": "bold" }\n }' }))))));
16544
17556
  }
16545
17557
  static get style() { return LogoSpaceStyle0; }
16546
17558
  static get cmpMeta() { return {
@@ -16564,7 +17576,7 @@ class LogoVariationsHorizontal {
16564
17576
  registerInstance(this, hostRef);
16565
17577
  }
16566
17578
  render() {
16567
- return (hAsync("div", { key: 'a7b635b81f06347ecf026f5102fff854275cd0a1', class: "container" }, hAsync("ul", { key: '4d2289f7a8136374bf6cf876f1c7eba0ec2a9422', class: "not-prose grid-layout grid-cols-6 gap-y-8 md:gap-y-12 lg:gap-y-16" }, hAsync("li", { key: 'e8d3dc755e9923ef57d4cb32876874c84d406620', class: "grid-col-span-6 xxl:grid-col-span-2 xl:grid-col-span-3 lg:grid-col-span-3 md:grid-col-span-3 flex flex-col" }, hAsync("p", { key: 'd51a85c405e5c75f4184d72a81bd3b8e001293aa', class: "f-body-01 text-center my-4" }, "#1 Positive"), hAsync("div", { key: 'fd20af4231cf1e7ddf3878e1cd11aa2fcbdc36a3', class: "coloured" }, hAsync("eds-logo", { key: 'be23d497a621c1b133521a365df483d0a753b4d7', variant: "positive", href: "#" }))), hAsync("li", { key: '6a330cea74757c1e3f6db14ef1c3ee6e8f998e23', class: "grid-col-span-6 xxl:grid-col-span-2 xl:grid-col-span-3 lg:grid-col-span-3 md:grid-col-span-3 flex flex-col" }, hAsync("p", { key: '87016c5c2d861900ed0bd2f0302e5969ee23822b', class: "f-body-01 text-center my-4" }, "#2 Negative"), hAsync("div", { key: 'd592916a66379e9dcafbd39ae6f0393207893e3a', class: "bg-default" }, hAsync("eds-logo", { key: '78b0f667deb8e789166b7b9243d4ac246dd9b9ac', variant: "negative", href: "#" }))))));
17579
+ return (hAsync("div", { key: 'bfd9df144e3cabfc1b2198909208d4d41b1d06b8', class: "container" }, hAsync("ul", { key: '318197fcbbf5ea30a3b7786c670dc6a3484063fe', class: "not-prose grid-layout grid-cols-6 gap-y-8 md:gap-y-12 lg:gap-y-16" }, hAsync("li", { key: '7014dddeec695952b9b4041bacc7b509abd4425c', class: "grid-col-span-6 xxl:grid-col-span-2 xl:grid-col-span-3 lg:grid-col-span-3 md:grid-col-span-3 flex flex-col" }, hAsync("p", { key: '8be13e6c9f214d23941aae09653e6bae85536805', class: "f-body-01 text-center my-4" }, "#1 Positive"), hAsync("div", { key: 'a3eb696587b0fe2eaea6e6f02c6512d75b2319f4', class: "coloured" }, hAsync("eds-logo", { key: '530e57935491b485a8f1ab983c5c74aa62699e33', variant: "positive", href: "#" }))), hAsync("li", { key: '1664f259390ded9c4084a8734b275a24e4add82e', class: "grid-col-span-6 xxl:grid-col-span-2 xl:grid-col-span-3 lg:grid-col-span-3 md:grid-col-span-3 flex flex-col" }, hAsync("p", { key: 'c24b35b76fe5cd95462c3f5c435a445b4eed731d', class: "f-body-01 text-center my-4" }, "#2 Negative"), hAsync("div", { key: '0ef846b5bc472e082151994428a681e8ef888919', class: "bg-default" }, hAsync("eds-logo", { key: '647cbedbffc487740dda470fada93c7c4bfe88b7', variant: "negative", href: "#" }))))));
16568
17580
  }
16569
17581
  static get style() { return LogoVariationsHorizontalStyle0; }
16570
17582
  static get cmpMeta() { return {
@@ -16596,7 +17608,7 @@ class LogoVariationsTabs {
16596
17608
  }
16597
17609
  }
16598
17610
  render() {
16599
- return hAsync("div", { key: '744c1ba1e806d2659fa2d409c2e2314d02c5d911', class: "container" }, this.renderContent());
17611
+ return hAsync("div", { key: '25f8ec6fcb189c14d9e6d1564a5705ba34296fe1', class: "container" }, this.renderContent());
16600
17612
  }
16601
17613
  static get cmpMeta() { return {
16602
17614
  "$flags$": 0,
@@ -16623,7 +17635,7 @@ class LogoVariationsVertical {
16623
17635
  this.type = undefined;
16624
17636
  }
16625
17637
  render() {
16626
- return (hAsync("div", { key: '87d5bf852fe573878eabdd768aaf979de16c226e', class: "container" }, hAsync("ul", { key: 'd9e47765d5e27f53dc8ced19fa954cd573e76856', class: "not-prose grid-layout grid-cols-6 gap-y-8 md:gap-y-12 lg:gap-y-16" }, hAsync("li", { key: '6b7ac8948438ede5dc01365511244e9858b2848b', class: "grid-col-span-6 xxl:grid-col-span-2 xl:grid-col-span-3 lg:grid-col-span-3 md:grid-col-span-3 flex flex-col" }, hAsync("p", { key: 'e4fce7db514e0741507b6a37cb7bf47d89047929', class: "f-body-01 text-center my-4" }, "#1 Positive"), hAsync("div", { key: '787af1c40ebac015c1a57391ab3959e691bd8dd3', class: "mx-auto coloured w-[300px]" }, hAsync("eds-logo", { key: '0e0d4dcea468625e374959d5c2762d8f7ce19e70', orientation: "vertical", variant: "positive", href: "#" }))), hAsync("li", { key: '77860d576cac3f5e71d728dee804c812fe6e430d', class: "grid-col-span-6 xxl:grid-col-span-2 xl:grid-col-span-3 lg:grid-col-span-3 md:grid-col-span-3 flex flex-col" }, hAsync("p", { key: 'f598d729ae5436b5777df79135d585378e5e7725', class: "f-body-01 text-center my-4" }, "#2 Negative"), hAsync("div", { key: '860b8539372eebd327c56b5d127203b93a7ae3b8', class: "mx-auto bg-default w-[300px]" }, hAsync("eds-logo", { key: '6bc89e4a6fc56125b14dec7079108eef51c961a7', orientation: "vertical", variant: "negative", href: "#" }))))));
17638
+ return (hAsync("div", { key: '7707346060f598bc4a33ed1b25591907bd1ed86f', class: "container" }, hAsync("ul", { key: '988427e4445b7238666a8865b40e39106574a020', class: "not-prose grid-layout grid-cols-6 gap-y-8 md:gap-y-12 lg:gap-y-16" }, hAsync("li", { key: '09ebe2c5e0c4a17451cff4fa7f8d14f8dadccfb2', class: "grid-col-span-6 xxl:grid-col-span-2 xl:grid-col-span-3 lg:grid-col-span-3 md:grid-col-span-3 flex flex-col" }, hAsync("p", { key: 'b761f45824056d8022b25851dc92ec477ba5dd90', class: "f-body-01 text-center my-4" }, "#1 Positive"), hAsync("div", { key: 'b1d0c459aa5fe60c07d23d216873e8792a9b0bdb', class: "mx-auto coloured w-[300px]" }, hAsync("eds-logo", { key: '579c9c3bfe2156153d0a695ed164b5c143435935', orientation: "vertical", variant: "positive", href: "#" }))), hAsync("li", { key: 'e9392a9b97c7fee407bc49dbf1baf5844c002f4a', class: "grid-col-span-6 xxl:grid-col-span-2 xl:grid-col-span-3 lg:grid-col-span-3 md:grid-col-span-3 flex flex-col" }, hAsync("p", { key: '5335419cfe66e2454eebe227dcbb844bd9c28d65', class: "f-body-01 text-center my-4" }, "#2 Negative"), hAsync("div", { key: '85f26cc36d343225c543f55ebff8435b7c3b8128', class: "mx-auto bg-default w-[300px]" }, hAsync("eds-logo", { key: 'e50ba165a491eda6dbdf386cb7c82cfdb69aa7a7', orientation: "vertical", variant: "negative", href: "#" }))))));
16627
17639
  }
16628
17640
  static get style() { return LogoVariationsVerticalStyle0; }
16629
17641
  static get cmpMeta() { return {
@@ -16650,7 +17662,7 @@ class LogoWrongUsage {
16650
17662
  registerInstance(this, hostRef);
16651
17663
  }
16652
17664
  render() {
16653
- return (hAsync("div", { key: '1998b8e5086ba4cd17fdc27727349b9d638664b1', class: "container" }, hAsync("ul", { key: '84771834b81ff0714a75e1e61b9a1162e3bc639d', class: "not-prose grid-layout grid-cols-6 gap-y-8 md:gap-y-12 lg:gap-y-16" }, hAsync("li", { key: '4deb145d27c43db40acbd03ef90e1a66fad22f09', class: "grid-col-span-6 xxl:grid-col-span-2 xl:grid-col-span-3 lg:grid-col-span-3 md:grid-col-span-3 flex flex-col" }, hAsync("div", { key: '801e579cd87168a51d00c78f6808a1413d689564', class: "mx-auto no-other-bg-color logo", innerHTML: logoPositive }), hAsync("p", { key: '591ecf90d303b7302f0431a3099f64f67ec96c1b', class: "f-ui-02 text-center" }, "Do not use with backgrounds that make legibility difficult")), hAsync("li", { key: 'bedfff759e45149bd7df138736b2cc9f172ee41c', class: "grid-col-span-6 xxl:grid-col-span-2 xl:grid-col-span-3 lg:grid-col-span-3 md:grid-col-span-3 flex flex-col" }, hAsync("div", { key: '643ea5b43c95f107f8fc8b0c8ea8234d4e09ba9d', class: "mx-auto no-other-color logo non-brand-color", innerHTML: logoPositive }), hAsync("p", { key: 'b9fd83f7586a7fa02d86651ba26acbda08e63394', class: "f-ui-02 text-center" }, "Do not apply other colors")), hAsync("li", { key: '986534ff326d2ef3dd80136d151c46c98ccc8921', class: "grid-col-span-6 xxl:grid-col-span-2 xl:grid-col-span-3 lg:grid-col-span-3 md:grid-col-span-3 flex flex-col" }, hAsync("div", { key: '146c299a032bf9907e2bbc8fe72eaeb738cf0458', class: "mx-auto distorted logo", innerHTML: logoPositive }), hAsync("p", { key: '6ddc987cca3e13ce381572d3aa51a94c7cdbc2be', class: "f-ui-02 text-center" }, "Do not deform the logo")), hAsync("li", { key: '23a471ac8dbda371bf4ba704563305c7c03680b3', class: "grid-col-span-6 xxl:grid-col-span-2 xl:grid-col-span-3 lg:grid-col-span-3 md:grid-col-span-3 flex flex-col" }, hAsync("div", { key: 'c6732fff82bc642cd0885e721a8686041809ffb7', class: "mx-auto effects logo", innerHTML: logoPositive }), hAsync("p", { key: '463d5c2c43d8c5ec1d4abce3419bc3c66bfa02b6', class: "f-ui-02 text-center" }, "Do not apply effects")), hAsync("li", { key: 'c67c213f34b69089e3cbc0df3e9188b44cc9d9cf', class: "grid-col-span-6 xxl:grid-col-span-2 xl:grid-col-span-3 lg:grid-col-span-3 md:grid-col-span-3 flex flex-col" }, hAsync("div", { key: '58170477b47eec084e009c953a7216c5ed94a3b9', class: "mx-auto rotated logo", innerHTML: logoPositive }), hAsync("p", { key: '18e2732bb758ae840dcd15e1ef678496afa2cc3b', class: "f-ui-02 text-center" }, "Do not rotate the logo")), hAsync("li", { key: '6c829569009467ee5092a6a426d87e1c3399ca29', class: "grid-col-span-6 xxl:grid-col-span-2 xl:grid-col-span-3 lg:grid-col-span-3 md:grid-col-span-3 flex flex-col" }, hAsync("div", { key: '1d66177dd3a30386ee64bafea9026bf16cf80225', class: "mx-auto outlined logo", innerHTML: logoPositive }), hAsync("p", { key: '4c8e35fa52ef575ab6535dc219710ea356a2e1a3', class: "f-ui-02 text-center" }, "Do not apply outlines")), hAsync("li", { key: '7dc465eaeb42991d4d3066ac0a35a0a5fee929f5', class: "grid-col-span-6 xxl:grid-col-span-2 xl:grid-col-span-3 lg:grid-col-span-3 md:grid-col-span-3 flex flex-col" }, hAsync("div", { key: '0f9de8fcd64ed34040f24bbfd38c640593a7a74b', class: "mx-auto" }, hAsync("div", { key: '9f77a72a22b0dcbbdd112816f4a02b991df5d3b1', class: "bg-accent p-16" }, hAsync("div", { key: '1356eccbf5510a3831e9cbd09b582c38fc68a479', class: "text-inverse", innerHTML: logoPositive })), hAsync("p", { key: 'ce32a58d2bccf82202da47d8cc0ac01642e8436a', class: "f-ui-02 text-center" }, "Do not use the green background for the logo version of the logo with backgrounds with the same tones"))))));
17665
+ return (hAsync("div", { key: 'd2670fc81c458c6fa7830adc0bfe84a8d6edc808', class: "container" }, hAsync("ul", { key: '068ccd9ab65938f0d61f800410c0223e79b072a5', class: "not-prose grid-layout grid-cols-6 gap-y-8 md:gap-y-12 lg:gap-y-16" }, hAsync("li", { key: '4600e980ce2d169750f3a06ad11ecc5280ac6816', class: "grid-col-span-6 xxl:grid-col-span-2 xl:grid-col-span-3 lg:grid-col-span-3 md:grid-col-span-3 flex flex-col" }, hAsync("div", { key: 'db4d3fc8f5e35ae084c7f359fcc2553f913cc05a', class: "mx-auto no-other-bg-color logo", innerHTML: logoPositive }), hAsync("p", { key: 'b3f85315b376d5dae84a076fcefad660bb28f2b0', class: "f-ui-02 text-center" }, "Do not use with backgrounds that make legibility difficult")), hAsync("li", { key: '786ea943986e9948d465fc9bb07b3ea3ab9438f1', class: "grid-col-span-6 xxl:grid-col-span-2 xl:grid-col-span-3 lg:grid-col-span-3 md:grid-col-span-3 flex flex-col" }, hAsync("div", { key: 'c9ee298d8c36b732e7a1855f26e08f000c16aa91', class: "mx-auto no-other-color logo non-brand-color", innerHTML: logoPositive }), hAsync("p", { key: '6e16a1cf4f03f8a8929c31b2df080dd89b0951c3', class: "f-ui-02 text-center" }, "Do not apply other colors")), hAsync("li", { key: '82a57b134dd2a559a8c755579bdad818d316742a', class: "grid-col-span-6 xxl:grid-col-span-2 xl:grid-col-span-3 lg:grid-col-span-3 md:grid-col-span-3 flex flex-col" }, hAsync("div", { key: 'f32b83ca94652e22477a3ce0d2247eef0e47b7b8', class: "mx-auto distorted logo", innerHTML: logoPositive }), hAsync("p", { key: '3cf9e132199d325d430cfffa6bf4b4331e43a62e', class: "f-ui-02 text-center" }, "Do not deform the logo")), hAsync("li", { key: '89d4b3eed2c779ff71b3fd6c8315ce4a99cb871b', class: "grid-col-span-6 xxl:grid-col-span-2 xl:grid-col-span-3 lg:grid-col-span-3 md:grid-col-span-3 flex flex-col" }, hAsync("div", { key: 'b765e1c704944ecded0d88aca1db3efffd0caeed', class: "mx-auto effects logo", innerHTML: logoPositive }), hAsync("p", { key: '822ac23c64ba745b46d21303a9bbfabe9a26d6dc', class: "f-ui-02 text-center" }, "Do not apply effects")), hAsync("li", { key: 'a5f157b40464fa3178f94147ce9017ffaad0bb69', class: "grid-col-span-6 xxl:grid-col-span-2 xl:grid-col-span-3 lg:grid-col-span-3 md:grid-col-span-3 flex flex-col" }, hAsync("div", { key: 'c9b3e60f08ad15e0ca9eb11abe769510bf6f04c9', class: "mx-auto rotated logo", innerHTML: logoPositive }), hAsync("p", { key: 'c25fc7938948f5cb3fdf55719483e13ab4780bba', class: "f-ui-02 text-center" }, "Do not rotate the logo")), hAsync("li", { key: '8ed76fa89e0bf6b40f0b5478cebfe3a2b129cde6', class: "grid-col-span-6 xxl:grid-col-span-2 xl:grid-col-span-3 lg:grid-col-span-3 md:grid-col-span-3 flex flex-col" }, hAsync("div", { key: 'a18962c12781071348a8ec0c10e62d7d3ebec881', class: "mx-auto outlined logo", innerHTML: logoPositive }), hAsync("p", { key: 'a967a5ef26f9d935756db41e632d88765fdc50c7', class: "f-ui-02 text-center" }, "Do not apply outlines")), hAsync("li", { key: '9fc5979179dc4d1defe578a6c4aa7b1e7bf6e355', class: "grid-col-span-6 xxl:grid-col-span-2 xl:grid-col-span-3 lg:grid-col-span-3 md:grid-col-span-3 flex flex-col" }, hAsync("div", { key: 'df9479358ca218d9b2f9ffa15dc9cb802cf71e04', class: "mx-auto" }, hAsync("div", { key: '2d06f90b92971701bbe6a76f8b8125846ac15d0c', class: "bg-accent p-16" }, hAsync("div", { key: 'a4178f35a86f8a5788f30137f75880f4c5f5c2a3', class: "text-inverse", innerHTML: logoPositive })), hAsync("p", { key: '567638cdb967150758210ddb0d52657834f65054', class: "f-ui-02 text-center" }, "Do not use the green background for the logo version of the logo with backgrounds with the same tones"))))));
16654
17666
  }
16655
17667
  static get style() { return LogoWrongUsageStyle0; }
16656
17668
  static get cmpMeta() { return {
@@ -16694,7 +17706,7 @@ class SvgRepository {
16694
17706
  icon: { format: 'svg' },
16695
17707
  name: { format: 'bold' }
16696
17708
  };
16697
- return (hAsync("div", { key: 'b531a1f93b32fbf4aba94d7a4aa68f7f4202a8e6', class: "full-width" }, hAsync("eds-table", { key: 'a66b06f5d08c39db1d63af2194455273b3ae172b', "table-data": JSON.stringify(svgData), config: JSON.stringify(tableConfig), "rows-per-page": 10, "search-enabled": true, "pagination-enabled": true })));
17709
+ return (hAsync("div", { key: 'a7aebad6b026e51c822051cabd0826b6d9740d91', class: "full-width" }, hAsync("eds-table", { key: '5b5ce183d78d0a2259c99a949967dbbf4caf4ba4', "table-data": JSON.stringify(svgData), config: JSON.stringify(tableConfig), "rows-per-page": 10, "search-enabled": true, "pagination-enabled": true })));
16698
17710
  }
16699
17711
  get hostEl() { return getElement(this); }
16700
17712
  static get style() { return SvgRepositoryStyle0; }
@@ -16968,7 +17980,7 @@ class TokenList {
16968
17980
  render() {
16969
17981
  // Check if `show` prop is provided; if not, display all sections
16970
17982
  const sectionsToDisplay = this.show ? { [this.show]: colors[this.show] } : colors;
16971
- return (hAsync("section", { key: 'b95825988f64556481b66203bcd8fb281b88d2a9', class: "w-full mt-28" }, Object.entries(sectionsToDisplay).map(([sectionName, sectionContent]) =>
17983
+ return (hAsync("section", { key: '19a7dd76a980e2815f8df3ee0cb083b2c77cafa4', class: "w-full mt-28" }, Object.entries(sectionsToDisplay).map(([sectionName, sectionContent]) =>
16972
17984
  // Only render sections that exist in `colors`
16973
17985
  sectionContent ? this.renderSection(sectionName, sectionContent) : null)));
16974
17986
  }
@@ -17001,7 +18013,7 @@ class TokenRadii {
17001
18013
  registerInstance(this, hostRef);
17002
18014
  }
17003
18015
  render() {
17004
- return (hAsync("section", { key: '8b1c08f1c32236156eea1d1d1f78a9bad3a202cb', class: "w-full mt-28" }, hAsync("ul", { key: 'b995ce086b3c9b7796f161c29bd206534a3e5316', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, Object.entries(radii).map(([key, value]) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-4 flex flex-col items-center mt-16" }, hAsync("div", { class: `w-full p-16 block lg:flex items-center justify-center text-center border-3 border-soft rounded-${key}` }, hAsync("eds-code-block", { language: "Utility Class", code: `rounded-${key}`, class: "mx-auto min-w-[200px] sm:mb-4 sm:max-w-[200px] mr-auto" }), hAsync("eds-code-block", { code: `border-radius:${value}`, language: "css", class: "mx-auto min-w-[200px] sm:max-w-[200px] ml-auto" }))))))));
18016
+ return (hAsync("section", { key: '80a475b807538a7c9c1186d0f167a793858ad439', class: "w-full mt-28" }, hAsync("ul", { key: 'e3fa97c0f627f2094c7eae87eb9f7079df2b35f2', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, Object.entries(radii).map(([key, value]) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-4 flex flex-col items-center mt-16" }, hAsync("div", { class: `w-full p-16 block lg:flex items-center justify-center text-center border-3 border-soft rounded-${key}` }, hAsync("eds-code-block", { language: "Utility Class", code: `rounded-${key}`, class: "mx-auto min-w-[200px] sm:mb-4 sm:max-w-[200px] mr-auto" }), hAsync("eds-code-block", { code: `border-radius:${value}`, language: "css", class: "mx-auto min-w-[200px] sm:max-w-[200px] ml-auto" }))))))));
17005
18017
  }
17006
18018
  static get cmpMeta() { return {
17007
18019
  "$flags$": 0,
@@ -17030,7 +18042,7 @@ class TokenRatios {
17030
18042
  registerInstance(this, hostRef);
17031
18043
  }
17032
18044
  render() {
17033
- return (hAsync("section", { key: '9ab666342a801e51b3a75c979bceadccf4d9736e', class: "w-full" }, hAsync("eds-section-core", { key: '4eea7a8b3b8e3b0404108345756d11806ea2805d', tag: "div", "section-title": "Aspect Ratios", "heading-level": "h3" }, hAsync("ul", { key: 'faa065acac9bce28073f709d147c9b2725150da5', class: "gap-y-8 md:gap-y-12 lg:gap-y-16" }, Object.entries(ratios).map(([key, value]) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-4 flex flex-col items-center mt-16" }, hAsync("div", { class: "container ratio-box flex items-center justify-center text-center border-2 border-soft", style: {
18045
+ return (hAsync("section", { key: 'd95a7a36fc37fb829c74e336d16de79f57ec1b83', class: "w-full" }, hAsync("eds-section-core", { key: '1e2fbe9a818a162d6acd148804a61b87f919eda5', tag: "div", "section-title": "Aspect Ratios", "heading-level": "h3" }, hAsync("ul", { key: 'a2429b25e2aef59bde0185115dc2ff908b075db5', class: "gap-y-8 md:gap-y-12 lg:gap-y-16" }, Object.entries(ratios).map(([key, value]) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-4 flex flex-col items-center mt-16" }, hAsync("div", { class: "container ratio-box flex items-center justify-center text-center border-2 border-soft", style: {
17034
18046
  aspectRatio: value.replace('/', ':'), // Cast to string to resolve TypeScript error
17035
18047
  width: '100%', // Full width to show the aspect ratio correctly
17036
18048
  maxWidth: '300px'
@@ -17097,7 +18109,7 @@ class TokenShadows {
17097
18109
  registerInstance(this, hostRef);
17098
18110
  }
17099
18111
  render() {
17100
- return (hAsync("section", { key: '60745a5eb31e7ce043c3d69cd8246b752cd66520', class: "w-full mt-28" }, hAsync("ul", { key: '4c8ce259916cf36fc240c0ae3f22d32571a919f8', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, Object.entries(shadowTokens).map(([category, tokens]) => Object.entries(tokens).map(([key, value]) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-6 flex flex-col items-center mt-16" }, hAsync("div", { class: "w-full p-16 block lg:flex items-center justify-center text-center border-2 border-soft", style: { boxShadow: value } }, hAsync("eds-code-block", { code: `${category}-${key}`, language: "Utility Class", class: "mr-auto sm:mb-4 min-w-[200px]" }), hAsync("eds-code-block", { code: `${value}`, language: "css", class: "ml-auto min-w-[200px]" })))))))));
18112
+ return (hAsync("section", { key: '0316f767a182da2f2e96c137034d84794947102a', class: "w-full mt-28" }, hAsync("ul", { key: '16586b6a4d565ee58f4ea2465d54d527390d41ca', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, Object.entries(shadowTokens).map(([category, tokens]) => Object.entries(tokens).map(([key, value]) => (hAsync("li", { class: "grid-col-span-12 md:grid-col-span-6 flex flex-col items-center mt-16" }, hAsync("div", { class: "w-full p-16 block lg:flex items-center justify-center text-center border-2 border-soft", style: { boxShadow: value } }, hAsync("eds-code-block", { code: `${category}-${key}`, language: "Utility Class", class: "mr-auto sm:mb-4 min-w-[200px]" }), hAsync("eds-code-block", { code: `${value}`, language: "css", class: "ml-auto min-w-[200px]" })))))))));
17101
18113
  }
17102
18114
  static get cmpMeta() { return {
17103
18115
  "$flags$": 0,
@@ -17117,7 +18129,7 @@ class TokenSpacing {
17117
18129
  registerInstance(this, hostRef);
17118
18130
  }
17119
18131
  render() {
17120
- return (hAsync("div", { key: '8ebe0d888150e5fefd1d3047cc82548f12f47f9f', class: "w-full" }, hAsync("ul", { key: 'c57af77dfb437bafaf060a6c6ebece84c4683409', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, hAsync("li", { key: '6ca948268bd07e50409334b84eeeb362287f131e', class: "grid-col-span-12 md:grid-col-span-4 flex flex-col items-center mt-16" }, hAsync("div", { key: '0f33f8feec6657d21a4e4a1973d4c46cf4f6c526', class: "container p-8 item-center border-2 border-soft" }, hAsync("div", { key: '194c9d5367c75c35f021d0b5c64601a72d1141fd', class: "spacing-sample m-16 bg-strong" }, hAsync("span", { key: '252af2371d58a8364718210563b7aa9a76a551a6', class: "f-body-01 text-inverse" }, "Margin: 1rem / m-16")))), hAsync("li", { key: '833a8373bbe4db4514c84d4e299e2103b37bc75e', class: "grid-col-span-12 md:grid-col-span-4 flex flex-col items-center mt-16" }, hAsync("div", { key: 'd364398230aca7af47273a654a8f138d70361c75', class: "container p-8 item-center border-2 border-soft" }, hAsync("div", { key: '707e0b62f500c16dc2d72da8e0bd85adabd7280b', class: "spacing-sample ml-64 bg-strong" }, hAsync("span", { key: '846c07af2613e90c3acd1fa66aa422db14a95526', class: "f-body-01 text-inverse" }, "Margin Left: 4rem / ml-64")))), hAsync("li", { key: '107899eab78bbb70f62b0aa2df8573f7a940024c', class: "grid-col-span-12 md:grid-col-span-4 flex flex-col items-center mt-16" }, hAsync("div", { key: 'fb007ac46524cfda56c1033869b3fd7edeec96b8', class: "container p-8 item-center border-2 border-soft" }, hAsync("div", { key: '4312aaa901f7ad1075056517b2d8b0902e708aec', class: "spacing-sample mt-32 bg-strong" }, hAsync("span", { key: '62a87119afea530831e3bcbb45da16f3a3cfb1b8', class: "f-body-01 text-inverse" }, "Margin Top: 2rem / mt-32")))), hAsync("li", { key: '279e6f5af470cf3f969c37f715def542e4d13140', class: "grid-col-span-12 md:grid-col-span-4 flex flex-col items-center mt-16" }, hAsync("div", { key: '057bcacd976a4d7f0a69ccba3b469e79f6e8c86a', class: "container p-8 item-center border-2 border-soft" }, hAsync("div", { key: '379423e5ef1b3f5be2a322493266305f2cf46b9d', class: "spacing-sample p-32 bg-strong" }, hAsync("span", { key: 'a3bd9db6ab5dd4f6204d5009c4328f617f44b78c', class: "f-body-01 text-inverse" }, "Padding: 2rem / p-32")))), hAsync("li", { key: '526411b8ab854f67873964446dee7191949f5d54', class: "grid-col-span-12 md:grid-col-span-4 flex flex-col items-center mt-16" }, hAsync("div", { key: 'c30d0c423a4d3104ca8736fbd2c0de5159ac8f2d', class: "container p-8 item-center border-2 border-soft" }, hAsync("div", { key: '93e0422c2304a0d3a158ba086aa9235a05d621f0', class: "spacing-sample pt-32 bg-strong" }, hAsync("span", { key: 'dca707847134a421d60930307613a6528a009f9d', class: "f-body-01 text-inverse" }, "Padding Top: 2rem / pt-32")))), hAsync("li", { key: 'a132977bdf19ba79401ccc05f248711eb2793497', class: "grid-col-span-12 md:grid-col-span-4 flex flex-col items-center mt-16" }, hAsync("div", { key: '2fad0e796528bce6c021cbb9d3036d4a23226b82', class: "container p-8 item-center border-2 border-soft" }, hAsync("div", { key: 'be02958fc44ca651c348078dfc84fabbe92afaa1', class: "spacing-sample pl-32 bg-strong" }, hAsync("span", { key: '6c94b77b470a1dd9de4dad7a6900d2e053236f52', class: "f-body-01 text-inverse" }, "Padding Left: 2rem / pl-32")))))));
18132
+ return (hAsync("div", { key: '857d52883315b5be7edb90c89602b29f258cabda', class: "w-full" }, hAsync("ul", { key: 'e1dbf5d8e227c9014183c2465bf281e554f7e35b', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, hAsync("li", { key: '85795c6c4ad2c4fc05cda1183a06dadc78521b45', class: "grid-col-span-12 md:grid-col-span-4 flex flex-col items-center mt-16" }, hAsync("div", { key: 'e0d6a8712ab4d47dca6ca275c09592b8af381b20', class: "container p-8 item-center border-2 border-soft" }, hAsync("div", { key: 'cbfc5e4dcb4040b375d195246626d833d5b33057', class: "spacing-sample m-16 bg-strong" }, hAsync("span", { key: '8aa060bb7da7ffdbcd343c849f5e62c6db648fd7', class: "f-body-01 text-inverse" }, "Margin: 1rem / m-16")))), hAsync("li", { key: 'f4e5e7a4eedac3a350f8c68adc5cdc8ba742166a', class: "grid-col-span-12 md:grid-col-span-4 flex flex-col items-center mt-16" }, hAsync("div", { key: 'de4ce6ca17ba9c0a20a794e1ec55f2fcc1f0c440', class: "container p-8 item-center border-2 border-soft" }, hAsync("div", { key: '52766704ac7cb4b1336d4283991c5204c7dece18', class: "spacing-sample ml-64 bg-strong" }, hAsync("span", { key: '60c2b72b390ac0b204cf10cf2c01907915e0b3a1', class: "f-body-01 text-inverse" }, "Margin Left: 4rem / ml-64")))), hAsync("li", { key: '1b7922c2a246a1a95e2e26e455b55ea7b5a2a3e9', class: "grid-col-span-12 md:grid-col-span-4 flex flex-col items-center mt-16" }, hAsync("div", { key: '7d43b9c4bc7ebd4883d9d7871b9fb02a2cece586', class: "container p-8 item-center border-2 border-soft" }, hAsync("div", { key: '7afeb3b0db7c70f11e09b5df2d396ebfc4454f00', class: "spacing-sample mt-32 bg-strong" }, hAsync("span", { key: '3bccca0e93ad8accb3da8ce64c86ee70d2a6f255', class: "f-body-01 text-inverse" }, "Margin Top: 2rem / mt-32")))), hAsync("li", { key: '7cbdb2d1b0cd2f91c1b7a05d6654e89a26f74340', class: "grid-col-span-12 md:grid-col-span-4 flex flex-col items-center mt-16" }, hAsync("div", { key: 'a47cb7cce3d8947d07ceff06fea30e19df12c6ec', class: "container p-8 item-center border-2 border-soft" }, hAsync("div", { key: '2ee8dc2c52d8a689c12f0333cf7a4d0b36e572f7', class: "spacing-sample p-32 bg-strong" }, hAsync("span", { key: '2c19bbed58312c84d15ef45fc4bd5a699718b259', class: "f-body-01 text-inverse" }, "Padding: 2rem / p-32")))), hAsync("li", { key: '89283aab1c8e84f4d692e290e227d5b91e88cd56', class: "grid-col-span-12 md:grid-col-span-4 flex flex-col items-center mt-16" }, hAsync("div", { key: 'e341336d74199f51d440ad01217816939b4877eb', class: "container p-8 item-center border-2 border-soft" }, hAsync("div", { key: '6d59ec419924101b4b2d4daf1fa385cd7d921c2e', class: "spacing-sample pt-32 bg-strong" }, hAsync("span", { key: '378293318a5aa7c0c9fecb575e533aa97c7b0ecf', class: "f-body-01 text-inverse" }, "Padding Top: 2rem / pt-32")))), hAsync("li", { key: 'a8e4328bb418b7b878aebfdfe4022e3054b5167e', class: "grid-col-span-12 md:grid-col-span-4 flex flex-col items-center mt-16" }, hAsync("div", { key: '421adc7f90db876dca2304f0c0f794c2b93b4536', class: "container p-8 item-center border-2 border-soft" }, hAsync("div", { key: 'ebb689a6011c3da5282eb3bb1cc1a0581af86e90', class: "spacing-sample pl-32 bg-strong" }, hAsync("span", { key: '8924318c5edcb5d78c37dc1a768e1b3e0fa775ed', class: "f-body-01 text-inverse" }, "Padding Left: 2rem / pl-32")))))));
17121
18133
  }
17122
18134
  static get cmpMeta() { return {
17123
18135
  "$flags$": 0,
@@ -17365,7 +18377,7 @@ class TokenTypography {
17365
18377
  registerInstance(this, hostRef);
17366
18378
  }
17367
18379
  render() {
17368
- return (hAsync("section", { key: 'a3698b57da5e26052bf013daef956ff5f9e0bd1c', class: "w-full" }, hAsync("ul", { key: '924a82c721a636370a15e7a47ca73264c8e1d30e', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, Object.entries(typography.typesets)
18380
+ return (hAsync("section", { key: 'ce7e291884a4b1bef85050a04c798a365287a131', class: "w-full" }, hAsync("ul", { key: '070567197ed557c07284ebe733c4f9f3246c60d7', class: "not-prose gap-y-8 md:gap-y-12 lg:gap-y-16" }, Object.entries(typography.typesets)
17369
18381
  .filter(([typeKey]) => typeKey !== 'displays') // Exclude "displays"
17370
18382
  .flatMap(([typeKey, typeValues]) => Object.entries(typeValues).map(([size, style]) => (hAsync("li", { class: "grid-col-span-12 flex flex-col mt-16" }, hAsync("div", { class: "w-full p-16 border border-soft rounded", style: { display: 'grid', gridTemplateColumns: '1fr 1fr', gap: '1.5rem', alignItems: 'center' } }, hAsync("div", { style: {
17371
18383
  fontFamily: style.fontFamily || typography.families['plex-sans'],
@@ -17448,6 +18460,7 @@ registerComponents([
17448
18460
  EdsInputRange,
17449
18461
  EdsInputSearch,
17450
18462
  EdsInputSelect,
18463
+ EdsKgLearningResources,
17451
18464
  EdsKgWebServicesSelect,
17452
18465
  EdsLink,
17453
18466
  EdsLogo,
@@ -17458,6 +18471,7 @@ registerComponents([
17458
18471
  EdsPie,
17459
18472
  EdsProgressBar,
17460
18473
  EdsRating,
18474
+ EdsSearchSelect,
17461
18475
  EdsSectionCore,
17462
18476
  EdsSectionHeading,
17463
18477
  EdsSidebar,
@@ -17474,6 +18488,7 @@ registerComponents([
17474
18488
  EdsToast,
17475
18489
  EdsToastManager,
17476
18490
  EdsTooltip,
18491
+ EdsTrlBadge,
17477
18492
  EdsUser,
17478
18493
  GradientPrimaryPalette,
17479
18494
  GradientSecondaryPalette,