@ebrains/components 3.0.0 → 3.2.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.
- package/dist/cjs/color-primary-palette_6.cjs.entry.js +14 -14
- package/dist/cjs/components-section.cjs.entry.js +1 -1
- package/dist/cjs/components.cjs.js +1 -1
- package/dist/cjs/correct-use-of-colors.cjs.entry.js +1 -1
- package/dist/cjs/docs-palettes.cjs.entry.js +1 -1
- package/dist/cjs/docs-tokens.cjs.entry.js +1 -1
- package/dist/cjs/{eds-accordion_52.cjs.entry.js → eds-accordion_53.cjs.entry.js} +1095 -336
- package/dist/cjs/eds-app-root.cjs.entry.js +1 -1
- package/dist/cjs/eds-cookies-preference.cjs.entry.js +1 -1
- package/dist/cjs/eds-feedback.cjs.entry.js +1 -1
- package/dist/cjs/eds-frame.cjs.entry.js +1 -1
- package/dist/cjs/eds-gauge.cjs.entry.js +1 -1
- package/dist/cjs/eds-gitlab-contributors.cjs.entry.js +35 -32
- package/dist/cjs/eds-icon-bluesky.cjs.entry.js +1 -1
- package/dist/cjs/eds-icon-eu.cjs.entry.js +1 -1
- package/dist/cjs/eds-icon-facebook.cjs.entry.js +1 -1
- package/dist/cjs/eds-icon-gitlab.cjs.entry.js +1 -1
- package/dist/cjs/eds-icon-linkedin.cjs.entry.js +1 -1
- package/dist/cjs/eds-icon-mastodon.cjs.entry.js +1 -1
- package/dist/cjs/eds-icon-twitter.cjs.entry.js +1 -1
- package/dist/cjs/eds-icon-youtube.cjs.entry.js +1 -1
- package/dist/cjs/eds-input-search.cjs.entry.js +76 -0
- package/dist/cjs/eds-modal.cjs.entry.js +18 -9
- package/dist/cjs/eds-pie.cjs.entry.js +2 -2
- package/dist/cjs/eds-section-core_2.cjs.entry.js +3 -3
- package/dist/cjs/eds-timeline.cjs.entry.js +1 -1
- package/dist/cjs/eds-toast-manager.cjs.entry.js +1 -1
- package/dist/cjs/eds-trl-badge.cjs.entry.js +184 -0
- package/dist/cjs/incorrect-use-of-colors.cjs.entry.js +1 -1
- package/dist/cjs/index-50bc1aa4.js +10 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/logo-space.cjs.entry.js +58 -1
- package/dist/cjs/logo-variations-horizontal_2.cjs.entry.js +2 -2
- package/dist/cjs/logo-variations-tabs.cjs.entry.js +1 -1
- package/dist/cjs/logo-wrong-usage.cjs.entry.js +1 -1
- package/dist/cjs/svg-repository.cjs.entry.js +1 -1
- package/dist/cjs/token-list_3.cjs.entry.js +3 -3
- package/dist/cjs/token-ratios.cjs.entry.js +1 -1
- package/dist/cjs/token-spacing.cjs.entry.js +1 -1
- package/dist/cjs/token-typography.cjs.entry.js +8 -2
- package/dist/collection/collection-manifest.json +4 -1
- package/dist/collection/components/eds-accordion/eds-accordion.css +3 -2
- package/dist/collection/components/eds-accordion/eds-accordion.js +2 -5
- package/dist/collection/components/eds-accordion/eds-accordion.stories.js +7 -19
- package/dist/collection/components/eds-alert/eds-alert.css +14 -0
- package/dist/collection/components/eds-alert/eds-alert.js +2 -1
- package/dist/collection/components/eds-alert/eds-alert.stories.js +19 -147
- package/dist/collection/components/eds-avatar/eds-avatar.js +1 -1
- package/dist/collection/components/eds-avatar/eds-avatar.stories.js +2 -2
- package/dist/collection/components/eds-block-break/eds-block-break.js +1 -1
- package/dist/collection/components/eds-breadcrump/eds-breadcrump.js +1 -1
- package/dist/collection/components/eds-button/eds-button.css +15 -0
- package/dist/collection/components/eds-button/eds-button.js +17 -14
- package/dist/collection/components/eds-button/eds-button.stories.js +4 -1
- package/dist/collection/components/eds-cards/eds-card-app/eds-card-app.js +2 -5
- package/dist/collection/components/eds-cards/eds-card-composer/eds-card-desc/eds-card-desc.js +1 -1
- package/dist/collection/components/eds-cards/eds-card-composer/eds-card-title/eds-card-title.js +1 -1
- package/dist/collection/components/eds-cards/eds-card-cta/eds-card-cta.css +10 -1
- package/dist/collection/components/eds-cards/eds-card-cta/eds-card-cta.js +2 -5
- package/dist/collection/components/eds-cards/eds-card-cta/eds-card-cta.stories.js +4 -1
- package/dist/collection/components/eds-cards/eds-card-feature/eds-card-feature.js +2 -5
- package/dist/collection/components/eds-cards/eds-card-generic/eds-card-generic.js +2 -4
- package/dist/collection/components/eds-cards/eds-card-hero/eds-card-hero.js +6 -7
- package/dist/collection/components/eds-cards/eds-card-stat/eds-card-stat.js +6 -7
- package/dist/collection/components/eds-charts/eds-gauge/eds-gauge.js +1 -1
- package/dist/collection/components/eds-charts/eds-pie/eds-pie.js +2 -2
- package/dist/collection/components/eds-code-block/eds-code-block.css +72 -106
- package/dist/collection/components/eds-code-block/eds-code-block.js +1 -1
- package/dist/collection/components/eds-dropdown/eds-dropdown.js +30 -4
- package/dist/collection/components/eds-feedback/eds-feedback.js +1 -1
- package/dist/collection/components/eds-footer/eds-footer.css +143 -203
- package/dist/collection/components/eds-footer/eds-footer.js +176 -74
- package/dist/collection/components/eds-footer/eds-footer.stories.js +109 -17
- package/dist/collection/components/eds-form/eds-form.css +493 -1
- package/dist/collection/components/eds-form/eds-form.js +256 -14
- package/dist/collection/components/eds-form/eds-form.stories.js +110 -3
- package/dist/collection/components/eds-frame/eds-frame.js +1 -1
- package/dist/collection/components/eds-header/eds-header.js +1 -1
- package/dist/collection/components/eds-header/eds-header.stories.js +26 -12
- package/dist/collection/components/eds-icon-wrapper/eds-icon-wrapper.js +20 -1
- package/dist/collection/components/eds-icons/eds-icon-eu/eds-icon-eu.js +1 -1
- package/dist/collection/components/eds-icons/eds-icon-gitlab/eds-icon-gitlab.js +1 -1
- package/dist/collection/components/eds-icons/social/eds-icon-bluesky/eds-icon-bluesky.js +1 -1
- package/dist/collection/components/eds-icons/social/eds-icon-facebook/eds-icon-facebook.js +1 -1
- package/dist/collection/components/eds-icons/social/eds-icon-linkedin/eds-icon-linkedin.js +1 -1
- package/dist/collection/components/eds-icons/social/eds-icon-mastodon/eds-icon-mastodon.js +1 -1
- package/dist/collection/components/eds-icons/social/eds-icon-twitter/eds-icon-twitter.js +1 -1
- package/dist/collection/components/eds-icons/social/eds-icon-youtube/eds-icon-youtube.js +1 -1
- package/dist/collection/components/eds-img/eds-img.js +2 -2
- package/dist/collection/components/eds-img/eds-img.stories.js +29 -52
- package/dist/collection/components/eds-input-dropzone/eds-input-dropzone.js +7 -4
- package/dist/collection/components/eds-input-elements/eds-input/eds-input.js +20 -2
- package/dist/collection/components/eds-input-elements/eds-input-footer/eds-input-footer.css +39 -0
- package/dist/collection/components/eds-input-elements/eds-input-footer/eds-input-footer.js +2 -1
- package/dist/collection/components/eds-input-elements/eds-input-label/eds-input-label.css +17 -5
- package/dist/collection/components/eds-input-elements/eds-input-label/eds-input-label.js +1 -1
- package/dist/collection/components/eds-input-elements/eds-input-range/eds-input-range.js +15 -5
- package/dist/collection/components/eds-input-elements/eds-input-search/eds-input-search.js +1 -1
- package/dist/collection/components/eds-input-elements/eds-input-search/eds-input-search.stories.js +30 -0
- package/dist/collection/components/eds-input-elements/eds-input-select/eds-input-select.js +6 -2
- package/dist/collection/components/eds-input-field/eds-input-field.css +219 -0
- package/dist/collection/components/eds-input-field/eds-input-field.js +16 -5
- package/dist/collection/components/eds-input-field/eds-input-field.stories.js +105 -125
- package/dist/collection/components/eds-input-file/eds-input-file.js +5 -3
- package/dist/collection/components/eds-link/eds-link.js +4 -8
- package/dist/collection/components/eds-link/eds-link.stories.js +13 -8
- package/dist/collection/components/eds-logo/eds-logo.js +13 -66
- package/dist/collection/components/eds-logo/eds-logo.stories.js +36 -17
- package/dist/collection/components/eds-modal/eds-modal.js +18 -9
- package/dist/collection/components/eds-modal/eds-modal.stories.js +11 -8
- package/dist/collection/components/eds-nps/eds-nps.css +32 -0
- package/dist/collection/components/eds-nps/eds-nps.js +3 -3
- package/dist/collection/components/eds-pagination/eds-pagination.js +2 -2
- package/dist/collection/components/eds-progress-bar/eds-progress-bar.js +1 -8
- package/dist/collection/components/eds-rating/eds-rating.css +9 -0
- package/dist/collection/components/eds-rating/eds-rating.js +2 -2
- package/dist/collection/components/eds-section/eds-section-core/eds-section-core.js +1 -1
- package/dist/collection/components/eds-section/eds-section-heading/eds-section-heading.js +2 -2
- package/dist/collection/components/eds-sidebar/eds-sidebar.js +2 -2
- package/dist/collection/components/eds-social-networks/eds-social-networks.js +1 -1
- package/dist/collection/components/eds-spinner/eds-spinner.js +1 -1
- package/dist/collection/components/eds-steps/eds-steps.css +56 -25
- package/dist/collection/components/eds-steps/eds-steps.js +27 -7
- package/dist/collection/components/eds-steps-v2/eds-steps-v2.css +93 -28
- package/dist/collection/components/eds-steps-v2/eds-steps-v2.js +57 -10
- package/dist/collection/components/eds-steps-v2/eds-steps-v2.stories.js +80 -17
- package/dist/collection/components/eds-switch/eds-switch.css +26 -3
- package/dist/collection/components/eds-switch/eds-switch.js +10 -7
- package/dist/collection/components/eds-switch/eds-switch.stories.js +20 -1
- package/dist/collection/components/eds-table/eds-table.css +21 -4
- package/dist/collection/components/eds-table/eds-table.js +16 -51
- package/dist/collection/components/eds-table/eds-table.stories.js +7 -115
- package/dist/collection/components/eds-tabs/eds-tabs.css +7 -1
- package/dist/collection/components/eds-tabs/eds-tabs.js +49 -18
- package/dist/collection/components/eds-tabs/eds-tabs.stories.js +2 -2
- package/dist/collection/components/eds-tag/eds-tag.js +1 -1
- package/dist/collection/components/eds-timeline/eds-timeline.js +1 -1
- package/dist/collection/components/eds-toast/eds-toast.css +146 -0
- package/dist/collection/components/eds-toast/eds-toast.js +106 -4
- package/dist/collection/components/eds-toast/eds-toast.stories.js +102 -5
- package/dist/collection/components/eds-toast-manager/eds-toast-manager.js +1 -1
- package/dist/collection/components/eds-tooltip/eds-tooltip.js +1 -1
- package/dist/collection/components/eds-tooltip/eds-tooltip.stories.js +7 -1
- package/dist/collection/components/eds-user/eds-user.js +2 -5
- package/dist/collection/components/eds-user/eds-user.stories.js +8 -11
- package/dist/collection/eds-docs-ui/colors/color-palette/primary.js +1 -1
- package/dist/collection/eds-docs-ui/colors/color-palette/secondary.js +1 -1
- package/dist/collection/eds-docs-ui/colors/color-palette/support.js +1 -1
- package/dist/collection/eds-docs-ui/colors/gradient-palette/primary.js +1 -1
- package/dist/collection/eds-docs-ui/colors/gradient-palette/secondary.js +7 -7
- package/dist/collection/eds-docs-ui/colors/gradient-palette/support.js +3 -3
- package/dist/collection/eds-docs-ui/colors/use-of-colors/correct-use-of-colors.js +1 -1
- package/dist/collection/eds-docs-ui/colors/use-of-colors/incorrect-use-of-colors.js +1 -1
- package/dist/collection/eds-docs-ui/components-section/components-section.js +1 -1
- package/dist/collection/eds-docs-ui/design-tokens/docs-tokens/docs-tokens.js +1 -1
- package/dist/collection/eds-docs-ui/design-tokens/token-list/token-list.js +1 -1
- package/dist/collection/eds-docs-ui/design-tokens/token-radii/token-radii.js +1 -1
- package/dist/collection/eds-docs-ui/design-tokens/token-ratios/token-ratios.js +1 -1
- package/dist/collection/eds-docs-ui/design-tokens/token-shadows/token-shadows.js +1 -1
- package/dist/collection/eds-docs-ui/design-tokens/token-spacing/token-spacing.js +1 -1
- package/dist/collection/eds-docs-ui/design-tokens/token-typography/token-typography.js +8 -2
- package/dist/collection/eds-docs-ui/docs-palettes/docs-palettes.js +1 -1
- package/dist/collection/eds-docs-ui/logo/logo-space/logo-space.js +58 -1
- package/dist/collection/eds-docs-ui/logo/logo-variations/horizontal/logo-variations-horizontal.js +1 -1
- package/dist/collection/eds-docs-ui/logo/logo-variations/vertical/logo-variations-vertical.js +1 -1
- package/dist/collection/eds-docs-ui/logo/logo-variations-tabs/logo-variations.js +1 -1
- package/dist/collection/eds-docs-ui/logo/logo-wrong-usage/logo-wrong-usage.js +1 -1
- package/dist/collection/eds-docs-ui/svg-repository/svg-repository.js +1 -1
- package/dist/collection/shared-ui/eds-cookies-preference/eds-cookies-preference.js +1 -1
- package/dist/collection/shared-ui/eds-gitlab-contributors/eds-gitlab-contributors.css +19 -0
- package/dist/collection/shared-ui/eds-gitlab-contributors/eds-gitlab-contributors.js +34 -31
- package/dist/collection/shared-ui/eds-global-search/eds-global-search.css +166 -0
- package/dist/collection/shared-ui/eds-global-search/eds-global-search.js +69 -7
- package/dist/collection/shared-ui/eds-kg-learning-resources/eds-kg-learning-resources.css +205 -0
- package/dist/collection/shared-ui/eds-kg-learning-resources/eds-kg-learning-resources.js +253 -0
- package/dist/collection/shared-ui/eds-kg-web-services-select/eds-kg-web-services-select.js +2 -2
- package/dist/collection/shared-ui/eds-kg-web-services-select/eds-kg-web-services-select.stories.js +1 -3
- package/dist/collection/shared-ui/eds-matomo-notice/eds-matomo-notice.css +23 -102
- package/dist/collection/shared-ui/eds-matomo-notice/eds-matomo-notice.js +7 -1
- package/dist/collection/shared-ui/eds-matomo-notice/eds-matomo-notice.stories.js +1 -1
- package/dist/collection/shared-ui/eds-search-select/eds-search-select.css +213 -0
- package/dist/collection/shared-ui/eds-search-select/eds-search-select.js +706 -0
- package/dist/collection/shared-ui/eds-search-select/eds-search-select.stories.js +90 -0
- package/dist/collection/shared-ui/eds-trl-badge/ebrains-mark.js +26 -0
- package/dist/collection/shared-ui/eds-trl-badge/eds-trl-badge.css +22 -0
- package/dist/collection/shared-ui/eds-trl-badge/eds-trl-badge.js +324 -0
- package/dist/collection/shared-ui/eds-trl-badge/eds-trl-badge.stories.js +99 -0
- package/dist/collection/shared-ui/examples/eds-app-root/eds-app-root.js +1 -1
- package/dist/collection/utils/eds-form/formValidators.js +2 -1
- package/dist/collection/utils/eds-form/safeFormat.js +35 -0
- package/dist/components/components-section.js +1 -1
- package/dist/components/components.css +12 -11
- package/dist/components/components.esm.js +1 -1
- package/dist/components/correct-use-of-colors.js +1 -1
- package/dist/components/docs-palettes.js +1 -1
- package/dist/components/docs-tokens.js +1 -1
- package/dist/components/eds-accordion2.js +3 -6
- package/dist/components/eds-alert2.js +3 -2
- package/dist/components/eds-app-root.js +1 -1
- package/dist/components/eds-avatar2.js +1 -1
- package/dist/components/eds-block-break2.js +1 -1
- package/dist/components/eds-breadcrumb.js +1 -1
- package/dist/components/eds-button2.js +16 -13
- package/dist/components/eds-card-app.js +2 -5
- package/dist/components/eds-card-cta.js +3 -6
- package/dist/components/eds-card-desc2.js +1 -1
- package/dist/components/eds-card-feature.js +2 -5
- package/dist/components/eds-card-generic2.js +2 -4
- package/dist/components/eds-card-hero.js +6 -7
- package/dist/components/eds-card-stat.js +6 -7
- package/dist/components/eds-card-title2.js +1 -1
- package/dist/components/eds-code-block2.js +2 -2
- package/dist/components/eds-cookies-preference.js +1 -1
- package/dist/components/eds-dropdown2.js +30 -4
- package/dist/components/eds-feedback.js +1 -1
- package/dist/components/eds-footer2.js +118 -24
- package/dist/components/eds-form.js +146 -45
- package/dist/components/eds-frame.js +1 -1
- package/dist/components/eds-gauge.js +1 -1
- package/dist/components/eds-gitlab-contributors.js +35 -32
- package/dist/components/eds-global-search.js +55 -70
- package/dist/components/eds-header.js +1 -1
- package/dist/components/eds-icon-bluesky.js +1 -1
- package/dist/components/eds-icon-eu.js +1 -1
- package/dist/components/eds-icon-facebook.js +1 -1
- package/dist/components/eds-icon-gitlab.js +1 -1
- package/dist/components/eds-icon-linkedin.js +1 -1
- package/dist/components/eds-icon-mastodon.js +1 -1
- package/dist/components/eds-icon-twitter.js +1 -1
- package/dist/components/eds-icon-wrapper2.js +5 -2
- package/dist/components/eds-icon-youtube.js +1 -1
- package/dist/components/eds-img2.js +2 -2
- package/dist/components/eds-input-dropzone2.js +7 -4
- package/dist/components/eds-input-field2.js +31 -26
- package/dist/components/eds-input-file2.js +5 -3
- package/dist/components/eds-input-footer2.js +39 -3
- package/dist/components/eds-input-label2.js +2 -2
- package/dist/components/eds-input-range2.js +15 -5
- package/dist/components/eds-input-search.js +100 -1
- package/dist/components/eds-input-select2.js +6 -2
- package/dist/components/eds-input2.js +4 -2
- package/dist/components/eds-kg-learning-resources.d.ts +11 -0
- package/dist/components/eds-kg-learning-resources.js +217 -0
- package/dist/components/eds-kg-web-services-select2.js +18 -24
- package/dist/components/eds-link2.js +3 -7
- package/dist/components/eds-logo2.js +4 -22
- package/dist/components/eds-matomo-notice2.js +8 -2
- package/dist/components/eds-modal.js +18 -9
- package/dist/components/eds-nps2.js +4 -4
- package/dist/components/eds-pagination2.js +2 -2
- package/dist/components/eds-pie.js +2 -2
- package/dist/components/eds-progress-bar.js +1 -8
- package/dist/components/eds-rating2.js +3 -3
- package/dist/components/eds-search-select.d.ts +11 -0
- package/dist/components/eds-search-select.js +6 -0
- package/dist/components/eds-search-select2.js +382 -0
- package/dist/components/eds-section-core2.js +1 -1
- package/dist/components/eds-section-heading2.js +2 -2
- package/dist/components/eds-sidebar.js +2 -2
- package/dist/components/eds-social-networks2.js +1 -1
- package/dist/components/eds-spinner2.js +1 -1
- package/dist/components/eds-steps-v2.js +41 -11
- package/dist/components/eds-steps2.js +28 -8
- package/dist/components/eds-switch2.js +8 -5
- package/dist/components/eds-table2.js +30 -54
- package/dist/components/eds-tabs.js +50 -19
- package/dist/components/eds-tag2.js +1 -1
- package/dist/components/eds-timeline.js +1 -1
- package/dist/components/eds-toast-manager.js +1 -1
- package/dist/components/eds-toast2.js +39 -3
- package/dist/components/eds-tooltip2.js +1 -1
- package/dist/components/eds-trl-badge.d.ts +11 -0
- package/dist/components/eds-trl-badge.js +207 -0
- package/dist/components/eds-user.js +1 -4
- package/dist/components/incorrect-use-of-colors.js +1 -1
- package/dist/components/logo-space.js +76 -25
- package/dist/components/logo-variations-horizontal2.js +1 -1
- package/dist/components/logo-variations-tabs.js +1 -1
- package/dist/components/logo-variations-vertical2.js +1 -1
- package/dist/components/logo-wrong-usage.js +1 -1
- package/dist/components/p-05e96609.entry.js +1 -0
- package/dist/components/p-0d778d10.entry.js +1 -0
- package/dist/components/{p-d2576747.entry.js → p-114f6d54.entry.js} +1 -1
- package/dist/components/p-1534204d.entry.js +1 -0
- package/dist/components/p-337d4ee3.entry.js +9 -0
- package/dist/components/p-340bc935.entry.js +1 -0
- package/dist/components/{p-a6dc1f88.entry.js → p-37ef07d9.entry.js} +1 -1
- package/dist/components/p-39dbb964.entry.js +1 -0
- package/dist/components/{p-dfe93385.entry.js → p-3f66bc26.entry.js} +1 -1
- package/dist/components/p-43f9e64f.entry.js +1 -0
- package/dist/components/p-46cc6c1a.entry.js +1 -0
- package/dist/components/{p-773bd015.entry.js → p-4b8a7979.entry.js} +1 -1
- package/dist/components/p-6b94b2ec.entry.js +1 -0
- package/dist/components/p-6d965fef.entry.js +1 -0
- package/dist/components/{p-d16b5363.entry.js → p-6e370182.entry.js} +1 -1
- package/dist/components/{p-7b93a385.entry.js → p-6ffe581c.entry.js} +1 -1
- package/dist/components/p-726637b1.entry.js +1 -0
- package/dist/components/{p-a63e14bb.entry.js → p-86ccc09f.entry.js} +1 -1
- package/dist/components/{p-c2fc62f7.entry.js → p-8755a21b.entry.js} +1 -1
- package/dist/components/{p-0d7aee0b.entry.js → p-8ab461e2.entry.js} +1 -1
- package/dist/components/p-8cb162b8.entry.js +1 -0
- package/dist/components/p-8cdbc280.entry.js +1 -0
- package/dist/components/{p-940a2d42.entry.js → p-8e034c4e.entry.js} +1 -1
- package/dist/components/p-9f649fa3.entry.js +1 -0
- package/dist/components/{p-d1b3aa52.entry.js → p-a26dad9b.entry.js} +1 -1
- package/dist/components/p-a2d6a9ca.entry.js +1 -0
- package/dist/components/p-afabe1be.entry.js +1 -0
- package/dist/components/{p-c46675c8.entry.js → p-b1519098.entry.js} +1 -1
- package/dist/components/{p-04e9c2d7.entry.js → p-b1a10842.entry.js} +1 -1
- package/dist/components/{p-7aa4edef.entry.js → p-b4023b45.entry.js} +1 -1
- package/dist/components/p-c53b3563.entry.js +1 -0
- package/dist/components/p-c7d612d1.entry.js +1 -0
- package/dist/components/p-dc9aef22.entry.js +1 -0
- package/dist/components/{p-f364296f.entry.js → p-f66a7cf9.entry.js} +1 -1
- package/dist/components/p-f97f62f2.entry.js +1 -0
- package/dist/components/primary.js +1 -1
- package/dist/components/primary2.js +1 -1
- package/dist/components/secondary.js +1 -1
- package/dist/components/secondary2.js +7 -7
- package/dist/components/support.js +1 -1
- package/dist/components/support2.js +3 -3
- package/dist/components/svg-repository.js +19 -25
- package/dist/components/token-list2.js +1 -1
- package/dist/components/token-radii2.js +1 -1
- package/dist/components/token-ratios.js +1 -1
- package/dist/components/token-shadows2.js +1 -1
- package/dist/components/token-spacing.js +1 -1
- package/dist/components/token-typography.js +8 -2
- package/dist/esm/color-primary-palette_6.entry.js +14 -14
- package/dist/esm/components-section.entry.js +1 -1
- package/dist/esm/components.js +1 -1
- package/dist/esm/correct-use-of-colors.entry.js +1 -1
- package/dist/esm/docs-palettes.entry.js +1 -1
- package/dist/esm/docs-tokens.entry.js +1 -1
- package/dist/esm/{eds-accordion_52.entry.js → eds-accordion_53.entry.js} +1094 -336
- package/dist/esm/eds-app-root.entry.js +1 -1
- package/dist/esm/eds-cookies-preference.entry.js +1 -1
- package/dist/esm/eds-feedback.entry.js +1 -1
- package/dist/esm/eds-frame.entry.js +1 -1
- package/dist/esm/eds-gauge.entry.js +1 -1
- package/dist/esm/eds-gitlab-contributors.entry.js +35 -32
- package/dist/esm/eds-icon-bluesky.entry.js +1 -1
- package/dist/esm/eds-icon-eu.entry.js +1 -1
- package/dist/esm/eds-icon-facebook.entry.js +1 -1
- package/dist/esm/eds-icon-gitlab.entry.js +1 -1
- package/dist/esm/eds-icon-linkedin.entry.js +1 -1
- package/dist/esm/eds-icon-mastodon.entry.js +1 -1
- package/dist/esm/eds-icon-twitter.entry.js +1 -1
- package/dist/esm/eds-icon-youtube.entry.js +1 -1
- package/dist/{components/eds-input-search2.js → esm/eds-input-search.entry.js} +9 -39
- package/dist/esm/eds-modal.entry.js +18 -9
- package/dist/esm/eds-pie.entry.js +2 -2
- package/dist/esm/eds-section-core_2.entry.js +3 -3
- package/dist/esm/eds-timeline.entry.js +1 -1
- package/dist/esm/eds-toast-manager.entry.js +1 -1
- package/dist/esm/eds-trl-badge.entry.js +180 -0
- package/dist/esm/incorrect-use-of-colors.entry.js +1 -1
- package/dist/esm/index-870ab08f.js +10 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/logo-space.entry.js +58 -1
- package/dist/esm/logo-variations-horizontal_2.entry.js +2 -2
- package/dist/esm/logo-variations-tabs.entry.js +1 -1
- package/dist/esm/logo-wrong-usage.entry.js +1 -1
- package/dist/esm/svg-repository.entry.js +1 -1
- package/dist/esm/token-list_3.entry.js +3 -3
- package/dist/esm/token-ratios.entry.js +1 -1
- package/dist/esm/token-spacing.entry.js +1 -1
- package/dist/esm/token-typography.entry.js +8 -2
- package/dist/hydrate/index.js +1616 -397
- package/dist/hydrate/index.mjs +1616 -397
- package/dist/types/components/eds-accordion/eds-accordion.stories.d.ts +4 -8
- package/dist/types/components/eds-alert/eds-alert.stories.d.ts +7 -73
- package/dist/types/components/eds-button/eds-button.d.ts +1 -1
- package/dist/types/components/eds-dropdown/eds-dropdown.d.ts +1 -0
- package/dist/types/components/eds-footer/eds-footer.d.ts +84 -55
- package/dist/types/components/eds-footer/eds-footer.stories.d.ts +62 -1
- package/dist/types/components/eds-form/eds-form.d.ts +66 -0
- package/dist/types/components/eds-form/eds-form.stories.d.ts +63 -0
- package/dist/types/components/eds-header/eds-header.stories.d.ts +6 -6
- package/dist/types/components/eds-icon-wrapper/eds-icon-wrapper.d.ts +8 -0
- package/dist/types/components/eds-img/eds-img.stories.d.ts +6 -20
- package/dist/types/components/eds-input-elements/eds-input/eds-input.d.ts +7 -0
- package/dist/types/components/eds-input-elements/eds-input-search/eds-input-search.stories.d.ts +36 -0
- package/dist/types/components/eds-input-field/eds-input-field.stories.d.ts +97 -38
- package/dist/types/components/eds-link/eds-link.stories.d.ts +9 -6
- package/dist/types/components/eds-logo/eds-logo.d.ts +11 -28
- package/dist/types/components/eds-logo/eds-logo.stories.d.ts +22 -2
- package/dist/types/components/eds-steps/eds-steps.d.ts +7 -0
- package/dist/types/components/eds-steps-v2/eds-steps-v2.d.ts +14 -1
- package/dist/types/components/eds-steps-v2/eds-steps-v2.stories.d.ts +40 -9
- package/dist/types/components/eds-switch/eds-switch.d.ts +6 -2
- package/dist/types/components/eds-switch/eds-switch.stories.d.ts +8 -0
- package/dist/types/components/eds-table/eds-table.d.ts +8 -14
- package/dist/types/components/eds-table/eds-table.stories.d.ts +0 -107
- package/dist/types/components/eds-tabs/eds-tabs.d.ts +10 -0
- package/dist/types/components/eds-toast/eds-toast.d.ts +33 -1
- package/dist/types/components/eds-toast/eds-toast.stories.d.ts +49 -1
- package/dist/types/components/eds-user/eds-user.d.ts +0 -2
- package/dist/types/components/eds-user/eds-user.stories.d.ts +5 -9
- package/dist/types/components.d.ts +715 -144
- package/dist/types/shared-ui/eds-global-search/eds-global-search.d.ts +12 -0
- package/dist/types/shared-ui/eds-kg-learning-resources/eds-kg-learning-resources.d.ts +60 -0
- package/dist/types/shared-ui/eds-search-select/eds-search-select.d.ts +98 -0
- package/dist/types/shared-ui/eds-search-select/eds-search-select.stories.d.ts +81 -0
- package/dist/types/shared-ui/eds-trl-badge/ebrains-mark.d.ts +7 -0
- package/dist/types/shared-ui/eds-trl-badge/eds-trl-badge.d.ts +54 -0
- package/dist/types/shared-ui/eds-trl-badge/eds-trl-badge.stories.d.ts +112 -0
- package/dist/types/utils/eds-form/safeFormat.d.ts +21 -0
- package/package.json +1 -1
- package/dist/components/p-0fe10e6c.entry.js +0 -1
- package/dist/components/p-18e852e1.entry.js +0 -1
- package/dist/components/p-3ccd6948.entry.js +0 -1
- package/dist/components/p-3d3841d6.entry.js +0 -1
- package/dist/components/p-3f38df99.entry.js +0 -1
- package/dist/components/p-527e71d0.entry.js +0 -1
- package/dist/components/p-55047f7f.entry.js +0 -9
- package/dist/components/p-64c23098.entry.js +0 -1
- package/dist/components/p-74b9c9a8.entry.js +0 -1
- package/dist/components/p-878f65a6.entry.js +0 -1
- package/dist/components/p-92f6d9c0.entry.js +0 -1
- package/dist/components/p-9eedf771.entry.js +0 -1
- package/dist/components/p-b4355cec.entry.js +0 -1
- package/dist/components/p-d2f17fac.entry.js +0 -1
- package/dist/components/p-db5eea95.entry.js +0 -1
- package/dist/components/p-e205c269.entry.js +0 -1
- package/dist/components/p-f55dd314.entry.js +0 -1
- package/dist/components/p-f88b5f21.entry.js +0 -1
|
@@ -1,37 +1,123 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* EBRAINS-wide default link columns. Used when a consumer doesn't pass
|
|
4
|
+
* the `columns` prop. URLs are absolute so the same footer renders
|
|
5
|
+
* correctly from any app's domain (handbook.ebrains.eu, forms.ebrains.eu,
|
|
6
|
+
* design.ebrains.eu, …) — the previous eds-docs design used relative
|
|
7
|
+
* paths which only worked from design.ebrains.eu itself.
|
|
6
8
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
* If EBRAINS adds / renames a canonical resource, change it here once
|
|
10
|
+
* and every consumer's footer updates on the next component release.
|
|
11
|
+
*/
|
|
12
|
+
const DEFAULT_COLUMNS = [
|
|
13
|
+
{
|
|
14
|
+
heading: 'Resources',
|
|
15
|
+
links: [
|
|
16
|
+
{ label: 'Documentation', href: 'https://design.ebrains.eu/get-started/', external: true },
|
|
17
|
+
{ label: 'Components', href: 'https://design.ebrains.eu/ui-components/', external: true },
|
|
18
|
+
{ label: 'Foundations', href: 'https://design.ebrains.eu/foundations/', external: true },
|
|
19
|
+
{ label: 'Analytics', href: 'https://design.ebrains.eu/analytics/', external: true }
|
|
20
|
+
]
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
heading: 'Community',
|
|
24
|
+
links: [
|
|
25
|
+
{ label: 'GitLab', href: 'https://gitlab.ebrains.eu/ri/tech-hub/ebrains-ui-ecosystem/', external: true },
|
|
26
|
+
{ label: 'Storybook', href: 'https://storybook.design.ebrains.eu', external: true },
|
|
27
|
+
{
|
|
28
|
+
label: 'Report Issues',
|
|
29
|
+
href: 'https://gitlab.ebrains.eu/ri/tech-hub/ebrains-ui-ecosystem/-/issues',
|
|
30
|
+
external: true
|
|
31
|
+
},
|
|
32
|
+
{ label: 'Contribute', href: 'https://design.ebrains.eu/get-started/contributing/', external: true }
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
heading: 'Legal',
|
|
37
|
+
links: [{ label: 'MIT License' }, { label: 'Cookie Preferences', action: 'cookies' }]
|
|
38
|
+
}
|
|
39
|
+
];
|
|
40
|
+
/**
|
|
41
|
+
* `EdsFooter` is the EBRAINS-wide footer component.
|
|
42
|
+
*
|
|
43
|
+
* Renders a 4-column layout matching the eds-docs landing footer:
|
|
44
|
+
* [ Brand (EU flag + funding text + copyright) | Resources | Community | Legal ]
|
|
45
|
+
*
|
|
46
|
+
* Defaults are designed so a consumer that writes `<eds-footer></eds-footer>`
|
|
47
|
+
* with no props gets the full canonical EBRAINS footer rendered — same
|
|
48
|
+
* brand block, same link columns, same dark theme as the eds-docs
|
|
49
|
+
* landing page. The previous minimal-strip footer is replaced; consumers
|
|
50
|
+
* that need different link content pass the `columns` prop (array or
|
|
51
|
+
* JSON-stringified array for HTML attribute use).
|
|
12
52
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
53
|
+
* Configurability without breakage:
|
|
54
|
+
* - All previous props remain (`social`, `variant`, `fundedBy`,
|
|
55
|
+
* `rightsReserved`, `enableScrollTop`, `enableCookiesSettings`,
|
|
56
|
+
* `cookiesPreferences`, `backToTopAriaLabel`). Their meanings are
|
|
57
|
+
* preserved.
|
|
58
|
+
* - New `columns` prop is optional — omit it for the defaults.
|
|
59
|
+
* - The `enableCookiesSettings` toggle now decides whether any column
|
|
60
|
+
* link with `action: 'cookies'` is rendered (default false; pass
|
|
61
|
+
* true to surface the Cookie Preferences entry in the Legal column).
|
|
15
62
|
*/
|
|
16
63
|
export class EdsFooter {
|
|
17
64
|
constructor() {
|
|
18
|
-
/**
|
|
19
|
-
* Scrolls the page smoothly back to the top.
|
|
20
|
-
* Called when the "Back to top" button is clicked.
|
|
21
|
-
* @private
|
|
22
|
-
*/
|
|
23
65
|
this.backToTop = () => {
|
|
24
66
|
window.scrollTo({ top: 0, behavior: 'smooth' });
|
|
25
67
|
};
|
|
68
|
+
this.emitCookies = () => {
|
|
69
|
+
this.cookies.emit('toggle');
|
|
70
|
+
};
|
|
26
71
|
this.social = false;
|
|
27
|
-
this.variant = '
|
|
72
|
+
this.variant = 'inverse';
|
|
28
73
|
this.enableScrollTop = false;
|
|
29
74
|
this.fundedBy = 'EBRAINS is funded by the Horizon Europe Framework Programme.';
|
|
30
75
|
this.rightsReserved = `${new Date().getFullYear()} EBRAINS. All rights reserved.`;
|
|
31
|
-
this.cookiesPreferences = '
|
|
76
|
+
this.cookiesPreferences = 'Cookie Preferences';
|
|
32
77
|
this.enableCookiesSettings = false;
|
|
33
78
|
this.backToTopAriaLabel = 'Back to Top';
|
|
34
|
-
this.
|
|
79
|
+
this.columns = undefined;
|
|
80
|
+
this.resolvedColumns = DEFAULT_COLUMNS;
|
|
81
|
+
}
|
|
82
|
+
componentWillLoad() {
|
|
83
|
+
this.resolvedColumns = this.parseColumns(this.columns);
|
|
84
|
+
}
|
|
85
|
+
onColumnsChange(value) {
|
|
86
|
+
this.resolvedColumns = this.parseColumns(value);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Resolve the `columns` prop to a usable array.
|
|
90
|
+
* - undefined / null → defaults
|
|
91
|
+
* - JSON-parseable str → parsed array
|
|
92
|
+
* - already an array → used as-is
|
|
93
|
+
* - anything else (malformed JSON, wrong shape) → defaults + console warning
|
|
94
|
+
*
|
|
95
|
+
* Defensive parsing so a typo in a Hugo template's attribute doesn't
|
|
96
|
+
* render an empty footer in production. Failure logs a warning but
|
|
97
|
+
* keeps the footer working with sensible defaults.
|
|
98
|
+
*/
|
|
99
|
+
parseColumns(value) {
|
|
100
|
+
if (value === undefined || value === null || value === '') {
|
|
101
|
+
return DEFAULT_COLUMNS;
|
|
102
|
+
}
|
|
103
|
+
if (Array.isArray(value)) {
|
|
104
|
+
return value;
|
|
105
|
+
}
|
|
106
|
+
if (typeof value === 'string') {
|
|
107
|
+
try {
|
|
108
|
+
const parsed = JSON.parse(value);
|
|
109
|
+
if (Array.isArray(parsed)) {
|
|
110
|
+
return parsed;
|
|
111
|
+
}
|
|
112
|
+
console.warn('eds-footer: `columns` JSON parsed but is not an array; using defaults');
|
|
113
|
+
return DEFAULT_COLUMNS;
|
|
114
|
+
}
|
|
115
|
+
catch (e) {
|
|
116
|
+
console.warn('eds-footer: failed to parse `columns` JSON, using defaults', e);
|
|
117
|
+
return DEFAULT_COLUMNS;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return DEFAULT_COLUMNS;
|
|
35
121
|
}
|
|
36
122
|
componentDidLoad() {
|
|
37
123
|
var _a;
|
|
@@ -50,24 +136,35 @@ export class EdsFooter {
|
|
|
50
136
|
btn.setAttribute('tabindex', shouldShow ? '0' : '-1');
|
|
51
137
|
}
|
|
52
138
|
}
|
|
53
|
-
toggleCookiesConsent() {
|
|
54
|
-
this.cookies.emit('toggle');
|
|
55
|
-
}
|
|
56
139
|
/**
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
140
|
+
* Render one link inside a column.
|
|
141
|
+
* - `action: 'cookies'` → button-like anchor that fires the cookies event
|
|
142
|
+
* - `href` present → real anchor (target=_blank when `external`)
|
|
143
|
+
* - neither → plain text span (e.g. "MIT License")
|
|
60
144
|
*/
|
|
145
|
+
renderLink(link, index) {
|
|
146
|
+
if (link.action === 'cookies') {
|
|
147
|
+
if (!this.enableCookiesSettings) {
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
return (h("li", { key: `cookies-${index}` }, h("a", { href: "javascript:void(0)", class: "footer-link", onClick: this.emitCookies, role: "button" }, this.cookiesPreferences || link.label)));
|
|
151
|
+
}
|
|
152
|
+
if (link.href) {
|
|
153
|
+
const external = link.external === true;
|
|
154
|
+
return (h("li", { key: `${link.label}-${index}` }, h("a", Object.assign({ class: "footer-link", href: link.href }, (external ? { target: '_blank', rel: 'noopener noreferrer' } : {})), link.label)));
|
|
155
|
+
}
|
|
156
|
+
return (h("li", { key: `text-${index}` }, h("span", { class: "footer-text-item" }, link.label)));
|
|
157
|
+
}
|
|
61
158
|
render() {
|
|
62
159
|
const year = new Date().getFullYear();
|
|
63
160
|
const rights = this.rightsReserved || `${year} EBRAINS. All rights reserved.`;
|
|
64
161
|
const isInverse = this.variant === 'inverse';
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
162
|
+
// Class hooks driven by variant — the CSS file styles each
|
|
163
|
+
// selector independently rather than relying on prop-based
|
|
164
|
+
// inline styles, so theme tokens stay overridable from outside
|
|
165
|
+
// via the host's CSS custom properties.
|
|
166
|
+
const rootClasses = ['eds-footer-root', isInverse ? 'theme-inverse' : 'theme-default'].join(' ');
|
|
167
|
+
return (h("footer", { key: 'e7d7584fcd2dcfd2e4e469c5e9e2621f010036fe', class: rootClasses }, this.social ? (h("div", { class: "footer-social" }, h("div", { class: "footer-container" }, h("eds-social-networks", { variant: this.variant })))) : null, h("div", { key: '4233c2f5665ff8fd49f1949ef450b87149f1d9ba', class: "footer-container" }, h("div", { key: '6a90c75dc5a099727e58fb21c706e7d310c2e58f', class: "footer-grid" }, h("div", { key: '450704c6200bf603a296c383872eecdf4ef94fd9', class: "footer-brand" }, h("div", { key: '380ba7f532a8f94627e206e33480be697861dc57', class: "footer-brand-row" }, h("a", { key: '2cbc262b8630d7106b1ff4c9b9e97f7421df05bd', 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" }, h("svg", { key: 'a1374ae892acdd10d5294e3197e9b37e8adb7b38', class: "footer-flag-svg", width: "63", height: "50", viewBox: "0 0 640 480", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '11b83b7931271e829803de01822a6618e66c8b17', d: "M0 0h640v480H0V0z", fill: "#039" }), h("path", { key: '2e5b724042df62f59964709ec2e6954767690805', 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" }))), h("p", { key: '20e15f10baf1ddf47bc35e4d339a8efaf4b4bb49', class: "footer-funded" }, this.fundedBy)), h("p", { key: '126e04d4a993422b5554fb87dfb9b388e8d2a4af', class: "footer-copyright" }, "\u00A9 ", rights)), this.resolvedColumns.map((col, ci) => (h("div", { class: "footer-column", key: `col-${ci}` }, h("h4", { class: "footer-column-heading" }, col.heading), h("ul", { class: "footer-column-list" }, (col.links || []).map((link, li) => this.renderLink(link, li)))))))), this.enableScrollTop ? (h("div", { id: "toTop", class: "footer-back-to-top" }, h("eds-button", { id: "backToTop", "aria-label": this.backToTopAriaLabel, intent: isInverse ? 'ghostInverse' : 'ghost', size: "large", icon: "chevron-up", onClick: this.backToTop, tabindex: "-1" }))) : null));
|
|
71
168
|
}
|
|
72
169
|
static get is() { return "eds-footer"; }
|
|
73
170
|
static get encapsulation() { return "shadow"; }
|
|
@@ -94,11 +191,8 @@ export class EdsFooter {
|
|
|
94
191
|
"required": false,
|
|
95
192
|
"optional": false,
|
|
96
193
|
"docs": {
|
|
97
|
-
"tags": [
|
|
98
|
-
|
|
99
|
-
"text": "{boolean}"
|
|
100
|
-
}],
|
|
101
|
-
"text": "Determines if the social network section should be displayed.\nAdds top padding when true."
|
|
194
|
+
"tags": [],
|
|
195
|
+
"text": "Show the eds-social-networks section above the main grid."
|
|
102
196
|
},
|
|
103
197
|
"attribute": "social",
|
|
104
198
|
"reflect": false,
|
|
@@ -115,15 +209,12 @@ export class EdsFooter {
|
|
|
115
209
|
"required": false,
|
|
116
210
|
"optional": false,
|
|
117
211
|
"docs": {
|
|
118
|
-
"tags": [
|
|
119
|
-
|
|
120
|
-
"text": "{'default' | 'inverse'}"
|
|
121
|
-
}],
|
|
122
|
-
"text": "Controls the visual variant of the footer.\n- 'default': Light background with dark text\n- 'inverse': Dark/black background with white text"
|
|
212
|
+
"tags": [],
|
|
213
|
+
"text": "Theme variant. Defaults to `inverse` (dark) because the canonical\nEBRAINS footer design uses a dark backdrop with light text. Pass\n`variant=\"default\"` for the light-on-light treatment if an app's\npage palette demands it."
|
|
123
214
|
},
|
|
124
215
|
"attribute": "variant",
|
|
125
|
-
"reflect":
|
|
126
|
-
"defaultValue": "'
|
|
216
|
+
"reflect": true,
|
|
217
|
+
"defaultValue": "'inverse'"
|
|
127
218
|
},
|
|
128
219
|
"enableScrollTop": {
|
|
129
220
|
"type": "boolean",
|
|
@@ -136,11 +227,8 @@ export class EdsFooter {
|
|
|
136
227
|
"required": false,
|
|
137
228
|
"optional": false,
|
|
138
229
|
"docs": {
|
|
139
|
-
"tags": [
|
|
140
|
-
|
|
141
|
-
"text": "{boolean}"
|
|
142
|
-
}],
|
|
143
|
-
"text": "Controls the display of the \"Back to Top\" button.\nWhen true, the button appears in the footer."
|
|
230
|
+
"tags": [],
|
|
231
|
+
"text": "Float a \"Back to top\" button at the top-right of the footer."
|
|
144
232
|
},
|
|
145
233
|
"attribute": "enable-scroll-top",
|
|
146
234
|
"reflect": false,
|
|
@@ -157,11 +245,8 @@ export class EdsFooter {
|
|
|
157
245
|
"required": false,
|
|
158
246
|
"optional": false,
|
|
159
247
|
"docs": {
|
|
160
|
-
"tags": [
|
|
161
|
-
|
|
162
|
-
"text": "{string}"
|
|
163
|
-
}],
|
|
164
|
-
"text": "Controls the display of the \"Founded By\" text."
|
|
248
|
+
"tags": [],
|
|
249
|
+
"text": "\"EBRAINS is funded by\u2026\" line shown next to the EU flag in the brand column."
|
|
165
250
|
},
|
|
166
251
|
"attribute": "funded-by",
|
|
167
252
|
"reflect": false,
|
|
@@ -178,11 +263,8 @@ export class EdsFooter {
|
|
|
178
263
|
"required": false,
|
|
179
264
|
"optional": false,
|
|
180
265
|
"docs": {
|
|
181
|
-
"tags": [
|
|
182
|
-
|
|
183
|
-
"text": "{string}"
|
|
184
|
-
}],
|
|
185
|
-
"text": "Controls the display of the \"Rights Reserved\" text."
|
|
266
|
+
"tags": [],
|
|
267
|
+
"text": "\"\u00A9 {year} EBRAINS. All rights reserved.\" line shown below the funding text."
|
|
186
268
|
},
|
|
187
269
|
"attribute": "rights-reserved",
|
|
188
270
|
"reflect": false,
|
|
@@ -199,15 +281,12 @@ export class EdsFooter {
|
|
|
199
281
|
"required": false,
|
|
200
282
|
"optional": false,
|
|
201
283
|
"docs": {
|
|
202
|
-
"tags": [
|
|
203
|
-
|
|
204
|
-
"text": "{string}"
|
|
205
|
-
}],
|
|
206
|
-
"text": "Controls the display of the \"Cookies preferences\" text."
|
|
284
|
+
"tags": [],
|
|
285
|
+
"text": "Label used for any link with `action: 'cookies'` \u2014 overrides the column's `label`."
|
|
207
286
|
},
|
|
208
287
|
"attribute": "cookies-preferences",
|
|
209
288
|
"reflect": false,
|
|
210
|
-
"defaultValue": "'
|
|
289
|
+
"defaultValue": "'Cookie Preferences'"
|
|
211
290
|
},
|
|
212
291
|
"enableCookiesSettings": {
|
|
213
292
|
"type": "boolean",
|
|
@@ -220,11 +299,8 @@ export class EdsFooter {
|
|
|
220
299
|
"required": false,
|
|
221
300
|
"optional": false,
|
|
222
301
|
"docs": {
|
|
223
|
-
"tags": [
|
|
224
|
-
|
|
225
|
-
"text": "{string}"
|
|
226
|
-
}],
|
|
227
|
-
"text": "Controls the display of the \"Cookies preferences\" link."
|
|
302
|
+
"tags": [],
|
|
303
|
+
"text": "When false, any column link with `action: 'cookies'` is hidden.\nDefault false so adding the footer to a page without a Matomo\nnotice / cookie banner doesn't surface a non-functional link.\nSet true once you've also mounted `<eds-matomo-notice>` on the page."
|
|
228
304
|
},
|
|
229
305
|
"attribute": "enable-cookies-settings",
|
|
230
306
|
"reflect": false,
|
|
@@ -241,21 +317,41 @@ export class EdsFooter {
|
|
|
241
317
|
"required": false,
|
|
242
318
|
"optional": false,
|
|
243
319
|
"docs": {
|
|
244
|
-
"tags": [
|
|
245
|
-
|
|
246
|
-
"text": "{string}"
|
|
247
|
-
}],
|
|
248
|
-
"text": "Controls the display of the \"Back to Top\" aria label text."
|
|
320
|
+
"tags": [],
|
|
321
|
+
"text": "ARIA label for the \"Back to top\" floating button."
|
|
249
322
|
},
|
|
250
323
|
"attribute": "back-to-top-aria-label",
|
|
251
324
|
"reflect": false,
|
|
252
325
|
"defaultValue": "'Back to Top'"
|
|
326
|
+
},
|
|
327
|
+
"columns": {
|
|
328
|
+
"type": "string",
|
|
329
|
+
"mutable": false,
|
|
330
|
+
"complexType": {
|
|
331
|
+
"original": "EdsFooterColumn[] | string",
|
|
332
|
+
"resolved": "EdsFooterColumn[] | string",
|
|
333
|
+
"references": {
|
|
334
|
+
"EdsFooterColumn": {
|
|
335
|
+
"location": "local",
|
|
336
|
+
"path": "/Users/nikolaosgeorgomanolis/Documents/EBRAINS/Projects/ebrains-ui-ecosystem/packages/components/src/components/eds-footer/eds-footer.tsx",
|
|
337
|
+
"id": "../../../packages/components/src/components/eds-footer/eds-footer.tsx::EdsFooterColumn"
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
},
|
|
341
|
+
"required": false,
|
|
342
|
+
"optional": true,
|
|
343
|
+
"docs": {
|
|
344
|
+
"tags": [],
|
|
345
|
+
"text": "Custom link columns. Accepts an array (Vue/React/JS bindings) OR\na JSON-stringified array (HTML attribute use). When omitted, the\ncanonical EBRAINS-wide columns above are used.\n\nShape: see EdsFooterColumn / EdsFooterLink at the top of this file."
|
|
346
|
+
},
|
|
347
|
+
"attribute": "columns",
|
|
348
|
+
"reflect": false
|
|
253
349
|
}
|
|
254
350
|
};
|
|
255
351
|
}
|
|
256
352
|
static get states() {
|
|
257
353
|
return {
|
|
258
|
-
"
|
|
354
|
+
"resolvedColumns": {}
|
|
259
355
|
};
|
|
260
356
|
}
|
|
261
357
|
static get events() {
|
|
@@ -277,6 +373,12 @@ export class EdsFooter {
|
|
|
277
373
|
}];
|
|
278
374
|
}
|
|
279
375
|
static get elementRef() { return "el"; }
|
|
376
|
+
static get watchers() {
|
|
377
|
+
return [{
|
|
378
|
+
"propName": "columns",
|
|
379
|
+
"methodName": "onColumnsChange"
|
|
380
|
+
}];
|
|
381
|
+
}
|
|
280
382
|
static get listeners() {
|
|
281
383
|
return [{
|
|
282
384
|
"name": "scroll",
|
|
@@ -1,57 +1,122 @@
|
|
|
1
|
+
// Sensible sample for the `columns` control — used as the default
|
|
2
|
+
// value of the CustomColumns story so the JSON editor in Storybook
|
|
3
|
+
// opens with something realistic to mutate rather than `null`. The
|
|
4
|
+
// canonical EBRAINS defaults baked into the component differ from
|
|
5
|
+
// this on purpose: leaving the control empty (null) demonstrates the
|
|
6
|
+
// "no overrides" path; this sample demonstrates the override path.
|
|
7
|
+
const SAMPLE_COLUMNS = [
|
|
8
|
+
{
|
|
9
|
+
heading: 'Product',
|
|
10
|
+
links: [
|
|
11
|
+
{ label: 'Home', href: '/' },
|
|
12
|
+
{ label: 'Pricing', href: '/pricing' },
|
|
13
|
+
{ label: 'Docs', href: '/docs' }
|
|
14
|
+
]
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
heading: 'Company',
|
|
18
|
+
links: [
|
|
19
|
+
{ label: 'About', href: '/about' },
|
|
20
|
+
{ label: 'Blog', href: 'https://example.com/blog', external: true },
|
|
21
|
+
{ label: 'Careers', href: '/careers' }
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
heading: 'Legal',
|
|
26
|
+
links: [
|
|
27
|
+
{ label: 'Privacy', href: '/privacy' },
|
|
28
|
+
{ label: 'Terms', href: '/terms' },
|
|
29
|
+
{ label: 'Cookie Preferences', action: 'cookies' }
|
|
30
|
+
]
|
|
31
|
+
}
|
|
32
|
+
];
|
|
1
33
|
export default {
|
|
2
34
|
title: 'Components/Footer',
|
|
3
35
|
component: 'eds-footer',
|
|
4
36
|
argTypes: {
|
|
37
|
+
variant: {
|
|
38
|
+
control: 'select',
|
|
39
|
+
options: ['default', 'inverse'],
|
|
40
|
+
description: 'Theme. Default is `inverse` (dark) — the canonical EBRAINS footer.'
|
|
41
|
+
},
|
|
5
42
|
social: {
|
|
6
43
|
control: 'boolean',
|
|
7
|
-
description: '
|
|
44
|
+
description: 'Show the social-networks section above the main grid'
|
|
8
45
|
},
|
|
9
46
|
fundedBy: {
|
|
10
47
|
control: 'text',
|
|
11
|
-
description: '
|
|
48
|
+
description: 'Text shown next to the EU flag in the brand column'
|
|
12
49
|
},
|
|
13
50
|
rightsReserved: {
|
|
14
51
|
control: 'text',
|
|
15
|
-
description: '
|
|
52
|
+
description: 'Text shown after the © symbol below the funding line'
|
|
16
53
|
},
|
|
17
54
|
enableScrollTop: {
|
|
18
55
|
control: 'boolean',
|
|
19
|
-
description: '
|
|
56
|
+
description: 'Float a "Back to top" button at the top-right of the footer'
|
|
20
57
|
},
|
|
21
58
|
enableCookiesSettings: {
|
|
22
59
|
control: 'boolean',
|
|
23
|
-
description: '
|
|
60
|
+
description: 'Render the "Cookie Preferences" entry (column links with action="cookies")'
|
|
24
61
|
},
|
|
25
62
|
cookiesPreferences: {
|
|
26
63
|
control: 'text',
|
|
27
|
-
description: '
|
|
64
|
+
description: 'Label used for the cookies-action link'
|
|
28
65
|
},
|
|
29
66
|
backToTopAriaLabel: {
|
|
30
67
|
control: 'text',
|
|
31
|
-
description: '
|
|
68
|
+
description: 'ARIA label for the floating back-to-top button'
|
|
69
|
+
},
|
|
70
|
+
columns: {
|
|
71
|
+
// `object` opens a live JSON editor in the Storybook controls
|
|
72
|
+
// panel — visitors can edit headings, links, hrefs, action,
|
|
73
|
+
// external flag etc. and see the footer re-render. Each story
|
|
74
|
+
// sets its own default (null for the canonical-defaults path,
|
|
75
|
+
// SAMPLE_COLUMNS for the override demo).
|
|
76
|
+
control: 'object',
|
|
77
|
+
description: 'Custom link columns. Array of `{ heading, links: [{ label, href?, external?, action? }] }`. Leave null to use the canonical EBRAINS defaults baked into the component.'
|
|
32
78
|
}
|
|
33
79
|
},
|
|
34
80
|
args: {
|
|
81
|
+
variant: 'inverse',
|
|
35
82
|
social: false,
|
|
36
83
|
fundedBy: 'EBRAINS is funded by the Horizon Europe Framework Programme.',
|
|
37
|
-
rightsReserved:
|
|
84
|
+
rightsReserved: `${new Date().getFullYear()} EBRAINS. All rights reserved.`,
|
|
38
85
|
enableScrollTop: false,
|
|
39
86
|
enableCookiesSettings: false,
|
|
40
|
-
cookiesPreferences: '
|
|
41
|
-
backToTopAriaLabel: 'Back to Top'
|
|
42
|
-
|
|
43
|
-
|
|
87
|
+
cookiesPreferences: 'Cookie Preferences',
|
|
88
|
+
backToTopAriaLabel: 'Back to Top',
|
|
89
|
+
columns: null
|
|
90
|
+
}
|
|
44
91
|
};
|
|
92
|
+
// Helper — JSON-stringify the columns array and escape single quotes so
|
|
93
|
+
// the resulting HTML attribute (wrapped in single quotes for readability)
|
|
94
|
+
// stays valid even if a link label or href contains one. Shared by every
|
|
95
|
+
// render function below.
|
|
96
|
+
function columnsAttr(columns) {
|
|
97
|
+
if (columns == null) {
|
|
98
|
+
return '';
|
|
99
|
+
}
|
|
100
|
+
const json = JSON.stringify(columns).replace(/'/g, ''');
|
|
101
|
+
return `columns='${json}'`;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Default — what a consumer gets from `<eds-footer></eds-footer>`
|
|
105
|
+
* with no overrides. Dark theme, EBRAINS canonical link columns,
|
|
106
|
+
* EU funding ack + copyright.
|
|
107
|
+
*
|
|
108
|
+
* Leave `columns` null in the controls panel to see the canonical
|
|
109
|
+
* defaults baked into the component; set it to a JSON array (use the
|
|
110
|
+
* object editor) to live-preview an override.
|
|
111
|
+
*/
|
|
45
112
|
export const Default = {
|
|
46
113
|
render: (args) => {
|
|
47
|
-
const notice = args.enableCookiesSettings
|
|
48
|
-
? `
|
|
49
|
-
<eds-matomo-notice></eds-matomo-notice>`
|
|
50
|
-
: '';
|
|
114
|
+
const notice = args.enableCookiesSettings ? `<eds-matomo-notice></eds-matomo-notice>` : '';
|
|
51
115
|
return `
|
|
52
|
-
<eds-alert message="When cookies consent is enabled, please include <code>eds-matomo-notice</code> in your page"></eds-alert>
|
|
116
|
+
<eds-alert message="When cookies consent is enabled, please include <code>eds-matomo-notice</code> in your page" class="mb-16"></eds-alert>
|
|
53
117
|
${notice}
|
|
54
118
|
<eds-footer
|
|
119
|
+
variant="${args.variant}"
|
|
55
120
|
social="${args.social}"
|
|
56
121
|
funded-by="${args.fundedBy}"
|
|
57
122
|
rights-reserved="${args.rightsReserved}"
|
|
@@ -59,7 +124,34 @@ export const Default = {
|
|
|
59
124
|
enable-cookies-settings="${args.enableCookiesSettings}"
|
|
60
125
|
cookies-preferences="${args.cookiesPreferences}"
|
|
61
126
|
back-to-top-aria-label="${args.backToTopAriaLabel}"
|
|
127
|
+
${columnsAttr(args.columns)}
|
|
62
128
|
></eds-footer>
|
|
63
129
|
`;
|
|
64
130
|
}
|
|
65
131
|
};
|
|
132
|
+
/**
|
|
133
|
+
* Custom link columns — pre-fills the `columns` control with a
|
|
134
|
+
* sensible non-EBRAINS example so the Storybook JSON editor opens
|
|
135
|
+
* with something realistic to mutate. Edit headings, links, hrefs,
|
|
136
|
+
* `external`, and `action` directly in the Controls panel to see
|
|
137
|
+
* the footer re-render.
|
|
138
|
+
*
|
|
139
|
+
* Shape: `[{ heading, links: [{ label, href?, external?, action? }] }]`
|
|
140
|
+
* - `href` present → renders as an anchor (target=_blank if `external`)
|
|
141
|
+
* - `href` absent → renders as plain text (e.g. "MIT License")
|
|
142
|
+
* - `action: 'cookies'` → fires the `cookies` event (gated by
|
|
143
|
+
* enable-cookies-settings)
|
|
144
|
+
*/
|
|
145
|
+
export const CustomColumns = {
|
|
146
|
+
args: {
|
|
147
|
+
enableCookiesSettings: true,
|
|
148
|
+
columns: SAMPLE_COLUMNS
|
|
149
|
+
},
|
|
150
|
+
render: (args) => `
|
|
151
|
+
<eds-footer
|
|
152
|
+
variant="${args.variant}"
|
|
153
|
+
enable-cookies-settings="${args.enableCookiesSettings}"
|
|
154
|
+
${columnsAttr(args.columns)}
|
|
155
|
+
></eds-footer>
|
|
156
|
+
`
|
|
157
|
+
};
|