@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,93 @@
1
+ # CdsCheckbox — 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 checkbox turns an independent option on and off: consent to terms, an entry in a filter list, a profile setting. Every checkbox in a group is selected on its own, which makes it right for multiple choice.
7
+
8
+ ## CdsCheckbox
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` | `'horizontal'` | 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` | `'checkbox-off'` | no | Icon of the unselected state |
27
+ | `falseValue` | `any` | — | no | Value for the false state. |
28
+ | `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. |
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
+ | `indeterminate` | `boolean \| undefined` | — | no | Indeterminate state of the checkbox. |
35
+ | `indeterminateIcon` | `IconValue \| undefined` | `'checkbox-indeterminate'` | no | Icon shown in the indeterminate state. |
36
+ | `label` | `string \| undefined` | — | no | Label text of the component |
37
+ | `maxErrors` | `string \| number \| undefined` | `1` | no | Maximum number of validation errors shown |
38
+ | `maxWidth` | `string \| number \| undefined` | — | no | Maximum component width |
39
+ | `messages` | `string \| readonly string[] \| undefined` | `[]` | no | Messages shown under the input |
40
+ | `minWidth` | `string \| number \| undefined` | — | no | Minimum component width |
41
+ | `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 |
42
+ | `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` |
43
+ | `name` | `string \| undefined` | — | no | The `name` attribute of the native input element. In a group one name joins all the nested controls |
44
+ | `persistentHint` | `boolean \| undefined` | — | no | Always show the hint, not only on focus |
45
+ | `prependIcon` | `IconValue \| undefined` | — | no | Icon in the prepend slot, before the content |
46
+ | `readonly` | `boolean \| null \| undefined` | `null` | no | Read-only state |
47
+ | `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. |
48
+ | `size` | `number \| "xs" \| "sm" \| "md" \| "lg" \| "xl" \| undefined` | `'md'` | no | Size of the component |
49
+ | `textColor` | `string \| undefined` | — | no | Text color of the component |
50
+ | `theme` | `string \| undefined` | — | no | Component theme |
51
+ | `trueIcon` | `IconValue \| undefined` | `'checkbox-on'` | no | Icon of the selected state |
52
+ | `trueValue` | `any` | — | no | Value for the true state. |
53
+ | `type` | `string \| undefined` | — | no | Type of the native input element — `radio` or `checkbox`, for example |
54
+ | `validateOn` | `ValidateOn \| undefined` | — | no | Changes the type of the event that triggers validation |
55
+ | `validationValue` | `any` | — | no | Value used when applying the validation rules |
56
+ | `value` | `any` | — | no | Value used when the component is selected inside a group. When it is not set, a unique identifier is used. |
57
+ | `valueComparator` | `ValueComparator \| undefined` | `true` | no | Function comparing the model value with the `value` of the control. Deep comparison by default |
58
+ | `width` | `string \| number \| undefined` | — | no | Component width |
59
+
60
+ **Events**
61
+
62
+ | Name | Type | Description |
63
+ | --- | --- | --- |
64
+ | `update:focused` | `[focused: boolean]` | Fires when the focus state of the component changes. |
65
+ | `update:modelValue` | `[value: any]` | Fires when the model of the component changes. |
66
+
67
+ **Slots**
68
+
69
+ | Name | Type | Description |
70
+ | --- | --- | --- |
71
+ | `append` | `CdsInputSlot` | Adds an element after the input |
72
+ | `default` | `{ backgroundColorClasses: Ref<string[], string[]>; backgroundColorStyles: Ref<CSSProperties, CSSProperties>; }` | Default slot |
73
+ | `description` | `{ description: string \| undefined; props: Record<string, any>; }` | Default slot of the CdsDescription component |
74
+ | `details` | `CdsInputSlot` | Slot for custom content that lets you customize how the messages are displayed |
75
+ | `input` | `SelectionControlSlot` | Slot for the default input element. |
76
+ | `label` | `{ label: string \| undefined; props: Record<string, any>; }` | Default slot of the CdsLabel component |
77
+ | `message` | `CdsMessagesSlots` | Slot for customizing the content of a message |
78
+ | `messages` | `CdsInputSlot` | Slot for custom content that lets you customize how the messages are displayed |
79
+ | `prepend` | `CdsInputSlot` | Adds an element before the input |
80
+
81
+ **Exposed**
82
+
83
+ | Name | Type | Description |
84
+ | --- | --- | --- |
85
+ | `isDirty` | `boolean` | Whether the input is dirty |
86
+ | `isDisabled` | `boolean` | Whether the input is disabled |
87
+ | `isPure` | `boolean` | Whether the input is pure |
88
+ | `isReadonly` | `boolean` | Whether the input is read-only |
89
+ | `isValid` | `boolean \| null` | Whether the input is valid |
90
+ | `isValidating` | `boolean` | Whether the input is being validated |
91
+ | `reset` | `() => Promise<void>` | Resets the input to its initial state |
92
+ | `resetValidation` | `() => Promise<void>` | Resets the validation of the input |
93
+ | `validate` | `(silent?: boolean) => Promise<string[]>` | Validates the input |
@@ -0,0 +1,319 @@
1
+ # CdsCheckbox — 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 checkbox turns an independent option on and off: consent to terms, an entry in a filter list, a profile setting. Every checkbox in a group is selected on its own, which makes it right for multiple choice.
7
+
8
+ ## Label and description
9
+
10
+ The `label` prop names the option, `description` adds an explanation under the label. The slots of the same name accept arbitrary markup — a link to the terms, for example (see the "Consent in a form" scenario).
11
+
12
+ **Example (SFC):**
13
+
14
+ ```vue
15
+ <script setup lang="ts">
16
+ import { CdsCheckbox } from '@central-design-system/components';
17
+ import { ref } from 'vue';
18
+
19
+ const completed = ref(true);
20
+ const autoRenew = ref(false);
21
+ </script>
22
+
23
+ <template>
24
+ <div class="flex flex-col gap-2 w-[350px] m-auto">
25
+ <CdsCheckbox v-model="completed" label="Показывать завершённые задачи" hide-details />
26
+ <CdsCheckbox
27
+ v-model="autoRenew"
28
+ label="Автоматическое продление"
29
+ description="Подписка продлится в день окончания текущего периода"
30
+ hide-details
31
+ />
32
+ </div>
33
+ </template>
34
+ ```
35
+
36
+ ## States
37
+
38
+ `disabled` blocks the checkbox and lowers the contrast, `readonly` forbids changes but does not change the appearance.
39
+
40
+ **Example (SFC):**
41
+
42
+ ```vue
43
+ <script setup lang="ts">
44
+ import { CdsCheckbox } from '@central-design-system/components';
45
+ </script>
46
+
47
+ <template>
48
+ <div class="flex flex-col gap-2 w-[350px] m-auto">
49
+ <CdsCheckbox label="Disabled" disabled hide-details />
50
+ <CdsCheckbox :model-value="true" label="Disabled, выбран" disabled hide-details />
51
+ <CdsCheckbox :model-value="true" label="Readonly" readonly hide-details />
52
+ </div>
53
+ </template>
54
+ ```
55
+
56
+ ## Indeterminate state
57
+
58
+ The `indeterminate` prop shows an intermediate state — usually on a parent checkbox when only some of the nested entries are selected. This is a visual flag: it does not change the model value, and the icon is set by `indeterminate-icon`. A live example is in the "Select all" scenario.
59
+
60
+ **Example (SFC):**
61
+
62
+ ```vue
63
+ <script setup lang="ts">
64
+ import { CdsCheckbox } from '@central-design-system/components';
65
+ </script>
66
+
67
+ <template>
68
+ <div class="flex flex-col gap-2 w-[350px] m-auto">
69
+ <CdsCheckbox indeterminate label="Выбрана часть вложенных пунктов" hide-details />
70
+ <CdsCheckbox :model-value="true" label="Выбран" hide-details />
71
+ <CdsCheckbox label="Не выбран" hide-details />
72
+ </div>
73
+ </template>
74
+ ```
75
+
76
+ ## Sizes
77
+
78
+ The `size` prop accepts values from `xs` to `xl`, `md` by default. The label and the description scale together with the control.
79
+
80
+ **Example (SFC):**
81
+
82
+ ```vue
83
+ <script setup lang="ts">
84
+ import { CdsCheckbox } from '@central-design-system/components';
85
+ </script>
86
+
87
+ <template>
88
+ <div class="flex flex-col gap-2 w-[350px] m-auto">
89
+ <CdsCheckbox :model-value="true" size="xs" label="Размер xs" hide-details />
90
+ <CdsCheckbox :model-value="true" size="sm" label="Размер sm" hide-details />
91
+ <CdsCheckbox :model-value="true" size="md" label="Размер md" hide-details />
92
+ <CdsCheckbox :model-value="true" size="lg" label="Размер lg" hide-details />
93
+ <CdsCheckbox :model-value="true" size="xl" label="Размер xl" hide-details />
94
+ </div>
95
+ </template>
96
+ ```
97
+
98
+ ## Colors
99
+
100
+ The `color` prop sets the color of a selected checkbox, `base-color` — the color of an unselected one.
101
+
102
+ **Example (SFC):**
103
+
104
+ ```vue
105
+ <script setup lang="ts">
106
+ import { CdsCheckbox } from '@central-design-system/components';
107
+ </script>
108
+
109
+ <template>
110
+ <div class="flex flex-col gap-2 w-[350px] m-auto">
111
+ <CdsCheckbox :model-value="true" color="green" label="Зелёный при выборе (color)" hide-details />
112
+ <CdsCheckbox :model-value="true" color="purple" label="Фиолетовый при выборе (color)" hide-details />
113
+ <CdsCheckbox base-color="purple" label="Фиолетовый до выбора (base-color)" hide-details />
114
+ </div>
115
+ </template>
116
+ ```
117
+
118
+ ## Messages and errors
119
+
120
+ `messages` shows a supporting text under the checkbox, `error-messages` — a ready error message (the one coming from the server, for example) together with the error state. Validation rules through `rules` are in the "Consent in a form" scenario.
121
+
122
+ **Example (SFC):**
123
+
124
+ ```vue
125
+ <script setup lang="ts">
126
+ import { CdsCheckbox } from '@central-design-system/components';
127
+ import { ref } from 'vue';
128
+
129
+ const notifications = ref(true);
130
+ </script>
131
+
132
+ <template>
133
+ <div class="flex flex-col gap-2 w-[350px] m-auto">
134
+ <CdsCheckbox v-model="notifications" label="Уведомления о торгах" messages="Можно отключить в любой момент" />
135
+ <CdsCheckbox label="Передача данных партнёрам" error-messages="Для участия в торгах разрешите передачу данных" />
136
+ </div>
137
+ </template>
138
+ ```
139
+
140
+ ## Your own values
141
+
142
+ By default the model keeps `true` or `false`. The `true-value` and `false-value` props replace them with your own values — handy when the API expects strings or codes.
143
+
144
+ **Example (SFC):**
145
+
146
+ ```vue
147
+ <script setup lang="ts">
148
+ import { CdsCheckbox } from '@central-design-system/components';
149
+ import { ref } from 'vue';
150
+
151
+ const subscription = ref('subscribed');
152
+ </script>
153
+
154
+ <template>
155
+ <div class="flex flex-col items-center gap-2">
156
+ <CdsCheckbox
157
+ v-model="subscription"
158
+ true-value="subscribed"
159
+ false-value="unsubscribed"
160
+ label="Получать рассылку"
161
+ hide-details
162
+ />
163
+
164
+ <p>Значение модели: {{ subscription }}</p>
165
+ </div>
166
+ </template>
167
+ ```
168
+
169
+ ## A group of checkboxes
170
+
171
+ To build a group, pass the same array in `v-model` to all the checkboxes and give them unique `value`s — the selected values are collected into the array. `hide-details` removes the bottom block and the rows sit right next to each other; the common heading and description of the group are set by [CdsLabel](../cds-label/api.md) and [CdsDescription](../cds-description/api.md).
172
+
173
+ **Example (SFC):**
174
+
175
+ ```vue
176
+ <script setup lang="ts">
177
+ import { CdsCheckbox, CdsDescription, CdsLabel } from '@central-design-system/components';
178
+ import { ref } from 'vue';
179
+
180
+ const selected = ref(['email']);
181
+ </script>
182
+
183
+ <template>
184
+ <div class="w-[350px] m-auto">
185
+ <CdsLabel class="text-sm mb-1">Способы связи</CdsLabel>
186
+ <CdsDescription class="text-xs mb-2">Как связаться с вами по заявке</CdsDescription>
187
+ <div class="flex flex-col gap-2">
188
+ <CdsCheckbox v-model="selected" label="Электронная почта" hide-details value="email" />
189
+ <CdsCheckbox v-model="selected" label="Телефон" hide-details value="phone" />
190
+ <CdsCheckbox v-model="selected" label="Telegram" hide-details value="telegram" />
191
+ </div>
192
+
193
+ <p>Выбрано: {{ selected }}</p>
194
+ </div>
195
+ </template>
196
+ ```
197
+
198
+ ## Select all
199
+
200
+ The parent checkbox controls the group: a computed model checks and unchecks all the entries at once, and `indeterminate` turns on while only some of them are selected.
201
+
202
+ **Example (SFC):**
203
+
204
+ ```vue
205
+ <script setup lang="ts">
206
+ import { CdsCheckbox } from '@central-design-system/components';
207
+ import { computed, ref } from 'vue';
208
+
209
+ const options = ['Договоры', 'Счета', 'Акты сверки'];
210
+ const selected = ref(['Договоры']);
211
+
212
+ const allSelected = computed({
213
+ get: () => selected.value.length === options.length,
214
+ set: (value) => {
215
+ selected.value = value ? [...options] : [];
216
+ }
217
+ });
218
+
219
+ const partiallySelected = computed(() => selected.value.length > 0 && selected.value.length < options.length);
220
+ </script>
221
+
222
+ <template>
223
+ <div class="w-[350px] m-auto">
224
+ <CdsCheckbox v-model="allSelected" :indeterminate="partiallySelected" label="Выбрать всё" hide-details />
225
+ <div class="flex flex-col gap-1 mt-1 pl-4">
226
+ <CdsCheckbox
227
+ v-for="option in options"
228
+ :key="option"
229
+ v-model="selected"
230
+ :value="option"
231
+ :label="option"
232
+ hide-details
233
+ />
234
+ </div>
235
+ </div>
236
+ </template>
237
+ ```
238
+
239
+ ## Consent in a form
240
+
241
+ A required consent is a rule in `rules` that returns the error text while the checkbox is unchecked. The `label` slot adds a link to the terms into the label, and the button starts the check through the `validate()` of the [CdsForm](../cds-form/api.md).
242
+
243
+ **Example (SFC):**
244
+
245
+ ```vue
246
+ <script setup lang="ts">
247
+ import { CdsButton, CdsCheckbox, CdsForm, CdsLink } from '@central-design-system/components';
248
+ import { ref, unref } from 'vue';
249
+
250
+ const consent = ref(false);
251
+ const sending = ref(false);
252
+ const formRef = ref<InstanceType<typeof CdsForm>>();
253
+
254
+ const rules = [(value: boolean) => !!value || 'Для регистрации примите условия сервиса'];
255
+
256
+ async function submit() {
257
+ const form = unref(formRef);
258
+ if (!form) return;
259
+
260
+ const { valid } = await form.validate();
261
+ if (!valid) return;
262
+
263
+ sending.value = true;
264
+ setTimeout(() => {
265
+ sending.value = false;
266
+ }, 1500);
267
+ }
268
+ </script>
269
+
270
+ <template>
271
+ <CdsForm ref="formRef" class="flex flex-col gap-2 w-[350px] m-auto">
272
+ <CdsCheckbox v-model="consent" :rules="rules">
273
+ <template #label> Принимаю <CdsLink href="#">условия сервиса</CdsLink> </template>
274
+ </CdsCheckbox>
275
+
276
+ <CdsButton text="Зарегистрироваться" :loading="sending" @click="submit" />
277
+ </CdsForm>
278
+ </template>
279
+ ```
280
+
281
+ ## Filtering a list
282
+
283
+ A group of checkboxes with an array in `v-model` filters the list on the fly: a computed keeps the documents of the selected types, and an empty selection means "show everything".
284
+
285
+ **Example (SFC):**
286
+
287
+ ```vue
288
+ <script setup lang="ts">
289
+ import { CdsCheckbox } from '@central-design-system/components';
290
+ import { computed, ref } from 'vue';
291
+
292
+ const documents = [
293
+ { name: 'Договор поставки № 14', type: 'Договор' },
294
+ { name: 'Счёт № 209', type: 'Счёт' },
295
+ { name: 'Акт сверки за июнь', type: 'Акт' },
296
+ { name: 'Договор аренды № 7', type: 'Договор' },
297
+ { name: 'Счёт № 218', type: 'Счёт' }
298
+ ];
299
+
300
+ const types = ['Договор', 'Счёт', 'Акт'];
301
+ const selectedTypes = ref<string[]>([]);
302
+
303
+ const filtered = computed(() =>
304
+ selectedTypes.value.length ? documents.filter((document) => selectedTypes.value.includes(document.type)) : documents
305
+ );
306
+ </script>
307
+
308
+ <template>
309
+ <div class="flex w-[350px] flex-col gap-2 m-auto">
310
+ <div class="flex flex-wrap gap-3">
311
+ <CdsCheckbox v-for="type in types" :key="type" v-model="selectedTypes" :value="type" :label="type" hide-details />
312
+ </div>
313
+
314
+ <ul class="m-0 flex list-none flex-col gap-1 p-0">
315
+ <li v-for="document in filtered" :key="document.name">{{ document.name }}</li>
316
+ </ul>
317
+ </div>
318
+ </template>
319
+ ```
@@ -0,0 +1,10 @@
1
+ # CdsCheckbox — 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
+ | Checkboxes are for independent options: each one can be turned on and off separately. | Checkboxes do not fit mutually exclusive options — use radio buttons. |
9
+ | The label is phrased positively: a checked checkbox means the option is on. | A negation in the label makes the user guess what an unchecked box means. |
10
+ | A short label names the option, the details go into the description. | In a long label the point of the option drowns in details. |
@@ -0,0 +1,18 @@
1
+ # CdsCheckbox — 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
+ ## _CdsCheckbox.variables.scss
8
+
9
+ ```scss
10
+ // ======================= Sizes =======================
11
+ $checkbox-label-margins: (
12
+ xs: 0,
13
+ sm: var(--cds-spacing-50),
14
+ md: var(--cds-spacing-50),
15
+ lg: var(--cds-spacing-50),
16
+ xl: var(--cds-spacing-100)
17
+ ) !default;
18
+ ```
@@ -0,0 +1,56 @@
1
+ # CdsCheckboxButton — API
2
+
3
+ > Generated from meta.json by `bun run generate:skill`. Do not edit manually.
4
+ > Examples: [examples.md](examples.md) · Tokens: [tokens.md](tokens.md)
5
+
6
+ The checkbox control without a label and a messages block — the atom [CdsCheckbox](../cds-checkbox/api.md) is built on. Use it where the caption is not needed or lives outside: in a table cell, a list row, a card.
7
+
8
+ ## CdsCheckboxButton
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` | `'checkbox-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
+ | `indeterminate` | `boolean \| undefined` | — | no | Indeterminate state of the checkbox. |
27
+ | `indeterminateIcon` | `IconValue \| undefined` | `'checkbox-indeterminate'` | no | Icon shown in the indeterminate state. |
28
+ | `inline` | `boolean \| undefined` | — | no | Renders the control as an inline element — the container does not stretch to the full width |
29
+ | `label` | `string \| undefined` | — | no | Label text of the component |
30
+ | `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 |
31
+ | `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` |
32
+ | `name` | `string \| undefined` | — | no | The `name` attribute of the native input element. In a group one name joins all the nested controls |
33
+ | `readonly` | `boolean \| null \| undefined` | `null` | no | Read-only state |
34
+ | `textColor` | `string \| undefined` | — | no | Text color of the component |
35
+ | `theme` | `string \| undefined` | — | no | Component theme |
36
+ | `trueIcon` | `IconValue \| undefined` | `'checkbox-on'` | no | Icon of the selected state |
37
+ | `trueValue` | `any` | — | no | Value for the true state. |
38
+ | `type` | `string \| undefined` | — | no | Type of the native input element — `radio` or `checkbox`, for example |
39
+ | `value` | `any` | — | no | Value used when the component is selected inside a group. When it is not set, a unique identifier is used. |
40
+ | `valueComparator` | `ValueComparator \| undefined` | `true` | no | Function comparing the model value with the `value` of the control. Deep comparison by default |
41
+
42
+ **Events**
43
+
44
+ | Name | Type | Description |
45
+ | --- | --- | --- |
46
+ | `update:indeterminate` | `[value: boolean]` | Fired when the indeterminate state of the checkbox changed |
47
+ | `update:modelValue` | `[value: boolean]` | Fired when the checkbox was toggled. Passes the new state |
48
+
49
+ **Slots**
50
+
51
+ | Name | Type | Description |
52
+ | --- | --- | --- |
53
+ | `default` | `{ backgroundColorClasses: Ref<string[], string[]>; backgroundColorStyles: Ref<CSSProperties, CSSProperties>; }` | Default slot |
54
+ | `description` | `{ description: string \| undefined; props: Record<string, any>; }` | Default slot of the CdsDescription component |
55
+ | `input` | `SelectionControlSlot` | Slot for the default input element. |
56
+ | `label` | `{ label: string \| undefined; props: Record<string, any>; }` | Default slot of the CdsLabel component |
@@ -0,0 +1,29 @@
1
+ # CdsCheckboxButton — 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
+ The checkbox control without a label and a messages block — the atom [CdsCheckbox](../cds-checkbox/api.md) is built on. Use it where the caption is not needed or lives outside: in a table cell, a list row, a card.
7
+
8
+ ## Basic example
9
+
10
+ The control is driven through `v-model`, `indeterminate` shows the intermediate state, `disabled` blocks the choice. There is no visible label, so add an `aria-label` — that way the control stays clear for screen readers.
11
+
12
+ **Example (SFC):**
13
+
14
+ ```vue
15
+ <script setup lang="ts">
16
+ import { CdsCheckboxButton } from '@central-design-system/components';
17
+ import { ref } from 'vue';
18
+
19
+ const checked = ref(true);
20
+ </script>
21
+
22
+ <template>
23
+ <div class="flex justify-center items-center gap-2">
24
+ <CdsCheckboxButton v-model="checked" aria-label="Выбрать элемент" />
25
+ <CdsCheckboxButton indeterminate aria-label="Выбрана часть элементов" />
26
+ <CdsCheckboxButton :model-value="true" disabled aria-label="Выбор недоступен" />
27
+ </div>
28
+ </template>
29
+ ```
@@ -0,0 +1,56 @@
1
+ # CdsCheckboxButton — 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
+ ## _CdsCheckboxButton.variables.scss
8
+
9
+ ```scss
10
+ @use "../../../styles/tools";
11
+
12
+ // Checkbox
13
+ $checkbox-button-size: tools.to-rem(20px) !default;
14
+ $checkbox-control-spacing: var(--cds-spacing-200) !default;
15
+ $checkbox-button-outline: var(--cds-border-200) solid !default;
16
+ $checkbox-button-border-radius: var(--cds-border-radius-200) !default;
17
+ $checkbox-transition-base: (tools.$cds-duration-fast + ms) tools.get-motion('ease-in-out', 'basic') !default;
18
+ $checkbox-transition-accent: (tools.$cds-duration-fast + ms) tools.get-motion('ease-in-out', 'accent') !default;
19
+
20
+ // ======================= Sizes =======================
21
+ $checkbox-button-sizes: (
22
+ xs: tools.to-rem(16px),
23
+ sm: tools.to-rem(18px),
24
+ md: tools.to-rem(20px),
25
+ lg: tools.to-rem(24px),
26
+ xl: tools.to-rem(28px)
27
+ ) !default;
28
+ $checkbox-control-spacings: (
29
+ xs: var(--cds-spacing-100),
30
+ sm: var(--cds-spacing-100),
31
+ md: var(--cds-spacing-200),
32
+ lg: var(--cds-spacing-200),
33
+ xl: var(--cds-spacing-300)
34
+ ) !default;
35
+
36
+ // Selection Field
37
+ $checkbox-selection-control-size: calc(var(--cds-checkbox-button-size) + var(--cds-checkbox-control-spacing)) !default;
38
+
39
+ // Colors
40
+ $checkbox-button-colors: (
41
+ 'unselected': (
42
+ default: rgb(var(--cds-color-line-primary)),
43
+ error: rgb(var(--cds-color-status-danger-line))
44
+ ),
45
+ 'selected': (
46
+ default: rgb(var(--cds-color-line-selected)),
47
+ error: rgb(var(--cds-color-status-danger-line))
48
+ ),
49
+ 'disabled': (
50
+ default: rgb(var(--cds-color-line-disable))
51
+ ),
52
+ 'focus': (
53
+ default: rgb(var(--cds-color-line-focus-outline))
54
+ )
55
+ ) !default;
56
+ ```