@synergy-design-system/mcp 0.1.0 → 1.0.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 +1 -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 +52 -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 +108 -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 +1 -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 +189 -0
- package/metadata/packages/assets/README.md +78 -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 +64 -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/static/CHANGELOG.md +1100 -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 +10 -0
- package/metadata/static/react/index.md +8 -0
- package/metadata/static/setup/icon-usage.md +239 -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,79 @@
|
|
|
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 { SynOptgroup } from '@synergy-design-system/components';
|
|
16
|
+
|
|
17
|
+
import '@synergy-design-system/components/components/optgroup/optgroup.js';
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* @summary The <syn-optgroup> element creates a grouping for <syn-option>s within a <syn-select>.
|
|
21
|
+
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-optgroup--docs
|
|
22
|
+
* @status stable
|
|
23
|
+
* @since 1.3.0
|
|
24
|
+
*
|
|
25
|
+
* @dependency syn-divider
|
|
26
|
+
*
|
|
27
|
+
* @slot - The given options. Must be `<syn-option>` elements.
|
|
28
|
+
* @slot prefix - A presentational prefix icon or similar element.
|
|
29
|
+
* @slot label - The label for the optgroup
|
|
30
|
+
* @slot suffix - A presentational suffix icon or similar element.
|
|
31
|
+
*
|
|
32
|
+
* @csspart base - The component's base wrapper.
|
|
33
|
+
* @csspart label-container - The container that wraps prefix, label and base
|
|
34
|
+
* @csspart divider - The divider that is displayed above the content
|
|
35
|
+
* @csspart prefix - The container that wraps the prefix.
|
|
36
|
+
* @csspart suffix - The container that wraps the suffix.
|
|
37
|
+
* @csspart options - The container that wraps the <syn-option> elements.
|
|
38
|
+
*
|
|
39
|
+
* @cssproperty --display-divider - Display property of the divider. Defaults to "block"
|
|
40
|
+
*/
|
|
41
|
+
@Component({
|
|
42
|
+
selector: 'syn-optgroup',
|
|
43
|
+
standalone: true,
|
|
44
|
+
template: '<ng-content></ng-content>',
|
|
45
|
+
})
|
|
46
|
+
export class SynOptgroupComponent {
|
|
47
|
+
public nativeElement: SynOptgroup;
|
|
48
|
+
private _ngZone: NgZone;
|
|
49
|
+
|
|
50
|
+
constructor(e: ElementRef, ngZone: NgZone) {
|
|
51
|
+
this.nativeElement = e.nativeElement;
|
|
52
|
+
this._ngZone = ngZone;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Disables all options in the optgroup.
|
|
57
|
+
*/
|
|
58
|
+
@Input()
|
|
59
|
+
set disabled(v: '' | SynOptgroup['disabled']) {
|
|
60
|
+
this._ngZone.runOutsideAngular(
|
|
61
|
+
() => (this.nativeElement.disabled = v === '' || v),
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
get disabled(): SynOptgroup['disabled'] {
|
|
65
|
+
return this.nativeElement.disabled;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* The optgroups label.
|
|
70
|
+
* If you need to display HTML, use the `label` slot instead.
|
|
71
|
+
*/
|
|
72
|
+
@Input()
|
|
73
|
+
set label(v: SynOptgroup['label']) {
|
|
74
|
+
this._ngZone.runOutsideAngular(() => (this.nativeElement.label = v));
|
|
75
|
+
}
|
|
76
|
+
get label(): SynOptgroup['label'] {
|
|
77
|
+
return this.nativeElement.label;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
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/optgroup/optgroup.component.js';
|
|
9
|
+
|
|
10
|
+
const tagName = 'syn-optgroup';
|
|
11
|
+
Component.define('syn-optgroup');
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @summary The <syn-optgroup> element creates a grouping for <syn-option>s within a <syn-select>.
|
|
15
|
+
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-optgroup--docs
|
|
16
|
+
* @status stable
|
|
17
|
+
* @since 1.3.0
|
|
18
|
+
*
|
|
19
|
+
* @dependency syn-divider
|
|
20
|
+
*
|
|
21
|
+
* @slot - The given options. Must be `<syn-option>` elements.
|
|
22
|
+
* @slot prefix - A presentational prefix icon or similar element.
|
|
23
|
+
* @slot label - The label for the optgroup
|
|
24
|
+
* @slot suffix - A presentational suffix icon or similar element.
|
|
25
|
+
*
|
|
26
|
+
* @csspart base - The component's base wrapper.
|
|
27
|
+
* @csspart label-container - The container that wraps prefix, label and base
|
|
28
|
+
* @csspart divider - The divider that is displayed above the content
|
|
29
|
+
* @csspart prefix - The container that wraps the prefix.
|
|
30
|
+
* @csspart suffix - The container that wraps the suffix.
|
|
31
|
+
* @csspart options - The container that wraps the <syn-option> elements.
|
|
32
|
+
*
|
|
33
|
+
* @cssproperty --display-divider - Display property of the divider. Defaults to "block"
|
|
34
|
+
*/
|
|
35
|
+
export const SynOptgroup = createComponent({
|
|
36
|
+
displayName: 'SynOptgroup',
|
|
37
|
+
elementClass: Component,
|
|
38
|
+
events: {},
|
|
39
|
+
react: React,
|
|
40
|
+
tagName,
|
|
41
|
+
});
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
|
|
3
|
+
export default css`
|
|
4
|
+
:host {
|
|
5
|
+
--display-divider: block;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.optgroup__divider {
|
|
9
|
+
--spacing: var(--syn-spacing-x-small);
|
|
10
|
+
|
|
11
|
+
display: var(--display-divider);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.optgroup__label-container {
|
|
15
|
+
align-items: center;
|
|
16
|
+
box-sizing: border-box;
|
|
17
|
+
color: var(--syn-color-neutral-950);
|
|
18
|
+
display: flex;
|
|
19
|
+
gap: var(--syn-spacing-small);
|
|
20
|
+
min-height: var(--option-min-height, var(--syn-input-height-medium));
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Only show the label container when there is a label at all
|
|
25
|
+
*/
|
|
26
|
+
.optgroup--has-prefix .optgroup__label-container,
|
|
27
|
+
.optgroup--has-label .optgroup__label-container,
|
|
28
|
+
.optgroup--has-suffix .optgroup__label-container {
|
|
29
|
+
padding: var(--option-padding, var(--syn-spacing-small) var(--syn-spacing-medium));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Format main label.
|
|
34
|
+
* Make sure this works for props and slotted content
|
|
35
|
+
*/
|
|
36
|
+
.optgroup__label-content,
|
|
37
|
+
.optgroup__label::slotted(*) {
|
|
38
|
+
flex: 1;
|
|
39
|
+
font-family: var(--syn-font-sans);
|
|
40
|
+
font-size: var(--option-font-size, var(--syn-font-size-medium));
|
|
41
|
+
font-weight: var(--syn-font-weight-semibold);
|
|
42
|
+
line-height: var(--syn-line-height-normal);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/* Disabled Label */
|
|
46
|
+
.optgroup--is-disabled .optgroup__label-container {
|
|
47
|
+
opacity: var(--syn-input-disabled-opacity);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.optgroup__prefix,
|
|
51
|
+
.optgroup__suffix {
|
|
52
|
+
color: var(--syn-color-neutral-800);
|
|
53
|
+
font-size: var(--syn-spacing-large);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.optgroup__options ::slotted(syn-option[hidden]) {
|
|
57
|
+
display: none;
|
|
58
|
+
}
|
|
59
|
+
`;
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/unbound-method */
|
|
2
|
+
import { classMap } from 'lit/directives/class-map.js';
|
|
3
|
+
import { html } from 'lit/static-html.js';
|
|
4
|
+
import { property, queryAssignedElements } from 'lit/decorators.js';
|
|
5
|
+
import type { CSSResultGroup } from 'lit';
|
|
6
|
+
import SynergyElement from '../../internal/synergy-element.js';
|
|
7
|
+
import { HasSlotController } from '../../internal/slot.js';
|
|
8
|
+
import SynDivider from '../divider/divider.component.js';
|
|
9
|
+
import type SynOption from '../option/option.component.js';
|
|
10
|
+
import styles from './optgroup.styles.js';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Handle the dataset value of the option when the disabled state changes.
|
|
14
|
+
* @param option The option to set the value for
|
|
15
|
+
* @param isDisabled The original disabled, usually from the parent optgroup
|
|
16
|
+
*/
|
|
17
|
+
const handleInitialDisabledForOption = (option: SynOption, isDisabled: boolean) => {
|
|
18
|
+
/* eslint-disable no-param-reassign */
|
|
19
|
+
if (option.disabled) {
|
|
20
|
+
option.dataset.originallyDisabled = 'true';
|
|
21
|
+
} else {
|
|
22
|
+
delete option.dataset.originallyDisabled;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if (isDisabled) {
|
|
26
|
+
option.disabled = true;
|
|
27
|
+
}
|
|
28
|
+
/* eslint-enable no-param-reassign */
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* @summary The <syn-optgroup> element creates a grouping for <syn-option>s within a <syn-select>.
|
|
33
|
+
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-optgroup--docs
|
|
34
|
+
* @status stable
|
|
35
|
+
* @since 1.3.0
|
|
36
|
+
*
|
|
37
|
+
* @dependency syn-divider
|
|
38
|
+
*
|
|
39
|
+
* @slot - The given options. Must be `<syn-option>` elements.
|
|
40
|
+
* @slot prefix - A presentational prefix icon or similar element.
|
|
41
|
+
* @slot label - The label for the optgroup
|
|
42
|
+
* @slot suffix - A presentational suffix icon or similar element.
|
|
43
|
+
*
|
|
44
|
+
* @csspart base - The component's base wrapper.
|
|
45
|
+
* @csspart label-container - The container that wraps prefix, label and base
|
|
46
|
+
* @csspart divider - The divider that is displayed above the content
|
|
47
|
+
* @csspart prefix - The container that wraps the prefix.
|
|
48
|
+
* @csspart suffix - The container that wraps the suffix.
|
|
49
|
+
* @csspart options - The container that wraps the <syn-option> elements.
|
|
50
|
+
*
|
|
51
|
+
* @cssproperty --display-divider - Display property of the divider. Defaults to "block"
|
|
52
|
+
*/
|
|
53
|
+
export default class SynOptgroup extends SynergyElement {
|
|
54
|
+
static styles: CSSResultGroup = styles;
|
|
55
|
+
|
|
56
|
+
static dependencies = {
|
|
57
|
+
'syn-divider': SynDivider,
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
private readonly hasSlotController = new HasSlotController(this, '[default]', 'prefix', 'suffix', 'label');
|
|
61
|
+
|
|
62
|
+
private mutationObserver: MutationObserver;
|
|
63
|
+
|
|
64
|
+
private enableObserver() {
|
|
65
|
+
this.mutationObserver.observe(this, {
|
|
66
|
+
attributeFilter: ['disabled'],
|
|
67
|
+
childList: true,
|
|
68
|
+
subtree: true,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
@queryAssignedElements({ selector: 'syn-option' }) assignedOptions: SynOption[];
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Disables all options in the optgroup.
|
|
76
|
+
*/
|
|
77
|
+
@property({ reflect: true, type: Boolean }) disabled = false;
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* The optgroups label. If you need to display HTML, use the `label` slot instead.
|
|
81
|
+
*/
|
|
82
|
+
@property() label = '';
|
|
83
|
+
|
|
84
|
+
connectedCallback() {
|
|
85
|
+
super.connectedCallback();
|
|
86
|
+
|
|
87
|
+
/* eslint-disable no-param-reassign */
|
|
88
|
+
// eslint-disable-next-line complexity
|
|
89
|
+
this.mutationObserver = new MutationObserver(entries => {
|
|
90
|
+
// Check if the mutation is for this optgroup
|
|
91
|
+
const optgroupChanges = entries.filter(entry => entry.target === this);
|
|
92
|
+
const optionChanges = entries.filter(entry => (entry.target as HTMLElement).matches('syn-option'));
|
|
93
|
+
|
|
94
|
+
const stopObserver = optgroupChanges.length > 0 || optionChanges.length > 0;
|
|
95
|
+
|
|
96
|
+
if (stopObserver) {
|
|
97
|
+
this.mutationObserver.disconnect();
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// If options disabled state are changed dynamically,
|
|
101
|
+
// we need to store the new "originallyDisabled" state
|
|
102
|
+
if (optionChanges.length > 0) {
|
|
103
|
+
optionChanges.forEach(optionMutation => {
|
|
104
|
+
handleInitialDisabledForOption(optionMutation.target as SynOption, this.disabled);
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// If the optgroup is disabled, disable all options
|
|
109
|
+
// If the optgroup is enabled, reenable all options that were enabled before
|
|
110
|
+
if (optgroupChanges.length > 0) {
|
|
111
|
+
optgroupChanges.forEach(optgroupMutation => {
|
|
112
|
+
if (optgroupMutation.type === 'attributes') {
|
|
113
|
+
this.assignedOptions.forEach(option => {
|
|
114
|
+
option.disabled = this.disabled
|
|
115
|
+
? true
|
|
116
|
+
: !!option.dataset?.originallyDisabled;
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
if (optgroupMutation.type === 'childList') {
|
|
121
|
+
optgroupMutation.addedNodes.forEach((node) => {
|
|
122
|
+
if (node instanceof HTMLElement && node.matches('syn-option')) {
|
|
123
|
+
handleInitialDisabledForOption(node as SynOption, this.disabled);
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// Reenable the mutation observer when it was stopped.
|
|
131
|
+
// This is needed to make sure that we get future changes again
|
|
132
|
+
if (stopObserver) {
|
|
133
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
134
|
+
this.updateComplete.then(() => {
|
|
135
|
+
this.enableObserver();
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
/* eslint-enable no-param-reassign */
|
|
140
|
+
|
|
141
|
+
this.enableObserver();
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
render() {
|
|
145
|
+
const { disabled } = this;
|
|
146
|
+
const hasLabelSlot = this.hasSlotController.test('label');
|
|
147
|
+
const hasLabel = this.label ? true : !!hasLabelSlot;
|
|
148
|
+
return html`
|
|
149
|
+
<div
|
|
150
|
+
class=${classMap({
|
|
151
|
+
optgroup: true,
|
|
152
|
+
'optgroup--has-label': hasLabel,
|
|
153
|
+
'optgroup--has-prefix': this.hasSlotController.test('prefix'),
|
|
154
|
+
'optgroup--has-suffix': this.hasSlotController.test('suffix'),
|
|
155
|
+
'optgroup--is-disabled': this.disabled,
|
|
156
|
+
})}
|
|
157
|
+
role="${disabled ? 'presentation' : 'group'}"
|
|
158
|
+
part="base"
|
|
159
|
+
>
|
|
160
|
+
<syn-divider class="optgroup__divider" part="divider"></syn-divider>
|
|
161
|
+
<div class="optgroup__label-container" part="label-container">
|
|
162
|
+
<slot name="prefix" part="prefix" class="optgroup__prefix"></slot>
|
|
163
|
+
<slot name="label" part="label" class="optgroup__label">
|
|
164
|
+
<span class="optgroup__label-content">
|
|
165
|
+
${this.label}
|
|
166
|
+
</span>
|
|
167
|
+
</slot>
|
|
168
|
+
<slot name="suffix" part="suffix" class="optgroup__suffix"></slot>
|
|
169
|
+
</div>
|
|
170
|
+
<div class="optgroup__options" role="group" part="options">
|
|
171
|
+
<slot></slot>
|
|
172
|
+
</div>
|
|
173
|
+
</div>
|
|
174
|
+
`;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
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 The <syn-optgroup> element creates a grouping for <syn-option>s within a <syn-select>.
|
|
10
|
+
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-optgroup--docs
|
|
11
|
+
* @status stable
|
|
12
|
+
* @since 1.3.0
|
|
13
|
+
*
|
|
14
|
+
* @dependency syn-divider
|
|
15
|
+
*
|
|
16
|
+
* @slot - The given options. Must be `<syn-option>` elements.
|
|
17
|
+
* @slot prefix - A presentational prefix icon or similar element.
|
|
18
|
+
* @slot label - The label for the optgroup
|
|
19
|
+
* @slot suffix - A presentational suffix icon or similar element.
|
|
20
|
+
*
|
|
21
|
+
* @csspart base - The component's base wrapper.
|
|
22
|
+
* @csspart label-container - The container that wraps prefix, label and base
|
|
23
|
+
* @csspart divider - The divider that is displayed above the content
|
|
24
|
+
* @csspart prefix - The container that wraps the prefix.
|
|
25
|
+
* @csspart suffix - The container that wraps the suffix.
|
|
26
|
+
* @csspart options - The container that wraps the <syn-option> elements.
|
|
27
|
+
*
|
|
28
|
+
* @cssproperty --display-divider - Display property of the divider. Defaults to "block"
|
|
29
|
+
*/
|
|
30
|
+
import { computed, ref } from 'vue';
|
|
31
|
+
import '@synergy-design-system/components/components/optgroup/optgroup.js';
|
|
32
|
+
|
|
33
|
+
import type { SynOptgroup } from '@synergy-design-system/components';
|
|
34
|
+
|
|
35
|
+
// DOM Reference to the element
|
|
36
|
+
const nativeElement = ref<SynOptgroup>();
|
|
37
|
+
|
|
38
|
+
defineExpose({
|
|
39
|
+
nativeElement,
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
// Map attributes
|
|
43
|
+
const props = defineProps<{
|
|
44
|
+
/**
|
|
45
|
+
* Disables all options in the optgroup.
|
|
46
|
+
*/
|
|
47
|
+
disabled?: SynOptgroup['disabled'];
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* The optgroups label.
|
|
51
|
+
* If you need to display HTML, use the `label` slot instead.
|
|
52
|
+
*/
|
|
53
|
+
label?: SynOptgroup['label'];
|
|
54
|
+
}>();
|
|
55
|
+
|
|
56
|
+
// Make sure prop binding only forwards the props that are actually there.
|
|
57
|
+
// This is needed because :param="param" also adds an empty attribute
|
|
58
|
+
// when using web-components, which breaks optional arguments like size in SynInput
|
|
59
|
+
// @see https://github.com/vuejs/core/issues/5190#issuecomment-1003112498
|
|
60
|
+
const visibleProps = computed(() =>
|
|
61
|
+
Object.fromEntries(
|
|
62
|
+
Object.entries(props).filter(([, value]) => typeof value !== 'undefined'),
|
|
63
|
+
),
|
|
64
|
+
);
|
|
65
|
+
</script>
|
|
66
|
+
|
|
67
|
+
<template>
|
|
68
|
+
<syn-optgroup v-bind="visibleProps" ref="nativeElement">
|
|
69
|
+
<slot></slot>
|
|
70
|
+
</syn-optgroup>
|
|
71
|
+
</template>
|
|
@@ -0,0 +1,79 @@
|
|
|
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 { SynOption } from '@synergy-design-system/components';
|
|
16
|
+
|
|
17
|
+
import '@synergy-design-system/components/components/option/option.js';
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* @summary Options define the selectable items within various form controls such as [select](/components/select).
|
|
21
|
+
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-option--docs
|
|
22
|
+
* @status stable
|
|
23
|
+
* @since 2.0
|
|
24
|
+
*
|
|
25
|
+
* @dependency syn-icon
|
|
26
|
+
*
|
|
27
|
+
* @slot - The option's label.
|
|
28
|
+
* @slot prefix - Used to prepend an icon or similar element to the menu item.
|
|
29
|
+
* @slot suffix - Used to append an icon or similar element to the menu item.
|
|
30
|
+
*
|
|
31
|
+
* @csspart checked-icon - The checked icon, an `<syn-icon>` element.
|
|
32
|
+
* @csspart base - The component's base wrapper.
|
|
33
|
+
* @csspart label - The option's label.
|
|
34
|
+
* @csspart prefix - The container that wraps the prefix.
|
|
35
|
+
* @csspart suffix - The container that wraps the suffix.
|
|
36
|
+
*/
|
|
37
|
+
@Component({
|
|
38
|
+
selector: 'syn-option',
|
|
39
|
+
standalone: true,
|
|
40
|
+
template: '<ng-content></ng-content>',
|
|
41
|
+
})
|
|
42
|
+
export class SynOptionComponent {
|
|
43
|
+
public nativeElement: SynOption;
|
|
44
|
+
private _ngZone: NgZone;
|
|
45
|
+
|
|
46
|
+
constructor(e: ElementRef, ngZone: NgZone) {
|
|
47
|
+
this.nativeElement = e.nativeElement;
|
|
48
|
+
this._ngZone = ngZone;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* The option's value.
|
|
53
|
+
* When selected, the containing form control will receive this value.
|
|
54
|
+
* The value must be unique
|
|
55
|
+
from other options in the same group.
|
|
56
|
+
* Values may not contain spaces, as spaces are used as delimiters when listing
|
|
57
|
+
multiple values.
|
|
58
|
+
*/
|
|
59
|
+
@Input()
|
|
60
|
+
set value(v: SynOption['value']) {
|
|
61
|
+
this._ngZone.runOutsideAngular(() => (this.nativeElement.value = v));
|
|
62
|
+
}
|
|
63
|
+
get value(): SynOption['value'] {
|
|
64
|
+
return this.nativeElement.value;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Draws the option in a disabled state, preventing selection.
|
|
69
|
+
*/
|
|
70
|
+
@Input()
|
|
71
|
+
set disabled(v: '' | SynOption['disabled']) {
|
|
72
|
+
this._ngZone.runOutsideAngular(
|
|
73
|
+
() => (this.nativeElement.disabled = v === '' || v),
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
get disabled(): SynOption['disabled'] {
|
|
77
|
+
return this.nativeElement.disabled;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
|
|
3
|
+
export default css`
|
|
4
|
+
/**
|
|
5
|
+
* The syn-option is now able to adjust its height from a parent item
|
|
6
|
+
* This is done by exposing multiple css variables to the outside:
|
|
7
|
+
*
|
|
8
|
+
* --option-min-height (defaults to 48px) The minimal height of an element
|
|
9
|
+
* --option-padding (defaults to var(--syn-spacing-small) var(--syn-spacing-medium)) The padding to use
|
|
10
|
+
* --option-font-size (defaults to var(--syn-font-size-medium)) The font size to use
|
|
11
|
+
* --option-icon-size (defaults to var(--syn-spacing-large)) The size of the checkmark
|
|
12
|
+
*
|
|
13
|
+
* See below for usage of these variables
|
|
14
|
+
*/
|
|
15
|
+
.option {
|
|
16
|
+
font-size: var(--option-font-size, var(--syn-font-size-medium));
|
|
17
|
+
|
|
18
|
+
/* Height is dependent on line-height of .option__label, which does not fit completely to layout */
|
|
19
|
+
min-height: var(--option-min-height, var(--syn-input-height-medium));
|
|
20
|
+
padding: var(--option-padding, var(--syn-spacing-small) var(--syn-spacing-medium));
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.option:not(.option--current) {
|
|
24
|
+
color: var(--syn-color-neutral-950);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/** #429: Use token for opacity */
|
|
28
|
+
.option--disabled {
|
|
29
|
+
opacity: var(--syn-input-disabled-opacity);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.option__label {
|
|
33
|
+
line-height: var(--syn-line-height-normal);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.option__check {
|
|
37
|
+
color: var(--syn-color-primary-600);
|
|
38
|
+
font-size: var(--option-icon-size, var(--syn-spacing-large));
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.option .option__check {
|
|
42
|
+
padding-inline-end: var(--syn-spacing-small);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/* Invert the check mark when keyboard navigation is used */
|
|
46
|
+
.option--current .option__check {
|
|
47
|
+
color: var(--syn-color-neutral-0);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/* Use larger spacing between icons and content */
|
|
51
|
+
.option__prefix::slotted(*) {
|
|
52
|
+
margin-inline-end: var(--syn-spacing-small);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.option__suffix::slotted(*) {
|
|
56
|
+
margin-inline-start: var(--syn-spacing-small);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/* Set correct icon size when someone uses syn-icon in the slots */
|
|
60
|
+
.option__prefix::slotted(syn-icon),
|
|
61
|
+
.option__suffix::slotted(syn-icon) {
|
|
62
|
+
color: var(--syn-color-neutral-800);
|
|
63
|
+
font-size: var(--option-icon-size, var(--syn-spacing-large));
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.option--current .option__prefix::slotted(syn-icon),
|
|
67
|
+
.option--current .option__suffix::slotted(syn-icon) {
|
|
68
|
+
color: var(--syn-color-neutral-0);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/* This is needed for the highlight styling of the options in syn-combobox */
|
|
72
|
+
.option__label::slotted(.syn-highlight-style) {
|
|
73
|
+
background-color: transparent;
|
|
74
|
+
color: var(--syn-color-neutral-950);
|
|
75
|
+
font: var(--syn-body-medium-bold);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
:host([aria-selected='true']) .option__label::slotted(.syn-highlight-style) {
|
|
79
|
+
color: var(--syn-color-neutral-0);
|
|
80
|
+
}
|
|
81
|
+
`;
|
|
@@ -0,0 +1,37 @@
|
|
|
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/option/option.component.js';
|
|
9
|
+
|
|
10
|
+
const tagName = 'syn-option';
|
|
11
|
+
Component.define('syn-option');
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @summary Options define the selectable items within various form controls such as [select](/components/select).
|
|
15
|
+
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-option--docs
|
|
16
|
+
* @status stable
|
|
17
|
+
* @since 2.0
|
|
18
|
+
*
|
|
19
|
+
* @dependency syn-icon
|
|
20
|
+
*
|
|
21
|
+
* @slot - The option's label.
|
|
22
|
+
* @slot prefix - Used to prepend an icon or similar element to the menu item.
|
|
23
|
+
* @slot suffix - Used to append an icon or similar element to the menu item.
|
|
24
|
+
*
|
|
25
|
+
* @csspart checked-icon - The checked icon, an `<syn-icon>` element.
|
|
26
|
+
* @csspart base - The component's base wrapper.
|
|
27
|
+
* @csspart label - The option's label.
|
|
28
|
+
* @csspart prefix - The container that wraps the prefix.
|
|
29
|
+
* @csspart suffix - The container that wraps the suffix.
|
|
30
|
+
*/
|
|
31
|
+
export const SynOption = createComponent({
|
|
32
|
+
displayName: 'SynOption',
|
|
33
|
+
elementClass: Component,
|
|
34
|
+
events: {},
|
|
35
|
+
react: React,
|
|
36
|
+
tagName,
|
|
37
|
+
});
|