@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.
- 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} +847 -207
- 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 +9 -2
- 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-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 +181 -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 +1 -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 +1 -1
- 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 +1 -1
- package/dist/collection/components/eds-accordion/eds-accordion.stories.js +7 -19
- 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 +13 -6
- 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-cta/eds-card-cta.css +10 -1
- package/dist/collection/components/eds-cards/eds-card-cta/eds-card-cta.js +1 -1
- package/dist/collection/components/eds-cards/eds-card-feature/eds-card-feature.js +1 -1
- package/dist/collection/components/eds-cards/eds-card-generic/eds-card-generic.js +1 -1
- package/dist/collection/components/eds-cards/eds-card-hero/eds-card-hero.js +1 -1
- package/dist/collection/components/eds-cards/eds-card-stat/eds-card-stat.js +1 -1
- package/dist/collection/components/eds-charts/eds-gauge/eds-gauge.js +1 -1
- 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 +173 -76
- package/dist/collection/components/eds-footer/eds-footer.stories.js +108 -15
- package/dist/collection/components/eds-form/eds-form.css +37 -1
- package/dist/collection/components/eds-form/eds-form.js +45 -7
- 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 +1 -1
- 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 +29 -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.js +1 -1
- package/dist/collection/components/eds-input-elements/eds-input-range/eds-input-range.js +1 -1
- 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 +2 -2
- package/dist/collection/components/eds-input-field/eds-input-field.js +11 -5
- package/dist/collection/components/eds-input-field/eds-input-field.stories.js +82 -130
- package/dist/collection/components/eds-input-file/eds-input-file.js +1 -1
- package/dist/collection/components/eds-link/eds-link.js +1 -1
- package/dist/collection/components/eds-link/eds-link.stories.js +13 -8
- package/dist/collection/components/eds-logo/eds-logo.js +1 -1
- package/dist/collection/components/eds-modal/eds-modal.stories.js +9 -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-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-v2/eds-steps-v2.js +1 -1
- package/dist/collection/components/eds-table/eds-table.css +21 -4
- package/dist/collection/components/eds-table/eds-table.js +17 -50
- package/dist/collection/components/eds-table/eds-table.stories.js +5 -109
- package/dist/collection/components/eds-tabs/eds-tabs.css +7 -1
- package/dist/collection/components/eds-tabs/eds-tabs.js +47 -9
- 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-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 +1 -1
- package/dist/collection/components/eds-user/eds-user.js +1 -1
- 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 +1 -1
- 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 +1 -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 +8 -1
- 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 +62 -6
- 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 +257 -0
- 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-search-select/eds-search-select.css +203 -0
- package/dist/collection/shared-ui/eds-search-select/eds-search-select.js +685 -0
- package/dist/collection/shared-ui/eds-search-select/eds-search-select.stories.js +85 -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 +321 -0
- package/dist/collection/shared-ui/eds-trl-badge/eds-trl-badge.stories.js +96 -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 +39 -0
- package/dist/components/components-section.js +1 -1
- package/dist/components/components.css +3 -4
- 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 +2 -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 +12 -5
- package/dist/components/eds-card-cta.js +2 -2
- package/dist/components/eds-card-desc2.js +1 -1
- package/dist/components/eds-card-feature.js +1 -1
- package/dist/components/eds-card-generic2.js +1 -1
- package/dist/components/eds-card-hero.js +1 -1
- package/dist/components/eds-card-stat.js +1 -1
- package/dist/components/eds-code-block2.js +1 -1
- 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 +115 -26
- package/dist/components/eds-form.js +61 -23
- package/dist/components/eds-frame.js +1 -1
- package/dist/components/eds-gauge.js +1 -1
- package/dist/components/eds-gitlab-contributors.js +9 -2
- package/dist/components/eds-global-search.js +48 -69
- 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 +1 -1
- package/dist/components/eds-input-field2.js +25 -25
- package/dist/components/eds-input-file2.js +1 -1
- package/dist/components/eds-input-footer2.js +43 -3
- package/dist/components/eds-input-label2.js +1 -1
- package/dist/components/eds-input-range2.js +1 -1
- package/dist/components/eds-input-search.js +100 -1
- package/dist/components/eds-input-select2.js +2 -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 +221 -0
- package/dist/components/eds-kg-web-services-select2.js +16 -22
- package/dist/components/eds-link2.js +1 -1
- package/dist/components/eds-logo2.js +1 -1
- package/dist/components/eds-matomo-notice2.js +8 -2
- package/dist/components/eds-nps2.js +4 -4
- package/dist/components/eds-pagination2.js +2 -2
- 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 +361 -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 +1 -1
- package/dist/components/eds-table2.js +31 -53
- package/dist/components/eds-tabs.js +48 -10
- 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-tooltip2.js +1 -1
- package/dist/components/eds-trl-badge.d.ts +11 -0
- package/dist/components/eds-trl-badge.js +204 -0
- package/dist/components/eds-user.js +1 -1
- package/dist/components/incorrect-use-of-colors.js +1 -1
- package/dist/components/logo-space.js +19 -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-00ba405d.entry.js +1 -0
- package/dist/components/p-03342030.entry.js +1 -0
- package/dist/components/{p-0fe10e6c.entry.js → p-0e2bac0f.entry.js} +1 -1
- package/dist/components/{p-7aa4edef.entry.js → p-12acc48d.entry.js} +1 -1
- package/dist/components/p-18399fe1.entry.js +1 -0
- package/dist/components/p-1e6f0572.entry.js +1 -0
- package/dist/components/{p-c46675c8.entry.js → p-1fbcc480.entry.js} +1 -1
- package/dist/components/{p-dfe93385.entry.js → p-25729ade.entry.js} +1 -1
- package/dist/components/p-27e093c3.entry.js +1 -0
- package/dist/components/{p-a6dc1f88.entry.js → p-37ef07d9.entry.js} +1 -1
- package/dist/components/{p-74b9c9a8.entry.js → p-3d1bb2fe.entry.js} +1 -1
- package/dist/components/{p-940a2d42.entry.js → p-42791331.entry.js} +1 -1
- package/dist/components/p-5ff4b1d0.entry.js +1 -0
- package/dist/components/{p-d16b5363.entry.js → p-62580004.entry.js} +1 -1
- package/dist/components/{p-d2576747.entry.js → p-62f53e7a.entry.js} +1 -1
- package/dist/components/p-6be1730a.entry.js +1 -0
- package/dist/components/p-786ff09b.entry.js +1 -0
- package/dist/components/p-80a32e20.entry.js +1 -0
- package/dist/components/p-85476a6f.entry.js +9 -0
- package/dist/components/{p-a63e14bb.entry.js → p-8a483358.entry.js} +1 -1
- package/dist/components/{p-04e9c2d7.entry.js → p-b1a10842.entry.js} +1 -1
- package/dist/components/p-bdcb71e1.entry.js +1 -0
- package/dist/components/p-c2127276.entry.js +1 -0
- package/dist/components/p-c3ee9163.entry.js +1 -0
- package/dist/components/{p-f55dd314.entry.js → p-c4cfbf98.entry.js} +1 -1
- package/dist/components/p-c65082fe.entry.js +1 -0
- package/dist/components/p-cc096938.entry.js +1 -0
- package/dist/components/p-d59d6fda.entry.js +1 -0
- package/dist/components/p-e027bc90.entry.js +1 -0
- package/dist/components/{p-f364296f.entry.js → p-e339d0b5.entry.js} +1 -1
- package/dist/components/{p-0d7aee0b.entry.js → p-e4df206e.entry.js} +1 -1
- package/dist/components/{p-c2fc62f7.entry.js → p-e71a4f29.entry.js} +1 -1
- package/dist/components/{p-773bd015.entry.js → p-e9e6ec19.entry.js} +1 -1
- package/dist/components/p-f4d2f882.entry.js +1 -0
- package/dist/components/{p-d1b3aa52.entry.js → p-f9a9fa34.entry.js} +1 -1
- 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 +1 -1
- 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} +846 -207
- 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 +9 -2
- 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-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 +177 -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 +1 -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 +1 -1
- package/dist/hydrate/index.js +1222 -207
- package/dist/hydrate/index.mjs +1222 -207
- 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 +10 -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-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.d.ts +507 -86
- 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-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-7b93a385.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-f88b5f21.entry.js +0 -1
|
@@ -28,6 +28,15 @@
|
|
|
28
28
|
transform: scale(1.2);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
+
/* Non-color cue so "filled" reads instantly (not just light-green vs neon):
|
|
32
|
+
selected stars scale up. Keeps eds-button untouched. */
|
|
33
|
+
.eds-rating__btn {
|
|
34
|
+
transition: transform 0.15s ease-in-out;
|
|
35
|
+
}
|
|
36
|
+
.eds-rating__btn.is-selected {
|
|
37
|
+
transform: scale(1.05);
|
|
38
|
+
}
|
|
39
|
+
|
|
31
40
|
.flex {
|
|
32
41
|
display: flex;
|
|
33
42
|
}
|
|
@@ -73,12 +73,12 @@ export class EdsRating {
|
|
|
73
73
|
this.onSelect(next);
|
|
74
74
|
}
|
|
75
75
|
render() {
|
|
76
|
-
return (h("div", { key: '
|
|
76
|
+
return (h("div", { key: '01857f12c63fbe53b95152902ddba594aa736f6f', id: "rating-buttons", role: "group", "aria-labelledby": "rating", class: "stars flex space-x-1 my-8", onKeyDown: (e) => this.handleKeyNav(e) }, Array.from({ length: this.ratingCount }, (_, index) => {
|
|
77
77
|
const starRating = index + 1;
|
|
78
78
|
const isSelected = starRating <= this.internalRating;
|
|
79
79
|
// Use the mapping text if available; otherwise, fall back to a generic label.
|
|
80
80
|
const checked = this.internalRating === starRating;
|
|
81
|
-
return (h("eds-button", { ref: (el) => (this.buttonRefs[index] = el), icon: this.ratingType, "aria-label": `${starRating} ${this.ratingType}${starRating > 1 ? 's' : ''}`, onClick: () => this.onSelect(starRating), tabIndex: checked || (this.internalRating === 0 && index === 0) ? 0 : -1, intent: isSelected ? 'brand' : '
|
|
81
|
+
return (h("eds-button", { ref: (el) => (this.buttonRefs[index] = el), icon: this.ratingType, "aria-label": `${starRating} ${this.ratingType}${starRating > 1 ? 's' : ''}`, onClick: () => this.onSelect(starRating), tabIndex: checked || (this.internalRating === 0 && index === 0) ? 0 : -1, intent: isSelected ? 'brand' : 'brandLight', class: isSelected ? 'eds-rating__btn is-selected' : 'eds-rating__btn', size: "large" }));
|
|
82
82
|
})));
|
|
83
83
|
}
|
|
84
84
|
static get is() { return "eds-rating"; }
|
|
@@ -20,7 +20,7 @@ export class EdsSectionCore {
|
|
|
20
20
|
}
|
|
21
21
|
render() {
|
|
22
22
|
const TagType = this.tag; // Set dynamic tag type (div or section)
|
|
23
|
-
return (h(TagType, { key: '
|
|
23
|
+
return (h(TagType, { key: '635230d1ec9a0dcc945990a6a58dc3508345d984' }, h("eds-section-heading", { key: '0b6b94df22af707cbd6964132f3a5190b4b7e83c', headingLevel: this.headingLevel, sectionTitle: this.sectionTitle }), h("slot", { key: '8834c29c25249fb5c384fb5d51866eadb93a97d6' })));
|
|
24
24
|
}
|
|
25
25
|
static get is() { return "eds-section-core"; }
|
|
26
26
|
static get encapsulation() { return "shadow"; }
|
|
@@ -36,12 +36,12 @@ export class EdsSectionHeading {
|
|
|
36
36
|
render() {
|
|
37
37
|
const TagType = this.tag; // Dynamically set tag type for the container
|
|
38
38
|
const HeadingTag = this.headingLevel; // Dynamically set heading level
|
|
39
|
-
return (h(TagType, { key: '
|
|
39
|
+
return (h(TagType, { key: '7275284a1158ab982f1e53117b72738d0a001c97', class: {
|
|
40
40
|
'ui-section-header flex flex-wrap items-center justify-between gap-x-12 gap-y-8': true,
|
|
41
41
|
container: this.withContainer,
|
|
42
42
|
'pt-48': this.spacingLarge,
|
|
43
43
|
'pt-28': !this.spacingLarge
|
|
44
|
-
} }, h(HeadingTag, { key: '
|
|
44
|
+
} }, h(HeadingTag, { key: 'a3c68baa56a0337348405c88544225ed7c7ff0ed', class: this.getHeadingClass() }, this.sectionTitle)));
|
|
45
45
|
}
|
|
46
46
|
static get is() { return "eds-section-heading"; }
|
|
47
47
|
static get properties() {
|
|
@@ -145,10 +145,10 @@ export class EdsSidebar {
|
|
|
145
145
|
} }, hasChildren && (h("span", { class: "sidebar-toggle -ml-4", "aria-hidden": "true" }, h("eds-icon-wrapper", { name: isOpen ? 'chevron-down' : 'chevron-right' }))), h("span", { class: "sidebar-link-wrapper" }, h("eds-link", { label: item.title, url: item.url || '#', intent: isActive ? 'strong' : 'weak', size: "small", "aria-label": item.title, "extra-class": "sidebar-link", tabindex: "-1" }))), hasChildren && isOpen && (h("ul", { id: childrenId, class: "sidebar-children" }, item.children.map((child) => this.renderItem(child, level + 1))))));
|
|
146
146
|
}
|
|
147
147
|
render() {
|
|
148
|
-
return (h(Host, { key: '
|
|
148
|
+
return (h(Host, { key: 'f5221c19e8148ca62a76fb470a4aa6786c3e41b5', class: {
|
|
149
149
|
'eds-sidebar': true,
|
|
150
150
|
[`theme-${this.theme}`]: true
|
|
151
|
-
} }, h("nav", { key: '
|
|
151
|
+
} }, h("nav", { key: '0a975a10a3892f6eabaf2a1c2be21963f0e76549', class: "sidebar-nav", "aria-label": "Sidebar" }, h("ul", { key: '498436fa1f4ec7ff2f3feea843fe58b415d20a3f', class: "sidebar-list" }, this.parsedItems.map((item) => this.renderItem(item, 0))))));
|
|
152
152
|
}
|
|
153
153
|
static get is() { return "eds-sidebar"; }
|
|
154
154
|
static get encapsulation() { return "shadow"; }
|
|
@@ -55,7 +55,7 @@ export class EdsSocialNetworks {
|
|
|
55
55
|
const isInverse = this.variant === 'inverse';
|
|
56
56
|
const textClass = isInverse ? 'text-inverse' : '';
|
|
57
57
|
const linkIntent = isInverse ? 'inverse' : 'strong';
|
|
58
|
-
return (h("nav", { key: '
|
|
58
|
+
return (h("nav", { key: '924bdf5a32b65cd0968ad92461cb8203f3305fce', "aria-label": "Social media" }, h("p", { key: 'f406d71ed2d7ff9048e5db05f5ad62566081aa45', class: `f-ui-02 ${textClass}` }, this.heading), h("ul", { key: '40d000bc78780d7ec3c0c9bf2e10ec0a26f3b72e', class: "mt-12 flex gap-4" }, this.socialNetworks.map((network, index) => (h("li", { key: index }, h("eds-link", { external: true, "aria-label": `EBRAINS on ${network.label}`, url: network.url, icon: network.icon, intent: linkIntent })))))));
|
|
59
59
|
}
|
|
60
60
|
static get is() { return "eds-social-networks"; }
|
|
61
61
|
static get encapsulation() { return "shadow"; }
|
|
@@ -71,7 +71,7 @@ export class EdsSpinner {
|
|
|
71
71
|
alignItems: 'center',
|
|
72
72
|
justifyContent: 'center'
|
|
73
73
|
};
|
|
74
|
-
return (h(Host, { key: '
|
|
74
|
+
return (h(Host, { key: 'c09fa07856848a03aab44bbb56ecdd66a986bb40' }, h("div", { key: '544c653e9e0457d2063eaefc5ff1fe88de89f14e', class: "spinner-overlay", style: overlayStyle }, h("span", { key: 'e389aa572863a265c9aa68d587ad744f1c8db0a7', class: "spinner", style: spinnerStyle }), this.message && h("p", { key: '5e554fe1b870e673c5b3da3ec2a227e92dd9863d', class: "f-ui-01" }, this.message))));
|
|
75
75
|
}
|
|
76
76
|
static get is() { return "eds-spinner"; }
|
|
77
77
|
static get encapsulation() { return "shadow"; }
|
|
@@ -204,7 +204,7 @@ export class EdsStepsV2 {
|
|
|
204
204
|
const steps = this.parsedSteps;
|
|
205
205
|
const marginClass = this.orientation === 'horizontal' ? 'mt-64' : 'mt-32';
|
|
206
206
|
const themeClass = this.theme === 'brand' ? 'theme-brand' : 'theme-default';
|
|
207
|
-
return (h("div", { key: '
|
|
207
|
+
return (h("div", { key: 'e1d78d18506adb662bbcc100f6f886e33c21a996', class: this.articleClasses() }, this.imageSrc ? (h("div", { class: "w-full mb-12 rounded-t-lg overflow-hidden border-2" }, h("eds-img", { src: this.imageSrc, width: this.imageWidth, "with-bg": "true", "lazy-load": "true", alt: "Step illustration" }))) : (this.message && (h("div", { class: `w-full ${this.theme === 'brand' ? 'bg-strongest' : 'bg-darker'} rounded-t-lg border-2` }, h("div", { class: "p-24" }, h("span", { class: `${this.theme === 'brand' ? 'text-accent' : 'text-inverse'} f-heading-04` }, this.message))))), h("div", { key: '5b69e2c641d96025b34377fc647679f94d0e4e44', class: "mt-16 pb-20 px-8" }, this.type === 'linear' && this.orientation === 'horizontal' ? (h("div", { class: `steps--horizontal ${themeClass}`, style: { '--step-count': steps.length.toString() } }, h("div", { class: "horizontal-indicators" }, steps.map((step, index) => this.renderHorizontalIndicator(step, index))), steps.map((step, index) => {
|
|
208
208
|
const isLast = index === steps.length - 1;
|
|
209
209
|
if (this.activeStep !== index) {
|
|
210
210
|
return null;
|
|
@@ -12,12 +12,15 @@ table {
|
|
|
12
12
|
/* 3 */
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
/*
|
|
15
|
+
/* DISABLED — only the brand theme is used now (theme is coerced to 'brand'
|
|
16
|
+
in eds-table.tsx). Kept for reference.
|
|
17
|
+
|
|
18
|
+
Default theme - no alternating colors
|
|
16
19
|
tr.table-row-default {
|
|
17
20
|
background-color: transparent;
|
|
18
21
|
}
|
|
19
22
|
|
|
20
|
-
|
|
23
|
+
Color theme - alternating rows
|
|
21
24
|
tr.table-row-color:nth-child(even) {
|
|
22
25
|
background-color:var(--grey-light);
|
|
23
26
|
}
|
|
@@ -25,6 +28,7 @@ tr.table-row-color:nth-child(even) {
|
|
|
25
28
|
tr.table-row-color:nth-child(odd) {
|
|
26
29
|
background-color: transparent;
|
|
27
30
|
}
|
|
31
|
+
*/
|
|
28
32
|
|
|
29
33
|
/* ============================================
|
|
30
34
|
BRAND THEME STYLES
|
|
@@ -81,11 +85,14 @@ tr.table-row-color:nth-child(odd) {
|
|
|
81
85
|
.brand-row {
|
|
82
86
|
border-bottom: 1px solid var(--grey-light) !important;
|
|
83
87
|
transition: all 0.3s ease;
|
|
84
|
-
cursor: pointer;
|
|
85
88
|
position: relative;
|
|
86
89
|
background: transparent !important;
|
|
87
90
|
}
|
|
88
91
|
|
|
92
|
+
.brand-row.has-actions {
|
|
93
|
+
cursor: pointer;
|
|
94
|
+
}
|
|
95
|
+
|
|
89
96
|
.brand-row:hover {
|
|
90
97
|
background: rgba(0, 255, 157, 0.05) !important;
|
|
91
98
|
}
|
|
@@ -332,10 +339,20 @@ tr.table-row-color:nth-child(odd) {
|
|
|
332
339
|
word-wrap: break-word;
|
|
333
340
|
}
|
|
334
341
|
|
|
342
|
+
/* Emphasize the primary (first) field — the service name/title — a bit
|
|
343
|
+
larger than the other card values. */
|
|
344
|
+
.card-field:first-child .card-value {
|
|
345
|
+
font-size: var(--f-ui-01-fontSize);
|
|
346
|
+
line-height: var(--f-ui-01-lineHeight);
|
|
347
|
+
}
|
|
348
|
+
|
|
335
349
|
.card-actions {
|
|
336
350
|
display: flex;
|
|
351
|
+
flex-direction: row; /* actions in a horizontal row... */
|
|
352
|
+
flex-wrap: wrap; /* ...wrapping to the next line on narrow cards / many actions */
|
|
353
|
+
align-items: center;
|
|
354
|
+
justify-content: center; /* centered row, reads cleanly at any width */
|
|
337
355
|
gap: 0.5rem;
|
|
338
|
-
justify-content: flex-end;
|
|
339
356
|
padding-top: 0.75rem;
|
|
340
357
|
border-top: 1px solid var(--grey-light);
|
|
341
358
|
}
|
|
@@ -113,11 +113,10 @@ export class EdsTable {
|
|
|
113
113
|
this.paginationEnabled = true;
|
|
114
114
|
this.searchEnabled = false;
|
|
115
115
|
this.hostWidth = undefined;
|
|
116
|
-
this.columnSize = 'default';
|
|
117
116
|
this.actions = [];
|
|
118
117
|
this.actionTemplate = undefined;
|
|
119
118
|
this.sortingEnabled = false;
|
|
120
|
-
this.theme = '
|
|
119
|
+
this.theme = 'brand';
|
|
121
120
|
this.view = 'table';
|
|
122
121
|
this.showViewToggle = false;
|
|
123
122
|
this.parsedActions = [];
|
|
@@ -149,6 +148,8 @@ export class EdsTable {
|
|
|
149
148
|
}
|
|
150
149
|
}
|
|
151
150
|
componentWillLoad() {
|
|
151
|
+
// 'default' / 'color' themes are disabled — always render the brand theme.
|
|
152
|
+
this.theme = 'brand';
|
|
152
153
|
this.parseConfig();
|
|
153
154
|
this.handleActionsChange();
|
|
154
155
|
this.parseData();
|
|
@@ -284,19 +285,6 @@ export class EdsTable {
|
|
|
284
285
|
this.columns.push('actions');
|
|
285
286
|
}
|
|
286
287
|
}
|
|
287
|
-
getVisibleColumnsCount() {
|
|
288
|
-
return this.columns.filter((column) => { var _a; return !((_a = this.parsedConfig[column]) === null || _a === void 0 ? void 0 : _a.hidden); }).length;
|
|
289
|
-
}
|
|
290
|
-
divisionFactor() {
|
|
291
|
-
let divisionFactor = 1;
|
|
292
|
-
if (this.columnSize === 'medium') {
|
|
293
|
-
divisionFactor = 2;
|
|
294
|
-
}
|
|
295
|
-
else if (this.columnSize === 'large') {
|
|
296
|
-
divisionFactor = 4;
|
|
297
|
-
}
|
|
298
|
-
return divisionFactor;
|
|
299
|
-
}
|
|
300
288
|
capitalize(str) {
|
|
301
289
|
return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();
|
|
302
290
|
}
|
|
@@ -331,24 +319,23 @@ export class EdsTable {
|
|
|
331
319
|
const dataColumns = this.columns.filter((col) => { var _a; return col !== 'actions' && !((_a = this.parsedConfig[col]) === null || _a === void 0 ? void 0 : _a.hidden); });
|
|
332
320
|
return (h("div", { class: "card-grid" }, rows.map((row) => (h("div", { class: "data-card" }, h("div", { class: "card-content" }, dataColumns.map((col) => (h("div", { class: "card-field" }, h("span", { class: "card-label" }, this.capitalize(col)), h("span", { class: "card-value" }, this.renderCell(row[col], col)))))), this.parsedActions.length > 0 && (h("div", { class: "card-actions" }, this.parsedActions.map((act) => (h("span", null, this.renderSingleActionCell(act.name, row)))))))))));
|
|
333
321
|
}
|
|
334
|
-
renderTableView(paginatedRows
|
|
335
|
-
const columnWidth = visibleColumnsCount > 0 ? Math.floor((currentContainerWidth / visibleColumnsCount) * this.divisionFactor()) : 100;
|
|
322
|
+
renderTableView(paginatedRows) {
|
|
336
323
|
return (h("div", { class: `mt-20 ${this.theme === 'brand' ? 'brand-table-wrapper' : ''}` }, h("table", { class: `${this.theme === 'brand' ? '' : 'block overflow-x-auto'} mt-6 p-0 ${this.theme === 'brand' ? 'brand-table' : ''}` }, h("thead", { class: this.theme === 'brand' ? 'brand-thead' : '' }, h("tr", { class: `m-0 p-0 border border-softer table-row-${this.theme} ${this.theme === 'brand' ? 'brand-header-row' : ''}` }, this.columns
|
|
337
324
|
.filter((col) => { var _a; return col === 'actions' || !((_a = this.parsedConfig[col]) === null || _a === void 0 ? void 0 : _a.hidden); })
|
|
338
325
|
.map((col) => {
|
|
339
326
|
if (col === 'actions') {
|
|
340
|
-
return (h("th", { class: "m-0 py-8 border border-softer f-ui-02 break-words"
|
|
327
|
+
return (h("th", { class: "m-0 py-8 border border-softer f-ui-02 break-words" }));
|
|
341
328
|
}
|
|
342
|
-
return (h("th", { class: "m-0 py-8 border border-softer f-ui-02 break-words"
|
|
329
|
+
return (h("th", { class: "m-0 py-8 border border-softer f-ui-02 break-words" }, h("div", { style: { display: 'flex', alignItems: 'center', justifyContent: 'center', gap: '0.25rem' } }, h("span", null, this.capitalize(col)), this.sortingEnabled && (h("eds-icon-wrapper", { name: this.sortColumn === col
|
|
343
330
|
? this.sortDirection === 'asc'
|
|
344
331
|
? 'chevron-up'
|
|
345
332
|
: 'chevron-down'
|
|
346
333
|
: 'chevron-down', "aria-label": `Sort by ${col}`, onClick: () => this.handleSort(col), style: { cursor: 'pointer' } })))));
|
|
347
|
-
}))), h("tbody", null, paginatedRows.map((row) => (h("tr", { class: `m-0 p-0 border border-softer table-row-${this.theme} ${this.theme === 'brand' ? 'brand-row' : ''}` }, this.columns
|
|
334
|
+
}))), h("tbody", null, paginatedRows.map((row) => (h("tr", { class: `m-0 p-0 border border-softer table-row-${this.theme} ${this.theme === 'brand' ? 'brand-row' : ''} ${this.parsedActions.length > 0 ? 'has-actions' : ''}` }, this.columns
|
|
348
335
|
.filter((col) => { var _a; return col === 'actions' || !((_a = this.parsedConfig[col]) === null || _a === void 0 ? void 0 : _a.hidden); })
|
|
349
336
|
.map((col) => {
|
|
350
337
|
if (col === 'actions') {
|
|
351
|
-
return (h("td", { class: "text-center border border-softer m-0 f-ui-01 break-words actions-cell"
|
|
338
|
+
return (h("td", { class: "text-center border border-softer m-0 f-ui-01 break-words actions-cell" }, h("div", { role: "toolbar", "aria-label": "Row actions", onKeyDown: this.onActionKeyDown, style: {
|
|
352
339
|
display: 'flex',
|
|
353
340
|
gap: '0.5rem',
|
|
354
341
|
justifyContent: 'center',
|
|
@@ -356,18 +343,16 @@ export class EdsTable {
|
|
|
356
343
|
} }, this.parsedActions.map((act) => (h("span", { style: { whiteSpace: 'nowrap' } }, this.renderSingleActionCell(act.name, row)))))));
|
|
357
344
|
}
|
|
358
345
|
// Regular data cell
|
|
359
|
-
return (h("td", { class: "text-center border border-softer m-0 py-8 f-ui-02 break-words"
|
|
346
|
+
return (h("td", { class: "text-center border border-softer m-0 py-8 f-ui-02 break-words" }, this.renderCell(row[col], col)));
|
|
360
347
|
}))))))));
|
|
361
348
|
}
|
|
362
349
|
render() {
|
|
363
|
-
const currentContainerWidth = this.hostWidth && this.hostWidth.trim() !== '' ? Number(this.hostWidth) : this.containerWidth || 400;
|
|
364
|
-
const visibleColumnsCount = this.getVisibleColumnsCount();
|
|
365
350
|
const paginatedRows = this.getPaginatedRows();
|
|
366
351
|
const lastPage = Math.ceil(this.totalRows / this.rowsPerPage);
|
|
367
352
|
const showControls = this.showViewToggle || this.searchEnabled;
|
|
368
|
-
return (h("div", { key: '
|
|
353
|
+
return (h("div", { key: '1e8a2f5f19df240ee3a57951641b60b947342fad' }, showControls && (h("div", { key: '778fe091226330448bba089189e9dd6a6aa977a9', class: "controls-container flex-col flex-md-row items-start items-md-center justify-between gap-16 mb-16" }, this.showViewToggle && (h("div", { key: '7ef287464bb2fba846be5341f4bb0e71d982be0e', class: "view-toggle-wrapper" }, h("eds-switch", { key: '2d3a494a5b354a14c8e882a153633bd5e85a40ab', variant: "segmented", labelOff: "Table View", labelOn: "Card View", checked: this.view === 'card', onUiswitch: this.handleViewChange }))), this.searchEnabled && (h("div", { key: 'dfcf6d0bdc23cb10481121881a7656b02a0599c1', class: `search-wrapper w-full ${this.showViewToggle ? 'w-md-400' : ''}` }, h("eds-input-field", { key: 1, icon: "search", name: "search", "aria-label": "Search", type: "text", placeholder: "Search...", onInput: (event) => this.handleSearch(event) }))))), this.view === 'card'
|
|
369
354
|
? this.renderCardView(paginatedRows)
|
|
370
|
-
: this.renderTableView(paginatedRows
|
|
355
|
+
: this.renderTableView(paginatedRows), this.shouldEnablePagination() && (h("div", { key: '3f7faafdd6147855cb8812ff6303c335c7fd1f35', class: "mt-20" }, h("eds-pagination", { key: '17705ba01a8ca8cc79bacfce34e55f11ce53d70c', currentPage: this.currentPage, lastPage: lastPage, perPage: this.rowsPerPage, total: this.totalRows, mode: "default" })))));
|
|
371
356
|
}
|
|
372
357
|
static get is() { return "eds-table"; }
|
|
373
358
|
static get encapsulation() { return "shadow"; }
|
|
@@ -406,7 +391,7 @@ export class EdsTable {
|
|
|
406
391
|
"mutable": false,
|
|
407
392
|
"complexType": {
|
|
408
393
|
"original": "| string\n | {\n [key: string]: {\n hidden?: boolean;\n format?: 'uppercase' | 'bold' | 'code' | 'html' | 'svg';\n };\n }",
|
|
409
|
-
"resolved": "string | { [key: string]: { hidden?: boolean; format?: \"code\" | \"
|
|
394
|
+
"resolved": "string | { [key: string]: { hidden?: boolean; format?: \"code\" | \"html\" | \"svg\" | \"bold\" | \"uppercase\"; }; }",
|
|
410
395
|
"references": {}
|
|
411
396
|
},
|
|
412
397
|
"required": false,
|
|
@@ -490,24 +475,6 @@ export class EdsTable {
|
|
|
490
475
|
"attribute": "host-width",
|
|
491
476
|
"reflect": false
|
|
492
477
|
},
|
|
493
|
-
"columnSize": {
|
|
494
|
-
"type": "string",
|
|
495
|
-
"mutable": false,
|
|
496
|
-
"complexType": {
|
|
497
|
-
"original": "'default' | 'medium' | 'large'",
|
|
498
|
-
"resolved": "\"default\" | \"large\" | \"medium\"",
|
|
499
|
-
"references": {}
|
|
500
|
-
},
|
|
501
|
-
"required": false,
|
|
502
|
-
"optional": true,
|
|
503
|
-
"docs": {
|
|
504
|
-
"tags": [],
|
|
505
|
-
"text": "Optional property to control the column sizing mode.\n- 'default' uses containerWidth / visibleColumns.\n- 'medium' divides that result by 2.\n- 'large' divides that result by 4."
|
|
506
|
-
},
|
|
507
|
-
"attribute": "column-size",
|
|
508
|
-
"reflect": false,
|
|
509
|
-
"defaultValue": "'default'"
|
|
510
|
-
},
|
|
511
478
|
"actions": {
|
|
512
479
|
"type": "string",
|
|
513
480
|
"mutable": false,
|
|
@@ -573,21 +540,21 @@ export class EdsTable {
|
|
|
573
540
|
},
|
|
574
541
|
"theme": {
|
|
575
542
|
"type": "string",
|
|
576
|
-
"mutable":
|
|
543
|
+
"mutable": true,
|
|
577
544
|
"complexType": {
|
|
578
|
-
"original": "'
|
|
579
|
-
"resolved": "\"brand\"
|
|
545
|
+
"original": "'brand'",
|
|
546
|
+
"resolved": "\"brand\"",
|
|
580
547
|
"references": {}
|
|
581
548
|
},
|
|
582
549
|
"required": false,
|
|
583
550
|
"optional": false,
|
|
584
551
|
"docs": {
|
|
585
552
|
"tags": [],
|
|
586
|
-
"text": "Theme for table styling
|
|
553
|
+
"text": "Theme for table styling.\n\nThe 'default' (no background) and 'color' (alternating rows) themes are\nDISABLED \u2014 the table now always renders the EBRAINS 'brand' theme (modern\nstyling, hover, green accents). The prop is kept for API compatibility but\nis coerced to 'brand' in componentWillLoad(), so any value a consumer\npasses is ignored."
|
|
587
554
|
},
|
|
588
555
|
"attribute": "theme",
|
|
589
556
|
"reflect": false,
|
|
590
|
-
"defaultValue": "'
|
|
557
|
+
"defaultValue": "'brand'"
|
|
591
558
|
},
|
|
592
559
|
"view": {
|
|
593
560
|
"type": "string",
|
|
@@ -26,16 +26,6 @@ export default {
|
|
|
26
26
|
control: { type: 'boolean' },
|
|
27
27
|
description: 'Enable column sorting'
|
|
28
28
|
},
|
|
29
|
-
columnSize: {
|
|
30
|
-
control: 'select',
|
|
31
|
-
options: ['default', 'medium', 'large'],
|
|
32
|
-
description: 'Column sizing mode'
|
|
33
|
-
},
|
|
34
|
-
theme: {
|
|
35
|
-
control: 'select',
|
|
36
|
-
options: ['default', 'color', 'brand'],
|
|
37
|
-
description: 'Table theme: default (no bg), color (alternating rows), brand (modern with hover/accents)'
|
|
38
|
-
},
|
|
39
29
|
view: {
|
|
40
30
|
control: 'select',
|
|
41
31
|
options: ['table', 'card'],
|
|
@@ -65,8 +55,6 @@ export default {
|
|
|
65
55
|
paginationEnabled: true,
|
|
66
56
|
searchEnabled: true,
|
|
67
57
|
sortingEnabled: false,
|
|
68
|
-
columnSize: 'default',
|
|
69
|
-
theme: 'color',
|
|
70
58
|
view: 'table',
|
|
71
59
|
showViewToggle: false,
|
|
72
60
|
actions: [
|
|
@@ -87,6 +75,8 @@ const sampleData = [
|
|
|
87
75
|
{ name: 'Ian', age: 27, occupation: 'Developer' },
|
|
88
76
|
{ name: 'Jackie', age: 33, occupation: 'Consultant' }
|
|
89
77
|
];
|
|
78
|
+
// Single story — the EBRAINS brand theme (the only supported theme), with
|
|
79
|
+
// pagination, search, sorting, row actions and the table/card view toggle.
|
|
90
80
|
export const Default = {
|
|
91
81
|
render: (args) => `
|
|
92
82
|
<eds-table
|
|
@@ -96,38 +86,9 @@ export const Default = {
|
|
|
96
86
|
pagination-enabled="${args.paginationEnabled}"
|
|
97
87
|
search-enabled="${args.searchEnabled}"
|
|
98
88
|
sorting-enabled="${args.sortingEnabled}"
|
|
99
|
-
|
|
100
|
-
theme="${args.theme}"
|
|
89
|
+
theme="brand"
|
|
101
90
|
view="${args.view}"
|
|
102
91
|
show-view-toggle="${args.showViewToggle}"
|
|
103
|
-
></eds-table>
|
|
104
|
-
`,
|
|
105
|
-
args: {
|
|
106
|
-
data: sampleData,
|
|
107
|
-
config: {
|
|
108
|
-
name: { format: 'bold' },
|
|
109
|
-
occupation: { format: 'uppercase' }
|
|
110
|
-
},
|
|
111
|
-
rowsPerPage: 5,
|
|
112
|
-
paginationEnabled: true,
|
|
113
|
-
searchEnabled: true,
|
|
114
|
-
sortingEnabled: false,
|
|
115
|
-
columnSize: 'default',
|
|
116
|
-
theme: 'color',
|
|
117
|
-
view: 'table',
|
|
118
|
-
showViewToggle: false
|
|
119
|
-
}
|
|
120
|
-
};
|
|
121
|
-
export const BrandTheme = {
|
|
122
|
-
render: (args) => `
|
|
123
|
-
<eds-table
|
|
124
|
-
table-data='${JSON.stringify(args.data)}'
|
|
125
|
-
config='${JSON.stringify(args.config)}'
|
|
126
|
-
rows-per-page="${args.rowsPerPage}"
|
|
127
|
-
pagination-enabled="${args.paginationEnabled}"
|
|
128
|
-
search-enabled="${args.searchEnabled}"
|
|
129
|
-
sorting-enabled="${args.sortingEnabled}"
|
|
130
|
-
theme="brand"
|
|
131
92
|
actions='${JSON.stringify(args.actions)}'
|
|
132
93
|
></eds-table>
|
|
133
94
|
`,
|
|
@@ -141,75 +102,10 @@ export const BrandTheme = {
|
|
|
141
102
|
paginationEnabled: true,
|
|
142
103
|
searchEnabled: true,
|
|
143
104
|
sortingEnabled: true,
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
]
|
|
147
|
-
}
|
|
148
|
-
};
|
|
149
|
-
export const DefaultTheme = {
|
|
150
|
-
render: (args) => `
|
|
151
|
-
<eds-table
|
|
152
|
-
table-data='${JSON.stringify(args.data)}'
|
|
153
|
-
config='${JSON.stringify(args.config)}'
|
|
154
|
-
rows-per-page="${args.rowsPerPage}"
|
|
155
|
-
theme="default"
|
|
156
|
-
></eds-table>
|
|
157
|
-
`,
|
|
158
|
-
args: {
|
|
159
|
-
data: sampleData,
|
|
160
|
-
config: {
|
|
161
|
-
name: { format: 'bold' }
|
|
162
|
-
},
|
|
163
|
-
rowsPerPage: 10
|
|
164
|
-
}
|
|
165
|
-
};
|
|
166
|
-
export const CardView = {
|
|
167
|
-
render: (args) => `
|
|
168
|
-
<eds-table
|
|
169
|
-
table-data='${JSON.stringify(args.data)}'
|
|
170
|
-
config='${JSON.stringify(args.config)}'
|
|
171
|
-
rows-per-page="${args.rowsPerPage}"
|
|
172
|
-
view="card"
|
|
173
|
-
show-view-toggle="true"
|
|
174
|
-
theme="${args.theme}"
|
|
175
|
-
actions='${JSON.stringify(args.actions)}'
|
|
176
|
-
></eds-table>
|
|
177
|
-
`,
|
|
178
|
-
args: {
|
|
179
|
-
data: sampleData,
|
|
180
|
-
config: {
|
|
181
|
-
name: { format: 'bold' }
|
|
182
|
-
},
|
|
183
|
-
rowsPerPage: 6,
|
|
184
|
-
theme: 'brand',
|
|
105
|
+
view: 'table',
|
|
106
|
+
showViewToggle: true,
|
|
185
107
|
actions: [
|
|
186
108
|
{ name: 'view', label: 'View', showLabel: true, intent: 'brand' }
|
|
187
109
|
]
|
|
188
110
|
}
|
|
189
111
|
};
|
|
190
|
-
export const WithViewToggle = {
|
|
191
|
-
render: (args) => `
|
|
192
|
-
<eds-table
|
|
193
|
-
table-data='${JSON.stringify(args.data)}'
|
|
194
|
-
config='${JSON.stringify(args.config)}'
|
|
195
|
-
rows-per-page="${args.rowsPerPage}"
|
|
196
|
-
search-enabled="true"
|
|
197
|
-
show-view-toggle="true"
|
|
198
|
-
sorting-enabled="true"
|
|
199
|
-
theme="brand"
|
|
200
|
-
actions='${JSON.stringify(args.actions)}'
|
|
201
|
-
></eds-table>
|
|
202
|
-
`,
|
|
203
|
-
args: {
|
|
204
|
-
data: sampleData,
|
|
205
|
-
config: {
|
|
206
|
-
name: { format: 'bold' },
|
|
207
|
-
occupation: { format: 'uppercase' }
|
|
208
|
-
},
|
|
209
|
-
rowsPerPage: 5,
|
|
210
|
-
actions: [
|
|
211
|
-
{ name: 'view', label: 'View', icon: 'view', intent: 'brand' },
|
|
212
|
-
{ name: 'delete', label: 'Delete', type: 'checkbox' }
|
|
213
|
-
]
|
|
214
|
-
}
|
|
215
|
-
};
|
|
@@ -36,7 +36,13 @@
|
|
|
36
36
|
border-radius: 8px;
|
|
37
37
|
font-size: 1.125rem;
|
|
38
38
|
cursor: pointer;
|
|
39
|
-
|
|
39
|
+
/* Transition ONLY color (hover effect). Background must not
|
|
40
|
+
animate — the active-state move is a decisive UI change that
|
|
41
|
+
has to land in the same frame as the focus outline; an
|
|
42
|
+
animated background can read as "ahead of" the outline during
|
|
43
|
+
rapid keyboard navigation. Outline is left unanimated for the
|
|
44
|
+
same reason. */
|
|
45
|
+
transition: color 0.15s ease;
|
|
40
46
|
border: none;
|
|
41
47
|
background: transparent;
|
|
42
48
|
font-family: 'IBM Plex Sans', sans-serif;
|
|
@@ -35,14 +35,28 @@ export class EdsTabs {
|
|
|
35
35
|
}
|
|
36
36
|
/**
|
|
37
37
|
* Parses the `tabs` prop into an array of tab objects.
|
|
38
|
+
*
|
|
39
|
+
* Note: we deliberately do NOT clear `tabRefs` here. Consumers
|
|
40
|
+
* often re-pass `tabs` with an updated `active` flag every time
|
|
41
|
+
* the user switches tabs (Vue/React re-render on event). Wiping
|
|
42
|
+
* the refs leaves a window in which a queued focus() call sees
|
|
43
|
+
* `tabRefs[index] === undefined` and silently no-ops — focus
|
|
44
|
+
* gets stuck on the previous tab even though `aria-selected` and
|
|
45
|
+
* the background already moved. Stencil re-binds refs on render,
|
|
46
|
+
* so the array stays in sync without us emptying it; we only
|
|
47
|
+
* truncate when the new list is shorter to drop stale entries.
|
|
38
48
|
*/
|
|
39
49
|
parseTabs() {
|
|
40
50
|
this.parsedTabs = parseData(this.tabs);
|
|
41
|
-
this.tabRefs
|
|
51
|
+
if (this.tabRefs.length > this.parsedTabs.length) {
|
|
52
|
+
this.tabRefs.length = this.parsedTabs.length;
|
|
53
|
+
}
|
|
42
54
|
}
|
|
43
55
|
componentDidUpdate() {
|
|
44
|
-
|
|
45
|
-
|
|
56
|
+
// Same reasoning as parseTabs: only shrink, never re-allocate
|
|
57
|
+
// to nulls — that would re-introduce the silent-no-op window.
|
|
58
|
+
if (this.tabRefs.length > this.parsedTabs.length) {
|
|
59
|
+
this.tabRefs.length = this.parsedTabs.length;
|
|
46
60
|
}
|
|
47
61
|
}
|
|
48
62
|
setActiveIndex() {
|
|
@@ -53,6 +67,7 @@ export class EdsTabs {
|
|
|
53
67
|
}
|
|
54
68
|
}
|
|
55
69
|
handleTabClick(index, tabLabel, shouldFocus = true) {
|
|
70
|
+
var _a;
|
|
56
71
|
if (index < 0 || index >= this.parsedTabs.length) {
|
|
57
72
|
return;
|
|
58
73
|
}
|
|
@@ -67,11 +82,34 @@ export class EdsTabs {
|
|
|
67
82
|
action: 'click'
|
|
68
83
|
});
|
|
69
84
|
}
|
|
70
|
-
if (shouldFocus
|
|
71
|
-
|
|
85
|
+
if (shouldFocus) {
|
|
86
|
+
// Focus must move SYNCHRONOUSLY, while the keydown event
|
|
87
|
+
// that triggered this call is still on the stack. Otherwise
|
|
88
|
+
// the browser's `:focus-visible` heuristic doesn't flag the
|
|
89
|
+
// focus move as keyboard-driven and the outline never paints
|
|
90
|
+
// — accessibility regression (WCAG 2.4.7).
|
|
91
|
+
//
|
|
92
|
+
// We query by static id (`#tab-${index}`) instead of using
|
|
93
|
+
// `tabRefs[index]` because consumer-driven prop changes can
|
|
94
|
+
// briefly drop the cached ref. The button id is set in
|
|
95
|
+
// `render()` and doesn't depend on active state, so it is
|
|
96
|
+
// always findable.
|
|
97
|
+
const findBtn = () => { var _a; return ((_a = this.el.shadowRoot) !== null && _a !== void 0 ? _a : this.el).querySelector(`#tab-${index}`); };
|
|
98
|
+
(_a = findBtn()) === null || _a === void 0 ? void 0 : _a.focus();
|
|
99
|
+
// Belt-and-suspenders: if a consumer reacts to the `tab`
|
|
100
|
+
// event by re-rendering our buttons (rare, but possible
|
|
101
|
+
// when the `tabs` prop is recomputed), the sync focus above
|
|
102
|
+
// landed on a button that is now detached. Re-focus once
|
|
103
|
+
// the next frame's DOM is in place. We only act if focus
|
|
104
|
+
// genuinely isn't on the right element, to avoid a redundant
|
|
105
|
+
// focus call that would reset selection/IME state.
|
|
106
|
+
requestAnimationFrame(() => {
|
|
72
107
|
var _a;
|
|
73
|
-
|
|
74
|
-
|
|
108
|
+
const after = findBtn();
|
|
109
|
+
if (after && ((_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement) !== after) {
|
|
110
|
+
after.focus();
|
|
111
|
+
}
|
|
112
|
+
});
|
|
75
113
|
}
|
|
76
114
|
}
|
|
77
115
|
onKeyDown(ev, idx) {
|
|
@@ -105,7 +143,7 @@ export class EdsTabs {
|
|
|
105
143
|
'tabs-container',
|
|
106
144
|
`tabs-container-${this.variant}`
|
|
107
145
|
].join(' ');
|
|
108
|
-
return (h("div", { key: '
|
|
146
|
+
return (h("div", { key: '646f43031cde2e0ab84d2830fd9477841b3c757b', id: `${this.identifier}` }, h("div", { key: '2eb01c96640c6fc602777f227525066e5970489e', class: containerClasses }, h("nav", { key: 'b419fc7414574ea70b19433a3c5daa63b5ad6652', role: "tablist", class: "tabs-nav", "aria-label": this.navAriaLabel }, this.parsedTabs.map((tab, index) => {
|
|
109
147
|
const isActive = index === this.activeIndex;
|
|
110
148
|
const tabClasses = [
|
|
111
149
|
'tab',
|
|
@@ -113,7 +151,7 @@ export class EdsTabs {
|
|
|
113
151
|
isActive ? 'tab-active' : ''
|
|
114
152
|
].filter(Boolean).join(' ');
|
|
115
153
|
return (h("button", { class: tabClasses, type: "button", role: "tab", "aria-selected": isActive ? 'true' : 'false', tabIndex: isActive ? 0 : -1, "aria-label": tab.ariaLabel || tab.label, "aria-controls": `panel-${index}`, id: `tab-${index}`, ref: (el) => this.setTabRef(el, index), onClick: () => this.handleTabClick(index, tab.label, true), onKeyDown: (e) => this.onKeyDown(e, index) }, tab.label || tab.ariaLabel));
|
|
116
|
-
}))), h("div", { key: '
|
|
154
|
+
}))), h("div", { key: '0ce244b3d2b2120d1bdf127144e9b42e2ad34e52', class: "tab-panels" }, this.parsedTabs.map((_, index) => (h("div", { role: "tabpanel", id: `panel-${index}`, "aria-labelledby": `tab-${index}`, hidden: index !== this.activeIndex, tabIndex: index === this.activeIndex ? 0 : -1 }, h("slot", { name: `panel-${index}` })))))));
|
|
117
155
|
}
|
|
118
156
|
static get is() { return "eds-tabs"; }
|
|
119
157
|
static get encapsulation() { return "shadow"; }
|
|
@@ -35,7 +35,7 @@ export class EdsTag {
|
|
|
35
35
|
}
|
|
36
36
|
render() {
|
|
37
37
|
const classes = tagStyles({ intent: this.intent, size: this.size });
|
|
38
|
-
return (h("span", { key: '
|
|
38
|
+
return (h("span", { key: '20e1625ac01b0dc1f40356d02622e0649faa7fa7', class: classes }, h("span", { key: '313c3f18c0a5df285afe6a40ded9e68035d9648f', style: { position: 'relative', zIndex: '1' } }, this.label)));
|
|
39
39
|
}
|
|
40
40
|
static get is() { return "eds-tag"; }
|
|
41
41
|
static get encapsulation() { return "shadow"; }
|
|
@@ -41,7 +41,7 @@ export class EdsTimeline {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
render() {
|
|
44
|
-
return (h("div", { key: '
|
|
44
|
+
return (h("div", { key: '78b199b18d361ae3223e4f1fe9a2043d61f4271b', class: "max-w-sidebar mx-auto px-4 py-8" }, h("div", { key: 'afdfdf7dc573a7f273703a02e38e755a9815bdf7', class: "relative" }, h("div", { key: '7affc96f356ee901ca263c7347ae60b84869f28b', class: "absolute w-4 left-1/2 transform -translate-x-1/2 bg-strong h-full z-0" }), h("div", { key: '7ba006234bd1365890e75b7f59aa118265ba727c', class: "space-y-16" }, this.parsedEvents.map((event, index) => (h("div", { class: "relative flex" }, h("div", { class: `w-1/2 ${index % 2 === 0 ? 'pr-4' : ''}` }, index % 2 === 0 && (h("eds-card-generic", { title: event.title, url: "#", description: event.description, intent: "secondary", tags: JSON.stringify(event.completed
|
|
45
45
|
? [{ label: 'completed', style: 'accent' }]
|
|
46
46
|
: [{ label: 'pending', style: 'default' }]), onClick: () => this.handleEventClick(event) }))), h("div", { class: "flex items-center justify-center relative" }, event.completed ? (h("div", { class: "w-32 h-32 bg-accent rounded-full shadow flex items-center justify-center" })) : (h("div", { class: "w-32 h-32 bg-strong rounded-full shadow flex items-center justify-center" }))), h("div", { class: `w-1/2 ${index % 2 !== 0 ? 'pl-4' : ''}` }, index % 2 !== 0 && (h("eds-card-generic", { title: event.title, url: "#", description: event.description, intent: "secondary", tags: JSON.stringify(event.completed
|
|
47
47
|
? [{ label: 'completed', style: 'accent' }]
|