@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,202 @@
1
+ # CdsField — 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 frame of an input: the background, the border, the focus and error states, the inner icons, the clear button and the loading indicator. You put the control itself into the `default` slot — the text fields, selects and autocompletes of the design system are built on `CdsField`.
7
+
8
+ ## Icons
9
+
10
+ The `prepend-inner-icon` and `append-inner-icon` props put an icon inside the frame — before and after the control. The same areas are available as the `prepend-inner` and `append-inner` slots when you need a button rather than an icon.
11
+
12
+ **Example (SFC):**
13
+
14
+ ```vue
15
+ <script setup lang="ts">
16
+ import { CdsField } from '@central-design-system/components';
17
+ import { ref } from 'vue';
18
+
19
+ const query = ref('');
20
+ </script>
21
+
22
+ <template>
23
+ <div class="w-[320px] m-auto">
24
+ <CdsField
25
+ v-slot="{ props: fieldProps, focus, blur }"
26
+ prepend-inner-icon="search"
27
+ append-inner-icon="settings"
28
+ :dirty="!!query"
29
+ >
30
+ <input v-bind="fieldProps" v-model="query" placeholder="Поиск по заявкам" @focus="focus" @blur="blur" />
31
+ </CdsField>
32
+ </div>
33
+ </template>
34
+ ```
35
+
36
+ ## Clearing
37
+
38
+ The `clearable` prop adds a cross; it shows up when the field is marked `dirty` and appears on hover or focus. The `persistent-clearable` prop keeps the cross visible at all times. The value is reset not by the component but by you — in the `@click:clear` handler.
39
+
40
+ **Example (SFC):**
41
+
42
+ ```vue
43
+ <script setup lang="ts">
44
+ import { CdsField } from '@central-design-system/components';
45
+ import { ref } from 'vue';
46
+
47
+ const onHover = ref('Видна при наведении');
48
+ const persistent = ref('Видна всегда');
49
+ </script>
50
+
51
+ <template>
52
+ <div class="flex flex-col gap-2 w-[320px] m-auto">
53
+ <CdsField v-slot="{ props: fieldProps, focus, blur }" clearable :dirty="!!onHover" @click:clear="onHover = ''">
54
+ <input v-bind="fieldProps" v-model="onHover" @focus="focus" @blur="blur" />
55
+ </CdsField>
56
+
57
+ <CdsField
58
+ v-slot="{ props: fieldProps, focus, blur }"
59
+ clearable
60
+ persistent-clearable
61
+ :dirty="!!persistent"
62
+ @click:clear="persistent = ''"
63
+ >
64
+ <input v-bind="fieldProps" v-model="persistent" @focus="focus" @blur="blur" />
65
+ </CdsField>
66
+ </div>
67
+ </template>
68
+ ```
69
+
70
+ ## States
71
+
72
+ The `disabled`, `readonly` and `error` props change the color of the frame and of the text. Set the state of the control inside separately: `CdsField` draws the frame but does not control your `input`.
73
+
74
+ **Example (SFC):**
75
+
76
+ ```vue
77
+ <script setup lang="ts">
78
+ import { CdsField } from '@central-design-system/components';
79
+ </script>
80
+
81
+ <template>
82
+ <div class="flex flex-col gap-2 w-[320px] m-auto">
83
+ <CdsField v-slot="{ props: fieldProps }">
84
+ <input v-bind="fieldProps" value="Обычное поле" readonly />
85
+ </CdsField>
86
+
87
+ <CdsField v-slot="{ props: fieldProps }" disabled>
88
+ <input v-bind="fieldProps" value="Заблокировано" disabled />
89
+ </CdsField>
90
+
91
+ <CdsField v-slot="{ props: fieldProps }" readonly>
92
+ <input v-bind="fieldProps" value="Только для чтения" readonly />
93
+ </CdsField>
94
+
95
+ <CdsField v-slot="{ props: fieldProps }" error>
96
+ <input v-bind="fieldProps" value="Ошибка" readonly />
97
+ </CdsField>
98
+ </div>
99
+ </template>
100
+ ```
101
+
102
+ ## Loading
103
+
104
+ The `loading` prop shows a bar under the field. The `circle` value replaces it with a circular indicator inside the frame — handier when the field waits for a server response while typing.
105
+
106
+ **Example (SFC):**
107
+
108
+ ```vue
109
+ <script setup lang="ts">
110
+ import { CdsField } from '@central-design-system/components';
111
+ </script>
112
+
113
+ <template>
114
+ <div class="flex flex-col gap-3 w-[320px] m-auto">
115
+ <CdsField v-slot="{ props: fieldProps }" loading>
116
+ <input v-bind="fieldProps" value="Полоса под полем" readonly />
117
+ </CdsField>
118
+
119
+ <CdsField v-slot="{ props: fieldProps }" loading="circle">
120
+ <input v-bind="fieldProps" value="Индикатор внутри поля" readonly />
121
+ </CdsField>
122
+ </div>
123
+ </template>
124
+ ```
125
+
126
+ ## Sizes
127
+
128
+ The `size` prop changes the height of the frame and its inner paddings. The default size is `md`.
129
+
130
+ **Example (SFC):**
131
+
132
+ ```vue
133
+ <script setup lang="ts">
134
+ import { CdsField } from '@central-design-system/components';
135
+
136
+ const sizes = ['xs', 'sm', 'md', 'lg', 'xl'] as const;
137
+ </script>
138
+
139
+ <template>
140
+ <div class="flex flex-col gap-2 w-[320px] m-auto">
141
+ <CdsField v-for="size of sizes" :key="size" v-slot="{ props: fieldProps }" :size="size">
142
+ <input v-bind="fieldProps" :value="'Размер ' + size" readonly />
143
+ </CdsField>
144
+ </div>
145
+ </template>
146
+ ```
147
+
148
+ ## A field with tags
149
+
150
+ The control in the `default` slot is any markup you like, so a set of tags and an input for a new entry fit inside the frame. The `focus` and `blur` handlers from the slot turn the highlighting of the frame on, `dirty` shows the cross, and `@click:clear` empties the list.
151
+
152
+ **Example (SFC):**
153
+
154
+ ```vue
155
+ <script setup lang="ts">
156
+ import { CdsField, CdsTag } from '@central-design-system/components';
157
+ import { ref } from 'vue';
158
+
159
+ const tags = ref(['Канцелярия', 'Мебель']);
160
+ const draft = ref('');
161
+
162
+ function addTag() {
163
+ const value = draft.value.trim();
164
+ if (!value) return;
165
+
166
+ tags.value = [...tags.value, value];
167
+ draft.value = '';
168
+ }
169
+ </script>
170
+
171
+ <template>
172
+ <div class="w-[350px] m-auto">
173
+ <CdsField
174
+ v-slot="{ props: fieldProps, focus, blur }"
175
+ prepend-inner-icon="category"
176
+ clearable
177
+ :dirty="!!tags.length"
178
+ @click:clear="tags = []"
179
+ >
180
+ <div v-bind="fieldProps">
181
+ <CdsTag
182
+ v-for="tag of tags"
183
+ :key="tag"
184
+ size="sm"
185
+ :text="tag"
186
+ closable
187
+ @click:close="tags = tags.filter((item) => item !== tag)"
188
+ />
189
+
190
+ <input
191
+ v-model="draft"
192
+ class="flex-1 min-w-[80px] bg-transparent outline-none"
193
+ placeholder="Добавить категорию"
194
+ @focus="focus"
195
+ @blur="blur"
196
+ @keydown.enter.prevent="addTag"
197
+ />
198
+ </div>
199
+ </CdsField>
200
+ </div>
201
+ </template>
202
+ ```
@@ -0,0 +1,94 @@
1
+ # CdsField — 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
+ ## _CdsField.variables.scss
8
+
9
+ ```scss
10
+ @use 'sass:map';
11
+ @use '../../../styles/tools';
12
+ @use '../../../styles/settings';
13
+
14
+ // ======================= Variables =======================
15
+ $field-input-border-size: var(--cds-border-100) solid !default;
16
+ $field-input-border-radius: var(--cds-border-radius-200) !default;
17
+ $field-input-shadow-border-size: 2px;
18
+ $field-input-shadow-border-opacity: 0.2;
19
+ $field-input-row-gap: var(--cds-spacing-50) !default;
20
+ $field-input-clearable-margin: var(--cds-spacing-200) !default;
21
+ $field-input-loader-circle-margin: var(--cds-spacing-200) !default;
22
+ $field-input-transition: tools.$cds-duration-fast + ms settings.$standard-easing !default;
23
+
24
+
25
+ // ======================= Colors =======================
26
+ $field-control-color: (
27
+ default: (
28
+ 'background': rgb(var(--cds-color-fill-primary)),
29
+ 'content': rgb(var(--cds-color-content-primary)),
30
+ 'border': rgb(var(--cds-color-line-primary)),
31
+ 'placeholder': rgb(var(--cds-color-content-tertiary)),
32
+ ),
33
+ hover: (
34
+ 'border': rgb(var(--cds-color-line-primary-hover))
35
+ ),
36
+ focus: (
37
+ 'border': rgb(var(--cds-color-line-focus))
38
+ ),
39
+ error: (
40
+ 'border': rgb(var(--cds-color-status-danger-line)),
41
+ 'content': rgb(var(--cds-color-status-danger-content)),
42
+ 'placeholder': rgb(var(--cds-color-status-danger-content)),
43
+ ),
44
+ disabled: (
45
+ 'background': rgb(var(--cds-color-fill-disable)),
46
+ 'border': rgb(var(--cds-color-line-disable)),
47
+ 'content': rgb(var(--cds-color-content-disable))
48
+ ),
49
+ ) !default;
50
+
51
+ // ======================= Sizes =======================
52
+ $field-control-sizes: (
53
+ xs: (
54
+ 'min-height': calc(tools.to-rem(24px) - var(--cds-border-200)),
55
+ 'padding-inline': var(--cds-spacing-200),
56
+ 'padding-block': 0,
57
+ 'affixed-padding': var(--cds-spacing-200),
58
+ 'affixed-inner-padding': var(--cds-spacing-100),
59
+ 'loader-circle-size': tools.to-rem(12px),
60
+ ),
61
+ sm: (
62
+ 'min-height': calc(tools.to-rem(28px) - var(--cds-border-200)),
63
+ 'padding-inline': var(--cds-spacing-200),
64
+ 'padding-block': 0,
65
+ 'affixed-padding': var(--cds-spacing-200),
66
+ 'affixed-inner-padding': var(--cds-spacing-100),
67
+ 'loader-circle-size': tools.to-rem(14px),
68
+ ),
69
+ md: (
70
+ 'min-height': calc(tools.to-rem(32px) - var(--cds-border-200)),
71
+ 'padding-inline': var(--cds-spacing-300),
72
+ 'padding-block': var(--cds-spacing-100),
73
+ 'affixed-padding': var(--cds-spacing-300),
74
+ 'affixed-inner-padding': var(--cds-spacing-200),
75
+ 'loader-circle-size': tools.to-rem(16px),
76
+ ),
77
+ lg: (
78
+ 'min-height': calc(tools.to-rem(36px) - var(--cds-border-200)),
79
+ 'padding-inline': var(--cds-spacing-300),
80
+ 'padding-block': 0,
81
+ 'affixed-padding': var(--cds-spacing-300),
82
+ 'affixed-inner-padding': var(--cds-spacing-200),
83
+ 'loader-circle-size': tools.to-rem(20px),
84
+ ),
85
+ xl: (
86
+ 'min-height': calc(tools.to-rem(40px) - var(--cds-border-200)),
87
+ 'padding-inline': var(--cds-spacing-400),
88
+ 'padding-block': 0,
89
+ 'affixed-padding': var(--cds-spacing-300),
90
+ 'affixed-inner-padding': var(--cds-spacing-200),
91
+ 'loader-circle-size': tools.to-rem(24px),
92
+ )
93
+ ) !default;
94
+ ```
@@ -0,0 +1,109 @@
1
+ # CdsFileInput — 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 file field: the user attaches documents by a click, by dragging or by pasting from the clipboard. Around the native `input type="file"` the component gathers everything a form needs: a label, a description, messages, a counter, clearing and a filter by file types.
7
+
8
+ ## CdsFileInput
9
+
10
+ **Props**
11
+
12
+ | Prop | Type | Default | Required | Description |
13
+ | --- | --- | --- | --- | --- |
14
+ | `active` | `boolean \| undefined` | — | no | Active state of the field |
15
+ | `activeColor` | `string \| undefined` | — | no | Color of the component in its active state |
16
+ | `appendIcon` | `IconValue \| undefined` | — | no | Icon in the append slot, after the content |
17
+ | `appendInnerIcon` | `IconValue \| undefined` | — | no | Icon in the inner append slot, after the content of the field |
18
+ | `baseColor` | `string \| undefined` | — | no | Color of the component in its inactive state |
19
+ | `bgColor` | `string \| undefined` | — | no | Background color of the component |
20
+ | `centerAffix` | `boolean \| undefined` | — | no | Vertically center the appendInner, prependInner, clearIcon and label elements. |
21
+ | `chips` | `boolean \| undefined` | — | no | Show the chosen files as tags (CdsTag) instead of a list of names. |
22
+ | `clearable` | `boolean \| undefined` | `true` | no | Shows the clear button |
23
+ | `clearIcon` | `IconValue \| undefined` | `'remove'` | no | Icon of the clear button |
24
+ | `color` | `string \| undefined` | — | no | Component color |
25
+ | `counter` | `boolean \| undefined` | — | no | Show a counter of the number (and, with `showSize`, of the total size) of the chosen files. |
26
+ | `counterSizeString` | `string \| undefined` | `'$cds.fileInput.counterSize'` | no | Localization key for the text of the counter with the file size. |
27
+ | `counterString` | `string \| undefined` | `'$cds.fileInput.counter'` | no | Localization key for the text of the file count counter. |
28
+ | `description` | `string \| undefined` | — | no | Description of the component, shown under the label |
29
+ | `dirty` | `boolean \| undefined` | — | no | Marks that the value of the field was changed by the user |
30
+ | `disabled` | `boolean \| null \| undefined` | `null` | no | Disabled state |
31
+ | `error` | `boolean \| undefined` | — | no | Error state |
32
+ | `errorMessages` | `string \| readonly string[] \| null \| undefined` | `[]` | no | Puts the component into the error state and passes custom error messages. They are merged with any checks defined in the `rules` prop. This field does not trigger validation. |
33
+ | `filterByType` | `string \| undefined` | — | no | Filtering of files by MIME type or extension (`image/*,.pdf`, for example). The rejected files do not get into the model. |
34
+ | `focused` | `boolean \| undefined` | — | no | Controls the focus state of the component. When `true`, the component is considered focused and may apply the corresponding styles or behavior. |
35
+ | `hideDetails` | `boolean \| "auto" \| undefined` | — | no | Hides the details block (messages and hints). With the 'auto' value the block is hidden when there are no messages |
36
+ | `hideInput` | `boolean \| undefined` | — | no | Hide the field, leaving only the prepend icon (to use it as a button, for example). |
37
+ | `hideMessages` | `boolean \| undefined` | — | no | Hide the messages under the input |
38
+ | `hint` | `string \| undefined` | — | no | Hint text shown under the input |
39
+ | `iconColor` | `string \| boolean \| undefined` | — | no | Icon color. Accepts a boolean or a color string |
40
+ | `id` | `string \| undefined` | — | no | Unique identifier of the component |
41
+ | `label` | `string \| undefined` | — | no | Label text of the component |
42
+ | `loading` | `string \| boolean \| undefined` | — | no | Loading indicator for the component |
43
+ | `maxErrors` | `string \| number \| undefined` | `1` | no | Maximum number of validation errors shown |
44
+ | `maxWidth` | `string \| number \| undefined` | — | no | Maximum component width |
45
+ | `messages` | `string \| readonly string[] \| undefined` | `[]` | no | Messages shown under the input |
46
+ | `minWidth` | `string \| number \| undefined` | — | no | Minimum component width |
47
+ | `modelValue` | `File \| File[] \| null \| undefined` | `(props) => props.multiple ? [] : null` | no | Value of the model: an array of files (with `multiple`), a single file or `null`. |
48
+ | `multiple` | `boolean \| undefined` | — | no | Allow selecting several files. |
49
+ | `name` | `string \| undefined` | — | no | Name of the input |
50
+ | `persistentClearable` | `boolean \| undefined` | — | no | Always show the clear button, not only on hover or focus |
51
+ | `persistentHint` | `boolean \| undefined` | — | no | Always show the hint, not only on focus |
52
+ | `placeholder` | `string \| undefined` | — | no | Placeholder text shown in an empty field (while no files are chosen yet). |
53
+ | `prependIcon` | `IconValue \| undefined` | `'upload'` | no | Icon in the prepend slot, before the content |
54
+ | `prependInnerIcon` | `IconValue \| undefined` | — | no | Icon in the inner prepend slot, before the content of the field |
55
+ | `readonly` | `boolean \| null \| undefined` | `null` | no | Read-only state |
56
+ | `reverse` | `boolean \| undefined` | — | no | Reverses the order of the elements inside the field |
57
+ | `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. |
58
+ | `showSize` | `boolean \| 1000 \| 1024 \| undefined` | `false` | no | Show the size of the chosen files. A boolean or the base: 1000 (kB) or 1024 (KiB). |
59
+ | `size` | `number \| "xs" \| "sm" \| "md" \| "lg" \| "xl" \| undefined` | `'md'` | no | Size of the component |
60
+ | `textColor` | `string \| undefined` | — | no | Text color of the component |
61
+ | `theme` | `string \| undefined` | — | no | Component theme |
62
+ | `truncateLength` | `string \| number \| undefined` | `22` | no | Maximum length of a file name before it is truncated (the characters at the start and at the end are kept). |
63
+ | `validateOn` | `ValidateOn \| undefined` | — | no | Changes the type of the event that triggers validation |
64
+ | `validationValue` | `any` | — | no | Value used when applying the validation rules |
65
+ | `width` | `string \| number \| undefined` | — | no | Component width |
66
+
67
+ **Events**
68
+
69
+ | Name | Type | Description |
70
+ | --- | --- | --- |
71
+ | `click:control` | `[e: MouseEvent]` | Fires on a click in the main area of the control. |
72
+ | `mousedown:control` | `[e: MouseEvent]` | Fires on a mouse button press in the main area of the control. |
73
+ | `rejected` | `[files: File[]]` | Fires when some of the files were rejected by the `filterByType` filter. |
74
+ | `update:focused` | `[focused: boolean]` | Fires when the element gains or loses focus. |
75
+ | `update:modelValue` | `[value: File \| File[]]` | Fires when the list of the chosen files changes. |
76
+
77
+ **Slots**
78
+
79
+ | Name | Type | Description |
80
+ | --- | --- | --- |
81
+ | `append` | `CdsInputSlot` | Adds an element after the input |
82
+ | `append-inner` | `CdsInputDefaultSlot` | Slot added at the end of the input |
83
+ | `clear` | `CdsInputDefaultSlot & { props: Record<string, any>; }` | Slot for a custom clear icon (shown when the clearable prop is true). |
84
+ | `counter` | `CdsCounterSlot` | Slot for a custom counter. |
85
+ | `description` | `{ description: string \| undefined; props: Record<string, any>; }` | Default slot of the CdsDescription component |
86
+ | `details` | `CdsInputSlot` | Slot for custom content that lets you customize how the messages are displayed |
87
+ | `label` | `{ label: string \| undefined; props: Record<string, any>; }` | Default slot of the CdsLabel component |
88
+ | `loader` | `LoaderSlotProps` | Slot for a custom loader (shown when the loading prop is true). |
89
+ | `message` | `CdsMessagesSlots` | Slot for customizing the content of a message |
90
+ | `messages` | `CdsInputSlot` | Slot for custom content that lets you customize how the messages are displayed |
91
+ | `prepend` | `CdsInputSlot` | Adds an element before the input |
92
+ | `prepend-inner` | `CdsInputDefaultSlot` | Slot added at the start of the input |
93
+ | `selection` | `CdsFileInputSelectionSlot` | Slot for a custom display of the chosen files. |
94
+
95
+ **Exposed**
96
+
97
+ | Name | Type | Description |
98
+ | --- | --- | --- |
99
+ | `controlRef` | `HTMLElement \| undefined` | Ref to the control of the input |
100
+ | `fieldIconColor` | `string \| undefined` | Icon color |
101
+ | `isDirty` | `boolean` | Whether the input is dirty |
102
+ | `isDisabled` | `boolean` | Whether the input is disabled |
103
+ | `isPure` | `boolean` | Whether the input is pure |
104
+ | `isReadonly` | `boolean` | Whether the input is read-only |
105
+ | `isValid` | `boolean \| null` | Whether the input is valid |
106
+ | `isValidating` | `boolean` | Whether the input is being validated |
107
+ | `reset` | `() => Promise<void>` | Resets the input to its initial state |
108
+ | `resetValidation` | `() => Promise<void>` | Resets the validation of the input |
109
+ | `validate` | `(silent?: boolean) => Promise<string[]>` | Validates the input |