@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,368 @@
1
+ # CdsFileInput — 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 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
+ ## Label and hints
9
+
10
+ `label` names the field, the requirements for the files go into `description`, and `placeholder` hints that a file can be dragged into the field. A chosen file is shown by its name.
11
+
12
+ **Example (SFC):**
13
+
14
+ ```vue
15
+ <script setup lang="ts">
16
+ import { CdsFileInput } 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-sm m-auto">
24
+ <CdsFileInput
25
+ v-model="model"
26
+ label="Документ"
27
+ description="Прикрепите один файл"
28
+ placeholder="Выберите или перетащите файл в поле"
29
+ />
30
+ </div>
31
+ </template>
32
+ ```
33
+
34
+ ## Several files
35
+
36
+ The `multiple` prop allows choosing several files at once — their names are listed separated by commas.
37
+
38
+ **Example (SFC):**
39
+
40
+ ```vue
41
+ <script setup lang="ts">
42
+ import { CdsFileInput } from '@central-design-system/components';
43
+ import { ref } from 'vue';
44
+
45
+ const model = ref<File[]>([]);
46
+ </script>
47
+
48
+ <template>
49
+ <div class="max-w-sm m-auto">
50
+ <CdsFileInput
51
+ v-model="model"
52
+ label="Вложения"
53
+ description="Можно выбрать несколько файлов"
54
+ placeholder="Выберите или перетащите файлы в поле"
55
+ multiple
56
+ />
57
+ </div>
58
+ </template>
59
+ ```
60
+
61
+ ## Showing as tags
62
+
63
+ The `chips` prop shows every file as a separate tag ([CdsTag](../cds-tag/api.md)) — a list of several files reads more easily.
64
+
65
+ **Example (SFC):**
66
+
67
+ ```vue
68
+ <script setup lang="ts">
69
+ import { CdsFileInput } from '@central-design-system/components';
70
+ import { ref } from 'vue';
71
+
72
+ const model = ref<File[]>([]);
73
+ </script>
74
+
75
+ <template>
76
+ <div class="max-w-sm m-auto">
77
+ <CdsFileInput
78
+ v-model="model"
79
+ label="Вложения"
80
+ description="Выбранные файлы показываются тегами"
81
+ placeholder="Выберите или перетащите файл в поле"
82
+ multiple
83
+ chips
84
+ />
85
+ </div>
86
+ </template>
87
+ ```
88
+
89
+ ## Size and counter
90
+
91
+ `show-size` adds the size to the file name, `counter` shows the number and the total size under the field. Long names are truncated in the middle — the threshold is set by `truncate-length` (22 characters by default).
92
+
93
+ **Example (SFC):**
94
+
95
+ ```vue
96
+ <script setup lang="ts">
97
+ import { CdsFileInput } from '@central-design-system/components';
98
+ import { ref } from 'vue';
99
+
100
+ const model = ref<File[]>([]);
101
+ </script>
102
+
103
+ <template>
104
+ <div class="max-w-sm m-auto">
105
+ <CdsFileInput
106
+ v-model="model"
107
+ label="Вложения"
108
+ description="Отображается размер файлов и счётчик"
109
+ placeholder="Выберите или перетащите файл в поле"
110
+ multiple
111
+ show-size
112
+ counter
113
+ />
114
+ </div>
115
+ </template>
116
+ ```
117
+
118
+ ## Filter by type
119
+
120
+ `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.
121
+
122
+ **Example (SFC):**
123
+
124
+ ```vue
125
+ <script setup lang="ts">
126
+ import { CdsFileInput } from '@central-design-system/components';
127
+ import { ref } from 'vue';
128
+
129
+ const files = ref<File[]>([]);
130
+ const rejectedMessages = ref<string[]>([]);
131
+
132
+ // `rejected` срабатывает до обновления модели — флаг защищает свежие
133
+ // сообщения от сброса в обработчике update:model-value
134
+ let justRejected = false;
135
+
136
+ function onRejected(rejected: File[]) {
137
+ rejectedMessages.value = rejected.map((file) => `${file.name} — не подходит по формату`);
138
+ justRejected = true;
139
+ }
140
+
141
+ function onUpdate() {
142
+ if (justRejected) {
143
+ justRejected = false;
144
+
145
+ return;
146
+ }
147
+
148
+ rejectedMessages.value = [];
149
+ }
150
+ </script>
151
+
152
+ <template>
153
+ <div class="max-w-sm m-auto">
154
+ <CdsFileInput
155
+ v-model="files"
156
+ label="Сканы документов"
157
+ description="Только изображения или PDF"
158
+ placeholder="Выберите или перетащите файлы"
159
+ filter-by-type="image/*,.pdf"
160
+ multiple
161
+ :error-messages="rejectedMessages"
162
+ @rejected="onRejected"
163
+ @update:model-value="onUpdate"
164
+ />
165
+ </div>
166
+ </template>
167
+ ```
168
+
169
+ ## States
170
+
171
+ `disabled` blocks the field, `readonly` lets you look at the selection but not change it, `loading` shows an indicator — while the files are going to the server, for example.
172
+
173
+ **Example (SFC):**
174
+
175
+ ```vue
176
+ <script setup lang="ts">
177
+ import { CdsFileInput } from '@central-design-system/components';
178
+ import { onMounted, ref } from 'vue';
179
+
180
+ const file = ref<File | null>(null);
181
+
182
+ // Файлы создаются только в браузере — SSR-сборка сайта обходится без File
183
+ onMounted(() => {
184
+ file.value = new File([new Uint8Array(240_000)], 'отчёт-за-квартал.pdf', { type: 'application/pdf' });
185
+ });
186
+ </script>
187
+
188
+ <template>
189
+ <div class="max-w-sm m-auto">
190
+ <CdsFileInput label="Disabled" placeholder="Выберите файл" disabled />
191
+ <CdsFileInput :model-value="file" label="Readonly" readonly />
192
+ <CdsFileInput :model-value="file" label="Loading" loading />
193
+ </div>
194
+ </template>
195
+ ```
196
+
197
+ ## Slots
198
+
199
+ The `selection` slot receives the truncated file names (`fileNames`) and the total size (`totalBytes`, `totalBytesReadable`).
200
+
201
+ **Example (SFC):**
202
+
203
+ ```vue
204
+ <script setup lang="ts">
205
+ import { CdsFileInput, CdsTag } from '@central-design-system/components';
206
+ import { ref } from 'vue';
207
+
208
+ const files = ref<File[]>([]);
209
+ </script>
210
+
211
+ <template>
212
+ <div class="max-w-sm m-auto">
213
+ <CdsFileInput
214
+ v-model="files"
215
+ label="Вложения"
216
+ placeholder="Выберите или перетащите файлы"
217
+ multiple
218
+ show-size
219
+ counter
220
+ >
221
+ <template #selection="{ fileNames }">
222
+ <CdsTag v-for="name in fileNames" :key="name" prepend-icon="doc" size="sm" :text="name" />
223
+ </template>
224
+ </CdsFileInput>
225
+ </div>
226
+ </template>
227
+ ```
228
+
229
+ ## Submitting a form with attachments
230
+
231
+ The field takes part in [CdsForm](../cds-form/api.md) validation on a par with the others: `rules` receive the chosen files — check that the attachments are there and do not exceed the size limit before sending them to the server. `chips` and `counter` help the user keep track of the list.
232
+
233
+ **Example (SFC):**
234
+
235
+ ```vue
236
+ <script setup lang="ts">
237
+ import { CdsButton, CdsFileInput, CdsForm, CdsTextInput } from '@central-design-system/components';
238
+ import { ref } from 'vue';
239
+
240
+ const valid = ref(false);
241
+ const topic = ref('');
242
+ const files = ref<File[]>([]);
243
+ const loading = ref(false);
244
+ const sent = ref(false);
245
+
246
+ const topicRules = [(value: string) => !!value || 'Укажите тему обращения'];
247
+
248
+ const fileRules = [
249
+ (value: File[]) => (value?.length ?? 0) > 0 || 'Приложите хотя бы один файл',
250
+ (value: File[]) =>
251
+ (value ?? []).every((file) => file.size <= 10 * 1024 * 1024) || 'Файл больше 10 МБ — сожмите его или разбейте архив'
252
+ ];
253
+
254
+ async function submit() {
255
+ if (!valid.value) return;
256
+
257
+ try {
258
+ loading.value = true;
259
+ sent.value = false;
260
+ await new Promise((resolve) => setTimeout(resolve, 1500));
261
+ sent.value = true;
262
+ } finally {
263
+ loading.value = false;
264
+ }
265
+ }
266
+ </script>
267
+
268
+ <template>
269
+ <CdsForm v-model="valid" class="flex flex-col gap-2 w-[350px] m-auto" @submit.prevent="submit">
270
+ <CdsTextInput v-model="topic" label="Тема обращения" :rules="topicRules" />
271
+
272
+ <CdsFileInput
273
+ v-model="files"
274
+ label="Вложения"
275
+ description="До 10 МБ каждый файл"
276
+ placeholder="Выберите или перетащите файлы"
277
+ :rules="fileRules"
278
+ multiple
279
+ chips
280
+ counter
281
+ />
282
+
283
+ <CdsButton type="submit" :loading="loading" text="Отправить обращение" />
284
+
285
+ <p v-if="sent" class="text-sm text-center">Обращение отправлено</p>
286
+ </CdsForm>
287
+ </template>
288
+ ```
289
+
290
+ ## An upload button without a field
291
+
292
+ The `hide-input` prop hides the field, leaving only the clickable icon — handy for embedding the upload into a toolbar or a comment line. Show the chosen files next to it yourself: here they are tags with `closable`, and a click on the cross removes a file from the model.
293
+
294
+ **Example (SFC):**
295
+
296
+ ```vue
297
+ <script setup lang="ts">
298
+ import { CdsFileInput, CdsTag } from '@central-design-system/components';
299
+ import { ref } from 'vue';
300
+
301
+ const files = ref<File[]>([]);
302
+
303
+ function removeFile(name: string) {
304
+ files.value = files.value.filter((file) => file.name !== name);
305
+ }
306
+ </script>
307
+
308
+ <template>
309
+ <div class="flex flex-col items-center gap-2">
310
+ <div class="flex items-center gap-1">
311
+ <span>Прикрепите файлы к комментарию</span>
312
+ <CdsFileInput v-model="files" hide-input hide-details multiple aria-label="Прикрепить файлы" />
313
+ </div>
314
+
315
+ <div v-if="files.length" class="flex flex-wrap justify-center gap-1">
316
+ <CdsTag
317
+ v-for="file in files"
318
+ :key="file.name"
319
+ prepend-icon="doc"
320
+ :text="file.name"
321
+ closable
322
+ @click:close="removeFile(file.name)"
323
+ />
324
+ </div>
325
+ </div>
326
+ </template>
327
+ ```
328
+
329
+ ## An image preview
330
+
331
+ `filter-by-type="image/*"` lets images through only, and the preview is built from the model value through `URL.createObjectURL`. Do not forget to release the previous URL — otherwise the chosen files pile up in the memory of the tab.
332
+
333
+ **Example (SFC):**
334
+
335
+ ```vue
336
+ <script setup lang="ts">
337
+ import { CdsFileInput } from '@central-design-system/components';
338
+ import { onBeforeUnmount, ref, watch } from 'vue';
339
+
340
+ const file = ref<File | null>(null);
341
+ const previewUrl = ref('');
342
+
343
+ watch(file, (value) => {
344
+ if (previewUrl.value) URL.revokeObjectURL(previewUrl.value);
345
+
346
+ previewUrl.value = value ? URL.createObjectURL(value) : '';
347
+ });
348
+
349
+ onBeforeUnmount(() => {
350
+ if (previewUrl.value) URL.revokeObjectURL(previewUrl.value);
351
+ });
352
+ </script>
353
+
354
+ <template>
355
+ <div class="flex flex-col items-center gap-2 max-w-sm m-auto">
356
+ <CdsFileInput
357
+ v-model="file"
358
+ class="w-full"
359
+ label="Логотип компании"
360
+ description="PNG, JPG или SVG"
361
+ placeholder="Выберите или перетащите изображение"
362
+ filter-by-type="image/*"
363
+ />
364
+
365
+ <img v-if="previewUrl" :src="previewUrl" alt="Превью логотипа" class="max-h-40 rounded" />
366
+ </div>
367
+ </template>
368
+ ```
@@ -0,0 +1,10 @@
1
+ # CdsFileInput — 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 description names the formats and the size limit. | The user learns about the restrictions only from an error after picking a file. |
9
+ | Tags and a counter: every file reads separately and the number is visible at once. | Comma-separated names merge together already at three or four files. |
10
+ | The error names the reason and suggests what to do. | “Upload error” explains neither what is wrong nor how to fix it. |
@@ -0,0 +1,15 @@
1
+ # CdsFileInput — 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
+ ## _CdsFileInput.variables.scss
8
+
9
+ ```scss
10
+ @use '../../../styles/settings';
11
+
12
+ $file-input-native-z-index: 0 !default;
13
+ $file-input-native-dragging-z-index: 1 !default;
14
+ $file-input-placeholder-color: rgb(var(--cds-color-content-tertiary)) !default;
15
+ ```