@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,432 @@
|
|
|
1
|
+
# CdsDrawer — usage examples
|
|
2
|
+
|
|
3
|
+
> Extracted from Storybook stories (`docs/*.stories.ts`) by `bun run generate:skill`. Do not edit manually.
|
|
4
|
+
> The full component contract is in [api.md](api.md). `v-bind="args"` in templates refers to the props from the **Args** block of the corresponding example.
|
|
5
|
+
|
|
6
|
+
The side panel of the application: navigation sections on the left, the context of a record or filters on the right. Inside `CdsLayout` the drawer takes its place in the layout and pushes the content aside, and in temporary mode it slides out over it.
|
|
7
|
+
|
|
8
|
+
## Permanent drawer
|
|
9
|
+
|
|
10
|
+
The `permanent` prop keeps the drawer on the screen at all times. Without it the drawer hides on screens narrower than 1056 px — the content gets the whole width, and the navigation is opened by a button.
|
|
11
|
+
|
|
12
|
+
**Example (SFC):**
|
|
13
|
+
|
|
14
|
+
```vue
|
|
15
|
+
<script setup lang="ts">
|
|
16
|
+
import { CdsDrawer, CdsLayout, CdsList, CdsListItem, CdsMain, CdsPage } from '@central-design-system/components';
|
|
17
|
+
</script>
|
|
18
|
+
|
|
19
|
+
<template>
|
|
20
|
+
<div class="h-[580px]">
|
|
21
|
+
<CdsLayout container>
|
|
22
|
+
<CdsDrawer permanent border>
|
|
23
|
+
<CdsList>
|
|
24
|
+
<CdsListItem title="Закупки" href="#" prepend-icon="shopping-cart" active />
|
|
25
|
+
<CdsListItem title="Договоры" href="#" prepend-icon="doc" />
|
|
26
|
+
<CdsListItem title="Отчёты" href="#" prepend-icon="data-cards" />
|
|
27
|
+
</CdsList>
|
|
28
|
+
</CdsDrawer>
|
|
29
|
+
|
|
30
|
+
<CdsMain>
|
|
31
|
+
<CdsPage padding>
|
|
32
|
+
<div class="rounded-200 bg-surface-secondary p-4 text-content-primary">
|
|
33
|
+
Панель стоит в потоке макета: контент начинается сразу за ней и никогда не оказывается под панелью.
|
|
34
|
+
</div>
|
|
35
|
+
</CdsPage>
|
|
36
|
+
</CdsMain>
|
|
37
|
+
</CdsLayout>
|
|
38
|
+
</div>
|
|
39
|
+
</template>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Temporary drawer
|
|
43
|
+
|
|
44
|
+
The `temporary` prop turns the drawer into a sliding one: it takes no place in the layout, opens through `v-model` and closes on a click on the overlay or on Esc. The `@opened` and `@closed` events report the change of state.
|
|
45
|
+
|
|
46
|
+
**Example (SFC):**
|
|
47
|
+
|
|
48
|
+
```vue
|
|
49
|
+
<script setup lang="ts">
|
|
50
|
+
import {
|
|
51
|
+
CdsButton,
|
|
52
|
+
CdsDrawer,
|
|
53
|
+
CdsLayout,
|
|
54
|
+
CdsList,
|
|
55
|
+
CdsListItem,
|
|
56
|
+
CdsMain,
|
|
57
|
+
CdsPage
|
|
58
|
+
} from '@central-design-system/components';
|
|
59
|
+
import { ref } from 'vue';
|
|
60
|
+
|
|
61
|
+
const open = ref(false);
|
|
62
|
+
</script>
|
|
63
|
+
|
|
64
|
+
<template>
|
|
65
|
+
<div class="h-[580px]">
|
|
66
|
+
<CdsLayout container>
|
|
67
|
+
<CdsDrawer v-model="open" temporary border>
|
|
68
|
+
<CdsList>
|
|
69
|
+
<CdsListItem title="Закупки" href="#" prepend-icon="shopping-cart" active />
|
|
70
|
+
<CdsListItem title="Договоры" href="#" prepend-icon="doc" />
|
|
71
|
+
<CdsListItem title="Отчёты" href="#" prepend-icon="data-cards" />
|
|
72
|
+
</CdsList>
|
|
73
|
+
</CdsDrawer>
|
|
74
|
+
|
|
75
|
+
<CdsMain>
|
|
76
|
+
<CdsPage padding>
|
|
77
|
+
<CdsButton prepend-icon="menu" @click="open = true">Открыть навигацию</CdsButton>
|
|
78
|
+
<div class="mt-2 rounded-200 bg-surface-secondary p-4 text-content-primary">
|
|
79
|
+
Временная панель выезжает поверх контента и закрывается кликом по затемнению или клавишей Esc.
|
|
80
|
+
</div>
|
|
81
|
+
</CdsPage>
|
|
82
|
+
</CdsMain>
|
|
83
|
+
</CdsLayout>
|
|
84
|
+
</div>
|
|
85
|
+
</template>
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Minified drawer
|
|
89
|
+
|
|
90
|
+
The `minified` prop shrinks the drawer down to icons and gives the width back to the content. On hover the drawer expands over the page without pushing it, so the section labels stay reachable.
|
|
91
|
+
|
|
92
|
+
**Example (SFC):**
|
|
93
|
+
|
|
94
|
+
```vue
|
|
95
|
+
<script setup lang="ts">
|
|
96
|
+
import {
|
|
97
|
+
CdsDrawer,
|
|
98
|
+
CdsLayout,
|
|
99
|
+
CdsList,
|
|
100
|
+
CdsListItem,
|
|
101
|
+
CdsMain,
|
|
102
|
+
CdsPage,
|
|
103
|
+
CdsToggle
|
|
104
|
+
} from '@central-design-system/components';
|
|
105
|
+
import { ref } from 'vue';
|
|
106
|
+
|
|
107
|
+
const minified = ref(true);
|
|
108
|
+
</script>
|
|
109
|
+
|
|
110
|
+
<template>
|
|
111
|
+
<div class="flex flex-col gap-4">
|
|
112
|
+
<CdsToggle v-model="minified" label="Свернуть до иконок" hide-details />
|
|
113
|
+
|
|
114
|
+
<div class="h-[480px]">
|
|
115
|
+
<CdsLayout container>
|
|
116
|
+
<CdsDrawer permanent border :minified="minified">
|
|
117
|
+
<CdsList>
|
|
118
|
+
<CdsListItem title="Закупки" href="#" prepend-icon="shopping-cart" active />
|
|
119
|
+
<CdsListItem title="Договоры" href="#" prepend-icon="doc" />
|
|
120
|
+
<CdsListItem title="Отчёты" href="#" prepend-icon="data-cards" />
|
|
121
|
+
</CdsList>
|
|
122
|
+
</CdsDrawer>
|
|
123
|
+
|
|
124
|
+
<CdsMain>
|
|
125
|
+
<CdsPage padding>
|
|
126
|
+
<div class="rounded-200 bg-surface-secondary p-4 text-content-primary">
|
|
127
|
+
Наведите курсор на свёрнутую панель — она развернётся поверх контента, не сдвигая его.
|
|
128
|
+
</div>
|
|
129
|
+
</CdsPage>
|
|
130
|
+
</CdsMain>
|
|
131
|
+
</CdsLayout>
|
|
132
|
+
</div>
|
|
133
|
+
</div>
|
|
134
|
+
</template>
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## Position
|
|
138
|
+
|
|
139
|
+
The `right` prop moves the drawer to the right edge. The application navigation usually lives on the left, and the context of the current record — history, comments, filters — on the right. Both drawers can work in the same layout at once.
|
|
140
|
+
|
|
141
|
+
**Example (SFC):**
|
|
142
|
+
|
|
143
|
+
```vue
|
|
144
|
+
<script setup lang="ts">
|
|
145
|
+
import { CdsDrawer, CdsLayout, CdsList, CdsListItem, CdsMain, CdsPage } from '@central-design-system/components';
|
|
146
|
+
</script>
|
|
147
|
+
|
|
148
|
+
<template>
|
|
149
|
+
<div class="h-[480px]">
|
|
150
|
+
<CdsLayout container>
|
|
151
|
+
<CdsDrawer permanent border>
|
|
152
|
+
<CdsList>
|
|
153
|
+
<CdsListItem title="Закупки" href="#" prepend-icon="shopping-cart" active />
|
|
154
|
+
<CdsListItem title="Договоры" href="#" prepend-icon="doc" />
|
|
155
|
+
</CdsList>
|
|
156
|
+
</CdsDrawer>
|
|
157
|
+
|
|
158
|
+
<CdsDrawer permanent right border>
|
|
159
|
+
<CdsList>
|
|
160
|
+
<CdsListItem title="История изменений" href="#" prepend-icon="clock" />
|
|
161
|
+
<CdsListItem title="Комментарии" href="#" prepend-icon="comment" />
|
|
162
|
+
</CdsList>
|
|
163
|
+
</CdsDrawer>
|
|
164
|
+
|
|
165
|
+
<CdsMain>
|
|
166
|
+
<CdsPage padding>
|
|
167
|
+
<div class="rounded-200 bg-surface-secondary p-4 text-content-primary">
|
|
168
|
+
Слева навигация, справа контекст записи — макет резервирует место под обе панели.
|
|
169
|
+
</div>
|
|
170
|
+
</CdsPage>
|
|
171
|
+
</CdsMain>
|
|
172
|
+
</CdsLayout>
|
|
173
|
+
</div>
|
|
174
|
+
</template>
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
## Color
|
|
178
|
+
|
|
179
|
+
The `bg-color` prop paints the background of the drawer with a palette alias, `color` paints the text and the icons inside. A dark drawer next to light content emphasizes the border of the working area.
|
|
180
|
+
|
|
181
|
+
**Example (SFC):**
|
|
182
|
+
|
|
183
|
+
```vue
|
|
184
|
+
<script setup lang="ts">
|
|
185
|
+
import {
|
|
186
|
+
CdsDrawer,
|
|
187
|
+
CdsLayout,
|
|
188
|
+
CdsList,
|
|
189
|
+
CdsListItem,
|
|
190
|
+
CdsMain,
|
|
191
|
+
CdsPage,
|
|
192
|
+
CdsRadio,
|
|
193
|
+
CdsRadioGroup
|
|
194
|
+
} from '@central-design-system/components';
|
|
195
|
+
import { ref } from 'vue';
|
|
196
|
+
|
|
197
|
+
const bgColor = ref('default');
|
|
198
|
+
</script>
|
|
199
|
+
|
|
200
|
+
<template>
|
|
201
|
+
<div class="flex flex-col gap-4">
|
|
202
|
+
<CdsRadioGroup v-model="bgColor" direction="horizontal" hide-details>
|
|
203
|
+
<CdsRadio value="default" label="Цвет темы" />
|
|
204
|
+
<CdsRadio value="neutral" label="neutral" />
|
|
205
|
+
<CdsRadio value="indigo" label="indigo" />
|
|
206
|
+
<CdsRadio value="teal" label="teal" />
|
|
207
|
+
</CdsRadioGroup>
|
|
208
|
+
|
|
209
|
+
<div class="h-[480px]">
|
|
210
|
+
<CdsLayout container>
|
|
211
|
+
<CdsDrawer permanent :bg-color="bgColor === 'default' ? undefined : bgColor">
|
|
212
|
+
<CdsList>
|
|
213
|
+
<CdsListItem title="Закупки" href="#" prepend-icon="shopping-cart" />
|
|
214
|
+
<CdsListItem title="Договоры" href="#" prepend-icon="doc" />
|
|
215
|
+
<CdsListItem title="Отчёты" href="#" prepend-icon="data-cards" />
|
|
216
|
+
</CdsList>
|
|
217
|
+
</CdsDrawer>
|
|
218
|
+
|
|
219
|
+
<CdsMain>
|
|
220
|
+
<CdsPage padding>
|
|
221
|
+
<div class="rounded-200 bg-surface-secondary p-4 text-content-primary">Содержимое страницы</div>
|
|
222
|
+
</CdsPage>
|
|
223
|
+
</CdsMain>
|
|
224
|
+
</CdsLayout>
|
|
225
|
+
</div>
|
|
226
|
+
</div>
|
|
227
|
+
</template>
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
## Slots
|
|
231
|
+
|
|
232
|
+
The `fixed-slots` prop keeps `prepend` and `append` in place and gives the scroll to the list of sections only — long navigation no longer pushes the sign-out button past the edge.
|
|
233
|
+
|
|
234
|
+
**Example (SFC):**
|
|
235
|
+
|
|
236
|
+
```vue
|
|
237
|
+
<script setup lang="ts">
|
|
238
|
+
import {
|
|
239
|
+
CdsAvatar,
|
|
240
|
+
CdsButton,
|
|
241
|
+
CdsDrawer,
|
|
242
|
+
CdsLayout,
|
|
243
|
+
CdsList,
|
|
244
|
+
CdsListItem,
|
|
245
|
+
CdsMain,
|
|
246
|
+
CdsPage
|
|
247
|
+
} from '@central-design-system/components';
|
|
248
|
+
</script>
|
|
249
|
+
|
|
250
|
+
<template>
|
|
251
|
+
<div class="h-[380px]">
|
|
252
|
+
<CdsLayout container>
|
|
253
|
+
<CdsDrawer permanent border fixed-slots>
|
|
254
|
+
<template #prepend>
|
|
255
|
+
<div class="flex items-center gap-2">
|
|
256
|
+
<CdsAvatar icon="company" />
|
|
257
|
+
<span class="font-bold text-content-primary">Портал закупок</span>
|
|
258
|
+
</div>
|
|
259
|
+
</template>
|
|
260
|
+
|
|
261
|
+
<CdsList>
|
|
262
|
+
<CdsListItem v-for="n in 12" :key="n" :title="'Раздел ' + n" href="#" prepend-icon="doc" />
|
|
263
|
+
</CdsList>
|
|
264
|
+
|
|
265
|
+
<template #append>
|
|
266
|
+
<CdsButton appearance="tertiary" block prepend-icon="logout">Выйти</CdsButton>
|
|
267
|
+
</template>
|
|
268
|
+
</CdsDrawer>
|
|
269
|
+
|
|
270
|
+
<CdsMain>
|
|
271
|
+
<CdsPage padding>
|
|
272
|
+
<div class="rounded-200 bg-surface-secondary p-4 text-content-primary">
|
|
273
|
+
Список разделов скроллится, а шапка и кнопка выхода остаются на месте.
|
|
274
|
+
</div>
|
|
275
|
+
</CdsPage>
|
|
276
|
+
</CdsMain>
|
|
277
|
+
</CdsLayout>
|
|
278
|
+
</div>
|
|
279
|
+
</template>
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
## Application navigation
|
|
283
|
+
|
|
284
|
+
A logo in `prepend`, the sections in a `CdsList` with `active` on the current one, a sign-out button in `append`. The `lhh lpr fff` layout scheme gives the top left corner to the drawer, so it starts from the very top and reads as the backbone of the application.
|
|
285
|
+
|
|
286
|
+
**Example (SFC):**
|
|
287
|
+
|
|
288
|
+
```vue
|
|
289
|
+
<script setup lang="ts">
|
|
290
|
+
import {
|
|
291
|
+
CdsAvatar,
|
|
292
|
+
CdsButton,
|
|
293
|
+
CdsDrawer,
|
|
294
|
+
CdsHeader,
|
|
295
|
+
CdsLayout,
|
|
296
|
+
CdsList,
|
|
297
|
+
CdsListGroup,
|
|
298
|
+
CdsListItem,
|
|
299
|
+
CdsMain,
|
|
300
|
+
CdsPage,
|
|
301
|
+
CdsToolbar,
|
|
302
|
+
CdsToolbarTitle
|
|
303
|
+
} from '@central-design-system/components';
|
|
304
|
+
import { ref } from 'vue';
|
|
305
|
+
|
|
306
|
+
const sections = [
|
|
307
|
+
{ key: 'purchases', title: 'Закупки', icon: 'shopping-cart' },
|
|
308
|
+
{ key: 'contracts', title: 'Договоры', icon: 'doc' },
|
|
309
|
+
{ key: 'reports', title: 'Отчёты', icon: 'data-cards' }
|
|
310
|
+
];
|
|
311
|
+
const active = ref('purchases');
|
|
312
|
+
</script>
|
|
313
|
+
|
|
314
|
+
<template>
|
|
315
|
+
<div class="h-[560px]">
|
|
316
|
+
<CdsLayout container view="lhh lpr fff">
|
|
317
|
+
<CdsHeader bordered>
|
|
318
|
+
<CdsToolbar>
|
|
319
|
+
<CdsToolbarTitle>{{ sections.find((section) => section.key === active)?.title }}</CdsToolbarTitle>
|
|
320
|
+
</CdsToolbar>
|
|
321
|
+
</CdsHeader>
|
|
322
|
+
|
|
323
|
+
<CdsDrawer permanent border fixed-slots>
|
|
324
|
+
<template #prepend>
|
|
325
|
+
<div class="flex items-center gap-2">
|
|
326
|
+
<CdsAvatar icon="company" />
|
|
327
|
+
<span class="font-bold text-content-primary">Портал закупок</span>
|
|
328
|
+
</div>
|
|
329
|
+
</template>
|
|
330
|
+
|
|
331
|
+
<CdsList>
|
|
332
|
+
<CdsListItem
|
|
333
|
+
v-for="section in sections"
|
|
334
|
+
:key="section.key"
|
|
335
|
+
:title="section.title"
|
|
336
|
+
:prepend-icon="section.icon"
|
|
337
|
+
:active="active === section.key"
|
|
338
|
+
@click="active = section.key"
|
|
339
|
+
/>
|
|
340
|
+
<CdsListGroup>
|
|
341
|
+
<template #activator="{ props }">
|
|
342
|
+
<CdsListItem title="Контрагенты" prepend-icon="company" v-bind="props" />
|
|
343
|
+
</template>
|
|
344
|
+
<CdsListItem title="Поставщики" href="#" prepend-icon="user-group" />
|
|
345
|
+
<CdsListItem title="Заказчики" href="#" prepend-icon="user-avatar" />
|
|
346
|
+
</CdsListGroup>
|
|
347
|
+
</CdsList>
|
|
348
|
+
|
|
349
|
+
<template #append>
|
|
350
|
+
<CdsButton appearance="tertiary" block prepend-icon="logout">Выйти</CdsButton>
|
|
351
|
+
</template>
|
|
352
|
+
</CdsDrawer>
|
|
353
|
+
|
|
354
|
+
<CdsMain>
|
|
355
|
+
<CdsPage padding>
|
|
356
|
+
<div class="rounded-200 bg-surface-secondary p-4 text-content-primary">
|
|
357
|
+
Раздел «{{ sections.find((section) => section.key === active)?.title }}»
|
|
358
|
+
</div>
|
|
359
|
+
</CdsPage>
|
|
360
|
+
</CdsMain>
|
|
361
|
+
</CdsLayout>
|
|
362
|
+
</div>
|
|
363
|
+
</template>
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
## Notification panel
|
|
367
|
+
|
|
368
|
+
A right drawer with `temporary` opens from an icon in the header, shows the list and closes on a click on the overlay. It takes no place in the layout, so the main content is not rebuilt when it opens.
|
|
369
|
+
|
|
370
|
+
**Example (SFC):**
|
|
371
|
+
|
|
372
|
+
```vue
|
|
373
|
+
<script setup lang="ts">
|
|
374
|
+
import {
|
|
375
|
+
CdsBadge,
|
|
376
|
+
CdsButton,
|
|
377
|
+
CdsDrawer,
|
|
378
|
+
CdsFunctionalButton,
|
|
379
|
+
CdsHeader,
|
|
380
|
+
CdsLayout,
|
|
381
|
+
CdsList,
|
|
382
|
+
CdsListItem,
|
|
383
|
+
CdsMain,
|
|
384
|
+
CdsPage,
|
|
385
|
+
CdsToolbar,
|
|
386
|
+
CdsToolbarTitle
|
|
387
|
+
} from '@central-design-system/components';
|
|
388
|
+
import { ref } from 'vue';
|
|
389
|
+
|
|
390
|
+
const open = ref(false);
|
|
391
|
+
const items = ref([
|
|
392
|
+
{ id: 1, title: 'Закупка №2401 опубликована', time: '5 минут назад' },
|
|
393
|
+
{ id: 2, title: 'Новое предложение от ООО «Вектор»', time: '2 часа назад' },
|
|
394
|
+
{ id: 3, title: 'Договор №118 подписан', time: 'вчера' }
|
|
395
|
+
]);
|
|
396
|
+
</script>
|
|
397
|
+
|
|
398
|
+
<template>
|
|
399
|
+
<div class="h-[520px]">
|
|
400
|
+
<CdsLayout container>
|
|
401
|
+
<CdsHeader bordered>
|
|
402
|
+
<CdsToolbar>
|
|
403
|
+
<CdsToolbarTitle>Закупки</CdsToolbarTitle>
|
|
404
|
+
<CdsBadge :content="items.length" :model-value="items.length > 0">
|
|
405
|
+
<CdsFunctionalButton icon="notification" aria-label="Уведомления" @click="open = true" />
|
|
406
|
+
</CdsBadge>
|
|
407
|
+
</CdsToolbar>
|
|
408
|
+
</CdsHeader>
|
|
409
|
+
|
|
410
|
+
<CdsDrawer v-model="open" right temporary border fixed-slots>
|
|
411
|
+
<template #prepend>
|
|
412
|
+
<div class="font-bold text-content-primary">Уведомления</div>
|
|
413
|
+
</template>
|
|
414
|
+
|
|
415
|
+
<CdsList>
|
|
416
|
+
<CdsListItem v-for="item in items" :key="item.id" :title="item.title" :subtitle="item.time" href="#" />
|
|
417
|
+
</CdsList>
|
|
418
|
+
|
|
419
|
+
<template #append>
|
|
420
|
+
<CdsButton appearance="tertiary" block @click="items = []">Отметить все прочитанными</CdsButton>
|
|
421
|
+
</template>
|
|
422
|
+
</CdsDrawer>
|
|
423
|
+
|
|
424
|
+
<CdsMain>
|
|
425
|
+
<CdsPage padding>
|
|
426
|
+
<div class="rounded-200 bg-surface-secondary p-4 text-content-primary">Содержимое страницы</div>
|
|
427
|
+
</CdsPage>
|
|
428
|
+
</CdsMain>
|
|
429
|
+
</CdsLayout>
|
|
430
|
+
</div>
|
|
431
|
+
</template>
|
|
432
|
+
```
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# CdsDrawer — guidelines
|
|
2
|
+
|
|
3
|
+
> Extracted from `docs/demos/Guidelines.vue` by `bun run generate:skill`. Do not edit manually.
|
|
4
|
+
> The full component contract is in [api.md](api.md).
|
|
5
|
+
|
|
6
|
+
| ✅ Do | ❌ Don't |
|
|
7
|
+
| --- | --- |
|
|
8
|
+
| Icons help recognize the sections and stay readable in a minified drawer. | Without icons a minified drawer turns into an empty strip. |
|
|
9
|
+
| The drawer holds the sections of the application; the current one is marked with the active state. | A drawer stuffed with actions and filters stops being navigation. |
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# CdsDrawer — tokens (level 3)
|
|
2
|
+
|
|
3
|
+
> Copy of the component's `styles/*.variables.scss`, taken by `bun run generate:skill`. Do not edit manually.
|
|
4
|
+
> `--cds-*` are global level-2 tokens whose values come from the active theme: see [themes.md](../../tokens/themes.md).
|
|
5
|
+
> Variables marked `!default` can be overridden at build time via SCSS.
|
|
6
|
+
|
|
7
|
+
## _CdsDrawer.variables.scss
|
|
8
|
+
|
|
9
|
+
```scss
|
|
10
|
+
// Размеры панели — структурные константы макета.
|
|
11
|
+
$drawer-width: 240px !default;
|
|
12
|
+
$drawer-width-minified: 56px !default;
|
|
13
|
+
|
|
14
|
+
// Отступы секций — на токенах спейсинга.
|
|
15
|
+
$drawer-block-padding: var(--cds-spacing-400) !default;
|
|
16
|
+
$drawer-inline-padding: var(--cds-spacing-100) !default;
|
|
17
|
+
$drawer-prepend-padding: var(--cds-spacing-200)
|
|
18
|
+
var(--cds-spacing-400) !default;
|
|
19
|
+
$drawer-append-padding: var(--cds-spacing-300) var(--cds-spacing-400) !default;
|
|
20
|
+
|
|
21
|
+
// Границы и цвета — на CSS-переменных.
|
|
22
|
+
$drawer-border: var(--cds-border-100) solid !default;
|
|
23
|
+
$drawer-background: rgb(var(--cds-color-surface-elevated)) !default;
|
|
24
|
+
$drawer-border-color: rgb(var(--cds-color-line-tertiary)) !default;
|
|
25
|
+
$drawer-overlay-color: rgb(var(--cds-color-surface-overlay)) !default;
|
|
26
|
+
$drawer-shadow-border-color: rgb(var(--cds-color-line-elevated)) !default;
|
|
27
|
+
```
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# CdsEmptyState — API
|
|
2
|
+
|
|
3
|
+
> Generated from meta.json by `bun run generate:skill`. Do not edit manually.
|
|
4
|
+
> Examples: [examples.md](examples.md) · Guidelines: [guidelines.md](guidelines.md) · Tokens: [tokens.md](tokens.md)
|
|
5
|
+
|
|
6
|
+
An empty state explains why there is no content on the screen and suggests the next step: no search results, an empty list, a loading error. It is assembled from a media area, headings, a description and an action button.
|
|
7
|
+
|
|
8
|
+
## CdsEmptyState
|
|
9
|
+
|
|
10
|
+
**Props**
|
|
11
|
+
|
|
12
|
+
| Prop | Type | Default | Required | Description |
|
|
13
|
+
| --- | --- | --- | --- | --- |
|
|
14
|
+
| `actionText` | `string \| undefined` | — | no | Text of the action button. When set, a button is rendered below the content. |
|
|
15
|
+
| `bgColor` | `string \| undefined` | — | no | Background color of the component |
|
|
16
|
+
| `color` | `string \| undefined` | — | no | Component color |
|
|
17
|
+
| `content` | `string \| number \| undefined` | — | no | Content displayed in the component. |
|
|
18
|
+
| `description` | `string \| undefined` | — | no | Description |
|
|
19
|
+
| `headline` | `string \| undefined` | — | no | Large accent heading above the main heading. |
|
|
20
|
+
| `height` | `string \| number \| undefined` | — | no | Component height |
|
|
21
|
+
| `href` | `string \| undefined` | — | no | The `href` attribute of the link. When set, the component behaves as a regular link |
|
|
22
|
+
| `icon` | `IconValue \| undefined` | — | no | Icon in the media area. |
|
|
23
|
+
| `illustration` | `string \| undefined` | — | no | Legacy illustration from the `@central-design-system/illustrations` package (CDS 3): the kebab-case name of a globally registered component, for example `rocket`. Illustrations are registered through the `illustrations` option of `createCds`. |
|
|
24
|
+
| `image` | `string \| undefined` | — | no | Source of the image in the media area (takes priority over `icon`). |
|
|
25
|
+
| `justify` | `"start" \| "end" \| "center" \| undefined` | `'center'` | no | Horizontal alignment of the content: `start`, `center`, `end`. |
|
|
26
|
+
| `maxHeight` | `string \| number \| undefined` | — | no | Maximum component height |
|
|
27
|
+
| `maxWidth` | `string \| number \| undefined` | — | no | Maximum component width |
|
|
28
|
+
| `minHeight` | `string \| number \| undefined` | — | no | Minimum component height |
|
|
29
|
+
| `minWidth` | `string \| number \| undefined` | — | no | Minimum component width |
|
|
30
|
+
| `size` | `number \| "xs" \| "sm" \| "md" \| "lg" \| "xl" \| undefined` | `'md'` | no | Size of the component |
|
|
31
|
+
| `text` | `string \| number \| undefined` | — | no | Text displayed in the component. |
|
|
32
|
+
| `textWidth` | `string \| number \| undefined` | `500` | no | Maximum width of the description block. |
|
|
33
|
+
| `theme` | `string \| undefined` | — | no | Component theme |
|
|
34
|
+
| `title` | `string \| undefined` | — | no | Heading. |
|
|
35
|
+
| `to` | `LinkTo \| undefined` | — | no | Target route or route location object for RouterLink. When set, the component behaves as a RouterLink |
|
|
36
|
+
| `width` | `string \| number \| undefined` | — | no | Component width |
|
|
37
|
+
|
|
38
|
+
**Events**
|
|
39
|
+
|
|
40
|
+
| Name | Type | Description |
|
|
41
|
+
| --- | --- | --- |
|
|
42
|
+
| `click:action` | `[event: MouseEvent]` | Click on the action button. |
|
|
43
|
+
|
|
44
|
+
**Slots**
|
|
45
|
+
|
|
46
|
+
| Name | Type | Description |
|
|
47
|
+
| --- | --- | --- |
|
|
48
|
+
| `actions` | `{ props: { onClick: (event: MouseEvent) => void; }; }` | Actions slot; receives `props` with an `onClick` handler to bind to your own element. |
|
|
49
|
+
| `default` | `any` | Arbitrary content between the description and the actions. |
|
|
50
|
+
| `description` | `any` | Description slot (instead of the `description` prop). |
|
|
51
|
+
| `headline` | `any` | Accent heading slot (instead of the `headline` prop). |
|
|
52
|
+
| `illustration` | `any` | Media area slot for an illustration (instead of the `illustration` prop). |
|
|
53
|
+
| `media` | `any` | Media area slot (instead of the `image` / `icon` props). |
|
|
54
|
+
| `text` | `any` | Description slot (instead of the `text` prop). |
|
|
55
|
+
| `title` | `any` | Heading slot (instead of the `title` prop). |
|