@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,447 @@
1
+ # CdsAutocomplete — 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
+ An autocomplete is a field for picking from a long list: the user types a query, the list is filtered on the fly and the matches are highlighted. The field is built on [CdsTextInput](../cds-text-input/api.md), and the menu and the list are the same as in [CdsSelect](../cds-select/api.md), so the label, the messages, validation and the menu behave identically.
7
+
8
+ ## List items
9
+
10
+ The list is set by the `items` prop — an array of strings or of objects with the same interface as in [CdsList](../cds-list/api.md). Start typing and the list is filtered by item titles, with the matching fragments highlighted.
11
+
12
+ **Example (SFC):**
13
+
14
+ ```vue
15
+ <script setup lang="ts">
16
+ import { CdsAutocomplete } from '@central-design-system/components';
17
+ import { ref } from 'vue';
18
+
19
+ const items = ['Австрия', 'Бельгия', 'Болгария', 'Венгрия', 'Германия', 'Греция', 'Дания', 'Ирландия'];
20
+
21
+ const selected = ref(null);
22
+ </script>
23
+
24
+ <template>
25
+ <div class="w-[350px] m-auto">
26
+ <CdsAutocomplete
27
+ v-model="selected"
28
+ :items="items"
29
+ label="Страна"
30
+ placeholder="Начните вводить"
31
+ description="Вспомогательное описание для выбора из списка"
32
+ />
33
+ </div>
34
+ </template>
35
+ ```
36
+
37
+ ## Search across several fields
38
+
39
+ By default the filter compares the query with the item title. The `filter-keys` prop widens the search area: `title` — the title, `raw.*` — a path to a field of the source object. Your own comparison logic is set by the `custom-filter` function, and `no-filter` turns the built-in filtering off entirely — when the results are already filtered by the server, for example.
40
+
41
+ **Example (SFC):**
42
+
43
+ ```vue
44
+ <script setup lang="ts">
45
+ import { CdsAutocomplete } from '@central-design-system/components';
46
+ import { ref } from 'vue';
47
+
48
+ const people = [
49
+ { name: 'Анна Смирнова', role: 'Дизайнер' },
50
+ { name: 'Дмитрий Орлов', role: 'Разработчик' },
51
+ { name: 'Елена Васильева', role: 'Аналитик' },
52
+ { name: 'Игорь Крылов', role: 'Разработчик' },
53
+ { name: 'Мария Соколова', role: 'Тестировщик' },
54
+ { name: 'Павел Зайцев', role: 'Менеджер проекта' }
55
+ ];
56
+
57
+ const selected = ref(null);
58
+ </script>
59
+
60
+ <template>
61
+ <div class="w-[350px] m-auto">
62
+ <CdsAutocomplete
63
+ v-model="selected"
64
+ :items="people"
65
+ item-title="name"
66
+ item-value="name"
67
+ :filter-keys="['title', 'raw.role']"
68
+ label="Сотрудник"
69
+ placeholder="Имя или роль"
70
+ description="Попробуйте ввести «разработчик»"
71
+ />
72
+ </div>
73
+ </template>
74
+ ```
75
+
76
+ ## Auto-selecting the first item
77
+
78
+ The `auto-select-first` prop highlights the first matching item — Enter or Tab select it without arrow keys or a click. The `exact` value highlights an item only when the query matches its title completely.
79
+
80
+ **Example (SFC):**
81
+
82
+ ```vue
83
+ <script setup lang="ts">
84
+ import { CdsAutocomplete } from '@central-design-system/components';
85
+ import { ref } from 'vue';
86
+
87
+ const items = ['Австрия', 'Бельгия', 'Болгария', 'Венгрия', 'Германия', 'Греция', 'Дания', 'Ирландия'];
88
+
89
+ const first = ref(null);
90
+ const exact = ref(null);
91
+ </script>
92
+
93
+ <template>
94
+ <div class="flex flex-col gap-2 w-[350px] m-auto">
95
+ <CdsAutocomplete
96
+ v-model="first"
97
+ auto-select-first
98
+ :items="items"
99
+ label="Автовыбор первого"
100
+ placeholder="Начните вводить"
101
+ description="Введите «гер» и нажмите Enter"
102
+ />
103
+
104
+ <CdsAutocomplete
105
+ v-model="exact"
106
+ auto-select-first="exact"
107
+ :items="items"
108
+ label="Только при полном совпадении"
109
+ placeholder="Начните вводить"
110
+ description="Подсветится только полностью введённая «Германия»"
111
+ />
112
+ </div>
113
+ </template>
114
+ ```
115
+
116
+ ## Multiple selection and chips
117
+
118
+ The `multiple` prop allows selecting several values, `chips` shows them as [CdsTag](../cds-tag/api.md) tags, and `closable-chips` adds a cross — the value is removed right in the field. `clear-on-select` clears the search query after every selection, `hide-selected` removes the already selected items from the list.
119
+
120
+ **Example (SFC):**
121
+
122
+ ```vue
123
+ <script setup lang="ts">
124
+ import { CdsAutocomplete } from '@central-design-system/components';
125
+ import { ref } from 'vue';
126
+
127
+ const items = ref([
128
+ 'Австрия',
129
+ 'Бельгия',
130
+ 'Болгария',
131
+ 'Венгрия',
132
+ 'Германия',
133
+ 'Греция',
134
+ 'Дания',
135
+ 'Ирландия',
136
+ 'Испания',
137
+ 'Италия',
138
+ 'Кипр',
139
+ 'Латвия',
140
+ 'Литва',
141
+ 'Люксембург',
142
+ 'Мальта',
143
+ 'Нидерланды',
144
+ 'Польша',
145
+ 'Португалия',
146
+ 'Румыния',
147
+ 'Словакия',
148
+ 'Словения',
149
+ 'Финляндия',
150
+ 'Франция',
151
+ 'Хорватия',
152
+ 'Чехия',
153
+ 'Швеция',
154
+ 'Эстония'
155
+ ]);
156
+
157
+ const selected = ref(['Германия', 'Франция']);
158
+ </script>
159
+
160
+ <template>
161
+ <CdsAutocomplete
162
+ v-model="selected"
163
+ class="w-[350px] m-auto"
164
+ multiple
165
+ chips
166
+ closable-chips
167
+ clear-on-select
168
+ :items="items"
169
+ label="Множественный выбор"
170
+ placeholder="Начните вводить"
171
+ />
172
+ </template>
173
+ ```
174
+
175
+ ## Slots
176
+
177
+ The `no-data` slot is seen more often in the autocomplete than in the select: a query is easy to mistype. Bind the query through `v-model:search` and offer a way out — adding the entered value to the reference book, for example.
178
+
179
+ **Example (SFC):**
180
+
181
+ ```vue
182
+ <script setup lang="ts">
183
+ import { CdsAutocomplete, CdsButton } from '@central-design-system/components';
184
+ import { ref } from 'vue';
185
+
186
+ const items = ref(['Отдел продаж', 'Отдел закупок', 'Бухгалтерия', 'Юридический отдел']);
187
+
188
+ const selected = ref<string | null>(null);
189
+ const search = ref('');
190
+
191
+ function addItem() {
192
+ items.value = [...items.value, search.value];
193
+ selected.value = search.value;
194
+ }
195
+ </script>
196
+
197
+ <template>
198
+ <div class="w-[350px] m-auto">
199
+ <CdsAutocomplete
200
+ v-model="selected"
201
+ v-model:search="search"
202
+ :items="items"
203
+ label="Отдел"
204
+ placeholder="Начните вводить название"
205
+ >
206
+ <template #no-data>
207
+ <div class="flex flex-col items-start gap-2 p-4">
208
+ <span class="text-sm">По запросу «{{ search }}» ничего не найдено.</span>
209
+ <CdsButton appearance="secondary" size="sm" :text="`Добавить «${search}»`" @click="addItem" />
210
+ </div>
211
+ </template>
212
+ </CdsAutocomplete>
213
+ </div>
214
+ </template>
215
+ ```
216
+
217
+ ## Search on the server
218
+
219
+ When the reference book is too large to load in full, search on the server: `v-model:search` gives out the query, the response goes into `items`, and `no-filter` turns off the repeated filtering on the client. `loading` shows that a request is in progress, and the `no-data` slot changes the caption of the empty menu by state: a hint before the input, "Searching…" during the request, "Nothing found" after an empty response — the menu never stays blank.
220
+
221
+ **Example (SFC):**
222
+
223
+ ```vue
224
+ <script setup lang="ts">
225
+ import { CdsAutocomplete, CdsListItem } from '@central-design-system/components';
226
+ import { computed, ref, watch } from 'vue';
227
+
228
+ const cities = [
229
+ 'Барнаул',
230
+ 'Владивосток',
231
+ 'Волгоград',
232
+ 'Воронеж',
233
+ 'Екатеринбург',
234
+ 'Казань',
235
+ 'Краснодар',
236
+ 'Красноярск',
237
+ 'Москва',
238
+ 'Нижний Новгород',
239
+ 'Новосибирск',
240
+ 'Омск',
241
+ 'Пермь',
242
+ 'Ростов-на-Дону',
243
+ 'Самара',
244
+ 'Санкт-Петербург',
245
+ 'Саратов',
246
+ 'Тюмень',
247
+ 'Уфа',
248
+ 'Челябинск'
249
+ ];
250
+
251
+ const items = ref<string[]>([]);
252
+ const selected = ref(null);
253
+ const search = ref('');
254
+ const loading = ref(false);
255
+
256
+ const noDataText = computed(() => {
257
+ if (loading.value) return 'Ищем…';
258
+ return search.value ? 'Ничего не найдено' : 'Начните вводить название';
259
+ });
260
+
261
+ let timer: ReturnType<typeof setTimeout>;
262
+
263
+ watch(search, (query) => {
264
+ clearTimeout(timer);
265
+
266
+ if (!query) {
267
+ items.value = [];
268
+ loading.value = false;
269
+ return;
270
+ }
271
+
272
+ loading.value = true;
273
+
274
+ // Имитация запроса к серверу: фильтрация выполняется на «бэкенде».
275
+ timer = setTimeout(() => {
276
+ items.value = cities.filter((city) => city.toLowerCase().includes(query.toLowerCase()));
277
+ loading.value = false;
278
+ }, 600);
279
+ });
280
+ </script>
281
+
282
+ <template>
283
+ <div class="w-[350px] m-auto">
284
+ <CdsAutocomplete
285
+ v-model="selected"
286
+ v-model:search="search"
287
+ no-filter
288
+ :items="items"
289
+ :loading="loading"
290
+ label="Город"
291
+ placeholder="Начните вводить название"
292
+ hint="Результаты приходят с сервера"
293
+ >
294
+ <template #no-data>
295
+ <CdsListItem :title="noDataText" />
296
+ </template>
297
+ </CdsAutocomplete>
298
+ </div>
299
+ </template>
300
+ ```
301
+
302
+ ## Picking recipients
303
+
304
+ The combination of `multiple`, `chips`, `closable-chips` and `clear-on-select` collects the recipients as tags and is immediately ready for the next input. `filter-keys` searches both by name and by email, `hide-selected` removes the already added ones from the list, and the `item` slot shows the avatar and the address — that way it is easier not to confuse namesakes.
305
+
306
+ **Example (SFC):**
307
+
308
+ ```vue
309
+ <script setup lang="ts">
310
+ import { CdsAutocomplete, CdsAvatar, CdsListItem } from '@central-design-system/components';
311
+ import { ref } from 'vue';
312
+
313
+ const people = [
314
+ { name: 'Анна Смирнова', email: 'a.smirnova@example.com', image: 'https://i.pravatar.cc/80?img=47' },
315
+ { name: 'Дмитрий Орлов', email: 'd.orlov@example.com', image: 'https://i.pravatar.cc/80?img=12' },
316
+ { name: 'Елена Васильева', email: 'e.vasileva@example.com', image: 'https://i.pravatar.cc/80?img=44' },
317
+ { name: 'Игорь Крылов', email: 'i.krylov@example.com', image: 'https://i.pravatar.cc/80?img=32' },
318
+ { name: 'Мария Соколова', email: 'm.sokolova@example.com', image: 'https://i.pravatar.cc/80?img=26' },
319
+ { name: 'Павел Зайцев', email: 'p.zaycev@example.com', image: 'https://i.pravatar.cc/80?img=59' }
320
+ ];
321
+
322
+ const selected = ref(['Анна Смирнова']);
323
+ </script>
324
+
325
+ <template>
326
+ <div class="w-[350px] m-auto">
327
+ <CdsAutocomplete
328
+ v-model="selected"
329
+ multiple
330
+ chips
331
+ closable-chips
332
+ clear-on-select
333
+ hide-selected
334
+ :items="people"
335
+ item-title="name"
336
+ item-value="name"
337
+ :filter-keys="['title', 'raw.email']"
338
+ label="Получатели"
339
+ placeholder="Имя или почта"
340
+ >
341
+ <template #item="{ item, props }">
342
+ <CdsListItem v-bind="props" :title="item.name">
343
+ <template #prepend>
344
+ <CdsAvatar :image="item.image" size="sm" class="mr-3" />
345
+ </template>
346
+ <template #description>{{ item.email }}</template>
347
+ </CdsListItem>
348
+ </template>
349
+ </CdsAutocomplete>
350
+ </div>
351
+ </template>
352
+ ```
353
+
354
+ ## Submitting a form
355
+
356
+ The autocomplete takes part in [CdsForm](../cds-form/api.md) validation on a par with text fields: `rules` will not let the form through without a chosen city. Remember that only the selected item stays as the value — text typed without a selection does not get into the model.
357
+
358
+ **Example (SFC):**
359
+
360
+ ```vue
361
+ <script setup lang="ts">
362
+ import { CdsAutocomplete, CdsButton, CdsForm, CdsTextInput } from '@central-design-system/components';
363
+ import { ref } from 'vue';
364
+
365
+ const cities = [
366
+ 'Владивосток',
367
+ 'Волгоград',
368
+ 'Екатеринбург',
369
+ 'Казань',
370
+ 'Краснодар',
371
+ 'Москва',
372
+ 'Нижний Новгород',
373
+ 'Новосибирск',
374
+ 'Санкт-Петербург',
375
+ 'Челябинск'
376
+ ];
377
+
378
+ const valid = ref(false);
379
+ const city = ref(null);
380
+ const street = ref('');
381
+ const loading = ref(false);
382
+ const sent = ref(false);
383
+
384
+ const rules = [(value: string) => !!value || 'Выберите город из списка'];
385
+
386
+ async function submit() {
387
+ if (!valid.value) return;
388
+
389
+ try {
390
+ loading.value = true;
391
+ sent.value = false;
392
+ await new Promise((resolve) => setTimeout(resolve, 1500));
393
+ sent.value = true;
394
+ } finally {
395
+ loading.value = false;
396
+ }
397
+ }
398
+ </script>
399
+
400
+ <template>
401
+ <CdsForm v-model="valid" class="flex flex-col gap-2 w-[350px] m-auto" @submit.prevent="submit">
402
+ <CdsAutocomplete
403
+ v-model="city"
404
+ :items="cities"
405
+ :rules="rules"
406
+ label="Город доставки"
407
+ placeholder="Начните вводить"
408
+ />
409
+
410
+ <CdsTextInput v-model="street" label="Улица и дом" placeholder="Тверская, 1" />
411
+
412
+ <CdsButton type="submit" :loading="loading" text="Оформить доставку" />
413
+
414
+ <p v-if="sent" class="text-sm text-center">Заявка отправлена</p>
415
+ </CdsForm>
416
+ </template>
417
+ ```
418
+
419
+ ## A large reference book
420
+
421
+ The menu renders items through virtual scrolling, so a list of tens of thousands of entries does not slow down either on opening or on filtering. `auto-select-first` speeds up the input: type the number — press Enter.
422
+
423
+ **Example (SFC):**
424
+
425
+ ```vue
426
+ <script setup lang="ts">
427
+ import { CdsAutocomplete } from '@central-design-system/components';
428
+ import { ref } from 'vue';
429
+
430
+ const items = Array.from({ length: 10000 }, (_, index) => `Артикул ${String(index + 1).padStart(5, '0')}`);
431
+
432
+ const selected = ref(null);
433
+ </script>
434
+
435
+ <template>
436
+ <div class="w-[350px] m-auto">
437
+ <CdsAutocomplete
438
+ v-model="selected"
439
+ auto-select-first
440
+ :items="items"
441
+ label="Позиция каталога"
442
+ placeholder="Начните вводить номер"
443
+ :description="`В списке ${items.length.toLocaleString('ru-RU')} позиций`"
444
+ />
445
+ </div>
446
+ </template>
447
+ ```
@@ -0,0 +1,10 @@
1
+ # CdsAutocomplete — 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
+ | An autocomplete pays off on a long list — typing a couple of letters is faster than scrolling. | Two or three options do not need a search: take CdsSelect or radio buttons. |
9
+ | If values outside the list are allowed, take CdsCombobox — what is typed is kept as is. | The autocomplete accepts list items only: text typed without a selection is lost. |
10
+ | An empty result explains what happened and suggests the next step. | A hidden menu (hide-no-data) looks like a breakage: the user does not understand why the list disappeared. |
@@ -0,0 +1,19 @@
1
+ # CdsAutocomplete — 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
+ ## _CdsAutocomplete.variables.scss
8
+
9
+ ```scss
10
+ @use '../../../styles/settings';
11
+
12
+ $autocomplete-content-border-radius: var(--cds-border-radius-200) !default;
13
+ $autocomplete-content-padding-inline: var(--cds-spacing-100) !default;
14
+ $autocomplete-focused-input-min-width: 64px !default;
15
+ $autocomplete-mask-background: rgb(var(--cds-color-content-placeholder)) !default;
16
+ $autocomplete-selection-inline-gap: var(--cds-spacing-50) !default;
17
+ $autocomplete-unselected-opacity: var(--cds-medium-emphasis-opacity) !default;
18
+ $autocomplete-transition: .2s settings.$standard-easing !default;
19
+ ```
@@ -0,0 +1,35 @@
1
+ # CdsAvatar — 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
+ An avatar shows a person, a team or a company: a photo, initials or an icon inside a round container. Use it in member lists, comments and profile headers — anywhere the reader needs to recognize "who is this" at a glance.
7
+
8
+ ## CdsAvatar
9
+
10
+ **Props**
11
+
12
+ | Prop | Type | Default | Required | Description |
13
+ | --- | --- | --- | --- | --- |
14
+ | `activeColor` | `string \| undefined` | — | no | Color of the component in its active state |
15
+ | `badge` | `boolean \| CdsBadgeProps \| undefined` | `false` | no | Avatar badge. `true` shows a dot, an object is passed through as `CdsBadge` props. |
16
+ | `baseColor` | `string \| undefined` | — | no | Color of the component in its inactive state |
17
+ | `bgColor` | `string \| undefined` | — | no | Background color of the component |
18
+ | `color` | `string \| undefined` | — | no | Component color |
19
+ | `content` | `string \| number \| undefined` | — | no | Content displayed in the component. |
20
+ | `end` | `boolean \| undefined` | — | no | Adds a margin on the left — for an avatar at the end of a line of content. |
21
+ | `icon` | `IconValue \| undefined` | — | no | Icon shown in the avatar when no image is set. |
22
+ | `image` | `string \| undefined` | — | no | Source of the avatar image. Takes priority over `icon` and `text`. |
23
+ | `size` | `number \| "xs" \| "sm" \| "md" \| "lg" \| "xl" \| undefined` | `'md'` | no | Size of the component |
24
+ | `start` | `boolean \| undefined` | — | no | Adds a margin on the right — for an avatar at the beginning of a line of content. |
25
+ | `tag` | `string \| JSXComponent<any> \| undefined` | `'div'` | no | Custom HTML tag or component to render |
26
+ | `text` | `string \| number \| undefined` | — | no | Text displayed in the component. |
27
+ | `textColor` | `string \| undefined` | — | no | Text color of the component |
28
+ | `theme` | `string \| undefined` | — | no | Component theme |
29
+
30
+ **Slots**
31
+
32
+ | Name | Type | Description |
33
+ | --- | --- | --- |
34
+ | `badge` | `any` | Content of the avatar badge. |
35
+ | `default` | `any` | Avatar content. Overrides `image`, `icon` and `text`. |