@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,291 @@
|
|
|
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 { defaultValue } from '../../internal/default-value.js';
|
|
11
|
+
import { FormControlController } from '../../internal/form.js';
|
|
12
|
+
import { HasSlotController } from '../../internal/slot.js';
|
|
13
|
+
import { html } from 'lit';
|
|
14
|
+
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
15
|
+
import { live } from 'lit/directives/live.js';
|
|
16
|
+
import { property, query, state } from 'lit/decorators.js';
|
|
17
|
+
import { watch } from '../../internal/watch.js';
|
|
18
|
+
import componentStyles from '../../styles/component.styles.js';
|
|
19
|
+
import formControlStyles from '../../styles/form-control.styles.js';
|
|
20
|
+
import formControlCustomStyles from '../../styles/form-control.custom.styles.js';
|
|
21
|
+
import SynergyElement from '../../internal/synergy-element.js';
|
|
22
|
+
import SynIcon from '../icon/icon.component.js';
|
|
23
|
+
import styles from './checkbox.styles.js';
|
|
24
|
+
import customStyles from './checkbox.custom.styles.js';
|
|
25
|
+
import type { CSSResultGroup } from 'lit';
|
|
26
|
+
import type { SynergyFormControl } from '../../internal/synergy-element.js';
|
|
27
|
+
import { enableDefaultSettings } from '../../utilities/defaultSettings/decorator.js';
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @summary Checkboxes allow the user to toggle an option on or off.
|
|
31
|
+
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-checkbox--docs
|
|
32
|
+
* @status stable
|
|
33
|
+
* @since 2.0
|
|
34
|
+
*
|
|
35
|
+
* @dependency syn-icon
|
|
36
|
+
*
|
|
37
|
+
* @slot - The checkbox's label.
|
|
38
|
+
* @slot help-text - Text that describes how to use the checkbox. Alternatively, you can use the `help-text` attribute.
|
|
39
|
+
*
|
|
40
|
+
* @event syn-blur - Emitted when the checkbox loses focus.
|
|
41
|
+
* @event syn-change - Emitted when the checked state changes.
|
|
42
|
+
* @event syn-focus - Emitted when the checkbox gains focus.
|
|
43
|
+
* @event syn-input - Emitted when the checkbox receives input.
|
|
44
|
+
* @event syn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.
|
|
45
|
+
*
|
|
46
|
+
* @csspart base - The component's base wrapper.
|
|
47
|
+
* @csspart control - The square container that wraps the checkbox's checked state.
|
|
48
|
+
* @csspart control--checked - Matches the control part when the checkbox is checked.
|
|
49
|
+
* @csspart control--indeterminate - Matches the control part when the checkbox is indeterminate.
|
|
50
|
+
* @csspart checked-icon - The checked icon, an `<syn-icon>` element.
|
|
51
|
+
* @csspart indeterminate-icon - The indeterminate icon, an `<syn-icon>` element.
|
|
52
|
+
* @csspart label - The container that wraps the checkbox's label.
|
|
53
|
+
* @csspart form-control-help-text - The help text's wrapper.
|
|
54
|
+
*/
|
|
55
|
+
@enableDefaultSettings('SynCheckbox')
|
|
56
|
+
export default class SynCheckbox extends SynergyElement implements SynergyFormControl {
|
|
57
|
+
static styles: CSSResultGroup = [componentStyles, formControlStyles, styles, formControlCustomStyles, customStyles];
|
|
58
|
+
static dependencies = { 'syn-icon': SynIcon };
|
|
59
|
+
|
|
60
|
+
private readonly formControlController = new FormControlController(this, {
|
|
61
|
+
value: (control: SynCheckbox) => (control.checked ? control.value || 'on' : undefined),
|
|
62
|
+
defaultValue: (control: SynCheckbox) => control.defaultChecked,
|
|
63
|
+
setValue: (control: SynCheckbox, checked: boolean) => (control.checked = checked)
|
|
64
|
+
});
|
|
65
|
+
private readonly hasSlotController = new HasSlotController(this, 'help-text');
|
|
66
|
+
|
|
67
|
+
@query('input[type="checkbox"]') input: HTMLInputElement;
|
|
68
|
+
|
|
69
|
+
@state() private hasFocus = false;
|
|
70
|
+
|
|
71
|
+
@property({ reflect: true }) title = ''; // make reactive to pass through
|
|
72
|
+
|
|
73
|
+
/** The name of the checkbox, submitted as a name/value pair with form data. */
|
|
74
|
+
@property() name = '';
|
|
75
|
+
|
|
76
|
+
/** The current value of the checkbox, submitted as a name/value pair with form data. */
|
|
77
|
+
@property() value: string;
|
|
78
|
+
|
|
79
|
+
/** The checkbox's size. */
|
|
80
|
+
@property({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';
|
|
81
|
+
|
|
82
|
+
/** Disables the checkbox. */
|
|
83
|
+
@property({ type: Boolean, reflect: true }) disabled = false;
|
|
84
|
+
|
|
85
|
+
/** Draws the checkbox in a checked state. */
|
|
86
|
+
@property({ type: Boolean, reflect: true }) checked = false;
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Draws the checkbox in an indeterminate state. This is usually applied to checkboxes that represents a "select
|
|
90
|
+
* all/none" behavior when associated checkboxes have a mix of checked and unchecked states.
|
|
91
|
+
*/
|
|
92
|
+
@property({ type: Boolean, reflect: true }) indeterminate = false;
|
|
93
|
+
|
|
94
|
+
/** The default value of the form control. Primarily used for resetting the form control. */
|
|
95
|
+
@defaultValue('checked') defaultChecked = false;
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you
|
|
99
|
+
* to place the form control outside of a form and associate it with the form that has this `id`. The form must be in
|
|
100
|
+
* the same document or shadow root for this to work.
|
|
101
|
+
*/
|
|
102
|
+
@property({ reflect: true }) form = '';
|
|
103
|
+
|
|
104
|
+
/** Makes the checkbox a required field. */
|
|
105
|
+
@property({ type: Boolean, reflect: true }) required = false;
|
|
106
|
+
|
|
107
|
+
/** The checkbox's help text. If you need to display HTML, use the `help-text` slot instead. */
|
|
108
|
+
@property({ attribute: 'help-text' }) helpText = '';
|
|
109
|
+
|
|
110
|
+
/** Gets the validity state object */
|
|
111
|
+
get validity() {
|
|
112
|
+
return this.input.validity;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/** Gets the validation message */
|
|
116
|
+
get validationMessage() {
|
|
117
|
+
return this.input.validationMessage;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
firstUpdated() {
|
|
121
|
+
this.formControlController.updateValidity();
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
private handleClick() {
|
|
125
|
+
this.checked = !this.checked;
|
|
126
|
+
this.indeterminate = false;
|
|
127
|
+
this.emit('syn-change');
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
private handleBlur() {
|
|
131
|
+
this.hasFocus = false;
|
|
132
|
+
this.emit('syn-blur');
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
private handleInput() {
|
|
136
|
+
this.emit('syn-input');
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
private handleInvalid(event: Event) {
|
|
140
|
+
this.formControlController.setValidity(false);
|
|
141
|
+
this.formControlController.emitInvalidEvent(event);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
private handleFocus() {
|
|
145
|
+
this.hasFocus = true;
|
|
146
|
+
this.emit('syn-focus');
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
@watch('disabled', { waitUntilFirstUpdate: true })
|
|
150
|
+
handleDisabledChange() {
|
|
151
|
+
// Disabled form controls are always valid
|
|
152
|
+
this.formControlController.setValidity(this.disabled);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
@watch(['checked', 'indeterminate'], { waitUntilFirstUpdate: true })
|
|
156
|
+
handleStateChange() {
|
|
157
|
+
this.input.checked = this.checked; // force a sync update
|
|
158
|
+
this.input.indeterminate = this.indeterminate; // force a sync update
|
|
159
|
+
this.formControlController.updateValidity();
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/** Simulates a click on the checkbox. */
|
|
163
|
+
click() {
|
|
164
|
+
this.input.click();
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/** Sets focus on the checkbox. */
|
|
168
|
+
focus(options?: FocusOptions) {
|
|
169
|
+
this.input.focus(options);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/** Removes focus from the checkbox. */
|
|
173
|
+
blur() {
|
|
174
|
+
this.input.blur();
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
/** Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid. */
|
|
178
|
+
checkValidity() {
|
|
179
|
+
return this.input.checkValidity();
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
/** Gets the associated form, if one exists. */
|
|
183
|
+
getForm(): HTMLFormElement | null {
|
|
184
|
+
return this.formControlController.getForm();
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/** Checks for validity and shows the browser's validation message if the control is invalid. */
|
|
188
|
+
reportValidity() {
|
|
189
|
+
return this.input.reportValidity();
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* Sets a custom validation message. The value provided will be shown to the user when the form is submitted. To clear
|
|
194
|
+
* the custom validation message, call this method with an empty string.
|
|
195
|
+
*/
|
|
196
|
+
setCustomValidity(message: string) {
|
|
197
|
+
this.input.setCustomValidity(message);
|
|
198
|
+
this.formControlController.updateValidity();
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
render() {
|
|
202
|
+
const hasHelpTextSlot = this.hasSlotController.test('help-text');
|
|
203
|
+
const hasHelpText = this.helpText ? true : !!hasHelpTextSlot;
|
|
204
|
+
|
|
205
|
+
//
|
|
206
|
+
// NOTE: we use a <div> around the label slot because of this Chrome bug.
|
|
207
|
+
//
|
|
208
|
+
// https://bugs.chromium.org/p/chromium/issues/detail?id=1413733
|
|
209
|
+
//
|
|
210
|
+
return html`
|
|
211
|
+
<div
|
|
212
|
+
class=${classMap({
|
|
213
|
+
'form-control': true,
|
|
214
|
+
'form-control--small': this.size === 'small',
|
|
215
|
+
'form-control--medium': this.size === 'medium',
|
|
216
|
+
'form-control--large': this.size === 'large',
|
|
217
|
+
'form-control--has-help-text': hasHelpText
|
|
218
|
+
})}
|
|
219
|
+
>
|
|
220
|
+
<label
|
|
221
|
+
part="base"
|
|
222
|
+
class=${classMap({
|
|
223
|
+
checkbox: true,
|
|
224
|
+
'checkbox--checked': this.checked,
|
|
225
|
+
'checkbox--disabled': this.disabled,
|
|
226
|
+
'checkbox--focused': this.hasFocus,
|
|
227
|
+
'checkbox--indeterminate': this.indeterminate,
|
|
228
|
+
'checkbox--small': this.size === 'small',
|
|
229
|
+
'checkbox--medium': this.size === 'medium',
|
|
230
|
+
'checkbox--large': this.size === 'large'
|
|
231
|
+
})}
|
|
232
|
+
>
|
|
233
|
+
<input
|
|
234
|
+
class="checkbox__input"
|
|
235
|
+
type="checkbox"
|
|
236
|
+
title=${this.title /* An empty title prevents browser validation tooltips from appearing on hover */}
|
|
237
|
+
name=${this.name}
|
|
238
|
+
value=${ifDefined(this.value)}
|
|
239
|
+
.indeterminate=${live(this.indeterminate)}
|
|
240
|
+
.checked=${live(this.checked)}
|
|
241
|
+
.disabled=${this.disabled}
|
|
242
|
+
.required=${this.required}
|
|
243
|
+
aria-checked=${this.checked ? 'true' : 'false'}
|
|
244
|
+
aria-describedby="help-text"
|
|
245
|
+
@click=${this.handleClick}
|
|
246
|
+
@input=${this.handleInput}
|
|
247
|
+
@invalid=${this.handleInvalid}
|
|
248
|
+
@blur=${this.handleBlur}
|
|
249
|
+
@focus=${this.handleFocus}
|
|
250
|
+
/>
|
|
251
|
+
|
|
252
|
+
<span
|
|
253
|
+
part="control${this.checked ? ' control--checked' : ''}${this.indeterminate
|
|
254
|
+
? ' control--indeterminate'
|
|
255
|
+
: ''}"
|
|
256
|
+
class="checkbox__control"
|
|
257
|
+
>
|
|
258
|
+
${this.checked
|
|
259
|
+
? html`
|
|
260
|
+
<syn-icon part="checked-icon" class="checkbox__checked-icon" library="system" name="check"></syn-icon>
|
|
261
|
+
`
|
|
262
|
+
: ''}
|
|
263
|
+
${!this.checked && this.indeterminate
|
|
264
|
+
? html`
|
|
265
|
+
<syn-icon
|
|
266
|
+
part="indeterminate-icon"
|
|
267
|
+
class="checkbox__indeterminate-icon"
|
|
268
|
+
library="system"
|
|
269
|
+
name="indeterminate"
|
|
270
|
+
></syn-icon>
|
|
271
|
+
`
|
|
272
|
+
: ''}
|
|
273
|
+
</span>
|
|
274
|
+
|
|
275
|
+
<div part="label" class="checkbox__label">
|
|
276
|
+
<slot></slot>
|
|
277
|
+
</div>
|
|
278
|
+
</label>
|
|
279
|
+
|
|
280
|
+
<div
|
|
281
|
+
aria-hidden=${hasHelpText ? 'false' : 'true'}
|
|
282
|
+
class="form-control__help-text"
|
|
283
|
+
id="help-text"
|
|
284
|
+
part="form-control-help-text"
|
|
285
|
+
>
|
|
286
|
+
<slot name="help-text">${this.helpText}</slot>
|
|
287
|
+
</div>
|
|
288
|
+
</div>
|
|
289
|
+
`;
|
|
290
|
+
}
|
|
291
|
+
}
|
|
@@ -0,0 +1,186 @@
|
|
|
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 Checkboxes allow the user to toggle an option on or off.
|
|
10
|
+
* @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-checkbox--docs
|
|
11
|
+
* @status stable
|
|
12
|
+
* @since 2.0
|
|
13
|
+
*
|
|
14
|
+
* @dependency syn-icon
|
|
15
|
+
*
|
|
16
|
+
* @slot - The checkbox's label.
|
|
17
|
+
* @slot help-text - Text that describes how to use the checkbox. Alternatively, you can use the `help-text` attribute.
|
|
18
|
+
*
|
|
19
|
+
* @event syn-blur - Emitted when the checkbox loses focus.
|
|
20
|
+
* @event syn-change - Emitted when the checked state changes.
|
|
21
|
+
* @event syn-focus - Emitted when the checkbox gains focus.
|
|
22
|
+
* @event syn-input - Emitted when the checkbox receives input.
|
|
23
|
+
* @event syn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.
|
|
24
|
+
*
|
|
25
|
+
* @csspart base - The component's base wrapper.
|
|
26
|
+
* @csspart control - The square container that wraps the checkbox's checked state.
|
|
27
|
+
* @csspart control--checked - Matches the control part when the checkbox is checked.
|
|
28
|
+
* @csspart control--indeterminate - Matches the control part when the checkbox is indeterminate.
|
|
29
|
+
* @csspart checked-icon - The checked icon, an `<syn-icon>` element.
|
|
30
|
+
* @csspart indeterminate-icon - The indeterminate icon, an `<syn-icon>` element.
|
|
31
|
+
* @csspart label - The container that wraps the checkbox's label.
|
|
32
|
+
* @csspart form-control-help-text - The help text's wrapper.
|
|
33
|
+
*/
|
|
34
|
+
import { computed, ref } from 'vue';
|
|
35
|
+
import '@synergy-design-system/components/components/checkbox/checkbox.js';
|
|
36
|
+
|
|
37
|
+
import type { SynBlurEvent } from '@synergy-design-system/components';
|
|
38
|
+
import type { SynChangeEvent } from '@synergy-design-system/components';
|
|
39
|
+
import type { SynFocusEvent } from '@synergy-design-system/components';
|
|
40
|
+
import type { SynInputEvent } from '@synergy-design-system/components';
|
|
41
|
+
import type { SynInvalidEvent } from '@synergy-design-system/components';
|
|
42
|
+
import type { SynCheckbox } from '@synergy-design-system/components';
|
|
43
|
+
|
|
44
|
+
// DOM Reference to the element
|
|
45
|
+
const nativeElement = ref<SynCheckbox>();
|
|
46
|
+
|
|
47
|
+
defineExpose({
|
|
48
|
+
nativeElement,
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
// Map attributes
|
|
52
|
+
const props = defineProps<{
|
|
53
|
+
title?: SynCheckbox['title'];
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* The name of the checkbox, submitted as a name/value pair with form data.
|
|
57
|
+
*/
|
|
58
|
+
name?: SynCheckbox['name'];
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* The current value of the checkbox, submitted as a name/value pair with form data.
|
|
62
|
+
*/
|
|
63
|
+
value?: SynCheckbox['value'];
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* The checkbox's size.
|
|
67
|
+
*/
|
|
68
|
+
size?: SynCheckbox['size'];
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Disables the checkbox.
|
|
72
|
+
*/
|
|
73
|
+
disabled?: SynCheckbox['disabled'];
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Draws the checkbox in a checked state.
|
|
77
|
+
*/
|
|
78
|
+
checked?: SynCheckbox['checked'];
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Draws the checkbox in an indeterminate state.
|
|
82
|
+
* This is usually applied to checkboxes that represents a "select
|
|
83
|
+
all/none" behavior when associated checkboxes have a mix of checked and unchecked states.
|
|
84
|
+
*/
|
|
85
|
+
indeterminate?: SynCheckbox['indeterminate'];
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* By default, form controls are associated with the nearest containing `<form>` element.
|
|
89
|
+
* This attribute allows you
|
|
90
|
+
to place the form control outside of a form and associate it with the form that has this `id`.
|
|
91
|
+
* The form must be in
|
|
92
|
+
the same document or shadow root for this to work.
|
|
93
|
+
*/
|
|
94
|
+
form?: SynCheckbox['form'];
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Makes the checkbox a required field.
|
|
98
|
+
*/
|
|
99
|
+
required?: SynCheckbox['required'];
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* The checkbox's help text.
|
|
103
|
+
* If you need to display HTML, use the `help-text` slot instead.
|
|
104
|
+
*/
|
|
105
|
+
helpText?: SynCheckbox['helpText'];
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Support for two way data binding
|
|
109
|
+
*/
|
|
110
|
+
modelValue?: SynCheckbox['checked'];
|
|
111
|
+
}>();
|
|
112
|
+
|
|
113
|
+
// Make sure prop binding only forwards the props that are actually there.
|
|
114
|
+
// This is needed because :param="param" also adds an empty attribute
|
|
115
|
+
// when using web-components, which breaks optional arguments like size in SynInput
|
|
116
|
+
// @see https://github.com/vuejs/core/issues/5190#issuecomment-1003112498
|
|
117
|
+
const visibleProps = computed(() =>
|
|
118
|
+
Object.fromEntries(
|
|
119
|
+
Object.entries(props).filter(([, value]) => typeof value !== 'undefined'),
|
|
120
|
+
),
|
|
121
|
+
);
|
|
122
|
+
|
|
123
|
+
// Map events
|
|
124
|
+
defineEmits<{
|
|
125
|
+
/**
|
|
126
|
+
* Emitted when the checkbox loses focus.
|
|
127
|
+
*/
|
|
128
|
+
'syn-blur': [e: SynBlurEvent];
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Emitted when the checked state changes.
|
|
132
|
+
*/
|
|
133
|
+
'syn-change': [e: SynChangeEvent];
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Emitted when the checkbox gains focus.
|
|
137
|
+
*/
|
|
138
|
+
'syn-focus': [e: SynFocusEvent];
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Emitted when the checkbox receives input.
|
|
142
|
+
*/
|
|
143
|
+
'syn-input': [e: SynInputEvent];
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Emitted when the form control has been checked for validity and its constraints aren't satisfied.
|
|
147
|
+
*/
|
|
148
|
+
'syn-invalid': [e: SynInvalidEvent];
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Support for two way data binding
|
|
152
|
+
*/
|
|
153
|
+
'update:modelValue': [newValue: SynCheckbox['checked']];
|
|
154
|
+
}>();
|
|
155
|
+
</script>
|
|
156
|
+
|
|
157
|
+
<script lang="ts">
|
|
158
|
+
export type { SynBlurEvent } from '@synergy-design-system/components';
|
|
159
|
+
export type { SynChangeEvent } from '@synergy-design-system/components';
|
|
160
|
+
export type { SynFocusEvent } from '@synergy-design-system/components';
|
|
161
|
+
export type { SynInputEvent } from '@synergy-design-system/components';
|
|
162
|
+
export type { SynInvalidEvent } from '@synergy-design-system/components';
|
|
163
|
+
</script>
|
|
164
|
+
|
|
165
|
+
<template>
|
|
166
|
+
<syn-checkbox
|
|
167
|
+
@syn-blur="$emit('syn-blur', $event)"
|
|
168
|
+
@syn-change="$emit('syn-change', $event)"
|
|
169
|
+
@syn-focus="$emit('syn-focus', $event)"
|
|
170
|
+
@syn-input="
|
|
171
|
+
$emit('update:modelValue', ($event.target as SynCheckbox).checked);
|
|
172
|
+
$emit('syn-input', $event);
|
|
173
|
+
"
|
|
174
|
+
@syn-invalid="$emit('syn-invalid', $event)"
|
|
175
|
+
:checked="
|
|
176
|
+
typeof props.modelValue !== 'undefined'
|
|
177
|
+
? props.modelValue
|
|
178
|
+
: typeof props.checked !== 'undefined'
|
|
179
|
+
? props.checked
|
|
180
|
+
: undefined
|
|
181
|
+
"
|
|
182
|
+
v-bind="visibleProps"
|
|
183
|
+
ref="nativeElement">
|
|
184
|
+
<slot></slot>
|
|
185
|
+
</syn-checkbox>
|
|
186
|
+
</template>
|