@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
@@ -20,6 +20,150 @@ menu {
20
20
  width: 100%;
21
21
  }
22
22
 
23
+ /* ------------------------------------------------------------------
24
+ * Search pill — three theme variants (matches EBRAINS header mockup):
25
+ * - .search-pill--gray (default): grey surface (mockup)
26
+ * - .search-pill--white : white surface w/ grey border
27
+ * - .search-pill--black : brand-black surface, white text
28
+ * Common geometry: rounded-full, icon left, input middle, ⌘K kbd right.
29
+ * The kbd hint is hidden when the input has focus, so it never overlaps
30
+ * what the user is typing.
31
+ * ------------------------------------------------------------------ */
32
+ .search-pill {
33
+ display: flex;
34
+ align-items: center;
35
+ gap: 12px;
36
+ height: 48px; /* was 38 — roomier for the bigger text and icons */
37
+ padding: 0 18px; /* was 14 */
38
+ border-radius: 999px;
39
+ font-family: var(--plex-sans, 'IBM Plex Sans', system-ui, sans-serif);
40
+ font-size: 15px; /* was 13 — placeholder + text now read more clearly */
41
+ cursor: text;
42
+ transition: background 120ms ease, box-shadow 120ms ease, color 120ms ease;
43
+ }
44
+
45
+ .search-pill .search-icon { flex-shrink: 0; }
46
+
47
+ .search-pill .search-input {
48
+ flex: 1;
49
+ min-width: 0;
50
+ border: 0;
51
+ background: transparent;
52
+ outline: none;
53
+ font: inherit; /* inherits the new 15px from .search-pill */
54
+ color: inherit;
55
+ /* Remove the native clear-button in Safari/Chrome so our custom one is
56
+ * the only one shown, and the layout stays steady on focus. */
57
+ -webkit-appearance: none;
58
+ appearance: none;
59
+ }
60
+ .search-pill .search-input::-webkit-search-cancel-button { -webkit-appearance: none; }
61
+
62
+ .search-pill .search-kbd {
63
+ flex-shrink: 0;
64
+ /* Explicit mono stack (don't rely on a project CSS var that may not be
65
+ * defined in the consuming app's CSS) + medium weight so the glyph reads
66
+ * as an embossed key-cap rather than plain text. */
67
+ font-family: 'IBM Plex Mono', ui-monospace, 'SF Mono', Menlo, monospace;
68
+ font-size: 11px;
69
+ font-weight: 500;
70
+ line-height: 1;
71
+ padding: 3px 6px;
72
+ border-radius: 4px;
73
+ /* The slight `inset` shadow gives the cap a tiny "lift" without needing
74
+ * a second box-shadow layer — matches the Linear/Cal.com kbd style. */
75
+ box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.05);
76
+ letter-spacing: 0.02em;
77
+ }
78
+
79
+ .search-pill:focus-within .search-kbd { display: none; }
80
+
81
+ /* ---- Clear (X) button — shown only while the query is non-empty.
82
+ * Sits in the same slot the kbd hint occupies when empty, so the pill's
83
+ * right-edge geometry doesn't jump when the user starts typing. */
84
+ .search-pill .search-clear {
85
+ flex-shrink: 0;
86
+ width: 22px;
87
+ height: 22px;
88
+ display: inline-flex;
89
+ align-items: center;
90
+ justify-content: center;
91
+ padding: 0;
92
+ margin: 0;
93
+ border: 0;
94
+ border-radius: 999px;
95
+ background: transparent;
96
+ color: inherit;
97
+ cursor: pointer;
98
+ opacity: 0.7;
99
+ transition: opacity 120ms ease, background 120ms ease;
100
+ }
101
+ .search-pill .search-clear:hover { opacity: 1; background: rgba(0, 0, 0, 0.06); }
102
+ .search-pill .search-clear:focus-visible {
103
+ outline: none;
104
+ box-shadow: 0 0 0 2px var(--brand-green, #00C87B);
105
+ opacity: 1;
106
+ }
107
+ /* On the dark/black variant the subtle hover wash needs to be light, not dark. */
108
+ .search-pill--black .search-clear:hover { background: rgba(255, 255, 255, 0.10); }
109
+
110
+ /* --- Variant: gray (default — EBRAINS header mockup) --- */
111
+ .search-pill--gray {
112
+ background: var(--grey-light, #ECECEC);
113
+ color: var(--grey-dark, #7A7B7A);
114
+ border: 0;
115
+ }
116
+ .search-pill--gray:hover { background: #E0E0E0; }
117
+ .search-pill--gray .search-input { color: var(--brand-black, #07140D); }
118
+ .search-pill--gray .search-input::placeholder { color: var(--grey-dark, #7A7B7A); }
119
+ .search-pill--gray .search-kbd {
120
+ color: var(--grey-dark, #7A7B7A);
121
+ background: var(--white, #FFFFFF);
122
+ border: 1px solid #DCDCDC;
123
+ }
124
+ .search-pill--gray:focus-within {
125
+ background: var(--white, #FFFFFF);
126
+ box-shadow: 0 0 0 2px var(--brand-green, #00C87B);
127
+ }
128
+
129
+ /* --- Variant: white --- */
130
+ .search-pill--white {
131
+ background: var(--white, #FFFFFF);
132
+ color: var(--grey-dark, #7A7B7A);
133
+ border: 1px solid var(--grey-light, #ECECEC);
134
+ }
135
+ .search-pill--white:hover { background: #FAFAFA; }
136
+ .search-pill--white .search-input { color: var(--brand-black, #07140D); }
137
+ .search-pill--white .search-input::placeholder { color: var(--grey-dark, #7A7B7A); }
138
+ .search-pill--white .search-kbd {
139
+ color: var(--grey-dark, #7A7B7A);
140
+ background: var(--grey-light, #ECECEC);
141
+ border: 1px solid #DCDCDC;
142
+ }
143
+ .search-pill--white:focus-within {
144
+ background: var(--white, #FFFFFF);
145
+ box-shadow: 0 0 0 2px var(--brand-green, #00C87B);
146
+ }
147
+
148
+ /* --- Variant: black (use on dark backgrounds) --- */
149
+ .search-pill--black {
150
+ background: var(--brand-black, #07140D);
151
+ color: rgba(255, 255, 255, 0.7);
152
+ border: 1px solid rgba(255, 255, 255, 0.12);
153
+ }
154
+ .search-pill--black:hover { background: #11221A; }
155
+ .search-pill--black .search-input { color: var(--white, #FFFFFF); }
156
+ .search-pill--black .search-input::placeholder { color: rgba(255, 255, 255, 0.55); }
157
+ .search-pill--black .search-kbd {
158
+ color: rgba(255, 255, 255, 0.75);
159
+ background: rgba(255, 255, 255, 0.08);
160
+ border: 1px solid rgba(255, 255, 255, 0.15);
161
+ }
162
+ .search-pill--black:focus-within {
163
+ background: var(--brand-black, #07140D);
164
+ box-shadow: 0 0 0 2px var(--brand-green, #00C87B);
165
+ }
166
+
23
167
  .search-dropdown {
24
168
  position: absolute;
25
169
  top: calc(100% + 8px);
@@ -120,12 +264,34 @@ menu {
120
264
  transition: all 0.2s ease;
121
265
  }
122
266
 
267
+ .result-badge--parent {
268
+ background: rgba(120, 0, 255, 0.08);
269
+ color: var(--purple-800, #6b21a8);
270
+ }
271
+
272
+ .result-badge--lr {
273
+ background: rgba(0, 120, 255, 0.1);
274
+ color: var(--blue-800, #1565c0);
275
+ }
276
+
123
277
  .result-item:hover .result-badge,
124
278
  .result-item--selected .result-badge {
125
279
  background: rgba(0, 255, 157, 0.2);
126
280
  color: var(--green-900);
127
281
  }
128
282
 
283
+ .result-item:hover .result-badge--parent,
284
+ .result-item--selected .result-badge--parent {
285
+ background: rgba(120, 0, 255, 0.15);
286
+ color: var(--purple-900, #581c87);
287
+ }
288
+
289
+ .result-item:hover .result-badge--lr,
290
+ .result-item--selected .result-badge--lr {
291
+ background: rgba(0, 120, 255, 0.18);
292
+ color: var(--blue-900, #0d47a1);
293
+ }
294
+
129
295
  .result-url {
130
296
  font-size: 12px;
131
297
  color: var(--grey-600);
@@ -2,6 +2,23 @@ import { h } from "@stencil/core";
2
2
  import { sendAnalytics } from "../../utils/analytics";
3
3
  export class EdsGlobalSearch {
4
4
  constructor() {
5
+ /** Clear the current query and results; keep focus in the input so the
6
+ * user can start typing again without an extra click. */
7
+ this.handleClear = () => {
8
+ if (this.debounceTimer) {
9
+ clearTimeout(this.debounceTimer);
10
+ }
11
+ this.query = '';
12
+ this.results = [];
13
+ this.hasSearched = false;
14
+ this.showDropdown = false;
15
+ this.selectedIndex = -1;
16
+ // Re-focus and reflect the empty value on the underlying DOM input.
17
+ if (this.inputRef) {
18
+ this.inputRef.value = '';
19
+ this.inputRef.focus();
20
+ }
21
+ };
5
22
  this.handleInput = (event) => {
6
23
  var _a;
7
24
  const target = event.target;
@@ -34,6 +51,7 @@ export class EdsGlobalSearch {
34
51
  this.currentOrigin = '';
35
52
  this.currentSource = '';
36
53
  this.authToken = '';
54
+ this.variant = 'gray';
37
55
  this.query = '';
38
56
  this.results = [];
39
57
  this.loading = false;
@@ -43,15 +61,26 @@ export class EdsGlobalSearch {
43
61
  this.selectedIndex = -1;
44
62
  }
45
63
  componentDidLoad() {
46
- // Focus input if needed
47
- if (this.inputRef) {
48
- this.inputRef.focus();
49
- }
64
+ // ⌘K / Ctrl+K focuses the search pill from anywhere on the page.
65
+ // Bound here (not via @Listen) so it works across shadow boundaries.
66
+ this.cmdKListener = (event) => {
67
+ var _a;
68
+ const isMac = navigator.platform.toUpperCase().includes('MAC');
69
+ const modifier = isMac ? event.metaKey : event.ctrlKey;
70
+ if (modifier && event.key.toLowerCase() === 'k') {
71
+ event.preventDefault();
72
+ (_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.focus();
73
+ }
74
+ };
75
+ document.addEventListener('keydown', this.cmdKListener);
50
76
  }
51
77
  disconnectedCallback() {
52
78
  if (this.debounceTimer) {
53
79
  clearTimeout(this.debounceTimer);
54
80
  }
81
+ if (this.cmdKListener) {
82
+ document.removeEventListener('keydown', this.cmdKListener);
83
+ }
55
84
  }
56
85
  handleDocumentClick(event) {
57
86
  const path = event.composedPath();
@@ -198,10 +227,19 @@ export class EdsGlobalSearch {
198
227
  return this.hasSearched && !this.loading && !this.hasResults && this.query.trim();
199
228
  }
200
229
  render() {
201
- return (h("div", { key: '1852fc796b6240987bcad1e278f4b1df136cc449', class: "search-wrapper" }, h("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 && (h("div", { key: '9f3201f757082d175f74cd6cf289235876a7adbd', class: "search-dropdown", ref: (el) => (this.dropdownRef = el) }, this.loading && (h("div", { key: '3eb28e3703204b69356012f69088e6eb756be901', class: "flex text-center justify-center p-64" }, h("eds-spinner", { key: '08034f1d9fd9125bc9581c89e9b2f96efc1a964b', variant: "primary", size: "sm" }))), this.error && !this.loading && (h("div", { key: '8b54ae6c27499978b37a34b0b8e596216141a967', class: "flex text-center justify-center p-16" }, h("span", { key: 'b4229325ea0650af096984c50882558508c3e97d', class: "text-error f-body-02" }, this.error))), this.showEmpty && (h("div", { key: 'e2c4afb90f05171d30c42d7f5780388b18b19e50', class: "dropdown-state" }, h("eds-icon-wrapper", { key: 'ad17ced3b7cd285c654cb88e21f295c1aaa1059f', name: "search" }), h("div", { key: '66f22b148372de474fa3593deedbaa138b6f534e' }, h("p", { key: 'eeb0532fbe406b0415f45685ea0f00e09950db84', class: "f-body-02" }, "No results found"), h("p", { key: 'e13d6267eaa8cfc11930b2f61ea29b2f3a82cb71', class: "f-ui-04 text-lightest" }, "Try different keywords")))), this.hasResults && !this.loading && (h("ul", { key: '23a0e1e6e1634d0e9212d2b9711a9d9f8d1ace42', class: "dropdown-results" }, this.results.map((result, index) => (h("li", { key: result.id, "data-index": index, class: {
230
+ return (h("div", { key: '841c9a013a1c4cee9697f3465759bf638b28475e', class: "search-wrapper" }, h("label", { key: 'ff1b37fff6e94019d2da63060aba77d82ee1bafb', class: `search-pill search-pill--${this.variant}`, htmlFor: "search-global" }, h("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" }, h("circle", { key: 'cb424f39cd5f6316056dbcc6b80d11ce8ade1410', cx: "11", cy: "11", r: "7" }), h("line", { key: '004bce39d3a9ee7a53ef0e942cf986e38b76b921', x1: "20", y1: "20", x2: "16.5", y2: "16.5" })), h("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 ? (h("button", { type: "button", class: "search-clear", "aria-label": "Clear search", onMouseDown: (e) => e.preventDefault() /* keep focus in input */, onClick: () => this.handleClear() }, h("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" }, h("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), h("line", { x1: "6", y1: "6", x2: "18", y2: "18" })))) : (h("kbd", { class: "search-kbd", "aria-hidden": "true" }, "\u2318K"))), this.showDropdown && (h("div", { key: '3354848b17ba065a64919defd74de0616a29c25c', class: "search-dropdown", ref: (el) => (this.dropdownRef = el) }, this.loading && (h("div", { key: '5c5f731e969f60c8c3d2ce21683fec35302a2954', class: "flex text-center justify-center p-64" }, h("eds-spinner", { key: '6d0b5223f03bb0ed2f83f2ab3c77cf4e116d87e7', variant: "primary", size: "sm" }))), this.error && !this.loading && (h("div", { key: '9cbca9b3f62c2969478e34a654a973196a5e9187', class: "flex text-center justify-center p-16" }, h("span", { key: 'ce2bd2f6c6b05fb5fdfec4da67460b72445970bc', class: "text-error f-body-02" }, this.error))), this.showEmpty && (h("div", { key: 'b7d446aa72732c9932c90bb5ef08a2f27c357ae4', class: "dropdown-state" }, h("eds-icon-wrapper", { key: 'ac5377b3efa4f26e10781f369843a69c3409ec83', name: "search" }), h("div", { key: '774784c1dbe4c6e6eda9e8d70833d0a2a6821b4f' }, h("p", { key: 'bbce9a267889eee40b54fd471f203b530de42a86', class: "f-body-02" }, "No results found"), h("p", { key: 'd440e4e0ff4f59ea14eef7aa5db0692c4a2352fa', class: "f-ui-04 text-lightest" }, "Try different keywords")))), this.hasResults && !this.loading && (h("ul", { key: 'b89e31f5931705e750f0f19fb159f93a05324e6d', class: "dropdown-results" }, this.results.map((result, index) => (h("li", { key: result.id, "data-index": index, class: {
202
231
  'result-item': true,
203
232
  'result-item--selected': index === this.selectedIndex
204
- }, onClick: () => this.selectResult(result), onMouseEnter: () => (this.selectedIndex = index) }, h("div", { class: "result-header" }, h("span", { class: "result-title f-body-02" }, result.title)), h("div", { class: "result-meta" }, h("span", { class: "result-badge" }, result.source), result.section && h("span", { class: "result-badge" }, result.section), h("span", { class: "result-url" }, result.url)), result.snippet && h("p", { class: "result-snippet" }, this.stripHtml(result.snippet))))))), this.hasResults && !this.loading && (h("div", { key: '4d901487a14818ea05d3433c7cc5b881a87764e2', class: "dropdown-footer" }, h("span", { key: '8411362dd3b694220e6d10268a63ef4fc3b30eeb', class: "footer-hint" }, h("kbd", { key: '5b1c50f275a4d1daa35f0b1276c26bf110189785' }, "\u2191"), " ", h("kbd", { key: '711430aba48663a8f58b5f3dae15c1357e75761b' }, "\u2193"), " navigate \u2022 ", h("kbd", { key: 'b4e4362f19d7b82cbce9dcdea0b9c863a6e36fef' }, "\u21B5"), " select \u2022 ", h("kbd", { key: '9cc79708fece76043eb8f050b1715ff610f937ec' }, "esc"), " close")))))));
233
+ }, onClick: () => this.selectResult(result), onMouseEnter: () => (this.selectedIndex = index) }, h("div", { class: "result-header" }, h("span", { class: "result-title f-body-02" }, result.title)), h("div", { class: "result-meta" }, result.parent_software ? ([
234
+ h("span", { class: "result-badge result-badge--parent" }, result.parent_software),
235
+ result.section && h("span", { class: "result-badge result-badge--lr" }, result.section)
236
+ ]) : result.source === 'kg-services' ? ([
237
+ h("span", { class: "result-badge" }, "EBRAINS KG"),
238
+ result.section && h("span", { class: "result-badge" }, result.section)
239
+ ]) : ([
240
+ h("span", { class: "result-badge" }, result.source),
241
+ result.section && h("span", { class: "result-badge" }, result.section)
242
+ ]), h("span", { class: "result-url" }, result.url)), result.snippet && h("p", { class: "result-snippet" }, this.stripHtml(result.snippet))))))), this.hasResults && !this.loading && (h("div", { key: 'fd07f17d78ba2d95c30d95b35d89151b27e3a957', class: "dropdown-footer" }, h("span", { key: '20a6bc436e135e29b89a94b150c505bab6281d6f', class: "footer-hint" }, h("kbd", { key: '08e43dd318b0dde7d67f74731055e2bbc00bdc78' }, "\u2191"), " ", h("kbd", { key: '676535d717d5fb4b98cbf09050883630dbecaf6e' }, "\u2193"), " navigate \u2022 ", h("kbd", { key: 'cd9ac17223ae195b0508c7ea37ad2a9459341b8b' }, "\u21B5"), " select \u2022 ", h("kbd", { key: 'dbaa3eacc337eee81404518e9bd4c9b9fbc44205' }, "esc"), " close")))))));
205
243
  }
206
244
  static get is() { return "eds-global-search"; }
207
245
  static get encapsulation() { return "shadow"; }
@@ -360,6 +398,24 @@ export class EdsGlobalSearch {
360
398
  "attribute": "auth-token",
361
399
  "reflect": false,
362
400
  "defaultValue": "''"
401
+ },
402
+ "variant": {
403
+ "type": "string",
404
+ "mutable": false,
405
+ "complexType": {
406
+ "original": "'gray' | 'white' | 'black'",
407
+ "resolved": "\"black\" | \"gray\" | \"white\"",
408
+ "references": {}
409
+ },
410
+ "required": false,
411
+ "optional": false,
412
+ "docs": {
413
+ "tags": [],
414
+ "text": "Visual theme of the search pill.\n- \"gray\" (default): light grey surface (matches the EBRAINS header mockup)\n- \"white\": white surface with a 1px border (use when sitting on a coloured nav)\n- \"black\": brand-black surface with white text (use on dark backgrounds)"
415
+ },
416
+ "attribute": "variant",
417
+ "reflect": true,
418
+ "defaultValue": "'gray'"
363
419
  }
364
420
  };
365
421
  }
@@ -0,0 +1,205 @@
1
+ :host {
2
+ display: block;
3
+ font-family: var(--plex-sans, 'IBM Plex Sans', system-ui, sans-serif);
4
+ color: var(--brand-black, #07140D);
5
+ }
6
+
7
+ /* Header */
8
+ .lr-header {
9
+ display: flex;
10
+ align-items: center;
11
+ justify-content: space-between;
12
+ flex-wrap: wrap;
13
+ gap: 0.75rem;
14
+ margin-bottom: 1.5rem;
15
+ }
16
+
17
+ .lr-heading {
18
+ font-family: var(--inter, 'Inter', sans-serif);
19
+ font-weight: 300;
20
+ font-size: 1.75rem;
21
+ line-height: 110%;
22
+ margin: 0;
23
+ color: var(--brand-black, #07140D);
24
+ }
25
+
26
+ .summary {
27
+ display: flex;
28
+ gap: 0.5rem;
29
+ }
30
+
31
+ /* Filters */
32
+ .filters {
33
+ display: grid;
34
+ grid-template-columns: 1fr 1fr 1fr 1fr;
35
+ gap: 0.75rem;
36
+ margin-bottom: 1.5rem;
37
+ align-items: flex-end;
38
+ }
39
+
40
+ .filter-search {
41
+ grid-column: span 2;
42
+ }
43
+
44
+ .filter-select {
45
+ grid-column: span 1;
46
+ }
47
+
48
+ /* Accordion list */
49
+ .accordion-list {
50
+ display: flex;
51
+ flex-direction: column;
52
+ gap: 0.5rem;
53
+ }
54
+
55
+ /* Resources inside accordion */
56
+ .resources-content {
57
+ padding-top: 0.5rem;
58
+ }
59
+
60
+ .kg-link {
61
+ margin-bottom: 1rem;
62
+ }
63
+
64
+ /* Resources table */
65
+ .resources-table {
66
+ width: 100%;
67
+ border-collapse: collapse;
68
+ font-size: 0.875rem;
69
+ }
70
+
71
+ .resources-table thead th {
72
+ text-align: left;
73
+ font-family: var(--plex-sans, 'IBM Plex Sans', system-ui, sans-serif);
74
+ font-weight: 500;
75
+ font-size: 0.75rem;
76
+ text-transform: uppercase;
77
+ letter-spacing: 0.04em;
78
+ color: var(--grey-dark, #7A7B7A);
79
+ padding: 0.5rem 0.75rem;
80
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
81
+ }
82
+
83
+ .resource-row {
84
+ transition: background-color 0.2s ease;
85
+ }
86
+
87
+ .resource-row--clickable {
88
+ cursor: pointer;
89
+ }
90
+
91
+ .resource-row--clickable:hover {
92
+ background-color: rgba(0, 255, 157, 0.04);
93
+ }
94
+
95
+ .resource-row td {
96
+ padding: 0.625rem 0.75rem;
97
+ border-bottom: 1px solid rgba(0, 0, 0, 0.04);
98
+ vertical-align: top;
99
+ }
100
+
101
+ .resource-row:last-child td {
102
+ border-bottom: none;
103
+ }
104
+
105
+ .resource-name {
106
+ font-weight: 500;
107
+ font-size: 1.0625rem;
108
+ color: var(--brand-black, #07140D);
109
+ transition: color 0.2s ease;
110
+ }
111
+
112
+ .resource-row--clickable:hover .resource-name {
113
+ color: var(--brand-green-dark, #00C87B);
114
+ }
115
+
116
+ .resource-desc {
117
+ margin: 0.25rem 0 0;
118
+ font-size: 0.9375rem;
119
+ color: var(--grey-dark, #7A7B7A);
120
+ line-height: 145%;
121
+ display: -webkit-box;
122
+ -webkit-line-clamp: 2;
123
+ -webkit-box-orient: vertical;
124
+ overflow: hidden;
125
+ }
126
+
127
+ .col-name {
128
+ width: auto;
129
+ }
130
+
131
+ .col-type {
132
+ width: 160px;
133
+ white-space: nowrap;
134
+ }
135
+
136
+ .col-level {
137
+ width: 110px;
138
+ white-space: nowrap;
139
+ }
140
+
141
+ /* States */
142
+ /* eds-spinner renders an absolutely-positioned overlay (top/left/100%×100%)
143
+ that anchors to the nearest positioned ancestor. .loading must therefore
144
+ be `position: relative` and tall enough to host the spinner + message,
145
+ otherwise the overlay escapes upward and centres against the page. */
146
+ .loading {
147
+ position: relative;
148
+ min-height: 8rem;
149
+ padding: 1rem 1.25rem;
150
+ color: var(--grey-dark, #7A7B7A);
151
+ font-size: 0.9375rem;
152
+ border: 1px solid rgba(0, 0, 0, 0.08);
153
+ border-radius: 0.25rem;
154
+ background-color: rgba(0, 0, 0, 0.02);
155
+ }
156
+
157
+ .no-results {
158
+ padding: 2rem;
159
+ text-align: center;
160
+ color: var(--grey-dark, #7A7B7A);
161
+ font-size: 0.875rem;
162
+ }
163
+
164
+ /* Responsive */
165
+ @media (max-width: 750px) {
166
+ .lr-header {
167
+ flex-direction: column;
168
+ align-items: flex-start;
169
+ }
170
+
171
+ .filters {
172
+ grid-template-columns: 1fr;
173
+ }
174
+
175
+ .filter-search,
176
+ .filter-select {
177
+ grid-column: span 1;
178
+ }
179
+
180
+ .col-type,
181
+ .col-level {
182
+ width: auto;
183
+ }
184
+
185
+ .resources-table thead {
186
+ display: none;
187
+ }
188
+
189
+ .resource-row {
190
+ display: flex;
191
+ flex-wrap: wrap;
192
+ gap: 0.375rem;
193
+ padding: 0.625rem 0;
194
+ border-bottom: 1px solid rgba(0, 0, 0, 0.04);
195
+ }
196
+
197
+ .resource-row td {
198
+ border: none;
199
+ padding: 0;
200
+ }
201
+
202
+ .col-name {
203
+ width: 100%;
204
+ }
205
+ }