@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.
Files changed (321) hide show
  1. package/.claude-plugin/plugin.json +6 -0
  2. package/README.md +218 -0
  3. package/bin/cds-skills.mjs +124 -0
  4. package/package.json +33 -0
  5. package/skills/cds-builder/GENERATION.md +44 -0
  6. package/skills/cds-builder/SKILL.md +308 -0
  7. package/skills/cds-builder/references/component-decision-tree.md +310 -0
  8. package/skills/cds-builder/references/components/cds-app/api.md +19 -0
  9. package/skills/cds-builder/references/components/cds-app/tokens.md +12 -0
  10. package/skills/cds-builder/references/components/cds-autocomplete/api.md +155 -0
  11. package/skills/cds-builder/references/components/cds-autocomplete/examples.md +447 -0
  12. package/skills/cds-builder/references/components/cds-autocomplete/guidelines.md +10 -0
  13. package/skills/cds-builder/references/components/cds-autocomplete/tokens.md +19 -0
  14. package/skills/cds-builder/references/components/cds-avatar/api.md +35 -0
  15. package/skills/cds-builder/references/components/cds-avatar/examples.md +240 -0
  16. package/skills/cds-builder/references/components/cds-avatar/guidelines.md +10 -0
  17. package/skills/cds-builder/references/components/cds-avatar/tokens.md +32 -0
  18. package/skills/cds-builder/references/components/cds-badge/api.md +44 -0
  19. package/skills/cds-builder/references/components/cds-badge/examples.md +332 -0
  20. package/skills/cds-builder/references/components/cds-badge/guidelines.md +10 -0
  21. package/skills/cds-builder/references/components/cds-badge/tokens.md +32 -0
  22. package/skills/cds-builder/references/components/cds-breadcrumbs/api.md +83 -0
  23. package/skills/cds-builder/references/components/cds-breadcrumbs/examples.md +219 -0
  24. package/skills/cds-builder/references/components/cds-breadcrumbs/guidelines.md +10 -0
  25. package/skills/cds-builder/references/components/cds-breadcrumbs/tokens.md +24 -0
  26. package/skills/cds-builder/references/components/cds-button/api.md +66 -0
  27. package/skills/cds-builder/references/components/cds-button/examples.md +324 -0
  28. package/skills/cds-builder/references/components/cds-button/guidelines.md +10 -0
  29. package/skills/cds-builder/references/components/cds-button/tokens.md +190 -0
  30. package/skills/cds-builder/references/components/cds-button-group/api.md +27 -0
  31. package/skills/cds-builder/references/components/cds-button-group/examples.md +33 -0
  32. package/skills/cds-builder/references/components/cds-button-group/tokens.md +17 -0
  33. package/skills/cds-builder/references/components/cds-button-toggle/api.md +51 -0
  34. package/skills/cds-builder/references/components/cds-button-toggle/examples.md +278 -0
  35. package/skills/cds-builder/references/components/cds-button-toggle/guidelines.md +10 -0
  36. package/skills/cds-builder/references/components/cds-button-toggle/tokens.md +13 -0
  37. package/skills/cds-builder/references/components/cds-card/api.md +221 -0
  38. package/skills/cds-builder/references/components/cds-card/examples.md +652 -0
  39. package/skills/cds-builder/references/components/cds-card/guidelines.md +10 -0
  40. package/skills/cds-builder/references/components/cds-card/tokens.md +46 -0
  41. package/skills/cds-builder/references/components/cds-carousel/api.md +107 -0
  42. package/skills/cds-builder/references/components/cds-carousel/examples.md +444 -0
  43. package/skills/cds-builder/references/components/cds-carousel/guidelines.md +10 -0
  44. package/skills/cds-builder/references/components/cds-carousel/tokens.md +17 -0
  45. package/skills/cds-builder/references/components/cds-checkbox/api.md +93 -0
  46. package/skills/cds-builder/references/components/cds-checkbox/examples.md +319 -0
  47. package/skills/cds-builder/references/components/cds-checkbox/guidelines.md +10 -0
  48. package/skills/cds-builder/references/components/cds-checkbox/tokens.md +18 -0
  49. package/skills/cds-builder/references/components/cds-checkbox-button/api.md +56 -0
  50. package/skills/cds-builder/references/components/cds-checkbox-button/examples.md +29 -0
  51. package/skills/cds-builder/references/components/cds-checkbox-button/tokens.md +56 -0
  52. package/skills/cds-builder/references/components/cds-combobox/api.md +158 -0
  53. package/skills/cds-builder/references/components/cds-combobox/examples.md +264 -0
  54. package/skills/cds-builder/references/components/cds-combobox/guidelines.md +10 -0
  55. package/skills/cds-builder/references/components/cds-combobox/tokens.md +19 -0
  56. package/skills/cds-builder/references/components/cds-counter/api.md +24 -0
  57. package/skills/cds-builder/references/components/cds-counter/examples.md +93 -0
  58. package/skills/cds-builder/references/components/cds-counter/tokens.md +11 -0
  59. package/skills/cds-builder/references/components/cds-date-input/api.md +151 -0
  60. package/skills/cds-builder/references/components/cds-date-input/examples.md +479 -0
  61. package/skills/cds-builder/references/components/cds-date-input/guidelines.md +10 -0
  62. package/skills/cds-builder/references/components/cds-date-input/tokens.md +16 -0
  63. package/skills/cds-builder/references/components/cds-date-picker/api.md +63 -0
  64. package/skills/cds-builder/references/components/cds-date-picker/examples.md +394 -0
  65. package/skills/cds-builder/references/components/cds-date-picker/guidelines.md +10 -0
  66. package/skills/cds-builder/references/components/cds-date-picker/tokens.md +66 -0
  67. package/skills/cds-builder/references/components/cds-defaults-provider/api.md +21 -0
  68. package/skills/cds-builder/references/components/cds-description/api.md +22 -0
  69. package/skills/cds-builder/references/components/cds-description/examples.md +69 -0
  70. package/skills/cds-builder/references/components/cds-description/tokens.md +11 -0
  71. package/skills/cds-builder/references/components/cds-divider/api.md +29 -0
  72. package/skills/cds-builder/references/components/cds-divider/examples.md +374 -0
  73. package/skills/cds-builder/references/components/cds-divider/guidelines.md +10 -0
  74. package/skills/cds-builder/references/components/cds-divider/tokens.md +38 -0
  75. package/skills/cds-builder/references/components/cds-drawer/api.md +53 -0
  76. package/skills/cds-builder/references/components/cds-drawer/examples.md +432 -0
  77. package/skills/cds-builder/references/components/cds-drawer/guidelines.md +9 -0
  78. package/skills/cds-builder/references/components/cds-drawer/tokens.md +27 -0
  79. package/skills/cds-builder/references/components/cds-empty-state/api.md +55 -0
  80. package/skills/cds-builder/references/components/cds-empty-state/examples.md +330 -0
  81. package/skills/cds-builder/references/components/cds-empty-state/guidelines.md +9 -0
  82. package/skills/cds-builder/references/components/cds-empty-state/tokens.md +25 -0
  83. package/skills/cds-builder/references/components/cds-expandable-panel/api.md +157 -0
  84. package/skills/cds-builder/references/components/cds-expandable-panel/examples.md +569 -0
  85. package/skills/cds-builder/references/components/cds-expandable-panel/guidelines.md +10 -0
  86. package/skills/cds-builder/references/components/cds-expandable-panel/tokens.md +34 -0
  87. package/skills/cds-builder/references/components/cds-field/api.md +62 -0
  88. package/skills/cds-builder/references/components/cds-field/examples.md +202 -0
  89. package/skills/cds-builder/references/components/cds-field/tokens.md +94 -0
  90. package/skills/cds-builder/references/components/cds-file-input/api.md +109 -0
  91. package/skills/cds-builder/references/components/cds-file-input/examples.md +368 -0
  92. package/skills/cds-builder/references/components/cds-file-input/guidelines.md +10 -0
  93. package/skills/cds-builder/references/components/cds-file-input/tokens.md +15 -0
  94. package/skills/cds-builder/references/components/cds-file-upload/api.md +296 -0
  95. package/skills/cds-builder/references/components/cds-file-upload/examples.md +411 -0
  96. package/skills/cds-builder/references/components/cds-file-upload/guidelines.md +10 -0
  97. package/skills/cds-builder/references/components/cds-file-upload/tokens.md +50 -0
  98. package/skills/cds-builder/references/components/cds-footer/api.md +35 -0
  99. package/skills/cds-builder/references/components/cds-footer/examples.md +219 -0
  100. package/skills/cds-builder/references/components/cds-footer/guidelines.md +9 -0
  101. package/skills/cds-builder/references/components/cds-footer/tokens.md +14 -0
  102. package/skills/cds-builder/references/components/cds-form/api.md +48 -0
  103. package/skills/cds-builder/references/components/cds-form/examples.md +552 -0
  104. package/skills/cds-builder/references/components/cds-form/guidelines.md +10 -0
  105. package/skills/cds-builder/references/components/cds-form/tokens.md +15 -0
  106. package/skills/cds-builder/references/components/cds-functional-button/api.md +34 -0
  107. package/skills/cds-builder/references/components/cds-functional-button/examples.md +254 -0
  108. package/skills/cds-builder/references/components/cds-functional-button/guidelines.md +10 -0
  109. package/skills/cds-builder/references/components/cds-functional-button/tokens.md +35 -0
  110. package/skills/cds-builder/references/components/cds-grid/api.md +66 -0
  111. package/skills/cds-builder/references/components/cds-grid/examples.md +687 -0
  112. package/skills/cds-builder/references/components/cds-grid/guidelines.md +9 -0
  113. package/skills/cds-builder/references/components/cds-header/api.md +35 -0
  114. package/skills/cds-builder/references/components/cds-header/examples.md +345 -0
  115. package/skills/cds-builder/references/components/cds-header/guidelines.md +9 -0
  116. package/skills/cds-builder/references/components/cds-header/tokens.md +13 -0
  117. package/skills/cds-builder/references/components/cds-highlight/api.md +22 -0
  118. package/skills/cds-builder/references/components/cds-highlight/examples.md +313 -0
  119. package/skills/cds-builder/references/components/cds-highlight/guidelines.md +10 -0
  120. package/skills/cds-builder/references/components/cds-highlight/tokens.md +18 -0
  121. package/skills/cds-builder/references/components/cds-icon/api.md +33 -0
  122. package/skills/cds-builder/references/components/cds-icon/examples.md +272 -0
  123. package/skills/cds-builder/references/components/cds-icon/guidelines.md +10 -0
  124. package/skills/cds-builder/references/components/cds-icon/tokens.md +30 -0
  125. package/skills/cds-builder/references/components/cds-image/api.md +67 -0
  126. package/skills/cds-builder/references/components/cds-image/examples.md +437 -0
  127. package/skills/cds-builder/references/components/cds-image/guidelines.md +10 -0
  128. package/skills/cds-builder/references/components/cds-image/tokens.md +14 -0
  129. package/skills/cds-builder/references/components/cds-input/api.md +80 -0
  130. package/skills/cds-builder/references/components/cds-input/examples.md +205 -0
  131. package/skills/cds-builder/references/components/cds-input/tokens.md +108 -0
  132. package/skills/cds-builder/references/components/cds-label/api.md +25 -0
  133. package/skills/cds-builder/references/components/cds-label/examples.md +72 -0
  134. package/skills/cds-builder/references/components/cds-label/tokens.md +12 -0
  135. package/skills/cds-builder/references/components/cds-layout/api.md +50 -0
  136. package/skills/cds-builder/references/components/cds-layout/examples.md +431 -0
  137. package/skills/cds-builder/references/components/cds-layout/guidelines.md +9 -0
  138. package/skills/cds-builder/references/components/cds-layout/tokens.md +12 -0
  139. package/skills/cds-builder/references/components/cds-link/api.md +33 -0
  140. package/skills/cds-builder/references/components/cds-link/examples.md +195 -0
  141. package/skills/cds-builder/references/components/cds-link/guidelines.md +10 -0
  142. package/skills/cds-builder/references/components/cds-link/tokens.md +16 -0
  143. package/skills/cds-builder/references/components/cds-list/api.md +329 -0
  144. package/skills/cds-builder/references/components/cds-list/examples.md +653 -0
  145. package/skills/cds-builder/references/components/cds-list/guidelines.md +10 -0
  146. package/skills/cds-builder/references/components/cds-list/tokens.md +125 -0
  147. package/skills/cds-builder/references/components/cds-loader/api.md +18 -0
  148. package/skills/cds-builder/references/components/cds-loader/examples.md +59 -0
  149. package/skills/cds-builder/references/components/cds-loader/tokens.md +50 -0
  150. package/skills/cds-builder/references/components/cds-main/api.md +14 -0
  151. package/skills/cds-builder/references/components/cds-main/examples.md +60 -0
  152. package/skills/cds-builder/references/components/cds-menu/api.md +84 -0
  153. package/skills/cds-builder/references/components/cds-menu/examples.md +595 -0
  154. package/skills/cds-builder/references/components/cds-menu/guidelines.md +10 -0
  155. package/skills/cds-builder/references/components/cds-menu/tokens.md +19 -0
  156. package/skills/cds-builder/references/components/cds-messages/api.md +29 -0
  157. package/skills/cds-builder/references/components/cds-messages/examples.md +119 -0
  158. package/skills/cds-builder/references/components/cds-messages/tokens.md +15 -0
  159. package/skills/cds-builder/references/components/cds-modal/api.md +86 -0
  160. package/skills/cds-builder/references/components/cds-modal/examples.md +516 -0
  161. package/skills/cds-builder/references/components/cds-modal/guidelines.md +10 -0
  162. package/skills/cds-builder/references/components/cds-modal/tokens.md +22 -0
  163. package/skills/cds-builder/references/components/cds-notification/api.md +46 -0
  164. package/skills/cds-builder/references/components/cds-notification/examples.md +314 -0
  165. package/skills/cds-builder/references/components/cds-notification/guidelines.md +10 -0
  166. package/skills/cds-builder/references/components/cds-notification/tokens.md +23 -0
  167. package/skills/cds-builder/references/components/cds-notification-alert/api.md +93 -0
  168. package/skills/cds-builder/references/components/cds-notification-alert/examples.md +202 -0
  169. package/skills/cds-builder/references/components/cds-notification-alert/tokens.md +15 -0
  170. package/skills/cds-builder/references/components/cds-otp-input/api.md +106 -0
  171. package/skills/cds-builder/references/components/cds-otp-input/examples.md +329 -0
  172. package/skills/cds-builder/references/components/cds-otp-input/guidelines.md +10 -0
  173. package/skills/cds-builder/references/components/cds-otp-input/tokens.md +41 -0
  174. package/skills/cds-builder/references/components/cds-overlay/api.md +85 -0
  175. package/skills/cds-builder/references/components/cds-overlay/examples.md +409 -0
  176. package/skills/cds-builder/references/components/cds-overlay/guidelines.md +9 -0
  177. package/skills/cds-builder/references/components/cds-overlay/tokens.md +12 -0
  178. package/skills/cds-builder/references/components/cds-page/api.md +21 -0
  179. package/skills/cds-builder/references/components/cds-page/examples.md +123 -0
  180. package/skills/cds-builder/references/components/cds-pagination/api.md +67 -0
  181. package/skills/cds-builder/references/components/cds-pagination/examples.md +320 -0
  182. package/skills/cds-builder/references/components/cds-pagination/guidelines.md +10 -0
  183. package/skills/cds-builder/references/components/cds-pagination/tokens.md +20 -0
  184. package/skills/cds-builder/references/components/cds-progress-bar/api.md +53 -0
  185. package/skills/cds-builder/references/components/cds-progress-bar/examples.md +393 -0
  186. package/skills/cds-builder/references/components/cds-progress-bar/guidelines.md +10 -0
  187. package/skills/cds-builder/references/components/cds-progress-bar/tokens.md +33 -0
  188. package/skills/cds-builder/references/components/cds-progress-circle/api.md +30 -0
  189. package/skills/cds-builder/references/components/cds-progress-circle/examples.md +326 -0
  190. package/skills/cds-builder/references/components/cds-progress-circle/guidelines.md +10 -0
  191. package/skills/cds-builder/references/components/cds-progress-circle/tokens.md +31 -0
  192. package/skills/cds-builder/references/components/cds-radio/api.md +47 -0
  193. package/skills/cds-builder/references/components/cds-radio/tokens.md +36 -0
  194. package/skills/cds-builder/references/components/cds-radio-group/api.md +87 -0
  195. package/skills/cds-builder/references/components/cds-radio-group/examples.md +320 -0
  196. package/skills/cds-builder/references/components/cds-radio-group/guidelines.md +10 -0
  197. package/skills/cds-builder/references/components/cds-radio-group/tokens.md +14 -0
  198. package/skills/cds-builder/references/components/cds-responsive/api.md +29 -0
  199. package/skills/cds-builder/references/components/cds-responsive/examples.md +271 -0
  200. package/skills/cds-builder/references/components/cds-responsive/guidelines.md +10 -0
  201. package/skills/cds-builder/references/components/cds-responsive/tokens.md +13 -0
  202. package/skills/cds-builder/references/components/cds-select/api.md +155 -0
  203. package/skills/cds-builder/references/components/cds-select/examples.md +794 -0
  204. package/skills/cds-builder/references/components/cds-select/guidelines.md +10 -0
  205. package/skills/cds-builder/references/components/cds-select/tokens.md +17 -0
  206. package/skills/cds-builder/references/components/cds-selection-control/api.md +60 -0
  207. package/skills/cds-builder/references/components/cds-selection-control/examples.md +468 -0
  208. package/skills/cds-builder/references/components/cds-selection-control-group/api.md +45 -0
  209. package/skills/cds-builder/references/components/cds-selection-control-group/examples.md +349 -0
  210. package/skills/cds-builder/references/components/cds-skeleton-loader/api.md +30 -0
  211. package/skills/cds-builder/references/components/cds-skeleton-loader/examples.md +297 -0
  212. package/skills/cds-builder/references/components/cds-skeleton-loader/guidelines.md +10 -0
  213. package/skills/cds-builder/references/components/cds-skeleton-loader/tokens.md +62 -0
  214. package/skills/cds-builder/references/components/cds-slide-group/api.md +76 -0
  215. package/skills/cds-builder/references/components/cds-slide-group/examples.md +304 -0
  216. package/skills/cds-builder/references/components/cds-slide-group/guidelines.md +9 -0
  217. package/skills/cds-builder/references/components/cds-slide-group/tokens.md +11 -0
  218. package/skills/cds-builder/references/components/cds-slide-view/api.md +88 -0
  219. package/skills/cds-builder/references/components/cds-slide-view/examples.md +311 -0
  220. package/skills/cds-builder/references/components/cds-slide-view/guidelines.md +9 -0
  221. package/skills/cds-builder/references/components/cds-slide-view/tokens.md +14 -0
  222. package/skills/cds-builder/references/components/cds-stages/api.md +31 -0
  223. package/skills/cds-builder/references/components/cds-stages/examples.md +230 -0
  224. package/skills/cds-builder/references/components/cds-stages/guidelines.md +10 -0
  225. package/skills/cds-builder/references/components/cds-stages/tokens.md +27 -0
  226. package/skills/cds-builder/references/components/cds-status/api.md +24 -0
  227. package/skills/cds-builder/references/components/cds-status/examples.md +170 -0
  228. package/skills/cds-builder/references/components/cds-status/guidelines.md +10 -0
  229. package/skills/cds-builder/references/components/cds-status/tokens.md +17 -0
  230. package/skills/cds-builder/references/components/cds-steps/api.md +176 -0
  231. package/skills/cds-builder/references/components/cds-steps/examples.md +320 -0
  232. package/skills/cds-builder/references/components/cds-steps/guidelines.md +10 -0
  233. package/skills/cds-builder/references/components/cds-steps/tokens.md +52 -0
  234. package/skills/cds-builder/references/components/cds-surface/api.md +30 -0
  235. package/skills/cds-builder/references/components/cds-surface/examples.md +106 -0
  236. package/skills/cds-builder/references/components/cds-table/api.md +120 -0
  237. package/skills/cds-builder/references/components/cds-table/examples.md +3049 -0
  238. package/skills/cds-builder/references/components/cds-table/guidelines.md +10 -0
  239. package/skills/cds-builder/references/components/cds-table/tokens.md +92 -0
  240. package/skills/cds-builder/references/components/cds-tabs/api.md +179 -0
  241. package/skills/cds-builder/references/components/cds-tabs/examples.md +610 -0
  242. package/skills/cds-builder/references/components/cds-tabs/guidelines.md +10 -0
  243. package/skills/cds-builder/references/components/cds-tabs/tokens.md +40 -0
  244. package/skills/cds-builder/references/components/cds-tag/api.md +64 -0
  245. package/skills/cds-builder/references/components/cds-tag/examples.md +278 -0
  246. package/skills/cds-builder/references/components/cds-tag/guidelines.md +10 -0
  247. package/skills/cds-builder/references/components/cds-tag/tokens.md +67 -0
  248. package/skills/cds-builder/references/components/cds-tag-group/api.md +58 -0
  249. package/skills/cds-builder/references/components/cds-tag-group/examples.md +346 -0
  250. package/skills/cds-builder/references/components/cds-tag-group/guidelines.md +10 -0
  251. package/skills/cds-builder/references/components/cds-tag-group/tokens.md +18 -0
  252. package/skills/cds-builder/references/components/cds-text-area/api.md +113 -0
  253. package/skills/cds-builder/references/components/cds-text-area/examples.md +327 -0
  254. package/skills/cds-builder/references/components/cds-text-area/guidelines.md +10 -0
  255. package/skills/cds-builder/references/components/cds-text-area/tokens.md +16 -0
  256. package/skills/cds-builder/references/components/cds-text-input/api.md +115 -0
  257. package/skills/cds-builder/references/components/cds-text-input/examples.md +546 -0
  258. package/skills/cds-builder/references/components/cds-text-input/guidelines.md +10 -0
  259. package/skills/cds-builder/references/components/cds-text-input/tokens.md +17 -0
  260. package/skills/cds-builder/references/components/cds-time-picker/api.md +44 -0
  261. package/skills/cds-builder/references/components/cds-time-picker/examples.md +407 -0
  262. package/skills/cds-builder/references/components/cds-time-picker/guidelines.md +10 -0
  263. package/skills/cds-builder/references/components/cds-time-picker/tokens.md +23 -0
  264. package/skills/cds-builder/references/components/cds-toast/api.md +97 -0
  265. package/skills/cds-builder/references/components/cds-toast/examples.md +296 -0
  266. package/skills/cds-builder/references/components/cds-toast/guidelines.md +10 -0
  267. package/skills/cds-builder/references/components/cds-toast/tokens.md +26 -0
  268. package/skills/cds-builder/references/components/cds-toast-queue/api.md +86 -0
  269. package/skills/cds-builder/references/components/cds-toast-queue/examples.md +227 -0
  270. package/skills/cds-builder/references/components/cds-toggle/api.md +97 -0
  271. package/skills/cds-builder/references/components/cds-toggle/examples.md +335 -0
  272. package/skills/cds-builder/references/components/cds-toggle/guidelines.md +10 -0
  273. package/skills/cds-builder/references/components/cds-toggle/tokens.md +91 -0
  274. package/skills/cds-builder/references/components/cds-toolbar/api.md +44 -0
  275. package/skills/cds-builder/references/components/cds-toolbar/examples.md +186 -0
  276. package/skills/cds-builder/references/components/cds-toolbar/guidelines.md +9 -0
  277. package/skills/cds-builder/references/components/cds-toolbar/tokens.md +13 -0
  278. package/skills/cds-builder/references/components/cds-tooltip/api.md +83 -0
  279. package/skills/cds-builder/references/components/cds-tooltip/examples.md +321 -0
  280. package/skills/cds-builder/references/components/cds-tooltip/guidelines.md +10 -0
  281. package/skills/cds-builder/references/components/cds-tooltip/tokens.md +25 -0
  282. package/skills/cds-builder/references/components/cds-tree/api.md +169 -0
  283. package/skills/cds-builder/references/components/cds-tree/examples.md +785 -0
  284. package/skills/cds-builder/references/components/cds-tree/guidelines.md +10 -0
  285. package/skills/cds-builder/references/components/cds-tree/tokens.md +39 -0
  286. package/skills/cds-builder/references/components/cds-uploader/api.md +105 -0
  287. package/skills/cds-builder/references/components/cds-uploader/examples.md +553 -0
  288. package/skills/cds-builder/references/components/cds-uploader/guidelines.md +10 -0
  289. package/skills/cds-builder/references/components/cds-uploader/tokens.md +26 -0
  290. package/skills/cds-builder/references/components/cds-virtual-scroll/api.md +60 -0
  291. package/skills/cds-builder/references/components/cds-virtual-scroll/examples.md +272 -0
  292. package/skills/cds-builder/references/components/cds-virtual-scroll/guidelines.md +9 -0
  293. package/skills/cds-builder/references/components/cds-virtual-scroll/tokens.md +13 -0
  294. package/skills/cds-builder/references/guides/conventions.md +48 -0
  295. package/skills/cds-builder/references/guides/date-utils.md +301 -0
  296. package/skills/cds-builder/references/guides/display-and-platform.md +263 -0
  297. package/skills/cds-builder/references/guides/forms.md +77 -0
  298. package/skills/cds-builder/references/guides/global-configuration.md +354 -0
  299. package/skills/cds-builder/references/guides/icons.md +172 -0
  300. package/skills/cds-builder/references/guides/internationalization.md +470 -0
  301. package/skills/cds-builder/references/guides/migration-cds3-to-cds4.md +49 -0
  302. package/skills/cds-builder/references/guides/sass-variables.md +238 -0
  303. package/skills/cds-builder/references/guides/setup.md +81 -0
  304. package/skills/cds-builder/references/guides/tailwindcss.md +93 -0
  305. package/skills/cds-builder/references/guides/theme.md +343 -0
  306. package/skills/cds-builder/references/guides/treeshaking.md +237 -0
  307. package/skills/cds-builder/references/patterns/dialogs.md +89 -0
  308. package/skills/cds-builder/references/patterns/forms.md +101 -0
  309. package/skills/cds-builder/references/patterns/page-layout.md +78 -0
  310. package/skills/cds-builder/references/patterns/tables.md +87 -0
  311. package/skills/cds-builder/references/tokens/colors.md +507 -0
  312. package/skills/cds-builder/references/tokens/themes.md +981 -0
  313. package/skills/cds-builder/scripts/check-contracts.mjs +264 -0
  314. package/skills/cds-migrate/GENERATION.md +44 -0
  315. package/skills/cds-migrate/SKILL.md +160 -0
  316. package/skills/cds-migrate/references/migration-full.md +2225 -0
  317. package/skills/cds-refactor/GENERATION.md +44 -0
  318. package/skills/cds-refactor/SKILL.md +187 -0
  319. package/skills/cds-refactor/references/html-to-cds.md +80 -0
  320. package/skills/cds-refactor/references/review-checklist.md +73 -0
  321. package/skills/cds-refactor/references/tailwind-to-cds.md +65 -0
