@sebgroup/green-core 3.13.0 → 3.14.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/components/badge/badge.styles.js +1 -1
- package/components/button/button.styles.js +1 -1
- package/components/button/button.trans.styles.scss.js +1 -1
- package/components/context-menu/context-menu.trans.styles.scss.js +1 -1
- package/components/index.d.ts +1 -0
- package/components/index.js +1 -0
- package/components/popover/popover.trans.styles.scss.js +1 -1
- package/components/tabs/index.d.ts +3 -0
- package/components/tabs/index.js +3 -0
- package/components/tabs/tab/index.d.ts +1 -0
- package/components/tabs/tab/index.js +1 -0
- package/components/tabs/tab/tab.component.d.ts +49 -0
- package/components/tabs/tab/tab.component.js +120 -0
- package/components/tabs/tab/tab.d.ts +2 -0
- package/components/tabs/tab/tab.js +6 -0
- package/components/tabs/tab/tab.styles.d.ts +2 -0
- package/components/tabs/tab/tab.styles.js +69 -0
- package/components/tabs/tab-panel/index.d.ts +1 -0
- package/components/tabs/tab-panel/index.js +1 -0
- package/components/tabs/tab-panel/tab-panel.component.d.ts +33 -0
- package/components/tabs/tab-panel/tab-panel.component.js +73 -0
- package/components/tabs/tab-panel/tab-panel.d.ts +2 -0
- package/components/tabs/tab-panel/tab-panel.js +6 -0
- package/components/tabs/tab-panel/tab-panel.styles.d.ts +2 -0
- package/components/tabs/tab-panel/tab-panel.styles.js +22 -0
- package/components/tabs/tabs.component.d.ts +41 -0
- package/components/tabs/tabs.component.js +439 -0
- package/components/tabs/tabs.d.ts +2 -0
- package/components/tabs/tabs.js +6 -0
- package/components/tabs/tabs.styles.d.ts +2 -0
- package/components/tabs/tabs.styles.js +115 -0
- package/custom-elements.json +27235 -25714
- package/gds-element.js +1 -1
- package/generated/mcp/components.json +39 -1
- package/generated/mcp/icons.json +1 -1
- package/generated/mcp/index.json +1 -1
- package/generated/mcp/list-item-pattern-01/guidelines.md +1 -0
- package/generated/mcp/list-item-pattern-01/index.json +1 -0
- package/generated/mcp/tab/angular.md +25 -0
- package/generated/mcp/tab/api.md +32 -0
- package/generated/mcp/tab/index.json +8 -0
- package/generated/mcp/tab/react.md +25 -0
- package/generated/mcp/tab-panel/angular.md +17 -0
- package/generated/mcp/tab-panel/api.md +20 -0
- package/generated/mcp/tab-panel/index.json +8 -0
- package/generated/mcp/tab-panel/react.md +17 -0
- package/generated/mcp/tabs/angular.md +26 -0
- package/generated/mcp/tabs/api.md +49 -0
- package/generated/mcp/tabs/guidelines.md +71 -0
- package/generated/mcp/tabs/index.json +9 -0
- package/generated/mcp/tabs/react.md +26 -0
- package/generated/mcp/tokens.json +1 -1
- package/generated/react/alert/index.d.ts +118 -110
- package/generated/react/avatar/index.d.ts +116 -108
- package/generated/react/avatar-group/index.d.ts +114 -106
- package/generated/react/backdrop/index.d.ts +115 -107
- package/generated/react/badge/index.d.ts +118 -110
- package/generated/react/blur/index.d.ts +114 -106
- package/generated/react/breadcrumb/index.d.ts +118 -110
- package/generated/react/breadcrumbs/index.d.ts +115 -107
- package/generated/react/button/index.d.ts +127 -119
- package/generated/react/calendar/index.d.ts +121 -113
- package/generated/react/card/index.d.ts +114 -106
- package/generated/react/card-linked/index.d.ts +116 -108
- package/generated/react/card-pattern-01/index.d.ts +124 -116
- package/generated/react/checkbox/index.d.ts +127 -119
- package/generated/react/checkbox-group/index.d.ts +128 -120
- package/generated/react/coachmark/index.d.ts +117 -109
- package/generated/react/context-menu/index.d.ts +118 -110
- package/generated/react/datepicker/index.d.ts +136 -128
- package/generated/react/details/index.d.ts +117 -109
- package/generated/react/dialog/index.d.ts +116 -108
- package/generated/react/div/index.d.ts +114 -106
- package/generated/react/divider/index.d.ts +114 -106
- package/generated/react/dropdown/index.d.ts +139 -131
- package/generated/react/fab/index.d.ts +127 -119
- package/generated/react/filter-chip/index.d.ts +115 -107
- package/generated/react/filter-chips/index.d.ts +127 -119
- package/generated/react/flex/index.d.ts +114 -106
- package/generated/react/form-summary/index.d.ts +117 -109
- package/generated/react/formatted-account/index.d.ts +117 -109
- package/generated/react/formatted-date/index.d.ts +116 -108
- package/generated/react/formatted-number/index.d.ts +117 -109
- package/generated/react/grid/index.d.ts +114 -106
- package/generated/react/grouped-list/index.d.ts +115 -107
- package/generated/react/icons/icon-ai/index.d.ts +116 -108
- package/generated/react/icons/icon-airplane-up/index.d.ts +116 -108
- package/generated/react/icons/icon-archive/index.d.ts +116 -108
- package/generated/react/icons/icon-arrow/index.d.ts +116 -108
- package/generated/react/icons/icon-arrow-bottom-top/index.d.ts +116 -108
- package/generated/react/icons/icon-arrow-box-left/index.d.ts +116 -108
- package/generated/react/icons/icon-arrow-box-left-alt/index.d.ts +116 -108
- package/generated/react/icons/icon-arrow-box-right/index.d.ts +116 -108
- package/generated/react/icons/icon-arrow-down/index.d.ts +116 -108
- package/generated/react/icons/icon-arrow-inbox/index.d.ts +116 -108
- package/generated/react/icons/icon-arrow-left/index.d.ts +116 -108
- package/generated/react/icons/icon-arrow-left-right/index.d.ts +116 -108
- package/generated/react/icons/icon-arrow-out-of-box/index.d.ts +116 -108
- package/generated/react/icons/icon-arrow-right/index.d.ts +116 -108
- package/generated/react/icons/icon-arrow-right-circle/index.d.ts +116 -108
- package/generated/react/icons/icon-arrow-right-down-circle/index.d.ts +116 -108
- package/generated/react/icons/icon-arrow-right-up-circle/index.d.ts +116 -108
- package/generated/react/icons/icon-arrow-rotate-clockwise/index.d.ts +116 -108
- package/generated/react/icons/icon-arrow-rotate-counter-clockwise/index.d.ts +116 -108
- package/generated/react/icons/icon-arrow-rotate-left-right/index.d.ts +116 -108
- package/generated/react/icons/icon-arrow-rotate-right-left/index.d.ts +116 -108
- package/generated/react/icons/icon-arrow-share-left/index.d.ts +116 -108
- package/generated/react/icons/icon-arrow-share-right/index.d.ts +116 -108
- package/generated/react/icons/icon-arrow-split/index.d.ts +116 -108
- package/generated/react/icons/icon-arrow-up/index.d.ts +116 -108
- package/generated/react/icons/icon-arrow-wall-down/index.d.ts +116 -108
- package/generated/react/icons/icon-arrow-wall-left/index.d.ts +116 -108
- package/generated/react/icons/icon-arrow-wall-right/index.d.ts +116 -108
- package/generated/react/icons/icon-arrow-wall-up/index.d.ts +116 -108
- package/generated/react/icons/icon-arrows-repeat-right/index.d.ts +116 -108
- package/generated/react/icons/icon-asterisk/index.d.ts +116 -108
- package/generated/react/icons/icon-at/index.d.ts +116 -108
- package/generated/react/icons/icon-back/index.d.ts +116 -108
- package/generated/react/icons/icon-backward/index.d.ts +116 -108
- package/generated/react/icons/icon-bag/index.d.ts +116 -108
- package/generated/react/icons/icon-bank/index.d.ts +116 -108
- package/generated/react/icons/icon-banknote/index.d.ts +116 -108
- package/generated/react/icons/icon-banknote-2/index.d.ts +116 -108
- package/generated/react/icons/icon-barcode/index.d.ts +116 -108
- package/generated/react/icons/icon-bars-three/index.d.ts +116 -108
- package/generated/react/icons/icon-bars-two/index.d.ts +116 -108
- package/generated/react/icons/icon-basket/index.d.ts +116 -108
- package/generated/react/icons/icon-battery-loading/index.d.ts +116 -108
- package/generated/react/icons/icon-bell/index.d.ts +116 -108
- package/generated/react/icons/icon-block/index.d.ts +116 -108
- package/generated/react/icons/icon-book/index.d.ts +116 -108
- package/generated/react/icons/icon-bookmark/index.d.ts +116 -108
- package/generated/react/icons/icon-bookmark-check/index.d.ts +116 -108
- package/generated/react/icons/icon-bookmark-delete/index.d.ts +116 -108
- package/generated/react/icons/icon-bookmark-plus/index.d.ts +116 -108
- package/generated/react/icons/icon-bookmark-remove/index.d.ts +116 -108
- package/generated/react/icons/icon-books/index.d.ts +116 -108
- package/generated/react/icons/icon-brand-app-store/index.d.ts +116 -108
- package/generated/react/icons/icon-brand-apple-music/index.d.ts +116 -108
- package/generated/react/icons/icon-brand-bankid/index.d.ts +116 -108
- package/generated/react/icons/icon-brand-chrome/index.d.ts +116 -108
- package/generated/react/icons/icon-brand-facebook/index.d.ts +116 -108
- package/generated/react/icons/icon-brand-figma/index.d.ts +116 -108
- package/generated/react/icons/icon-brand-firefox/index.d.ts +116 -108
- package/generated/react/icons/icon-brand-github/index.d.ts +116 -108
- package/generated/react/icons/icon-brand-green/index.d.ts +116 -108
- package/generated/react/icons/icon-brand-instagram/index.d.ts +116 -108
- package/generated/react/icons/icon-brand-linkedin/index.d.ts +116 -108
- package/generated/react/icons/icon-brand-play-store/index.d.ts +116 -108
- package/generated/react/icons/icon-brand-rss-feed/index.d.ts +116 -108
- package/generated/react/icons/icon-brand-seb/index.d.ts +116 -108
- package/generated/react/icons/icon-brand-spotify/index.d.ts +116 -108
- package/generated/react/icons/icon-brand-storybook/index.d.ts +116 -108
- package/generated/react/icons/icon-brand-swish-word/index.d.ts +116 -108
- package/generated/react/icons/icon-brand-x/index.d.ts +116 -108
- package/generated/react/icons/icon-brush/index.d.ts +116 -108
- package/generated/react/icons/icon-bubble-annotation/index.d.ts +116 -108
- package/generated/react/icons/icon-bubbles/index.d.ts +116 -108
- package/generated/react/icons/icon-buildings/index.d.ts +116 -108
- package/generated/react/icons/icon-bullet-list/index.d.ts +116 -108
- package/generated/react/icons/icon-calculator/index.d.ts +116 -108
- package/generated/react/icons/icon-calendar/index.d.ts +116 -108
- package/generated/react/icons/icon-calendar-check/index.d.ts +116 -108
- package/generated/react/icons/icon-calendar-repeat/index.d.ts +116 -108
- package/generated/react/icons/icon-calender-add/index.d.ts +116 -108
- package/generated/react/icons/icon-call/index.d.ts +116 -108
- package/generated/react/icons/icon-car/index.d.ts +116 -108
- package/generated/react/icons/icon-carussel/index.d.ts +116 -108
- package/generated/react/icons/icon-chain-link/index.d.ts +116 -108
- package/generated/react/icons/icon-chain-link-broken/index.d.ts +116 -108
- package/generated/react/icons/icon-chart-two/index.d.ts +116 -108
- package/generated/react/icons/icon-checklist/index.d.ts +116 -108
- package/generated/react/icons/icon-checkmark/index.d.ts +116 -108
- package/generated/react/icons/icon-chevron-bottom/index.d.ts +116 -108
- package/generated/react/icons/icon-chevron-double-down/index.d.ts +116 -108
- package/generated/react/icons/icon-chevron-double-left/index.d.ts +116 -108
- package/generated/react/icons/icon-chevron-double-right/index.d.ts +116 -108
- package/generated/react/icons/icon-chevron-double-up/index.d.ts +116 -108
- package/generated/react/icons/icon-chevron-down-small/index.d.ts +116 -108
- package/generated/react/icons/icon-chevron-grabber-vertical/index.d.ts +116 -108
- package/generated/react/icons/icon-chevron-grabber-vertical-reversed/index.d.ts +116 -108
- package/generated/react/icons/icon-chevron-left/index.d.ts +116 -108
- package/generated/react/icons/icon-chevron-left-small/index.d.ts +116 -108
- package/generated/react/icons/icon-chevron-right/index.d.ts +116 -108
- package/generated/react/icons/icon-chevron-right-small/index.d.ts +116 -108
- package/generated/react/icons/icon-chevron-top/index.d.ts +116 -108
- package/generated/react/icons/icon-chevron-top-small/index.d.ts +116 -108
- package/generated/react/icons/icon-circle-ban/index.d.ts +116 -108
- package/generated/react/icons/icon-circle-check/index.d.ts +116 -108
- package/generated/react/icons/icon-circle-dots/index.d.ts +116 -108
- package/generated/react/icons/icon-circle-info/index.d.ts +116 -108
- package/generated/react/icons/icon-circle-minus/index.d.ts +116 -108
- package/generated/react/icons/icon-circle-placeholder-on/index.d.ts +116 -108
- package/generated/react/icons/icon-circle-plus/index.d.ts +116 -108
- package/generated/react/icons/icon-circle-questionmark/index.d.ts +116 -108
- package/generated/react/icons/icon-circle-x/index.d.ts +116 -108
- package/generated/react/icons/icon-circles-three/index.d.ts +116 -108
- package/generated/react/icons/icon-clock/index.d.ts +116 -108
- package/generated/react/icons/icon-cloud-download/index.d.ts +116 -108
- package/generated/react/icons/icon-cloud-upload/index.d.ts +116 -108
- package/generated/react/icons/icon-cloudy-sun/index.d.ts +116 -108
- package/generated/react/icons/icon-code/index.d.ts +116 -108
- package/generated/react/icons/icon-code-brackets/index.d.ts +116 -108
- package/generated/react/icons/icon-compass-round/index.d.ts +116 -108
- package/generated/react/icons/icon-cookies/index.d.ts +116 -108
- package/generated/react/icons/icon-copy/index.d.ts +116 -108
- package/generated/react/icons/icon-credit-card/index.d.ts +116 -108
- package/generated/react/icons/icon-credit-card-add/index.d.ts +116 -108
- package/generated/react/icons/icon-cross-large/index.d.ts +116 -108
- package/generated/react/icons/icon-cross-small/index.d.ts +116 -108
- package/generated/react/icons/icon-cup-hot/index.d.ts +116 -108
- package/generated/react/icons/icon-cursor/index.d.ts +116 -108
- package/generated/react/icons/icon-details/index.d.ts +115 -107
- package/generated/react/icons/icon-devices/index.d.ts +116 -108
- package/generated/react/icons/icon-direction/index.d.ts +116 -108
- package/generated/react/icons/icon-dollar/index.d.ts +116 -108
- package/generated/react/icons/icon-dot-grid-one-horizontal/index.d.ts +116 -108
- package/generated/react/icons/icon-dot-grid-one-vertical/index.d.ts +116 -108
- package/generated/react/icons/icon-dot-grid-three/index.d.ts +116 -108
- package/generated/react/icons/icon-dot-grid-two/index.d.ts +116 -108
- package/generated/react/icons/icon-email/index.d.ts +116 -108
- package/generated/react/icons/icon-emoji-angry/index.d.ts +116 -108
- package/generated/react/icons/icon-emoji-neutral/index.d.ts +116 -108
- package/generated/react/icons/icon-emoji-sad/index.d.ts +116 -108
- package/generated/react/icons/icon-emoji-smile/index.d.ts +116 -108
- package/generated/react/icons/icon-emoji-smiley/index.d.ts +116 -108
- package/generated/react/icons/icon-euro/index.d.ts +116 -108
- package/generated/react/icons/icon-expand/index.d.ts +116 -108
- package/generated/react/icons/icon-eye-open/index.d.ts +116 -108
- package/generated/react/icons/icon-eye-slash/index.d.ts +116 -108
- package/generated/react/icons/icon-fashion/index.d.ts +116 -108
- package/generated/react/icons/icon-fast-forward/index.d.ts +116 -108
- package/generated/react/icons/icon-file-bend/index.d.ts +116 -108
- package/generated/react/icons/icon-file-chart/index.d.ts +116 -108
- package/generated/react/icons/icon-file-text/index.d.ts +116 -108
- package/generated/react/icons/icon-files/index.d.ts +116 -108
- package/generated/react/icons/icon-filter/index.d.ts +116 -108
- package/generated/react/icons/icon-flag/index.d.ts +116 -108
- package/generated/react/icons/icon-floppy-disk/index.d.ts +116 -108
- package/generated/react/icons/icon-focus/index.d.ts +116 -108
- package/generated/react/icons/icon-folder/index.d.ts +116 -108
- package/generated/react/icons/icon-folder-add-right/index.d.ts +116 -108
- package/generated/react/icons/icon-fullscreen/index.d.ts +116 -108
- package/generated/react/icons/icon-gift/index.d.ts +116 -108
- package/generated/react/icons/icon-globus/index.d.ts +116 -108
- package/generated/react/icons/icon-graduate-cap/index.d.ts +116 -108
- package/generated/react/icons/icon-green-power/index.d.ts +116 -108
- package/generated/react/icons/icon-group/index.d.ts +116 -108
- package/generated/react/icons/icon-growth/index.d.ts +116 -108
- package/generated/react/icons/icon-headphones/index.d.ts +116 -108
- package/generated/react/icons/icon-heart/index.d.ts +116 -108
- package/generated/react/icons/icon-heart-beat/index.d.ts +116 -108
- package/generated/react/icons/icon-history/index.d.ts +116 -108
- package/generated/react/icons/icon-home-energy-one/index.d.ts +116 -108
- package/generated/react/icons/icon-home-energy-two/index.d.ts +116 -108
- package/generated/react/icons/icon-home-open/index.d.ts +116 -108
- package/generated/react/icons/icon-home-roof/index.d.ts +116 -108
- package/generated/react/icons/icon-horizontal-alignment-bottom/index.d.ts +116 -108
- package/generated/react/icons/icon-hourglass/index.d.ts +116 -108
- package/generated/react/icons/icon-images/index.d.ts +116 -108
- package/generated/react/icons/icon-inbox-empty/index.d.ts +116 -108
- package/generated/react/icons/icon-industry/index.d.ts +116 -108
- package/generated/react/icons/icon-jpg/index.d.ts +116 -108
- package/generated/react/icons/icon-key/index.d.ts +116 -108
- package/generated/react/icons/icon-knife-spoon/index.d.ts +116 -108
- package/generated/react/icons/icon-lab/index.d.ts +116 -108
- package/generated/react/icons/icon-law/index.d.ts +116 -108
- package/generated/react/icons/icon-leisure/index.d.ts +116 -108
- package/generated/react/icons/icon-light-bulb-simple/index.d.ts +116 -108
- package/generated/react/icons/icon-lightning/index.d.ts +116 -108
- package/generated/react/icons/icon-line-chart-four/index.d.ts +116 -108
- package/generated/react/icons/icon-line-chart-one/index.d.ts +116 -108
- package/generated/react/icons/icon-line-chart-three/index.d.ts +116 -108
- package/generated/react/icons/icon-line-chart-two/index.d.ts +116 -108
- package/generated/react/icons/icon-lock/index.d.ts +116 -108
- package/generated/react/icons/icon-macbook-air/index.d.ts +116 -108
- package/generated/react/icons/icon-magnifying-glass/index.d.ts +116 -108
- package/generated/react/icons/icon-map-pin/index.d.ts +116 -108
- package/generated/react/icons/icon-megaphone/index.d.ts +116 -108
- package/generated/react/icons/icon-menu-sidebar/index.d.ts +116 -108
- package/generated/react/icons/icon-mic-off/index.d.ts +116 -108
- package/generated/react/icons/icon-mic-on/index.d.ts +116 -108
- package/generated/react/icons/icon-minimize/index.d.ts +116 -108
- package/generated/react/icons/icon-minus-large/index.d.ts +116 -108
- package/generated/react/icons/icon-minus-small/index.d.ts +116 -108
- package/generated/react/icons/icon-money-hand/index.d.ts +116 -108
- package/generated/react/icons/icon-moneybag/index.d.ts +116 -108
- package/generated/react/icons/icon-moon/index.d.ts +116 -108
- package/generated/react/icons/icon-mute/index.d.ts +116 -108
- package/generated/react/icons/icon-newspaper/index.d.ts +116 -108
- package/generated/react/icons/icon-office/index.d.ts +116 -108
- package/generated/react/icons/icon-page-add/index.d.ts +116 -108
- package/generated/react/icons/icon-paper-plane-top-right/index.d.ts +116 -108
- package/generated/react/icons/icon-paperclip/index.d.ts +116 -108
- package/generated/react/icons/icon-pause/index.d.ts +116 -108
- package/generated/react/icons/icon-pdf/index.d.ts +116 -108
- package/generated/react/icons/icon-pencil-sign/index.d.ts +116 -108
- package/generated/react/icons/icon-pencil-sparkle/index.d.ts +116 -108
- package/generated/react/icons/icon-pencil-wave/index.d.ts +116 -108
- package/generated/react/icons/icon-pension/index.d.ts +116 -108
- package/generated/react/icons/icon-people/index.d.ts +116 -108
- package/generated/react/icons/icon-people-a11y/index.d.ts +116 -108
- package/generated/react/icons/icon-people-add/index.d.ts +116 -108
- package/generated/react/icons/icon-people-added/index.d.ts +116 -108
- package/generated/react/icons/icon-people-circle/index.d.ts +116 -108
- package/generated/react/icons/icon-people-copy/index.d.ts +116 -108
- package/generated/react/icons/icon-people-profile/index.d.ts +116 -108
- package/generated/react/icons/icon-people-remove/index.d.ts +116 -108
- package/generated/react/icons/icon-percent/index.d.ts +116 -108
- package/generated/react/icons/icon-phone/index.d.ts +116 -108
- package/generated/react/icons/icon-pie-chart/index.d.ts +116 -108
- package/generated/react/icons/icon-piggy-bank/index.d.ts +116 -108
- package/generated/react/icons/icon-pin/index.d.ts +116 -108
- package/generated/react/icons/icon-pinch/index.d.ts +116 -108
- package/generated/react/icons/icon-play/index.d.ts +116 -108
- package/generated/react/icons/icon-play-circle/index.d.ts +116 -108
- package/generated/react/icons/icon-plus-large/index.d.ts +116 -108
- package/generated/react/icons/icon-plus-small/index.d.ts +116 -108
- package/generated/react/icons/icon-png/index.d.ts +116 -108
- package/generated/react/icons/icon-poop/index.d.ts +116 -108
- package/generated/react/icons/icon-postcard/index.d.ts +116 -108
- package/generated/react/icons/icon-pound/index.d.ts +116 -108
- package/generated/react/icons/icon-power/index.d.ts +116 -108
- package/generated/react/icons/icon-power-plant/index.d.ts +116 -108
- package/generated/react/icons/icon-printer/index.d.ts +116 -108
- package/generated/react/icons/icon-push/index.d.ts +116 -108
- package/generated/react/icons/icon-qr-code/index.d.ts +116 -108
- package/generated/react/icons/icon-rainy/index.d.ts +116 -108
- package/generated/react/icons/icon-raising-hand/index.d.ts +116 -108
- package/generated/react/icons/icon-reading-list/index.d.ts +116 -108
- package/generated/react/icons/icon-receipt-bill/index.d.ts +116 -108
- package/generated/react/icons/icon-receiption-bell/index.d.ts +116 -108
- package/generated/react/icons/icon-record/index.d.ts +116 -108
- package/generated/react/icons/icon-refund/index.d.ts +116 -108
- package/generated/react/icons/icon-robot/index.d.ts +116 -108
- package/generated/react/icons/icon-rocket/index.d.ts +116 -108
- package/generated/react/icons/icon-run-shortcut/index.d.ts +116 -108
- package/generated/react/icons/icon-safari/index.d.ts +116 -108
- package/generated/react/icons/icon-school/index.d.ts +116 -108
- package/generated/react/icons/icon-scissors/index.d.ts +116 -108
- package/generated/react/icons/icon-search-menu/index.d.ts +116 -108
- package/generated/react/icons/icon-settings-gear/index.d.ts +116 -108
- package/generated/react/icons/icon-settings-slider-hor/index.d.ts +116 -108
- package/generated/react/icons/icon-settings-slider-ver/index.d.ts +116 -108
- package/generated/react/icons/icon-shapes/index.d.ts +116 -108
- package/generated/react/icons/icon-share/index.d.ts +116 -108
- package/generated/react/icons/icon-shield/index.d.ts +116 -108
- package/generated/react/icons/icon-shield-checked/index.d.ts +116 -108
- package/generated/react/icons/icon-shield-crossed/index.d.ts +116 -108
- package/generated/react/icons/icon-shopping-bag/index.d.ts +116 -108
- package/generated/react/icons/icon-signature/index.d.ts +116 -108
- package/generated/react/icons/icon-smartwatch/index.d.ts +116 -108
- package/generated/react/icons/icon-solar/index.d.ts +116 -108
- package/generated/react/icons/icon-sort/index.d.ts +116 -108
- package/generated/react/icons/icon-sort-ascending/index.d.ts +116 -108
- package/generated/react/icons/icon-sort-descending/index.d.ts +116 -108
- package/generated/react/icons/icon-sort-down/index.d.ts +116 -108
- package/generated/react/icons/icon-sort-up/index.d.ts +116 -108
- package/generated/react/icons/icon-square-arrow-top-right/index.d.ts +116 -108
- package/generated/react/icons/icon-square-behind-square/index.d.ts +116 -108
- package/generated/react/icons/icon-square-grid-circle/index.d.ts +116 -108
- package/generated/react/icons/icon-square-placeholder/index.d.ts +116 -108
- package/generated/react/icons/icon-star/index.d.ts +116 -108
- package/generated/react/icons/icon-store/index.d.ts +116 -108
- package/generated/react/icons/icon-sun/index.d.ts +116 -108
- package/generated/react/icons/icon-sunset-arrow-down/index.d.ts +116 -108
- package/generated/react/icons/icon-tag/index.d.ts +116 -108
- package/generated/react/icons/icon-target-arrow/index.d.ts +116 -108
- package/generated/react/icons/icon-television/index.d.ts +116 -108
- package/generated/react/icons/icon-tennis/index.d.ts +116 -108
- package/generated/react/icons/icon-text-edit/index.d.ts +116 -108
- package/generated/react/icons/icon-thermostat/index.d.ts +116 -108
- package/generated/react/icons/icon-thumbs-down/index.d.ts +116 -108
- package/generated/react/icons/icon-thumbs-up/index.d.ts +116 -108
- package/generated/react/icons/icon-ticket/index.d.ts +116 -108
- package/generated/react/icons/icon-trading-view-candles/index.d.ts +116 -108
- package/generated/react/icons/icon-trash-can/index.d.ts +116 -108
- package/generated/react/icons/icon-tree/index.d.ts +116 -108
- package/generated/react/icons/icon-trending-five/index.d.ts +116 -108
- package/generated/react/icons/icon-trending-four/index.d.ts +116 -108
- package/generated/react/icons/icon-trending-one/index.d.ts +116 -108
- package/generated/react/icons/icon-trending-three/index.d.ts +116 -108
- package/generated/react/icons/icon-trending-two/index.d.ts +116 -108
- package/generated/react/icons/icon-triangle-exclamation/index.d.ts +116 -108
- package/generated/react/icons/icon-truck/index.d.ts +116 -108
- package/generated/react/icons/icon-umbrella-security/index.d.ts +116 -108
- package/generated/react/icons/icon-unlocked/index.d.ts +116 -108
- package/generated/react/icons/icon-volume-full/index.d.ts +116 -108
- package/generated/react/icons/icon-volume-half/index.d.ts +116 -108
- package/generated/react/icons/icon-volume-off/index.d.ts +116 -108
- package/generated/react/icons/icon-wallet/index.d.ts +116 -108
- package/generated/react/icons/icon-warning-sign/index.d.ts +116 -108
- package/generated/react/icons/icon-wifi-full/index.d.ts +116 -108
- package/generated/react/icons/icon-youtube/index.d.ts +116 -108
- package/generated/react/icons/icon-zap/index.d.ts +116 -108
- package/generated/react/icons/icon-zoom-in/index.d.ts +116 -108
- package/generated/react/icons/icon-zoom-out/index.d.ts +116 -108
- package/generated/react/img/index.d.ts +116 -108
- package/generated/react/index.d.ts +11 -8
- package/generated/react/index.js +11 -8
- package/generated/react/input/index.d.ts +139 -131
- package/generated/react/link/index.d.ts +117 -109
- package/generated/react/list/index.d.ts +114 -106
- package/generated/react/list-item/index.d.ts +114 -106
- package/generated/react/list-item-pattern-01/index.d.ts +121 -113
- package/generated/react/mask/index.d.ts +117 -109
- package/generated/react/menu-button/index.d.ts +120 -112
- package/generated/react/menu-heading/index.d.ts +114 -106
- package/generated/react/menu-item/index.d.ts +114 -106
- package/generated/react/option/index.d.ts +118 -110
- package/generated/react/pagination/index.d.ts +120 -112
- package/generated/react/popover/index.d.ts +123 -115
- package/generated/react/radio/index.d.ts +119 -111
- package/generated/react/radio-group/index.d.ts +127 -119
- package/generated/react/rich-text/index.d.ts +114 -106
- package/generated/react/segment/index.d.ts +118 -110
- package/generated/react/segmented-control/index.d.ts +116 -108
- package/generated/react/select/index.d.ts +129 -121
- package/generated/react/sensitive-account/index.d.ts +118 -110
- package/generated/react/sensitive-date/index.d.ts +117 -109
- package/generated/react/sensitive-number/index.d.ts +118 -110
- package/generated/react/signal/index.d.ts +114 -106
- package/generated/react/spinner/index.d.ts +117 -109
- package/generated/react/switch/index.d.ts +126 -118
- package/generated/react/tab/index.d.ts +682 -0
- package/generated/react/tab/index.js +14 -0
- package/generated/react/tab-panel/index.d.ts +675 -0
- package/generated/react/tab-panel/index.js +14 -0
- package/generated/react/table/index.d.ts +125 -117
- package/generated/react/tabs/index.d.ts +699 -0
- package/generated/react/tabs/index.js +14 -0
- package/generated/react/text/index.d.ts +115 -107
- package/generated/react/textarea/index.d.ts +137 -129
- package/generated/react/theme/index.d.ts +114 -106
- package/generated/react/video/index.d.ts +114 -106
- package/package.json +7 -1
- package/primitives/listbox/listbox.trans.styles.scss.js +1 -1
- package/primitives/listbox/option.trans.styles.scss.js +1 -1
- package/utils/helpers/custom-element-scoping.js +1 -1
package/gds-element.js
CHANGED
|
@@ -16,7 +16,7 @@ class GdsElement extends LitElement {
|
|
|
16
16
|
/**
|
|
17
17
|
* The semantic version of this element. Can be used for troubleshooting to verify the version being used.
|
|
18
18
|
*/
|
|
19
|
-
this.semanticVersion = "3.
|
|
19
|
+
this.semanticVersion = "3.14.0";
|
|
20
20
|
this.syncFirstRender = false;
|
|
21
21
|
this._isUsingTransitionalStyles = false;
|
|
22
22
|
this._dynamicStylesController = new DynamicStylesController(this);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"generatedAt": "2026-06-
|
|
2
|
+
"generatedAt": "2026-06-10T08:31:07.742Z",
|
|
3
3
|
"components": [
|
|
4
4
|
{
|
|
5
5
|
"name": "gds-alert",
|
|
@@ -514,6 +514,7 @@
|
|
|
514
514
|
"path": "list-item-pattern-01/",
|
|
515
515
|
"files": [
|
|
516
516
|
"api",
|
|
517
|
+
"guidelines",
|
|
517
518
|
"angular",
|
|
518
519
|
"react"
|
|
519
520
|
]
|
|
@@ -763,6 +764,30 @@
|
|
|
763
764
|
"react"
|
|
764
765
|
]
|
|
765
766
|
},
|
|
767
|
+
{
|
|
768
|
+
"name": "gds-tab",
|
|
769
|
+
"tagName": "gds-tab",
|
|
770
|
+
"className": "GdsTab",
|
|
771
|
+
"description": "",
|
|
772
|
+
"path": "tab/",
|
|
773
|
+
"files": [
|
|
774
|
+
"api",
|
|
775
|
+
"angular",
|
|
776
|
+
"react"
|
|
777
|
+
]
|
|
778
|
+
},
|
|
779
|
+
{
|
|
780
|
+
"name": "gds-tab-panel",
|
|
781
|
+
"tagName": "gds-tab-panel",
|
|
782
|
+
"className": "GdsTabPanel",
|
|
783
|
+
"description": "",
|
|
784
|
+
"path": "tab-panel/",
|
|
785
|
+
"files": [
|
|
786
|
+
"api",
|
|
787
|
+
"angular",
|
|
788
|
+
"react"
|
|
789
|
+
]
|
|
790
|
+
},
|
|
766
791
|
{
|
|
767
792
|
"name": "gds-table",
|
|
768
793
|
"tagName": "gds-table",
|
|
@@ -776,6 +801,19 @@
|
|
|
776
801
|
"react"
|
|
777
802
|
]
|
|
778
803
|
},
|
|
804
|
+
{
|
|
805
|
+
"name": "gds-tabs",
|
|
806
|
+
"tagName": "gds-tabs",
|
|
807
|
+
"className": "GdsTabs",
|
|
808
|
+
"description": "",
|
|
809
|
+
"path": "tabs/",
|
|
810
|
+
"files": [
|
|
811
|
+
"api",
|
|
812
|
+
"guidelines",
|
|
813
|
+
"angular",
|
|
814
|
+
"react"
|
|
815
|
+
]
|
|
816
|
+
},
|
|
779
817
|
{
|
|
780
818
|
"name": "gds-text",
|
|
781
819
|
"tagName": "gds-text",
|
package/generated/mcp/icons.json
CHANGED
package/generated/mcp/index.json
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# List item pattern 01
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# gds-tab - Angular
|
|
2
|
+
|
|
3
|
+
## Import
|
|
4
|
+
|
|
5
|
+
```typescript
|
|
6
|
+
import { GdsTabComponent } from '@sebgroup/green-core-ng'
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
Use the component in your Angular templates:
|
|
12
|
+
|
|
13
|
+
```html
|
|
14
|
+
<gds-tab>
|
|
15
|
+
<!-- content -->
|
|
16
|
+
</gds-tab>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Event Handling
|
|
20
|
+
|
|
21
|
+
Events are emitted using Angular output syntax. Event names are converted from kebab-case to camelCase:
|
|
22
|
+
|
|
23
|
+
| Web Component Event | Angular Output | Handler Example |
|
|
24
|
+
|---------------------|----------------|-----------------|
|
|
25
|
+
| `click` | `click` | `(click)="handler($event)"` |
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# gds-tab
|
|
2
|
+
|
|
3
|
+
**Class**: `GdsTab`
|
|
4
|
+
|
|
5
|
+
**Tag**: `<gds-tab>`
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## Properties
|
|
9
|
+
|
|
10
|
+
| Name | Type | Default | Description |
|
|
11
|
+
|------|------|---------|-------------|
|
|
12
|
+
| `size` | `'small' \| 'medium'` | `-` | Optional size variant. When set to "small", applies reduced padding. |
|
|
13
|
+
| `disabled` | `boolean` | `-` | Disables selection of this tab. |
|
|
14
|
+
| `selected` | `boolean` | `-` | Whether this tab is currently selected. Managed by the parent `<gds-tabs>`. |
|
|
15
|
+
| `panel` | `string` | `-` | The `name` of the `<gds-tab-panel>` to associate with this tab. When set, this tab controls the panel whose `name` attribute matches, regardless of DOM order. When omitted, pairing falls back to position. |
|
|
16
|
+
| `syncFirstRender` | `boolean` | `-` | Force the element to perform a synchronous first render and apply style expression properties in `connectedCallback`. This guarantees that the child DOM always remains projected in DOM, since the element will attach the shadowRoot and run the first render pass in the same event loop cycle, and that declarative layout will be applied once slotted DOM is projected. Note: This will cause the first render pass to be blocking. Use sparingly and only when necessary, such as when the element needs to be measured synchronously after being added to the DOM. |
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
## Events
|
|
20
|
+
|
|
21
|
+
| Name | Type | Description |
|
|
22
|
+
|------|------|-------------|
|
|
23
|
+
| `click` | `MouseEvent` | Fired when the tab is clicked. Note that clicks on disabled tabs are ignored. |
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
## Slots
|
|
27
|
+
|
|
28
|
+
| Name | Description |
|
|
29
|
+
|------|-------------|
|
|
30
|
+
| `lead` | Optional content before the label (e.g. an icon) |
|
|
31
|
+
| `(default)` | The tab label text content |
|
|
32
|
+
| `trail` | Optional content after the label (e.g. a badge) |
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# gds-tab - React
|
|
2
|
+
|
|
3
|
+
## Import
|
|
4
|
+
|
|
5
|
+
```typescript
|
|
6
|
+
import { GdsTab } from '@sebgroup/green-core/react'
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
Use the component as a React JSX element:
|
|
12
|
+
|
|
13
|
+
```tsx
|
|
14
|
+
<GdsTab>
|
|
15
|
+
{/* content */}
|
|
16
|
+
</GdsTab>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Event Handling
|
|
20
|
+
|
|
21
|
+
Events are handled using React event handler props. Event names are converted from kebab-case to camelCase with an "on" prefix:
|
|
22
|
+
|
|
23
|
+
| Web Component Event | React Handler Prop | Handler Example |
|
|
24
|
+
|---------------------|--------------------|-----------------|
|
|
25
|
+
| `click` | `onClick` | `onClick={handler}` |
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# gds-tab-panel - Angular
|
|
2
|
+
|
|
3
|
+
## Import
|
|
4
|
+
|
|
5
|
+
```typescript
|
|
6
|
+
import { GdsTabPanelComponent } from '@sebgroup/green-core-ng'
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
Use the component in your Angular templates:
|
|
12
|
+
|
|
13
|
+
```html
|
|
14
|
+
<gds-tab-panel>
|
|
15
|
+
<!-- content -->
|
|
16
|
+
</gds-tab-panel>
|
|
17
|
+
```
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# gds-tab-panel
|
|
2
|
+
|
|
3
|
+
**Class**: `GdsTabPanel`
|
|
4
|
+
|
|
5
|
+
**Tag**: `<gds-tab-panel>`
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## Properties
|
|
9
|
+
|
|
10
|
+
| Name | Type | Default | Description |
|
|
11
|
+
|------|------|---------|-------------|
|
|
12
|
+
| `name` | `string` | `-` | A unique name used to associate this panel with a `<gds-tab panel="...">.` Must be unique within the parent `<gds-tabs>`. |
|
|
13
|
+
| `syncFirstRender` | `boolean` | `-` | Force the element to perform a synchronous first render and apply style expression properties in `connectedCallback`. This guarantees that the child DOM always remains projected in DOM, since the element will attach the shadowRoot and run the first render pass in the same event loop cycle, and that declarative layout will be applied once slotted DOM is projected. Note: This will cause the first render pass to be blocking. Use sparingly and only when necessary, such as when the element needs to be measured synchronously after being added to the DOM. |
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
## Slots
|
|
17
|
+
|
|
18
|
+
| Name | Description |
|
|
19
|
+
|------|-------------|
|
|
20
|
+
| `(default)` | Panel content |
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# gds-tab-panel - React
|
|
2
|
+
|
|
3
|
+
## Import
|
|
4
|
+
|
|
5
|
+
```typescript
|
|
6
|
+
import { GdsTabPanel } from '@sebgroup/green-core/react'
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
Use the component as a React JSX element:
|
|
12
|
+
|
|
13
|
+
```tsx
|
|
14
|
+
<GdsTabPanel>
|
|
15
|
+
{/* content */}
|
|
16
|
+
</GdsTabPanel>
|
|
17
|
+
```
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# gds-tabs - Angular
|
|
2
|
+
|
|
3
|
+
## Import
|
|
4
|
+
|
|
5
|
+
```typescript
|
|
6
|
+
import { GdsTabsComponent } from '@sebgroup/green-core-ng'
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
Use the component in your Angular templates:
|
|
12
|
+
|
|
13
|
+
```html
|
|
14
|
+
<gds-tabs>
|
|
15
|
+
<!-- content -->
|
|
16
|
+
</gds-tabs>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Event Handling
|
|
20
|
+
|
|
21
|
+
Events are emitted using Angular output syntax. Event names are converted from kebab-case to camelCase:
|
|
22
|
+
|
|
23
|
+
| Web Component Event | Angular Output | Handler Example |
|
|
24
|
+
|---------------------|----------------|-----------------|
|
|
25
|
+
| `click` | `click` | `(click)="handler($event)"` |
|
|
26
|
+
| `gds-tab-change` | `gdsTabChange` | `(gdsTabChange)="handler($event)"` |
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# gds-tabs
|
|
2
|
+
|
|
3
|
+
**Class**: `GdsTabs`
|
|
4
|
+
|
|
5
|
+
**Tag**: `<gds-tabs>`
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## Properties
|
|
9
|
+
|
|
10
|
+
> Some properties accept design token names. Use `get_tokens` with the appropriate category to discover valid token names and their resolved values.
|
|
11
|
+
|
|
12
|
+
| Name | Type | Default | Description |
|
|
13
|
+
|------|------|---------|-------------|
|
|
14
|
+
| `selected` | `number` | `-` | |
|
|
15
|
+
| `label` | `string` | `-` | Accessible label for the tab list container |
|
|
16
|
+
| `'align-self'` | `string \| undefined` | `-` | Style Expression Property that controls the `align-self` property. Supports all valid CSS `align-self` values. |
|
|
17
|
+
| `'justify-self'` | `string \| undefined` | `-` | Style Expression Property that controls the `justify-self` property. Supports all valid CSS `justify-self` values. |
|
|
18
|
+
| `'place-self'` | `string \| undefined` | `-` | Style Expression Property that controls the `place-self` property. Supports all valid CSS `place-self` values. |
|
|
19
|
+
| `'grid-column'` | `string \| undefined` | `-` | Style Expression Property that controls the `grid-column` property. Supports all valid CSS grid-column values. Documentation: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-column |
|
|
20
|
+
| `'grid-row'` | `string \| undefined` | `-` | Style Expression Property that controls the `grid-row` property. Supports all valid CSS `grid-row` values. |
|
|
21
|
+
| `'grid-area'` | `string \| undefined` | `-` | Style Expression Property that controls the `grid-area` property. Supports all valid CSS `grid-area` values. |
|
|
22
|
+
| `flex` | `string \| undefined` | `-` | Style Expression Property that controls the `flex` property. Supports all valid CSS `flex` values. |
|
|
23
|
+
| `order` | `string \| undefined` | `-` | Style Expression Property that controls the `order` property. Supports all valid CSS `order` values. |
|
|
24
|
+
| `width` | `string \| undefined` | `-` | Style Expression Property that controls the `width` property. Supports space tokens and all valid CSS `width` values. |
|
|
25
|
+
| `'min-width'` | `string \| undefined` | `-` | Style Expression Property that controls the `min-width` property. Supports space tokens and all valid CSS `min-width` values. |
|
|
26
|
+
| `'max-width'` | `string \| undefined` | `-` | Style Expression Property that controls the `max-width` property. Supports space tokens and all valid CSS `max-width` values. |
|
|
27
|
+
| `'inline-size'` | `string \| undefined` | `-` | Style Expression Property that controls the `inline-size` property. Supports space tokens and all valid CSS `inline-size` values |
|
|
28
|
+
| `'min-inline-size'` | `string \| undefined` | `-` | Style Expression Property that controls the `min-inline-size` property. Supports space tokens and all valid CSS `min-inline-size` values. |
|
|
29
|
+
| `'max-inline-size'` | `string \| undefined` | `-` | Style Expression Property that controls the `max-inline-size` property. Supports space tokens and all valid CSS `max-inline-size` values. |
|
|
30
|
+
| `margin` | `string \| undefined` | `-` | Style Expression Property that controls the `margin` property. Only accepts space tokens. |
|
|
31
|
+
| `'margin-inline'` | `string \| undefined` | `-` | Style Expression Property that controls the `margin-inline` property. Only accepts space tokens. |
|
|
32
|
+
| `'margin-block'` | `string \| undefined` | `-` | Style Expression Property that controls the `margin-block` property. Only accepts space tokens. |
|
|
33
|
+
| `syncFirstRender` | `boolean` | `-` | Force the element to perform a synchronous first render and apply style expression properties in `connectedCallback`. This guarantees that the child DOM always remains projected in DOM, since the element will attach the shadowRoot and run the first render pass in the same event loop cycle, and that declarative layout will be applied once slotted DOM is projected. Note: This will cause the first render pass to be blocking. Use sparingly and only when necessary, such as when the element needs to be measured synchronously after being added to the DOM. |
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
## Events
|
|
37
|
+
|
|
38
|
+
| Name | Type | Description |
|
|
39
|
+
|------|------|-------------|
|
|
40
|
+
| `click` | `MouseEvent` | Composed click events from child <gds-tab> elements. Note that clicks on disabled tabs are ignored. |
|
|
41
|
+
| `gds-tab-change` | `CustomEvent<any>` | Fires when selected tab changes. Detail: { index: number, tab: GdsTab } |
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
## Slots
|
|
45
|
+
|
|
46
|
+
| Name | Description |
|
|
47
|
+
|------|-------------|
|
|
48
|
+
| `tab` | One or more <gds-tab> trigger elements |
|
|
49
|
+
| `(default)` | One or more <gds-tab-panel> content elements |
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Tabs
|
|
2
|
+
|
|
3
|
+
Tabs allow users to navigate between groups of related content at the same level of hierarchy.
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
## Overview
|
|
7
|
+
|
|
8
|
+
### Default
|
|
9
|
+
|
|
10
|
+
Tabs are used as local navigation to organise related content into logical groupings. Users can switch between views without losing the context of the page.
|
|
11
|
+
|
|
12
|
+
### Overflow behaviour
|
|
13
|
+
|
|
14
|
+
When tabs exceed the available width, all tabs that cannot fit are grouped into a list in a fold-out modal. On mobile with only two tabs, each tab takes up 50% of the width.
|
|
15
|
+
|
|
16
|
+
### Tabs vs segmented control
|
|
17
|
+
|
|
18
|
+
Tabs and segmented controls can look similar, but they serve very different purposes. Choosing the wrong component leads to user confusion and misaligned expectations.
|
|
19
|
+
|
|
20
|
+
#### Use tabs when
|
|
21
|
+
|
|
22
|
+
Use tabs to navigate between **completely different views or distinct sections of content**. Each tab reveals unique content that is unrelated to what the other tabs show.
|
|
23
|
+
|
|
24
|
+
Think of tabs as separate binders — switching tabs takes the user to an entirely different set of content.
|
|
25
|
+
|
|
26
|
+
* The content under each tab is meaningfully different in nature
|
|
27
|
+
|
|
28
|
+
* Users are unlikely to need to compare the contents of multiple tabs at once
|
|
29
|
+
|
|
30
|
+
* The tabs act as primary or secondary navigation within the page
|
|
31
|
+
|
|
32
|
+
* Content groupings are based on different topics, data sets, or tasks
|
|
33
|
+
|
|
34
|
+
#### Use segmented control when
|
|
35
|
+
|
|
36
|
+
Use segmented control to **filter or toggle the presentation of the same underlying content**. The data does not change — only how it is displayed or sorted.
|
|
37
|
+
|
|
38
|
+
Think of segmented control as a switch that changes the lens through which you view the same document.
|
|
39
|
+
|
|
40
|
+
* You are switching between different representations of the same data (e.g. list vs. grid, weekly vs. monthly)
|
|
41
|
+
|
|
42
|
+
* The options act as filters or view toggles within a single context
|
|
43
|
+
|
|
44
|
+
* The component is embedded within a form or a content area, not used as page navigation
|
|
45
|
+
|
|
46
|
+
### Guidelines
|
|
47
|
+
|
|
48
|
+
Tabs are best suited for a small number of clearly distinct content groupings. Order tabs according to user needs, placing the most commonly accessed tab first.
|
|
49
|
+
|
|
50
|
+
### Disabled tabs
|
|
51
|
+
|
|
52
|
+
Individual tabs can be disabled to indicate that a section is unavailable. Use this sparingly and only when the reason for unavailability is clear to the user.
|
|
53
|
+
|
|
54
|
+
### Link tabs
|
|
55
|
+
|
|
56
|
+
Tabs can render as anchor links, navigating to a new URL rather than switching panel content inline. Use link tabs for top-level or cross-page navigation where each tab corresponds to a distinct URL.
|
|
57
|
+
|
|
58
|
+
### Leading and trailing content
|
|
59
|
+
|
|
60
|
+
Tab items support a leading slot for icons and a trailing slot for supplementary content such as notification badges or counts. Use these slots to aid recognition or communicate status — not for decoration.
|
|
61
|
+
|
|
62
|
+
### Leading and trailing content guidelines
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
## UX Guidelines
|
|
66
|
+
|
|
67
|
+
### Writing UX text for tabs
|
|
68
|
+
|
|
69
|
+
### Tab labels
|
|
70
|
+
|
|
71
|
+
### Common tab labels in overviews
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# gds-tabs - React
|
|
2
|
+
|
|
3
|
+
## Import
|
|
4
|
+
|
|
5
|
+
```typescript
|
|
6
|
+
import { GdsTabs } from '@sebgroup/green-core/react'
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
Use the component as a React JSX element:
|
|
12
|
+
|
|
13
|
+
```tsx
|
|
14
|
+
<GdsTabs>
|
|
15
|
+
{/* content */}
|
|
16
|
+
</GdsTabs>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Event Handling
|
|
20
|
+
|
|
21
|
+
Events are handled using React event handler props. Event names are converted from kebab-case to camelCase with an "on" prefix:
|
|
22
|
+
|
|
23
|
+
| Web Component Event | React Handler Prop | Handler Example |
|
|
24
|
+
|---------------------|--------------------|-----------------|
|
|
25
|
+
| `click` | `onClick` | `onClick={handler}` |
|
|
26
|
+
| `gds-tab-change` | `onGdsTabChange` | `onGdsTabChange={handler}` |
|