@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,516 @@
1
+ # CdsModal — 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 modal opens on top of the page and keeps the focus on a single task: confirm an action, fill in a short form, look at the details — without taking you away from the current screen. While the modal is open, the page behind it is dimmed, does not scroll and does not accept clicks.
7
+
8
+ ## Activators
9
+
10
+ the page, even a distant one in the markup.
11
+
12
+ **Example (SFC):**
13
+
14
+ ```vue
15
+ <script setup lang="ts">
16
+ import { CdsButton, CdsModal } from '@central-design-system/components';
17
+ import { ref } from 'vue';
18
+
19
+ const slotModal = ref(false);
20
+ const parentModal = ref(false);
21
+ const siblingModal = ref(false);
22
+ </script>
23
+
24
+ <template>
25
+ <div class="flex flex-wrap justify-center gap-2">
26
+ <CdsModal v-model="slotModal">
27
+ <template #activator="{ props }">
28
+ <CdsButton v-bind="props">Активатор в слоте</CdsButton>
29
+ </template>
30
+
31
+ <span class="h4">Заголовок</span>
32
+ <p>Модальное окно открыто активатором из слота</p>
33
+
34
+ <div class="mt-4 flex justify-end">
35
+ <CdsButton @click="slotModal = false">Закрыть</CdsButton>
36
+ </div>
37
+ </CdsModal>
38
+
39
+ <CdsButton>
40
+ Родительский элемент
41
+
42
+ <CdsModal v-model="parentModal" activator="parent">
43
+ <span class="h4">Заголовок</span>
44
+ <p>Модальное окно открыто родительским элементом</p>
45
+
46
+ <div class="mt-4 flex justify-end">
47
+ <CdsButton @click="parentModal = false">Закрыть</CdsButton>
48
+ </div>
49
+ </CdsModal>
50
+ </CdsButton>
51
+
52
+ <CdsButton id="modal-activator">Соседний элемент</CdsButton>
53
+ <CdsModal v-model="siblingModal" activator="#modal-activator">
54
+ <span class="h4">Заголовок</span>
55
+ <p>Модальное окно открыто соседним элементом по CSS-селектору</p>
56
+
57
+ <div class="mt-4 flex justify-end">
58
+ <CdsButton @click="siblingModal = false">Закрыть</CdsButton>
59
+ </div>
60
+ </CdsModal>
61
+ </div>
62
+ </template>
63
+ ```
64
+
65
+ ## Using v-model
66
+
67
+ The state of the modal can be controlled directly through `v-model` — without an activator. This is how you open a modal from code: on a server response, from a handler in a table, from a store.
68
+
69
+ **Example (SFC):**
70
+
71
+ ```vue
72
+ <script setup lang="ts">
73
+ import { CdsButton, CdsFunctionalButton, CdsModal } from '@central-design-system/components';
74
+ import { ref } from 'vue';
75
+
76
+ const modal = ref(false);
77
+ </script>
78
+
79
+ <template>
80
+ <div class="flex flex-col items-center gap-4">
81
+ <CdsButton @click="modal = true">Открыть модальное окно</CdsButton>
82
+
83
+ <CdsModal v-model="modal">
84
+ <div class="flex items-center justify-between">
85
+ <span class="h4">Заголовок</span>
86
+ <CdsFunctionalButton icon="remove" aria-label="Закрыть" @click="modal = false" />
87
+ </div>
88
+
89
+ <p>Модальное окно без активатора: состоянием управляет v-model</p>
90
+ </CdsModal>
91
+
92
+ <div class="text-content-primary"><strong>v-model:</strong> {{ modal }}</div>
93
+ </div>
94
+ </template>
95
+ ```
96
+
97
+ ## Sizes
98
+
99
+ The `size` prop sets the width of the modal: `xs` (250), `sm` (350), `md` (500, the default), `lg` (700), `xl` — almost the full width of the screen. A number instead of an alias is an exact width in pixels. The height always adapts to the content, and `width` and `max-width` override the size when you need a non-standard grid.
100
+
101
+ **Example (SFC):**
102
+
103
+ ```vue
104
+ <script setup lang="ts">
105
+ import { CdsButton, CdsModal, type Size } from '@central-design-system/components';
106
+ import { ref } from 'vue';
107
+
108
+ const sizes: Size[] = ['xs', 'sm', 'md', 'lg', 'xl'];
109
+
110
+ const size = ref<Size>('md');
111
+ const modal = ref(false);
112
+
113
+ const open = (value: Size) => {
114
+ size.value = value;
115
+ modal.value = true;
116
+ };
117
+ </script>
118
+
119
+ <template>
120
+ <div class="flex flex-wrap justify-center gap-2">
121
+ <CdsButton v-for="item in sizes" :key="item" appearance="secondary" @click="open(item)">
122
+ {{ item }}
123
+ </CdsButton>
124
+
125
+ <CdsModal v-model="modal" :size="size">
126
+ <span class="h4">Размер {{ size }}</span>
127
+ <p>Ширина окна задана пропом <code>size</code></p>
128
+
129
+ <div class="mt-4 flex justify-end">
130
+ <CdsButton @click="modal = false">Закрыть</CdsButton>
131
+ </div>
132
+ </CdsModal>
133
+ </div>
134
+ </template>
135
+ ```
136
+
137
+ ## Persistent modals
138
+
139
+ The `persistent` prop turns off closing by a click outside the modal and by the `Esc` key — the modal can only be closed with the buttons inside it. A click outside shakes the modal, hinting that an answer is still required; the animation is removed by `no-click-animation`. Take `persistent` when closing would lose data or when the user has to make a choice.
140
+
141
+ **Example (SFC):**
142
+
143
+ ```vue
144
+ <script setup lang="ts">
145
+ import { CdsButton, CdsModal } from '@central-design-system/components';
146
+ import { ref } from 'vue';
147
+
148
+ const modal = ref(false);
149
+ </script>
150
+
151
+ <template>
152
+ <div class="flex justify-center">
153
+ <CdsModal v-model="modal" persistent size="sm">
154
+ <template #activator="{ props }">
155
+ <CdsButton v-bind="props">Открыть модальное окно</CdsButton>
156
+ </template>
157
+
158
+ <span class="h4">Подтвердите действие</span>
159
+ <p>Клик мимо окна и клавиша <code>Esc</code> его не закроют — ответьте одной из кнопок.</p>
160
+
161
+ <div class="mt-4 flex justify-end gap-3">
162
+ <CdsButton appearance="tertiary" @click="modal = false">Отменить</CdsButton>
163
+ <CdsButton @click="modal = false">Подтвердить</CdsButton>
164
+ </div>
165
+ </CdsModal>
166
+ </div>
167
+ </template>
168
+ ```
169
+
170
+ ## Scrolling inside the modal
171
+
172
+ By default long content scrolls together with the whole modal. The `scrollable` prop pins the header and the buttons and scrolls only the middle — for that the content is assembled from [CdsCard](../cds-card/api.md): the card becomes the surface of the modal, and the scrolling area is its `CdsCardText`.
173
+
174
+ **Example (SFC):**
175
+
176
+ ```vue
177
+ <script setup lang="ts">
178
+ import {
179
+ CdsButton,
180
+ CdsCard,
181
+ CdsCardActions,
182
+ CdsCardText,
183
+ CdsDivider,
184
+ CdsModal,
185
+ CdsRadio,
186
+ CdsRadioGroup
187
+ } from '@central-design-system/components';
188
+ import { ref } from 'vue';
189
+
190
+ const modal = ref(false);
191
+ const country = ref(null);
192
+
193
+ const countries = [
194
+ 'Австрия',
195
+ 'Бельгия',
196
+ 'Болгария',
197
+ 'Венгрия',
198
+ 'Германия',
199
+ 'Греция',
200
+ 'Дания',
201
+ 'Ирландия',
202
+ 'Испания',
203
+ 'Италия',
204
+ 'Латвия',
205
+ 'Литва',
206
+ 'Нидерланды',
207
+ 'Норвегия',
208
+ 'Польша',
209
+ 'Португалия',
210
+ 'Румыния',
211
+ 'Сербия',
212
+ 'Словакия',
213
+ 'Финляндия',
214
+ 'Франция',
215
+ 'Хорватия',
216
+ 'Чехия',
217
+ 'Швейцария',
218
+ 'Швеция',
219
+ 'Эстония'
220
+ ];
221
+ </script>
222
+
223
+ <template>
224
+ <div class="flex justify-center">
225
+ <CdsModal v-model="modal" scrollable size="sm">
226
+ <template #activator="{ props }">
227
+ <CdsButton v-bind="props">Выбрать страну</CdsButton>
228
+ </template>
229
+
230
+ <template #default="{ isActive }">
231
+ <CdsCard prepend-icon="search" title="Выберите страну">
232
+ <CdsDivider />
233
+
234
+ <CdsCardText class="h-[300px]">
235
+ <CdsRadioGroup v-model="country">
236
+ <CdsRadio v-for="item of countries" :key="item" :label="item" :value="item" />
237
+ </CdsRadioGroup>
238
+ </CdsCardText>
239
+
240
+ <CdsDivider />
241
+
242
+ <CdsCardActions class="justify-end gap-2">
243
+ <CdsButton text="Сохранить" @click="isActive.value = false" />
244
+ </CdsCardActions>
245
+ </CdsCard>
246
+ </template>
247
+ </CdsModal>
248
+ </div>
249
+ </template>
250
+ ```
251
+
252
+ ## Fullscreen
253
+
254
+ The `fullscreen` prop expands the modal to the whole screen: the size props are ignored, the paddings and the rounded corners are removed. It fits document viewing and complex forms on small screens.
255
+
256
+ **Example (SFC):**
257
+
258
+ ```vue
259
+ <script setup lang="ts">
260
+ import { CdsButton, CdsFunctionalButton, CdsModal } from '@central-design-system/components';
261
+ import { ref } from 'vue';
262
+
263
+ const modal = ref(false);
264
+ </script>
265
+
266
+ <template>
267
+ <div class="flex justify-center">
268
+ <CdsModal v-model="modal" fullscreen>
269
+ <template #activator="{ props }">
270
+ <CdsButton v-bind="props">Открыть на весь экран</CdsButton>
271
+ </template>
272
+
273
+ <div class="flex items-center justify-between">
274
+ <span class="h4">Окно на весь экран</span>
275
+ <CdsFunctionalButton icon="remove" aria-label="Закрыть" @click="modal = false" />
276
+ </div>
277
+
278
+ <p class="mt-2">
279
+ Проп <code>fullscreen</code> разворачивает окно на весь экран: пропсы размеров игнорируются, скругления и
280
+ отступы от краёв убираются. Такой режим подходит для просмотра документов и сложных форм на небольших экранах.
281
+ </p>
282
+
283
+ <div class="mt-auto flex justify-end">
284
+ <CdsButton @click="modal = false">Закрыть</CdsButton>
285
+ </div>
286
+ </CdsModal>
287
+ </div>
288
+ </template>
289
+ ```
290
+
291
+ ## Animations
292
+
293
+ By default the modal grows out of the activator and shrinks back — so you can see where it came from. The `transition` prop changes the animation: the ready `modal-transition-top` and `modal-transition-bottom` slide the modal in from the edge of the screen, and any custom CSS animation works too.
294
+
295
+ **Example (SFC):**
296
+
297
+ ```vue
298
+ <script setup lang="ts">
299
+ import { CdsButton, CdsModal } from '@central-design-system/components';
300
+ import { ref } from 'vue';
301
+
302
+ const modalTop = ref(false);
303
+ const modalBottom = ref(false);
304
+ </script>
305
+
306
+ <template>
307
+ <div class="flex flex-wrap justify-center gap-2">
308
+ <CdsModal v-model="modalTop" transition="modal-transition-top" size="sm">
309
+ <template #activator="{ props }">
310
+ <CdsButton v-bind="props">Сверху</CdsButton>
311
+ </template>
312
+
313
+ <span class="h4">Заголовок</span>
314
+ <p>Окно выезжает сверху</p>
315
+
316
+ <div class="mt-4 flex justify-end">
317
+ <CdsButton @click="modalTop = false">Закрыть</CdsButton>
318
+ </div>
319
+ </CdsModal>
320
+
321
+ <CdsModal v-model="modalBottom" transition="modal-transition-bottom" size="sm">
322
+ <template #activator="{ props }">
323
+ <CdsButton v-bind="props">Снизу</CdsButton>
324
+ </template>
325
+
326
+ <span class="h4">Заголовок</span>
327
+ <p>Окно выезжает снизу</p>
328
+
329
+ <div class="mt-4 flex justify-end">
330
+ <CdsButton @click="modalBottom = false">Закрыть</CdsButton>
331
+ </div>
332
+ </CdsModal>
333
+ </div>
334
+ </template>
335
+ ```
336
+
337
+ ## Delete confirmation
338
+
339
+ An irreversible action is confirmed with a compact `size="sm"` modal: the title names the action, the text specifies what exactly will be deleted, the main button repeats the verb from the title. One modal serves the whole list — the selected record is put into it right before opening.
340
+
341
+ **Example (SFC):**
342
+
343
+ ```vue
344
+ <script setup lang="ts">
345
+ import { CdsButton, CdsFunctionalButton, CdsList, CdsListItem, CdsModal } from '@central-design-system/components';
346
+ import { ref } from 'vue';
347
+
348
+ const initial = ['Договор поставки № 42', 'Смета на монтаж', 'Акт сверки за июнь'];
349
+
350
+ const drafts = ref([...initial]);
351
+ const modal = ref(false);
352
+ const pending = ref('');
353
+
354
+ const askDelete = (draft: string) => {
355
+ pending.value = draft;
356
+ modal.value = true;
357
+ };
358
+
359
+ const confirmDelete = () => {
360
+ drafts.value = drafts.value.filter((draft) => draft !== pending.value);
361
+ modal.value = false;
362
+ };
363
+ </script>
364
+
365
+ <template>
366
+ <div class="m-auto flex w-[360px] flex-col items-center gap-2">
367
+ <CdsList v-if="drafts.length" class="w-full">
368
+ <CdsListItem v-for="draft in drafts" :key="draft" :title="draft">
369
+ <template #append>
370
+ <CdsFunctionalButton icon="delete" :aria-label="`Удалить: ${draft}`" @click="askDelete(draft)" />
371
+ </template>
372
+ </CdsListItem>
373
+ </CdsList>
374
+
375
+ <CdsButton v-else appearance="secondary" @click="drafts = [...initial]">Восстановить список</CdsButton>
376
+
377
+ <CdsModal v-model="modal" size="sm">
378
+ <span class="h4">Удалить черновик?</span>
379
+ <p class="mt-2">«{{ pending }}» будет удалён без возможности восстановления.</p>
380
+
381
+ <div class="mt-4 flex justify-end gap-3">
382
+ <CdsButton appearance="tertiary" @click="modal = false">Отмена</CdsButton>
383
+ <CdsButton @click="confirmDelete">Удалить</CdsButton>
384
+ </div>
385
+ </CdsModal>
386
+ </div>
387
+ </template>
388
+ ```
389
+
390
+ ## A form in a modal
391
+
392
+ A short form is opened on top of the list so that the user is not taken away to a separate page. `persistent` protects what has been typed from an accidental click outside, the submit button shows `loading`, and "Cancel" is blocked while the request is running. The fields are reset in the `after-leave` event — after the closing animation, so that the values do not flash in a still visible modal.
393
+
394
+ **Example (SFC):**
395
+
396
+ ```vue
397
+ <script setup lang="ts">
398
+ import {
399
+ CdsButton,
400
+ CdsCard,
401
+ CdsCardActions,
402
+ CdsCardText,
403
+ CdsDivider,
404
+ CdsForm,
405
+ CdsModal,
406
+ CdsTextInput
407
+ } from '@central-design-system/components';
408
+ import { ref } from 'vue';
409
+
410
+ const modal = ref(false);
411
+ const loading = ref(false);
412
+ const name = ref('');
413
+ const email = ref('');
414
+
415
+ const submit = async () => {
416
+ loading.value = true;
417
+
418
+ // Имитация запроса к серверу
419
+ await new Promise((resolve) => setTimeout(resolve, 1500));
420
+
421
+ loading.value = false;
422
+ modal.value = false;
423
+ };
424
+
425
+ const reset = () => {
426
+ name.value = '';
427
+ email.value = '';
428
+ };
429
+ </script>
430
+
431
+ <template>
432
+ <div class="flex justify-center">
433
+ <CdsModal v-model="modal" persistent size="sm" @after-leave="reset">
434
+ <template #activator="{ props }">
435
+ <CdsButton v-bind="props">Пригласить сотрудника</CdsButton>
436
+ </template>
437
+
438
+ <CdsForm @submit.prevent="submit">
439
+ <CdsCard title="Пригласить сотрудника">
440
+ <CdsDivider />
441
+
442
+ <CdsCardText class="flex flex-col gap-2">
443
+ <CdsTextInput v-model="name" label="Имя" />
444
+ <CdsTextInput v-model="email" label="Рабочая почта" placeholder="name@company.ru" />
445
+ </CdsCardText>
446
+
447
+ <CdsDivider />
448
+
449
+ <CdsCardActions class="justify-end gap-2">
450
+ <CdsButton appearance="tertiary" :disabled="loading" @click="modal = false">Отмена</CdsButton>
451
+ <CdsButton type="submit" :loading="loading">Отправить приглашение</CdsButton>
452
+ </CdsCardActions>
453
+ </CdsCard>
454
+ </CdsForm>
455
+ </CdsModal>
456
+ </div>
457
+ </template>
458
+ ```
459
+
460
+ ## An agreement with scrolling
461
+
462
+ A document that requires an explicit answer is shown in a modal with `persistent` and `scrollable`: the text scrolls, and the "Accept" and "Decline" buttons are always in sight. Closing the modal without answering is not possible — the decision is recorded only with the buttons.
463
+
464
+ **Example (SFC):**
465
+
466
+ ```vue
467
+ <script setup lang="ts">
468
+ import {
469
+ CdsButton,
470
+ CdsCard,
471
+ CdsCardActions,
472
+ CdsCardText,
473
+ CdsDivider,
474
+ CdsModal
475
+ } from '@central-design-system/components';
476
+ import { ref } from 'vue';
477
+
478
+ const modal = ref(false);
479
+ const accepted = ref<boolean | null>(null);
480
+
481
+ const answer = (value: boolean) => {
482
+ accepted.value = value;
483
+ modal.value = false;
484
+ };
485
+ </script>
486
+
487
+ <template>
488
+ <div class="flex flex-col items-center gap-4">
489
+ <CdsButton @click="modal = true">Открыть условия</CdsButton>
490
+
491
+ <div v-if="accepted !== null" class="text-content-primary">
492
+ {{ accepted ? 'Условия приняты' : 'Условия отклонены' }}
493
+ </div>
494
+
495
+ <CdsModal v-model="modal" persistent scrollable size="sm">
496
+ <CdsCard title="Условия использования">
497
+ <CdsDivider />
498
+
499
+ <CdsCardText class="h-[300px]">
500
+ <p v-for="n in 6" :key="n" class="mb-2">
501
+ {{ n }}. Стороны признают юридическую силу документов, подписанных в системе, и обязуются соблюдать
502
+ конфиденциальность учётных данных. Оператор вправе обновлять условия, уведомив пользователей заранее.
503
+ </p>
504
+ </CdsCardText>
505
+
506
+ <CdsDivider />
507
+
508
+ <CdsCardActions class="justify-end gap-2">
509
+ <CdsButton appearance="tertiary" @click="answer(false)">Отклонить</CdsButton>
510
+ <CdsButton @click="answer(true)">Принять</CdsButton>
511
+ </CdsCardActions>
512
+ </CdsCard>
513
+ </CdsModal>
514
+ </div>
515
+ </template>
516
+ ```
@@ -0,0 +1,10 @@
1
+ # CdsModal — 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 title names the action and the buttons answer it — you decide without rereading the text. | “Are you sure?” with “Yes / No” forces you to read the text closely to understand what will happen. |
9
+ | There is always a way back from the modal: a cancel button next to the main action and a close icon in the corner. | A single “Accept” button leaves no choice — the user is locked inside the modal. |
10
+ | The size of the modal matches its content: a short confirmation lives in a compact modal. | In a wide modal a single line of text gets lost and the eye wanders between the text and the buttons. |
@@ -0,0 +1,22 @@
1
+ # CdsModal — 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
+ ## _CdsModal.variables.scss
8
+
9
+ ```scss
10
+ @use 'sass:map';
11
+ @use '../../../styles/tools';
12
+ @use '../../../styles/settings';
13
+
14
+ $modal-margin: var(--cds-spacing-400) !default;
15
+ $modal-padding: var(--cds-spacing-400) !default;
16
+ $modal-border-radius: var(--cds-border-radius-300) !default;
17
+ $modal-border: var(--cds-border-100) solid !default;
18
+ $modal-colors: (
19
+ 'background': rgb(var(--cds-color-surface-elevated)),
20
+ 'border': rgb(var(--cds-color-line-elevated))
21
+ ) !default;
22
+ ```
@@ -0,0 +1,46 @@
1
+ # CdsNotification — API
2
+
3
+ > Generated from meta.json by `bun run generate:skill`. Do not edit manually.
4
+ > Examples: [examples.md](examples.md) · Guidelines: [guidelines.md](guidelines.md) · Tokens: [tokens.md](tokens.md)
5
+
6
+ A notification is a block with a message about an event or a state: a successful save, a warning about a limit, a loading error. The semantic status sets the color and the icon, and the display modes let you embed the message into a form, a card or a list.
7
+
8
+ ## CdsNotification
9
+
10
+ **Props**
11
+
12
+ | Prop | Type | Default | Required | Description |
13
+ | --- | --- | --- | --- | --- |
14
+ | `bgColor` | `string \| undefined` | — | no | Background color of the component |
15
+ | `closable` | `boolean \| undefined` | — | no | Adds a close button that hides the notification. |
16
+ | `closeIcon` | `IconValue \| undefined` | `'remove'` | no | Icon of the close button. |
17
+ | `closeLabel` | `string \| undefined` | `'$cds.close'` | no | Accessible label (aria-label) for the close button. |
18
+ | `content` | `string \| number \| undefined` | — | no | Content displayed in the component. |
19
+ | `icon` | `false \| IconValue \| undefined` | `null` | no | Icon before the content. Taken from `status` by default; `false` hides the icon. |
20
+ | `modelValue` | `boolean \| undefined` | `true` | no | Visibility of the notification (v-model). When `false`, the notification is not rendered. |
21
+ | `status` | `"progress" \| "success" \| "danger" \| "warning" \| "info" \| undefined` | `'info'` | no | Semantic status — drives the color and the default icon. |
22
+ | `tag` | `string \| JSXComponent<any> \| undefined` | `'div'` | no | Custom HTML tag or component to render |
23
+ | `text` | `string \| number \| undefined` | — | no | Text displayed in the component. |
24
+ | `textColor` | `string \| undefined` | — | no | Text color of the component |
25
+ | `theme` | `string \| undefined` | — | no | Component theme |
26
+ | `title` | `string \| undefined` | — | no | Notification heading. |
27
+ | `variant` | `"default" \| "flat" \| "compact" \| "important" \| undefined` | `'default'` | no | Display mode: `default` — regular; `flat` — borderless; `compact` — single line without a heading; `important` — neutral background and a shadow, where the status only drives the content colors. |
28
+
29
+ **Events**
30
+
31
+ | Name | Type | Description |
32
+ | --- | --- | --- |
33
+ | `click:close` | `[event: MouseEvent]` | Click on the close button. |
34
+ | `update:modelValue` | `[value: boolean]` | The visibility of the notification changed. |
35
+
36
+ **Slots**
37
+
38
+ | Name | Type | Description |
39
+ | --- | --- | --- |
40
+ | `actions` | `any` | Slot for actions (buttons, links) below the text. |
41
+ | `append` | `any` | Slot after the content. |
42
+ | `close` | `{ props: Record<string, any>; }` | Close button slot; receives `props` to bind to your own element. |
43
+ | `default` | `any` | Main content of the notification (complements `text`). |
44
+ | `prepend` | `any` | Slot before the content (the status icon by default). |
45
+ | `text` | `any` | Text slot (instead of the `text` prop). |
46
+ | `title` | `any` | Heading slot (instead of the `title` prop). |