@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,330 @@
|
|
|
1
|
+
# CdsEmptyState — 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 empty state explains why there is no content on the screen and suggests the next step: no search results, an empty list, a loading error. It is assembled from a media area, headings, a description and an action button.
|
|
7
|
+
|
|
8
|
+
## Content
|
|
9
|
+
|
|
10
|
+
Every text zone has its own prop: `headline` is the large accent ("404", "Empty"), `title` states the situation, `text` gives the details and hints what to do. The width of the text is capped by `text-width` (500 by default), so a long description does not stretch across the whole screen.
|
|
11
|
+
|
|
12
|
+
**Example (SFC):**
|
|
13
|
+
|
|
14
|
+
```vue
|
|
15
|
+
<script setup lang="ts">
|
|
16
|
+
import { CdsEmptyState } from '@central-design-system/components';
|
|
17
|
+
</script>
|
|
18
|
+
|
|
19
|
+
<template>
|
|
20
|
+
<CdsEmptyState
|
|
21
|
+
icon="list-search"
|
|
22
|
+
headline="Пусто"
|
|
23
|
+
title="Ничего не найдено"
|
|
24
|
+
text="Попробуйте изменить запрос или сбросить фильтры, чтобы увидеть больше результатов"
|
|
25
|
+
/>
|
|
26
|
+
</template>
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Media
|
|
30
|
+
|
|
31
|
+
The `icon` prop shows an icon, `image` shows an image (it wins over the icon). The size of the media comes from `size`: 96 for an icon and 200 for an image by default. The color of the icon is changed by the `color` prop.
|
|
32
|
+
|
|
33
|
+
**Example (SFC):**
|
|
34
|
+
|
|
35
|
+
```vue
|
|
36
|
+
<script setup lang="ts">
|
|
37
|
+
import { CdsEmptyState } from '@central-design-system/components';
|
|
38
|
+
</script>
|
|
39
|
+
|
|
40
|
+
<template>
|
|
41
|
+
<div class="flex gap-4">
|
|
42
|
+
<CdsEmptyState
|
|
43
|
+
icon="list-search"
|
|
44
|
+
title="Ничего не найдено"
|
|
45
|
+
text="Попробуйте изменить запрос или сбросить фильтры"
|
|
46
|
+
class="flex-1"
|
|
47
|
+
/>
|
|
48
|
+
<CdsEmptyState
|
|
49
|
+
image="/images/temp/girl.webp"
|
|
50
|
+
title="Ничего не найдено"
|
|
51
|
+
text="Попробуйте изменить запрос или сбросить фильтры"
|
|
52
|
+
class="flex-1"
|
|
53
|
+
/>
|
|
54
|
+
</div>
|
|
55
|
+
</template>
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Illustrations
|
|
59
|
+
|
|
60
|
+
Legacy illustrations from the `@central-design-system/illustrations` package (CDS 3): the `illustration` prop accepts the kebab-case name of a globally registered component (they are registered through the `illustrations` option of `createCds`). You can render your own illustration through the `illustration` slot.
|
|
61
|
+
|
|
62
|
+
**Example (SFC):**
|
|
63
|
+
|
|
64
|
+
```vue
|
|
65
|
+
<script setup lang="ts">
|
|
66
|
+
import { CdsEmptyState } from '@central-design-system/components';
|
|
67
|
+
</script>
|
|
68
|
+
|
|
69
|
+
<template>
|
|
70
|
+
<CdsEmptyState
|
|
71
|
+
illustration="search-interface"
|
|
72
|
+
title="Ничего не найдено"
|
|
73
|
+
text="Попробуйте изменить запрос или сбросить фильтры"
|
|
74
|
+
/>
|
|
75
|
+
</template>
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Alignment
|
|
79
|
+
|
|
80
|
+
The `justify` prop pushes the content to the edge of the container: `start`, `center` (default) or `end`. The dashed frame in the demo shows the bounds of the container.
|
|
81
|
+
|
|
82
|
+
**Example (SFC):**
|
|
83
|
+
|
|
84
|
+
```vue
|
|
85
|
+
<script setup lang="ts">
|
|
86
|
+
import { CdsEmptyState } from '@central-design-system/components';
|
|
87
|
+
</script>
|
|
88
|
+
|
|
89
|
+
<template>
|
|
90
|
+
<div class="flex flex-col gap-4">
|
|
91
|
+
<CdsEmptyState
|
|
92
|
+
justify="start"
|
|
93
|
+
icon="list-search"
|
|
94
|
+
title="Выравнивание start"
|
|
95
|
+
text="Контент прижат к левому краю контейнера"
|
|
96
|
+
class="justify-demo"
|
|
97
|
+
/>
|
|
98
|
+
<CdsEmptyState
|
|
99
|
+
justify="end"
|
|
100
|
+
icon="list-search"
|
|
101
|
+
title="Выравнивание end"
|
|
102
|
+
text="Контент прижат к правому краю контейнера"
|
|
103
|
+
class="justify-demo"
|
|
104
|
+
/>
|
|
105
|
+
</div>
|
|
106
|
+
</template>
|
|
107
|
+
|
|
108
|
+
<style scoped>
|
|
109
|
+
.justify-demo {
|
|
110
|
+
border: 1px dashed rgb(var(--cds-color-line-primary));
|
|
111
|
+
border-radius: var(--cds-border-radius-200);
|
|
112
|
+
}
|
|
113
|
+
</style>
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## Actions
|
|
117
|
+
|
|
118
|
+
The `action-text` prop adds a button below the content; a click on it arrives as the `click:action` event. When there is more than one action, render your own buttons in the `actions` slot — bind `props.onClick` from the slot to the main button so that the `click:action` event keeps working.
|
|
119
|
+
|
|
120
|
+
**Example (SFC):**
|
|
121
|
+
|
|
122
|
+
```vue
|
|
123
|
+
<script setup lang="ts">
|
|
124
|
+
import { CdsButton, CdsEmptyState } from '@central-design-system/components';
|
|
125
|
+
</script>
|
|
126
|
+
|
|
127
|
+
<template>
|
|
128
|
+
<div class="flex gap-4">
|
|
129
|
+
<CdsEmptyState
|
|
130
|
+
icon="list-search"
|
|
131
|
+
title="Ничего не найдено"
|
|
132
|
+
text="Попробуйте изменить запрос или сбросить фильтры"
|
|
133
|
+
action-text="Сбросить фильтры"
|
|
134
|
+
class="flex-1"
|
|
135
|
+
/>
|
|
136
|
+
<CdsEmptyState
|
|
137
|
+
icon="list-search"
|
|
138
|
+
title="Ничего не найдено"
|
|
139
|
+
text="Попробуйте изменить запрос или сбросить фильтры"
|
|
140
|
+
class="flex-1"
|
|
141
|
+
>
|
|
142
|
+
<template #actions="{ props }">
|
|
143
|
+
<CdsButton appearance="secondary">Назад</CdsButton>
|
|
144
|
+
<CdsButton v-bind="props">Сбросить фильтры</CdsButton>
|
|
145
|
+
</template>
|
|
146
|
+
</CdsEmptyState>
|
|
147
|
+
</div>
|
|
148
|
+
</template>
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Slots
|
|
152
|
+
|
|
153
|
+
Slots replace the content coming from props when you need full control over the markup.
|
|
154
|
+
|
|
155
|
+
**Example (SFC):**
|
|
156
|
+
|
|
157
|
+
```vue
|
|
158
|
+
<script setup lang="ts">
|
|
159
|
+
import { CdsButton, CdsEmptyState, CdsImage } from '@central-design-system/components';
|
|
160
|
+
</script>
|
|
161
|
+
|
|
162
|
+
<template>
|
|
163
|
+
<CdsEmptyState>
|
|
164
|
+
<template #media>
|
|
165
|
+
<CdsImage src="/images/temp/girl.webp" />
|
|
166
|
+
</template>
|
|
167
|
+
<template #title> Заголовок пустого состояния </template>
|
|
168
|
+
<template #text>
|
|
169
|
+
Описание пустого состояния, которое может быть длинным и содержать много текста. Также может описывать варианты
|
|
170
|
+
решения проблемы.
|
|
171
|
+
</template>
|
|
172
|
+
<template #actions="{ props }">
|
|
173
|
+
<CdsButton v-bind="props" text="Добавить данные" />
|
|
174
|
+
</template>
|
|
175
|
+
</CdsEmptyState>
|
|
176
|
+
</template>
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
## Search with no results
|
|
180
|
+
|
|
181
|
+
When nothing matches the query, an empty state replaces the list. The button from `action-text` clears the query on `click:action` — the user returns to the full list in one click. Try typing a query that is not in the list.
|
|
182
|
+
|
|
183
|
+
**Example (SFC):**
|
|
184
|
+
|
|
185
|
+
```vue
|
|
186
|
+
<script setup lang="ts">
|
|
187
|
+
import { CdsEmptyState, CdsTextInput } from '@central-design-system/components';
|
|
188
|
+
import { computed, ref } from 'vue';
|
|
189
|
+
|
|
190
|
+
const query = ref('стол');
|
|
191
|
+
|
|
192
|
+
const items = ['Кресло офисное', 'Шкаф для документов', 'Стеллаж металлический', 'Лампа настольная'];
|
|
193
|
+
|
|
194
|
+
const filtered = computed(() => items.filter((item) => item.toLowerCase().includes(query.value.trim().toLowerCase())));
|
|
195
|
+
</script>
|
|
196
|
+
|
|
197
|
+
<template>
|
|
198
|
+
<div class="m-auto flex w-[350px] flex-col gap-2">
|
|
199
|
+
<CdsTextInput v-model="query" placeholder="Поиск по каталогу" prepend-inner-icon="search" clearable />
|
|
200
|
+
|
|
201
|
+
<ul v-if="filtered.length" class="m-0 flex list-none flex-col gap-2 p-0">
|
|
202
|
+
<li v-for="item in filtered" :key="item">{{ item }}</li>
|
|
203
|
+
</ul>
|
|
204
|
+
|
|
205
|
+
<CdsEmptyState
|
|
206
|
+
v-else
|
|
207
|
+
icon="list-search"
|
|
208
|
+
title="Ничего не найдено"
|
|
209
|
+
text="Попробуйте изменить запрос или очистить поиск"
|
|
210
|
+
action-text="Очистить поиск"
|
|
211
|
+
@click:action="query = ''"
|
|
212
|
+
/>
|
|
213
|
+
</div>
|
|
214
|
+
</template>
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
## Empty list
|
|
218
|
+
|
|
219
|
+
The first visit to a section is a reason not to apologize for the emptiness but to help the user start: `title` names the situation, `text` promises a result, and the button from `action-text` creates the first record. Once a record is added, the list replaces the placeholder.
|
|
220
|
+
|
|
221
|
+
**Example (SFC):**
|
|
222
|
+
|
|
223
|
+
```vue
|
|
224
|
+
<script setup lang="ts">
|
|
225
|
+
import { CdsButton, CdsEmptyState } from '@central-design-system/components';
|
|
226
|
+
import { ref } from 'vue';
|
|
227
|
+
|
|
228
|
+
const documents = ref<string[]>([]);
|
|
229
|
+
let counter = 0;
|
|
230
|
+
|
|
231
|
+
function addDocument() {
|
|
232
|
+
counter += 1;
|
|
233
|
+
documents.value.push(`Договор поставки № ${counter}`);
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
function removeDocument(index: number) {
|
|
237
|
+
documents.value.splice(index, 1);
|
|
238
|
+
}
|
|
239
|
+
</script>
|
|
240
|
+
|
|
241
|
+
<template>
|
|
242
|
+
<div class="m-auto w-[350px]">
|
|
243
|
+
<CdsEmptyState
|
|
244
|
+
v-if="!documents.length"
|
|
245
|
+
icon="doc"
|
|
246
|
+
title="У вас пока нет документов"
|
|
247
|
+
text="Добавьте первый документ — он появится в этом списке"
|
|
248
|
+
action-text="Добавить документ"
|
|
249
|
+
@click:action="addDocument"
|
|
250
|
+
/>
|
|
251
|
+
|
|
252
|
+
<div v-else class="flex flex-col gap-2">
|
|
253
|
+
<div v-for="(doc, index) in documents" :key="doc" class="flex items-center justify-between gap-2">
|
|
254
|
+
<span>{{ doc }}</span>
|
|
255
|
+
<CdsButton appearance="tertiary" size="sm" icon="delete" aria-label="Удалить" @click="removeDocument(index)" />
|
|
256
|
+
</div>
|
|
257
|
+
|
|
258
|
+
<div class="flex justify-center mt-2">
|
|
259
|
+
<CdsButton appearance="secondary" size="sm" prepend-icon="add" text="Добавить ещё" @click="addDocument" />
|
|
260
|
+
</div>
|
|
261
|
+
</div>
|
|
262
|
+
</div>
|
|
263
|
+
</template>
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
## Loading error
|
|
267
|
+
|
|
268
|
+
If the data failed to load, explain the reason and let the user retry right there. The button in the `actions` slot shows `loading` while the retry is in flight, and `props.onClick` from the slot keeps the `click:action` event.
|
|
269
|
+
|
|
270
|
+
**Example (SFC):**
|
|
271
|
+
|
|
272
|
+
```vue
|
|
273
|
+
<script setup lang="ts">
|
|
274
|
+
import { CdsButton, CdsEmptyState } from '@central-design-system/components';
|
|
275
|
+
import { ref } from 'vue';
|
|
276
|
+
|
|
277
|
+
const state = ref<'error' | 'loading' | 'success'>('error');
|
|
278
|
+
|
|
279
|
+
async function retry() {
|
|
280
|
+
state.value = 'loading';
|
|
281
|
+
|
|
282
|
+
await new Promise((resolve) => setTimeout(resolve, 1500));
|
|
283
|
+
|
|
284
|
+
state.value = 'success';
|
|
285
|
+
}
|
|
286
|
+
</script>
|
|
287
|
+
|
|
288
|
+
<template>
|
|
289
|
+
<div class="m-auto w-[350px]">
|
|
290
|
+
<CdsEmptyState
|
|
291
|
+
v-if="state !== 'success'"
|
|
292
|
+
icon="error"
|
|
293
|
+
title="Не удалось загрузить данные"
|
|
294
|
+
text="Проверьте соединение с интернетом и попробуйте ещё раз"
|
|
295
|
+
@click:action="retry"
|
|
296
|
+
>
|
|
297
|
+
<template #actions="{ props }">
|
|
298
|
+
<CdsButton v-bind="props" :loading="state === 'loading'" text="Повторить" />
|
|
299
|
+
</template>
|
|
300
|
+
</CdsEmptyState>
|
|
301
|
+
|
|
302
|
+
<div v-else class="flex flex-col items-center gap-2">
|
|
303
|
+
<span>Данные успешно загружены</span>
|
|
304
|
+
<CdsButton appearance="tertiary" size="sm" text="Сбросить демо" @click="state = 'error'" />
|
|
305
|
+
</div>
|
|
306
|
+
</div>
|
|
307
|
+
</template>
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
## 404 page
|
|
311
|
+
|
|
312
|
+
`headline` prints the large error code, and `href` (or `to` for vue-router) is passed to the action button — it works as a link and takes the user away from the dead-end page.
|
|
313
|
+
|
|
314
|
+
**Example (SFC):**
|
|
315
|
+
|
|
316
|
+
```vue
|
|
317
|
+
<script setup lang="ts">
|
|
318
|
+
import { CdsEmptyState } from '@central-design-system/components';
|
|
319
|
+
</script>
|
|
320
|
+
|
|
321
|
+
<template>
|
|
322
|
+
<CdsEmptyState
|
|
323
|
+
headline="404"
|
|
324
|
+
title="Страница не найдена"
|
|
325
|
+
text="Возможно, страница переехала или в адресе опечатка. Начните с главной страницы"
|
|
326
|
+
action-text="На главную"
|
|
327
|
+
href="/"
|
|
328
|
+
/>
|
|
329
|
+
</template>
|
|
330
|
+
```
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# CdsEmptyState — 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
|
+
| The text explains why the screen is empty, and the button offers a way out. | «Нет данных» не объясняет причину и не подсказывает, что делать дальше. |
|
|
9
|
+
| One primary action: it is clear what to do first. | Several equally weighted buttons make the user choose instead of act. |
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# CdsEmptyState — 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
|
+
## _CdsEmptyState.variables.scss
|
|
8
|
+
|
|
9
|
+
```scss
|
|
10
|
+
@use '../../../styles/tools';
|
|
11
|
+
|
|
12
|
+
$empty-state-min-height: 100% !default;
|
|
13
|
+
$empty-state-illustration-size: tools.to-rem(96px) !default;
|
|
14
|
+
$empty-state-padding: var(--cds-spacing-400) !default;
|
|
15
|
+
$empty-state-gap: var(--cds-spacing-400) !default;
|
|
16
|
+
$empty-state-media-color: rgb(var(--cds-color-content-primary)) !default;
|
|
17
|
+
$empty-state-headline-color: rgb(var(--cds-color-content-primary)) !default;
|
|
18
|
+
$empty-state-headline-margin-bottom: var(--cds-spacing-400) !default;
|
|
19
|
+
$empty-state-headline-mobile-font-size: var(--cds-font-size-700) !default;
|
|
20
|
+
$empty-state-title-margin-bottom: var(--cds-spacing-200) !default;
|
|
21
|
+
$empty-state-text-padding: 0 var(--cds-spacing-400) !default;
|
|
22
|
+
$empty-state-content-padding: var(--cds-spacing-600) 0 !default;
|
|
23
|
+
$empty-state-actions-gap: var(--cds-spacing-200) !default;
|
|
24
|
+
$empty-state-actions-padding: var(--cds-spacing-400) !default;
|
|
25
|
+
```
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# CdsExpandablePanel — 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 expandable panel hides the details behind a title: you see the list of topics and open only the one you need. Take it for FAQs, optional settings and long descriptions that turn a page into an endless feed.
|
|
7
|
+
|
|
8
|
+
Family: [CdsExpandablePanel](#cdsexpandablepanel) + subcomponents: [CdsExpandablePanelContent](#cdsexpandablepanelcontent), [CdsExpandablePanels](#cdsexpandablepanels), [CdsExpandablePanelTitle](#cdsexpandablepaneltitle).
|
|
9
|
+
|
|
10
|
+
## CdsExpandablePanel
|
|
11
|
+
|
|
12
|
+
**Props**
|
|
13
|
+
|
|
14
|
+
| Prop | Type | Default | Required | Description |
|
|
15
|
+
| --- | --- | --- | --- | --- |
|
|
16
|
+
| `collapseIcon` | `IconValue \| undefined` | `'chevron-up'` | no | Icon shown when the panel is expanded and can be collapsed |
|
|
17
|
+
| `disabled` | `boolean \| null \| undefined` | `null` | no | Disabled state |
|
|
18
|
+
| `eager` | `boolean \| undefined` | — | no | Renders the content of the component right away. Useful when you have content that is not in the DOM but has to be indexed for SEO. |
|
|
19
|
+
| `expandIcon` | `IconValue \| undefined` | `'chevron-down'` | no | Icon shown when the panel is collapsed and can be expanded |
|
|
20
|
+
| `focusable` | `boolean \| undefined` | — | no | Highlights the title with a background on focus |
|
|
21
|
+
| `height` | `string \| number \| undefined` | — | no | Component height |
|
|
22
|
+
| `hideActions` | `boolean \| undefined` | — | no | Hides the expand/collapse icon |
|
|
23
|
+
| `hover` | `boolean \| undefined` | `true` | no | Highlights the title with a background on hover |
|
|
24
|
+
| `maxHeight` | `string \| number \| undefined` | — | no | Maximum component height |
|
|
25
|
+
| `maxWidth` | `string \| number \| undefined` | — | no | Maximum component width |
|
|
26
|
+
| `minHeight` | `string \| number \| undefined` | — | no | Minimum component height |
|
|
27
|
+
| `minWidth` | `string \| number \| undefined` | — | no | Minimum component width |
|
|
28
|
+
| `readonly` | `boolean \| null \| undefined` | `null` | no | Read-only state |
|
|
29
|
+
| `selectedClass` | `string \| undefined` | — | no | CSS class applied in the selected state |
|
|
30
|
+
| `static` | `boolean \| undefined` | — | no | Turns off the animation of the title |
|
|
31
|
+
| `tag` | `string \| JSXComponent<any> \| undefined` | `'div'` | no | Custom HTML tag or component to render |
|
|
32
|
+
| `text` | `string \| undefined` | — | no | Text of the expandable content of the panel |
|
|
33
|
+
| `title` | `string \| undefined` | — | no | Text of the panel title |
|
|
34
|
+
| `value` | `any` | — | no | Value of the component within the group |
|
|
35
|
+
| `width` | `string \| number \| undefined` | — | no | Component width |
|
|
36
|
+
|
|
37
|
+
**Events**
|
|
38
|
+
|
|
39
|
+
| Name | Type | Description |
|
|
40
|
+
| --- | --- | --- |
|
|
41
|
+
| `group:selected` | `[value: { value: boolean; }]` | Fires when the panel is expanded or collapsed. |
|
|
42
|
+
|
|
43
|
+
**Slots**
|
|
44
|
+
|
|
45
|
+
| Name | Type | Description |
|
|
46
|
+
| --- | --- | --- |
|
|
47
|
+
| `default` | `any` | Arbitrary content of the panel. |
|
|
48
|
+
| `text` | `any` | Expandable content of the panel. |
|
|
49
|
+
| `title` | `any` | Content of the panel title. |
|
|
50
|
+
|
|
51
|
+
**Exposed**
|
|
52
|
+
|
|
53
|
+
| Name | Type | Description |
|
|
54
|
+
| --- | --- | --- |
|
|
55
|
+
| `isSelected` | `boolean` | The panel is expanded |
|
|
56
|
+
| `select` | `(value: boolean) => void` | Expands or collapses the panel |
|
|
57
|
+
| `toggle` | `() => void` | Toggles the expansion of the panel |
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## CdsExpandablePanelContent
|
|
62
|
+
|
|
63
|
+
**Props**
|
|
64
|
+
|
|
65
|
+
| Prop | Type | Default | Required | Description |
|
|
66
|
+
| --- | --- | --- | --- | --- |
|
|
67
|
+
| `eager` | `boolean \| undefined` | — | no | Renders the content of the component right away. Useful when you have content that is not in the DOM but has to be indexed for SEO. |
|
|
68
|
+
|
|
69
|
+
**Slots**
|
|
70
|
+
|
|
71
|
+
| Name | Type | Description |
|
|
72
|
+
| --- | --- | --- |
|
|
73
|
+
| `default` | `any` | Expandable content of the panel. |
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## CdsExpandablePanels
|
|
78
|
+
|
|
79
|
+
**Props**
|
|
80
|
+
|
|
81
|
+
| Prop | Type | Default | Required | Description |
|
|
82
|
+
| --- | --- | --- | --- | --- |
|
|
83
|
+
| `appearance` | `"primary" \| "secondary" \| "transparent" \| undefined` | `'primary'` | no | Appearance of the panels |
|
|
84
|
+
| `collapseIcon` | `IconValue \| undefined` | `'chevron-up'` | no | Icon shown when the panel is expanded and can be collapsed |
|
|
85
|
+
| `disabled` | `boolean \| null \| undefined` | `null` | no | Disabled state |
|
|
86
|
+
| `eager` | `boolean \| undefined` | — | no | Renders the content of the component right away. Useful when you have content that is not in the DOM but has to be indexed for SEO. |
|
|
87
|
+
| `expandIcon` | `IconValue \| undefined` | `'chevron-down'` | no | Icon shown when the panel is collapsed and can be expanded |
|
|
88
|
+
| `focusable` | `boolean \| undefined` | — | no | Highlights the title with a background on focus |
|
|
89
|
+
| `gap` | `string \| number \| undefined` | — | no | Spacing between the panels |
|
|
90
|
+
| `hideActions` | `boolean \| undefined` | — | no | Hides the expand/collapse icon |
|
|
91
|
+
| `hover` | `boolean \| undefined` | `true` | no | Highlights the title with a background on hover |
|
|
92
|
+
| `mandatory` | `boolean \| "force" \| undefined` | — | no | Requires at least one item to stay selected |
|
|
93
|
+
| `max` | `number \| undefined` | — | no | Maximum number of items that can be selected |
|
|
94
|
+
| `modelValue` | `any` | — | no | Value of the selected items of the group |
|
|
95
|
+
| `multiple` | `boolean \| undefined` | — | no | Allows selecting several items at once |
|
|
96
|
+
| `readonly` | `boolean \| null \| undefined` | `null` | no | Read-only state |
|
|
97
|
+
| `required` | `boolean \| "force" \| undefined` | — | no | Requires at least one item to stay selected |
|
|
98
|
+
| `selectedClass` | `string \| undefined` | — | no | CSS class applied in the selected state |
|
|
99
|
+
| `static` | `boolean \| undefined` | — | no | Turns off the animation of the title |
|
|
100
|
+
| `tag` | `string \| JSXComponent<any> \| undefined` | `'div'` | no | Custom HTML tag or component to render |
|
|
101
|
+
| `theme` | `string \| undefined` | — | no | Component theme |
|
|
102
|
+
| `variant` | `"default" \| "accordion" \| undefined` | `'default'` | no | Display variant of the panel group |
|
|
103
|
+
|
|
104
|
+
**Events**
|
|
105
|
+
|
|
106
|
+
| Name | Type | Description |
|
|
107
|
+
| --- | --- | --- |
|
|
108
|
+
| `update:modelValue` | `[value: unknown]` | Fires when the set of selected panels changes. |
|
|
109
|
+
|
|
110
|
+
**Slots**
|
|
111
|
+
|
|
112
|
+
| Name | Type | Description |
|
|
113
|
+
| --- | --- | --- |
|
|
114
|
+
| `default` | `CdsExpandablePanelsSlotProps` | Panels of the group. The slot props carry the navigation between panels. |
|
|
115
|
+
|
|
116
|
+
**Exposed**
|
|
117
|
+
|
|
118
|
+
| Name | Type | Description |
|
|
119
|
+
| --- | --- | --- |
|
|
120
|
+
| `next` | `() => void` | Expands the next panel |
|
|
121
|
+
| `prev` | `() => void` | Expands the previous panel |
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## CdsExpandablePanelTitle
|
|
126
|
+
|
|
127
|
+
**Props**
|
|
128
|
+
|
|
129
|
+
| Prop | Type | Default | Required | Description |
|
|
130
|
+
| --- | --- | --- | --- | --- |
|
|
131
|
+
| `collapseIcon` | `IconValue \| undefined` | `'chevron-up'` | no | Icon shown when the panel is expanded and can be collapsed |
|
|
132
|
+
| `expandIcon` | `IconValue \| undefined` | `'chevron-down'` | no | Icon shown when the panel is collapsed and can be expanded |
|
|
133
|
+
| `focusable` | `boolean \| undefined` | — | no | Highlights the title with a background on focus |
|
|
134
|
+
| `height` | `string \| number \| undefined` | — | no | Component height |
|
|
135
|
+
| `hideActions` | `boolean \| undefined` | — | no | Hides the expand/collapse icon |
|
|
136
|
+
| `hover` | `boolean \| undefined` | `true` | no | Highlights the title with a background on hover |
|
|
137
|
+
| `maxHeight` | `string \| number \| undefined` | — | no | Maximum component height |
|
|
138
|
+
| `maxWidth` | `string \| number \| undefined` | — | no | Maximum component width |
|
|
139
|
+
| `minHeight` | `string \| number \| undefined` | — | no | Minimum component height |
|
|
140
|
+
| `minWidth` | `string \| number \| undefined` | — | no | Minimum component width |
|
|
141
|
+
| `readonly` | `boolean \| null \| undefined` | `null` | no | Read-only state |
|
|
142
|
+
| `static` | `boolean \| undefined` | — | no | Turns off the animation of the title |
|
|
143
|
+
| `width` | `string \| number \| undefined` | — | no | Component width |
|
|
144
|
+
|
|
145
|
+
**Slots**
|
|
146
|
+
|
|
147
|
+
| Name | Type | Description |
|
|
148
|
+
| --- | --- | --- |
|
|
149
|
+
| `action` | `CdsExpandablePanelTitleSlotProps` | Expand/collapse icon. The slot props carry the state of the panel. |
|
|
150
|
+
| `default` | `CdsExpandablePanelTitleSlotProps` | Content of the title. The slot props carry the state of the panel. |
|
|
151
|
+
|
|
152
|
+
**Exposed**
|
|
153
|
+
|
|
154
|
+
| Name | Type | Description |
|
|
155
|
+
| --- | --- | --- |
|
|
156
|
+
| `isSelected` | `boolean` | The panel is expanded |
|
|
157
|
+
| `toggle` | `() => void` | Toggles the expansion of the panel |
|