@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,99 @@
|
|
|
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 Radios allow the user to select a single option from a group.
|
|
10
|
+
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-radio--docs
|
|
11
|
+
* @status stable
|
|
12
|
+
* @since 2.0
|
|
13
|
+
*
|
|
14
|
+
* @dependency syn-icon
|
|
15
|
+
*
|
|
16
|
+
* @slot - The radio's label.
|
|
17
|
+
*
|
|
18
|
+
* @event syn-blur - Emitted when the control loses focus.
|
|
19
|
+
* @event syn-focus - Emitted when the control gains focus.
|
|
20
|
+
*
|
|
21
|
+
* @csspart base - The component's base wrapper.
|
|
22
|
+
* @csspart control - The circular container that wraps the radio's checked state.
|
|
23
|
+
* @csspart control--checked - The radio control when the radio is checked.
|
|
24
|
+
* @csspart checked-icon - The checked icon, an `<syn-icon>` element.
|
|
25
|
+
* @csspart label - The container that wraps the radio's label.
|
|
26
|
+
*/
|
|
27
|
+
import { computed, ref } from 'vue';
|
|
28
|
+
import '@synergy-design-system/components/components/radio/radio.js';
|
|
29
|
+
|
|
30
|
+
import type { SynBlurEvent } from '@synergy-design-system/components';
|
|
31
|
+
import type { SynFocusEvent } from '@synergy-design-system/components';
|
|
32
|
+
import type { SynRadio } from '@synergy-design-system/components';
|
|
33
|
+
|
|
34
|
+
// DOM Reference to the element
|
|
35
|
+
const nativeElement = ref<SynRadio>();
|
|
36
|
+
|
|
37
|
+
defineExpose({
|
|
38
|
+
nativeElement,
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
// Map attributes
|
|
42
|
+
const props = defineProps<{
|
|
43
|
+
/**
|
|
44
|
+
* The radio's value.
|
|
45
|
+
* When selected, the radio group will receive this value.
|
|
46
|
+
*/
|
|
47
|
+
value?: SynRadio['value'];
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* The radio's size.
|
|
51
|
+
* When used inside a radio group, the size will be determined by the radio group's size so this
|
|
52
|
+
attribute can typically be omitted.
|
|
53
|
+
*/
|
|
54
|
+
size?: SynRadio['size'];
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Disables the radio.
|
|
58
|
+
*/
|
|
59
|
+
disabled?: SynRadio['disabled'];
|
|
60
|
+
}>();
|
|
61
|
+
|
|
62
|
+
// Make sure prop binding only forwards the props that are actually there.
|
|
63
|
+
// This is needed because :param="param" also adds an empty attribute
|
|
64
|
+
// when using web-components, which breaks optional arguments like size in SynInput
|
|
65
|
+
// @see https://github.com/vuejs/core/issues/5190#issuecomment-1003112498
|
|
66
|
+
const visibleProps = computed(() =>
|
|
67
|
+
Object.fromEntries(
|
|
68
|
+
Object.entries(props).filter(([, value]) => typeof value !== 'undefined'),
|
|
69
|
+
),
|
|
70
|
+
);
|
|
71
|
+
|
|
72
|
+
// Map events
|
|
73
|
+
defineEmits<{
|
|
74
|
+
/**
|
|
75
|
+
* Emitted when the control loses focus.
|
|
76
|
+
*/
|
|
77
|
+
'syn-blur': [e: SynBlurEvent];
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Emitted when the control gains focus.
|
|
81
|
+
*/
|
|
82
|
+
'syn-focus': [e: SynFocusEvent];
|
|
83
|
+
}>();
|
|
84
|
+
</script>
|
|
85
|
+
|
|
86
|
+
<script lang="ts">
|
|
87
|
+
export type { SynBlurEvent } from '@synergy-design-system/components';
|
|
88
|
+
export type { SynFocusEvent } from '@synergy-design-system/components';
|
|
89
|
+
</script>
|
|
90
|
+
|
|
91
|
+
<template>
|
|
92
|
+
<syn-radio
|
|
93
|
+
@syn-blur="$emit('syn-blur', $event)"
|
|
94
|
+
@syn-focus="$emit('syn-focus', $event)"
|
|
95
|
+
v-bind="visibleProps"
|
|
96
|
+
ref="nativeElement">
|
|
97
|
+
<slot></slot>
|
|
98
|
+
</syn-radio>
|
|
99
|
+
</template>
|
|
@@ -0,0 +1,123 @@
|
|
|
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 { SynRadioButton } from '@synergy-design-system/components';
|
|
16
|
+
import type { SynBlurEvent } from '@synergy-design-system/components';
|
|
17
|
+
import type { SynFocusEvent } from '@synergy-design-system/components';
|
|
18
|
+
import '@synergy-design-system/components/components/radio-button/radio-button.js';
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @summary Radios buttons allow the user to select a single option from a group using a button-like control.
|
|
22
|
+
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-radio-button--docs
|
|
23
|
+
* @status stable
|
|
24
|
+
* @since 2.0
|
|
25
|
+
*
|
|
26
|
+
* @slot - The radio button's label.
|
|
27
|
+
* @slot prefix - A presentational prefix icon or similar element.
|
|
28
|
+
* @slot suffix - A presentational suffix icon or similar element.
|
|
29
|
+
*
|
|
30
|
+
* @event syn-blur - Emitted when the button loses focus.
|
|
31
|
+
* @event syn-focus - Emitted when the button gains focus.
|
|
32
|
+
*
|
|
33
|
+
* @csspart base - The component's base wrapper.
|
|
34
|
+
* @csspart button - The internal `<button>` element.
|
|
35
|
+
* @csspart button--checked - The internal button element when the radio button is checked.
|
|
36
|
+
* @csspart prefix - The container that wraps the prefix.
|
|
37
|
+
* @csspart label - The container that wraps the radio button's label.
|
|
38
|
+
* @csspart suffix - The container that wraps the suffix.
|
|
39
|
+
*/
|
|
40
|
+
@Component({
|
|
41
|
+
selector: 'syn-radio-button',
|
|
42
|
+
standalone: true,
|
|
43
|
+
template: '<ng-content></ng-content>',
|
|
44
|
+
})
|
|
45
|
+
export class SynRadioButtonComponent {
|
|
46
|
+
public nativeElement: SynRadioButton;
|
|
47
|
+
private _ngZone: NgZone;
|
|
48
|
+
|
|
49
|
+
constructor(e: ElementRef, ngZone: NgZone) {
|
|
50
|
+
this.nativeElement = e.nativeElement;
|
|
51
|
+
this._ngZone = ngZone;
|
|
52
|
+
this.nativeElement.addEventListener('syn-blur', (e: SynBlurEvent) => {
|
|
53
|
+
this.synBlurEvent.emit(e);
|
|
54
|
+
});
|
|
55
|
+
this.nativeElement.addEventListener('syn-focus', (e: SynFocusEvent) => {
|
|
56
|
+
this.synFocusEvent.emit(e);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* The radio's value.
|
|
62
|
+
* When selected, the radio group will receive this value.
|
|
63
|
+
*/
|
|
64
|
+
@Input()
|
|
65
|
+
set value(v: SynRadioButton['value']) {
|
|
66
|
+
this._ngZone.runOutsideAngular(() => (this.nativeElement.value = v));
|
|
67
|
+
}
|
|
68
|
+
get value(): SynRadioButton['value'] {
|
|
69
|
+
return this.nativeElement.value;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Disables the radio button.
|
|
74
|
+
*/
|
|
75
|
+
@Input()
|
|
76
|
+
set disabled(v: '' | SynRadioButton['disabled']) {
|
|
77
|
+
this._ngZone.runOutsideAngular(
|
|
78
|
+
() => (this.nativeElement.disabled = v === '' || v),
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
get disabled(): SynRadioButton['disabled'] {
|
|
82
|
+
return this.nativeElement.disabled;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* The radio button's size.
|
|
87
|
+
* When used inside a radio group, the size will be determined by the radio group's size so
|
|
88
|
+
this attribute can typically be omitted.
|
|
89
|
+
*/
|
|
90
|
+
@Input()
|
|
91
|
+
set size(v: SynRadioButton['size']) {
|
|
92
|
+
this._ngZone.runOutsideAngular(() => (this.nativeElement.size = v));
|
|
93
|
+
}
|
|
94
|
+
get size(): SynRadioButton['size'] {
|
|
95
|
+
return this.nativeElement.size;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Draws a pill-style radio button with rounded edges.
|
|
100
|
+
*/
|
|
101
|
+
@Input()
|
|
102
|
+
set pill(v: '' | SynRadioButton['pill']) {
|
|
103
|
+
this._ngZone.runOutsideAngular(
|
|
104
|
+
() => (this.nativeElement.pill = v === '' || v),
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
get pill(): SynRadioButton['pill'] {
|
|
108
|
+
return this.nativeElement.pill;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Emitted when the button loses focus.
|
|
113
|
+
*/
|
|
114
|
+
@Output() synBlurEvent = new EventEmitter<SynBlurEvent>();
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Emitted when the button gains focus.
|
|
118
|
+
*/
|
|
119
|
+
@Output() synFocusEvent = new EventEmitter<SynFocusEvent>();
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
export type { SynBlurEvent } from '@synergy-design-system/components';
|
|
123
|
+
export type { SynFocusEvent } from '@synergy-design-system/components';
|
|
@@ -0,0 +1,49 @@
|
|
|
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/radio-button/radio-button.component.js';
|
|
9
|
+
|
|
10
|
+
import { type EventName } from '@lit/react';
|
|
11
|
+
import type { SynBlurEvent } from '@synergy-design-system/components';
|
|
12
|
+
import type { SynFocusEvent } from '@synergy-design-system/components';
|
|
13
|
+
|
|
14
|
+
const tagName = 'syn-radio-button';
|
|
15
|
+
Component.define('syn-radio-button');
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @summary Radios buttons allow the user to select a single option from a group using a button-like control.
|
|
19
|
+
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-radio-button--docs
|
|
20
|
+
* @status stable
|
|
21
|
+
* @since 2.0
|
|
22
|
+
*
|
|
23
|
+
* @slot - The radio button's label.
|
|
24
|
+
* @slot prefix - A presentational prefix icon or similar element.
|
|
25
|
+
* @slot suffix - A presentational suffix icon or similar element.
|
|
26
|
+
*
|
|
27
|
+
* @event syn-blur - Emitted when the button loses focus.
|
|
28
|
+
* @event syn-focus - Emitted when the button gains focus.
|
|
29
|
+
*
|
|
30
|
+
* @csspart base - The component's base wrapper.
|
|
31
|
+
* @csspart button - The internal `<button>` element.
|
|
32
|
+
* @csspart button--checked - The internal button element when the radio button is checked.
|
|
33
|
+
* @csspart prefix - The container that wraps the prefix.
|
|
34
|
+
* @csspart label - The container that wraps the radio button's label.
|
|
35
|
+
* @csspart suffix - The container that wraps the suffix.
|
|
36
|
+
*/
|
|
37
|
+
export const SynRadioButton = createComponent({
|
|
38
|
+
displayName: 'SynRadioButton',
|
|
39
|
+
elementClass: Component,
|
|
40
|
+
events: {
|
|
41
|
+
onSynBlur: 'syn-blur' as EventName<SynBlurEvent>,
|
|
42
|
+
onSynFocus: 'syn-focus' as EventName<SynFocusEvent>,
|
|
43
|
+
},
|
|
44
|
+
react: React,
|
|
45
|
+
tagName,
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
export type { SynBlurEvent } from '@synergy-design-system/components';
|
|
49
|
+
export type { SynFocusEvent } from '@synergy-design-system/components';
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ---------------------------------------------------------------------
|
|
3
|
+
* 🔒 AUTOGENERATED BY VENDORISM
|
|
4
|
+
* Removing this comment will prevent it from being managed by it.
|
|
5
|
+
* ---------------------------------------------------------------------
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/* eslint-disable */
|
|
9
|
+
import { css } from 'lit';
|
|
10
|
+
import buttonStyles from '../button/button.styles.js';
|
|
11
|
+
|
|
12
|
+
export default css`
|
|
13
|
+
/* stylelint-disable */
|
|
14
|
+
${buttonStyles}
|
|
15
|
+
|
|
16
|
+
.button__prefix,
|
|
17
|
+
.button__suffix,
|
|
18
|
+
.button__label {
|
|
19
|
+
display: inline-flex;
|
|
20
|
+
position: relative;
|
|
21
|
+
align-items: center;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/* We use a hidden input so constraint validation errors work, since they don't appear to show when used with buttons.
|
|
25
|
+
We can't actually hide it, though, otherwise the messages will be suppressed by the browser. */
|
|
26
|
+
.hidden-input {
|
|
27
|
+
all: unset;
|
|
28
|
+
position: absolute;
|
|
29
|
+
top: 0;
|
|
30
|
+
left: 0;
|
|
31
|
+
bottom: 0;
|
|
32
|
+
right: 0;
|
|
33
|
+
outline: dotted 1px red;
|
|
34
|
+
opacity: 0;
|
|
35
|
+
z-index: -1;
|
|
36
|
+
}
|
|
37
|
+
`;
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ---------------------------------------------------------------------
|
|
3
|
+
* 🔒 AUTOGENERATED BY VENDORISM
|
|
4
|
+
* Removing this comment will prevent it from being managed by it.
|
|
5
|
+
* ---------------------------------------------------------------------
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/* eslint-disable */
|
|
9
|
+
import { classMap } from 'lit/directives/class-map.js';
|
|
10
|
+
import { HasSlotController } from '../../internal/slot.js';
|
|
11
|
+
import { html } from 'lit/static-html.js';
|
|
12
|
+
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
13
|
+
import { property, query, state } from 'lit/decorators.js';
|
|
14
|
+
import { watch } from '../../internal/watch.js';
|
|
15
|
+
import componentStyles from '../../styles/component.styles.js';
|
|
16
|
+
import SynergyElement from '../../internal/synergy-element.js';
|
|
17
|
+
import styles from './radio-button.styles.js';
|
|
18
|
+
import type { CSSResultGroup } from 'lit';
|
|
19
|
+
import { enableDefaultSettings } from '../../utilities/defaultSettings/decorator.js';
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* @summary Radios buttons allow the user to select a single option from a group using a button-like control.
|
|
23
|
+
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-radio-button--docs
|
|
24
|
+
* @status stable
|
|
25
|
+
* @since 2.0
|
|
26
|
+
*
|
|
27
|
+
* @slot - The radio button's label.
|
|
28
|
+
* @slot prefix - A presentational prefix icon or similar element.
|
|
29
|
+
* @slot suffix - A presentational suffix icon or similar element.
|
|
30
|
+
*
|
|
31
|
+
* @event syn-blur - Emitted when the button loses focus.
|
|
32
|
+
* @event syn-focus - Emitted when the button gains focus.
|
|
33
|
+
*
|
|
34
|
+
* @csspart base - The component's base wrapper.
|
|
35
|
+
* @csspart button - The internal `<button>` element.
|
|
36
|
+
* @csspart button--checked - The internal button element when the radio button is checked.
|
|
37
|
+
* @csspart prefix - The container that wraps the prefix.
|
|
38
|
+
* @csspart label - The container that wraps the radio button's label.
|
|
39
|
+
* @csspart suffix - The container that wraps the suffix.
|
|
40
|
+
*/
|
|
41
|
+
@enableDefaultSettings('SynRadioButton')
|
|
42
|
+
export default class SynRadioButton extends SynergyElement {
|
|
43
|
+
static styles: CSSResultGroup = [componentStyles, styles];
|
|
44
|
+
|
|
45
|
+
private readonly hasSlotController = new HasSlotController(this, '[default]', 'prefix', 'suffix');
|
|
46
|
+
|
|
47
|
+
@query('.button') input: HTMLInputElement;
|
|
48
|
+
@query('.hidden-input') hiddenInput: HTMLInputElement;
|
|
49
|
+
|
|
50
|
+
@state() protected hasFocus = false;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* @internal The radio button's checked state. This is exposed as an "internal" attribute so we can reflect it, making
|
|
54
|
+
* it easier to style in button groups.
|
|
55
|
+
*/
|
|
56
|
+
@property({ type: Boolean, reflect: true }) checked = false;
|
|
57
|
+
|
|
58
|
+
/** The radio's value. When selected, the radio group will receive this value. */
|
|
59
|
+
@property() value: string | number;
|
|
60
|
+
|
|
61
|
+
/** Disables the radio button. */
|
|
62
|
+
@property({ type: Boolean, reflect: true }) disabled = false;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* The radio button's size. When used inside a radio group, the size will be determined by the radio group's size so
|
|
66
|
+
* this attribute can typically be omitted.
|
|
67
|
+
*/
|
|
68
|
+
@property({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';
|
|
69
|
+
|
|
70
|
+
/** Draws a pill-style radio button with rounded edges. */
|
|
71
|
+
@property({ type: Boolean, reflect: true }) pill = false;
|
|
72
|
+
|
|
73
|
+
connectedCallback() {
|
|
74
|
+
super.connectedCallback();
|
|
75
|
+
this.setAttribute('role', 'presentation');
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
private handleBlur() {
|
|
79
|
+
this.hasFocus = false;
|
|
80
|
+
this.emit('syn-blur');
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
private handleClick(e: MouseEvent) {
|
|
84
|
+
if (this.disabled) {
|
|
85
|
+
e.preventDefault();
|
|
86
|
+
e.stopPropagation();
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
this.checked = true;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
private handleFocus() {
|
|
94
|
+
this.hasFocus = true;
|
|
95
|
+
this.emit('syn-focus');
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
@watch('disabled', { waitUntilFirstUpdate: true })
|
|
99
|
+
handleDisabledChange() {
|
|
100
|
+
this.setAttribute('aria-disabled', this.disabled ? 'true' : 'false');
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/** Sets focus on the radio button. */
|
|
104
|
+
focus(options?: FocusOptions) {
|
|
105
|
+
this.input.focus(options);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/** Removes focus from the radio button. */
|
|
109
|
+
blur() {
|
|
110
|
+
this.input.blur();
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
render() {
|
|
114
|
+
return html`
|
|
115
|
+
<div part="base" role="presentation">
|
|
116
|
+
<button
|
|
117
|
+
part="${`button${this.checked ? ' button--checked' : ''}`}"
|
|
118
|
+
role="radio"
|
|
119
|
+
aria-checked="${this.checked}"
|
|
120
|
+
class=${classMap({
|
|
121
|
+
button: true,
|
|
122
|
+
'button--default': true,
|
|
123
|
+
'button--small': this.size === 'small',
|
|
124
|
+
'button--medium': this.size === 'medium',
|
|
125
|
+
'button--large': this.size === 'large',
|
|
126
|
+
'button--checked': this.checked,
|
|
127
|
+
'button--disabled': this.disabled,
|
|
128
|
+
'button--focused': this.hasFocus,
|
|
129
|
+
'button--outline': true,
|
|
130
|
+
'button--pill': this.pill,
|
|
131
|
+
'button--has-label': this.hasSlotController.test('[default]'),
|
|
132
|
+
'button--has-prefix': this.hasSlotController.test('prefix'),
|
|
133
|
+
'button--has-suffix': this.hasSlotController.test('suffix')
|
|
134
|
+
})}
|
|
135
|
+
aria-disabled=${this.disabled}
|
|
136
|
+
type="button"
|
|
137
|
+
value=${ifDefined(this.value)}
|
|
138
|
+
@blur=${this.handleBlur}
|
|
139
|
+
@focus=${this.handleFocus}
|
|
140
|
+
@click=${this.handleClick}
|
|
141
|
+
>
|
|
142
|
+
<slot name="prefix" part="prefix" class="button__prefix"></slot>
|
|
143
|
+
<slot part="label" class="button__label"></slot>
|
|
144
|
+
<slot name="suffix" part="suffix" class="button__suffix"></slot>
|
|
145
|
+
</button>
|
|
146
|
+
</div>
|
|
147
|
+
`;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
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 Radios buttons allow the user to select a single option from a group using a button-like control.
|
|
10
|
+
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-radio-button--docs
|
|
11
|
+
* @status stable
|
|
12
|
+
* @since 2.0
|
|
13
|
+
*
|
|
14
|
+
* @slot - The radio button's label.
|
|
15
|
+
* @slot prefix - A presentational prefix icon or similar element.
|
|
16
|
+
* @slot suffix - A presentational suffix icon or similar element.
|
|
17
|
+
*
|
|
18
|
+
* @event syn-blur - Emitted when the button loses focus.
|
|
19
|
+
* @event syn-focus - Emitted when the button gains focus.
|
|
20
|
+
*
|
|
21
|
+
* @csspart base - The component's base wrapper.
|
|
22
|
+
* @csspart button - The internal `<button>` element.
|
|
23
|
+
* @csspart button--checked - The internal button element when the radio button is checked.
|
|
24
|
+
* @csspart prefix - The container that wraps the prefix.
|
|
25
|
+
* @csspart label - The container that wraps the radio button's label.
|
|
26
|
+
* @csspart suffix - The container that wraps the suffix.
|
|
27
|
+
*/
|
|
28
|
+
import { computed, ref } from 'vue';
|
|
29
|
+
import '@synergy-design-system/components/components/radio-button/radio-button.js';
|
|
30
|
+
|
|
31
|
+
import type { SynBlurEvent } from '@synergy-design-system/components';
|
|
32
|
+
import type { SynFocusEvent } from '@synergy-design-system/components';
|
|
33
|
+
import type { SynRadioButton } from '@synergy-design-system/components';
|
|
34
|
+
|
|
35
|
+
// DOM Reference to the element
|
|
36
|
+
const nativeElement = ref<SynRadioButton>();
|
|
37
|
+
|
|
38
|
+
defineExpose({
|
|
39
|
+
nativeElement,
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
// Map attributes
|
|
43
|
+
const props = defineProps<{
|
|
44
|
+
/**
|
|
45
|
+
* The radio's value.
|
|
46
|
+
* When selected, the radio group will receive this value.
|
|
47
|
+
*/
|
|
48
|
+
value?: SynRadioButton['value'];
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Disables the radio button.
|
|
52
|
+
*/
|
|
53
|
+
disabled?: SynRadioButton['disabled'];
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* The radio button's size.
|
|
57
|
+
* When used inside a radio group, the size will be determined by the radio group's size so
|
|
58
|
+
this attribute can typically be omitted.
|
|
59
|
+
*/
|
|
60
|
+
size?: SynRadioButton['size'];
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Draws a pill-style radio button with rounded edges.
|
|
64
|
+
*/
|
|
65
|
+
pill?: SynRadioButton['pill'];
|
|
66
|
+
}>();
|
|
67
|
+
|
|
68
|
+
// Make sure prop binding only forwards the props that are actually there.
|
|
69
|
+
// This is needed because :param="param" also adds an empty attribute
|
|
70
|
+
// when using web-components, which breaks optional arguments like size in SynInput
|
|
71
|
+
// @see https://github.com/vuejs/core/issues/5190#issuecomment-1003112498
|
|
72
|
+
const visibleProps = computed(() =>
|
|
73
|
+
Object.fromEntries(
|
|
74
|
+
Object.entries(props).filter(([, value]) => typeof value !== 'undefined'),
|
|
75
|
+
),
|
|
76
|
+
);
|
|
77
|
+
|
|
78
|
+
// Map events
|
|
79
|
+
defineEmits<{
|
|
80
|
+
/**
|
|
81
|
+
* Emitted when the button loses focus.
|
|
82
|
+
*/
|
|
83
|
+
'syn-blur': [e: SynBlurEvent];
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Emitted when the button gains focus.
|
|
87
|
+
*/
|
|
88
|
+
'syn-focus': [e: SynFocusEvent];
|
|
89
|
+
}>();
|
|
90
|
+
</script>
|
|
91
|
+
|
|
92
|
+
<script lang="ts">
|
|
93
|
+
export type { SynBlurEvent } from '@synergy-design-system/components';
|
|
94
|
+
export type { SynFocusEvent } from '@synergy-design-system/components';
|
|
95
|
+
</script>
|
|
96
|
+
|
|
97
|
+
<template>
|
|
98
|
+
<syn-radio-button
|
|
99
|
+
@syn-blur="$emit('syn-blur', $event)"
|
|
100
|
+
@syn-focus="$emit('syn-focus', $event)"
|
|
101
|
+
v-bind="visibleProps"
|
|
102
|
+
ref="nativeElement">
|
|
103
|
+
<slot></slot>
|
|
104
|
+
</syn-radio-button>
|
|
105
|
+
</template>
|