@synergy-design-system/mcp 0.1.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/README.md +539 -3
- package/dist/bin/create-checksum.d.ts +2 -0
- package/dist/bin/create-checksum.js +23 -0
- package/dist/bin/start.d.ts +2 -0
- package/dist/bin/start.js +8 -0
- package/dist/build/assets.d.ts +4 -0
- package/dist/build/assets.js +57 -0
- package/dist/build/build.d.ts +1 -0
- package/dist/build/build.js +33 -0
- package/dist/build/components.d.ts +4 -0
- package/dist/build/components.js +132 -0
- package/dist/build/frameworks.d.ts +4 -0
- package/dist/build/frameworks.js +61 -0
- package/dist/build/static.d.ts +4 -0
- package/dist/build/static.js +57 -0
- package/dist/build/styles.d.ts +4 -0
- package/dist/build/styles.js +58 -0
- package/dist/build/tokens.d.ts +4 -0
- package/dist/build/tokens.js +59 -0
- package/dist/server.d.ts +6 -0
- package/dist/server.js +20 -0
- package/dist/tools/asset-info.d.ts +8 -0
- package/dist/tools/asset-info.js +140 -0
- package/dist/tools/asset-list.d.ts +6 -0
- package/dist/tools/asset-list.js +40 -0
- package/dist/tools/component-info.d.ts +6 -0
- package/dist/tools/component-info.js +35 -0
- package/dist/tools/component-list.d.ts +7 -0
- package/dist/tools/component-list.js +42 -0
- package/dist/tools/davinci-migration.d.ts +3 -0
- package/dist/tools/davinci-migration.js +66 -0
- package/dist/tools/framework-info.d.ts +7 -0
- package/dist/tools/framework-info.js +59 -0
- package/dist/tools/index.d.ts +13 -0
- package/dist/tools/index.js +13 -0
- package/dist/tools/migration-info.d.ts +6 -0
- package/dist/tools/migration-info.js +27 -0
- package/dist/tools/styles-info.d.ts +7 -0
- package/dist/tools/styles-info.js +28 -0
- package/dist/tools/styles-list.d.ts +7 -0
- package/dist/tools/styles-list.js +42 -0
- package/dist/tools/template-info.d.ts +6 -0
- package/dist/tools/template-info.js +34 -0
- package/dist/tools/template-list.d.ts +7 -0
- package/dist/tools/template-list.js +42 -0
- package/dist/tools/tokens.d.ts +7 -0
- package/dist/tools/tokens.js +24 -0
- package/dist/tools/version.d.ts +7 -0
- package/dist/tools/version.js +51 -0
- package/dist/utilities/assets.d.ts +2 -0
- package/dist/utilities/assets.js +3 -0
- package/dist/utilities/checksum.d.ts +36 -0
- package/dist/utilities/checksum.js +93 -0
- package/dist/utilities/components.d.ts +25 -0
- package/dist/utilities/components.js +86 -0
- package/dist/utilities/config.d.ts +76 -0
- package/dist/utilities/config.js +77 -0
- package/dist/utilities/file.d.ts +12 -0
- package/dist/utilities/file.js +31 -0
- package/dist/utilities/index.d.ts +12 -0
- package/dist/utilities/index.js +12 -0
- package/dist/utilities/metadata.d.ts +28 -0
- package/dist/utilities/metadata.js +57 -0
- package/dist/utilities/migration.d.ts +1 -0
- package/dist/utilities/migration.js +10 -0
- package/dist/utilities/stdio.d.ts +14 -0
- package/dist/utilities/stdio.js +60 -0
- package/dist/utilities/storybook/build-docs.d.ts +2 -0
- package/dist/utilities/storybook/build-docs.js +42 -0
- package/dist/utilities/storybook/configs.d.ts +13 -0
- package/dist/utilities/storybook/configs.js +85 -0
- package/dist/utilities/storybook/docs-scraper.d.ts +26 -0
- package/dist/utilities/storybook/docs-scraper.js +97 -0
- package/dist/utilities/storybook/index.d.ts +5 -0
- package/dist/utilities/storybook/index.js +4 -0
- package/dist/utilities/storybook/scraper.d.ts +14 -0
- package/dist/utilities/storybook/scraper.js +196 -0
- package/dist/utilities/storybook/storybook-manager.d.ts +29 -0
- package/dist/utilities/storybook/storybook-manager.js +139 -0
- package/dist/utilities/storybook/types.d.ts +22 -0
- package/dist/utilities/storybook/types.js +1 -0
- package/dist/utilities/styles.d.ts +6 -0
- package/dist/utilities/styles.js +24 -0
- package/dist/utilities/templates.d.ts +12 -0
- package/dist/utilities/templates.js +28 -0
- package/dist/utilities/tokens.d.ts +1 -0
- package/dist/utilities/tokens.js +21 -0
- package/dist/utilities/version.d.ts +10 -0
- package/dist/utilities/version.js +21 -0
- package/metadata/checksum.txt +1 -0
- package/metadata/davinci-migration/migration-guide.md +1859 -0
- package/metadata/packages/angular/LIMITATIONS.md +32 -0
- package/metadata/packages/angular/README.md +393 -0
- package/metadata/packages/assets/CHANGELOG.md +196 -0
- package/metadata/packages/assets/README.md +79 -0
- package/metadata/packages/components/components/syn-accordion/component.angular.ts +80 -0
- package/metadata/packages/components/components/syn-accordion/component.react.ts +30 -0
- package/metadata/packages/components/components/syn-accordion/component.styles.ts +15 -0
- package/metadata/packages/components/components/syn-accordion/component.ts +111 -0
- package/metadata/packages/components/components/syn-accordion/component.vue +64 -0
- package/metadata/packages/components/components/syn-alert/component.angular.ts +158 -0
- package/metadata/packages/components/components/syn-alert/component.custom.styles.ts +90 -0
- package/metadata/packages/components/components/syn-alert/component.react.ts +60 -0
- package/metadata/packages/components/components/syn-alert/component.styles.ts +110 -0
- package/metadata/packages/components/components/syn-alert/component.ts +324 -0
- package/metadata/packages/components/components/syn-alert/component.vue +130 -0
- package/metadata/packages/components/components/syn-badge/component.angular.ts +53 -0
- package/metadata/packages/components/components/syn-badge/component.custom.styles.ts +61 -0
- package/metadata/packages/components/components/syn-badge/component.react.ts +29 -0
- package/metadata/packages/components/components/syn-badge/component.styles.ts +59 -0
- package/metadata/packages/components/components/syn-badge/component.ts +65 -0
- package/metadata/packages/components/components/syn-badge/component.vue +53 -0
- package/metadata/packages/components/components/syn-breadcrumb/component.angular.ts +58 -0
- package/metadata/packages/components/components/syn-breadcrumb/component.custom.styles.ts +5 -0
- package/metadata/packages/components/components/syn-breadcrumb/component.react.ts +32 -0
- package/metadata/packages/components/components/syn-breadcrumb/component.styles.ts +18 -0
- package/metadata/packages/components/components/syn-breadcrumb/component.ts +110 -0
- package/metadata/packages/components/components/syn-breadcrumb/component.vue +58 -0
- package/metadata/packages/components/components/syn-breadcrumb-item/component.angular.ts +88 -0
- package/metadata/packages/components/components/syn-breadcrumb-item/component.custom.styles.ts +74 -0
- package/metadata/packages/components/components/syn-breadcrumb-item/component.react.ts +37 -0
- package/metadata/packages/components/components/syn-breadcrumb-item/component.styles.ts +95 -0
- package/metadata/packages/components/components/syn-breadcrumb-item/component.ts +139 -0
- package/metadata/packages/components/components/syn-breadcrumb-item/component.vue +76 -0
- package/metadata/packages/components/components/syn-button/component.angular.ts +318 -0
- package/metadata/packages/components/components/syn-button/component.custom.styles.ts +206 -0
- package/metadata/packages/components/components/syn-button/component.react.ts +56 -0
- package/metadata/packages/components/components/syn-button/component.styles.ts +368 -0
- package/metadata/packages/components/components/syn-button/component.ts +322 -0
- package/metadata/packages/components/components/syn-button/component.vue +204 -0
- package/metadata/packages/components/components/syn-button-group/component.angular.ts +55 -0
- package/metadata/packages/components/components/syn-button-group/component.react.ts +29 -0
- package/metadata/packages/components/components/syn-button-group/component.styles.ts +21 -0
- package/metadata/packages/components/components/syn-button-group/component.ts +103 -0
- package/metadata/packages/components/components/syn-button-group/component.vue +55 -0
- package/metadata/packages/components/components/syn-card/component.angular.ts +69 -0
- package/metadata/packages/components/components/syn-card/component.custom.styles.ts +55 -0
- package/metadata/packages/components/components/syn-card/component.react.ts +41 -0
- package/metadata/packages/components/components/syn-card/component.styles.ts +77 -0
- package/metadata/packages/components/components/syn-card/component.ts +68 -0
- package/metadata/packages/components/components/syn-card/component.vue +67 -0
- package/metadata/packages/components/components/syn-checkbox/component.angular.ts +260 -0
- package/metadata/packages/components/components/syn-checkbox/component.custom.styles.ts +53 -0
- package/metadata/packages/components/components/syn-checkbox/component.react.ts +64 -0
- package/metadata/packages/components/components/syn-checkbox/component.styles.ts +130 -0
- package/metadata/packages/components/components/syn-checkbox/component.ts +291 -0
- package/metadata/packages/components/components/syn-checkbox/component.vue +186 -0
- package/metadata/packages/components/components/syn-combobox/component.angular.ts +436 -0
- package/metadata/packages/components/components/syn-combobox/component.custom.styles.ts +35 -0
- package/metadata/packages/components/components/syn-combobox/component.react.ts +109 -0
- package/metadata/packages/components/components/syn-combobox/component.styles.ts +406 -0
- package/metadata/packages/components/components/syn-combobox/component.ts +1139 -0
- package/metadata/packages/components/components/syn-combobox/component.vue +304 -0
- package/metadata/packages/components/components/syn-details/component.angular.ts +184 -0
- package/metadata/packages/components/components/syn-details/component.custom.styles.ts +140 -0
- package/metadata/packages/components/components/syn-details/component.react.ts +63 -0
- package/metadata/packages/components/components/syn-details/component.styles.ts +90 -0
- package/metadata/packages/components/components/syn-details/component.ts +266 -0
- package/metadata/packages/components/components/syn-details/component.vue +134 -0
- package/metadata/packages/components/components/syn-dialog/component.angular.ts +201 -0
- package/metadata/packages/components/components/syn-dialog/component.custom.styles.ts +54 -0
- package/metadata/packages/components/components/syn-dialog/component.react.ts +91 -0
- package/metadata/packages/components/components/syn-dialog/component.styles.ts +129 -0
- package/metadata/packages/components/components/syn-dialog/component.ts +366 -0
- package/metadata/packages/components/components/syn-dialog/component.vue +169 -0
- package/metadata/packages/components/components/syn-divider/component.angular.ts +55 -0
- package/metadata/packages/components/components/syn-divider/component.custom.styles.ts +8 -0
- package/metadata/packages/components/components/syn-divider/component.react.ts +29 -0
- package/metadata/packages/components/components/syn-divider/component.styles.ts +31 -0
- package/metadata/packages/components/components/syn-divider/component.ts +42 -0
- package/metadata/packages/components/components/syn-divider/component.vue +51 -0
- package/metadata/packages/components/components/syn-drawer/component.angular.ts +234 -0
- package/metadata/packages/components/components/syn-drawer/component.custom.styles.ts +78 -0
- package/metadata/packages/components/components/syn-drawer/component.react.ts +98 -0
- package/metadata/packages/components/components/syn-drawer/component.styles.ts +165 -0
- package/metadata/packages/components/components/syn-drawer/component.ts +496 -0
- package/metadata/packages/components/components/syn-drawer/component.vue +188 -0
- package/metadata/packages/components/components/syn-dropdown/component.angular.ts +223 -0
- package/metadata/packages/components/components/syn-dropdown/component.custom.styles.ts +5 -0
- package/metadata/packages/components/components/syn-dropdown/component.react.ts +59 -0
- package/metadata/packages/components/components/syn-dropdown/component.styles.ts +60 -0
- package/metadata/packages/components/components/syn-dropdown/component.ts +484 -0
- package/metadata/packages/components/components/syn-dropdown/component.vue +159 -0
- package/metadata/packages/components/components/syn-file/component.angular.ts +359 -0
- package/metadata/packages/components/components/syn-file/component.react.ts +85 -0
- package/metadata/packages/components/components/syn-file/component.styles.ts +179 -0
- package/metadata/packages/components/components/syn-file/component.ts +631 -0
- package/metadata/packages/components/components/syn-file/component.vue +251 -0
- package/metadata/packages/components/components/syn-header/component.angular.ts +132 -0
- package/metadata/packages/components/components/syn-header/component.react.ts +65 -0
- package/metadata/packages/components/components/syn-header/component.styles.ts +128 -0
- package/metadata/packages/components/components/syn-header/component.ts +260 -0
- package/metadata/packages/components/components/syn-header/component.vue +117 -0
- package/metadata/packages/components/components/syn-icon/component.angular.ts +115 -0
- package/metadata/packages/components/components/syn-icon/component.custom.styles.ts +5 -0
- package/metadata/packages/components/components/syn-icon/component.react.ts +41 -0
- package/metadata/packages/components/components/syn-icon/component.styles.ts +25 -0
- package/metadata/packages/components/components/syn-icon/component.ts +234 -0
- package/metadata/packages/components/components/syn-icon/component.vue +100 -0
- package/metadata/packages/components/components/syn-icon-button/component.angular.ts +185 -0
- package/metadata/packages/components/components/syn-icon-button/component.custom.styles.ts +68 -0
- package/metadata/packages/components/components/syn-icon-button/component.react.ts +42 -0
- package/metadata/packages/components/components/syn-icon-button/component.styles.ts +59 -0
- package/metadata/packages/components/components/syn-icon-button/component.ts +154 -0
- package/metadata/packages/components/components/syn-icon-button/component.vue +132 -0
- package/metadata/packages/components/components/syn-input/component.angular.ts +606 -0
- package/metadata/packages/components/components/syn-input/component.custom.styles.ts +278 -0
- package/metadata/packages/components/components/syn-input/component.react.ts +91 -0
- package/metadata/packages/components/components/syn-input/component.styles.ts +287 -0
- package/metadata/packages/components/components/syn-input/component.ts +942 -0
- package/metadata/packages/components/components/syn-input/component.vue +370 -0
- package/metadata/packages/components/components/syn-menu/component.angular.ts +52 -0
- package/metadata/packages/components/components/syn-menu/component.custom.styles.ts +29 -0
- package/metadata/packages/components/components/syn-menu/component.react.ts +36 -0
- package/metadata/packages/components/components/syn-menu/component.styles.ts +27 -0
- package/metadata/packages/components/components/syn-menu/component.ts +199 -0
- package/metadata/packages/components/components/syn-menu/component.vue +48 -0
- package/metadata/packages/components/components/syn-menu-item/component.angular.ts +121 -0
- package/metadata/packages/components/components/syn-menu-item/component.custom.styles.ts +128 -0
- package/metadata/packages/components/components/syn-menu-item/component.react.ts +45 -0
- package/metadata/packages/components/components/syn-menu-item/component.styles.ts +164 -0
- package/metadata/packages/components/components/syn-menu-item/component.ts +209 -0
- package/metadata/packages/components/components/syn-menu-item/component.vue +91 -0
- package/metadata/packages/components/components/syn-menu-label/component.angular.ts +48 -0
- package/metadata/packages/components/components/syn-menu-label/component.custom.styles.ts +24 -0
- package/metadata/packages/components/components/syn-menu-label/component.react.ts +35 -0
- package/metadata/packages/components/components/syn-menu-label/component.styles.ts +28 -0
- package/metadata/packages/components/components/syn-menu-label/component.ts +54 -0
- package/metadata/packages/components/components/syn-menu-label/component.vue +41 -0
- package/metadata/packages/components/components/syn-nav-item/component.angular.ts +242 -0
- package/metadata/packages/components/components/syn-nav-item/component.react.ts +82 -0
- package/metadata/packages/components/components/syn-nav-item/component.styles.ts +337 -0
- package/metadata/packages/components/components/syn-nav-item/component.ts +492 -0
- package/metadata/packages/components/components/syn-nav-item/component.vue +182 -0
- package/metadata/packages/components/components/syn-optgroup/component.angular.ts +79 -0
- package/metadata/packages/components/components/syn-optgroup/component.react.ts +41 -0
- package/metadata/packages/components/components/syn-optgroup/component.styles.ts +59 -0
- package/metadata/packages/components/components/syn-optgroup/component.ts +176 -0
- package/metadata/packages/components/components/syn-optgroup/component.vue +71 -0
- package/metadata/packages/components/components/syn-option/component.angular.ts +79 -0
- package/metadata/packages/components/components/syn-option/component.custom.styles.ts +81 -0
- package/metadata/packages/components/components/syn-option/component.react.ts +37 -0
- package/metadata/packages/components/components/syn-option/component.styles.ts +96 -0
- package/metadata/packages/components/components/syn-option/component.ts +174 -0
- package/metadata/packages/components/components/syn-option/component.vue +71 -0
- package/metadata/packages/components/components/syn-popup/component.angular.ts +385 -0
- package/metadata/packages/components/components/syn-popup/component.react.ts +55 -0
- package/metadata/packages/components/components/syn-popup/component.styles.ts +70 -0
- package/metadata/packages/components/components/syn-popup/component.ts +583 -0
- package/metadata/packages/components/components/syn-popup/component.vue +240 -0
- package/metadata/packages/components/components/syn-prio-nav/component.angular.ts +67 -0
- package/metadata/packages/components/components/syn-prio-nav/component.react.ts +54 -0
- package/metadata/packages/components/components/syn-prio-nav/component.styles.ts +48 -0
- package/metadata/packages/components/components/syn-prio-nav/component.ts +287 -0
- package/metadata/packages/components/components/syn-prio-nav/component.vue +60 -0
- package/metadata/packages/components/components/syn-progress-bar/component.angular.ts +85 -0
- package/metadata/packages/components/components/syn-progress-bar/component.custom.styles.ts +22 -0
- package/metadata/packages/components/components/syn-progress-bar/component.react.ts +37 -0
- package/metadata/packages/components/components/syn-progress-bar/component.styles.ts +94 -0
- package/metadata/packages/components/components/syn-progress-bar/component.ts +74 -0
- package/metadata/packages/components/components/syn-progress-bar/component.vue +71 -0
- package/metadata/packages/components/components/syn-progress-ring/component.angular.ts +72 -0
- package/metadata/packages/components/components/syn-progress-ring/component.custom.styles.ts +17 -0
- package/metadata/packages/components/components/syn-progress-ring/component.react.ts +37 -0
- package/metadata/packages/components/components/syn-progress-ring/component.styles.ts +77 -0
- package/metadata/packages/components/components/syn-progress-ring/component.ts +90 -0
- package/metadata/packages/components/components/syn-progress-ring/component.vue +66 -0
- package/metadata/packages/components/components/syn-radio/component.angular.ts +109 -0
- package/metadata/packages/components/components/syn-radio/component.custom.styles.ts +73 -0
- package/metadata/packages/components/components/syn-radio/component.react.ts +48 -0
- package/metadata/packages/components/components/syn-radio/component.styles.ts +124 -0
- package/metadata/packages/components/components/syn-radio/component.ts +129 -0
- package/metadata/packages/components/components/syn-radio/component.vue +99 -0
- package/metadata/packages/components/components/syn-radio-button/component.angular.ts +123 -0
- package/metadata/packages/components/components/syn-radio-button/component.react.ts +49 -0
- package/metadata/packages/components/components/syn-radio-button/component.styles.ts +37 -0
- package/metadata/packages/components/components/syn-radio-button/component.ts +149 -0
- package/metadata/packages/components/components/syn-radio-button/component.vue +105 -0
- package/metadata/packages/components/components/syn-radio-group/component.angular.ts +204 -0
- package/metadata/packages/components/components/syn-radio-group/component.custom.styles.ts +22 -0
- package/metadata/packages/components/components/syn-radio-group/component.react.ts +56 -0
- package/metadata/packages/components/components/syn-radio-group/component.styles.ts +44 -0
- package/metadata/packages/components/components/syn-radio-group/component.ts +418 -0
- package/metadata/packages/components/components/syn-radio-group/component.vue +158 -0
- package/metadata/packages/components/components/syn-range/component.angular.ts +334 -0
- package/metadata/packages/components/components/syn-range/component.react.ts +92 -0
- package/metadata/packages/components/components/syn-range/component.styles.ts +284 -0
- package/metadata/packages/components/components/syn-range/component.ts +878 -0
- package/metadata/packages/components/components/syn-range/component.vue +240 -0
- package/metadata/packages/components/components/syn-range-tick/component.angular.ts +59 -0
- package/metadata/packages/components/components/syn-range-tick/component.react.ts +33 -0
- package/metadata/packages/components/components/syn-range-tick/component.styles.ts +34 -0
- package/metadata/packages/components/components/syn-range-tick/component.ts +50 -0
- package/metadata/packages/components/components/syn-range-tick/component.vue +57 -0
- package/metadata/packages/components/components/syn-resize-observer/component.styles.ts +16 -0
- package/metadata/packages/components/components/syn-resize-observer/component.ts +98 -0
- package/metadata/packages/components/components/syn-select/component.angular.ts +441 -0
- package/metadata/packages/components/components/syn-select/component.custom.styles.ts +176 -0
- package/metadata/packages/components/components/syn-select/component.react.ts +101 -0
- package/metadata/packages/components/components/syn-select/component.styles.ts +316 -0
- package/metadata/packages/components/components/syn-select/component.ts +1054 -0
- package/metadata/packages/components/components/syn-select/component.vue +303 -0
- package/metadata/packages/components/components/syn-side-nav/component.angular.ts +231 -0
- package/metadata/packages/components/components/syn-side-nav/component.react.ts +95 -0
- package/metadata/packages/components/components/syn-side-nav/component.styles.ts +160 -0
- package/metadata/packages/components/components/syn-side-nav/component.ts +492 -0
- package/metadata/packages/components/components/syn-side-nav/component.vue +201 -0
- package/metadata/packages/components/components/syn-spinner/component.angular.ts +44 -0
- package/metadata/packages/components/components/syn-spinner/component.custom.styles.ts +31 -0
- package/metadata/packages/components/components/syn-spinner/component.react.ts +31 -0
- package/metadata/packages/components/components/syn-spinner/component.styles.ts +55 -0
- package/metadata/packages/components/components/syn-spinner/component.ts +42 -0
- package/metadata/packages/components/components/syn-spinner/component.vue +35 -0
- package/metadata/packages/components/components/syn-switch/component.angular.ts +244 -0
- package/metadata/packages/components/components/syn-switch/component.custom.styles.ts +112 -0
- package/metadata/packages/components/components/syn-switch/component.react.ts +63 -0
- package/metadata/packages/components/components/syn-switch/component.styles.ts +177 -0
- package/metadata/packages/components/components/syn-switch/component.ts +274 -0
- package/metadata/packages/components/components/syn-switch/component.vue +178 -0
- package/metadata/packages/components/components/syn-tab/component.angular.ts +109 -0
- package/metadata/packages/components/components/syn-tab/component.custom.styles.ts +92 -0
- package/metadata/packages/components/components/syn-tab/component.react.ts +42 -0
- package/metadata/packages/components/components/syn-tab/component.styles.ts +77 -0
- package/metadata/packages/components/components/syn-tab/component.ts +132 -0
- package/metadata/packages/components/components/syn-tab/component.vue +91 -0
- package/metadata/packages/components/components/syn-tab-group/component.angular.ts +166 -0
- package/metadata/packages/components/components/syn-tab-group/component.custom.styles.ts +248 -0
- package/metadata/packages/components/components/syn-tab-group/component.react.ts +58 -0
- package/metadata/packages/components/components/syn-tab-group/component.styles.ts +200 -0
- package/metadata/packages/components/components/syn-tab-group/component.ts +557 -0
- package/metadata/packages/components/components/syn-tab-group/component.vue +126 -0
- package/metadata/packages/components/components/syn-tab-panel/component.angular.ts +68 -0
- package/metadata/packages/components/components/syn-tab-panel/component.custom.styles.ts +8 -0
- package/metadata/packages/components/components/syn-tab-panel/component.react.ts +31 -0
- package/metadata/packages/components/components/syn-tab-panel/component.styles.ts +27 -0
- package/metadata/packages/components/components/syn-tab-panel/component.ts +67 -0
- package/metadata/packages/components/components/syn-tab-panel/component.vue +60 -0
- package/metadata/packages/components/components/syn-tag/component.angular.ts +83 -0
- package/metadata/packages/components/components/syn-tag/component.custom.styles.ts +120 -0
- package/metadata/packages/components/components/syn-tag/component.react.ts +43 -0
- package/metadata/packages/components/components/syn-tag/component.styles.ts +65 -0
- package/metadata/packages/components/components/syn-tag/component.ts +90 -0
- package/metadata/packages/components/components/syn-tag/component.vue +81 -0
- package/metadata/packages/components/components/syn-textarea/component.angular.ts +394 -0
- package/metadata/packages/components/components/syn-textarea/component.custom.styles.ts +18 -0
- package/metadata/packages/components/components/syn-textarea/component.react.ts +60 -0
- package/metadata/packages/components/components/syn-textarea/component.styles.ts +187 -0
- package/metadata/packages/components/components/syn-textarea/component.ts +401 -0
- package/metadata/packages/components/components/syn-textarea/component.vue +244 -0
- package/metadata/packages/components/components/syn-tooltip/component.angular.ts +212 -0
- package/metadata/packages/components/components/syn-tooltip/component.custom.styles.ts +13 -0
- package/metadata/packages/components/components/syn-tooltip/component.react.ts +63 -0
- package/metadata/packages/components/components/syn-tooltip/component.styles.ts +64 -0
- package/metadata/packages/components/components/syn-tooltip/component.ts +319 -0
- package/metadata/packages/components/components/syn-tooltip/component.vue +158 -0
- package/metadata/packages/components/components/syn-validate/component.angular.ts +128 -0
- package/metadata/packages/components/components/syn-validate/component.react.ts +36 -0
- package/metadata/packages/components/components/syn-validate/component.styles.ts +9 -0
- package/metadata/packages/components/components/syn-validate/component.ts +437 -0
- package/metadata/packages/components/components/syn-validate/component.vue +98 -0
- package/metadata/packages/components/migration/BREAKING_CHANGES.md +489 -0
- package/metadata/packages/components/migration/migration-synergy-v3.md +50 -0
- package/metadata/packages/components/static/CHANGELOG.md +1107 -0
- package/metadata/packages/components/static/LIMITATIONS.md +269 -0
- package/metadata/packages/components/static/README.md +248 -0
- package/metadata/packages/react/LIMITATIONS.md +31 -0
- package/metadata/packages/react/README.md +262 -0
- package/metadata/packages/styles/CHANGELOG.md +76 -0
- package/metadata/packages/styles/README.md +132 -0
- package/metadata/packages/styles/index.css +309 -0
- package/metadata/packages/styles/link-list.css +47 -0
- package/metadata/packages/styles/link.css +79 -0
- package/metadata/packages/styles/tables.css +143 -0
- package/metadata/packages/styles/typography.css +52 -0
- package/metadata/packages/tokens/CHANGELOG.md +431 -0
- package/metadata/packages/tokens/README.md +408 -0
- package/metadata/packages/tokens/dark.css +268 -0
- package/metadata/packages/tokens/index.js +1294 -0
- package/metadata/packages/tokens/light.css +268 -0
- package/metadata/packages/vue/LIMITATIONS.md +53 -0
- package/metadata/packages/vue/README.md +252 -0
- package/metadata/static/angular/index.md +6 -0
- package/metadata/static/assets/index.md +10 -0
- package/metadata/static/component-info/index.md +24 -0
- package/metadata/static/component-list/index.md +34 -0
- package/metadata/static/components/index.md +10 -0
- package/metadata/static/components/syn-accordion/docs.md +428 -0
- package/metadata/static/components/syn-alert/docs.md +231 -0
- package/metadata/static/components/syn-badge/docs.md +128 -0
- package/metadata/static/components/syn-breadcrumb/docs.md +265 -0
- package/metadata/static/components/syn-breadcrumb-item/docs.md +49 -0
- package/metadata/static/components/syn-button/docs.md +402 -0
- package/metadata/static/components/syn-card/docs.md +273 -0
- package/metadata/static/components/syn-checkbox/docs.md +77 -0
- package/metadata/static/components/syn-combobox/docs.md +2402 -0
- package/metadata/static/components/syn-details/docs.md +220 -0
- package/metadata/static/components/syn-dialog/docs.md +222 -0
- package/metadata/static/components/syn-divider/docs.md +77 -0
- package/metadata/static/components/syn-drawer/docs.md +271 -0
- package/metadata/static/components/syn-dropdown/docs.md +316 -0
- package/metadata/static/components/syn-file/docs.md +215 -0
- package/metadata/static/components/syn-header/docs.md +134 -0
- package/metadata/static/components/syn-icon/docs.md +177 -0
- package/metadata/static/components/syn-icon-button/docs.md +142 -0
- package/metadata/static/components/syn-input/docs.md +460 -0
- package/metadata/static/components/syn-menu/docs.md +162 -0
- package/metadata/static/components/syn-menu-item/docs.md +196 -0
- package/metadata/static/components/syn-menu-label/docs.md +29 -0
- package/metadata/static/components/syn-nav-item/docs.md +161 -0
- package/metadata/static/components/syn-optgroup/docs.md +167 -0
- package/metadata/static/components/syn-option/docs.md +137 -0
- package/metadata/static/components/syn-prio-nav/docs.md +54 -0
- package/metadata/static/components/syn-progress-bar/docs.md +77 -0
- package/metadata/static/components/syn-progress-ring/docs.md +89 -0
- package/metadata/static/components/syn-radio/docs.md +123 -0
- package/metadata/static/components/syn-radio-group/docs.md +363 -0
- package/metadata/static/components/syn-range/docs.md +419 -0
- package/metadata/static/components/syn-range-tick/docs.md +110 -0
- package/metadata/static/components/syn-select/docs.md +730 -0
- package/metadata/static/components/syn-side-nav/docs.md +593 -0
- package/metadata/static/components/syn-spinner/docs.md +45 -0
- package/metadata/static/components/syn-switch/docs.md +74 -0
- package/metadata/static/components/syn-tab/docs.md +47 -0
- package/metadata/static/components/syn-tab-group/docs.md +1094 -0
- package/metadata/static/components/syn-tab-panel/docs.md +91 -0
- package/metadata/static/components/syn-tag/docs.md +50 -0
- package/metadata/static/components/syn-textarea/docs.md +215 -0
- package/metadata/static/components/syn-tooltip/docs.md +144 -0
- package/metadata/static/components/syn-validate/docs.md +225 -0
- package/metadata/static/migration/index.md +16 -0
- package/metadata/static/react/index.md +8 -0
- package/metadata/static/setup/icon-usage.md +276 -0
- package/metadata/static/setup/prerequisites.md +171 -0
- package/metadata/static/styles/index.md +11 -0
- package/metadata/static/styles/syn-body.md +5 -0
- package/metadata/static/styles/syn-heading.md +5 -0
- package/metadata/static/styles/syn-link-list.md +325 -0
- package/metadata/static/styles/syn-link.md +156 -0
- package/metadata/static/styles/syn-table-cell.md +125 -0
- package/metadata/static/styles/syn-table.md +201 -0
- package/metadata/static/styles/syn-weight.md +5 -0
- package/metadata/static/templates/appshell.md +2061 -0
- package/metadata/static/templates/breadcrumb.md +375 -0
- package/metadata/static/templates/footer.md +342 -0
- package/metadata/static/templates/forms.md +369 -0
- package/metadata/static/templates/index.md +9 -0
- package/metadata/static/templates/table.md +1426 -0
- package/metadata/static/vue/index.md +6 -0
- package/package.json +109 -4
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------
|
|
2
|
+
// 🔒 AUTOGENERATED @synergy-design-system/react wrappers for @synergy-design-system/components
|
|
3
|
+
// Please do not edit this file directly!
|
|
4
|
+
// It will get recreated when running pnpm build.
|
|
5
|
+
// ---------------------------------------------------------------------
|
|
6
|
+
import * as React from 'react';
|
|
7
|
+
import { createComponent } from '@lit/react';
|
|
8
|
+
import Component from '@synergy-design-system/components/components/badge/badge.component.js';
|
|
9
|
+
|
|
10
|
+
const tagName = 'syn-badge';
|
|
11
|
+
Component.define('syn-badge');
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @summary Badges are used to draw attention and display statuses or counts.
|
|
15
|
+
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-badge--docs
|
|
16
|
+
* @status stable
|
|
17
|
+
* @since 2.0
|
|
18
|
+
*
|
|
19
|
+
* @slot - The badge's content.
|
|
20
|
+
*
|
|
21
|
+
* @csspart base - The component's base wrapper.
|
|
22
|
+
*/
|
|
23
|
+
export const SynBadge = createComponent({
|
|
24
|
+
displayName: 'SynBadge',
|
|
25
|
+
elementClass: Component,
|
|
26
|
+
events: {},
|
|
27
|
+
react: React,
|
|
28
|
+
tagName,
|
|
29
|
+
});
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ---------------------------------------------------------------------
|
|
3
|
+
* 🔒 AUTOGENERATED BY VENDORISM
|
|
4
|
+
* Removing this comment will prevent it from being managed by it.
|
|
5
|
+
* ---------------------------------------------------------------------
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/* eslint-disable */
|
|
9
|
+
import { css } from 'lit';
|
|
10
|
+
|
|
11
|
+
export default css`
|
|
12
|
+
/* stylelint-disable */
|
|
13
|
+
:host {
|
|
14
|
+
display: inline-flex;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.badge {
|
|
18
|
+
display: inline-flex;
|
|
19
|
+
align-items: center;
|
|
20
|
+
justify-content: center;
|
|
21
|
+
font-size: max(12px, 0.75em);
|
|
22
|
+
font-weight: var(--syn-font-weight-semibold);
|
|
23
|
+
letter-spacing: var(--syn-letter-spacing-normal);
|
|
24
|
+
line-height: 1;
|
|
25
|
+
border-radius: var(--syn-border-radius-small);
|
|
26
|
+
border: solid 1px var(--syn-color-neutral-0);
|
|
27
|
+
white-space: nowrap;
|
|
28
|
+
padding: 0.35em 0.6em;
|
|
29
|
+
user-select: none;
|
|
30
|
+
-webkit-user-select: none;
|
|
31
|
+
cursor: inherit;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/* Variant modifiers */
|
|
35
|
+
.badge--primary {
|
|
36
|
+
background-color: var(--syn-color-primary-600);
|
|
37
|
+
color: var(--syn-color-neutral-0);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.badge--success {
|
|
41
|
+
background-color: var(--syn-color-success-600);
|
|
42
|
+
color: var(--syn-color-neutral-0);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.badge--neutral {
|
|
46
|
+
background-color: var(--syn-color-neutral-600);
|
|
47
|
+
color: var(--syn-color-neutral-0);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.badge--warning {
|
|
51
|
+
background-color: var(--syn-color-warning-600);
|
|
52
|
+
color: var(--syn-color-neutral-0);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.badge--danger {
|
|
56
|
+
background-color: var(--syn-color-danger-600);
|
|
57
|
+
color: var(--syn-color-neutral-0);
|
|
58
|
+
}
|
|
59
|
+
`;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ---------------------------------------------------------------------
|
|
3
|
+
* 🔒 AUTOGENERATED BY VENDORISM
|
|
4
|
+
* Removing this comment will prevent it from being managed by it.
|
|
5
|
+
* ---------------------------------------------------------------------
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/* eslint-disable */
|
|
9
|
+
import { classMap } from 'lit/directives/class-map.js';
|
|
10
|
+
import { html } from 'lit';
|
|
11
|
+
import { property } from 'lit/decorators.js';
|
|
12
|
+
import componentStyles from '../../styles/component.styles.js';
|
|
13
|
+
import SynergyElement from '../../internal/synergy-element.js';
|
|
14
|
+
import { LocalizeController } from '../../utilities/localize.js';
|
|
15
|
+
import styles from './badge.styles.js';
|
|
16
|
+
import customStyles from './badge.custom.styles.js';
|
|
17
|
+
import type { CSSResultGroup } from 'lit';
|
|
18
|
+
import { enableDefaultSettings } from '../../utilities/defaultSettings/decorator.js';
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @summary Badges are used to draw attention and display statuses or counts.
|
|
22
|
+
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-badge--docs
|
|
23
|
+
* @status stable
|
|
24
|
+
* @since 2.0
|
|
25
|
+
*
|
|
26
|
+
* @slot - The badge's content.
|
|
27
|
+
*
|
|
28
|
+
* @csspart base - The component's base wrapper.
|
|
29
|
+
*/
|
|
30
|
+
@enableDefaultSettings('SynBadge')
|
|
31
|
+
export default class SynBadge extends SynergyElement {
|
|
32
|
+
|
|
33
|
+
private readonly localize = new LocalizeController(this);
|
|
34
|
+
static styles: CSSResultGroup = [componentStyles, styles, customStyles];
|
|
35
|
+
|
|
36
|
+
/** The badge's theme variant. */
|
|
37
|
+
@property({ reflect: true }) variant: 'primary' | 'success' | 'neutral' | 'warning' | 'danger' = 'primary';
|
|
38
|
+
|
|
39
|
+
render() {
|
|
40
|
+
return html`
|
|
41
|
+
<span
|
|
42
|
+
part="base"
|
|
43
|
+
class=${classMap({
|
|
44
|
+
badge: true,
|
|
45
|
+
'badge--primary': this.variant === 'primary',
|
|
46
|
+
'badge--success': this.variant === 'success',
|
|
47
|
+
'badge--neutral': this.variant === 'neutral',
|
|
48
|
+
'badge--warning': this.variant === 'warning',
|
|
49
|
+
'badge--danger': this.variant === 'danger',
|
|
50
|
+
})}
|
|
51
|
+
role="status"
|
|
52
|
+
>
|
|
53
|
+
<slot>
|
|
54
|
+
<span class="visually-hidden">
|
|
55
|
+
${this.localize.term(
|
|
56
|
+
(this.variant === 'primary' || this.variant === 'neutral')
|
|
57
|
+
? 'notification'
|
|
58
|
+
: this.variant
|
|
59
|
+
)}
|
|
60
|
+
</span>
|
|
61
|
+
</slot>
|
|
62
|
+
</span>
|
|
63
|
+
`;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
// ---------------------------------------------------------------------
|
|
3
|
+
// 🔒 AUTOGENERATED @synergy-design-system/vue wrappers for @synergy-design-system/components
|
|
4
|
+
// Please do not edit this file directly!
|
|
5
|
+
// It will get recreated when running pnpm build.
|
|
6
|
+
// ---------------------------------------------------------------------
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @summary Badges are used to draw attention and display statuses or counts.
|
|
10
|
+
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-badge--docs
|
|
11
|
+
* @status stable
|
|
12
|
+
* @since 2.0
|
|
13
|
+
*
|
|
14
|
+
* @slot - The badge's content.
|
|
15
|
+
*
|
|
16
|
+
* @csspart base - The component's base wrapper.
|
|
17
|
+
*/
|
|
18
|
+
import { computed, ref } from 'vue';
|
|
19
|
+
import '@synergy-design-system/components/components/badge/badge.js';
|
|
20
|
+
|
|
21
|
+
import type { SynBadge } from '@synergy-design-system/components';
|
|
22
|
+
|
|
23
|
+
// DOM Reference to the element
|
|
24
|
+
const nativeElement = ref<SynBadge>();
|
|
25
|
+
|
|
26
|
+
defineExpose({
|
|
27
|
+
nativeElement,
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
// Map attributes
|
|
31
|
+
const props = defineProps<{
|
|
32
|
+
/**
|
|
33
|
+
* The badge's theme variant.
|
|
34
|
+
*/
|
|
35
|
+
variant?: SynBadge['variant'];
|
|
36
|
+
}>();
|
|
37
|
+
|
|
38
|
+
// Make sure prop binding only forwards the props that are actually there.
|
|
39
|
+
// This is needed because :param="param" also adds an empty attribute
|
|
40
|
+
// when using web-components, which breaks optional arguments like size in SynInput
|
|
41
|
+
// @see https://github.com/vuejs/core/issues/5190#issuecomment-1003112498
|
|
42
|
+
const visibleProps = computed(() =>
|
|
43
|
+
Object.fromEntries(
|
|
44
|
+
Object.entries(props).filter(([, value]) => typeof value !== 'undefined'),
|
|
45
|
+
),
|
|
46
|
+
);
|
|
47
|
+
</script>
|
|
48
|
+
|
|
49
|
+
<template>
|
|
50
|
+
<syn-badge v-bind="visibleProps" ref="nativeElement">
|
|
51
|
+
<slot></slot>
|
|
52
|
+
</syn-badge>
|
|
53
|
+
</template>
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------
|
|
2
|
+
// 🔒 AUTOGENERATED @synergy-design-system/angular wrappers for @synergy-design-system/components
|
|
3
|
+
// Please do not edit this file directly!
|
|
4
|
+
// It will get recreated when running pnpm build.
|
|
5
|
+
// ---------------------------------------------------------------------
|
|
6
|
+
import {
|
|
7
|
+
Component,
|
|
8
|
+
ElementRef,
|
|
9
|
+
NgZone,
|
|
10
|
+
Input,
|
|
11
|
+
Output,
|
|
12
|
+
EventEmitter,
|
|
13
|
+
AfterContentInit,
|
|
14
|
+
} from '@angular/core';
|
|
15
|
+
import type { SynBreadcrumb } from '@synergy-design-system/components';
|
|
16
|
+
|
|
17
|
+
import '@synergy-design-system/components/components/breadcrumb/breadcrumb.js';
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* @summary Breadcrumbs provide a group of links so users can easily navigate a website's hierarchy.
|
|
21
|
+
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-breadcrumb--docs
|
|
22
|
+
* @status stable
|
|
23
|
+
* @since 2.0
|
|
24
|
+
*
|
|
25
|
+
* @slot - One or more breadcrumb items to display.
|
|
26
|
+
* @slot separator - The separator to use between breadcrumb items. Works best with `<syn-icon>`.
|
|
27
|
+
*
|
|
28
|
+
* @dependency syn-icon
|
|
29
|
+
*
|
|
30
|
+
* @csspart base - The component's base wrapper.
|
|
31
|
+
*/
|
|
32
|
+
@Component({
|
|
33
|
+
selector: 'syn-breadcrumb',
|
|
34
|
+
standalone: true,
|
|
35
|
+
template: '<ng-content></ng-content>',
|
|
36
|
+
})
|
|
37
|
+
export class SynBreadcrumbComponent {
|
|
38
|
+
public nativeElement: SynBreadcrumb;
|
|
39
|
+
private _ngZone: NgZone;
|
|
40
|
+
|
|
41
|
+
constructor(e: ElementRef, ngZone: NgZone) {
|
|
42
|
+
this.nativeElement = e.nativeElement;
|
|
43
|
+
this._ngZone = ngZone;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* The label to use for the breadcrumb control.
|
|
48
|
+
* This will not be shown on the screen, but it will be announced by
|
|
49
|
+
screen readers and other assistive devices to provide more context for users.
|
|
50
|
+
*/
|
|
51
|
+
@Input()
|
|
52
|
+
set label(v: SynBreadcrumb['label']) {
|
|
53
|
+
this._ngZone.runOutsideAngular(() => (this.nativeElement.label = v));
|
|
54
|
+
}
|
|
55
|
+
get label(): SynBreadcrumb['label'] {
|
|
56
|
+
return this.nativeElement.label;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------
|
|
2
|
+
// 🔒 AUTOGENERATED @synergy-design-system/react wrappers for @synergy-design-system/components
|
|
3
|
+
// Please do not edit this file directly!
|
|
4
|
+
// It will get recreated when running pnpm build.
|
|
5
|
+
// ---------------------------------------------------------------------
|
|
6
|
+
import * as React from 'react';
|
|
7
|
+
import { createComponent } from '@lit/react';
|
|
8
|
+
import Component from '@synergy-design-system/components/components/breadcrumb/breadcrumb.component.js';
|
|
9
|
+
|
|
10
|
+
const tagName = 'syn-breadcrumb';
|
|
11
|
+
Component.define('syn-breadcrumb');
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @summary Breadcrumbs provide a group of links so users can easily navigate a website's hierarchy.
|
|
15
|
+
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-breadcrumb--docs
|
|
16
|
+
* @status stable
|
|
17
|
+
* @since 2.0
|
|
18
|
+
*
|
|
19
|
+
* @slot - One or more breadcrumb items to display.
|
|
20
|
+
* @slot separator - The separator to use between breadcrumb items. Works best with `<syn-icon>`.
|
|
21
|
+
*
|
|
22
|
+
* @dependency syn-icon
|
|
23
|
+
*
|
|
24
|
+
* @csspart base - The component's base wrapper.
|
|
25
|
+
*/
|
|
26
|
+
export const SynBreadcrumb = createComponent({
|
|
27
|
+
displayName: 'SynBreadcrumb',
|
|
28
|
+
elementClass: Component,
|
|
29
|
+
events: {},
|
|
30
|
+
react: React,
|
|
31
|
+
tagName,
|
|
32
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ---------------------------------------------------------------------
|
|
3
|
+
* 🔒 AUTOGENERATED BY VENDORISM
|
|
4
|
+
* Removing this comment will prevent it from being managed by it.
|
|
5
|
+
* ---------------------------------------------------------------------
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/* eslint-disable */
|
|
9
|
+
import { css } from 'lit';
|
|
10
|
+
|
|
11
|
+
export default css`
|
|
12
|
+
/* stylelint-disable */
|
|
13
|
+
.breadcrumb {
|
|
14
|
+
display: flex;
|
|
15
|
+
align-items: center;
|
|
16
|
+
flex-wrap: wrap;
|
|
17
|
+
}
|
|
18
|
+
`;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ---------------------------------------------------------------------
|
|
3
|
+
* 🔒 AUTOGENERATED BY VENDORISM
|
|
4
|
+
* Removing this comment will prevent it from being managed by it.
|
|
5
|
+
* ---------------------------------------------------------------------
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/* eslint-disable */
|
|
9
|
+
import { html } from 'lit';
|
|
10
|
+
import { LocalizeController } from '../../utilities/localize.js';
|
|
11
|
+
import { property, query } from 'lit/decorators.js';
|
|
12
|
+
import componentStyles from '../../styles/component.styles.js';
|
|
13
|
+
import SynergyElement from '../../internal/synergy-element.js';
|
|
14
|
+
import SynIcon from '../icon/icon.component.js';
|
|
15
|
+
import styles from './breadcrumb.styles.js';
|
|
16
|
+
import customStyles from './breadcrumb.custom.styles.js';
|
|
17
|
+
import type { CSSResultGroup } from 'lit';
|
|
18
|
+
import type SynBreadcrumbItem from '../breadcrumb-item/breadcrumb-item.js';
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @summary Breadcrumbs provide a group of links so users can easily navigate a website's hierarchy.
|
|
22
|
+
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-breadcrumb--docs
|
|
23
|
+
* @status stable
|
|
24
|
+
* @since 2.0
|
|
25
|
+
*
|
|
26
|
+
* @slot - One or more breadcrumb items to display.
|
|
27
|
+
* @slot separator - The separator to use between breadcrumb items. Works best with `<syn-icon>`.
|
|
28
|
+
*
|
|
29
|
+
* @dependency syn-icon
|
|
30
|
+
*
|
|
31
|
+
* @csspart base - The component's base wrapper.
|
|
32
|
+
*/
|
|
33
|
+
export default class SynBreadcrumb extends SynergyElement {
|
|
34
|
+
static styles: CSSResultGroup = [componentStyles, styles, customStyles];
|
|
35
|
+
static dependencies = { 'syn-icon': SynIcon };
|
|
36
|
+
|
|
37
|
+
private readonly localize = new LocalizeController(this);
|
|
38
|
+
private separatorDir = this.localize.dir();
|
|
39
|
+
|
|
40
|
+
@query('slot') defaultSlot: HTMLSlotElement;
|
|
41
|
+
@query('slot[name="separator"]') separatorSlot: HTMLSlotElement;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* The label to use for the breadcrumb control. This will not be shown on the screen, but it will be announced by
|
|
45
|
+
* screen readers and other assistive devices to provide more context for users.
|
|
46
|
+
*/
|
|
47
|
+
@property() label = '';
|
|
48
|
+
|
|
49
|
+
// Generates a clone of the separator element to use for each breadcrumb item
|
|
50
|
+
private getSeparator() {
|
|
51
|
+
const separator = this.separatorSlot.assignedElements({ flatten: true })[0] as HTMLElement;
|
|
52
|
+
|
|
53
|
+
// Clone it, remove ids, and slot it
|
|
54
|
+
const clone = separator.cloneNode(true) as HTMLElement;
|
|
55
|
+
[clone, ...clone.querySelectorAll('[id]')].forEach(el => el.removeAttribute('id'));
|
|
56
|
+
clone.setAttribute('data-default', '');
|
|
57
|
+
clone.slot = 'separator';
|
|
58
|
+
|
|
59
|
+
return clone;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
private handleSlotChange() {
|
|
63
|
+
const items = [...this.defaultSlot.assignedElements({ flatten: true })].filter(
|
|
64
|
+
item => item.tagName.toLowerCase() === 'syn-breadcrumb-item'
|
|
65
|
+
) as SynBreadcrumbItem[];
|
|
66
|
+
|
|
67
|
+
items.forEach((item, index) => {
|
|
68
|
+
// Append separators to each item if they don't already have one
|
|
69
|
+
const separator = item.querySelector('[slot="separator"]');
|
|
70
|
+
if (separator === null) {
|
|
71
|
+
// No separator exists, add one
|
|
72
|
+
item.append(this.getSeparator());
|
|
73
|
+
} else if (separator.hasAttribute('data-default')) {
|
|
74
|
+
// A default separator exists, replace it
|
|
75
|
+
separator.replaceWith(this.getSeparator());
|
|
76
|
+
} else {
|
|
77
|
+
// The user provided a custom separator, leave it alone
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// The last breadcrumb item is the "current page"
|
|
81
|
+
if (index === items.length - 1) {
|
|
82
|
+
item.setAttribute('aria-current', 'page');
|
|
83
|
+
} else {
|
|
84
|
+
item.removeAttribute('aria-current');
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
render() {
|
|
90
|
+
// We clone the separator and inject them into breadcrumb items, so we need to regenerate the default ones when
|
|
91
|
+
// directionality changes. We do this by storing the current separator direction, waiting for render, then calling
|
|
92
|
+
// the function that regenerates them.
|
|
93
|
+
if (this.separatorDir !== this.localize.dir()) {
|
|
94
|
+
this.separatorDir = this.localize.dir();
|
|
95
|
+
this.updateComplete.then(() => this.handleSlotChange());
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
return html`
|
|
99
|
+
<nav part="base" class="breadcrumb" aria-label=${this.label}>
|
|
100
|
+
<slot @slotchange=${this.handleSlotChange}></slot>
|
|
101
|
+
</nav>
|
|
102
|
+
|
|
103
|
+
<span hidden aria-hidden="true">
|
|
104
|
+
<slot name="separator">
|
|
105
|
+
<syn-icon name="chevron-down" library="system" class=${this.localize.dir()}></syn-icon>
|
|
106
|
+
</slot>
|
|
107
|
+
</span>
|
|
108
|
+
`;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
// ---------------------------------------------------------------------
|
|
3
|
+
// 🔒 AUTOGENERATED @synergy-design-system/vue wrappers for @synergy-design-system/components
|
|
4
|
+
// Please do not edit this file directly!
|
|
5
|
+
// It will get recreated when running pnpm build.
|
|
6
|
+
// ---------------------------------------------------------------------
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @summary Breadcrumbs provide a group of links so users can easily navigate a website's hierarchy.
|
|
10
|
+
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-breadcrumb--docs
|
|
11
|
+
* @status stable
|
|
12
|
+
* @since 2.0
|
|
13
|
+
*
|
|
14
|
+
* @slot - One or more breadcrumb items to display.
|
|
15
|
+
* @slot separator - The separator to use between breadcrumb items. Works best with `<syn-icon>`.
|
|
16
|
+
*
|
|
17
|
+
* @dependency syn-icon
|
|
18
|
+
*
|
|
19
|
+
* @csspart base - The component's base wrapper.
|
|
20
|
+
*/
|
|
21
|
+
import { computed, ref } from 'vue';
|
|
22
|
+
import '@synergy-design-system/components/components/breadcrumb/breadcrumb.js';
|
|
23
|
+
|
|
24
|
+
import type { SynBreadcrumb } from '@synergy-design-system/components';
|
|
25
|
+
|
|
26
|
+
// DOM Reference to the element
|
|
27
|
+
const nativeElement = ref<SynBreadcrumb>();
|
|
28
|
+
|
|
29
|
+
defineExpose({
|
|
30
|
+
nativeElement,
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
// Map attributes
|
|
34
|
+
const props = defineProps<{
|
|
35
|
+
/**
|
|
36
|
+
* The label to use for the breadcrumb control.
|
|
37
|
+
* This will not be shown on the screen, but it will be announced by
|
|
38
|
+
screen readers and other assistive devices to provide more context for users.
|
|
39
|
+
*/
|
|
40
|
+
label?: SynBreadcrumb['label'];
|
|
41
|
+
}>();
|
|
42
|
+
|
|
43
|
+
// Make sure prop binding only forwards the props that are actually there.
|
|
44
|
+
// This is needed because :param="param" also adds an empty attribute
|
|
45
|
+
// when using web-components, which breaks optional arguments like size in SynInput
|
|
46
|
+
// @see https://github.com/vuejs/core/issues/5190#issuecomment-1003112498
|
|
47
|
+
const visibleProps = computed(() =>
|
|
48
|
+
Object.fromEntries(
|
|
49
|
+
Object.entries(props).filter(([, value]) => typeof value !== 'undefined'),
|
|
50
|
+
),
|
|
51
|
+
);
|
|
52
|
+
</script>
|
|
53
|
+
|
|
54
|
+
<template>
|
|
55
|
+
<syn-breadcrumb v-bind="visibleProps" ref="nativeElement">
|
|
56
|
+
<slot></slot>
|
|
57
|
+
</syn-breadcrumb>
|
|
58
|
+
</template>
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------
|
|
2
|
+
// 🔒 AUTOGENERATED @synergy-design-system/angular wrappers for @synergy-design-system/components
|
|
3
|
+
// Please do not edit this file directly!
|
|
4
|
+
// It will get recreated when running pnpm build.
|
|
5
|
+
// ---------------------------------------------------------------------
|
|
6
|
+
import {
|
|
7
|
+
Component,
|
|
8
|
+
ElementRef,
|
|
9
|
+
NgZone,
|
|
10
|
+
Input,
|
|
11
|
+
Output,
|
|
12
|
+
EventEmitter,
|
|
13
|
+
AfterContentInit,
|
|
14
|
+
} from '@angular/core';
|
|
15
|
+
import type { SynBreadcrumbItem } from '@synergy-design-system/components';
|
|
16
|
+
|
|
17
|
+
import '@synergy-design-system/components/components/breadcrumb-item/breadcrumb-item.js';
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* @summary Breadcrumb Items are used inside [breadcrumbs](/components/breadcrumb) to represent different links.
|
|
21
|
+
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-breadcrumb-item--docs
|
|
22
|
+
* @status stable
|
|
23
|
+
* @since 2.0
|
|
24
|
+
*
|
|
25
|
+
* @slot - The breadcrumb item's label.
|
|
26
|
+
* @slot prefix - An optional prefix, usually an icon or icon button.
|
|
27
|
+
* @slot suffix - An optional suffix, usually an icon or icon button.
|
|
28
|
+
* @slot separator - The separator to use for the breadcrumb item. This will only change the separator for this item. If
|
|
29
|
+
* you want to change it for all items in the group, set the separator on `<syn-breadcrumb>` instead.
|
|
30
|
+
*
|
|
31
|
+
* @csspart base - The component's base wrapper.
|
|
32
|
+
* @csspart label - The breadcrumb item's label.
|
|
33
|
+
* @csspart prefix - The container that wraps the prefix.
|
|
34
|
+
* @csspart suffix - The container that wraps the suffix.
|
|
35
|
+
* @csspart separator - The container that wraps the separator.
|
|
36
|
+
*/
|
|
37
|
+
@Component({
|
|
38
|
+
selector: 'syn-breadcrumb-item',
|
|
39
|
+
standalone: true,
|
|
40
|
+
template: '<ng-content></ng-content>',
|
|
41
|
+
})
|
|
42
|
+
export class SynBreadcrumbItemComponent {
|
|
43
|
+
public nativeElement: SynBreadcrumbItem;
|
|
44
|
+
private _ngZone: NgZone;
|
|
45
|
+
|
|
46
|
+
constructor(e: ElementRef, ngZone: NgZone) {
|
|
47
|
+
this.nativeElement = e.nativeElement;
|
|
48
|
+
this._ngZone = ngZone;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Optional URL to direct the user to when the breadcrumb item is activated.
|
|
53
|
+
* When set, a link will be rendered
|
|
54
|
+
internally.
|
|
55
|
+
* When unset, a button will be rendered instead.
|
|
56
|
+
*/
|
|
57
|
+
@Input()
|
|
58
|
+
set href(v: SynBreadcrumbItem['href']) {
|
|
59
|
+
this._ngZone.runOutsideAngular(() => (this.nativeElement.href = v));
|
|
60
|
+
}
|
|
61
|
+
get href(): SynBreadcrumbItem['href'] {
|
|
62
|
+
return this.nativeElement.href;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Tells the browser where to open the link.
|
|
67
|
+
* Only used when `href` is set.
|
|
68
|
+
*/
|
|
69
|
+
@Input()
|
|
70
|
+
set target(v: SynBreadcrumbItem['target']) {
|
|
71
|
+
this._ngZone.runOutsideAngular(() => (this.nativeElement.target = v));
|
|
72
|
+
}
|
|
73
|
+
get target(): SynBreadcrumbItem['target'] {
|
|
74
|
+
return this.nativeElement.target;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* The `rel` attribute to use on the link.
|
|
79
|
+
* Only used when `href` is set.
|
|
80
|
+
*/
|
|
81
|
+
@Input()
|
|
82
|
+
set rel(v: SynBreadcrumbItem['rel']) {
|
|
83
|
+
this._ngZone.runOutsideAngular(() => (this.nativeElement.rel = v));
|
|
84
|
+
}
|
|
85
|
+
get rel(): SynBreadcrumbItem['rel'] {
|
|
86
|
+
return this.nativeElement.rel;
|
|
87
|
+
}
|
|
88
|
+
}
|
package/metadata/packages/components/components/syn-breadcrumb-item/component.custom.styles.ts
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
|
|
3
|
+
export default css`
|
|
4
|
+
.breadcrumb-item {
|
|
5
|
+
color: var(--syn-color-neutral-500);
|
|
6
|
+
font-size: var(--syn-font-size-x-small);
|
|
7
|
+
font-weight: var(--syn-font-weight-normal);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Make sure to remove the border radius.
|
|
12
|
+
* Without this, focus will be rounded
|
|
13
|
+
*/
|
|
14
|
+
.breadcrumb-item__label {
|
|
15
|
+
border-radius: var(--syn-border-radius-none);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
:host(:not(:last-of-type)) .breadcrumb-item__label {
|
|
19
|
+
color: var(--syn-typography-color-text);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
:host(:not(:last-of-type)) .breadcrumb-item__label:hover {
|
|
23
|
+
color: var(--syn-color-primary-600);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
:host(:not(:last-of-type)) .breadcrumb-item__label:active {
|
|
27
|
+
color: var(--syn-color-primary-950);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.breadcrumb-item--has-prefix .breadcrumb-item__prefix {
|
|
31
|
+
margin-inline-end: var(--syn-spacing-2x-small);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.breadcrumb-item--has-suffix .breadcrumb-item__suffix {
|
|
35
|
+
margin-inline-start: var(--syn-spacing-2x-small);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Adjust color and font size to match Synergy's typography.
|
|
40
|
+
*/
|
|
41
|
+
.breadcrumb-item--has-prefix .breadcrumb-item__prefix,
|
|
42
|
+
.breadcrumb-item--has-suffix .breadcrumb-item__suffix {
|
|
43
|
+
color: var(--syn-typography-color-text);
|
|
44
|
+
font-size: var(--syn-spacing-medium);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Make sure the color of the last item's prefix and suffix matches the text.
|
|
49
|
+
*/
|
|
50
|
+
:host(:last-of-type) .breadcrumb-item--has-prefix .breadcrumb-item__prefix,
|
|
51
|
+
:host(:last-of-type) .breadcrumb-item--has-suffix .breadcrumb-item__suffix {
|
|
52
|
+
color: var(--syn-color-neutral-500);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.breadcrumb-item__separator {
|
|
56
|
+
font-size: var(--syn-spacing-medium);
|
|
57
|
+
margin: 0 var(--syn-spacing-x-small) 0 var(--syn-spacing-2x-small);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Make sure the direction of the chevron matches the direction of the text.
|
|
62
|
+
*/
|
|
63
|
+
.breadcrumb-item__separator ::slotted(syn-icon.ltr) {
|
|
64
|
+
rotate: -90deg;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.breadcrumb-item__separator ::slotted(syn-icon.rtl) {
|
|
68
|
+
rotate: 90deg;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.breadcrumb-item__label--drop-down {
|
|
72
|
+
display: flex;
|
|
73
|
+
}
|
|
74
|
+
`;
|