@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,447 @@
|
|
|
1
|
+
# CdsAutocomplete — 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
|
+
An autocomplete is a field for picking from a long list: the user types a query, the list is filtered on the fly and the matches are highlighted. The field is built on [CdsTextInput](../cds-text-input/api.md), and the menu and the list are the same as in [CdsSelect](../cds-select/api.md), so the label, the messages, validation and the menu behave identically.
|
|
7
|
+
|
|
8
|
+
## List items
|
|
9
|
+
|
|
10
|
+
The list is set by the `items` prop — an array of strings or of objects with the same interface as in [CdsList](../cds-list/api.md). Start typing and the list is filtered by item titles, with the matching fragments highlighted.
|
|
11
|
+
|
|
12
|
+
**Example (SFC):**
|
|
13
|
+
|
|
14
|
+
```vue
|
|
15
|
+
<script setup lang="ts">
|
|
16
|
+
import { CdsAutocomplete } from '@central-design-system/components';
|
|
17
|
+
import { ref } from 'vue';
|
|
18
|
+
|
|
19
|
+
const items = ['Австрия', 'Бельгия', 'Болгария', 'Венгрия', 'Германия', 'Греция', 'Дания', 'Ирландия'];
|
|
20
|
+
|
|
21
|
+
const selected = ref(null);
|
|
22
|
+
</script>
|
|
23
|
+
|
|
24
|
+
<template>
|
|
25
|
+
<div class="w-[350px] m-auto">
|
|
26
|
+
<CdsAutocomplete
|
|
27
|
+
v-model="selected"
|
|
28
|
+
:items="items"
|
|
29
|
+
label="Страна"
|
|
30
|
+
placeholder="Начните вводить"
|
|
31
|
+
description="Вспомогательное описание для выбора из списка"
|
|
32
|
+
/>
|
|
33
|
+
</div>
|
|
34
|
+
</template>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Search across several fields
|
|
38
|
+
|
|
39
|
+
By default the filter compares the query with the item title. The `filter-keys` prop widens the search area: `title` — the title, `raw.*` — a path to a field of the source object. Your own comparison logic is set by the `custom-filter` function, and `no-filter` turns the built-in filtering off entirely — when the results are already filtered by the server, for example.
|
|
40
|
+
|
|
41
|
+
**Example (SFC):**
|
|
42
|
+
|
|
43
|
+
```vue
|
|
44
|
+
<script setup lang="ts">
|
|
45
|
+
import { CdsAutocomplete } from '@central-design-system/components';
|
|
46
|
+
import { ref } from 'vue';
|
|
47
|
+
|
|
48
|
+
const people = [
|
|
49
|
+
{ name: 'Анна Смирнова', role: 'Дизайнер' },
|
|
50
|
+
{ name: 'Дмитрий Орлов', role: 'Разработчик' },
|
|
51
|
+
{ name: 'Елена Васильева', role: 'Аналитик' },
|
|
52
|
+
{ name: 'Игорь Крылов', role: 'Разработчик' },
|
|
53
|
+
{ name: 'Мария Соколова', role: 'Тестировщик' },
|
|
54
|
+
{ name: 'Павел Зайцев', role: 'Менеджер проекта' }
|
|
55
|
+
];
|
|
56
|
+
|
|
57
|
+
const selected = ref(null);
|
|
58
|
+
</script>
|
|
59
|
+
|
|
60
|
+
<template>
|
|
61
|
+
<div class="w-[350px] m-auto">
|
|
62
|
+
<CdsAutocomplete
|
|
63
|
+
v-model="selected"
|
|
64
|
+
:items="people"
|
|
65
|
+
item-title="name"
|
|
66
|
+
item-value="name"
|
|
67
|
+
:filter-keys="['title', 'raw.role']"
|
|
68
|
+
label="Сотрудник"
|
|
69
|
+
placeholder="Имя или роль"
|
|
70
|
+
description="Попробуйте ввести «разработчик»"
|
|
71
|
+
/>
|
|
72
|
+
</div>
|
|
73
|
+
</template>
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Auto-selecting the first item
|
|
77
|
+
|
|
78
|
+
The `auto-select-first` prop highlights the first matching item — Enter or Tab select it without arrow keys or a click. The `exact` value highlights an item only when the query matches its title completely.
|
|
79
|
+
|
|
80
|
+
**Example (SFC):**
|
|
81
|
+
|
|
82
|
+
```vue
|
|
83
|
+
<script setup lang="ts">
|
|
84
|
+
import { CdsAutocomplete } from '@central-design-system/components';
|
|
85
|
+
import { ref } from 'vue';
|
|
86
|
+
|
|
87
|
+
const items = ['Австрия', 'Бельгия', 'Болгария', 'Венгрия', 'Германия', 'Греция', 'Дания', 'Ирландия'];
|
|
88
|
+
|
|
89
|
+
const first = ref(null);
|
|
90
|
+
const exact = ref(null);
|
|
91
|
+
</script>
|
|
92
|
+
|
|
93
|
+
<template>
|
|
94
|
+
<div class="flex flex-col gap-2 w-[350px] m-auto">
|
|
95
|
+
<CdsAutocomplete
|
|
96
|
+
v-model="first"
|
|
97
|
+
auto-select-first
|
|
98
|
+
:items="items"
|
|
99
|
+
label="Автовыбор первого"
|
|
100
|
+
placeholder="Начните вводить"
|
|
101
|
+
description="Введите «гер» и нажмите Enter"
|
|
102
|
+
/>
|
|
103
|
+
|
|
104
|
+
<CdsAutocomplete
|
|
105
|
+
v-model="exact"
|
|
106
|
+
auto-select-first="exact"
|
|
107
|
+
:items="items"
|
|
108
|
+
label="Только при полном совпадении"
|
|
109
|
+
placeholder="Начните вводить"
|
|
110
|
+
description="Подсветится только полностью введённая «Германия»"
|
|
111
|
+
/>
|
|
112
|
+
</div>
|
|
113
|
+
</template>
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## Multiple selection and chips
|
|
117
|
+
|
|
118
|
+
The `multiple` prop allows selecting several values, `chips` shows them as [CdsTag](../cds-tag/api.md) tags, and `closable-chips` adds a cross — the value is removed right in the field. `clear-on-select` clears the search query after every selection, `hide-selected` removes the already selected items from the list.
|
|
119
|
+
|
|
120
|
+
**Example (SFC):**
|
|
121
|
+
|
|
122
|
+
```vue
|
|
123
|
+
<script setup lang="ts">
|
|
124
|
+
import { CdsAutocomplete } from '@central-design-system/components';
|
|
125
|
+
import { ref } from 'vue';
|
|
126
|
+
|
|
127
|
+
const items = ref([
|
|
128
|
+
'Австрия',
|
|
129
|
+
'Бельгия',
|
|
130
|
+
'Болгария',
|
|
131
|
+
'Венгрия',
|
|
132
|
+
'Германия',
|
|
133
|
+
'Греция',
|
|
134
|
+
'Дания',
|
|
135
|
+
'Ирландия',
|
|
136
|
+
'Испания',
|
|
137
|
+
'Италия',
|
|
138
|
+
'Кипр',
|
|
139
|
+
'Латвия',
|
|
140
|
+
'Литва',
|
|
141
|
+
'Люксембург',
|
|
142
|
+
'Мальта',
|
|
143
|
+
'Нидерланды',
|
|
144
|
+
'Польша',
|
|
145
|
+
'Португалия',
|
|
146
|
+
'Румыния',
|
|
147
|
+
'Словакия',
|
|
148
|
+
'Словения',
|
|
149
|
+
'Финляндия',
|
|
150
|
+
'Франция',
|
|
151
|
+
'Хорватия',
|
|
152
|
+
'Чехия',
|
|
153
|
+
'Швеция',
|
|
154
|
+
'Эстония'
|
|
155
|
+
]);
|
|
156
|
+
|
|
157
|
+
const selected = ref(['Германия', 'Франция']);
|
|
158
|
+
</script>
|
|
159
|
+
|
|
160
|
+
<template>
|
|
161
|
+
<CdsAutocomplete
|
|
162
|
+
v-model="selected"
|
|
163
|
+
class="w-[350px] m-auto"
|
|
164
|
+
multiple
|
|
165
|
+
chips
|
|
166
|
+
closable-chips
|
|
167
|
+
clear-on-select
|
|
168
|
+
:items="items"
|
|
169
|
+
label="Множественный выбор"
|
|
170
|
+
placeholder="Начните вводить"
|
|
171
|
+
/>
|
|
172
|
+
</template>
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## Slots
|
|
176
|
+
|
|
177
|
+
The `no-data` slot is seen more often in the autocomplete than in the select: a query is easy to mistype. Bind the query through `v-model:search` and offer a way out — adding the entered value to the reference book, for example.
|
|
178
|
+
|
|
179
|
+
**Example (SFC):**
|
|
180
|
+
|
|
181
|
+
```vue
|
|
182
|
+
<script setup lang="ts">
|
|
183
|
+
import { CdsAutocomplete, CdsButton } from '@central-design-system/components';
|
|
184
|
+
import { ref } from 'vue';
|
|
185
|
+
|
|
186
|
+
const items = ref(['Отдел продаж', 'Отдел закупок', 'Бухгалтерия', 'Юридический отдел']);
|
|
187
|
+
|
|
188
|
+
const selected = ref<string | null>(null);
|
|
189
|
+
const search = ref('');
|
|
190
|
+
|
|
191
|
+
function addItem() {
|
|
192
|
+
items.value = [...items.value, search.value];
|
|
193
|
+
selected.value = search.value;
|
|
194
|
+
}
|
|
195
|
+
</script>
|
|
196
|
+
|
|
197
|
+
<template>
|
|
198
|
+
<div class="w-[350px] m-auto">
|
|
199
|
+
<CdsAutocomplete
|
|
200
|
+
v-model="selected"
|
|
201
|
+
v-model:search="search"
|
|
202
|
+
:items="items"
|
|
203
|
+
label="Отдел"
|
|
204
|
+
placeholder="Начните вводить название"
|
|
205
|
+
>
|
|
206
|
+
<template #no-data>
|
|
207
|
+
<div class="flex flex-col items-start gap-2 p-4">
|
|
208
|
+
<span class="text-sm">По запросу «{{ search }}» ничего не найдено.</span>
|
|
209
|
+
<CdsButton appearance="secondary" size="sm" :text="`Добавить «${search}»`" @click="addItem" />
|
|
210
|
+
</div>
|
|
211
|
+
</template>
|
|
212
|
+
</CdsAutocomplete>
|
|
213
|
+
</div>
|
|
214
|
+
</template>
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
## Search on the server
|
|
218
|
+
|
|
219
|
+
When the reference book is too large to load in full, search on the server: `v-model:search` gives out the query, the response goes into `items`, and `no-filter` turns off the repeated filtering on the client. `loading` shows that a request is in progress, and the `no-data` slot changes the caption of the empty menu by state: a hint before the input, "Searching…" during the request, "Nothing found" after an empty response — the menu never stays blank.
|
|
220
|
+
|
|
221
|
+
**Example (SFC):**
|
|
222
|
+
|
|
223
|
+
```vue
|
|
224
|
+
<script setup lang="ts">
|
|
225
|
+
import { CdsAutocomplete, CdsListItem } from '@central-design-system/components';
|
|
226
|
+
import { computed, ref, watch } from 'vue';
|
|
227
|
+
|
|
228
|
+
const cities = [
|
|
229
|
+
'Барнаул',
|
|
230
|
+
'Владивосток',
|
|
231
|
+
'Волгоград',
|
|
232
|
+
'Воронеж',
|
|
233
|
+
'Екатеринбург',
|
|
234
|
+
'Казань',
|
|
235
|
+
'Краснодар',
|
|
236
|
+
'Красноярск',
|
|
237
|
+
'Москва',
|
|
238
|
+
'Нижний Новгород',
|
|
239
|
+
'Новосибирск',
|
|
240
|
+
'Омск',
|
|
241
|
+
'Пермь',
|
|
242
|
+
'Ростов-на-Дону',
|
|
243
|
+
'Самара',
|
|
244
|
+
'Санкт-Петербург',
|
|
245
|
+
'Саратов',
|
|
246
|
+
'Тюмень',
|
|
247
|
+
'Уфа',
|
|
248
|
+
'Челябинск'
|
|
249
|
+
];
|
|
250
|
+
|
|
251
|
+
const items = ref<string[]>([]);
|
|
252
|
+
const selected = ref(null);
|
|
253
|
+
const search = ref('');
|
|
254
|
+
const loading = ref(false);
|
|
255
|
+
|
|
256
|
+
const noDataText = computed(() => {
|
|
257
|
+
if (loading.value) return 'Ищем…';
|
|
258
|
+
return search.value ? 'Ничего не найдено' : 'Начните вводить название';
|
|
259
|
+
});
|
|
260
|
+
|
|
261
|
+
let timer: ReturnType<typeof setTimeout>;
|
|
262
|
+
|
|
263
|
+
watch(search, (query) => {
|
|
264
|
+
clearTimeout(timer);
|
|
265
|
+
|
|
266
|
+
if (!query) {
|
|
267
|
+
items.value = [];
|
|
268
|
+
loading.value = false;
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
loading.value = true;
|
|
273
|
+
|
|
274
|
+
// Имитация запроса к серверу: фильтрация выполняется на «бэкенде».
|
|
275
|
+
timer = setTimeout(() => {
|
|
276
|
+
items.value = cities.filter((city) => city.toLowerCase().includes(query.toLowerCase()));
|
|
277
|
+
loading.value = false;
|
|
278
|
+
}, 600);
|
|
279
|
+
});
|
|
280
|
+
</script>
|
|
281
|
+
|
|
282
|
+
<template>
|
|
283
|
+
<div class="w-[350px] m-auto">
|
|
284
|
+
<CdsAutocomplete
|
|
285
|
+
v-model="selected"
|
|
286
|
+
v-model:search="search"
|
|
287
|
+
no-filter
|
|
288
|
+
:items="items"
|
|
289
|
+
:loading="loading"
|
|
290
|
+
label="Город"
|
|
291
|
+
placeholder="Начните вводить название"
|
|
292
|
+
hint="Результаты приходят с сервера"
|
|
293
|
+
>
|
|
294
|
+
<template #no-data>
|
|
295
|
+
<CdsListItem :title="noDataText" />
|
|
296
|
+
</template>
|
|
297
|
+
</CdsAutocomplete>
|
|
298
|
+
</div>
|
|
299
|
+
</template>
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
## Picking recipients
|
|
303
|
+
|
|
304
|
+
The combination of `multiple`, `chips`, `closable-chips` and `clear-on-select` collects the recipients as tags and is immediately ready for the next input. `filter-keys` searches both by name and by email, `hide-selected` removes the already added ones from the list, and the `item` slot shows the avatar and the address — that way it is easier not to confuse namesakes.
|
|
305
|
+
|
|
306
|
+
**Example (SFC):**
|
|
307
|
+
|
|
308
|
+
```vue
|
|
309
|
+
<script setup lang="ts">
|
|
310
|
+
import { CdsAutocomplete, CdsAvatar, CdsListItem } from '@central-design-system/components';
|
|
311
|
+
import { ref } from 'vue';
|
|
312
|
+
|
|
313
|
+
const people = [
|
|
314
|
+
{ name: 'Анна Смирнова', email: 'a.smirnova@example.com', image: 'https://i.pravatar.cc/80?img=47' },
|
|
315
|
+
{ name: 'Дмитрий Орлов', email: 'd.orlov@example.com', image: 'https://i.pravatar.cc/80?img=12' },
|
|
316
|
+
{ name: 'Елена Васильева', email: 'e.vasileva@example.com', image: 'https://i.pravatar.cc/80?img=44' },
|
|
317
|
+
{ name: 'Игорь Крылов', email: 'i.krylov@example.com', image: 'https://i.pravatar.cc/80?img=32' },
|
|
318
|
+
{ name: 'Мария Соколова', email: 'm.sokolova@example.com', image: 'https://i.pravatar.cc/80?img=26' },
|
|
319
|
+
{ name: 'Павел Зайцев', email: 'p.zaycev@example.com', image: 'https://i.pravatar.cc/80?img=59' }
|
|
320
|
+
];
|
|
321
|
+
|
|
322
|
+
const selected = ref(['Анна Смирнова']);
|
|
323
|
+
</script>
|
|
324
|
+
|
|
325
|
+
<template>
|
|
326
|
+
<div class="w-[350px] m-auto">
|
|
327
|
+
<CdsAutocomplete
|
|
328
|
+
v-model="selected"
|
|
329
|
+
multiple
|
|
330
|
+
chips
|
|
331
|
+
closable-chips
|
|
332
|
+
clear-on-select
|
|
333
|
+
hide-selected
|
|
334
|
+
:items="people"
|
|
335
|
+
item-title="name"
|
|
336
|
+
item-value="name"
|
|
337
|
+
:filter-keys="['title', 'raw.email']"
|
|
338
|
+
label="Получатели"
|
|
339
|
+
placeholder="Имя или почта"
|
|
340
|
+
>
|
|
341
|
+
<template #item="{ item, props }">
|
|
342
|
+
<CdsListItem v-bind="props" :title="item.name">
|
|
343
|
+
<template #prepend>
|
|
344
|
+
<CdsAvatar :image="item.image" size="sm" class="mr-3" />
|
|
345
|
+
</template>
|
|
346
|
+
<template #description>{{ item.email }}</template>
|
|
347
|
+
</CdsListItem>
|
|
348
|
+
</template>
|
|
349
|
+
</CdsAutocomplete>
|
|
350
|
+
</div>
|
|
351
|
+
</template>
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
## Submitting a form
|
|
355
|
+
|
|
356
|
+
The autocomplete takes part in [CdsForm](../cds-form/api.md) validation on a par with text fields: `rules` will not let the form through without a chosen city. Remember that only the selected item stays as the value — text typed without a selection does not get into the model.
|
|
357
|
+
|
|
358
|
+
**Example (SFC):**
|
|
359
|
+
|
|
360
|
+
```vue
|
|
361
|
+
<script setup lang="ts">
|
|
362
|
+
import { CdsAutocomplete, CdsButton, CdsForm, CdsTextInput } from '@central-design-system/components';
|
|
363
|
+
import { ref } from 'vue';
|
|
364
|
+
|
|
365
|
+
const cities = [
|
|
366
|
+
'Владивосток',
|
|
367
|
+
'Волгоград',
|
|
368
|
+
'Екатеринбург',
|
|
369
|
+
'Казань',
|
|
370
|
+
'Краснодар',
|
|
371
|
+
'Москва',
|
|
372
|
+
'Нижний Новгород',
|
|
373
|
+
'Новосибирск',
|
|
374
|
+
'Санкт-Петербург',
|
|
375
|
+
'Челябинск'
|
|
376
|
+
];
|
|
377
|
+
|
|
378
|
+
const valid = ref(false);
|
|
379
|
+
const city = ref(null);
|
|
380
|
+
const street = ref('');
|
|
381
|
+
const loading = ref(false);
|
|
382
|
+
const sent = ref(false);
|
|
383
|
+
|
|
384
|
+
const rules = [(value: string) => !!value || 'Выберите город из списка'];
|
|
385
|
+
|
|
386
|
+
async function submit() {
|
|
387
|
+
if (!valid.value) return;
|
|
388
|
+
|
|
389
|
+
try {
|
|
390
|
+
loading.value = true;
|
|
391
|
+
sent.value = false;
|
|
392
|
+
await new Promise((resolve) => setTimeout(resolve, 1500));
|
|
393
|
+
sent.value = true;
|
|
394
|
+
} finally {
|
|
395
|
+
loading.value = false;
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
</script>
|
|
399
|
+
|
|
400
|
+
<template>
|
|
401
|
+
<CdsForm v-model="valid" class="flex flex-col gap-2 w-[350px] m-auto" @submit.prevent="submit">
|
|
402
|
+
<CdsAutocomplete
|
|
403
|
+
v-model="city"
|
|
404
|
+
:items="cities"
|
|
405
|
+
:rules="rules"
|
|
406
|
+
label="Город доставки"
|
|
407
|
+
placeholder="Начните вводить"
|
|
408
|
+
/>
|
|
409
|
+
|
|
410
|
+
<CdsTextInput v-model="street" label="Улица и дом" placeholder="Тверская, 1" />
|
|
411
|
+
|
|
412
|
+
<CdsButton type="submit" :loading="loading" text="Оформить доставку" />
|
|
413
|
+
|
|
414
|
+
<p v-if="sent" class="text-sm text-center">Заявка отправлена</p>
|
|
415
|
+
</CdsForm>
|
|
416
|
+
</template>
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
## A large reference book
|
|
420
|
+
|
|
421
|
+
The menu renders items through virtual scrolling, so a list of tens of thousands of entries does not slow down either on opening or on filtering. `auto-select-first` speeds up the input: type the number — press Enter.
|
|
422
|
+
|
|
423
|
+
**Example (SFC):**
|
|
424
|
+
|
|
425
|
+
```vue
|
|
426
|
+
<script setup lang="ts">
|
|
427
|
+
import { CdsAutocomplete } from '@central-design-system/components';
|
|
428
|
+
import { ref } from 'vue';
|
|
429
|
+
|
|
430
|
+
const items = Array.from({ length: 10000 }, (_, index) => `Артикул ${String(index + 1).padStart(5, '0')}`);
|
|
431
|
+
|
|
432
|
+
const selected = ref(null);
|
|
433
|
+
</script>
|
|
434
|
+
|
|
435
|
+
<template>
|
|
436
|
+
<div class="w-[350px] m-auto">
|
|
437
|
+
<CdsAutocomplete
|
|
438
|
+
v-model="selected"
|
|
439
|
+
auto-select-first
|
|
440
|
+
:items="items"
|
|
441
|
+
label="Позиция каталога"
|
|
442
|
+
placeholder="Начните вводить номер"
|
|
443
|
+
:description="`В списке ${items.length.toLocaleString('ru-RU')} позиций`"
|
|
444
|
+
/>
|
|
445
|
+
</div>
|
|
446
|
+
</template>
|
|
447
|
+
```
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# CdsAutocomplete — 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
|
+
| An autocomplete pays off on a long list — typing a couple of letters is faster than scrolling. | Two or three options do not need a search: take CdsSelect or radio buttons. |
|
|
9
|
+
| If values outside the list are allowed, take CdsCombobox — what is typed is kept as is. | The autocomplete accepts list items only: text typed without a selection is lost. |
|
|
10
|
+
| An empty result explains what happened and suggests the next step. | A hidden menu (hide-no-data) looks like a breakage: the user does not understand why the list disappeared. |
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# CdsAutocomplete — 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
|
+
## _CdsAutocomplete.variables.scss
|
|
8
|
+
|
|
9
|
+
```scss
|
|
10
|
+
@use '../../../styles/settings';
|
|
11
|
+
|
|
12
|
+
$autocomplete-content-border-radius: var(--cds-border-radius-200) !default;
|
|
13
|
+
$autocomplete-content-padding-inline: var(--cds-spacing-100) !default;
|
|
14
|
+
$autocomplete-focused-input-min-width: 64px !default;
|
|
15
|
+
$autocomplete-mask-background: rgb(var(--cds-color-content-placeholder)) !default;
|
|
16
|
+
$autocomplete-selection-inline-gap: var(--cds-spacing-50) !default;
|
|
17
|
+
$autocomplete-unselected-opacity: var(--cds-medium-emphasis-opacity) !default;
|
|
18
|
+
$autocomplete-transition: .2s settings.$standard-easing !default;
|
|
19
|
+
```
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# CdsAvatar — 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 avatar shows a person, a team or a company: a photo, initials or an icon inside a round container. Use it in member lists, comments and profile headers — anywhere the reader needs to recognize "who is this" at a glance.
|
|
7
|
+
|
|
8
|
+
## CdsAvatar
|
|
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
|
+
| `badge` | `boolean \| CdsBadgeProps \| undefined` | `false` | no | Avatar badge. `true` shows a dot, an object is passed through as `CdsBadge` props. |
|
|
16
|
+
| `baseColor` | `string \| undefined` | — | no | Color of the component in its inactive state |
|
|
17
|
+
| `bgColor` | `string \| undefined` | — | no | Background color of the component |
|
|
18
|
+
| `color` | `string \| undefined` | — | no | Component color |
|
|
19
|
+
| `content` | `string \| number \| undefined` | — | no | Content displayed in the component. |
|
|
20
|
+
| `end` | `boolean \| undefined` | — | no | Adds a margin on the left — for an avatar at the end of a line of content. |
|
|
21
|
+
| `icon` | `IconValue \| undefined` | — | no | Icon shown in the avatar when no image is set. |
|
|
22
|
+
| `image` | `string \| undefined` | — | no | Source of the avatar image. Takes priority over `icon` and `text`. |
|
|
23
|
+
| `size` | `number \| "xs" \| "sm" \| "md" \| "lg" \| "xl" \| undefined` | `'md'` | no | Size of the component |
|
|
24
|
+
| `start` | `boolean \| undefined` | — | no | Adds a margin on the right — for an avatar at the beginning of a line of content. |
|
|
25
|
+
| `tag` | `string \| JSXComponent<any> \| undefined` | `'div'` | no | Custom HTML tag or component to render |
|
|
26
|
+
| `text` | `string \| number \| undefined` | — | no | Text displayed in the component. |
|
|
27
|
+
| `textColor` | `string \| undefined` | — | no | Text color of the component |
|
|
28
|
+
| `theme` | `string \| undefined` | — | no | Component theme |
|
|
29
|
+
|
|
30
|
+
**Slots**
|
|
31
|
+
|
|
32
|
+
| Name | Type | Description |
|
|
33
|
+
| --- | --- | --- |
|
|
34
|
+
| `badge` | `any` | Content of the avatar badge. |
|
|
35
|
+
| `default` | `any` | Avatar content. Overrides `image`, `icon` and `text`. |
|