@@ -0,0 +1,346 @@
1
+ # CdsTagGroup — 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 tag group turns a set of [CdsTag](../cds-tag/api.md) into a toggle: the selected tag is highlighted, the value is available through `v-model`, and the tags that do not fit move into a horizontal scroll. Fits catalog filters, category pickers and quick period switches.
7
+
8
+ ## Selection
9
+
10
+ Give every tag a `value` — exactly this value lands in `v-model`. Without `value` the index of the tag in the group becomes its value. A repeated click on the selected tag clears the selection.
11
+
12
+ **Example (SFC):**
13
+
14
+ ```vue
15
+ <script setup lang="ts">
16
+ import { CdsTag, CdsTagGroup } from '@central-design-system/components';
17
+ import { ref } from 'vue';
18
+
19
+ const categories = ['Электроника', 'Одежда', 'Мебель', 'Спорт', 'Книги'];
20
+ const selected = ref('Электроника');
21
+ </script>
22
+
23
+ <template>
24
+ <div class="flex flex-col items-center gap-2">
25
+ <CdsTagGroup v-model="selected">
26
+ <CdsTag v-for="category in categories" :key="category" :value="category" :text="category" />
27
+ </CdsTagGroup>
28
+
29
+ <span class="text-100 text-content-secondary">Выбрано: {{ selected ?? '—' }}</span>
30
+ </div>
31
+ </template>
32
+ ```
33
+
34
+ ## Multiple selection
35
+
36
+ The `multiple` prop allows selecting several tags — `v-model` becomes an array of values.
37
+
38
+ **Example (SFC):**
39
+
40
+ ```vue
41
+ <script setup lang="ts">
42
+ import { CdsTag, CdsTagGroup } from '@central-design-system/components';
43
+ import { ref } from 'vue';
44
+
45
+ const deliveries = ['Самовывоз', 'Курьер', 'Почта', 'Транспортная компания'];
46
+ const selected = ref(['Курьер', 'Почта']);
47
+ </script>
48
+
49
+ <template>
50
+ <div class="flex flex-col items-center gap-2">
51
+ <CdsTagGroup v-model="selected" multiple>
52
+ <CdsTag v-for="delivery in deliveries" :key="delivery" :value="delivery" :text="delivery" />
53
+ </CdsTagGroup>
54
+
55
+ <span class="text-100 text-content-secondary">Выбрано: {{ selected.join(', ') || '—' }}</span>
56
+ </div>
57
+ </template>
58
+ ```
59
+
60
+ ## Multiple selection
61
+
62
+ The `max` prop limits the number of selected tags: once the limit is reached, clicks on the remaining tags do not add to the selection.
63
+
64
+ **Example (SFC):**
65
+
66
+ ```vue
67
+ <script setup lang="ts">
68
+ import { CdsTag, CdsTagGroup } from '@central-design-system/components';
69
+ import { ref } from 'vue';
70
+
71
+ const deliveries = ['Самовывоз', 'Курьер', 'Почта', 'Транспортная компания'];
72
+ const selected = ref(['Курьер']);
73
+ </script>
74
+
75
+ <template>
76
+ <div class="flex flex-col items-center gap-2">
77
+ <CdsTagGroup v-model="selected" multiple :max="2">
78
+ <CdsTag v-for="delivery in deliveries" :key="delivery" :value="delivery" :text="delivery" />
79
+ </CdsTagGroup>
80
+
81
+ <span class="text-100 text-content-secondary">Выбрано {{ selected.length }} из 2</span>
82
+ </div>
83
+ </template>
84
+ ```
85
+
86
+ ## Mandatory selection
87
+
88
+ The `mandatory` prop does not let you clear the last selection: a tag can only be switched. With the `'force'` value the first available tag is selected automatically, even when `v-model` is empty.
89
+
90
+ **Example (SFC):**
91
+
92
+ ```vue
93
+ <script setup lang="ts">
94
+ import { CdsTag, CdsTagGroup } from '@central-design-system/components';
95
+ import { ref } from 'vue';
96
+
97
+ const periods = ['Неделя', 'Месяц', 'Квартал', 'Год'];
98
+ const selected = ref('Месяц');
99
+ </script>
100
+
101
+ <template>
102
+ <div class="flex flex-col items-center gap-2">
103
+ <CdsTagGroup v-model="selected" mandatory>
104
+ <CdsTag v-for="period in periods" :key="period" :value="period" :text="period" />
105
+ </CdsTagGroup>
106
+
107
+ <span class="text-100 text-content-secondary">
108
+ Период: {{ selected }} — снять выбор нельзя, можно только переключить
109
+ </span>
110
+ </div>
111
+ </template>
112
+ ```
113
+
114
+ ## Selection indicator
115
+
116
+ The `filter` prop adds a check icon to the selected tags — the selection reads not only from the fill. The `filter-icon` prop of the tag changes the icon, and the `filter` slot replaces it with your own markup.
117
+
118
+ **Example (SFC):**
119
+
120
+ ```vue
121
+ <script setup lang="ts">
122
+ import { CdsTag, CdsTagGroup } from '@central-design-system/components';
123
+ import { ref } from 'vue';
124
+
125
+ const statuses = ['Черновики', 'На проверке', 'Опубликованные', 'В архиве'];
126
+ const selected = ref(['На проверке']);
127
+ </script>
128
+
129
+ <template>
130
+ <div class="flex flex-col items-center gap-2">
131
+ <CdsTagGroup v-model="selected" multiple filter>
132
+ <CdsTag v-for="status in statuses" :key="status" :value="status" :text="status" />
133
+ </CdsTagGroup>
134
+
135
+ <span class="text-100 text-content-secondary">Выбрано: {{ selected.join(', ') || '—' }}</span>
136
+ </div>
137
+ </template>
138
+ ```
139
+
140
+ ## Color and disabling
141
+
142
+ The group passes the `color`, `active-color`, `disabled` and `filter` props to its tags as defaults — there is no need to repeat them on every tag. `color` paints the unselected tags, `active-color` paints the selected one; without it the selected tag stays in the brand color so that the selection reads with any palette. `disabled` blocks the whole group: the selection is visible but cannot be switched. A prop set directly on a tag wins over the value of the group.
143
+
144
+ **Example (SFC):**
145
+
146
+ ```vue
147
+ <script setup lang="ts">
148
+ import { CdsTag, CdsTagGroup } from '@central-design-system/components';
149
+ import { ref } from 'vue';
150
+
151
+ const formats = ['Отчёт', 'Презентация', 'Таблица'];
152
+ const colored = ref('Отчёт');
153
+ const active = ref('Отчёт');
154
+ const locked = ref('Презентация');
155
+ </script>
156
+
157
+ <template>
158
+ <div class="m-auto flex w-[320px] flex-col gap-4">
159
+ <div class="flex flex-col gap-1">
160
+ <span class="text-100 text-content-secondary">color — цвет невыбранных тегов</span>
161
+
162
+ <CdsTagGroup v-model="colored" color="red">
163
+ <CdsTag v-for="format in formats" :key="format" :value="format" :text="format" />
164
+ </CdsTagGroup>
165
+ </div>
166
+
167
+ <div class="flex flex-col gap-1">
168
+ <span class="text-100 text-content-secondary">active-color — цвет выбранного тега</span>
169
+
170
+ <CdsTagGroup v-model="active" color="green" active-color="red">
171
+ <CdsTag v-for="format in formats" :key="format" :value="format" :text="format" />
172
+ </CdsTagGroup>
173
+ </div>
174
+
175
+ <div class="flex flex-col gap-1">
176
+ <span class="text-100 text-content-secondary">disabled — выбор сохраняется, но недоступен</span>
177
+
178
+ <CdsTagGroup v-model="locked" disabled>
179
+ <CdsTag v-for="format in formats" :key="format" :value="format" :text="format" />
180
+ </CdsTagGroup>
181
+ </div>
182
+ </div>
183
+ </template>
184
+ ```
185
+
186
+ ## Layout
187
+
188
+ By default the tags stand in a single row, and the extra ones move into a horizontal scroll with arrows: the group is built on [CdsSlideGroup](../cds-slide-group/api.md) and accepts its props — `show-arrows`, `direction`, `center-active`. The `column` prop wraps the tags into rows instead of scrolling — that way all the options are visible at once.
189
+
190
+ **Example (SFC):**
191
+
192
+ ```vue
193
+ <script setup lang="ts">
194
+ import { CdsTag, CdsTagGroup } from '@central-design-system/components';
195
+ import { ref } from 'vue';
196
+
197
+ const categories = ['Электроника', 'Бытовая техника', 'Одежда', 'Обувь', 'Мебель', 'Спорт', 'Книги', 'Игрушки'];
198
+
199
+ const scrolled = ref('Электроника');
200
+ const wrapped = ref('Электроника');
201
+ </script>
202
+
203
+ <template>
204
+ <div class="m-auto flex w-[360px] flex-col gap-4">
205
+ <div class="flex flex-col gap-1">
206
+ <span class="text-1 text-content-secondary">По умолчанию — горизонтальная прокрутка со стрелками</span>
207
+
208
+ <CdsTagGroup v-model="scrolled">
209
+ <CdsTag v-for="category in categories" :key="category" :value="category" :text="category" />
210
+ </CdsTagGroup>
211
+ </div>
212
+
213
+ <div class="flex flex-col gap-1">
214
+ <span class="text-1 text-content-secondary">column — перенос по строкам</span>
215
+
216
+ <CdsTagGroup v-model="wrapped" column>
217
+ <CdsTag v-for="category in categories" :key="category" :value="category" :text="category" />
218
+ </CdsTagGroup>
219
+ </div>
220
+ </div>
221
+ </template>
222
+ ```
223
+
224
+ ## Catalog filter
225
+
226
+ A row of categories above the results is the most common job for a tag group. `column` shows all the categories at once, `mandatory` prevents ending up without a filter, and `v-model` gives you a ready key for the product request.
227
+
228
+ **Example (SFC):**
229
+
230
+ ```vue
231
+ <script setup lang="ts">
232
+ import { CdsTag, CdsTagGroup } from '@central-design-system/components';
233
+ import { computed, ref } from 'vue';
234
+
235
+ const products = [
236
+ { name: 'Ноутбук Alfa 14', category: 'Ноутбуки', price: '68 900 ₽' },
237
+ { name: 'Ноутбук Beta Pro', category: 'Ноутбуки', price: '94 500 ₽' },
238
+ { name: 'Смартфон Gamma 5', category: 'Смартфоны', price: '32 400 ₽' },
239
+ { name: 'Смартфон Delta Mini', category: 'Смартфоны', price: '21 900 ₽' },
240
+ { name: 'Монитор Epsilon 27"', category: 'Мониторы', price: '27 300 ₽' }
241
+ ];
242
+
243
+ const categories = ['Все', 'Ноутбуки', 'Смартфоны', 'Мониторы'];
244
+ const category = ref('Все');
245
+
246
+ const filtered = computed(() =>
247
+ category.value === 'Все' ? products : products.filter((product) => product.category === category.value)
248
+ );
249
+ </script>
250
+
251
+ <template>
252
+ <div class="m-auto flex w-[360px] flex-col gap-2">
253
+ <CdsTagGroup v-model="category" column mandatory>
254
+ <CdsTag v-for="item in categories" :key="item" :value="item" :text="item" />
255
+ </CdsTagGroup>
256
+
257
+ <div class="flex flex-col gap-1">
258
+ <div
259
+ v-for="product in filtered"
260
+ :key="product.name"
261
+ class="flex items-center justify-between rounded-200 bg-surface-secondary p-2"
262
+ >
263
+ <span>{{ product.name }}</span>
264
+ <span class="text-100 text-content-secondary">{{ product.price }}</span>
265
+ </div>
266
+ </div>
267
+
268
+ <span class="text-100 text-content-secondary">Найдено товаров: {{ filtered.length }}</span>
269
+ </div>
270
+ </template>
271
+ ```
272
+
273
+ ## Picking several topics
274
+
275
+ When the values do not exclude each other, turn on `multiple`. `max` keeps the selection within reasonable bounds, `filter` marks the selected topics with a check, and the hint under the group explains the limit.
276
+
277
+ **Example (SFC):**
278
+
279
+ ```vue
280
+ <script setup lang="ts">
281
+ import { CdsTag, CdsTagGroup } from '@central-design-system/components';
282
+ import { computed, ref } from 'vue';
283
+
284
+ const topics = ['Аналитика', 'Дизайн', 'Разработка', 'Маркетинг', 'Продажи', 'Логистика', 'Поддержка'];
285
+ const selected = ref(['Дизайн']);
286
+
287
+ const isFull = computed(() => selected.value.length >= 3);
288
+ </script>
289
+
290
+ <template>
291
+ <div class="m-auto flex w-[360px] flex-col gap-2">
292
+ <span>Выберите до трёх тем — по ним будем присылать дайджест</span>
293
+
294
+ <CdsTagGroup v-model="selected" column multiple filter :max="3">
295
+ <CdsTag v-for="topic in topics" :key="topic" :value="topic" :text="topic" />
296
+ </CdsTagGroup>
297
+
298
+ <span class="text-100" :class="isFull ? 'text-content-secondary' : 'text-content-tertiary'">
299
+ {{ isFull ? 'Лимит достигнут — снимите тему, чтобы выбрать другую' : `Выбрано ${selected.length} из 3` }}
300
+ </span>
301
+ </div>
302
+ </template>
303
+ ```
304
+
305
+ ## Switching the period
306
+
307
+ The group exposes the `next`, `prev` and `select` methods and the `selected` list — get them through a `ref` on the component. This is how tags get the back / forward arrows that walk through the periods in order.
308
+
309
+ **Example (SFC):**
310
+
311
+ ```vue
312
+ <script setup lang="ts">
313
+ import { CdsFunctionalButton, CdsTag, CdsTagGroup } from '@central-design-system/components';
314
+ import { ref } from 'vue';
315
+
316
+ const revenue: Record<string, string> = {
317
+ 'I квартал': '1,2 млн ₽',
318
+ 'II квартал': '1,8 млн ₽',
319
+ 'III квартал': '2,4 млн ₽',
320
+ 'IV квартал': '3,1 млн ₽'
321
+ };
322
+
323
+ const quarters = Object.keys(revenue);
324
+ const quarter = ref('II квартал');
325
+ const group = ref<InstanceType<typeof CdsTagGroup> | null>(null);
326
+ </script>
327
+
328
+ <template>
329
+ <div class="m-auto flex w-[420px] flex-col items-center gap-2">
330
+ <div class="flex items-center gap-1">
331
+ <CdsFunctionalButton icon="prev" aria-label="Предыдущий квартал" @click="group?.prev()" />
332
+
333
+ <CdsTagGroup ref="group" v-model="quarter" mandatory>
334
+ <CdsTag v-for="item in quarters" :key="item" :value="item" :text="item" />
335
+ </CdsTagGroup>
336
+
337
+ <CdsFunctionalButton icon="next" aria-label="Следующий квартал" @click="group?.next()" />
338
+ </div>
339
+
340
+ <div class="flex w-full flex-col items-center rounded-200 bg-surface-secondary p-4">
341
+ <span class="text-900">{{ revenue[quarter] }}</span>
342
+ <span class="text-content-secondary">выручка за {{ quarter.toLowerCase() }}</span>
343
+ </div>
344
+ </div>
345
+ </template>
346
+ ```
@@ -0,0 +1,10 @@
1
+ # CdsTagGroup — 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
+ | One group — one attribute: the values exclude each other and read as a row of equals. | Different attributes in one group: you cannot pick a category and a price at the same time. |
9
+ | In a narrow block use column: all the options are visible at once. | A horizontal scroll in a narrow column hides half of the options behind an arrow. |
10
+ | A tag group holds a few popular values — they are visible without expanding anything. | Dozens of values turn into a tag cloud: picking from such a list is more convenient in CdsSelect. |
@@ -0,0 +1,18 @@
1
+ # CdsTagGroup — 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
+ ## _CdsTagGroup.variables.scss
8
+
9
+ ```scss
10
+ // Внутренний отступ группы и промежуток между тегами.
11
+ $tag-group-padding: var(--cds-spacing-100) !default;
12
+ $tag-group-gap: var(--cds-spacing-100) !default;
13
+
14
+ // Выбранное состояние тега: заливка брендовым цветом с контентом на тёмном фоне.
15
+ $tag-group-selected-background: rgb(var(--cds-color-brand-primary)) !default;
16
+ $tag-group-selected-background-hover: rgb(var(--cds-color-brand-primary-hover)) !default;
17
+ $tag-group-selected-color: rgb(var(--cds-color-content-on-dark)) !default;
18
+ ```
@@ -0,0 +1,113 @@
1
+ # CdsTextArea — 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 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
+ ## CdsTextArea
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
+ | `autoGrow` | `boolean \| undefined` | — | no | Automatic growth of the text area height as you type |
21
+ | `baseColor` | `string \| undefined` | — | no | Color of the component in its inactive state |
22
+ | `bgColor` | `string \| undefined` | — | no | Background color of the component |
23
+ | `centerAffix` | `boolean \| undefined` | — | no | Vertically center the appendInner, prependInner, clearIcon and label elements. |
24
+ | `clearable` | `boolean \| undefined` | — | no | Shows the clear button |
25
+ | `clearIcon` | `IconValue \| undefined` | `'remove'` | no | Icon of the clear button |
26
+ | `color` | `string \| undefined` | — | no | Component color |
27
+ | `counter` | `string \| number \| boolean \| undefined` | — | no | Character counter. Accepts a boolean, a number or a string |
28
+ | `counterValue` | `number \| ((value: any) => number) \| undefined` | — | no | Custom counter value. Either a number or a function computing it from the current value |
29
+ | `description` | `string \| undefined` | — | no | Description of the component, shown under the label |
30
+ | `dirty` | `boolean \| undefined` | — | no | Marks that the value of the field was changed by the user |
31
+ | `disabled` | `boolean \| null \| undefined` | `null` | no | Disabled state |
32
+ | `error` | `boolean \| undefined` | — | no | Error state |
33
+ | `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. |
34
+ | `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. |
35
+ | `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 |
36
+ | `hideMessages` | `boolean \| undefined` | — | no | Hide the messages under the input |
37
+ | `hint` | `string \| undefined` | — | no | Hint text shown under the input |
38
+ | `iconColor` | `string \| boolean \| undefined` | — | no | Icon color. Accepts a boolean or a color string |
39
+ | `id` | `string \| undefined` | — | no | Unique identifier of the component |
40
+ | `label` | `string \| undefined` | — | no | Label text of the component |
41
+ | `loading` | `string \| boolean \| undefined` | — | no | Loading indicator for the component |
42
+ | `maxErrors` | `string \| number \| undefined` | `1` | no | Maximum number of validation errors shown |
43
+ | `maxHeight` | `string \| number \| undefined` | — | no | Maximum height of the text area |
44
+ | `maxRows` | `string \| number \| undefined` | — | no | Maximum number of rows while the height grows automatically |
45
+ | `maxWidth` | `string \| number \| undefined` | — | no | Maximum component width |
46
+ | `messages` | `string \| readonly string[] \| undefined` | `[]` | no | Messages shown under the input |
47
+ | `minWidth` | `string \| number \| undefined` | — | no | Minimum component width |
48
+ | `modelModifiers` | `Record<string, boolean> \| undefined` | — | no | The v-model modifiers passed by Vue to process the field value |
49
+ | `modelValue` | `any` | — | no | Value of the component in v-model. If the component supports the multiple prop, an empty array is used by default. |
50
+ | `name` | `string \| undefined` | — | no | Name of the input |
51
+ | `noResize` | `boolean \| undefined` | — | no | Turn off the ability to resize the text area |
52
+ | `persistentClearable` | `boolean \| undefined` | — | no | Always show the clear button, not only on hover or focus |
53
+ | `persistentCounter` | `boolean \| undefined` | — | no | Always show the counter, not only while the field is in use |
54
+ | `persistentHint` | `boolean \| undefined` | — | no | Always show the hint, not only on focus |
55
+ | `persistentPlaceholder` | `boolean \| undefined` | — | no | Always show the placeholder instead of hiding it while the field is in use |
56
+ | `placeholder` | `string \| undefined` | — | no | Placeholder text shown in an empty field |
57
+ | `prefix` | `string \| undefined` | — | no | Text prefix shown before the field value |
58
+ | `prependIcon` | `IconValue \| undefined` | — | no | Icon in the prepend slot, before the content |
59
+ | `prependInnerIcon` | `IconValue \| undefined` | — | no | Icon in the inner prepend slot, before the content of the field |
60
+ | `readonly` | `boolean \| null \| undefined` | `null` | no | Read-only state |
61
+ | `reverse` | `boolean \| undefined` | — | no | Reverses the order of the elements inside the field |
62
+ | `rows` | `string \| number \| undefined` | `5` | no | Number of rows of the text area |
63
+ | `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. |
64
+ | `size` | `number \| "xs" \| "sm" \| "md" \| "lg" \| "xl" \| undefined` | `'md'` | no | Size of the component |
65
+ | `suffix` | `string \| undefined` | — | no | Text suffix shown after the field value |
66
+ | `textColor` | `string \| undefined` | — | no | Text color of the component |
67
+ | `theme` | `string \| undefined` | — | no | Component theme |
68
+ | `validateOn` | `ValidateOn \| undefined` | — | no | Changes the type of the event that triggers validation |
69
+ | `validationValue` | `any` | — | no | Value used when applying the validation rules |
70
+ | `width` | `string \| number \| undefined` | — | no | Component width |
71
+
72
+ **Events**
73
+
74
+ | Name | Type | Description |
75
+ | --- | --- | --- |
76
+ | `click:control` | `[e: MouseEvent]` | Fires on a click in the main area of the control |
77
+ | `mousedown:control` | `[e: MouseEvent]` | Fires on a mouse button press in the main area of the control |
78
+ | `update:focused` | `[focused: boolean]` | Fires when the element gains or loses focus |
79
+ | `update:modelValue` | `[value: string]` | Fires when the model of the component changes |
80
+ | `update:rows` | `[rows: number]` | Fires when the computed number of rows changes while the height grows automatically |
81
+
82
+ **Slots**
83
+
84
+ | Name | Type | Description |
85
+ | --- | --- | --- |
86
+ | `append` | `CdsInputSlot` | Adds an element after the input |
87
+ | `append-inner` | `CdsInputDefaultSlot` | Slot added at the end of the input |
88
+ | `clear` | `CdsInputDefaultSlot & { props: Record<string, any>; }` | Slot for a custom clear icon (shown when the clearable prop is true). |
89
+ | `counter` | `CdsCounterSlot` | Slot for a custom counter |
90
+ | `description` | `{ description: string \| undefined; props: Record<string, any>; }` | Default slot of the CdsDescription component |
91
+ | `details` | `CdsInputSlot` | Slot for custom content that lets you customize how the messages are displayed |
92
+ | `label` | `{ label: string \| undefined; props: Record<string, any>; }` | Default slot of the CdsLabel component |
93
+ | `loader` | `LoaderSlotProps` | Slot for a custom loader (shown when the loading prop is true). |
94
+ | `message` | `CdsMessagesSlots` | Slot for customizing the content of a message |
95
+ | `messages` | `CdsInputSlot` | Slot for custom content that lets you customize how the messages are displayed |
96
+ | `prepend` | `CdsInputSlot` | Adds an element before the input |
97
+ | `prepend-inner` | `CdsInputDefaultSlot` | Slot added at the start of the input |
98
+
99
+ **Exposed**
100
+
101
+ | Name | Type | Description |
102
+ | --- | --- | --- |
103
+ | `controlRef` | `HTMLElement \| undefined` | Ref to the control of the input |
104
+ | `fieldIconColor` | `string \| undefined` | Icon color |
105
+ | `isDirty` | `boolean` | Whether the input is dirty |
106
+ | `isDisabled` | `boolean` | Whether the input is disabled |
107
+ | `isPure` | `boolean` | Whether the input is pure |
108
+ | `isReadonly` | `boolean` | Whether the input is read-only |
109
+ | `isValid` | `boolean \| null` | Whether the input is valid |
110
+ | `isValidating` | `boolean` | Whether the input is being validated |
111
+ | `reset` | `() => Promise<void>` | Resets the input to its initial state |
112
+ | `resetValidation` | `() => Promise<void>` | Resets the validation of the input |
113
+ | `validate` | `(silent?: boolean) => Promise<string[]>` | Validates the input |