@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
|
@@ -5,12 +5,7 @@ export default {
|
|
|
5
5
|
argTypes: {
|
|
6
6
|
steps: {
|
|
7
7
|
control: 'object',
|
|
8
|
-
description: 'Array of step objects'
|
|
9
|
-
defaultValue: [
|
|
10
|
-
{ title: 'Step One', content: '<p>Details for step one.</p>' },
|
|
11
|
-
{ title: 'Step Two', content: '<p>Details for step two.</p>' },
|
|
12
|
-
{ title: 'Step Three', content: '<p>Details for step three.</p>' }
|
|
13
|
-
]
|
|
8
|
+
description: 'Array of step objects'
|
|
14
9
|
},
|
|
15
10
|
orientation: {
|
|
16
11
|
control: { type: 'select' },
|
|
@@ -20,17 +15,28 @@ export default {
|
|
|
20
15
|
type: {
|
|
21
16
|
control: 'select',
|
|
22
17
|
options: ['static', 'linear'],
|
|
23
|
-
description: 'Stepper type: static (all steps) or linear (one at a time)'
|
|
24
|
-
|
|
18
|
+
description: 'Stepper type: static (all steps) or linear (one at a time)'
|
|
19
|
+
},
|
|
20
|
+
theme: {
|
|
21
|
+
control: 'select',
|
|
22
|
+
options: ['default', 'brand'],
|
|
23
|
+
description: 'Visual theme. "brand" is the dark/green look multi-step brand forms use.'
|
|
24
|
+
},
|
|
25
|
+
card: {
|
|
26
|
+
control: 'boolean',
|
|
27
|
+
description: 'Draw the stepper\'s own card chrome (border/background). Set false when an outer wrapper already carries it — e.g. the brand multi-step form card.'
|
|
28
|
+
},
|
|
29
|
+
disableNext: {
|
|
30
|
+
control: 'boolean',
|
|
31
|
+
description: 'Disable the Next button (boolean for all steps, or an array/JSON string per step) — used to gate advancing until the current step validates.'
|
|
25
32
|
},
|
|
26
33
|
imageSrc: {
|
|
27
34
|
control: 'text',
|
|
28
35
|
description: 'URL of the image to display above the steps'
|
|
29
36
|
},
|
|
30
|
-
|
|
31
|
-
control: '
|
|
32
|
-
description: '
|
|
33
|
-
defaultValue: true
|
|
37
|
+
imageWidth: {
|
|
38
|
+
control: 'number',
|
|
39
|
+
description: 'Rendered width (px) of the image above the steps'
|
|
34
40
|
},
|
|
35
41
|
message: {
|
|
36
42
|
control: 'text',
|
|
@@ -40,8 +46,7 @@ export default {
|
|
|
40
46
|
name: 'heading-level',
|
|
41
47
|
control: { type: 'select' },
|
|
42
48
|
options: ['h3', 'h4', 'h5'],
|
|
43
|
-
description: 'Semantic heading tag to render for each step title'
|
|
44
|
-
defaultValue: 'h4'
|
|
49
|
+
description: 'Semantic heading tag to render for each step title'
|
|
45
50
|
},
|
|
46
51
|
nextLabel: {
|
|
47
52
|
control: 'text',
|
|
@@ -68,8 +73,11 @@ export default {
|
|
|
68
73
|
],
|
|
69
74
|
orientation: 'vertical',
|
|
70
75
|
type: 'static',
|
|
76
|
+
theme: 'default',
|
|
77
|
+
card: true,
|
|
78
|
+
disableNext: false,
|
|
71
79
|
imageSrc: '',
|
|
72
|
-
|
|
80
|
+
imageWidth: undefined,
|
|
73
81
|
message: 'No image available',
|
|
74
82
|
headingLevel: 'h4',
|
|
75
83
|
nextLabel: 'Next',
|
|
@@ -78,15 +86,17 @@ export default {
|
|
|
78
86
|
showFinish: true
|
|
79
87
|
}
|
|
80
88
|
};
|
|
81
|
-
const Template = ({ steps, type, orientation, imageSrc, imageWidth,
|
|
89
|
+
const Template = ({ steps, type, orientation, theme, card, disableNext, imageSrc, imageWidth, message, headingLevel, nextLabel, backLabel, finishLabel, showFinish }) => html `
|
|
82
90
|
<div class="grid grid-layout grid-cols-2">
|
|
83
91
|
<eds-steps-v2
|
|
84
92
|
.steps=${steps}
|
|
85
93
|
type="${type}"
|
|
86
94
|
orientation="${orientation}"
|
|
95
|
+
theme="${theme || 'default'}"
|
|
96
|
+
.card=${card}
|
|
97
|
+
.disableNext=${disableNext}
|
|
87
98
|
.imageSrc=${imageSrc}
|
|
88
99
|
.imageWidth=${imageWidth}
|
|
89
|
-
?bg=${bg}
|
|
90
100
|
message="${message || ''}"
|
|
91
101
|
heading-level="${headingLevel}"
|
|
92
102
|
next-label="${nextLabel}"
|
|
@@ -131,3 +141,56 @@ LinearHorizontal.parameters = {
|
|
|
131
141
|
}
|
|
132
142
|
}
|
|
133
143
|
};
|
|
144
|
+
/* How brand multi-step forms actually mount the stepper (FormsPage): linear +
|
|
145
|
+
horizontal, theme="brand", and card=false because the OUTER brand card
|
|
146
|
+
carries the chrome — recreated here with a dark rounded wrapper. */
|
|
147
|
+
export const BrandTheme = ({ steps, disableNext }) => html `
|
|
148
|
+
<div class="grid grid-layout grid-cols-2">
|
|
149
|
+
<div class="bg-inverse rounded-xs overflow-hidden" style="--eds-steps-padding-x: 2rem;">
|
|
150
|
+
<div class="bg-strongest p-32">
|
|
151
|
+
<p class="f-heading-05 text-inverse m-0">Attendee Confirmation Survey</p>
|
|
152
|
+
</div>
|
|
153
|
+
<eds-steps-v2
|
|
154
|
+
.steps=${steps}
|
|
155
|
+
type="linear"
|
|
156
|
+
orientation="horizontal"
|
|
157
|
+
theme="brand"
|
|
158
|
+
.card=${false}
|
|
159
|
+
.disableNext=${disableNext}
|
|
160
|
+
next-label="Next"
|
|
161
|
+
back-label="Back"
|
|
162
|
+
finish-label="Submit"
|
|
163
|
+
?show-finish=${true}
|
|
164
|
+
></eds-steps-v2>
|
|
165
|
+
</div>
|
|
166
|
+
</div>
|
|
167
|
+
`;
|
|
168
|
+
BrandTheme.storyName = 'Brand Theme (multi-step form)';
|
|
169
|
+
BrandTheme.args = {
|
|
170
|
+
steps: [
|
|
171
|
+
{ title: 'Step 1', content: '<p>About you — name, email, institution.</p>' },
|
|
172
|
+
{ title: 'Step 2', content: '<p>Logistics — attendance, dietary needs, sessions.</p>' }
|
|
173
|
+
],
|
|
174
|
+
disableNext: false
|
|
175
|
+
};
|
|
176
|
+
BrandTheme.parameters = {
|
|
177
|
+
docs: {
|
|
178
|
+
description: {
|
|
179
|
+
story: 'theme="brand" + card=false, exactly as multi-step brand forms mount it: the outer card provides the chrome (dark hero above), the stepper renders flush. Toggle disableNext to see the gated Next button.'
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
export const DisabledNext = Template.bind({});
|
|
184
|
+
DisabledNext.storyName = 'Linear — Next disabled';
|
|
185
|
+
DisabledNext.args = {
|
|
186
|
+
type: 'linear',
|
|
187
|
+
orientation: 'horizontal',
|
|
188
|
+
disableNext: true
|
|
189
|
+
};
|
|
190
|
+
DisabledNext.parameters = {
|
|
191
|
+
docs: {
|
|
192
|
+
description: {
|
|
193
|
+
story: 'disableNext gates advancing (forms set it while the current step has validation errors). Accepts a boolean for all steps or an array/JSON string per step.'
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
};
|
|
@@ -95,12 +95,15 @@ button.switch.switch--checked .switch-handle {
|
|
|
95
95
|
background: transparent;
|
|
96
96
|
border: none;
|
|
97
97
|
border-radius: 1.5rem;
|
|
98
|
-
|
|
99
|
-
|
|
98
|
+
/* Mockup type: Plex Sans 14px medium. Note we bundle 400/600 only, so 500
|
|
99
|
+
resolves to 400 in-app — kept at 500 so environments that do load the
|
|
100
|
+
medium cut match the mockup exactly. */
|
|
101
|
+
font-family: var(--plex-sans, 'IBM Plex Sans', system-ui, sans-serif);
|
|
102
|
+
font-size: 14px;
|
|
100
103
|
font-weight: 500;
|
|
101
104
|
cursor: pointer;
|
|
102
105
|
transition: all 0.3s;
|
|
103
|
-
color: var(--
|
|
106
|
+
color: var(--body-l, #5a5f5c);
|
|
104
107
|
white-space: nowrap;
|
|
105
108
|
}
|
|
106
109
|
|
|
@@ -113,6 +116,26 @@ button.switch.switch--checked .switch-handle {
|
|
|
113
116
|
color: var(--brand-black);
|
|
114
117
|
}
|
|
115
118
|
|
|
119
|
+
/* Dark segmented — the mockup's quiet control bar: white pill container with a
|
|
120
|
+
hairline border; the active segment inverts to brand-black. */
|
|
121
|
+
.segmented-container--dark {
|
|
122
|
+
background: #fff;
|
|
123
|
+
border: 1px solid var(--grey-300, #e2e2e2);
|
|
124
|
+
padding: 4px;
|
|
125
|
+
gap: 3px;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.segmented-container--dark .segmented-btn {
|
|
129
|
+
padding: 9px 30px;
|
|
130
|
+
border-radius: 999px;
|
|
131
|
+
transition: 0.14s;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.segmented-container--dark .segmented-btn--active {
|
|
135
|
+
background: var(--brand-black, #07140d);
|
|
136
|
+
color: #fff;
|
|
137
|
+
}
|
|
138
|
+
|
|
116
139
|
.segmented-btn--disabled {
|
|
117
140
|
opacity: 0.6;
|
|
118
141
|
cursor: not-allowed;
|
|
@@ -31,7 +31,7 @@ export class EdsSwitch {
|
|
|
31
31
|
this.variant = 'toggle';
|
|
32
32
|
}
|
|
33
33
|
render() {
|
|
34
|
-
if (this.variant === 'segmented') {
|
|
34
|
+
if (this.variant === 'segmented' || this.variant === 'segmented-dark') {
|
|
35
35
|
return this.renderSegmented();
|
|
36
36
|
}
|
|
37
37
|
return this.renderToggle();
|
|
@@ -59,7 +59,10 @@ export class EdsSwitch {
|
|
|
59
59
|
}, onClick: this.toggleSwitch, onKeyDown: this.handleKeyDown, disabled: this.disabled }, h("span", { class: "switch-handle" })), this.labelOn && (h("span", { id: `${switchId}-on`, class: "switch-label switch-label--on ml-8" }, this.labelOn))));
|
|
60
60
|
}
|
|
61
61
|
renderSegmented() {
|
|
62
|
-
return (h("div", { class:
|
|
62
|
+
return (h("div", { class: {
|
|
63
|
+
'segmented-container': true,
|
|
64
|
+
'segmented-container--dark': this.variant === 'segmented-dark'
|
|
65
|
+
}, role: "group", "aria-label": "View toggle" }, h("button", { type: "button", tabindex: this.disabled ? '-1' : '0', class: {
|
|
63
66
|
'segmented-btn': true,
|
|
64
67
|
'segmented-btn--active': !this.checked,
|
|
65
68
|
'segmented-btn--disabled': this.disabled
|
|
@@ -67,7 +70,7 @@ export class EdsSwitch {
|
|
|
67
70
|
if (!this.disabled && this.checked) {
|
|
68
71
|
this.toggleSwitch();
|
|
69
72
|
}
|
|
70
|
-
}, onKeyDown: this.handleKeyDown, disabled: this.disabled, "aria-pressed": !this.checked ? 'true' : 'false' }, h("span",
|
|
73
|
+
}, onKeyDown: this.handleKeyDown, disabled: this.disabled, "aria-pressed": !this.checked ? 'true' : 'false' }, h("span", null, this.labelOff)), h("button", { type: "button", tabindex: this.disabled ? '-1' : '0', class: {
|
|
71
74
|
'segmented-btn': true,
|
|
72
75
|
'segmented-btn--active': this.checked,
|
|
73
76
|
'segmented-btn--disabled': this.disabled
|
|
@@ -75,7 +78,7 @@ export class EdsSwitch {
|
|
|
75
78
|
if (!this.disabled && !this.checked) {
|
|
76
79
|
this.toggleSwitch();
|
|
77
80
|
}
|
|
78
|
-
}, onKeyDown: this.handleKeyDown, disabled: this.disabled, "aria-pressed": this.checked ? 'true' : 'false' }, h("span",
|
|
81
|
+
}, onKeyDown: this.handleKeyDown, disabled: this.disabled, "aria-pressed": this.checked ? 'true' : 'false' }, h("span", null, this.labelOn))));
|
|
79
82
|
}
|
|
80
83
|
static get is() { return "eds-switch"; }
|
|
81
84
|
static get encapsulation() { return "shadow"; }
|
|
@@ -167,15 +170,15 @@ export class EdsSwitch {
|
|
|
167
170
|
"type": "string",
|
|
168
171
|
"mutable": false,
|
|
169
172
|
"complexType": {
|
|
170
|
-
"original": "'toggle' | 'segmented'",
|
|
171
|
-
"resolved": "\"segmented\" | \"toggle\"",
|
|
173
|
+
"original": "'toggle' | 'segmented' | 'segmented-dark'",
|
|
174
|
+
"resolved": "\"segmented\" | \"segmented-dark\" | \"toggle\"",
|
|
172
175
|
"references": {}
|
|
173
176
|
},
|
|
174
177
|
"required": false,
|
|
175
178
|
"optional": false,
|
|
176
179
|
"docs": {
|
|
177
180
|
"tags": [],
|
|
178
|
-
"text": "Variant of the switch
|
|
181
|
+
"text": "Variant of the switch:\n- 'toggle' (default): the classic on/off switch\n- 'segmented': pill-style buttons \u2014 light container, green active pill\n- 'segmented-dark': pill-style buttons \u2014 white container with a hairline\n border and a dark (brand-black) active pill"
|
|
179
182
|
},
|
|
180
183
|
"attribute": "variant",
|
|
181
184
|
"reflect": false,
|
|
@@ -6,7 +6,11 @@ export default {
|
|
|
6
6
|
disabled: { control: 'boolean', description: 'Disables the switch when true.' },
|
|
7
7
|
labelOn: { control: 'text', description: 'Label displayed when the switch is ON.' },
|
|
8
8
|
labelOff: { control: 'text', description: 'Label displayed when the switch is OFF.' },
|
|
9
|
-
variant: {
|
|
9
|
+
variant: {
|
|
10
|
+
control: 'select',
|
|
11
|
+
options: ['toggle', 'segmented', 'segmented-dark'],
|
|
12
|
+
description: 'Switch variant: toggle, segmented (green active pill), or segmented-dark (white container, dark active pill).'
|
|
13
|
+
}
|
|
10
14
|
},
|
|
11
15
|
args: {
|
|
12
16
|
checked: false,
|
|
@@ -90,6 +94,21 @@ export const SegmentedChecked = {
|
|
|
90
94
|
labelOff: 'Light'
|
|
91
95
|
}
|
|
92
96
|
};
|
|
97
|
+
export const SegmentedDark = {
|
|
98
|
+
render: (args) => `
|
|
99
|
+
<eds-switch
|
|
100
|
+
variant="segmented-dark"
|
|
101
|
+
${args.checked ? 'checked' : ''}
|
|
102
|
+
${args.disabled ? 'disabled' : ''}
|
|
103
|
+
label-on="${args.labelOn}"
|
|
104
|
+
label-off="${args.labelOff}">
|
|
105
|
+
</eds-switch>`,
|
|
106
|
+
args: {
|
|
107
|
+
labelOn: 'Results',
|
|
108
|
+
labelOff: 'Poll',
|
|
109
|
+
checked: true
|
|
110
|
+
}
|
|
111
|
+
};
|
|
93
112
|
export const SegmentedDisabled = {
|
|
94
113
|
render: (args) => `
|
|
95
114
|
<eds-switch
|
|
@@ -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,14 @@ 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: '
|
|
369
|
-
? this.renderCardView(paginatedRows)
|
|
370
|
-
: this.renderTableView(paginatedRows, currentContainerWidth, visibleColumnsCount), this.shouldEnablePagination() && (h("div", { key: 'bed5232d5ff9d7cac22ac2537876a388f35c85a6', class: "mt-20" }, h("eds-pagination", { key: 'ec91525689028f6cfe2721e290f5c5c7097ab67a', currentPage: this.currentPage, lastPage: lastPage, perPage: this.rowsPerPage, total: this.totalRows, mode: "default" })))));
|
|
353
|
+
return (h("div", { key: '8a025e9e12285aa3444b2f83e0b68af55cbe32e6' }, showControls && (h("div", { key: 'f97864d8b61db7ec4fa623ecadc3c225464a6c84', class: "controls-container flex-col flex-md-row items-start items-md-center justify-between gap-16 mb-16" }, this.showViewToggle && (h("div", { key: 'ddf8b1c0fb59fe81efa22a4dc02b414d41ae7208', class: "view-toggle-wrapper" }, h("eds-switch", { key: 'c3631986b456a88559face6a2ce7ce8acd5d01c2', variant: "segmented", labelOff: "Table View", labelOn: "Card View", checked: this.view === 'card', onUiswitch: this.handleViewChange }))), this.searchEnabled && (h("div", { key: 'a02d7f163dd2bb34bb26ae60bd5b018ed07291d9', 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' ? this.renderCardView(paginatedRows) : this.renderTableView(paginatedRows), this.shouldEnablePagination() && (h("div", { key: 'ecf412674a951b4d19e87385270cb49e64e590f6', class: "mt-20" }, h("eds-pagination", { key: 'fe1365ecb4d249548ba0c936a48b6141ff14ad0e', currentPage: this.currentPage, lastPage: lastPage, perPage: this.rowsPerPage, total: this.totalRows, mode: "default" })))));
|
|
371
354
|
}
|
|
372
355
|
static get is() { return "eds-table"; }
|
|
373
356
|
static get encapsulation() { return "shadow"; }
|
|
@@ -406,7 +389,7 @@ export class EdsTable {
|
|
|
406
389
|
"mutable": false,
|
|
407
390
|
"complexType": {
|
|
408
391
|
"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\" | \"
|
|
392
|
+
"resolved": "string | { [key: string]: { hidden?: boolean; format?: \"code\" | \"html\" | \"svg\" | \"bold\" | \"uppercase\"; }; }",
|
|
410
393
|
"references": {}
|
|
411
394
|
},
|
|
412
395
|
"required": false,
|
|
@@ -490,24 +473,6 @@ export class EdsTable {
|
|
|
490
473
|
"attribute": "host-width",
|
|
491
474
|
"reflect": false
|
|
492
475
|
},
|
|
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
476
|
"actions": {
|
|
512
477
|
"type": "string",
|
|
513
478
|
"mutable": false,
|
|
@@ -573,21 +538,21 @@ export class EdsTable {
|
|
|
573
538
|
},
|
|
574
539
|
"theme": {
|
|
575
540
|
"type": "string",
|
|
576
|
-
"mutable":
|
|
541
|
+
"mutable": true,
|
|
577
542
|
"complexType": {
|
|
578
|
-
"original": "'
|
|
579
|
-
"resolved": "\"brand\"
|
|
543
|
+
"original": "'brand'",
|
|
544
|
+
"resolved": "\"brand\"",
|
|
580
545
|
"references": {}
|
|
581
546
|
},
|
|
582
547
|
"required": false,
|
|
583
548
|
"optional": false,
|
|
584
549
|
"docs": {
|
|
585
550
|
"tags": [],
|
|
586
|
-
"text": "Theme for table styling
|
|
551
|
+
"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
552
|
},
|
|
588
553
|
"attribute": "theme",
|
|
589
554
|
"reflect": false,
|
|
590
|
-
"defaultValue": "'
|
|
555
|
+
"defaultValue": "'brand'"
|
|
591
556
|
},
|
|
592
557
|
"view": {
|
|
593
558
|
"type": "string",
|