@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,326 @@
|
|
|
1
|
+
# CdsProgressCircle — 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
|
+
A circular progress indicator shows the course of an operation: a file upload, data processing, a filling quota. The value is set in percent through `model-value`, and when the course of the operation is unknown, the `indeterminate` mode turns on an endless waiting animation.
|
|
7
|
+
|
|
8
|
+
## Value
|
|
9
|
+
|
|
10
|
+
The `model-value` prop is the current progress in percent, from 0 to 100. A change of the value is animated with a smooth transition of the arc.
|
|
11
|
+
|
|
12
|
+
**Example (SFC):**
|
|
13
|
+
|
|
14
|
+
```vue
|
|
15
|
+
<script setup lang="ts">
|
|
16
|
+
import { CdsProgressCircle } from '@central-design-system/components';
|
|
17
|
+
|
|
18
|
+
const values = [15, 40, 75, 100];
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<template>
|
|
22
|
+
<div class="flex flex-wrap items-center justify-center gap-4">
|
|
23
|
+
<CdsProgressCircle v-for="value in values" :key="value" :model-value="value" />
|
|
24
|
+
</div>
|
|
25
|
+
</template>
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Value
|
|
29
|
+
|
|
30
|
+
The `rotate` prop turns the starting point of the arc by the given number of degrees. By default the progress grows clockwise from "12 o'clock".
|
|
31
|
+
|
|
32
|
+
**Example (SFC):**
|
|
33
|
+
|
|
34
|
+
```vue
|
|
35
|
+
<script setup lang="ts">
|
|
36
|
+
import { CdsProgressCircle } from '@central-design-system/components';
|
|
37
|
+
|
|
38
|
+
const rotations = [0, 90, 180, 270];
|
|
39
|
+
</script>
|
|
40
|
+
|
|
41
|
+
<template>
|
|
42
|
+
<div class="flex flex-wrap items-center justify-center gap-4">
|
|
43
|
+
<CdsProgressCircle v-for="rotate in rotations" :key="rotate" :model-value="25" :rotate="rotate" />
|
|
44
|
+
</div>
|
|
45
|
+
</template>
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Indeterminate progress
|
|
49
|
+
|
|
50
|
+
The `indeterminate` prop turns on an endless animation — use it when the course of the operation is unknown. The value `disable-shrink` leaves only the rotation without the pulsation of the arc: this animation is simpler and does not load the main thread. It is also enabled automatically for users with the `prefers-reduced-motion` setting.
|
|
51
|
+
|
|
52
|
+
**Example (SFC):**
|
|
53
|
+
|
|
54
|
+
```vue
|
|
55
|
+
<script setup lang="ts">
|
|
56
|
+
import { CdsProgressCircle } from '@central-design-system/components';
|
|
57
|
+
</script>
|
|
58
|
+
|
|
59
|
+
<template>
|
|
60
|
+
<div class="flex flex-wrap items-center justify-center gap-4">
|
|
61
|
+
<CdsProgressCircle indeterminate />
|
|
62
|
+
<CdsProgressCircle indeterminate="disable-shrink" />
|
|
63
|
+
</div>
|
|
64
|
+
</template>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Sizes
|
|
68
|
+
|
|
69
|
+
The `size` prop sets the diameter: from `xs` to `xl` or a number in pixels. The default size is `md`.
|
|
70
|
+
|
|
71
|
+
**Example (SFC):**
|
|
72
|
+
|
|
73
|
+
```vue
|
|
74
|
+
<script setup lang="ts">
|
|
75
|
+
import { CdsProgressCircle } from '@central-design-system/components';
|
|
76
|
+
|
|
77
|
+
const { sizes } = CdsProgressCircle.constants;
|
|
78
|
+
</script>
|
|
79
|
+
|
|
80
|
+
<template>
|
|
81
|
+
<div class="flex flex-wrap items-center justify-center gap-4">
|
|
82
|
+
<CdsProgressCircle v-for="size of sizes" :key="size" :size="size" :model-value="65" />
|
|
83
|
+
<CdsProgressCircle :size="72" :model-value="65" />
|
|
84
|
+
</div>
|
|
85
|
+
</template>
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Stroke
|
|
89
|
+
|
|
90
|
+
The `width` prop sets the thickness of the stroke in pixels regardless of the diameter.
|
|
91
|
+
|
|
92
|
+
**Example (SFC):**
|
|
93
|
+
|
|
94
|
+
```vue
|
|
95
|
+
<script setup lang="ts">
|
|
96
|
+
import { CdsProgressCircle } from '@central-design-system/components';
|
|
97
|
+
|
|
98
|
+
const widths = [2, 4, 8];
|
|
99
|
+
</script>
|
|
100
|
+
|
|
101
|
+
<template>
|
|
102
|
+
<div class="flex flex-wrap items-center justify-center gap-4">
|
|
103
|
+
<CdsProgressCircle v-for="width in widths" :key="width" :model-value="65" :width="width" size="lg" />
|
|
104
|
+
</div>
|
|
105
|
+
</template>
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Stroke
|
|
109
|
+
|
|
110
|
+
The `rounded` prop rounds the ends of the arc.
|
|
111
|
+
|
|
112
|
+
**Example (SFC):**
|
|
113
|
+
|
|
114
|
+
```vue
|
|
115
|
+
<script setup lang="ts">
|
|
116
|
+
import { CdsProgressCircle } from '@central-design-system/components';
|
|
117
|
+
</script>
|
|
118
|
+
|
|
119
|
+
<template>
|
|
120
|
+
<div class="flex flex-wrap items-center justify-center gap-4">
|
|
121
|
+
<CdsProgressCircle :model-value="65" :width="6" size="lg" />
|
|
122
|
+
<CdsProgressCircle :model-value="65" :width="6" size="lg" rounded />
|
|
123
|
+
</div>
|
|
124
|
+
</template>
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Colors
|
|
128
|
+
|
|
129
|
+
The `color` prop paints the progress arc, `bg-color` paints the background ring underneath. Both accept color tokens of the design system.
|
|
130
|
+
|
|
131
|
+
**Example (SFC):**
|
|
132
|
+
|
|
133
|
+
```vue
|
|
134
|
+
<script setup lang="ts">
|
|
135
|
+
import { CdsProgressCircle } from '@central-design-system/components';
|
|
136
|
+
</script>
|
|
137
|
+
|
|
138
|
+
<template>
|
|
139
|
+
<div class="flex flex-wrap items-center justify-center gap-4">
|
|
140
|
+
<CdsProgressCircle :model-value="65" color="green" />
|
|
141
|
+
<CdsProgressCircle :model-value="65" color="lemon" />
|
|
142
|
+
<CdsProgressCircle :model-value="65" color="red" />
|
|
143
|
+
<CdsProgressCircle :model-value="65" color="brand-primary" bg-color="red" />
|
|
144
|
+
</div>
|
|
145
|
+
</template>
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## Content
|
|
149
|
+
|
|
150
|
+
The `default` slot renders content in the center of the ring and receives the current value through the `value` slot prop — a handy way to show the percentage next to the arc.
|
|
151
|
+
|
|
152
|
+
**Example (SFC):**
|
|
153
|
+
|
|
154
|
+
```vue
|
|
155
|
+
<script setup lang="ts">
|
|
156
|
+
import { CdsProgressCircle } from '@central-design-system/components';
|
|
157
|
+
</script>
|
|
158
|
+
|
|
159
|
+
<template>
|
|
160
|
+
<div class="flex justify-center">
|
|
161
|
+
<CdsProgressCircle :model-value="68" :size="64">
|
|
162
|
+
<template #default="{ value }">{{ Math.round(value) }}%</template>
|
|
163
|
+
</CdsProgressCircle>
|
|
164
|
+
</div>
|
|
165
|
+
</template>
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
## Reveal animation
|
|
169
|
+
|
|
170
|
+
The `reveal` prop animates the arc from zero to the current value when the component appears. The duration is configured with an object: `:reveal="{ duration: 1500 }"`.
|
|
171
|
+
|
|
172
|
+
**Example (SFC):**
|
|
173
|
+
|
|
174
|
+
```vue
|
|
175
|
+
<script setup lang="ts">
|
|
176
|
+
import { CdsButton, CdsProgressCircle } from '@central-design-system/components';
|
|
177
|
+
import { ref } from 'vue';
|
|
178
|
+
|
|
179
|
+
const key = ref(0);
|
|
180
|
+
</script>
|
|
181
|
+
|
|
182
|
+
<template>
|
|
183
|
+
<div class="flex flex-col items-center gap-3">
|
|
184
|
+
<CdsProgressCircle :key="key" :model-value="75" :size="64" reveal />
|
|
185
|
+
<CdsButton appearance="secondary" size="sm" text="Повторить" @click="key++" />
|
|
186
|
+
</div>
|
|
187
|
+
</template>
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
## File upload
|
|
191
|
+
|
|
192
|
+
The upload progress is visible in the center of the ring through the `default` slot, and once it is done the percentage turns into a success icon. The `rounded` prop softens the arc, and `color` supports the positive scenario.
|
|
193
|
+
|
|
194
|
+
**Example (SFC):**
|
|
195
|
+
|
|
196
|
+
```vue
|
|
197
|
+
<script setup lang="ts">
|
|
198
|
+
import { CdsButton, CdsIcon, CdsProgressCircle } from '@central-design-system/components';
|
|
199
|
+
import { ref } from 'vue';
|
|
200
|
+
|
|
201
|
+
const progress = ref(0);
|
|
202
|
+
const uploading = ref(false);
|
|
203
|
+
|
|
204
|
+
let timer: ReturnType<typeof setInterval> | undefined;
|
|
205
|
+
|
|
206
|
+
const upload = () => {
|
|
207
|
+
clearInterval(timer);
|
|
208
|
+
progress.value = 0;
|
|
209
|
+
uploading.value = true;
|
|
210
|
+
|
|
211
|
+
timer = setInterval(() => {
|
|
212
|
+
progress.value = Math.min(progress.value + Math.random() * 18, 100);
|
|
213
|
+
|
|
214
|
+
if (progress.value === 100) {
|
|
215
|
+
clearInterval(timer);
|
|
216
|
+
uploading.value = false;
|
|
217
|
+
}
|
|
218
|
+
}, 300);
|
|
219
|
+
};
|
|
220
|
+
</script>
|
|
221
|
+
|
|
222
|
+
<template>
|
|
223
|
+
<div class="flex flex-col items-center gap-3">
|
|
224
|
+
<CdsProgressCircle :model-value="progress" :size="72" :width="6" rounded color="green">
|
|
225
|
+
<template #default="{ value }">
|
|
226
|
+
<CdsIcon v-if="value === 100" icon="check-fill" color="green" />
|
|
227
|
+
<span v-else>{{ Math.round(value) }}%</span>
|
|
228
|
+
</template>
|
|
229
|
+
</CdsProgressCircle>
|
|
230
|
+
|
|
231
|
+
<CdsButton
|
|
232
|
+
prepend-icon="upload"
|
|
233
|
+
:text="progress === 100 ? 'Загрузить ещё раз' : 'Загрузить файл'"
|
|
234
|
+
:disabled="uploading"
|
|
235
|
+
@click="upload"
|
|
236
|
+
/>
|
|
237
|
+
</div>
|
|
238
|
+
</template>
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
## A filling quota
|
|
242
|
+
|
|
243
|
+
The ring shows not only a process but also a static value — the used storage space, for example. A computed `color` switches the indicator from green to yellow and red as the limit approaches.
|
|
244
|
+
|
|
245
|
+
**Example (SFC):**
|
|
246
|
+
|
|
247
|
+
```vue
|
|
248
|
+
<script setup lang="ts">
|
|
249
|
+
import { CdsButton, CdsProgressCircle } from '@central-design-system/components';
|
|
250
|
+
import { computed, ref } from 'vue';
|
|
251
|
+
|
|
252
|
+
const used = ref(52);
|
|
253
|
+
|
|
254
|
+
const color = computed(() => {
|
|
255
|
+
if (used.value >= 90) return 'red';
|
|
256
|
+
if (used.value >= 70) return 'lemon';
|
|
257
|
+
return 'green';
|
|
258
|
+
});
|
|
259
|
+
</script>
|
|
260
|
+
|
|
261
|
+
<template>
|
|
262
|
+
<div class="flex flex-col items-center gap-3">
|
|
263
|
+
<CdsProgressCircle :model-value="used" :size="80" :width="8" :color="color">
|
|
264
|
+
<template #default="{ value }">
|
|
265
|
+
<span class="text-content-secondary">{{ Math.round(value) }} ГБ</span>
|
|
266
|
+
</template>
|
|
267
|
+
</CdsProgressCircle>
|
|
268
|
+
|
|
269
|
+
<div class="flex gap-2">
|
|
270
|
+
<CdsButton
|
|
271
|
+
appearance="secondary"
|
|
272
|
+
size="sm"
|
|
273
|
+
text="Добавить файлы"
|
|
274
|
+
:disabled="used >= 100"
|
|
275
|
+
@click="used = Math.min(used + 15, 100)"
|
|
276
|
+
/>
|
|
277
|
+
<CdsButton
|
|
278
|
+
appearance="tertiary"
|
|
279
|
+
size="sm"
|
|
280
|
+
text="Очистить"
|
|
281
|
+
:disabled="used <= 0"
|
|
282
|
+
@click="used = Math.max(used - 30, 0)"
|
|
283
|
+
/>
|
|
284
|
+
</div>
|
|
285
|
+
</div>
|
|
286
|
+
</template>
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
## A background operation
|
|
290
|
+
|
|
291
|
+
A compact `indeterminate` indicator of the `xs` size sits in a line with the text and reports that the operation that was started is still running. The caption next to it explains what to expect — without it a spinning ring says nothing.
|
|
292
|
+
|
|
293
|
+
**Example (SFC):**
|
|
294
|
+
|
|
295
|
+
```vue
|
|
296
|
+
<script setup lang="ts">
|
|
297
|
+
import { CdsButton, CdsIcon, CdsProgressCircle } from '@central-design-system/components';
|
|
298
|
+
import { ref } from 'vue';
|
|
299
|
+
|
|
300
|
+
const state = ref<'idle' | 'pending' | 'done'>('idle');
|
|
301
|
+
|
|
302
|
+
const generate = () => {
|
|
303
|
+
state.value = 'pending';
|
|
304
|
+
|
|
305
|
+
setTimeout(() => {
|
|
306
|
+
state.value = 'done';
|
|
307
|
+
}, 2500);
|
|
308
|
+
};
|
|
309
|
+
</script>
|
|
310
|
+
|
|
311
|
+
<template>
|
|
312
|
+
<div class="flex flex-col items-center gap-3">
|
|
313
|
+
<CdsButton text="Сформировать отчёт" :disabled="state === 'pending'" @click="generate" />
|
|
314
|
+
|
|
315
|
+
<div v-if="state === 'pending'" class="flex items-center gap-2 text-content-secondary">
|
|
316
|
+
<CdsProgressCircle indeterminate size="xs" :width="2" />
|
|
317
|
+
<span>Готовим отчёт — обычно это занимает меньше минуты</span>
|
|
318
|
+
</div>
|
|
319
|
+
|
|
320
|
+
<div v-else-if="state === 'done'" class="flex items-center gap-2">
|
|
321
|
+
<CdsIcon icon="check-fill" color="green" />
|
|
322
|
+
<span>Отчёт готов</span>
|
|
323
|
+
</div>
|
|
324
|
+
</div>
|
|
325
|
+
</template>
|
|
326
|
+
```
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# CdsProgressCircle — 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
|
+
| When the course of the operation is known, show the value: the user sees how much is left. | An indeterminate animation over known progress leaves the user guessing how long the wait will be. |
|
|
9
|
+
| A caption next to the indicator explains what is happening and what to expect. | Кольцо без подписи не отвечает на вопрос «что сейчас загружается?». |
|
|
10
|
+
| For waiting inside a line of text xs is enough — the indicator does not compete with the content. | A large indicator in a line pulls attention away and breaks the vertical rhythm. |
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# CdsProgressCircle — 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
|
+
## _CdsProgressCircle.variables.scss
|
|
8
|
+
|
|
9
|
+
```scss
|
|
10
|
+
@use '../../../styles/tools';
|
|
11
|
+
|
|
12
|
+
$progress-circle-underlay-color: rgb(var(--cds-color-content-placeholder), 0.4) !default;
|
|
13
|
+
|
|
14
|
+
// Transition
|
|
15
|
+
$progress-circle-reveal-duration: 900ms;
|
|
16
|
+
$progress-circle-overlay-transition: all 0.4s ease-in-out, stroke-width 0s !default;
|
|
17
|
+
$progress-circle-intermediate-svg-transition: all 0.4s ease-in-out !default;
|
|
18
|
+
$progress-circle-rotate-animation: progress-circle-rotate 2s linear infinite !default;
|
|
19
|
+
$progress-circle-rotate-dash: progress-circle-dash 2s ease-in-out infinite !default;
|
|
20
|
+
$progress-circle-overlay-transform: rotate(calc(-90deg)) !default;
|
|
21
|
+
|
|
22
|
+
// Sizes
|
|
23
|
+
$progress-circle-size: 32px !default;
|
|
24
|
+
$progress-circle-sizes: (
|
|
25
|
+
'xs': -4,
|
|
26
|
+
'sm': -2,
|
|
27
|
+
'md': 0,
|
|
28
|
+
'lg': 4,
|
|
29
|
+
'xl': 8
|
|
30
|
+
) !default;
|
|
31
|
+
```
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# CdsRadio — API
|
|
2
|
+
|
|
3
|
+
> Generated from meta.json by `bun run generate:skill`. Do not edit manually.
|
|
4
|
+
> Tokens: [tokens.md](tokens.md)
|
|
5
|
+
|
|
6
|
+
A radio button is one option of a mutually exclusive choice. It is not used on its own: the buttons are joined by [CdsRadioGroup](../cds-radio-group/api.md) — it keeps the selected value, captions the set and shows the messages. The button is left with `value` — the value of the option, `label` and `description` — its caption and details.
|
|
7
|
+
|
|
8
|
+
## CdsRadio
|
|
9
|
+
|
|
10
|
+
**Props**
|
|
11
|
+
|
|
12
|
+
| Prop | Type | Default | Required | Description |
|
|
13
|
+
| --- | --- | --- | --- | --- |
|
|
14
|
+
| `activeColor` | `string \| undefined` | — | no | Color of the component in its active state |
|
|
15
|
+
| `baseColor` | `string \| undefined` | — | no | Color of the component in its inactive state |
|
|
16
|
+
| `bgColor` | `string \| undefined` | — | no | Background color of the component |
|
|
17
|
+
| `color` | `string \| undefined` | — | no | Component color |
|
|
18
|
+
| `defaultsTarget` | `string \| undefined` | — | no | Name of the child component the group prop values are passed to as defaults |
|
|
19
|
+
| `description` | `string \| undefined` | — | no | Description of the component, shown under the label |
|
|
20
|
+
| `direction` | `"horizontal" \| "vertical" \| undefined` | `'horizontal'` | no | Switches the component between horizontal and vertical layout. |
|
|
21
|
+
| `disabled` | `boolean \| null \| undefined` | `null` | no | Disabled state |
|
|
22
|
+
| `error` | `boolean \| undefined` | — | no | Puts the component into the visual error state |
|
|
23
|
+
| `falseIcon` | `IconValue \| undefined` | `'radio-off'` | no | Icon of the unselected state |
|
|
24
|
+
| `falseValue` | `any` | — | no | Value for the false state. |
|
|
25
|
+
| `id` | `string \| undefined` | — | no | Unique identifier of the component |
|
|
26
|
+
| `inline` | `boolean \| undefined` | — | no | Renders the control as an inline element — the container does not stretch to the full width |
|
|
27
|
+
| `label` | `string \| undefined` | — | no | Label text of the component |
|
|
28
|
+
| `modelValue` | `any` | — | no | Value of the component (v-model). In a group it is the value of the selected control, with `multiple` — an array of the selected values |
|
|
29
|
+
| `multiple` | `boolean \| null \| undefined` | `null` | no | Allows selecting several values — the model becomes an array. Turns on automatically when an array is passed to `modelValue` |
|
|
30
|
+
| `name` | `string \| undefined` | — | no | The `name` attribute of the native input element. In a group one name joins all the nested controls |
|
|
31
|
+
| `readonly` | `boolean \| null \| undefined` | `null` | no | Read-only state |
|
|
32
|
+
| `textColor` | `string \| undefined` | — | no | Text color of the component |
|
|
33
|
+
| `theme` | `string \| undefined` | — | no | Component theme |
|
|
34
|
+
| `trueIcon` | `IconValue \| undefined` | `'radio-on'` | no | Icon of the selected state |
|
|
35
|
+
| `trueValue` | `any` | — | no | Value for the true state. |
|
|
36
|
+
| `type` | `string \| undefined` | — | no | Type of the native input element — `radio` or `checkbox`, for example |
|
|
37
|
+
| `value` | `any` | — | no | Value used when the component is selected inside a group. When it is not set, a unique identifier is used. |
|
|
38
|
+
| `valueComparator` | `ValueComparator \| undefined` | `true` | no | Function comparing the model value with the `value` of the control. Deep comparison by default |
|
|
39
|
+
|
|
40
|
+
**Slots**
|
|
41
|
+
|
|
42
|
+
| Name | Type | Description |
|
|
43
|
+
| --- | --- | --- |
|
|
44
|
+
| `default` | `{ backgroundColorClasses: Ref<string[], string[]>; backgroundColorStyles: Ref<CSSProperties, CSSProperties>; }` | Default slot |
|
|
45
|
+
| `description` | `{ description: string \| undefined; props: Record<string, any>; }` | Default slot of the CdsDescription component |
|
|
46
|
+
| `input` | `SelectionControlSlot` | Slot for the default input element. |
|
|
47
|
+
| `label` | `{ label: string \| undefined; props: Record<string, any>; }` | Default slot of the CdsLabel component |
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# CdsRadio — 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
|
+
## _CdsRadio.variables.scss
|
|
8
|
+
|
|
9
|
+
```scss
|
|
10
|
+
@use "../../../styles/tools";
|
|
11
|
+
|
|
12
|
+
// Radio
|
|
13
|
+
$radio-button-size: tools.to-rem(16px) !default;
|
|
14
|
+
|
|
15
|
+
// Selection Field
|
|
16
|
+
$radio-selection-control-width: calc($radio-button-size + var(--cds-spacing-200)) !default;
|
|
17
|
+
$radio-selection-control-height: tools.to-rem(20px) !default;
|
|
18
|
+
|
|
19
|
+
// Colors
|
|
20
|
+
$radio-button-colors: (
|
|
21
|
+
'unselected': (
|
|
22
|
+
default: rgb(var(--cds-color-line-primary)),
|
|
23
|
+
error: rgb(var(--cds-color-status-danger-line))
|
|
24
|
+
),
|
|
25
|
+
'selected': (
|
|
26
|
+
default: rgb(var(--cds-color-line-selected)),
|
|
27
|
+
error: rgb(var(--cds-color-status-danger-line))
|
|
28
|
+
),
|
|
29
|
+
'disabled': (
|
|
30
|
+
default: rgb(var(--cds-color-line-disable))
|
|
31
|
+
),
|
|
32
|
+
'focus': (
|
|
33
|
+
default: rgb(var(--cds-color-line-focus-outline))
|
|
34
|
+
)
|
|
35
|
+
) !default;
|
|
36
|
+
```
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# CdsRadioGroup — 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
|
+
A radio group is a choice of one option out of a short mutually exclusive set: a payment method, a plan, a report period. The group keeps the selected value, captions the set with a heading and a description, shows messages and errors; the options themselves are [CdsRadio](../cds-radio/api.md) components with their own `value`.
|
|
7
|
+
|
|
8
|
+
## CdsRadioGroup
|
|
9
|
+
|
|
10
|
+
**Props**
|
|
11
|
+
|
|
12
|
+
| Prop | Type | Default | Required | Description |
|
|
13
|
+
| --- | --- | --- | --- | --- |
|
|
14
|
+
| `activeColor` | `string \| undefined` | — | no | Color of the component in its active state |
|
|
15
|
+
| `appendIcon` | `IconValue \| undefined` | — | no | Icon in the append slot, after the content |
|
|
16
|
+
| `baseColor` | `string \| undefined` | — | no | Color of the component in its inactive state |
|
|
17
|
+
| `bgColor` | `string \| undefined` | — | no | Background color of the component |
|
|
18
|
+
| `centerAffix` | `boolean \| undefined` | `true` | no | Vertically center the appendInner, prependInner, clearIcon and label elements. |
|
|
19
|
+
| `color` | `string \| undefined` | — | no | Component color |
|
|
20
|
+
| `defaultsTarget` | `string \| undefined` | — | no | Name of the child component the group prop values are passed to as defaults |
|
|
21
|
+
| `description` | `string \| undefined` | — | no | Description of the component, shown under the label |
|
|
22
|
+
| `direction` | `"horizontal" \| "vertical" \| undefined` | `'vertical'` | no | Switches the component between horizontal and vertical layout. |
|
|
23
|
+
| `disabled` | `boolean \| null \| undefined` | `null` | no | Disabled state |
|
|
24
|
+
| `error` | `boolean \| undefined` | — | no | Puts the component into the visual error state |
|
|
25
|
+
| `errorMessages` | `string \| readonly string[] \| null \| undefined` | `[]` | no | Puts the component into the error state and passes custom error messages. They are merged with any checks defined in the `rules` prop. This field does not trigger validation. |
|
|
26
|
+
| `falseIcon` | `IconValue \| undefined` | `'radio-off'` | no | Icon of an unselected radio button |
|
|
27
|
+
| `focused` | `boolean \| undefined` | — | no | Controls the focus state of the component. When `true`, the component is considered focused and may apply the corresponding styles or behavior. |
|
|
28
|
+
| `height` | `string \| number \| undefined` | `'auto'` | no | Height of the component |
|
|
29
|
+
| `hideDetails` | `boolean \| "auto" \| undefined` | — | no | Hides the details block (messages and hints). With the 'auto' value the block is hidden when there are no messages |
|
|
30
|
+
| `hideMessages` | `boolean \| undefined` | — | no | Hide the messages under the input |
|
|
31
|
+
| `hint` | `string \| undefined` | — | no | Hint text shown under the input |
|
|
32
|
+
| `iconColor` | `string \| boolean \| undefined` | — | no | Icon color. Accepts a boolean or a color string |
|
|
33
|
+
| `id` | `string \| undefined` | — | no | Unique identifier of the component |
|
|
34
|
+
| `inline` | `boolean \| undefined` | — | no | Renders the control as an inline element — the container does not stretch to the full width |
|
|
35
|
+
| `label` | `string \| undefined` | — | no | Label text of the component |
|
|
36
|
+
| `maxErrors` | `string \| number \| undefined` | `1` | no | Maximum number of validation errors shown |
|
|
37
|
+
| `maxWidth` | `string \| number \| undefined` | — | no | Maximum component width |
|
|
38
|
+
| `messages` | `string \| readonly string[] \| undefined` | `[]` | no | Messages shown under the input |
|
|
39
|
+
| `minWidth` | `string \| number \| undefined` | — | no | Minimum component width |
|
|
40
|
+
| `modelValue` | `any` | — | no | Value of the component (v-model). In a group it is the value of the selected control, with `multiple` — an array of the selected values |
|
|
41
|
+
| `name` | `string \| undefined` | — | no | The `name` attribute of the native input element. In a group one name joins all the nested controls |
|
|
42
|
+
| `persistentHint` | `boolean \| undefined` | — | no | Always show the hint, not only on focus |
|
|
43
|
+
| `prependIcon` | `IconValue \| undefined` | — | no | Icon in the prepend slot, before the content |
|
|
44
|
+
| `readonly` | `boolean \| null \| undefined` | `null` | no | Read-only state |
|
|
45
|
+
| `rules` | `readonly ValidationRule[] \| undefined` | `[]` | no | Accepts an array of items of different types: functions, booleans and strings. Functions take the input value as an argument and must return either true / false, or a string with an error message. The input goes into the error state if a function returns false (or any value in the array is false) or is a string. |
|
|
46
|
+
| `size` | `number \| "xs" \| "sm" \| "md" \| "lg" \| "xl" \| undefined` | `'md'` | no | Size of the component |
|
|
47
|
+
| `textColor` | `string \| undefined` | — | no | Text color of the component |
|
|
48
|
+
| `theme` | `string \| undefined` | — | no | Component theme |
|
|
49
|
+
| `trueIcon` | `IconValue \| undefined` | `'radio-on'` | no | Icon of a selected radio button |
|
|
50
|
+
| `type` | `string \| undefined` | `'radio'` | no | Type of the native input element of the group buttons |
|
|
51
|
+
| `validateOn` | `ValidateOn \| undefined` | — | no | Changes the type of the event that triggers validation |
|
|
52
|
+
| `validationValue` | `any` | — | no | Value used when applying the validation rules |
|
|
53
|
+
| `valueComparator` | `ValueComparator \| undefined` | `true` | no | Function comparing the model value with the `value` of the control. Deep comparison by default |
|
|
54
|
+
| `width` | `string \| number \| undefined` | — | no | Component width |
|
|
55
|
+
|
|
56
|
+
**Events**
|
|
57
|
+
|
|
58
|
+
| Name | Type | Description |
|
|
59
|
+
| --- | --- | --- |
|
|
60
|
+
| `update:modelValue` | `[value: any]` | Fires when the model of the component changes |
|
|
61
|
+
|
|
62
|
+
**Slots**
|
|
63
|
+
|
|
64
|
+
| Name | Type | Description |
|
|
65
|
+
| --- | --- | --- |
|
|
66
|
+
| `append` | `CdsInputSlot` | Adds an element after the input |
|
|
67
|
+
| `default` | `any` | Default slot — the radio buttons of the group (`CdsRadio`) |
|
|
68
|
+
| `description` | `{ description: string \| undefined; props: Record<string, any>; }` | Default slot of the CdsDescription component |
|
|
69
|
+
| `details` | `CdsInputSlot` | Slot for custom content that lets you customize how the messages are displayed |
|
|
70
|
+
| `label` | `{ label: string \| undefined; props: Record<string, any>; }` | Default slot of the CdsLabel component |
|
|
71
|
+
| `message` | `CdsMessagesSlots` | Slot for customizing the content of a message |
|
|
72
|
+
| `messages` | `CdsInputSlot` | Slot for custom content that lets you customize how the messages are displayed |
|
|
73
|
+
| `prepend` | `CdsInputSlot` | Adds an element before the input |
|
|
74
|
+
|
|
75
|
+
**Exposed**
|
|
76
|
+
|
|
77
|
+
| Name | Type | Description |
|
|
78
|
+
| --- | --- | --- |
|
|
79
|
+
| `isDirty` | `boolean` | Whether the input is dirty |
|
|
80
|
+
| `isDisabled` | `boolean` | Whether the input is disabled |
|
|
81
|
+
| `isPure` | `boolean` | Whether the input is pure |
|
|
82
|
+
| `isReadonly` | `boolean` | Whether the input is read-only |
|
|
83
|
+
| `isValid` | `boolean \| null` | Whether the input is valid |
|
|
84
|
+
| `isValidating` | `boolean` | Whether the input is being validated |
|
|
85
|
+
| `reset` | `() => Promise<void>` | Resets the input to its initial state |
|
|
86
|
+
| `resetValidation` | `() => Promise<void>` | Resets the validation of the input |
|
|
87
|
+
| `validate` | `(silent?: boolean) => Promise<string[]>` | Validates the input |
|