@central-design-system/skills 4.0.0-alpha.6
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/.claude-plugin/plugin.json +6 -0
- package/README.md +218 -0
- package/bin/cds-skills.mjs +124 -0
- package/package.json +33 -0
- package/skills/cds-builder/GENERATION.md +44 -0
- package/skills/cds-builder/SKILL.md +308 -0
- package/skills/cds-builder/references/component-decision-tree.md +310 -0
- package/skills/cds-builder/references/components/cds-app/api.md +19 -0
- package/skills/cds-builder/references/components/cds-app/tokens.md +12 -0
- package/skills/cds-builder/references/components/cds-autocomplete/api.md +155 -0
- package/skills/cds-builder/references/components/cds-autocomplete/examples.md +447 -0
- package/skills/cds-builder/references/components/cds-autocomplete/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-autocomplete/tokens.md +19 -0
- package/skills/cds-builder/references/components/cds-avatar/api.md +35 -0
- package/skills/cds-builder/references/components/cds-avatar/examples.md +240 -0
- package/skills/cds-builder/references/components/cds-avatar/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-avatar/tokens.md +32 -0
- package/skills/cds-builder/references/components/cds-badge/api.md +44 -0
- package/skills/cds-builder/references/components/cds-badge/examples.md +332 -0
- package/skills/cds-builder/references/components/cds-badge/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-badge/tokens.md +32 -0
- package/skills/cds-builder/references/components/cds-breadcrumbs/api.md +83 -0
- package/skills/cds-builder/references/components/cds-breadcrumbs/examples.md +219 -0
- package/skills/cds-builder/references/components/cds-breadcrumbs/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-breadcrumbs/tokens.md +24 -0
- package/skills/cds-builder/references/components/cds-button/api.md +66 -0
- package/skills/cds-builder/references/components/cds-button/examples.md +324 -0
- package/skills/cds-builder/references/components/cds-button/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-button/tokens.md +190 -0
- package/skills/cds-builder/references/components/cds-button-group/api.md +27 -0
- package/skills/cds-builder/references/components/cds-button-group/examples.md +33 -0
- package/skills/cds-builder/references/components/cds-button-group/tokens.md +17 -0
- package/skills/cds-builder/references/components/cds-button-toggle/api.md +51 -0
- package/skills/cds-builder/references/components/cds-button-toggle/examples.md +278 -0
- package/skills/cds-builder/references/components/cds-button-toggle/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-button-toggle/tokens.md +13 -0
- package/skills/cds-builder/references/components/cds-card/api.md +221 -0
- package/skills/cds-builder/references/components/cds-card/examples.md +652 -0
- package/skills/cds-builder/references/components/cds-card/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-card/tokens.md +46 -0
- package/skills/cds-builder/references/components/cds-carousel/api.md +107 -0
- package/skills/cds-builder/references/components/cds-carousel/examples.md +444 -0
- package/skills/cds-builder/references/components/cds-carousel/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-carousel/tokens.md +17 -0
- package/skills/cds-builder/references/components/cds-checkbox/api.md +93 -0
- package/skills/cds-builder/references/components/cds-checkbox/examples.md +319 -0
- package/skills/cds-builder/references/components/cds-checkbox/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-checkbox/tokens.md +18 -0
- package/skills/cds-builder/references/components/cds-checkbox-button/api.md +56 -0
- package/skills/cds-builder/references/components/cds-checkbox-button/examples.md +29 -0
- package/skills/cds-builder/references/components/cds-checkbox-button/tokens.md +56 -0
- package/skills/cds-builder/references/components/cds-combobox/api.md +158 -0
- package/skills/cds-builder/references/components/cds-combobox/examples.md +264 -0
- package/skills/cds-builder/references/components/cds-combobox/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-combobox/tokens.md +19 -0
- package/skills/cds-builder/references/components/cds-counter/api.md +24 -0
- package/skills/cds-builder/references/components/cds-counter/examples.md +93 -0
- package/skills/cds-builder/references/components/cds-counter/tokens.md +11 -0
- package/skills/cds-builder/references/components/cds-date-input/api.md +151 -0
- package/skills/cds-builder/references/components/cds-date-input/examples.md +479 -0
- package/skills/cds-builder/references/components/cds-date-input/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-date-input/tokens.md +16 -0
- package/skills/cds-builder/references/components/cds-date-picker/api.md +63 -0
- package/skills/cds-builder/references/components/cds-date-picker/examples.md +394 -0
- package/skills/cds-builder/references/components/cds-date-picker/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-date-picker/tokens.md +66 -0
- package/skills/cds-builder/references/components/cds-defaults-provider/api.md +21 -0
- package/skills/cds-builder/references/components/cds-description/api.md +22 -0
- package/skills/cds-builder/references/components/cds-description/examples.md +69 -0
- package/skills/cds-builder/references/components/cds-description/tokens.md +11 -0
- package/skills/cds-builder/references/components/cds-divider/api.md +29 -0
- package/skills/cds-builder/references/components/cds-divider/examples.md +374 -0
- package/skills/cds-builder/references/components/cds-divider/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-divider/tokens.md +38 -0
- package/skills/cds-builder/references/components/cds-drawer/api.md +53 -0
- package/skills/cds-builder/references/components/cds-drawer/examples.md +432 -0
- package/skills/cds-builder/references/components/cds-drawer/guidelines.md +9 -0
- package/skills/cds-builder/references/components/cds-drawer/tokens.md +27 -0
- package/skills/cds-builder/references/components/cds-empty-state/api.md +55 -0
- package/skills/cds-builder/references/components/cds-empty-state/examples.md +330 -0
- package/skills/cds-builder/references/components/cds-empty-state/guidelines.md +9 -0
- package/skills/cds-builder/references/components/cds-empty-state/tokens.md +25 -0
- package/skills/cds-builder/references/components/cds-expandable-panel/api.md +157 -0
- package/skills/cds-builder/references/components/cds-expandable-panel/examples.md +569 -0
- package/skills/cds-builder/references/components/cds-expandable-panel/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-expandable-panel/tokens.md +34 -0
- package/skills/cds-builder/references/components/cds-field/api.md +62 -0
- package/skills/cds-builder/references/components/cds-field/examples.md +202 -0
- package/skills/cds-builder/references/components/cds-field/tokens.md +94 -0
- package/skills/cds-builder/references/components/cds-file-input/api.md +109 -0
- package/skills/cds-builder/references/components/cds-file-input/examples.md +368 -0
- package/skills/cds-builder/references/components/cds-file-input/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-file-input/tokens.md +15 -0
- package/skills/cds-builder/references/components/cds-file-upload/api.md +296 -0
- package/skills/cds-builder/references/components/cds-file-upload/examples.md +411 -0
- package/skills/cds-builder/references/components/cds-file-upload/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-file-upload/tokens.md +50 -0
- package/skills/cds-builder/references/components/cds-footer/api.md +35 -0
- package/skills/cds-builder/references/components/cds-footer/examples.md +219 -0
- package/skills/cds-builder/references/components/cds-footer/guidelines.md +9 -0
- package/skills/cds-builder/references/components/cds-footer/tokens.md +14 -0
- package/skills/cds-builder/references/components/cds-form/api.md +48 -0
- package/skills/cds-builder/references/components/cds-form/examples.md +552 -0
- package/skills/cds-builder/references/components/cds-form/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-form/tokens.md +15 -0
- package/skills/cds-builder/references/components/cds-functional-button/api.md +34 -0
- package/skills/cds-builder/references/components/cds-functional-button/examples.md +254 -0
- package/skills/cds-builder/references/components/cds-functional-button/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-functional-button/tokens.md +35 -0
- package/skills/cds-builder/references/components/cds-grid/api.md +66 -0
- package/skills/cds-builder/references/components/cds-grid/examples.md +687 -0
- package/skills/cds-builder/references/components/cds-grid/guidelines.md +9 -0
- package/skills/cds-builder/references/components/cds-header/api.md +35 -0
- package/skills/cds-builder/references/components/cds-header/examples.md +345 -0
- package/skills/cds-builder/references/components/cds-header/guidelines.md +9 -0
- package/skills/cds-builder/references/components/cds-header/tokens.md +13 -0
- package/skills/cds-builder/references/components/cds-highlight/api.md +22 -0
- package/skills/cds-builder/references/components/cds-highlight/examples.md +313 -0
- package/skills/cds-builder/references/components/cds-highlight/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-highlight/tokens.md +18 -0
- package/skills/cds-builder/references/components/cds-icon/api.md +33 -0
- package/skills/cds-builder/references/components/cds-icon/examples.md +272 -0
- package/skills/cds-builder/references/components/cds-icon/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-icon/tokens.md +30 -0
- package/skills/cds-builder/references/components/cds-image/api.md +67 -0
- package/skills/cds-builder/references/components/cds-image/examples.md +437 -0
- package/skills/cds-builder/references/components/cds-image/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-image/tokens.md +14 -0
- package/skills/cds-builder/references/components/cds-input/api.md +80 -0
- package/skills/cds-builder/references/components/cds-input/examples.md +205 -0
- package/skills/cds-builder/references/components/cds-input/tokens.md +108 -0
- package/skills/cds-builder/references/components/cds-label/api.md +25 -0
- package/skills/cds-builder/references/components/cds-label/examples.md +72 -0
- package/skills/cds-builder/references/components/cds-label/tokens.md +12 -0
- package/skills/cds-builder/references/components/cds-layout/api.md +50 -0
- package/skills/cds-builder/references/components/cds-layout/examples.md +431 -0
- package/skills/cds-builder/references/components/cds-layout/guidelines.md +9 -0
- package/skills/cds-builder/references/components/cds-layout/tokens.md +12 -0
- package/skills/cds-builder/references/components/cds-link/api.md +33 -0
- package/skills/cds-builder/references/components/cds-link/examples.md +195 -0
- package/skills/cds-builder/references/components/cds-link/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-link/tokens.md +16 -0
- package/skills/cds-builder/references/components/cds-list/api.md +329 -0
- package/skills/cds-builder/references/components/cds-list/examples.md +653 -0
- package/skills/cds-builder/references/components/cds-list/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-list/tokens.md +125 -0
- package/skills/cds-builder/references/components/cds-loader/api.md +18 -0
- package/skills/cds-builder/references/components/cds-loader/examples.md +59 -0
- package/skills/cds-builder/references/components/cds-loader/tokens.md +50 -0
- package/skills/cds-builder/references/components/cds-main/api.md +14 -0
- package/skills/cds-builder/references/components/cds-main/examples.md +60 -0
- package/skills/cds-builder/references/components/cds-menu/api.md +84 -0
- package/skills/cds-builder/references/components/cds-menu/examples.md +595 -0
- package/skills/cds-builder/references/components/cds-menu/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-menu/tokens.md +19 -0
- package/skills/cds-builder/references/components/cds-messages/api.md +29 -0
- package/skills/cds-builder/references/components/cds-messages/examples.md +119 -0
- package/skills/cds-builder/references/components/cds-messages/tokens.md +15 -0
- package/skills/cds-builder/references/components/cds-modal/api.md +86 -0
- package/skills/cds-builder/references/components/cds-modal/examples.md +516 -0
- package/skills/cds-builder/references/components/cds-modal/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-modal/tokens.md +22 -0
- package/skills/cds-builder/references/components/cds-notification/api.md +46 -0
- package/skills/cds-builder/references/components/cds-notification/examples.md +314 -0
- package/skills/cds-builder/references/components/cds-notification/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-notification/tokens.md +23 -0
- package/skills/cds-builder/references/components/cds-notification-alert/api.md +93 -0
- package/skills/cds-builder/references/components/cds-notification-alert/examples.md +202 -0
- package/skills/cds-builder/references/components/cds-notification-alert/tokens.md +15 -0
- package/skills/cds-builder/references/components/cds-otp-input/api.md +106 -0
- package/skills/cds-builder/references/components/cds-otp-input/examples.md +329 -0
- package/skills/cds-builder/references/components/cds-otp-input/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-otp-input/tokens.md +41 -0
- package/skills/cds-builder/references/components/cds-overlay/api.md +85 -0
- package/skills/cds-builder/references/components/cds-overlay/examples.md +409 -0
- package/skills/cds-builder/references/components/cds-overlay/guidelines.md +9 -0
- package/skills/cds-builder/references/components/cds-overlay/tokens.md +12 -0
- package/skills/cds-builder/references/components/cds-page/api.md +21 -0
- package/skills/cds-builder/references/components/cds-page/examples.md +123 -0
- package/skills/cds-builder/references/components/cds-pagination/api.md +67 -0
- package/skills/cds-builder/references/components/cds-pagination/examples.md +320 -0
- package/skills/cds-builder/references/components/cds-pagination/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-pagination/tokens.md +20 -0
- package/skills/cds-builder/references/components/cds-progress-bar/api.md +53 -0
- package/skills/cds-builder/references/components/cds-progress-bar/examples.md +393 -0
- package/skills/cds-builder/references/components/cds-progress-bar/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-progress-bar/tokens.md +33 -0
- package/skills/cds-builder/references/components/cds-progress-circle/api.md +30 -0
- package/skills/cds-builder/references/components/cds-progress-circle/examples.md +326 -0
- package/skills/cds-builder/references/components/cds-progress-circle/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-progress-circle/tokens.md +31 -0
- package/skills/cds-builder/references/components/cds-radio/api.md +47 -0
- package/skills/cds-builder/references/components/cds-radio/tokens.md +36 -0
- package/skills/cds-builder/references/components/cds-radio-group/api.md +87 -0
- package/skills/cds-builder/references/components/cds-radio-group/examples.md +320 -0
- package/skills/cds-builder/references/components/cds-radio-group/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-radio-group/tokens.md +14 -0
- package/skills/cds-builder/references/components/cds-responsive/api.md +29 -0
- package/skills/cds-builder/references/components/cds-responsive/examples.md +271 -0
- package/skills/cds-builder/references/components/cds-responsive/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-responsive/tokens.md +13 -0
- package/skills/cds-builder/references/components/cds-select/api.md +155 -0
- package/skills/cds-builder/references/components/cds-select/examples.md +794 -0
- package/skills/cds-builder/references/components/cds-select/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-select/tokens.md +17 -0
- package/skills/cds-builder/references/components/cds-selection-control/api.md +60 -0
- package/skills/cds-builder/references/components/cds-selection-control/examples.md +468 -0
- package/skills/cds-builder/references/components/cds-selection-control-group/api.md +45 -0
- package/skills/cds-builder/references/components/cds-selection-control-group/examples.md +349 -0
- package/skills/cds-builder/references/components/cds-skeleton-loader/api.md +30 -0
- package/skills/cds-builder/references/components/cds-skeleton-loader/examples.md +297 -0
- package/skills/cds-builder/references/components/cds-skeleton-loader/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-skeleton-loader/tokens.md +62 -0
- package/skills/cds-builder/references/components/cds-slide-group/api.md +76 -0
- package/skills/cds-builder/references/components/cds-slide-group/examples.md +304 -0
- package/skills/cds-builder/references/components/cds-slide-group/guidelines.md +9 -0
- package/skills/cds-builder/references/components/cds-slide-group/tokens.md +11 -0
- package/skills/cds-builder/references/components/cds-slide-view/api.md +88 -0
- package/skills/cds-builder/references/components/cds-slide-view/examples.md +311 -0
- package/skills/cds-builder/references/components/cds-slide-view/guidelines.md +9 -0
- package/skills/cds-builder/references/components/cds-slide-view/tokens.md +14 -0
- package/skills/cds-builder/references/components/cds-stages/api.md +31 -0
- package/skills/cds-builder/references/components/cds-stages/examples.md +230 -0
- package/skills/cds-builder/references/components/cds-stages/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-stages/tokens.md +27 -0
- package/skills/cds-builder/references/components/cds-status/api.md +24 -0
- package/skills/cds-builder/references/components/cds-status/examples.md +170 -0
- package/skills/cds-builder/references/components/cds-status/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-status/tokens.md +17 -0
- package/skills/cds-builder/references/components/cds-steps/api.md +176 -0
- package/skills/cds-builder/references/components/cds-steps/examples.md +320 -0
- package/skills/cds-builder/references/components/cds-steps/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-steps/tokens.md +52 -0
- package/skills/cds-builder/references/components/cds-surface/api.md +30 -0
- package/skills/cds-builder/references/components/cds-surface/examples.md +106 -0
- package/skills/cds-builder/references/components/cds-table/api.md +120 -0
- package/skills/cds-builder/references/components/cds-table/examples.md +3049 -0
- package/skills/cds-builder/references/components/cds-table/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-table/tokens.md +92 -0
- package/skills/cds-builder/references/components/cds-tabs/api.md +179 -0
- package/skills/cds-builder/references/components/cds-tabs/examples.md +610 -0
- package/skills/cds-builder/references/components/cds-tabs/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-tabs/tokens.md +40 -0
- package/skills/cds-builder/references/components/cds-tag/api.md +64 -0
- package/skills/cds-builder/references/components/cds-tag/examples.md +278 -0
- package/skills/cds-builder/references/components/cds-tag/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-tag/tokens.md +67 -0
- package/skills/cds-builder/references/components/cds-tag-group/api.md +58 -0
- package/skills/cds-builder/references/components/cds-tag-group/examples.md +346 -0
- package/skills/cds-builder/references/components/cds-tag-group/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-tag-group/tokens.md +18 -0
- package/skills/cds-builder/references/components/cds-text-area/api.md +113 -0
- package/skills/cds-builder/references/components/cds-text-area/examples.md +327 -0
- package/skills/cds-builder/references/components/cds-text-area/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-text-area/tokens.md +16 -0
- package/skills/cds-builder/references/components/cds-text-input/api.md +115 -0
- package/skills/cds-builder/references/components/cds-text-input/examples.md +546 -0
- package/skills/cds-builder/references/components/cds-text-input/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-text-input/tokens.md +17 -0
- package/skills/cds-builder/references/components/cds-time-picker/api.md +44 -0
- package/skills/cds-builder/references/components/cds-time-picker/examples.md +407 -0
- package/skills/cds-builder/references/components/cds-time-picker/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-time-picker/tokens.md +23 -0
- package/skills/cds-builder/references/components/cds-toast/api.md +97 -0
- package/skills/cds-builder/references/components/cds-toast/examples.md +296 -0
- package/skills/cds-builder/references/components/cds-toast/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-toast/tokens.md +26 -0
- package/skills/cds-builder/references/components/cds-toast-queue/api.md +86 -0
- package/skills/cds-builder/references/components/cds-toast-queue/examples.md +227 -0
- package/skills/cds-builder/references/components/cds-toggle/api.md +97 -0
- package/skills/cds-builder/references/components/cds-toggle/examples.md +335 -0
- package/skills/cds-builder/references/components/cds-toggle/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-toggle/tokens.md +91 -0
- package/skills/cds-builder/references/components/cds-toolbar/api.md +44 -0
- package/skills/cds-builder/references/components/cds-toolbar/examples.md +186 -0
- package/skills/cds-builder/references/components/cds-toolbar/guidelines.md +9 -0
- package/skills/cds-builder/references/components/cds-toolbar/tokens.md +13 -0
- package/skills/cds-builder/references/components/cds-tooltip/api.md +83 -0
- package/skills/cds-builder/references/components/cds-tooltip/examples.md +321 -0
- package/skills/cds-builder/references/components/cds-tooltip/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-tooltip/tokens.md +25 -0
- package/skills/cds-builder/references/components/cds-tree/api.md +169 -0
- package/skills/cds-builder/references/components/cds-tree/examples.md +785 -0
- package/skills/cds-builder/references/components/cds-tree/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-tree/tokens.md +39 -0
- package/skills/cds-builder/references/components/cds-uploader/api.md +105 -0
- package/skills/cds-builder/references/components/cds-uploader/examples.md +553 -0
- package/skills/cds-builder/references/components/cds-uploader/guidelines.md +10 -0
- package/skills/cds-builder/references/components/cds-uploader/tokens.md +26 -0
- package/skills/cds-builder/references/components/cds-virtual-scroll/api.md +60 -0
- package/skills/cds-builder/references/components/cds-virtual-scroll/examples.md +272 -0
- package/skills/cds-builder/references/components/cds-virtual-scroll/guidelines.md +9 -0
- package/skills/cds-builder/references/components/cds-virtual-scroll/tokens.md +13 -0
- package/skills/cds-builder/references/guides/conventions.md +48 -0
- package/skills/cds-builder/references/guides/date-utils.md +301 -0
- package/skills/cds-builder/references/guides/display-and-platform.md +263 -0
- package/skills/cds-builder/references/guides/forms.md +77 -0
- package/skills/cds-builder/references/guides/global-configuration.md +354 -0
- package/skills/cds-builder/references/guides/icons.md +172 -0
- package/skills/cds-builder/references/guides/internationalization.md +470 -0
- package/skills/cds-builder/references/guides/migration-cds3-to-cds4.md +49 -0
- package/skills/cds-builder/references/guides/sass-variables.md +238 -0
- package/skills/cds-builder/references/guides/setup.md +81 -0
- package/skills/cds-builder/references/guides/tailwindcss.md +93 -0
- package/skills/cds-builder/references/guides/theme.md +343 -0
- package/skills/cds-builder/references/guides/treeshaking.md +237 -0
- package/skills/cds-builder/references/patterns/dialogs.md +89 -0
- package/skills/cds-builder/references/patterns/forms.md +101 -0
- package/skills/cds-builder/references/patterns/page-layout.md +78 -0
- package/skills/cds-builder/references/patterns/tables.md +87 -0
- package/skills/cds-builder/references/tokens/colors.md +507 -0
- package/skills/cds-builder/references/tokens/themes.md +981 -0
- package/skills/cds-builder/scripts/check-contracts.mjs +264 -0
- package/skills/cds-migrate/GENERATION.md +44 -0
- package/skills/cds-migrate/SKILL.md +160 -0
- package/skills/cds-migrate/references/migration-full.md +2225 -0
- package/skills/cds-refactor/GENERATION.md +44 -0
- package/skills/cds-refactor/SKILL.md +187 -0
- package/skills/cds-refactor/references/html-to-cds.md +80 -0
- package/skills/cds-refactor/references/review-checklist.md +73 -0
- package/skills/cds-refactor/references/tailwind-to-cds.md +65 -0
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cds-builder
|
|
3
|
+
description: >-
|
|
4
|
+
Building product UI on Vue 3 with the CDS 4 design system
|
|
5
|
+
(`@central-design-system/components`, Central Design System, B2B-Center):
|
|
6
|
+
components, screen and form markup, library setup in a project, themes and
|
|
7
|
+
tokens. Use this skill whenever the user asks to build or lay out any UI
|
|
8
|
+
with CDS — a form, page, table, card, modal, dashboard, header; to add CDS
|
|
9
|
+
to a new or existing project, configure `createCds`, styles, or Tailwind;
|
|
10
|
+
to learn a component's contract ("what props does CdsSelect have", "does
|
|
11
|
+
CdsButton have variant"); to configure a theme, palette, or tokens; to
|
|
12
|
+
build a UI from a screenshot or mockup. RU triggers: «сделай
|
|
13
|
+
форму на CDS», «свёрстай страницу на дизайн-системе», «установи CDS»,
|
|
14
|
+
«какие пропсы у Cds…», «как использовать Cds…», «токены CDS», «тема
|
|
15
|
+
b2b/promo», «своя тема CDS», «tailwind в CDS», «уменьши бандл CDS»,
|
|
16
|
+
«вот скриншот, сделай это на CDS». EN triggers: «build UI with central
|
|
17
|
+
design system», «add CDS to my app», «CDS component props», «CDS
|
|
18
|
+
tokens/themes», «custom CDS theme», «tailwindcss with CDS», «CDS
|
|
19
|
+
tree-shaking». Trigger on any request about building UI with CDS, no
|
|
20
|
+
matter how casually it is phrased.
|
|
21
|
+
metadata:
|
|
22
|
+
author: cds-team
|
|
23
|
+
version: "4.0.0-alpha.6"
|
|
24
|
+
source: https://gitlab.b2b-center.ru/cds/central-design-system
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# CDS Builder
|
|
28
|
+
|
|
29
|
+
You build product UI on Vue 3 with the CDS 4 design system
|
|
30
|
+
(version 4.0.0-alpha.6). The goal is working code that fits into the project and
|
|
31
|
+
uses the ready-made components — not generic markup. Read the project context
|
|
32
|
+
first, then build.
|
|
33
|
+
|
|
34
|
+
All references live in `references/` and are generated from the design
|
|
35
|
+
system's sources. The skill works offline.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Step 1 — Read the project context
|
|
40
|
+
|
|
41
|
+
Open `package.json` and check:
|
|
42
|
+
|
|
43
|
+
- whether `@central-design-system/components` is present and which version (CDS 4 is `4.0.0` and up);
|
|
44
|
+
- framework and bundler: Vite, Nuxt, plain Vue 3;
|
|
45
|
+
- TypeScript or JavaScript;
|
|
46
|
+
- whether `tailwindcss` is present (affects how you write markup, see step 5);
|
|
47
|
+
- package manager — by the lock file (`bun.lock`, `pnpm-lock.yaml`, `yarn.lock`,
|
|
48
|
+
`package-lock.json`). In the CDS monorepo — `bun` only.
|
|
49
|
+
|
|
50
|
+
If the library is not in the project — run "Setup" first, then build.
|
|
51
|
+
|
|
52
|
+
If `tailwindcss` is not in the project — **stop and ask the user** whether to
|
|
53
|
+
add Tailwind, before writing the first line of markup: with it you get
|
|
54
|
+
utility classes built on CDS tokens, and every example in the references is
|
|
55
|
+
written that way. Setup is described in `references/guides/tailwindcss.md`.
|
|
56
|
+
If they agree — set up Tailwind per the guide first, then build. If they
|
|
57
|
+
decline — write markup without utilities (step 5) and do not offer it again
|
|
58
|
+
in this session.
|
|
59
|
+
|
|
60
|
+
If the user refers to existing project components, look at them: your code
|
|
61
|
+
must match the project's established conventions for naming, file structure,
|
|
62
|
+
and import style.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Setup
|
|
67
|
+
|
|
68
|
+
```ts
|
|
69
|
+
import { createApp } from 'vue';
|
|
70
|
+
import '@central-design-system/components/styles';
|
|
71
|
+
import { createCds, components, directives } from '@central-design-system/components';
|
|
72
|
+
import App from './App.vue';
|
|
73
|
+
|
|
74
|
+
const cds = createCds({ components, directives });
|
|
75
|
+
createApp(App).use(cds).mount('#app');
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Usage: `<CdsButton appearance="primary">Click me</CdsButton>`.
|
|
79
|
+
|
|
80
|
+
This is the **full** registration: the namespace import `components` and the
|
|
81
|
+
`styles` aggregate keep the entire library in the bundle. It is convenient
|
|
82
|
+
where the set of components is not known in advance (admin panels,
|
|
83
|
+
sandboxes, documentation).
|
|
84
|
+
|
|
85
|
+
For product applications register components selectively —
|
|
86
|
+
`createCds({ components: { CdsButton } })` plus the base layer
|
|
87
|
+
`@central-design-system/components/styles/common.css`. Details are in the
|
|
88
|
+
"Tree-shaking" guide.
|
|
89
|
+
|
|
90
|
+
Common problems:
|
|
91
|
+
|
|
92
|
+
- **Components without styles** — `@central-design-system/components/styles` is not imported.
|
|
93
|
+
- **Component not found** — not passed to `createCds({ components })` with selective registration.
|
|
94
|
+
- **`dist/cds.css` does not resolve** — this is a CDS 3 path; in CDS 4 the entry
|
|
95
|
+
point is `@central-design-system/components/styles`. This looks like a
|
|
96
|
+
migration — tell the user; the full migration guide is in the `cds-migrate`
|
|
97
|
+
skill.
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Step 2 — Choose a component
|
|
102
|
+
|
|
103
|
+
If the component is not named explicitly or you are not sure which one fits —
|
|
104
|
+
**read `references/component-decision-tree.md` before writing code**. It covers
|
|
105
|
+
the purpose of all 79 components and the head-to-head cases
|
|
106
|
+
(`CdsSelect` vs `CdsCombobox` vs `CdsAutocomplete`, `CdsModal` vs `CdsMenu`,
|
|
107
|
+
`CdsTable` vs `CdsList`, and others).
|
|
108
|
+
|
|
109
|
+
Rules:
|
|
110
|
+
|
|
111
|
+
- **Take the narrowest component that fits.** If `CdsSelect` exists — do not
|
|
112
|
+
build a dropdown out of `CdsSurface` and `CdsList`.
|
|
113
|
+
- **Do not invent a component that does not exist.** If the task is not
|
|
114
|
+
covered, assemble it from existing atoms and tell the user.
|
|
115
|
+
|
|
116
|
+
What exists at all:
|
|
117
|
+
|
|
118
|
+
- **Atoms** — CdsCounter, CdsDescription, CdsDivider, CdsField, CdsFunctionalButton, CdsHighlight, CdsInput, CdsLabel, CdsMessages, CdsResponsive, CdsSelectionControl, CdsSelectionControlGroup, CdsSlideGroup, CdsSlideView, CdsSurface
|
|
119
|
+
- **Content** — CdsAvatar, CdsButton, CdsButtonGroup, CdsButtonToggle, CdsCard, CdsCarousel, CdsExpandablePanel, CdsIcon, CdsImage, CdsList, CdsMenu, CdsModal, CdsOverlay, CdsTable, CdsTag, CdsTagGroup, CdsTooltip, CdsTree, CdsVirtualScroll
|
|
120
|
+
- **Controls** — CdsAutocomplete, CdsCheckbox, CdsCheckboxButton, CdsCombobox, CdsDateInput, CdsDatePicker, CdsFileInput, CdsFileUpload, CdsForm, CdsOtpInput, CdsRadio, CdsRadioGroup, CdsSelect, CdsTextArea, CdsTextInput, CdsTimePicker, CdsToggle, CdsUploader
|
|
121
|
+
- **Feedback** — CdsBadge, CdsEmptyState, CdsLoader, CdsNotification, CdsNotificationAlert, CdsProgressBar, CdsProgressCircle, CdsSkeletonLoader, CdsStages, CdsStatus, CdsToast, CdsToastQueue
|
|
122
|
+
- **Layouts** — CdsDrawer, CdsFooter, CdsGrid, CdsHeader, CdsLayout, CdsMain, CdsPage, CdsToolbar
|
|
123
|
+
- **Navigation** — CdsBreadcrumbs, CdsLink, CdsPagination, CdsSteps, CdsTabs
|
|
124
|
+
- **Other** — CdsApp, CdsDefaultsProvider
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Step 3 — Check the contract
|
|
129
|
+
|
|
130
|
+
The reference path is derived from the name: `CdsTextInput` →
|
|
131
|
+
`references/components/cds-text-input/api.md` (kebab-case).
|
|
132
|
+
|
|
133
|
+
| File | What is inside |
|
|
134
|
+
| --- | --- |
|
|
135
|
+
| `api.md` | The full contract: props / events / slots / exposed with types and defaults. Always present. |
|
|
136
|
+
| `examples.md` | Ready-made usage examples. |
|
|
137
|
+
| `guidelines.md` | Do / Don't rules for this component. Not every component has one. |
|
|
138
|
+
| `tokens.md` | The component's local SCSS variables. |
|
|
139
|
+
|
|
140
|
+
**Do not make up props, events, or slots.** If something is not in `api.md` —
|
|
141
|
+
it does not exist in the component. This is the skill's main rule: an
|
|
142
|
+
invented prop looks plausible and silently does nothing.
|
|
143
|
+
|
|
144
|
+
After the markup is written, verify it mechanically — the skill ships a
|
|
145
|
+
contract linter:
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
node <skill-dir>/scripts/check-contracts.mjs src/components/MyForm.vue
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
It checks every `Cds*` tag in the given `.vue` files (or directories)
|
|
152
|
+
against the reference: the component exists, every prop and event is in its
|
|
153
|
+
contract. Run it on the files you created or changed before returning the
|
|
154
|
+
answer; fix everything it reports — each finding is API that would be
|
|
155
|
+
silently ignored at runtime.
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Step 4 — Tokens instead of raw values
|
|
160
|
+
|
|
161
|
+
Three levels: **L1** — palette primitives, **L2** — theme color tokens
|
|
162
|
+
(`--cds-color-*`), **L3** — the component's local SCSS variables.
|
|
163
|
+
|
|
164
|
+
- Set color with the `color` / `bgColor` / `appearance` props, not CSS.
|
|
165
|
+
- Hardcoded values like `#fff`, `16px`, `rgb(0 0 0)` in styles are forbidden —
|
|
166
|
+
they break theming and the dark theme.
|
|
167
|
+
- If you need custom CSS — tokens only: `rgb(var(--cds-color-surface-primary))`.
|
|
168
|
+
|
|
169
|
+
Token values: `references/tokens/themes.md` (themes and `--cds-color-*`),
|
|
170
|
+
`references/tokens/colors.md` (level 1 palette).
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## Step 5 — Markup and spacing
|
|
175
|
+
|
|
176
|
+
Check whether Tailwind is installed (step 1):
|
|
177
|
+
|
|
178
|
+
- **Tailwind is present** — use utilities for layout, spacing, and typography.
|
|
179
|
+
Beyond the standard ones, classes built on CDS tokens are available for
|
|
180
|
+
color, radius, and type (`bg-surface-primary`, `text-brand-primary`,
|
|
181
|
+
`rounded-200`), synchronized with the active theme. Examples in
|
|
182
|
+
`examples.md` are written exactly this way.
|
|
183
|
+
- **Spacing is written with the standard Tailwind numeric scale** (`gap-2`,
|
|
184
|
+
`p-4`, `mt-2`) — the CDS spacing tokens are aligned with it, so there is no
|
|
185
|
+
separate spacing scale to learn. Do not use `gap-200`/`p-400`-style spacing
|
|
186
|
+
classes.
|
|
187
|
+
- **Tailwind is absent** (the user declined the setup in step 1) — do not
|
|
188
|
+
use utility classes. Style with component props and CSS on the `--cds-*`
|
|
189
|
+
tokens.
|
|
190
|
+
|
|
191
|
+
Set spacing between siblings with the container's `gap`, not with a margin on
|
|
192
|
+
each element. Do not multiply nesting: three wrappers with no semantics are a
|
|
193
|
+
reason to simplify.
|
|
194
|
+
|
|
195
|
+
Default spacing rhythm — keep it compact, do not oversize gaps:
|
|
196
|
+
|
|
197
|
+
- between form controls and between buttons in one row — `gap-2`;
|
|
198
|
+
- between meaningful blocks (a field group and the actions row, cards on a
|
|
199
|
+
page) — `gap-3` / `gap-4`;
|
|
200
|
+
- controls are visually dense on their own (label, field, and messages are
|
|
201
|
+
already spaced inside), so `gap-4` between fields makes a form fall apart.
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## Step 6 — Forms
|
|
206
|
+
|
|
207
|
+
For typical fields take the ready-made controls (`CdsTextInput`, `CdsSelect`,
|
|
208
|
+
`CdsCheckbox`, `CdsDateInput`) — they already wire together the label, hint,
|
|
209
|
+
error, and the field itself.
|
|
210
|
+
|
|
211
|
+
The atoms `CdsField` / `CdsLabel` / `CdsDescription` / `CdsMessages` /
|
|
212
|
+
`CdsInput` are needed only when no ready-made control exists. Building a
|
|
213
|
+
plain text field out of them means manually reimplementing `CdsTextInput`.
|
|
214
|
+
|
|
215
|
+
`CdsForm` assembles fields into a form and provides validation; rules go
|
|
216
|
+
through `useRules` / `useValidation`.
|
|
217
|
+
|
|
218
|
+
The actions row of a form: buttons aligned to the right, primary action last
|
|
219
|
+
in reading order, `gap-2` between buttons. On mobile the buttons stack
|
|
220
|
+
(`flex-col-reverse` keeps the primary one on top) and return to a row from
|
|
221
|
+
`sm:` already — there is enough width for two buttons, and stretched
|
|
222
|
+
full-width buttons on a tablet look broken.
|
|
223
|
+
|
|
224
|
+
Complex forms (server errors, steps, dynamic fields) —
|
|
225
|
+
`references/patterns/forms.md`.
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## Step 7 — Responsiveness
|
|
230
|
+
|
|
231
|
+
Lay out for at least mobile and desktop sizes unless "desktop only" is said
|
|
232
|
+
explicitly. Breakpoints are available both in script (`useDisplay`) and in
|
|
233
|
+
SCSS (the `cds-breakpoint-*` mixins) — the values are shared. Details in the
|
|
234
|
+
"Display & Platform" guide.
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## Step 8 — Accessibility
|
|
239
|
+
|
|
240
|
+
CDS components cover most of accessibility themselves. What you must do:
|
|
241
|
+
|
|
242
|
+
- `aria-label` on icon buttons (`<CdsButton icon="delete" aria-label="Delete" />`);
|
|
243
|
+
- meaningful `alt` on images (`alt=""` — if the image is decorative);
|
|
244
|
+
- link the label and the field — through a ready-made control or `CdsField`,
|
|
245
|
+
not "by eye";
|
|
246
|
+
- heading hierarchy without skipped levels;
|
|
247
|
+
- color must not be the only indicator of a state — duplicate it with text or
|
|
248
|
+
an icon.
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
## Step 9 — When to read the references
|
|
253
|
+
|
|
254
|
+
Read **before answering**:
|
|
255
|
+
|
|
256
|
+
- custom theme, brand palette, runtime theme switching, disabling theming —
|
|
257
|
+
`references/guides/theme.md`;
|
|
258
|
+
- bundle size, selective registration, extra styles in the build —
|
|
259
|
+
`references/guides/treeshaking.md`;
|
|
260
|
+
- Tailwind installation and configuration — `references/guides/tailwindcss.md`;
|
|
261
|
+
- responsiveness, breakpoints, platform detection — `references/guides/display-and-platform.md`;
|
|
262
|
+
- a whole complex screen (a form, a page skeleton, a table with a list,
|
|
263
|
+
a confirmation modal) — `references/patterns/`.
|
|
264
|
+
|
|
265
|
+
| Guide | When to read |
|
|
266
|
+
| --- | --- |
|
|
267
|
+
| [Setup and themes](references/guides/setup.md) | Installing the package, wiring up styles, choosing a theme. |
|
|
268
|
+
| [CDS 4 conventions](references/guides/conventions.md) | Uniform props, tokens instead of raw CSS, default values. |
|
|
269
|
+
| [Forms with CDS 4](references/guides/forms.md) | Building forms: ready-made controls and atomic field composition. |
|
|
270
|
+
| [CDS 3 → CDS 4 migration (digest)](references/guides/migration-cds3-to-cds4.md) | Porting existing code from CDS 3: breaking changes and renames. |
|
|
271
|
+
| [Tailwind CSS v4 + CDS 4](references/guides/tailwindcss.md) | Installing and configuring Tailwind CSS v4 in a CDS project, utilities on CDS tokens. |
|
|
272
|
+
| [Theming](references/guides/theme.md) | Custom themes, runtime theme switching (`useTheme`), token groups, disabling theming. |
|
|
273
|
+
| [Tree-shaking](references/guides/treeshaking.md) | Per-component registration and the base style layer instead of the `styles` aggregate. |
|
|
274
|
+
| [SASS variables](references/guides/sass-variables.md) | Overriding SASS variables at build time: `@use … with`, reset, typography, grid and breakpoints, settings file. |
|
|
275
|
+
| [Icons](references/guides/icons.md) | Icon packs, wiring via UnoCSS, alias mappings, the legacy CDS 3 icon set. |
|
|
276
|
+
| [Display & Platform](references/guides/display-and-platform.md) | Responsiveness: breakpoints, `useDisplay`, SCSS mixins, platform detection. |
|
|
277
|
+
| [Global configuration](references/guides/global-configuration.md) | Default prop values: `defaults` in `createCds`, contextual defaults, `class`/`style`, aliases, `CdsDefaultsProvider`, `useDefaults`, `blueprint`. |
|
|
278
|
+
| [Internationalization (i18n)](references/guides/internationalization.md) | Localizing component texts: the `locale` option in `createCds`, `$cds.*` keys, `useLocale`, `provideLocale`, date locales, RTL, custom adapters (vue-i18n). |
|
|
279
|
+
| [Date Utils](references/guides/date-utils.md) | Working with dates without third-party libraries: `formatDate`/`extractDate` and masks (`DD.MM.YYYY`), arithmetic (`addToDate`), comparison, ranges, calendar math. |
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
## Output format
|
|
284
|
+
|
|
285
|
+
1. **Complete working code** — with imports, without `TODO` stubs or
|
|
286
|
+
"...rest of the component".
|
|
287
|
+
2. **`<script setup lang="ts">`** — if the project uses TypeScript; otherwise
|
|
288
|
+
omit `lang`.
|
|
289
|
+
3. **Grouped imports** — Vue first, then CDS, then local ones.
|
|
290
|
+
4. **Responsiveness** — at least mobile and desktop sizes for the layout.
|
|
291
|
+
5. **2–4 sentences after the code** — which decisions were made and why
|
|
292
|
+
(component choice, form composition, responsiveness). Skip the explanation
|
|
293
|
+
for a trivial request.
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
## When to ask, when to act
|
|
298
|
+
|
|
299
|
+
Build right away if the request is clear. Ask if:
|
|
300
|
+
|
|
301
|
+
- the data shape is unknown and the whole structure depends on it ("make a
|
|
302
|
+
table" — which columns?);
|
|
303
|
+
- there is a significant design fork that matters to the user (number of
|
|
304
|
+
columns, layout direction, set of actions);
|
|
305
|
+
- the user refers to files or components you have not seen.
|
|
306
|
+
|
|
307
|
+
In a borderline case state your assumptions in one line at the top and build:
|
|
308
|
+
concrete code is easier for the user to react to than a question.
|