@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,411 @@
1
+ # CdsFileUpload — 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 file upload zone: it accepts files by dragging, by pasting from the clipboard and through the system dialog, and shows the selection as a list with image previews. Around the zone the component gathers everything a form needs: a label, a description, messages and validation.
7
+
8
+ ## Choosing files
9
+
10
+ The basic case is a single file: drag it into the zone, paste it from the clipboard or pick it with the button. A repeated choice replaces the file.
11
+
12
+ **Example (SFC):**
13
+
14
+ ```vue
15
+ <script setup lang="ts">
16
+ import { CdsFileUpload } from '@central-design-system/components';
17
+ import { ref } from 'vue';
18
+
19
+ const model = ref<File | null>(null);
20
+ </script>
21
+
22
+ <template>
23
+ <div class="max-w-lg m-auto">
24
+ <CdsFileUpload v-model="model" />
25
+ </div>
26
+ </template>
27
+ ```
28
+
29
+ ## Choosing files
30
+
31
+ The `multiple` prop allows choosing several files — they pile up as a list under the zone. `clearable` gives every one of them a remove button, `show-size` — the size.
32
+
33
+ **Example (SFC):**
34
+
35
+ ```vue
36
+ <script setup lang="ts">
37
+ import { CdsFileUpload } from '@central-design-system/components';
38
+ import { ref } from 'vue';
39
+
40
+ const model = ref<File[]>([]);
41
+ </script>
42
+
43
+ <template>
44
+ <div class="flex flex-col gap-4 max-w-lg m-auto">
45
+ <CdsFileUpload v-model="model" subtitle="Можно выбрать несколько файлов сразу" multiple clearable show-size />
46
+
47
+ <p class="text-200 text-content-secondary text-center">Выбрано файлов: {{ model.length }}</p>
48
+ </div>
49
+ </template>
50
+ ```
51
+
52
+ ## Texts and the icon
53
+
54
+ Every caption of the zone is configurable: `title` — the heading, `subtitle` — the line with the file requirements (visible with `size` `md` and `lg`), `browse-text` — the text of the button, `divider-text` — the divider, `icon` — the icon in the center of the zone.
55
+
56
+ **Example (SFC):**
57
+
58
+ ```vue
59
+ <script setup lang="ts">
60
+ import { CdsFileUpload } from '@central-design-system/components';
61
+ import { ref } from 'vue';
62
+
63
+ const model = ref<File[]>([]);
64
+ </script>
65
+
66
+ <template>
67
+ <div class="max-w-lg m-auto">
68
+ <CdsFileUpload
69
+ v-model="model"
70
+ icon="doc-download"
71
+ title="Перетащите сканы документов"
72
+ divider-text="или"
73
+ browse-text="Выберите на компьютере"
74
+ subtitle="PDF или JPG до 10 МБ"
75
+ multiple
76
+ />
77
+ </div>
78
+ </template>
79
+ ```
80
+
81
+ ## Sizes
82
+
83
+ The `size` prop controls the density of the zone: `md` is the default, `lg` adds air, and `sm` shrinks the zone to a compact row — the browse button is hidden and the whole area becomes clickable.
84
+
85
+ **Example (SFC):**
86
+
87
+ ```vue
88
+ <script setup lang="ts">
89
+ import { CdsFileUpload } from '@central-design-system/components';
90
+ import { ref } from 'vue';
91
+
92
+ const small = ref<File[]>([]);
93
+ const medium = ref<File[]>([]);
94
+ const large = ref<File[]>([]);
95
+ </script>
96
+
97
+ <template>
98
+ <div class="flex flex-col gap-6 max-w-lg m-auto">
99
+ <div class="flex flex-col gap-2">
100
+ <span class="text-200 text-content-secondary">size="sm" — компактная строка, кликабельна целиком</span>
101
+ <CdsFileUpload v-model="small" size="sm" />
102
+ </div>
103
+
104
+ <div class="flex flex-col gap-2">
105
+ <span class="text-200 text-content-secondary">size="md" — по умолчанию</span>
106
+ <CdsFileUpload v-model="medium" />
107
+ </div>
108
+
109
+ <div class="flex flex-col gap-2">
110
+ <span class="text-200 text-content-secondary">size="lg" — просторная зона</span>
111
+ <CdsFileUpload v-model="large" size="lg" />
112
+ </div>
113
+ </div>
114
+ </template>
115
+ ```
116
+
117
+ ## Layout
118
+
119
+ `inset-file-list` moves the list of the chosen files inside the zone — the component does not grow downwards as files are added. `hide-browse` removes the browse button: the zone is clickable as a whole, but say so in the title.
120
+
121
+ **Example (SFC):**
122
+
123
+ ```vue
124
+ <script setup lang="ts">
125
+ import { CdsFileUpload } from '@central-design-system/components';
126
+ import { ref } from 'vue';
127
+
128
+ const inset = ref<File[]>([]);
129
+ const clickable = ref<File[]>([]);
130
+ </script>
131
+
132
+ <template>
133
+ <div class="flex flex-col gap-6 max-w-lg m-auto">
134
+ <div class="flex flex-col gap-2">
135
+ <span class="text-200 text-content-secondary">inset-file-list — список файлов внутри зоны</span>
136
+ <CdsFileUpload v-model="inset" multiple clearable show-size inset-file-list />
137
+ </div>
138
+
139
+ <div class="flex flex-col gap-2">
140
+ <span class="text-200 text-content-secondary">hide-browse — без кнопки, кликабельна вся зона</span>
141
+ <CdsFileUpload v-model="clickable" hide-browse title="Нажмите или перетащите файлы" />
142
+ </div>
143
+ </div>
144
+ </template>
145
+ ```
146
+
147
+ ## States
148
+
149
+ `disabled` blocks the component, `readonly` keeps the list visible but forbids changes, `loading` shows an indicator — while the files are going to the server, for example. `error-messages` puts the zone into the error state and shows the text under it.
150
+
151
+ **Example (SFC):**
152
+
153
+ ```vue
154
+ <script setup lang="ts">
155
+ import { CdsFileUpload } from '@central-design-system/components';
156
+ import { onMounted, ref } from 'vue';
157
+
158
+ const readonlyFiles = ref<File[]>([]);
159
+
160
+ // Файлы создаются только в браузере — SSR-сборка сайта обходится без File
161
+ onMounted(() => {
162
+ readonlyFiles.value = [new File([new Uint8Array(1_200_000)], 'договор-поставки.pdf', { type: 'application/pdf' })];
163
+ });
164
+ </script>
165
+
166
+ <template>
167
+ <div class="flex flex-col gap-6 max-w-lg m-auto">
168
+ <div class="flex flex-col gap-2">
169
+ <span class="text-200 text-content-secondary">disabled</span>
170
+ <CdsFileUpload disabled />
171
+ </div>
172
+
173
+ <div class="flex flex-col gap-2">
174
+ <span class="text-200 text-content-secondary">readonly — файлы видны, но изменить их нельзя</span>
175
+ <CdsFileUpload :model-value="readonlyFiles" readonly show-size />
176
+ </div>
177
+
178
+ <div class="flex flex-col gap-2">
179
+ <span class="text-200 text-content-secondary">loading</span>
180
+ <CdsFileUpload loading />
181
+ </div>
182
+
183
+ <div class="flex flex-col gap-2">
184
+ <span class="text-200 text-content-secondary">error — обязательное поле</span>
185
+ <CdsFileUpload :error-messages="['Прикрепите хотя бы один файл']" />
186
+ </div>
187
+ </div>
188
+ </template>
189
+ ```
190
+
191
+ ## Filtering by type
192
+
193
+ `filter-by-type` accepts MIME types, wildcard types and extensions separated by commas (`image/*,.pdf`). The files that do not fit never get into the model — the `rejected` event reports them: show the user what exactly was rejected and why.
194
+
195
+ **Example (SFC):**
196
+
197
+ ```vue
198
+ <script setup lang="ts">
199
+ import { CdsFileUpload } from '@central-design-system/components';
200
+ import { ref } from 'vue';
201
+
202
+ const files = ref<File[]>([]);
203
+ const rejectedMessages = ref<string[]>([]);
204
+
205
+ // `rejected` срабатывает до обновления модели — флаг защищает свежие
206
+ // сообщения от сброса в обработчике update:model-value
207
+ let justRejected = false;
208
+
209
+ function onRejected(rejected: File[]) {
210
+ rejectedMessages.value = rejected.map((file) => `${file.name} — не подходит по формату`);
211
+ justRejected = true;
212
+ }
213
+
214
+ function onUpdate() {
215
+ if (justRejected) {
216
+ justRejected = false;
217
+
218
+ return;
219
+ }
220
+
221
+ rejectedMessages.value = [];
222
+ }
223
+ </script>
224
+
225
+ <template>
226
+ <div class="max-w-lg m-auto">
227
+ <CdsFileUpload
228
+ v-model="files"
229
+ title="Перетащите изображения или PDF"
230
+ subtitle="Другие форматы будут отклонены"
231
+ filter-by-type="image/*,.pdf"
232
+ multiple
233
+ clearable
234
+ :error-messages="rejectedMessages"
235
+ @rejected="onRejected"
236
+ @update:model-value="onUpdate"
237
+ />
238
+ </div>
239
+ </template>
240
+ ```
241
+
242
+ ## Slots
243
+
244
+ The parts of the zone are replaced by the slots of the same name, and `item` redraws every file in the list: `CdsFileUploadItem` is available inside — it receives the props of the file automatically, it is enough to pass the handlers from the slot arguments.
245
+
246
+ **Example (SFC):**
247
+
248
+ ```vue
249
+ <script setup lang="ts">
250
+ import { CdsFileUpload, CdsFileUploadItem, CdsTag } from '@central-design-system/components';
251
+ import { ref } from 'vue';
252
+
253
+ const model = ref<File[]>([]);
254
+
255
+ const extension = (file: File) => file.name.split('.').at(-1)?.toUpperCase() ?? 'ФАЙЛ';
256
+ </script>
257
+
258
+ <template>
259
+ <div class="max-w-lg m-auto">
260
+ <CdsFileUpload v-model="model" multiple clearable show-size>
261
+ <template #item="{ file, props }">
262
+ <CdsFileUploadItem v-bind="props">
263
+ <template #append>
264
+ <CdsTag size="sm" :text="extension(file)" />
265
+ </template>
266
+ </CdsFileUploadItem>
267
+ </template>
268
+ </CdsFileUpload>
269
+ </div>
270
+ </template>
271
+ ```
272
+
273
+ ## Applying for a job
274
+
275
+ The component takes part in [CdsForm](../cds-form/api.md) validation on a par with the other fields: `rules` receive the chosen files. Here the résumé is required and is accepted as a PDF only — `filter-by-type` cuts the foreign formats off, and the rules insure against an empty submission and a file that is too heavy.
276
+
277
+ **Example (SFC):**
278
+
279
+ ```vue
280
+ <script setup lang="ts">
281
+ import { CdsButton, CdsFileUpload, CdsForm, CdsTextInput } from '@central-design-system/components';
282
+ import { ref } from 'vue';
283
+
284
+ const valid = ref(false);
285
+ const name = ref('');
286
+ const resume = ref<File>();
287
+ const loading = ref(false);
288
+ const sent = ref(false);
289
+
290
+ const nameRules = [(value: string) => !!value || 'Представьтесь, пожалуйста'];
291
+
292
+ const resumeRules = [
293
+ (value?: File) => !!value || 'Приложите резюме в PDF',
294
+ (value?: File) => !value || value.size <= 10 * 1024 * 1024 || 'Файл больше 10 МБ — сожмите его'
295
+ ];
296
+
297
+ async function submit() {
298
+ if (!valid.value) return;
299
+
300
+ try {
301
+ loading.value = true;
302
+ sent.value = false;
303
+ await new Promise((resolve) => setTimeout(resolve, 1500));
304
+ sent.value = true;
305
+ } finally {
306
+ loading.value = false;
307
+ }
308
+ }
309
+ </script>
310
+
311
+ <template>
312
+ <CdsForm v-model="valid" class="flex flex-col gap-2 w-[400px] m-auto" @submit.prevent="submit">
313
+ <CdsTextInput v-model="name" label="Имя и фамилия" placeholder="Введите ФИО" :rules="nameRules" />
314
+
315
+ <CdsFileUpload
316
+ v-model="resume"
317
+ label="Резюме"
318
+ subtitle="PDF до 10 МБ"
319
+ filter-by-type=".pdf"
320
+ :rules="resumeRules"
321
+ clearable
322
+ show-size
323
+ />
324
+
325
+ <CdsButton type="submit" :loading="loading" text="Откликнуться" />
326
+
327
+ <p v-if="sent" class="text-sm text-center">Отклик отправлен</p>
328
+ </CdsForm>
329
+ </template>
330
+ ```
331
+
332
+ ## An image gallery
333
+
334
+ `filter-by-type="image/*"` lets images through only — every one of them gets a preview in the list automatically. `inset-file-list` gathers what was uploaded inside the zone, and `show-size` helps keep an eye on the volume.
335
+
336
+ **Example (SFC):**
337
+
338
+ ```vue
339
+ <script setup lang="ts">
340
+ import { CdsFileUpload } from '@central-design-system/components';
341
+ import { ref } from 'vue';
342
+
343
+ const images = ref<File[]>([]);
344
+ </script>
345
+
346
+ <template>
347
+ <div class="max-w-lg m-auto">
348
+ <CdsFileUpload
349
+ v-model="images"
350
+ title="Перетащите фотографии"
351
+ subtitle="PNG или JPG — превью появится в списке"
352
+ filter-by-type="image/*"
353
+ multiple
354
+ clearable
355
+ show-size
356
+ inset-file-list
357
+ />
358
+ </div>
359
+ </template>
360
+ ```
361
+
362
+ ## Uploading on selection
363
+
364
+ The files do not have to wait for the form submission — start the upload right away: watch the model, turn `loading` on for the duration of the request and confirm the result through `messages`. The request here is simulated with a timer.
365
+
366
+ **Example (SFC):**
367
+
368
+ ```vue
369
+ <script setup lang="ts">
370
+ import { CdsFileUpload } from '@central-design-system/components';
371
+ import { ref, watch } from 'vue';
372
+
373
+ const files = ref<File[]>([]);
374
+ const loading = ref(false);
375
+ const uploaded = ref(false);
376
+
377
+ let timer: ReturnType<typeof setTimeout>;
378
+
379
+ // Имитация запроса: новые файлы «уходят на сервер» полторы секунды
380
+ watch(
381
+ () => files.value.length,
382
+ (length, previous) => {
383
+ clearTimeout(timer);
384
+ uploaded.value = false;
385
+ loading.value = false;
386
+
387
+ if (length > (previous ?? 0)) {
388
+ loading.value = true;
389
+ timer = setTimeout(() => {
390
+ loading.value = false;
391
+ uploaded.value = true;
392
+ }, 1500);
393
+ }
394
+ }
395
+ );
396
+ </script>
397
+
398
+ <template>
399
+ <div class="max-w-lg m-auto">
400
+ <CdsFileUpload
401
+ v-model="files"
402
+ title="Файлы отправятся сразу после выбора"
403
+ :loading="loading"
404
+ :messages="uploaded ? 'Файлы загружены' : undefined"
405
+ multiple
406
+ clearable
407
+ show-size
408
+ />
409
+ </div>
410
+ </template>
411
+ ```
@@ -0,0 +1,10 @@
1
+ # CdsFileUpload — guidelines
2
+
3
+ > Extracted from `docs/demos/Guidelines.vue` by `bun run generate:skill`. Do not edit manually.
4
+ > The full component contract is in [api.md](api.md).
5
+
6
+ | ✅ Do | ❌ Don't |
7
+ | --- | --- |
8
+ | The file requirements are visible before the choice: the subtitle names the formats and the size limit. | A filter without an explanation: unsuitable files are rejected and the reason stays invisible to the user. |
9
+ | The error names the reason and suggests what to do. | “Error” explains neither what is wrong nor how to fix it. |
10
+ | Files of the same kind are collected by one zone with multiple — the user adds everything at once. | A separate zone for every file forces picking them one by one and stretches the form. |
@@ -0,0 +1,50 @@
1
+ # CdsFileUpload — 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
+ ## _CdsFileUpload.variables.scss
8
+
9
+ ```scss
10
+ @use '../../../styles/settings';
11
+
12
+ // Зона загрузки
13
+ $file-upload-padding: var(--cds-spacing-800) var(--cds-spacing-400) !default;
14
+ $file-upload-padding-md: var(--cds-spacing-600) var(--cds-spacing-400) !default;
15
+ $file-upload-padding-sm: var(--cds-spacing-500) var(--cds-spacing-400) !default;
16
+ $file-upload-inset-padding: var(--cds-spacing-400) !default;
17
+ $file-upload-gap-sm: var(--cds-spacing-400) !default;
18
+ $file-upload-border-radius: var(--cds-border-radius-200) !default;
19
+ $file-upload-border-width: var(--cds-border-200) !default;
20
+ $file-upload-border-style: dashed !default;
21
+ $file-upload-border-color: rgb(var(--cds-color-line-primary)) !default;
22
+ $file-upload-border-color-hover: rgb(var(--cds-color-line-primary-hover)) !default;
23
+ $file-upload-border-color-error: rgb(var(--cds-color-status-danger-line)) !default;
24
+ $file-upload-disabled-opacity: 0.5 !default;
25
+
26
+ // Заголовок и подзаголовок
27
+ $file-upload-title-color: rgb(var(--cds-color-content-primary)) !default;
28
+ $file-upload-subtitle-color: rgb(var(--cds-color-content-secondary)) !default;
29
+ $file-upload-subtitle-margin-top: var(--cds-spacing-200) !default;
30
+
31
+ // Иконка
32
+ $file-upload-icon-size: var(--cds-spacing-800) !default;
33
+ $file-upload-icon-size-md: var(--cds-spacing-700) !default;
34
+ $file-upload-icon-size-sm: var(--cds-spacing-600) !default;
35
+ $file-upload-icon-color: rgb(var(--cds-color-content-secondary)) !default;
36
+ $file-upload-icon-margin-bottom: var(--cds-spacing-400) !default;
37
+ $file-upload-icon-margin-bottom-md: var(--cds-spacing-200) !default;
38
+
39
+ // Разделитель
40
+ $file-upload-divider-margin: var(--cds-spacing-600) 0 !default;
41
+
42
+ // Список файлов
43
+ $file-upload-list-margin: var(--cds-spacing-400) 0 !default;
44
+ $file-upload-item-gap: var(--cds-spacing-200) !default;
45
+ $file-upload-inset-action-padding: var(--cds-spacing-200) 0 !default;
46
+
47
+ // Загрузка
48
+ $file-upload-loader-z-index: 1 !default;
49
+ $file-upload-native-z-index: -1 !default;
50
+ ```
@@ -0,0 +1,35 @@
1
+ # CdsFooter — 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
+ The footer of the application: a copyright notice and utility links on regular pages, an action bar on forms. The layout measures the height of the footer and reserves the space, so it never covers the last line of the content.
7
+
8
+ ## CdsFooter
9
+
10
+ **Props**
11
+
12
+ | Prop | Type | Default | Required | Description |
13
+ | --- | --- | --- | --- | --- |
14
+ | `bgColor` | `string \| undefined` | — | no | Background color of the component |
15
+ | `bordered` | `boolean \| undefined` | `false` | no | Shows the border. |
16
+ | `color` | `string \| undefined` | — | no | Component color |
17
+ | `elevated` | `boolean \| undefined` | `false` | no | Shows the shadow. |
18
+ | `height` | `string \| number \| undefined` | `50` | no | Height of the element. |
19
+ | `modelValue` | `boolean \| undefined` | `true` | no | Visibility of the element in the layout. |
20
+ | `reveal` | `boolean \| undefined` | `false` | no | Floating mode: the element appears/hides on scroll. |
21
+ | `revealOffset` | `number \| undefined` | `250` | no | Scroll threshold (px) up to which the floating element stays visible. |
22
+ | `theme` | `string \| undefined` | — | no | Component theme |
23
+
24
+ **Events**
25
+
26
+ | Name | Type | Description |
27
+ | --- | --- | --- |
28
+ | `focusin` | `[event: FocusEvent]` | Focus moved inside the footer. |
29
+ | `reveal` | `[value: boolean]` | Visibility of the floating footer has changed. |
30
+
31
+ **Slots**
32
+
33
+ | Name | Type | Description |
34
+ | --- | --- | --- |
35
+ | `default` | `any` | Content of the footer (`CdsToolbar` and others). |