@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,327 @@
|
|
|
1
|
+
# CdsTextArea — usage examples
|
|
2
|
+
|
|
3
|
+
> Extracted from Storybook stories (`docs/*.stories.ts`) by `bun run generate:skill`. Do not edit manually.
|
|
4
|
+
> The full component contract is in [api.md](api.md). `v-bind="args"` in templates refers to the props from the **Args** block of the corresponding example.
|
|
5
|
+
|
|
6
|
+
A text area is a field for multiline text: a comment, a description, a support request. Around the native `textarea` the component gathers everything a form needs: a label, a description, hints, error messages, clearing and a character counter, and with `auto-grow` it grows together with the text.
|
|
7
|
+
|
|
8
|
+
## Label and description
|
|
9
|
+
|
|
10
|
+
The `label` prop names the field, `description` adds a supporting text under the label. The slots of the same name accept arbitrary markup.
|
|
11
|
+
|
|
12
|
+
**Example (SFC):**
|
|
13
|
+
|
|
14
|
+
```vue
|
|
15
|
+
<script setup lang="ts">
|
|
16
|
+
import { CdsTextArea } from '@central-design-system/components';
|
|
17
|
+
</script>
|
|
18
|
+
|
|
19
|
+
<template>
|
|
20
|
+
<CdsTextArea
|
|
21
|
+
label="Заголовок"
|
|
22
|
+
description="Описание для элемента формы или вспомогательный текст"
|
|
23
|
+
placeholder="Введите текст"
|
|
24
|
+
class="max-w-sm m-auto"
|
|
25
|
+
/>
|
|
26
|
+
</template>
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Number of rows
|
|
30
|
+
|
|
31
|
+
The `rows` prop sets the height of the area in rows — 5 by default. Choose the height to match the expected length of the answer: two or three rows are enough for a comment.
|
|
32
|
+
|
|
33
|
+
**Example (SFC):**
|
|
34
|
+
|
|
35
|
+
```vue
|
|
36
|
+
<script setup lang="ts">
|
|
37
|
+
import { CdsTextArea } from '@central-design-system/components';
|
|
38
|
+
</script>
|
|
39
|
+
|
|
40
|
+
<template>
|
|
41
|
+
<div class="max-w-sm m-auto">
|
|
42
|
+
<CdsTextArea label="rows: 2" :rows="2" placeholder="Введите текст" />
|
|
43
|
+
<CdsTextArea label="rows: 5 (по умолчанию)" placeholder="Введите текст" />
|
|
44
|
+
<CdsTextArea label="rows: 8" :rows="8" placeholder="Введите текст" />
|
|
45
|
+
</div>
|
|
46
|
+
</template>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Automatic height
|
|
50
|
+
|
|
51
|
+
The `auto-grow` prop increases the height of the area as you type — the text does not have to be scrolled. `max-rows` limits the growth by a number of rows, `max-height` — by a height in pixels; beyond that a scrollbar appears.
|
|
52
|
+
|
|
53
|
+
**Example (SFC):**
|
|
54
|
+
|
|
55
|
+
```vue
|
|
56
|
+
<script setup lang="ts">
|
|
57
|
+
import { CdsTextArea } from '@central-design-system/components';
|
|
58
|
+
import { ref } from 'vue';
|
|
59
|
+
|
|
60
|
+
const value = ref('Съешь ещё этих мягких французских булок,\nда выпей чаю.');
|
|
61
|
+
</script>
|
|
62
|
+
|
|
63
|
+
<template>
|
|
64
|
+
<div class="max-w-sm m-auto">
|
|
65
|
+
<CdsTextArea v-model="value" label="autoGrow" auto-grow :rows="2" placeholder="Начните вводить текст" />
|
|
66
|
+
<CdsTextArea
|
|
67
|
+
v-model="value"
|
|
68
|
+
label="autoGrow + maxRows: 4"
|
|
69
|
+
auto-grow
|
|
70
|
+
:rows="2"
|
|
71
|
+
:max-rows="4"
|
|
72
|
+
placeholder="Начните вводить текст"
|
|
73
|
+
/>
|
|
74
|
+
</div>
|
|
75
|
+
</template>
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Resizing
|
|
79
|
+
|
|
80
|
+
By default the user can stretch the area by its bottom right corner. The `no-resize` prop turns that off; with `auto-grow` manual resizing is disabled automatically.
|
|
81
|
+
|
|
82
|
+
**Example (SFC):**
|
|
83
|
+
|
|
84
|
+
```vue
|
|
85
|
+
<script setup lang="ts">
|
|
86
|
+
import { CdsTextArea } from '@central-design-system/components';
|
|
87
|
+
</script>
|
|
88
|
+
|
|
89
|
+
<template>
|
|
90
|
+
<div class="max-w-sm m-auto">
|
|
91
|
+
<CdsTextArea label="Обычная область (resize доступен)" :rows="3" placeholder="Введите текст" />
|
|
92
|
+
<CdsTextArea label="noResize" no-resize :rows="3" placeholder="Введите текст" />
|
|
93
|
+
</div>
|
|
94
|
+
</template>
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Clearing
|
|
98
|
+
|
|
99
|
+
The `clearable` prop shows the clear icon on hover or focus, `persistent-clearable` keeps it visible at all times.
|
|
100
|
+
|
|
101
|
+
**Example (SFC):**
|
|
102
|
+
|
|
103
|
+
```vue
|
|
104
|
+
<script setup lang="ts">
|
|
105
|
+
import { CdsTextArea } from '@central-design-system/components';
|
|
106
|
+
import { ref } from 'vue';
|
|
107
|
+
|
|
108
|
+
const value = ref('Очисти меня!');
|
|
109
|
+
</script>
|
|
110
|
+
|
|
111
|
+
<template>
|
|
112
|
+
<CdsTextArea
|
|
113
|
+
v-model="value"
|
|
114
|
+
placeholder="Введите значение"
|
|
115
|
+
hint="Это поле можно очистить"
|
|
116
|
+
clearable
|
|
117
|
+
persistent-clearable
|
|
118
|
+
:rows="3"
|
|
119
|
+
class="max-w-sm m-auto"
|
|
120
|
+
/>
|
|
121
|
+
</template>
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Counter
|
|
125
|
+
|
|
126
|
+
The `counter` prop shows a character counter: `true` — without a limit, a number — with a limit. `counter-value` accepts your own counting formula, `persistent-counter` keeps the counter visible outside of focus. To make the limit impossible to exceed, add the `maxlength` attribute.
|
|
127
|
+
|
|
128
|
+
**Example (SFC):**
|
|
129
|
+
|
|
130
|
+
```vue
|
|
131
|
+
<script setup lang="ts">
|
|
132
|
+
import { CdsTextArea } from '@central-design-system/components';
|
|
133
|
+
|
|
134
|
+
const wordCount = (value: unknown) => (value ?? '').toString().trim().split(/\s+/).filter(Boolean).length;
|
|
135
|
+
</script>
|
|
136
|
+
|
|
137
|
+
<template>
|
|
138
|
+
<div class="max-w-sm m-auto">
|
|
139
|
+
<CdsTextArea label="counter true" placeholder="Просто счётчик" counter :rows="3" />
|
|
140
|
+
<CdsTextArea label="counter с лимитом" placeholder="До 200 символов" counter="200" maxlength="200" :rows="3" />
|
|
141
|
+
<CdsTextArea label="persistentCounter" placeholder="Счётчик всегда виден" counter persistent-counter :rows="3" />
|
|
142
|
+
<CdsTextArea
|
|
143
|
+
label="counterValue (слова)"
|
|
144
|
+
placeholder="Считаем слова"
|
|
145
|
+
counter
|
|
146
|
+
:counter-value="wordCount"
|
|
147
|
+
:rows="3"
|
|
148
|
+
/>
|
|
149
|
+
</div>
|
|
150
|
+
</template>
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## States
|
|
154
|
+
|
|
155
|
+
`disabled` blocks the input and lowers the contrast, `readonly` forbids changes but keeps focus and copying, `loading` shows a loading indicator — as a bar or as a circle (`loading="circle"`).
|
|
156
|
+
|
|
157
|
+
**Example (SFC):**
|
|
158
|
+
|
|
159
|
+
```vue
|
|
160
|
+
<script setup lang="ts">
|
|
161
|
+
import { CdsTextArea } from '@central-design-system/components';
|
|
162
|
+
</script>
|
|
163
|
+
|
|
164
|
+
<template>
|
|
165
|
+
<div class="max-w-sm m-auto">
|
|
166
|
+
<CdsTextArea label="Disabled" model-value="Значение" :rows="2" disabled />
|
|
167
|
+
<CdsTextArea label="Readonly" model-value="Только для чтения" :rows="2" readonly />
|
|
168
|
+
<CdsTextArea label="Loading" model-value="Загрузка" :rows="2" loading />
|
|
169
|
+
<CdsTextArea label="Loading circle" model-value="Загрузка" :rows="2" loading="circle" />
|
|
170
|
+
</div>
|
|
171
|
+
</template>
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
## Sending a request
|
|
175
|
+
|
|
176
|
+
The form is made of `CdsForm`, a short subject in a text field and the message in a text area. The `rules` prop checks that the message is detailed enough, and `counter` together with `maxlength` show the limit upfront. The button gets `loading` for the duration of the request.
|
|
177
|
+
|
|
178
|
+
**Example (SFC):**
|
|
179
|
+
|
|
180
|
+
```vue
|
|
181
|
+
<script setup lang="ts">
|
|
182
|
+
import {
|
|
183
|
+
CdsButton,
|
|
184
|
+
CdsForm,
|
|
185
|
+
CdsTextArea,
|
|
186
|
+
CdsTextInput,
|
|
187
|
+
type SubmitEventPromise
|
|
188
|
+
} from '@central-design-system/components';
|
|
189
|
+
import { ref } from 'vue';
|
|
190
|
+
|
|
191
|
+
const subject = ref('');
|
|
192
|
+
const message = ref('');
|
|
193
|
+
const loading = ref(false);
|
|
194
|
+
const sent = ref(false);
|
|
195
|
+
|
|
196
|
+
const rules = {
|
|
197
|
+
subject: [(value: string) => !!value || 'Введите тему обращения'],
|
|
198
|
+
message: [
|
|
199
|
+
(value: string) => !!value || 'Опишите вопрос',
|
|
200
|
+
(value: string) => value.trim().length >= 20 || 'Расскажите подробнее — не меньше 20 символов'
|
|
201
|
+
]
|
|
202
|
+
};
|
|
203
|
+
|
|
204
|
+
async function onSubmit(event: SubmitEventPromise) {
|
|
205
|
+
sent.value = false;
|
|
206
|
+
|
|
207
|
+
const { valid } = await event;
|
|
208
|
+
|
|
209
|
+
if (!valid) return;
|
|
210
|
+
|
|
211
|
+
loading.value = true;
|
|
212
|
+
|
|
213
|
+
setTimeout(() => {
|
|
214
|
+
loading.value = false;
|
|
215
|
+
sent.value = true;
|
|
216
|
+
}, 1500);
|
|
217
|
+
}
|
|
218
|
+
</script>
|
|
219
|
+
|
|
220
|
+
<template>
|
|
221
|
+
<CdsForm class="flex flex-col gap-2 w-[350px] m-auto" @submit.prevent="onSubmit">
|
|
222
|
+
<CdsTextInput v-model="subject" :rules="rules.subject" label="Тема" placeholder="Кратко о сути вопроса" />
|
|
223
|
+
<CdsTextArea
|
|
224
|
+
v-model="message"
|
|
225
|
+
:rules="rules.message"
|
|
226
|
+
label="Сообщение"
|
|
227
|
+
placeholder="Что случилось и как это воспроизвести"
|
|
228
|
+
:rows="4"
|
|
229
|
+
counter="500"
|
|
230
|
+
maxlength="500"
|
|
231
|
+
/>
|
|
232
|
+
<div class="mt-2">
|
|
233
|
+
<CdsButton :loading="loading" type="submit">Отправить</CdsButton>
|
|
234
|
+
</div>
|
|
235
|
+
<div v-if="sent" class="text-sm text-content-secondary">Сообщение отправлено — ответим в течение дня.</div>
|
|
236
|
+
</CdsForm>
|
|
237
|
+
</template>
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
## A comment in a discussion
|
|
241
|
+
|
|
242
|
+
A compact comment field: `rows="1"` and `auto-grow` with `max-rows` — the area starts with a single row and grows together with the text, `hide-details` removes the bottom block. The send button is a `CdsFunctionalButton` in the `append-inner` slot; Enter sends the comment, Shift+Enter inserts a line break.
|
|
243
|
+
|
|
244
|
+
**Example (SFC):**
|
|
245
|
+
|
|
246
|
+
```vue
|
|
247
|
+
<script setup lang="ts">
|
|
248
|
+
import { CdsFunctionalButton, CdsTextArea } from '@central-design-system/components';
|
|
249
|
+
import { ref } from 'vue';
|
|
250
|
+
|
|
251
|
+
const draft = ref('');
|
|
252
|
+
const comments = ref(['Отличная идея, поддерживаю.']);
|
|
253
|
+
|
|
254
|
+
const send = () => {
|
|
255
|
+
const text = draft.value.trim();
|
|
256
|
+
|
|
257
|
+
if (!text) return;
|
|
258
|
+
|
|
259
|
+
comments.value.push(text);
|
|
260
|
+
draft.value = '';
|
|
261
|
+
};
|
|
262
|
+
</script>
|
|
263
|
+
|
|
264
|
+
<template>
|
|
265
|
+
<div class="flex w-full max-w-md flex-col gap-3 m-auto">
|
|
266
|
+
<ul class="m-0 flex list-none flex-col gap-1 p-0">
|
|
267
|
+
<li v-for="(comment, index) in comments" :key="index">{{ comment }}</li>
|
|
268
|
+
</ul>
|
|
269
|
+
|
|
270
|
+
<CdsTextArea
|
|
271
|
+
v-model="draft"
|
|
272
|
+
placeholder="Написать комментарий"
|
|
273
|
+
auto-grow
|
|
274
|
+
:rows="1"
|
|
275
|
+
:max-rows="6"
|
|
276
|
+
hide-details
|
|
277
|
+
@keydown.enter.exact.prevent="send"
|
|
278
|
+
>
|
|
279
|
+
<template #append-inner>
|
|
280
|
+
<CdsFunctionalButton icon="arrow-up" aria-label="Отправить комментарий" @click="send" />
|
|
281
|
+
</template>
|
|
282
|
+
</CdsTextArea>
|
|
283
|
+
</div>
|
|
284
|
+
</template>
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
## An error from the server
|
|
288
|
+
|
|
289
|
+
The server response goes into `error-messages` as is — validation through `rules` is not needed for that. Reset the error when the value changes, so that the field does not complain about a text that is already fixed.
|
|
290
|
+
|
|
291
|
+
**Example (SFC):**
|
|
292
|
+
|
|
293
|
+
```vue
|
|
294
|
+
<script setup lang="ts">
|
|
295
|
+
import { CdsButton, CdsTextArea } from '@central-design-system/components';
|
|
296
|
+
import { ref } from 'vue';
|
|
297
|
+
|
|
298
|
+
const description = ref('Надёжная компания, подробности на example.com');
|
|
299
|
+
const loading = ref(false);
|
|
300
|
+
const serverErrors = ref<string[]>([]);
|
|
301
|
+
|
|
302
|
+
const publish = async () => {
|
|
303
|
+
loading.value = true;
|
|
304
|
+
serverErrors.value = [];
|
|
305
|
+
|
|
306
|
+
// Имитация ответа сервера
|
|
307
|
+
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
308
|
+
|
|
309
|
+
loading.value = false;
|
|
310
|
+
serverErrors.value = ['Уберите ссылки из описания — модерация их не пропустит'];
|
|
311
|
+
};
|
|
312
|
+
</script>
|
|
313
|
+
|
|
314
|
+
<template>
|
|
315
|
+
<form class="flex w-full max-w-md flex-col gap-4 m-auto" @submit.prevent="publish">
|
|
316
|
+
<CdsTextArea
|
|
317
|
+
v-model="description"
|
|
318
|
+
label="Описание компании"
|
|
319
|
+
:rows="3"
|
|
320
|
+
:error-messages="serverErrors"
|
|
321
|
+
@update:model-value="serverErrors = []"
|
|
322
|
+
/>
|
|
323
|
+
|
|
324
|
+
<CdsButton class="self-start" type="submit" text="Опубликовать" :loading="loading" />
|
|
325
|
+
</form>
|
|
326
|
+
</template>
|
|
327
|
+
```
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# CdsTextArea — 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 height of the area hints at the expected length: two or three rows are enough for a comment. | An area too tall for a short answer looks like a demand to write an essay. |
|
|
9
|
+
| A counter with a limit shows the restriction upfront, and maxlength keeps it from being exceeded. | An error after the input forces the user to cut down text that is already written. |
|
|
10
|
+
| For a short single-line value use a text field. | A text area for the subject of a request takes up space and hints at a long answer. |
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# CdsTextArea — 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
|
+
## _CdsTextArea.variables.scss
|
|
8
|
+
|
|
9
|
+
```scss
|
|
10
|
+
@use '../../../styles/settings';
|
|
11
|
+
|
|
12
|
+
$text-area-affix-color: rgb(var(--cds-color-content-tertiary)) !default;
|
|
13
|
+
$text-area-padding-start: var(--cds-spacing-100) !default;
|
|
14
|
+
$text-area-padding-end: 0 !default;
|
|
15
|
+
$text-area-padding-block: var(--cds-spacing-100) !default;
|
|
16
|
+
```
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# CdsTextInput — API
|
|
2
|
+
|
|
3
|
+
> Generated from meta.json by `bun run generate:skill`. Do not edit manually.
|
|
4
|
+
> Examples: [examples.md](examples.md) · Guidelines: [guidelines.md](guidelines.md) · Tokens: [tokens.md](tokens.md)
|
|
5
|
+
|
|
6
|
+
A text field is the basic way to get data from the user: a name, an email, an amount, a search query. Around the native `input` the component gathers everything a form needs: a label, a description, hints, error messages, icons, clearing and a character counter.
|
|
7
|
+
|
|
8
|
+
## CdsTextInput
|
|
9
|
+
|
|
10
|
+
**Props**
|
|
11
|
+
|
|
12
|
+
| Prop | Type | Default | Required | Description |
|
|
13
|
+
| --- | --- | --- | --- | --- |
|
|
14
|
+
| `active` | `boolean \| undefined` | — | no | Active state of the field |
|
|
15
|
+
| `activeColor` | `string \| undefined` | — | no | Color of the component in its active state |
|
|
16
|
+
| `appendIcon` | `IconValue \| undefined` | — | no | Icon in the append slot, after the content |
|
|
17
|
+
| `appendInnerIcon` | `IconValue \| undefined` | — | no | Icon in the inner append slot, after the content of the field |
|
|
18
|
+
| `autocomplete` | `string \| undefined` | — | no | Helps to influence browser suggestions. The `suppress` value changes the name attribute of the fields, and `off` relies on the browser to stop suggesting values on its own. Any other value is passed to the built-in autocomplete of the corresponding element. |
|
|
19
|
+
| `autofocus` | `boolean \| undefined` | — | no | Enables autofocus |
|
|
20
|
+
| `baseColor` | `string \| undefined` | — | no | Color of the component in its inactive state |
|
|
21
|
+
| `bgColor` | `string \| undefined` | — | no | Background color of the component |
|
|
22
|
+
| `centerAffix` | `boolean \| undefined` | — | no | Vertically center the appendInner, prependInner, clearIcon and label elements. |
|
|
23
|
+
| `clearable` | `boolean \| undefined` | — | no | Shows the clear button |
|
|
24
|
+
| `clearIcon` | `IconValue \| undefined` | `'remove'` | no | Icon of the clear button |
|
|
25
|
+
| `color` | `string \| undefined` | — | no | Component color |
|
|
26
|
+
| `counter` | `string \| number \| boolean \| undefined` | — | no | Character counter. Accepts a boolean, a number or a string |
|
|
27
|
+
| `counterValue` | `number \| ((value: any) => number) \| undefined` | — | no | Custom counter value. Either a number or a function computing it from the current value |
|
|
28
|
+
| `description` | `string \| undefined` | — | no | Description of the component, shown under the label |
|
|
29
|
+
| `dirty` | `boolean \| undefined` | — | no | Marks that the value of the field was changed by the user |
|
|
30
|
+
| `disabled` | `boolean \| null \| undefined` | `null` | no | Disabled state |
|
|
31
|
+
| `error` | `boolean \| undefined` | — | no | Error state |
|
|
32
|
+
| `errorMessages` | `string \| readonly string[] \| null \| undefined` | `[]` | no | Puts the component into the error state and passes custom error messages. They are merged with any checks defined in the `rules` prop. This field does not trigger validation. |
|
|
33
|
+
| `focused` | `boolean \| undefined` | — | no | Controls the focus state of the component. When `true`, the component is considered focused and may apply the corresponding styles or behavior. |
|
|
34
|
+
| `hideDetails` | `boolean \| "auto" \| undefined` | — | no | Hides the details block (messages and hints). With the 'auto' value the block is hidden when there are no messages |
|
|
35
|
+
| `hideMessages` | `boolean \| undefined` | — | no | Hide the messages under the input |
|
|
36
|
+
| `hint` | `string \| undefined` | — | no | Hint text shown under the input |
|
|
37
|
+
| `iconColor` | `string \| boolean \| undefined` | — | no | Icon color. Accepts a boolean or a color string |
|
|
38
|
+
| `id` | `string \| undefined` | — | no | Unique identifier of the component |
|
|
39
|
+
| `label` | `string \| undefined` | — | no | Label text of the component |
|
|
40
|
+
| `loading` | `string \| boolean \| undefined` | — | no | Loading indicator for the component |
|
|
41
|
+
| `maxErrors` | `string \| number \| undefined` | `1` | no | Maximum number of validation errors shown |
|
|
42
|
+
| `maxWidth` | `string \| number \| undefined` | — | no | Maximum component width |
|
|
43
|
+
| `messages` | `string \| readonly string[] \| undefined` | `[]` | no | Messages shown under the input |
|
|
44
|
+
| `minWidth` | `string \| number \| undefined` | — | no | Minimum component width |
|
|
45
|
+
| `modelModifiers` | `Record<string, boolean> \| undefined` | — | no | v-model modifiers passed by Vue to process the field value |
|
|
46
|
+
| `modelValue` | `any` | — | no | Value of the component in v-model. If the component supports the multiple prop, an empty array is used by default. |
|
|
47
|
+
| `name` | `string \| undefined` | — | no | Name of the input |
|
|
48
|
+
| `persistentClearable` | `boolean \| undefined` | — | no | Always show the clear button, not only on hover or focus |
|
|
49
|
+
| `persistentCounter` | `boolean \| undefined` | — | no | Always show the counter, not only while the field is in use |
|
|
50
|
+
| `persistentHint` | `boolean \| undefined` | — | no | Always show the hint, not only on focus |
|
|
51
|
+
| `persistentPlaceholder` | `boolean \| undefined` | — | no | Always show the placeholder instead of hiding it while the field is in use |
|
|
52
|
+
| `placeholder` | `string \| undefined` | — | no | Placeholder text shown in an empty field |
|
|
53
|
+
| `prefix` | `string \| undefined` | — | no | Text prefix shown before the field value |
|
|
54
|
+
| `prependIcon` | `IconValue \| undefined` | — | no | Icon in the prepend slot, before the content |
|
|
55
|
+
| `prependInnerIcon` | `IconValue \| undefined` | — | no | Icon in the inner prepend slot, before the content of the field |
|
|
56
|
+
| `readonly` | `boolean \| null \| undefined` | `null` | no | Read-only state |
|
|
57
|
+
| `reverse` | `boolean \| undefined` | — | no | Reverses the order of the elements inside the field |
|
|
58
|
+
| `role` | `string \| undefined` | — | no | ARIA role for the native input element |
|
|
59
|
+
| `rules` | `readonly ValidationRule[] \| undefined` | `[]` | no | Accepts an array of items of different types: functions, booleans and strings. Functions take the input value as an argument and must return either true / false, or a string with an error message. The input goes into the error state if a function returns false (or any value in the array is false) or is a string. |
|
|
60
|
+
| `size` | `number \| "xs" \| "sm" \| "md" \| "lg" \| "xl" \| undefined` | `'md'` | no | Size of the component |
|
|
61
|
+
| `suffix` | `string \| undefined` | — | no | Text suffix shown after the field value |
|
|
62
|
+
| `textColor` | `string \| undefined` | — | no | Text color of the component |
|
|
63
|
+
| `theme` | `string \| undefined` | — | no | Component theme |
|
|
64
|
+
| `type` | `string \| undefined` | `'text'` | no | Type of the native input |
|
|
65
|
+
| `validateOn` | `ValidateOn \| undefined` | — | no | Changes the type of the event that triggers validation |
|
|
66
|
+
| `validationValue` | `any` | — | no | Value used when applying the validation rules |
|
|
67
|
+
| `width` | `string \| number \| undefined` | — | no | Component width |
|
|
68
|
+
|
|
69
|
+
**Events**
|
|
70
|
+
|
|
71
|
+
| Name | Type | Description |
|
|
72
|
+
| --- | --- | --- |
|
|
73
|
+
| `click:append` | `[e: MouseEvent]` | Click on the outer append icon (`append-icon` prop) |
|
|
74
|
+
| `click:appendInner` | `[e: MouseEvent]` | Click on the inner append icon (`append-inner-icon` prop) |
|
|
75
|
+
| `click:clear` | `[e: MouseEvent]` | Click on the clear icon (`clearable`); fires after the value has been reset |
|
|
76
|
+
| `click:control` | `[e: MouseEvent]` | Fires on a click in the main area of the control |
|
|
77
|
+
| `click:prepend` | `[e: MouseEvent]` | Click on the outer prepend icon (`prepend-icon` prop) |
|
|
78
|
+
| `click:prependInner` | `[e: MouseEvent]` | Click on the inner prepend icon (`prepend-inner-icon` prop) |
|
|
79
|
+
| `mousedown:control` | `[e: MouseEvent]` | Fires on a mouse button press in the main area of the control |
|
|
80
|
+
| `update:focused` | `[focused: boolean]` | Fires when the element gains or loses focus |
|
|
81
|
+
| `update:modelValue` | `[value: string]` | Fires when the model of the component changes |
|
|
82
|
+
|
|
83
|
+
**Slots**
|
|
84
|
+
|
|
85
|
+
| Name | Type | Description |
|
|
86
|
+
| --- | --- | --- |
|
|
87
|
+
| `append` | `CdsInputSlot` | Adds an element after the input |
|
|
88
|
+
| `append-inner` | `CdsInputDefaultSlot` | Slot added at the end of the input |
|
|
89
|
+
| `clear` | `CdsInputDefaultSlot & { props: Record<string, any>; }` | Slot for a custom clear icon (shown when the clearable prop is true). |
|
|
90
|
+
| `counter` | `CdsCounterSlot` | Slot for a custom counter |
|
|
91
|
+
| `default` | `{ id: Readonly<Ref<string, string>>; }` | Default slot |
|
|
92
|
+
| `description` | `{ description: string \| undefined; props: Record<string, any>; }` | Default slot of the CdsDescription component |
|
|
93
|
+
| `details` | `CdsInputSlot` | Slot for custom content that lets you customize how the messages are displayed |
|
|
94
|
+
| `label` | `{ label: string \| undefined; props: Record<string, any>; }` | Default slot of the CdsLabel component |
|
|
95
|
+
| `loader` | `LoaderSlotProps` | Slot for a custom loader (shown when the loading prop is true). |
|
|
96
|
+
| `message` | `CdsMessagesSlots` | Slot for customizing the content of a message |
|
|
97
|
+
| `messages` | `CdsInputSlot` | Slot for custom content that lets you customize how the messages are displayed |
|
|
98
|
+
| `prepend` | `CdsInputSlot` | Adds an element before the input |
|
|
99
|
+
| `prepend-inner` | `CdsInputDefaultSlot` | Slot added at the start of the input |
|
|
100
|
+
|
|
101
|
+
**Exposed**
|
|
102
|
+
|
|
103
|
+
| Name | Type | Description |
|
|
104
|
+
| --- | --- | --- |
|
|
105
|
+
| `controlRef` | `HTMLElement \| undefined` | Ref to the control of the input |
|
|
106
|
+
| `fieldIconColor` | `string \| undefined` | Icon color |
|
|
107
|
+
| `isDirty` | `boolean` | Whether the input is dirty |
|
|
108
|
+
| `isDisabled` | `boolean` | Whether the input is disabled |
|
|
109
|
+
| `isPure` | `boolean` | Whether the input is pure |
|
|
110
|
+
| `isReadonly` | `boolean` | Whether the input is read-only |
|
|
111
|
+
| `isValid` | `boolean \| null` | Whether the input is valid |
|
|
112
|
+
| `isValidating` | `boolean` | Whether the input is being validated |
|
|
113
|
+
| `reset` | `() => Promise<void>` | Resets the input to its initial state |
|
|
114
|
+
| `resetValidation` | `() => Promise<void>` | Resets the validation of the input |
|
|
115
|
+
| `validate` | `(silent?: boolean) => Promise<string[]>` | Validates the input |
|