@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,33 @@
|
|
|
1
|
+
import ora from 'ora';
|
|
2
|
+
import { buildAssets } from './assets.js';
|
|
3
|
+
import { buildComponents } from './components.js';
|
|
4
|
+
import { buildFrameworkFiles } from './frameworks.js';
|
|
5
|
+
import { buildStaticFiles } from './static.js';
|
|
6
|
+
import { buildTokens } from './tokens.js';
|
|
7
|
+
import { buildStyles } from './styles.js';
|
|
8
|
+
const spinner = ora({
|
|
9
|
+
prefixText: 'MCP:',
|
|
10
|
+
text: 'Generating static metadata...',
|
|
11
|
+
});
|
|
12
|
+
const build = async () => {
|
|
13
|
+
spinner.start();
|
|
14
|
+
await buildAssets();
|
|
15
|
+
await buildComponents();
|
|
16
|
+
await buildFrameworkFiles();
|
|
17
|
+
await buildTokens();
|
|
18
|
+
await buildStyles();
|
|
19
|
+
// Should be run last as we will copy files where we see fit and paths must exist
|
|
20
|
+
await buildStaticFiles();
|
|
21
|
+
};
|
|
22
|
+
build()
|
|
23
|
+
.then(() => {
|
|
24
|
+
spinner.succeed('Static metadata generated successfully.');
|
|
25
|
+
process.exit(0);
|
|
26
|
+
})
|
|
27
|
+
.catch((error) => {
|
|
28
|
+
spinner.fail(`Failed to generate static metadata. Error: ${error}`);
|
|
29
|
+
process.exit(1);
|
|
30
|
+
})
|
|
31
|
+
.finally(() => {
|
|
32
|
+
spinner.stop();
|
|
33
|
+
});
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { existsSync, mkdirSync } from 'node:fs';
|
|
2
|
+
import { copyFile } from 'node:fs/promises';
|
|
3
|
+
import { basename, join } from 'node:path';
|
|
4
|
+
import { rimraf } from 'rimraf';
|
|
5
|
+
import ora from 'ora';
|
|
6
|
+
import { pascalCase } from 'change-case';
|
|
7
|
+
import { componentPath, componentStaticPath, createPath, getAbsolutePath, } from '../utilities/index.js';
|
|
8
|
+
const directories = {
|
|
9
|
+
angularPackageDir: getAbsolutePath('../../../../packages/angular'),
|
|
10
|
+
componentDir: getAbsolutePath('../../../../packages/components'),
|
|
11
|
+
reactPackageDir: getAbsolutePath('../../../../packages/react'),
|
|
12
|
+
vuePackageDir: getAbsolutePath('../../../../packages/vue'),
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Gets the file list for a specific component.
|
|
16
|
+
* @param component The module to get the file list for.
|
|
17
|
+
* @returns An array of tuples that define file paths related to the component.
|
|
18
|
+
*/
|
|
19
|
+
const getComponentFileList = (component) => {
|
|
20
|
+
const { tagName, tagNameWithoutPrefix, } = component;
|
|
21
|
+
const staticFiles = [];
|
|
22
|
+
const vueComponentName = pascalCase([
|
|
23
|
+
'syn',
|
|
24
|
+
'vue',
|
|
25
|
+
tagNameWithoutPrefix,
|
|
26
|
+
].join('-'));
|
|
27
|
+
// Dynamic paths to generated wrappers
|
|
28
|
+
const angularFile = `${directories.angularPackageDir}/components/${tagNameWithoutPrefix}/${tagNameWithoutPrefix}.component.ts`;
|
|
29
|
+
const componentFile = `${directories.componentDir}/src/components/${tagNameWithoutPrefix}/${tagNameWithoutPrefix}.component.ts`;
|
|
30
|
+
const reactFile = `${directories.reactPackageDir}/src/components/${tagNameWithoutPrefix}.ts`;
|
|
31
|
+
const vueFile = `${directories.vuePackageDir}/src/components/${vueComponentName}.vue`;
|
|
32
|
+
// Add support for styles
|
|
33
|
+
const defaultStyleFile = `${directories.componentDir}/src/components/${tagNameWithoutPrefix}/${tagNameWithoutPrefix}.styles.ts`;
|
|
34
|
+
const customStyleFile = `${directories.componentDir}/src/components/${tagNameWithoutPrefix}/${tagNameWithoutPrefix}.custom.styles.ts`;
|
|
35
|
+
staticFiles.push([
|
|
36
|
+
angularFile,
|
|
37
|
+
'component.angular.ts',
|
|
38
|
+
]);
|
|
39
|
+
staticFiles.push([
|
|
40
|
+
componentFile,
|
|
41
|
+
'component.ts',
|
|
42
|
+
]);
|
|
43
|
+
staticFiles.push([
|
|
44
|
+
reactFile,
|
|
45
|
+
'component.react.ts',
|
|
46
|
+
]);
|
|
47
|
+
staticFiles.push([
|
|
48
|
+
vueFile,
|
|
49
|
+
'component.vue',
|
|
50
|
+
]);
|
|
51
|
+
staticFiles.push([
|
|
52
|
+
defaultStyleFile,
|
|
53
|
+
'component.styles.ts',
|
|
54
|
+
]);
|
|
55
|
+
staticFiles.push([
|
|
56
|
+
customStyleFile,
|
|
57
|
+
'component.custom.styles.ts',
|
|
58
|
+
]);
|
|
59
|
+
return {
|
|
60
|
+
componentName: tagName,
|
|
61
|
+
entries: staticFiles
|
|
62
|
+
.filter(([fileName]) => existsSync(fileName)),
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Sets up all data from the components and framework packages and adds them to the static metadata.
|
|
67
|
+
*/
|
|
68
|
+
export const buildComponents = async () => {
|
|
69
|
+
const spinner = ora({
|
|
70
|
+
prefixText: 'Components:',
|
|
71
|
+
text: 'Generating static metadata...',
|
|
72
|
+
}).start();
|
|
73
|
+
try {
|
|
74
|
+
// Import the custom elements manifest
|
|
75
|
+
const customElementsManifestImport = await import('@synergy-design-system/components/custom-elements.json', {
|
|
76
|
+
with: { type: 'json' },
|
|
77
|
+
});
|
|
78
|
+
const customElementsManifest = customElementsManifestImport.default?.modules;
|
|
79
|
+
spinner.text = 'Cleaning up old metadata...';
|
|
80
|
+
await rimraf(componentPath);
|
|
81
|
+
spinner.succeed('Old metadata cleaned up.');
|
|
82
|
+
spinner.text = 'Creating new metadata directory...';
|
|
83
|
+
// Create the components directory if it doesn't exist
|
|
84
|
+
await createPath(componentPath);
|
|
85
|
+
spinner.text = 'Generating components metadata...';
|
|
86
|
+
// Create and populate the metadata for each component
|
|
87
|
+
const componentMetadata = customElementsManifest
|
|
88
|
+
.filter(module => module.declarations && module.declarations.length === 1)
|
|
89
|
+
.filter(module => module
|
|
90
|
+
.declarations
|
|
91
|
+
.some(declaration => declaration.tagName))
|
|
92
|
+
.map(module => module.declarations[0])
|
|
93
|
+
.map(getComponentFileList)
|
|
94
|
+
.flat()
|
|
95
|
+
.map(({ componentName, entries }) => {
|
|
96
|
+
const absoluteComponentPath = join(componentPath, componentName);
|
|
97
|
+
// Create the component directory if it doesn't exist
|
|
98
|
+
if (!existsSync(absoluteComponentPath)) {
|
|
99
|
+
mkdirSync(absoluteComponentPath, { recursive: true });
|
|
100
|
+
}
|
|
101
|
+
return entries.map(([source, target]) => {
|
|
102
|
+
const targetFileName = join(absoluteComponentPath, target);
|
|
103
|
+
return copyFile(source, targetFileName);
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
await Promise.all(componentMetadata);
|
|
107
|
+
spinner.succeed('Components metadata generated successfully.');
|
|
108
|
+
spinner.text = 'Generating static metadata...';
|
|
109
|
+
if (!existsSync(componentStaticPath)) {
|
|
110
|
+
mkdirSync(componentStaticPath, { recursive: true });
|
|
111
|
+
}
|
|
112
|
+
const staticFiles = [
|
|
113
|
+
'README.md',
|
|
114
|
+
'CHANGELOG.md',
|
|
115
|
+
'LIMITATIONS.md',
|
|
116
|
+
]
|
|
117
|
+
.map(staticFile => join(getAbsolutePath('../../../../packages/components'), staticFile))
|
|
118
|
+
.filter(existsSync)
|
|
119
|
+
.map(staticFile => {
|
|
120
|
+
const base = basename(staticFile);
|
|
121
|
+
const target = join(componentStaticPath, base);
|
|
122
|
+
return copyFile(staticFile, target);
|
|
123
|
+
});
|
|
124
|
+
await Promise.all(staticFiles);
|
|
125
|
+
spinner.succeed('Static metadata generated successfully.');
|
|
126
|
+
spinner.succeed('Generation of metadata generated successfully.');
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
spinner.fail(`Failed to generate components metadata. Error: ${error}`);
|
|
130
|
+
throw error;
|
|
131
|
+
}
|
|
132
|
+
};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { copyFile } from 'node:fs/promises';
|
|
3
|
+
import { basename, join } from 'node:path';
|
|
4
|
+
import ora from 'ora';
|
|
5
|
+
import { angularPath, createPath, getAbsolutePath, reactPath, vuePath, } from '../utilities/index.js';
|
|
6
|
+
/**
|
|
7
|
+
* List of static files that should be copied to the static metadata directory.
|
|
8
|
+
*/
|
|
9
|
+
const staticFilesToCopy = [
|
|
10
|
+
// Angular specific documentation
|
|
11
|
+
[
|
|
12
|
+
getAbsolutePath('../../../../packages/angular/README.md'),
|
|
13
|
+
angularPath,
|
|
14
|
+
],
|
|
15
|
+
[
|
|
16
|
+
getAbsolutePath('../../../../packages/angular/LIMITATIONS.md'),
|
|
17
|
+
angularPath,
|
|
18
|
+
],
|
|
19
|
+
// React specific documentation
|
|
20
|
+
[
|
|
21
|
+
getAbsolutePath('../../../../packages/react/README.md'),
|
|
22
|
+
reactPath,
|
|
23
|
+
],
|
|
24
|
+
[
|
|
25
|
+
getAbsolutePath('../../../../packages/react/LIMITATIONS.md'),
|
|
26
|
+
reactPath,
|
|
27
|
+
],
|
|
28
|
+
// Vue specific documentation
|
|
29
|
+
[
|
|
30
|
+
getAbsolutePath('../../../../packages/vue/README.md'),
|
|
31
|
+
vuePath,
|
|
32
|
+
],
|
|
33
|
+
[
|
|
34
|
+
getAbsolutePath('../../../../packages/vue/LIMITATIONS.md'),
|
|
35
|
+
vuePath,
|
|
36
|
+
],
|
|
37
|
+
];
|
|
38
|
+
/**
|
|
39
|
+
* Sets up all static data from the supported frameworks.
|
|
40
|
+
*/
|
|
41
|
+
export const buildFrameworkFiles = async () => {
|
|
42
|
+
const spinner = ora({
|
|
43
|
+
prefixText: 'Framework files:',
|
|
44
|
+
text: 'Generating framework metadata...',
|
|
45
|
+
}).start();
|
|
46
|
+
try {
|
|
47
|
+
const staticFiles = staticFilesToCopy
|
|
48
|
+
.filter(file => existsSync(file.at(0)))
|
|
49
|
+
.map(async ([staticFile, target]) => {
|
|
50
|
+
await createPath(target);
|
|
51
|
+
return copyFile(staticFile, join(target, basename(staticFile)));
|
|
52
|
+
});
|
|
53
|
+
await Promise.all(staticFiles);
|
|
54
|
+
spinner.succeed('Framework metadata generated successfully.');
|
|
55
|
+
spinner.succeed('Generation of metadata generated successfully.');
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
spinner.fail(`Failed to generate framework metadata. Error: ${error}`);
|
|
59
|
+
throw error;
|
|
60
|
+
}
|
|
61
|
+
};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { copyFile } from 'node:fs/promises';
|
|
3
|
+
import { basename, join } from 'node:path';
|
|
4
|
+
import ora from 'ora';
|
|
5
|
+
import { componentMigrationPath, createPath, getAbsolutePath, setupPath, } from '../utilities/index.js';
|
|
6
|
+
/**
|
|
7
|
+
* List of static files that should be copied to the static metadata directory.
|
|
8
|
+
*/
|
|
9
|
+
const staticFilesToCopy = [
|
|
10
|
+
// The icon usage documentation needs to be copied to the static metadata directory
|
|
11
|
+
[
|
|
12
|
+
getAbsolutePath('../../../../packages/docs/src/static/icon-usage.md'),
|
|
13
|
+
setupPath,
|
|
14
|
+
],
|
|
15
|
+
// Copy prerequisites as it includes information about font setup
|
|
16
|
+
[
|
|
17
|
+
getAbsolutePath('../../../../packages/docs/src/static/prerequisites.md'),
|
|
18
|
+
setupPath,
|
|
19
|
+
],
|
|
20
|
+
// Copy the migration guide
|
|
21
|
+
[
|
|
22
|
+
getAbsolutePath('../../../../packages/components/BREAKING_CHANGES.md'),
|
|
23
|
+
componentMigrationPath,
|
|
24
|
+
],
|
|
25
|
+
// Copy the v3 migration guide
|
|
26
|
+
[
|
|
27
|
+
getAbsolutePath('../../../../packages/docs/src/static/migration-synergy-v3.md'),
|
|
28
|
+
componentMigrationPath,
|
|
29
|
+
],
|
|
30
|
+
];
|
|
31
|
+
/**
|
|
32
|
+
* Sets up all data from the components and framework packages and adds them to the static metadata.
|
|
33
|
+
*/
|
|
34
|
+
export const buildStaticFiles = async () => {
|
|
35
|
+
const spinner = ora({
|
|
36
|
+
prefixText: 'Static files:',
|
|
37
|
+
text: 'Generating static metadata...',
|
|
38
|
+
}).start();
|
|
39
|
+
try {
|
|
40
|
+
// Create the wanted directories if they don't exist
|
|
41
|
+
const createAllPaths = Promise.all(staticFilesToCopy.map(([, target]) => createPath(target)));
|
|
42
|
+
await createAllPaths;
|
|
43
|
+
const staticFiles = staticFilesToCopy
|
|
44
|
+
.filter(file => existsSync(file.at(0)))
|
|
45
|
+
.map(([staticFile, target]) => {
|
|
46
|
+
const targetFileName = join(target, basename(staticFile));
|
|
47
|
+
return copyFile(staticFile, targetFileName);
|
|
48
|
+
});
|
|
49
|
+
await Promise.all(staticFiles);
|
|
50
|
+
spinner.succeed('Static metadata generated successfully.');
|
|
51
|
+
spinner.succeed('Generation of metadata generated successfully.');
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
spinner.fail(`Failed to generate components metadata. Error: ${error}`);
|
|
55
|
+
throw error;
|
|
56
|
+
}
|
|
57
|
+
};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
2
|
+
import { fileURLToPath } from 'url';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import { globby } from 'globby';
|
|
5
|
+
import { rimraf } from 'rimraf';
|
|
6
|
+
import ora from 'ora';
|
|
7
|
+
import { createPath, stylesPath, } from '../utilities/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* List of relative paths to files that should be copied to the static metadata directory.
|
|
10
|
+
*/
|
|
11
|
+
const filesToCopy = [
|
|
12
|
+
'README.md',
|
|
13
|
+
'CHANGELOG.md',
|
|
14
|
+
'dist/*.css',
|
|
15
|
+
];
|
|
16
|
+
/**
|
|
17
|
+
* Sets up all wanted data from the styles package and adds it to the static metadata.
|
|
18
|
+
*/
|
|
19
|
+
export const buildStyles = async () => {
|
|
20
|
+
const spinner = ora({
|
|
21
|
+
prefixText: 'Styles:',
|
|
22
|
+
text: 'Generating static metadata...',
|
|
23
|
+
}).start();
|
|
24
|
+
try {
|
|
25
|
+
spinner.text = 'Cleaning up old metadata...';
|
|
26
|
+
await rimraf(stylesPath);
|
|
27
|
+
spinner.succeed('Old metadata cleaned up.');
|
|
28
|
+
spinner.text = 'Creating new metadata directory...';
|
|
29
|
+
// Create the styles directory if it doesn't exist
|
|
30
|
+
await createPath(stylesPath);
|
|
31
|
+
spinner.succeed('New metadata directory created.');
|
|
32
|
+
spinner.text = 'Copying files to metadata directory...';
|
|
33
|
+
// Get the module's root directory
|
|
34
|
+
// Note that the default export resolves to dist/index.css,
|
|
35
|
+
// so we need to go up one level to get to the root of the package!
|
|
36
|
+
const moduleUrl = import.meta.resolve('@synergy-design-system/styles');
|
|
37
|
+
const modulePath = fileURLToPath(moduleUrl);
|
|
38
|
+
const moduleDir = path.join(path.dirname(modulePath), '../');
|
|
39
|
+
// Process the files (placeholder for actual logic)
|
|
40
|
+
// eslint-disable-next-line no-console
|
|
41
|
+
const contents = await globby(filesToCopy, {
|
|
42
|
+
cwd: moduleDir,
|
|
43
|
+
onlyFiles: true,
|
|
44
|
+
});
|
|
45
|
+
// Write the files to the tokens directory into a flat structure
|
|
46
|
+
const copies = contents.map(file => {
|
|
47
|
+
const sourcePath = path.join(moduleDir, file);
|
|
48
|
+
const destPath = path.join(stylesPath, path.basename(file));
|
|
49
|
+
return fs.copyFile(sourcePath, destPath);
|
|
50
|
+
});
|
|
51
|
+
await Promise.all(copies);
|
|
52
|
+
spinner.succeed('Styles metadata generated successfully.');
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
spinner.fail(`Failed to generate styles metadata. Error: ${error}`);
|
|
56
|
+
throw error; // Re-throw to handle it in the calling function
|
|
57
|
+
}
|
|
58
|
+
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
2
|
+
import { fileURLToPath } from 'url';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import { globby } from 'globby';
|
|
5
|
+
import { rimraf } from 'rimraf';
|
|
6
|
+
import ora from 'ora';
|
|
7
|
+
import { createPath, tokensPath, } from '../utilities/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* List of relative paths to files that should be copied to the static metadata directory.
|
|
10
|
+
*/
|
|
11
|
+
const filesToCopy = [
|
|
12
|
+
'README.md',
|
|
13
|
+
'CHANGELOG.md',
|
|
14
|
+
'dist/js/*.js',
|
|
15
|
+
'dist/themes/*.css',
|
|
16
|
+
];
|
|
17
|
+
/**
|
|
18
|
+
* Sets up all wanted data from the tokens package and adds it to the static metadata.
|
|
19
|
+
*/
|
|
20
|
+
export const buildTokens = async () => {
|
|
21
|
+
const spinner = ora({
|
|
22
|
+
prefixText: 'Tokens:',
|
|
23
|
+
text: 'Generating static metadata...',
|
|
24
|
+
}).start();
|
|
25
|
+
try {
|
|
26
|
+
spinner.text = 'Cleaning up old metadata...';
|
|
27
|
+
await rimraf(tokensPath);
|
|
28
|
+
spinner.succeed('Old metadata cleaned up.');
|
|
29
|
+
spinner.text = 'Creating new metadata directory...';
|
|
30
|
+
// Create the tokens directory if it doesn't exist
|
|
31
|
+
await createPath(tokensPath);
|
|
32
|
+
spinner.succeed('New metadata directory created.');
|
|
33
|
+
spinner.text = 'Copying files to metadata directory...';
|
|
34
|
+
// Get the module's root directory
|
|
35
|
+
// Note that the default export resolves to dist/js/index.js,
|
|
36
|
+
// so we need to go up two levels to get to the root of the package!
|
|
37
|
+
const moduleUrl = import.meta.resolve('@synergy-design-system/tokens');
|
|
38
|
+
const modulePath = fileURLToPath(moduleUrl);
|
|
39
|
+
const moduleDir = path.join(path.dirname(modulePath), '../../');
|
|
40
|
+
// Process the files (placeholder for actual logic)
|
|
41
|
+
// eslint-disable-next-line no-console
|
|
42
|
+
const contents = await globby(filesToCopy, {
|
|
43
|
+
cwd: moduleDir,
|
|
44
|
+
onlyFiles: true,
|
|
45
|
+
});
|
|
46
|
+
// Write the files to the tokens directory into a flat structure
|
|
47
|
+
const copies = contents.map(file => {
|
|
48
|
+
const sourcePath = path.join(moduleDir, file);
|
|
49
|
+
const destPath = path.join(tokensPath, path.basename(file));
|
|
50
|
+
return fs.copyFile(sourcePath, destPath);
|
|
51
|
+
});
|
|
52
|
+
await Promise.all(copies);
|
|
53
|
+
spinner.succeed('Tokens metadata generated successfully.');
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
spinner.fail(`Failed to generate tokens metadata. Error: ${error}`);
|
|
57
|
+
throw error; // Re-throw to handle it in the calling function
|
|
58
|
+
}
|
|
59
|
+
};
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a new instance of the MCP server configured for the Synergy Design System.
|
|
4
|
+
* @returns A new instance of the MCP server configured for the Synergy Design System.
|
|
5
|
+
*/
|
|
6
|
+
export declare const createServer: () => McpServer;
|
package/dist/server.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
import * as tools from './tools/index.js';
|
|
3
|
+
import { getVersion } from './utilities/version.js';
|
|
4
|
+
/**
|
|
5
|
+
* Creates a new instance of the MCP server configured for the Synergy Design System.
|
|
6
|
+
* @returns A new instance of the MCP server configured for the Synergy Design System.
|
|
7
|
+
*/
|
|
8
|
+
export const createServer = () => {
|
|
9
|
+
const version = getVersion();
|
|
10
|
+
const server = new McpServer({
|
|
11
|
+
description: 'A server for the Synergy Design System that provides tools to interact with components and resources.',
|
|
12
|
+
name: 'synergy design system',
|
|
13
|
+
title: 'Synergy Design System MCP Server',
|
|
14
|
+
version,
|
|
15
|
+
});
|
|
16
|
+
Object.values(tools).forEach(tool => {
|
|
17
|
+
tool(server);
|
|
18
|
+
});
|
|
19
|
+
return server;
|
|
20
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
/**
|
|
3
|
+
* Simple tool to list all available assets in the Synergy Design System.
|
|
4
|
+
* This tool fetches the asset data from the Synergy package and formats it for display.
|
|
5
|
+
* @todo: Maybe also include the metadata like in docs and use this to map the new/old sets?
|
|
6
|
+
* @param server - The MCP server instance to register the tool on.
|
|
7
|
+
*/
|
|
8
|
+
export declare const assetInfoTool: (server: McpServer) => void;
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/* eslint-disable complexity */
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import * as availableIconsets from '@synergy-design-system/assets';
|
|
4
|
+
import { getAssetsMetaData, getStructuredMetaData, } from '../utilities/index.js';
|
|
5
|
+
const iconsetListAliases = {
|
|
6
|
+
sick2018Icons: [
|
|
7
|
+
'current',
|
|
8
|
+
'default',
|
|
9
|
+
'legacy',
|
|
10
|
+
'v2',
|
|
11
|
+
'synergy2018',
|
|
12
|
+
'brand2018',
|
|
13
|
+
'sick2018',
|
|
14
|
+
],
|
|
15
|
+
sick2025Icons: [
|
|
16
|
+
'synergy2025',
|
|
17
|
+
'new',
|
|
18
|
+
'next',
|
|
19
|
+
'brand2025',
|
|
20
|
+
'sick2025',
|
|
21
|
+
'v3',
|
|
22
|
+
],
|
|
23
|
+
};
|
|
24
|
+
const DEFAULT_LIMIT = 5;
|
|
25
|
+
/**
|
|
26
|
+
* Simple tool to list all available assets in the Synergy Design System.
|
|
27
|
+
* This tool fetches the asset data from the Synergy package and formats it for display.
|
|
28
|
+
* @todo: Maybe also include the metadata like in docs and use this to map the new/old sets?
|
|
29
|
+
* @param server - The MCP server instance to register the tool on.
|
|
30
|
+
*/
|
|
31
|
+
export const assetInfoTool = (server) => {
|
|
32
|
+
server.registerTool('asset-info', {
|
|
33
|
+
description: 'Get information about available icons in the Synergy Design System. Will return the full list of icons in a set or just a subset',
|
|
34
|
+
inputSchema: {
|
|
35
|
+
filter: z
|
|
36
|
+
.string()
|
|
37
|
+
.optional()
|
|
38
|
+
.describe('A filter to apply to the icon names. If provided, only icons matching this filter will be returned. Supports multiple filters separated by "|" (e.g., "home|search|menu" to find icons containing any of these terms).'),
|
|
39
|
+
iconset: z
|
|
40
|
+
.enum([
|
|
41
|
+
'current', // Special key, maps to 2018 currently, should map to 2025 in the next major version
|
|
42
|
+
'default', // Alias for current
|
|
43
|
+
'legacy', // Fallback to 2018
|
|
44
|
+
'v2', // Fallback to 2018
|
|
45
|
+
'synergy2018', // Fallback name of the set for 2018
|
|
46
|
+
'brand2018', // Alternative name of the set for 2018
|
|
47
|
+
'sick2018', // Official name for 2018 (Synergy V2)
|
|
48
|
+
'brand2025', // Alternative name of the set for 2025
|
|
49
|
+
'sick2025', // Official name for 2025 (Synergy V3)
|
|
50
|
+
'synergy2025', // Alias for sick2025
|
|
51
|
+
'new', // Alias for sick2025
|
|
52
|
+
'next', // Alias for sick2025
|
|
53
|
+
'v3', // Done for completeness, maps to 2025
|
|
54
|
+
])
|
|
55
|
+
.default('current')
|
|
56
|
+
.optional()
|
|
57
|
+
.describe('The name of the icon set to retrieve icons from.'),
|
|
58
|
+
limit: z
|
|
59
|
+
.number()
|
|
60
|
+
.default(DEFAULT_LIMIT)
|
|
61
|
+
.optional()
|
|
62
|
+
.describe(`The maximum number of icons to return. Defaults to ${DEFAULT_LIMIT}. When using multiple filters (pipe-separated), this limit applies per filter term.`),
|
|
63
|
+
},
|
|
64
|
+
title: 'Available Icons',
|
|
65
|
+
}, async ({ filter, iconset, limit, }) => {
|
|
66
|
+
// Get the iconset that should be used by key/value of iconsetListAliases
|
|
67
|
+
const setToUse = iconset
|
|
68
|
+
? Object
|
|
69
|
+
.entries(iconsetListAliases)
|
|
70
|
+
.find(([, aliases]) => aliases.includes(iconset))?.[0] || 'sick2018Icons'
|
|
71
|
+
: 'sick2018Icons';
|
|
72
|
+
const foundIconSet = typeof availableIconsets[setToUse] !== undefined
|
|
73
|
+
? availableIconsets[setToUse]
|
|
74
|
+
: availableIconsets.sick2018Icons;
|
|
75
|
+
// Filter the icons if a filter is provided
|
|
76
|
+
// Support pipe-separated filters (e.g., "icon1|icon2|icon3") for multiple icon matching
|
|
77
|
+
let availableIcons;
|
|
78
|
+
if (!filter) {
|
|
79
|
+
availableIcons = Object.keys(foundIconSet);
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
const lowerFilter = filter.toLowerCase();
|
|
83
|
+
// Check if filter contains pipe separator for multiple filters
|
|
84
|
+
if (lowerFilter.includes('|')) {
|
|
85
|
+
const filterTerms = lowerFilter.split('|').map(term => term.trim());
|
|
86
|
+
const iconsPerTerm = [];
|
|
87
|
+
// For each filter term, find matching icons and apply limit per term
|
|
88
|
+
filterTerms.forEach(term => {
|
|
89
|
+
const matchingIcons = Object
|
|
90
|
+
.keys(foundIconSet)
|
|
91
|
+
.filter(iconName => iconName.toLowerCase().includes(term))
|
|
92
|
+
.slice(0, limit ?? DEFAULT_LIMIT); // Apply limit per filter term
|
|
93
|
+
iconsPerTerm.push(...matchingIcons);
|
|
94
|
+
});
|
|
95
|
+
// Remove duplicates while preserving order
|
|
96
|
+
availableIcons = [...new Set(iconsPerTerm)];
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
// Original single filter behavior
|
|
100
|
+
availableIcons = Object
|
|
101
|
+
.keys(foundIconSet)
|
|
102
|
+
.filter(iconName => iconName.toLowerCase().includes(lowerFilter));
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
// For single filters or no filter, apply the limit normally
|
|
106
|
+
const limitedIcons = (!filter || !filter.includes('|')) && (limit ?? DEFAULT_LIMIT) > 0
|
|
107
|
+
? availableIcons.slice(0, limit ?? DEFAULT_LIMIT)
|
|
108
|
+
: availableIcons;
|
|
109
|
+
const icons = limitedIcons.map(icon => `- ${icon}`).join('\n');
|
|
110
|
+
const content = [
|
|
111
|
+
{
|
|
112
|
+
text: `Available icons in iconset "${setToUse}":`,
|
|
113
|
+
type: 'text',
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
text: `Showing ${limitedIcons.length} of ${availableIcons.length} icons`,
|
|
117
|
+
type: 'text',
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
text: icons,
|
|
121
|
+
type: 'text',
|
|
122
|
+
},
|
|
123
|
+
];
|
|
124
|
+
const aiRules = await getStructuredMetaData('../../metadata/static/assets');
|
|
125
|
+
const assetData = await getAssetsMetaData((fileName) => !fileName.toLowerCase().startsWith('changelog'));
|
|
126
|
+
return {
|
|
127
|
+
content: [
|
|
128
|
+
{
|
|
129
|
+
text: JSON.stringify(aiRules, null, 2),
|
|
130
|
+
type: 'text',
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
text: JSON.stringify(assetData, null, 2),
|
|
134
|
+
type: 'text',
|
|
135
|
+
},
|
|
136
|
+
...content,
|
|
137
|
+
],
|
|
138
|
+
};
|
|
139
|
+
});
|
|
140
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
/**
|
|
3
|
+
* Simple tool to list all available iconsets in the Synergy Design System.
|
|
4
|
+
* @param server - The MCP server instance to register the tool on.
|
|
5
|
+
*/
|
|
6
|
+
export declare const assetListTool: (server: McpServer) => void;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { getStructuredMetaData, } from '../utilities/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Simple tool to list all available iconsets in the Synergy Design System.
|
|
4
|
+
* @param server - The MCP server instance to register the tool on.
|
|
5
|
+
*/
|
|
6
|
+
export const assetListTool = (server) => {
|
|
7
|
+
server.registerTool('asset-list', {
|
|
8
|
+
description: 'Get the available iconsets in the Synergy Design System.',
|
|
9
|
+
title: 'Available iconsets',
|
|
10
|
+
}, async () => {
|
|
11
|
+
const aiRules = await getStructuredMetaData('../../metadata/static/assets');
|
|
12
|
+
return {
|
|
13
|
+
content: [
|
|
14
|
+
{
|
|
15
|
+
text: 'Available iconsets in the Synergy Design System:',
|
|
16
|
+
type: 'text',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
text: JSON.stringify([
|
|
20
|
+
{
|
|
21
|
+
text: JSON.stringify(aiRules, null, 2),
|
|
22
|
+
type: 'text',
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
description: 'The original set of icons from the Synergy Design System. Use this for projects using Synergy Major Version 2.0.',
|
|
26
|
+
iconset: 'sick2018Icons',
|
|
27
|
+
title: 'Synergy 2018 Icons',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
description: 'New icon set for the brand 2025 refresh. Use this for projects using Synergy Major Version 3.0.',
|
|
31
|
+
iconset: 'sick2025Icons',
|
|
32
|
+
title: 'Synergy 2025 Icons',
|
|
33
|
+
},
|
|
34
|
+
], null, 2),
|
|
35
|
+
type: 'text',
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
};
|
|
39
|
+
});
|
|
40
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
/**
|
|
3
|
+
* Simple tool to retrieve information about a given component in the Synergy Design System.
|
|
4
|
+
* @param server - The MCP server instance to register the tool on.
|
|
5
|
+
*/
|
|
6
|
+
export declare const componentInfoTool: (server: McpServer) => void;
|