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