@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,238 @@
|
|
|
1
|
+
---
|
|
2
|
+
sourceHash: 5d3ad246b66c58c6ecd39eb645d52dd6a026eaf2
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# SASS variables
|
|
6
|
+
|
|
7
|
+
CDS 4 styles are written in SASS/SCSS, and part of the internal setup — the base
|
|
8
|
+
reset, global typography, font, grid and breakpoints — is extracted into SASS
|
|
9
|
+
variables flagged with `!default`. You can override them when building your
|
|
10
|
+
application through the standard
|
|
11
|
+
[module configuration](https://sass-lang.com/documentation/at-rules/use/#configuration)
|
|
12
|
+
mechanism: `@use '…' with (…)`.
|
|
13
|
+
|
|
14
|
+
> SASS variables are the **compile-time** configuration layer. Colors, spacing
|
|
15
|
+
> and the rest of the component design tokens live in CSS variables (`--cds-*`)
|
|
16
|
+
> and are configured by themes at runtime — see [Theming](theme.md). Start
|
|
17
|
+
> with the theme; drop down to SASS variables when you need to change the base
|
|
18
|
+
> layer itself: reset, typography, grid.
|
|
19
|
+
|
|
20
|
+
## Setup
|
|
21
|
+
|
|
22
|
+
Vite compiles SCSS out of the box — you only need the preprocessor itself:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npm install -D sass-embedded
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
The classic `sass` works too, but `sass-embedded` is noticeably faster. To speed
|
|
29
|
+
up large builds, opt into the modern compiler API:
|
|
30
|
+
|
|
31
|
+
```ts
|
|
32
|
+
// vite.config.ts
|
|
33
|
+
export default defineConfig({
|
|
34
|
+
css: {
|
|
35
|
+
preprocessorOptions: {
|
|
36
|
+
scss: { api: 'modern-compiler' }
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Plugging in with a configuration
|
|
43
|
+
|
|
44
|
+
Normally the base styles are plugged in as ready-made CSS —
|
|
45
|
+
`import '@central-design-system/components/styles'`. To override SASS variables,
|
|
46
|
+
replace that import with your own SCSS file: in SCSS the
|
|
47
|
+
`@central-design-system/components/styles` entry point resolves to the **sources**
|
|
48
|
+
of the base layer (the `sass` export condition in `package.json`), and your
|
|
49
|
+
configuration is applied at compile time.
|
|
50
|
+
|
|
51
|
+
```diff
|
|
52
|
+
// main.ts
|
|
53
|
+
import { createApp } from 'vue';
|
|
54
|
+
|
|
55
|
+
- import '@central-design-system/components/styles';
|
|
56
|
+
+ import './styles/main.scss';
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
```scss
|
|
60
|
+
// src/styles/main.scss
|
|
61
|
+
@use '@central-design-system/components/styles' with (
|
|
62
|
+
$reset: false,
|
|
63
|
+
$body-font-family: ('Inter', sans-serif)
|
|
64
|
+
);
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
The component styles themselves need nothing extra: they are precompiled and ship
|
|
68
|
+
with the components' JS chunks — both with selective and with full registration
|
|
69
|
+
(see [Tree-shaking](treeshaking.md)).
|
|
70
|
+
|
|
71
|
+
> Wrap a value containing commas — `$body-font-family` with several fonts, for
|
|
72
|
+
> instance — in parentheses, otherwise SASS reads it as several arguments.
|
|
73
|
+
|
|
74
|
+
## A settings file
|
|
75
|
+
|
|
76
|
+
Module configuration is applied once, on the first load. If you need the values
|
|
77
|
+
not only in the entry point but also in your application's component styles,
|
|
78
|
+
extract them into a separate settings file and use that everywhere:
|
|
79
|
+
|
|
80
|
+
```scss
|
|
81
|
+
// src/styles/settings.scss
|
|
82
|
+
@forward '@central-design-system/components/styles/settings' with (
|
|
83
|
+
$body-font-family: ('Inter', sans-serif),
|
|
84
|
+
$grid-gutter: 24px
|
|
85
|
+
);
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
```scss
|
|
89
|
+
// src/styles/main.scss
|
|
90
|
+
@use './settings'; // configures the CDS variables
|
|
91
|
+
@use '@central-design-system/components/styles'; // the base is built with them
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
```html
|
|
95
|
+
<!-- Component.vue -->
|
|
96
|
+
<style lang="scss">
|
|
97
|
+
@use '@/styles/settings' as s;
|
|
98
|
+
|
|
99
|
+
.card {
|
|
100
|
+
gap: s.$grid-gutter;
|
|
101
|
+
font-family: s.$body-font-family;
|
|
102
|
+
}
|
|
103
|
+
</style>
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Every `<style>` block is compiled separately, so "configure it in `main.scss` and
|
|
107
|
+
read it straight from the package" won't work — a direct
|
|
108
|
+
`@use '@central-design-system/components/styles/settings'` in a component would
|
|
109
|
+
return the default values. A shared settings file guarantees identical values at
|
|
110
|
+
every compilation point.
|
|
111
|
+
|
|
112
|
+
The `styles/settings` entry contains variables only and emits not a single byte
|
|
113
|
+
of CSS — it's safe to include in any number of files.
|
|
114
|
+
|
|
115
|
+
## Global variables
|
|
116
|
+
|
|
117
|
+
| Variable | Default | What it does |
|
|
118
|
+
| --- | --- | --- |
|
|
119
|
+
| `$reset` | `true` | Emit the base layer's CSS reset |
|
|
120
|
+
| `$legacy-reset` | `false` | Reset for compatibility with CDS 3 markup |
|
|
121
|
+
| `$enable-typography` | `true` | Global typography (`h1`–`h6`, `.h1`–`.h6` and so on) |
|
|
122
|
+
| `$body-font-family` | `var(--cds-font-family), 'PT Root UI VF', …` | `body` font |
|
|
123
|
+
| `$font-size-root` | `var(--cds-base-unit)` (16px) | Root font size |
|
|
124
|
+
| `$line-height-root` | `1.5` | Root line height |
|
|
125
|
+
| `$border-color-root` | `transparent` | Default border color |
|
|
126
|
+
| `$border-style-root` | `solid` | Default border style |
|
|
127
|
+
| `$border-radius-root` | `var(--cds-border-radius-200)` | Base corner radius |
|
|
128
|
+
| `$size-scale` | `4px` | Step of the size scale |
|
|
129
|
+
| `$sizes` | `('xs', 'sm', 'md', 'lg', 'xl')` | Size names |
|
|
130
|
+
| `$standard-easing` | `cubic-bezier(0.4, 0, 0.2, 1)` | Base animation curve |
|
|
131
|
+
| `$decelerated-easing` | `cubic-bezier(0, 0, 0.2, 1)` | Enter curve |
|
|
132
|
+
| `$accelerated-easing` | `cubic-bezier(0.4, 0, 1, 1)` | Leave curve |
|
|
133
|
+
| `$rounded` | map | Radius scale (`sm`, `md`, `lg`, `xl`, `pill`, `circle`, …) |
|
|
134
|
+
|
|
135
|
+
## Grid and breakpoints
|
|
136
|
+
|
|
137
|
+
| Variable | Default | What it does |
|
|
138
|
+
| --- | --- | --- |
|
|
139
|
+
| `$prefix` | `'cds'` | Prefix of the grid CSS classes |
|
|
140
|
+
| `$flex-grid-columns` | `16` | Number of flex grid columns (`12` is supported too) |
|
|
141
|
+
| `$grid-gutter` | `32px` | Grid gutter |
|
|
142
|
+
| `$grid-gutter-condensed` | `1px` | Gutter of the condensed grid |
|
|
143
|
+
| `$grid-breakpoints` | map | Breakpoints: width, columns and spacing for `xs`–`xl` |
|
|
144
|
+
|
|
145
|
+
The grid variables belong to the same settings module, while the breakpoint and
|
|
146
|
+
grid mixins live in a separate `styles/breakpoints` entry — which emits no CSS
|
|
147
|
+
either:
|
|
148
|
+
|
|
149
|
+
```scss
|
|
150
|
+
@use '@/styles/settings' as s;
|
|
151
|
+
@use '@central-design-system/components/styles/breakpoints' as bp;
|
|
152
|
+
|
|
153
|
+
.sidebar {
|
|
154
|
+
gap: s.$grid-gutter;
|
|
155
|
+
|
|
156
|
+
@include bp.cds-breakpoint-up('md') {
|
|
157
|
+
width: 320px;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
> SASS breakpoints affect your styles and the grid mixins. The runtime
|
|
163
|
+
> breakpoints of `useDisplay` are configured separately, through the `display`
|
|
164
|
+
> option of `createCds` (see [Display & Platform](display-and-platform.md)).
|
|
165
|
+
> The two sets match by default; when you change one, don't forget the other.
|
|
166
|
+
|
|
167
|
+
## Component variables and vite-plugin
|
|
168
|
+
|
|
169
|
+
Without the plugin, `@use … with` configures the base layer only: component CSS
|
|
170
|
+
is precompiled. The `@central-design-system/vite-plugin` plugin lifts that
|
|
171
|
+
limitation — it recompiles the styles of every component you use with your
|
|
172
|
+
settings file:
|
|
173
|
+
|
|
174
|
+
```ts
|
|
175
|
+
// vite.config.ts
|
|
176
|
+
import cds from '@central-design-system/vite-plugin';
|
|
177
|
+
|
|
178
|
+
export default defineConfig({
|
|
179
|
+
plugins: [
|
|
180
|
+
vue(),
|
|
181
|
+
cds({ styles: { configFile: 'src/styles/settings.scss' } })
|
|
182
|
+
]
|
|
183
|
+
});
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
The settings file is the same, but you have to forward
|
|
187
|
+
`styles/component-settings` — the aggregate that includes both global and
|
|
188
|
+
component variables:
|
|
189
|
+
|
|
190
|
+
```scss
|
|
191
|
+
// src/styles/settings.scss
|
|
192
|
+
@forward '@central-design-system/components/styles/component-settings' with (
|
|
193
|
+
$border-radius-root: 0, // global
|
|
194
|
+
$button-border-radius: 9999px // component-level
|
|
195
|
+
);
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
With the plugin you don't need to change the
|
|
199
|
+
`@central-design-system/components/styles` import in `main.ts` — it starts
|
|
200
|
+
meaning "the configured base layer" on its own, and component styles are rebuilt
|
|
201
|
+
on the fly. The plugin can also auto-import components from templates
|
|
202
|
+
(`autoImport: true` by default), which makes registration in
|
|
203
|
+
`createCds({ components })` optional.
|
|
204
|
+
|
|
205
|
+
## What SASS can't configure
|
|
206
|
+
|
|
207
|
+
- **Component-local variables** (`$button-border-radius` and friends from
|
|
208
|
+
`styles/_CdsX.variables.scss`). Unavailable without the plugin: component CSS
|
|
209
|
+
is published precompiled, so its local variables are frozen at the moment the
|
|
210
|
+
library was built. With `@central-design-system/vite-plugin` they are
|
|
211
|
+
configured through `styles/component-settings` — the plugin recompiles the
|
|
212
|
+
published SCSS sources of the components with your settings file (see above).
|
|
213
|
+
- **Turning off individual utility classes.** Instead of a toggle map, pick an
|
|
214
|
+
entry point by content: `styles/core` — layers, fonts and reset only;
|
|
215
|
+
`styles/common` — plus typography and helpers.
|
|
216
|
+
- **CSS layers.** `@layer cds-*` is always on: the layer order is declared in the
|
|
217
|
+
base style layer, and ordinary application CSS (outside `@layer`) always beats
|
|
218
|
+
the design system's styles — there is nothing to turn off here.
|
|
219
|
+
|
|
220
|
+
## Pitfalls
|
|
221
|
+
|
|
222
|
+
- **Variables only in the settings file.** Any styles or imports of regular style
|
|
223
|
+
files inside `settings.scss` get duplicated into every file that includes it.
|
|
224
|
+
Styles belong in `main.scss`; the settings file holds variables, mixins and
|
|
225
|
+
functions.
|
|
226
|
+
- **Configure before the module's first load.** `@use … with` fails with a
|
|
227
|
+
`module was already loaded` error if the settings module has already been
|
|
228
|
+
loaded without a configuration higher up the chain. Include the settings file
|
|
229
|
+
first.
|
|
230
|
+
- **Build speed.** With ready-made CSS there is nothing to compile; with a
|
|
231
|
+
configuration the base layer is built together with the application. The volume
|
|
232
|
+
is small, but the difference shows on cold builds — `sass-embedded` and
|
|
233
|
+
`api: 'modern-compiler'` keep it to a minimum.
|
|
234
|
+
- **Resolution assumes a bundler.** Bare imports such as
|
|
235
|
+
`@use '@central-design-system/components/styles'` are resolved by Vite and
|
|
236
|
+
webpack (`sass-loader`) through the `sass` export condition. In plain `sass`
|
|
237
|
+
CLI without a bundler you'll have to point the paths at the files inside
|
|
238
|
+
`node_modules` by hand.
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Setup and themes
|
|
2
|
+
|
|
3
|
+
## Installation
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npm install @central-design-system/components
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
## Wiring it into the app
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
import { createApp } from 'vue';
|
|
13
|
+
import '@central-design-system/components/styles';
|
|
14
|
+
import { createCds, components, directives } from '@central-design-system/components';
|
|
15
|
+
import App from './App.vue';
|
|
16
|
+
|
|
17
|
+
const cds = createCds({ components, directives });
|
|
18
|
+
createApp(App).use(cds).mount('#app');
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
After that every component is available globally: `<CdsButton appearance="primary">Click me</CdsButton>`.
|
|
22
|
+
|
|
23
|
+
This is the full registration — it pulls in the entire library. For production
|
|
24
|
+
apps register components individually, see the [Tree-shaking](treeshaking.md) guide.
|
|
25
|
+
|
|
26
|
+
## Style entry points
|
|
27
|
+
|
|
28
|
+
| Import | What it provides |
|
|
29
|
+
| --- | --- |
|
|
30
|
+
| `@central-design-system/components/styles` | Aggregate: CSS of every component (~556 KB). Quick start, tree-shaking disabled |
|
|
31
|
+
| `@central-design-system/components/styles/common.css` | Base layer (~9 KB): layers, reset, fonts, typography, grid |
|
|
32
|
+
| `@central-design-system/components/styles/core` | Only layers, fonts and reset — no typography |
|
|
33
|
+
| `@central-design-system/components/styles/utilities` | Utility classes |
|
|
34
|
+
| `@central-design-system/components/styles/tailwind` | Tailwind CSS integration layer |
|
|
35
|
+
| `@central-design-system/components/styles/legacy` | Legacy utilities for migrating from CDS 3 |
|
|
36
|
+
|
|
37
|
+
With per-component registration you only include the base layer
|
|
38
|
+
`styles/common.css` — each component ships its own CSS alongside the
|
|
39
|
+
component itself.
|
|
40
|
+
|
|
41
|
+
Tailwind CSS v4 integration (installation, layers, utilities built on CDS
|
|
42
|
+
tokens) is covered in the [Tailwind CSS + CDS](tailwindcss.md) guide.
|
|
43
|
+
|
|
44
|
+
## Themes
|
|
45
|
+
|
|
46
|
+
The theme is set at initialization via `createCds`:
|
|
47
|
+
|
|
48
|
+
```ts
|
|
49
|
+
const cds = createCds({
|
|
50
|
+
components,
|
|
51
|
+
directives,
|
|
52
|
+
theme: { defaultTheme: 'b2bLight' }
|
|
53
|
+
});
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Built-in themes: `cdsLight` (default), `cdsDark`, `b2bLight`, `b2bDark`,
|
|
57
|
+
`promoLight`, `promoDark`. The values of every color token in each theme
|
|
58
|
+
are listed in [../tokens/themes.md](../tokens/themes.md).
|
|
59
|
+
|
|
60
|
+
Custom themes, runtime theme switching and disabling theming are covered in
|
|
61
|
+
the [Theming](theme.md) guide.
|
|
62
|
+
|
|
63
|
+
## Icons
|
|
64
|
+
|
|
65
|
+
The built-in `cds` iconpack is active by default. Other packs are available
|
|
66
|
+
too (`carbon`, `lucide`, `phosphor`, `remix`):
|
|
67
|
+
|
|
68
|
+
```ts
|
|
69
|
+
import { createCds, iconsets } from '@central-design-system/components';
|
|
70
|
+
|
|
71
|
+
createCds({
|
|
72
|
+
icons: {
|
|
73
|
+
defaultSet: 'remix',
|
|
74
|
+
sets: { remix: iconsets.remix.icons },
|
|
75
|
+
aliases: iconsets.remix.aliases
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
The `@central-design-system/icons` package (CDS 3) is deprecated, see the
|
|
81
|
+
[migration guide](migration-cds3-to-cds4.md).
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
---
|
|
2
|
+
sourceHash: fd1b145c7543a70dd8d9773e38d2341cf367cb5b
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Tailwind CSS v4 + CDS 4
|
|
6
|
+
|
|
7
|
+
For Vite projects, install Tailwind CSS v4 by following the official Tailwind
|
|
8
|
+
guide: [Installing Tailwind CSS with Vite](https://tailwindcss.com/docs/installation/using-vite).
|
|
9
|
+
|
|
10
|
+
Below is the recommended way to integrate CDS 4 with Tailwind CSS v4.
|
|
11
|
+
|
|
12
|
+
- The Vite plugin goes into `vite.config.ts`
|
|
13
|
+
- Tailwind's CSS layer goes into `main.ts`
|
|
14
|
+
|
|
15
|
+
## 1. Install Tailwind CSS
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm install -D tailwindcss @tailwindcss/vite
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## 2. Add the Vite plugin
|
|
22
|
+
|
|
23
|
+
Add `@tailwindcss/vite` to `vite.config.ts`:
|
|
24
|
+
|
|
25
|
+
```ts
|
|
26
|
+
import { defineConfig } from 'vite';
|
|
27
|
+
import tailwindcss from '@tailwindcss/vite';
|
|
28
|
+
|
|
29
|
+
export default defineConfig({
|
|
30
|
+
plugins: [tailwindcss()]
|
|
31
|
+
});
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## 3. Create a `tailwind.css` file
|
|
35
|
+
|
|
36
|
+
For example, `src/tailwind.css`:
|
|
37
|
+
|
|
38
|
+
```css
|
|
39
|
+
@import "@central-design-system/components/styles/tailwind";
|
|
40
|
+
@import "tailwindcss/theme" layer(cds-utilities.tailwind);
|
|
41
|
+
@import "tailwindcss/utilities" layer(cds-utilities.tailwind);
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
This wires CDS tokens into Tailwind. You don't need `preflight` separately —
|
|
45
|
+
the base reset styles already come from `@central-design-system/components/styles`.
|
|
46
|
+
|
|
47
|
+
## 4. Import the styles in your app entry point
|
|
48
|
+
|
|
49
|
+
```ts
|
|
50
|
+
import { createApp } from 'vue';
|
|
51
|
+
|
|
52
|
+
import '@central-design-system/components/styles';
|
|
53
|
+
import './tailwind.css';
|
|
54
|
+
|
|
55
|
+
import { createCds, components, directives } from '@central-design-system/components';
|
|
56
|
+
|
|
57
|
+
import App from './App.vue';
|
|
58
|
+
|
|
59
|
+
const cds = createCds({
|
|
60
|
+
components,
|
|
61
|
+
directives
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
createApp(App).use(cds).mount('#app');
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## 5. Use Tailwind utilities and CDS tokens together
|
|
68
|
+
|
|
69
|
+
```html
|
|
70
|
+
<template>
|
|
71
|
+
<div class="flex flex-col gap-3 rounded-200 bg-surface-primary p-4 text-content-primary">
|
|
72
|
+
<h1 class="text-900 font-bold text-brand-primary">Hello CDS + Tailwind</h1>
|
|
73
|
+
<CdsButton>Click me</CdsButton>
|
|
74
|
+
</div>
|
|
75
|
+
</template>
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Once this is set up, you get both at the same time:
|
|
79
|
+
|
|
80
|
+
- standard Tailwind utilities: `flex`, `font-bold`, `gap-3`, `p-4`
|
|
81
|
+
- utility classes built from CDS tokens: `bg-surface-primary`, `text-content-primary`, `rounded-200`
|
|
82
|
+
- typography on the CDS scale: `font-sans` (the design system font), sizes
|
|
83
|
+
`text-50`…`text-1100`, line heights `leading-50`…`leading-1100`, weights
|
|
84
|
+
`font-regular` / `font-bold`, tracking `tracking-500`. Size and line height are
|
|
85
|
+
separate utilities: `text-*` never touches `line-height`
|
|
86
|
+
|
|
87
|
+
Write spacing with the standard Tailwind numeric scale (`gap-2`, `p-4`,
|
|
88
|
+
`mt-2`): the CDS spacing scale matches it, so there is no need for
|
|
89
|
+
`gap-200`/`p-400`-style spacing classes. Token-based classes remain for
|
|
90
|
+
color, radius, and typography.
|
|
91
|
+
|
|
92
|
+
The CDS configuration stays in sync with the active CDS theme automatically, so
|
|
93
|
+
color utility classes switch along with the theme.
|