sparkdesign 0.4.5 → 0.4.7

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 (377) hide show
  1. package/AI_README.md +60 -0
  2. package/README.md +74 -22
  3. package/cli/dist/commands/add.js +23 -13
  4. package/cli/dist/commands/diff.js +8 -4
  5. package/cli/dist/commands/init.js +85 -10
  6. package/cli/dist/commands/list.js +8 -4
  7. package/cli/dist/index.js +9 -6
  8. package/cli/dist/utils/config.js +16 -8
  9. package/cli/dist/utils/package-manager.js +75 -0
  10. package/cli/dist/utils/registry.js +8 -4
  11. package/cli/dist/utils/tokens.js +33 -25
  12. package/cli/dist/utils/transform.js +9 -5
  13. package/cli/dist/utils/tsconfig.js +182 -0
  14. package/cli/registry/AGENTS.md +25 -0
  15. package/cli/registry/__tests__/chat/thinking-indicator.test.tsx +2 -2
  16. package/cli/registry/agent-manifest.json +794 -0
  17. package/cli/registry/basic/alert.tsx +76 -0
  18. package/cli/registry/basic/aspect-ratio.tsx +8 -0
  19. package/cli/registry/basic/breadcrumb.tsx +117 -0
  20. package/cli/registry/basic/button-group.tsx +79 -0
  21. package/cli/registry/basic/button.tsx +1 -1
  22. package/cli/registry/basic/calendar.tsx +221 -0
  23. package/cli/registry/basic/card.tsx +103 -0
  24. package/cli/registry/basic/carousel.tsx +241 -0
  25. package/cli/registry/basic/chart.tsx +372 -0
  26. package/cli/registry/basic/checkbox.tsx +42 -0
  27. package/cli/registry/basic/collapsible-card.tsx +2 -2
  28. package/cli/registry/basic/combobox.tsx +75 -0
  29. package/cli/registry/basic/command.tsx +184 -0
  30. package/cli/registry/basic/context-menu.tsx +239 -0
  31. package/cli/registry/basic/data-table.tsx +73 -0
  32. package/cli/registry/basic/date-picker.tsx +13 -0
  33. package/cli/registry/basic/dialog.tsx +169 -0
  34. package/cli/registry/basic/direction.tsx +25 -0
  35. package/cli/registry/basic/drawer.tsx +164 -0
  36. package/cli/registry/basic/dropdown-menu.tsx +0 -4
  37. package/cli/registry/basic/empty.tsx +104 -0
  38. package/cli/registry/basic/field.tsx +248 -0
  39. package/cli/registry/basic/hover-card.tsx +58 -0
  40. package/cli/registry/basic/input-group.tsx +168 -0
  41. package/cli/registry/basic/input-otp.tsx +75 -0
  42. package/cli/registry/basic/input.tsx +27 -0
  43. package/cli/registry/basic/item.tsx +204 -0
  44. package/cli/registry/basic/label.tsx +24 -0
  45. package/cli/registry/basic/menubar.tsx +274 -0
  46. package/cli/registry/basic/native-select.tsx +62 -0
  47. package/cli/registry/basic/navigation-menu.tsx +168 -0
  48. package/cli/registry/basic/popover.tsx +59 -0
  49. package/cli/registry/basic/scroll-area.tsx +58 -0
  50. package/cli/registry/basic/select.tsx +2 -1
  51. package/cli/registry/basic/separator.tsx +26 -0
  52. package/cli/registry/basic/sheet.tsx +18 -0
  53. package/cli/registry/basic/textarea.tsx +25 -0
  54. package/cli/registry/basic/toggle.tsx +1 -1
  55. package/cli/registry/basic/typography.tsx +1 -1
  56. package/cli/registry/chat/chat-input/chat-input-folder-selector.tsx +1 -1
  57. package/cli/registry/chat/chat-input/chat-input-textarea.tsx +1 -1
  58. package/cli/registry/chat/chat-input/compound.tsx +4 -3
  59. package/cli/registry/chat/chat-input/context.tsx +4 -1
  60. package/cli/registry/chat/chat-input/folder-permission-dialog.tsx +2 -2
  61. package/cli/registry/chat/code-block-part.tsx +1 -1
  62. package/cli/registry/chat/conversation-anchor-nav.tsx +349 -0
  63. package/cli/registry/chat/file-attachment.tsx +2 -1
  64. package/cli/registry/chat/file-review-part.tsx +21 -21
  65. package/cli/registry/chat/image-generating.tsx +1 -1
  66. package/cli/registry/chat/markdown.tsx +2 -2
  67. package/cli/registry/chat/queue-indicator.tsx +1 -0
  68. package/cli/registry/chat/response/context.tsx +1 -1
  69. package/cli/registry/chat/streaming-markdown-block.tsx +12 -8
  70. package/cli/registry/chat/thinking-indicator.tsx +1 -1
  71. package/cli/registry/chat/tool-invocation-card.tsx +4 -1
  72. package/cli/registry/lib/file-icon-maps.ts +22 -22
  73. package/cli/registry/meta.json +518 -0
  74. package/cli/registry/tokens/index.css +8 -5
  75. package/cli/registry/tokens/ontology.json +404 -0
  76. package/cli/registry/tokens/scale/presets/compact.css +16 -5
  77. package/cli/registry/tokens/scale/presets/dense.css +13 -2
  78. package/cli/registry/tokens/scale/presets/sharp.css +18 -6
  79. package/cli/registry/tokens/scale/presets/soft.css +23 -1
  80. package/cli/registry/tokens/theme-base.css +235 -0
  81. package/{dist/tokens/themes/dark-qoder.css → cli/registry/tokens/themes/dark-mint.css} +1 -1
  82. package/cli/registry/tokens/themes/dark-parchment.css +104 -103
  83. package/{dist/tokens/themes/light-qoder.css → cli/registry/tokens/themes/light-mint.css} +1 -1
  84. package/cli/registry/tokens/themes/light-parchment.css +103 -102
  85. package/dist/registry/basic/alert-dialog.d.ts +7 -5
  86. package/dist/registry/basic/alert.d.ts +24 -0
  87. package/dist/registry/basic/aspect-ratio.d.ts +16 -0
  88. package/dist/registry/basic/avatar.d.ts +7 -5
  89. package/dist/registry/basic/breadcrumb.d.ts +24 -0
  90. package/dist/registry/basic/button-group.d.ts +26 -0
  91. package/dist/registry/basic/button.d.ts +1 -1
  92. package/dist/registry/basic/calendar.d.ts +22 -0
  93. package/dist/registry/basic/card.d.ts +27 -0
  94. package/dist/registry/basic/carousel.d.ts +19 -0
  95. package/dist/registry/basic/chart.d.ts +55 -0
  96. package/dist/registry/basic/checkbox.d.ts +21 -0
  97. package/dist/registry/basic/collapse.d.ts +7 -5
  98. package/dist/registry/basic/collapsible-card.d.ts +7 -6
  99. package/dist/registry/basic/collapsible.d.ts +7 -5
  100. package/dist/registry/basic/combobox.d.ts +26 -0
  101. package/dist/registry/basic/command.d.ts +18 -0
  102. package/dist/registry/basic/context-menu.d.ts +44 -0
  103. package/dist/registry/basic/data-table.d.ts +26 -0
  104. package/dist/registry/basic/date-picker.d.ts +18 -0
  105. package/dist/registry/basic/dialog.d.ts +39 -0
  106. package/dist/registry/basic/direction.d.ts +19 -0
  107. package/dist/registry/basic/drawer.d.ts +37 -0
  108. package/dist/registry/basic/dropdown-menu.d.ts +7 -5
  109. package/dist/registry/basic/empty.d.ts +22 -0
  110. package/dist/registry/basic/field.d.ts +24 -0
  111. package/dist/registry/basic/hover-card.d.ts +22 -0
  112. package/dist/registry/basic/icons-inline.d.ts +7 -5
  113. package/dist/registry/basic/input-group.d.ts +27 -0
  114. package/dist/registry/basic/input-otp.d.ts +22 -0
  115. package/dist/registry/basic/input.d.ts +15 -0
  116. package/dist/registry/basic/item.d.ts +34 -0
  117. package/dist/registry/basic/kbd.d.ts +7 -5
  118. package/dist/registry/basic/label.d.ts +16 -0
  119. package/dist/registry/basic/menubar.d.ts +37 -0
  120. package/dist/registry/basic/native-select.d.ts +18 -0
  121. package/dist/registry/basic/navigation-menu.d.ts +25 -0
  122. package/dist/registry/basic/pagination.d.ts +7 -5
  123. package/dist/registry/basic/popover.d.ts +23 -0
  124. package/dist/registry/basic/progress.d.ts +7 -5
  125. package/dist/registry/basic/radio-group.d.ts +7 -5
  126. package/dist/registry/basic/resizable.d.ts +7 -5
  127. package/dist/registry/basic/scroll-area.d.ts +5 -0
  128. package/dist/registry/basic/select.d.ts +7 -5
  129. package/dist/registry/basic/separator.d.ts +16 -0
  130. package/dist/registry/basic/sheet.d.ts +13 -0
  131. package/dist/registry/basic/slider.d.ts +7 -5
  132. package/dist/registry/basic/sonner.d.ts +7 -5
  133. package/dist/registry/basic/switch.d.ts +7 -5
  134. package/dist/registry/basic/tabs.d.ts +7 -5
  135. package/dist/registry/basic/tag.d.ts +7 -5
  136. package/dist/registry/basic/textarea.d.ts +15 -0
  137. package/dist/registry/basic/theme-from-document.d.ts +7 -5
  138. package/dist/registry/basic/toggle.d.ts +1 -1
  139. package/dist/registry/basic/tooltip.d.ts +7 -5
  140. package/dist/registry/basic/typography.d.ts +7 -5
  141. package/dist/registry/chat/ask-user-part.d.ts +9 -3
  142. package/dist/registry/chat/browser-action-part.d.ts +9 -3
  143. package/dist/registry/chat/chat-input/compound.d.ts +7 -5
  144. package/dist/registry/chat/chat-input/context.d.ts +10 -6
  145. package/dist/registry/chat/chat-input/index.d.ts +7 -5
  146. package/dist/registry/chat/chat-input/types.d.ts +9 -3
  147. package/dist/registry/chat/chat-input/useAutoResizeTextarea.d.ts +9 -3
  148. package/dist/registry/chat/code-block-part.d.ts +9 -3
  149. package/dist/registry/chat/conversation-anchor-nav.d.ts +72 -0
  150. package/dist/registry/chat/file-attachment.d.ts +7 -5
  151. package/dist/registry/chat/file-review-part.d.ts +9 -4
  152. package/dist/registry/chat/generated-images-grid.d.ts +9 -3
  153. package/dist/registry/chat/generation-status-bar.d.ts +8 -4
  154. package/dist/registry/chat/hint-banner.d.ts +9 -3
  155. package/dist/registry/chat/mermaid-part.d.ts +9 -3
  156. package/dist/registry/chat/plan-part.d.ts +9 -3
  157. package/dist/registry/chat/reasoning-step/index.d.ts +8 -6
  158. package/dist/registry/chat/reasoning-step/types.d.ts +9 -3
  159. package/dist/registry/chat/related-prompts.d.ts +9 -3
  160. package/dist/registry/chat/response/index.d.ts +8 -6
  161. package/dist/registry/chat/response/types.d.ts +9 -3
  162. package/dist/registry/chat/task-part.d.ts +9 -3
  163. package/dist/registry/chat/terminal-code-block-part.d.ts +9 -3
  164. package/dist/registry/chat/tool-invocation-card.d.ts +2 -0
  165. package/dist/registry/chat/user-question/UserQuestionCard.d.ts +9 -3
  166. package/dist/registry/chat/user-question/UserQuestionFooter.d.ts +9 -3
  167. package/dist/registry/chat/user-question/UserQuestionHeader.d.ts +9 -3
  168. package/dist/registry/chat/user-question/types.d.ts +8 -5
  169. package/dist/registry/lib/file-icon-maps.d.ts +7 -7
  170. package/dist/registry/lib/utils.d.ts +8 -6
  171. package/dist/scale/presets/compact.css +16 -5
  172. package/dist/scale/presets/dense.css +13 -2
  173. package/dist/scale/presets/sharp.css +18 -6
  174. package/dist/scale/presets/soft.css +23 -1
  175. package/dist/spark-design.cjs.js +40 -36
  176. package/dist/spark-design.es.js +8653 -8663
  177. package/dist/sparkdesign.css +2 -0
  178. package/dist/src/components/basic/Alert/index.d.ts +13 -0
  179. package/dist/src/components/basic/AlertDialog/index.d.ts +7 -5
  180. package/dist/src/components/basic/AspectRatio/index.d.ts +13 -0
  181. package/dist/src/components/basic/Avatar/index.d.ts +9 -3
  182. package/dist/src/components/basic/Breadcrumb/index.d.ts +12 -0
  183. package/dist/src/components/basic/Button/index.d.ts +9 -3
  184. package/dist/src/components/basic/ButtonGroup/index.d.ts +13 -0
  185. package/dist/src/components/basic/Calendar/index.d.ts +13 -0
  186. package/dist/src/components/basic/Card/index.d.ts +13 -0
  187. package/dist/src/components/basic/Carousel/index.d.ts +12 -0
  188. package/dist/src/components/basic/Chart/index.d.ts +13 -0
  189. package/dist/src/components/basic/Checkbox/index.d.ts +13 -0
  190. package/dist/src/components/basic/Collapse/index.d.ts +7 -4
  191. package/dist/src/components/basic/Collapsible/index.d.ts +9 -4
  192. package/dist/src/components/basic/CollapsibleCard/index.d.ts +9 -3
  193. package/dist/src/components/basic/CollapsibleSection/index.d.ts +7 -7
  194. package/dist/src/components/basic/Combobox/index.d.ts +13 -0
  195. package/dist/src/components/basic/Command/index.d.ts +12 -0
  196. package/dist/src/components/basic/ContextMenu/index.d.ts +19 -0
  197. package/dist/src/components/basic/DataTable/index.d.ts +13 -0
  198. package/dist/src/components/basic/DatePicker/index.d.ts +13 -0
  199. package/dist/src/components/basic/Dialog/index.d.ts +16 -0
  200. package/dist/src/components/basic/Direction/index.d.ts +13 -0
  201. package/dist/src/components/basic/Drawer/index.d.ts +16 -0
  202. package/dist/src/components/basic/DropdownMenu/index.d.ts +7 -5
  203. package/dist/src/components/basic/EllipsisText/index.d.ts +7 -15
  204. package/dist/src/components/basic/Empty/index.d.ts +12 -0
  205. package/dist/src/components/basic/Field/index.d.ts +12 -0
  206. package/dist/src/components/basic/HoverCard/index.d.ts +16 -0
  207. package/dist/src/components/basic/IconButton/index.d.ts +9 -3
  208. package/dist/src/components/basic/Input/index.d.ts +13 -0
  209. package/dist/src/components/basic/InputGroup/index.d.ts +12 -0
  210. package/dist/src/components/basic/InputOTP/index.d.ts +12 -0
  211. package/dist/src/components/basic/Item/index.d.ts +12 -0
  212. package/dist/src/components/basic/Kbd/index.d.ts +9 -3
  213. package/dist/src/components/basic/Label/index.d.ts +13 -0
  214. package/dist/src/components/basic/Menubar/index.d.ts +12 -0
  215. package/dist/src/components/basic/NativeSelect/index.d.ts +12 -0
  216. package/dist/src/components/basic/NavigationMenu/index.d.ts +12 -0
  217. package/dist/src/components/basic/OptionList/index.d.ts +9 -3
  218. package/dist/src/components/basic/Pagination/index.d.ts +9 -3
  219. package/dist/src/components/basic/Popover/index.d.ts +16 -0
  220. package/dist/src/components/basic/Progress/index.d.ts +9 -3
  221. package/dist/src/components/basic/RadioGroup/index.d.ts +9 -3
  222. package/dist/src/components/basic/Resizable/index.d.ts +9 -3
  223. package/dist/src/components/basic/ScrollArea/index.d.ts +12 -0
  224. package/dist/src/components/basic/Scrollbar/index.d.ts +9 -3
  225. package/dist/src/components/basic/Select/index.d.ts +7 -4
  226. package/dist/src/components/basic/Separator/index.d.ts +13 -0
  227. package/dist/src/components/basic/Sheet/index.d.ts +13 -0
  228. package/dist/src/components/basic/ShimmeringText/index.d.ts +9 -3
  229. package/dist/src/components/basic/Skeleton/index.d.ts +9 -3
  230. package/dist/src/components/basic/Slider/index.d.ts +9 -3
  231. package/dist/src/components/basic/Spinner/index.d.ts +9 -3
  232. package/dist/src/components/basic/Switch/index.d.ts +8 -5
  233. package/dist/src/components/basic/Table/index.d.ts +9 -3
  234. package/dist/src/components/basic/Tabs/index.d.ts +9 -3
  235. package/dist/src/components/basic/Tag/index.d.ts +7 -4
  236. package/dist/src/components/basic/Textarea/index.d.ts +13 -0
  237. package/dist/src/components/basic/Toggle/index.d.ts +9 -3
  238. package/dist/src/components/basic/Tooltip/index.d.ts +7 -4
  239. package/dist/src/components/basic/Typography/index.d.ts +9 -3
  240. package/dist/src/components/chat/ConversationAnchorNav/index.d.ts +13 -0
  241. package/dist/src/components/chat/GeneratedImagesGrid/index.d.ts +9 -3
  242. package/dist/src/components/chat/GenerationStatusBar/index.d.ts +9 -3
  243. package/dist/src/components/chat/Markdown/demo-content.d.ts +1 -1
  244. package/dist/src/components/chat/Markdown/index.d.ts +9 -3
  245. package/dist/src/components/chat/Response/StreamingMarkdownBlock.d.ts +9 -3
  246. package/dist/src/components/chat/Response/index.d.ts +8 -6
  247. package/dist/src/components/chat/StreamingMarkdownBlock/index.d.ts +13 -0
  248. package/dist/src/components/chat/UserMessage/index.d.ts +9 -3
  249. package/dist/src/components/index.d.ts +64 -9
  250. package/dist/src/icons/context.d.ts +7 -6
  251. package/dist/src/icons/types.d.ts +7 -5
  252. package/dist/src/lib/ThemeStyleContext.d.ts +9 -9
  253. package/dist/src/lib/file-icon.d.ts +7 -6
  254. package/dist/src/lib/i18n.d.ts +7 -6
  255. package/dist/src/lib/index.d.ts +9 -3
  256. package/dist/src/lib/utils.d.ts +7 -5
  257. package/dist/theme-base.css +7 -8
  258. package/dist/theme.css +2 -2
  259. package/dist/themes/{dark-qoder.css → dark-mint.css} +1 -1
  260. package/dist/themes/{light-qoder.css → light-mint.css} +1 -1
  261. package/dist/tokens/AGENTS.md +48 -0
  262. package/dist/tokens/index.css +10 -19
  263. package/dist/tokens/scale/presets/compact.css +16 -5
  264. package/dist/tokens/scale/presets/dense.css +13 -2
  265. package/dist/tokens/scale/presets/sharp.css +18 -6
  266. package/dist/tokens/scale/presets/soft.css +23 -1
  267. package/dist/tokens/theme-base.css +7 -8
  268. package/dist/tokens/theme.css +2 -2
  269. package/dist/tokens/themes/dark-mint.css +133 -0
  270. package/dist/tokens/themes/light-mint.css +132 -0
  271. package/docs/agent/component-selection.md +60 -0
  272. package/docs/agent/token-ontology.md +37 -0
  273. package/package.json +41 -9
  274. package/registry/agent-manifest.json +794 -0
  275. package/registry/tokens/ontology.json +404 -0
  276. package/cli/registry/tokens/themes/dark-qoder.css +0 -132
  277. package/cli/registry/tokens/themes/light-qoder.css +0 -131
  278. package/dist/_basePickBy-DnQN8w3y.js +0 -151
  279. package/dist/_basePickBy-a-kPMlkg.cjs +0 -1
  280. package/dist/_baseUniq-B-N2NQ50.js +0 -614
  281. package/dist/_baseUniq-Cc_zbSif.cjs +0 -1
  282. package/dist/arc-BQBhijZ6.js +0 -83
  283. package/dist/arc-mWQt0Yph.cjs +0 -1
  284. package/dist/architectureDiagram-VXUJARFQ-BMZEucno.cjs +0 -36
  285. package/dist/architectureDiagram-VXUJARFQ-DTdjD3Bp.js +0 -4661
  286. package/dist/blockDiagram-VD42YOAC-CzHn0yob.js +0 -2256
  287. package/dist/blockDiagram-VD42YOAC-DDxdHAlz.cjs +0 -122
  288. package/dist/c4Diagram-YG6GDRKO-4Gz0I4gj.cjs +0 -10
  289. package/dist/c4Diagram-YG6GDRKO-BIy--yVN.js +0 -1580
  290. package/dist/channel-BQn0o8bs.js +0 -5
  291. package/dist/channel-DaN7XniJ.cjs +0 -1
  292. package/dist/chunk-4BX2VUAB-BlQFTQqz.cjs +0 -1
  293. package/dist/chunk-4BX2VUAB-Czitj3Kc.js +0 -8
  294. package/dist/chunk-55IACEB6-DXacNZbO.js +0 -8
  295. package/dist/chunk-55IACEB6-DnDxpye9.cjs +0 -1
  296. package/dist/chunk-B4BG7PRW-CBdN0q_V.js +0 -1375
  297. package/dist/chunk-B4BG7PRW-DbGvUkGO.cjs +0 -165
  298. package/dist/chunk-DI55MBZ5-D1YJMs6x.cjs +0 -220
  299. package/dist/chunk-DI55MBZ5-NCQTvayw.js +0 -1370
  300. package/dist/chunk-FMBD7UC4-CsGMbrtr.js +0 -19
  301. package/dist/chunk-FMBD7UC4-Di7cUUh5.cjs +0 -15
  302. package/dist/chunk-QN33PNHL-0j5LC8Lm.cjs +0 -1
  303. package/dist/chunk-QN33PNHL-3GERZBRm.js +0 -19
  304. package/dist/chunk-QZHKN3VN-AVEY9ImQ.js +0 -15
  305. package/dist/chunk-QZHKN3VN-s8Z0a8mc.cjs +0 -1
  306. package/dist/chunk-TZMSLE5B-CAf87HPt.cjs +0 -1
  307. package/dist/chunk-TZMSLE5B-sbiflal0.js +0 -64
  308. package/dist/classDiagram-2ON5EDUG-Ct9JLIN2.cjs +0 -1
  309. package/dist/classDiagram-2ON5EDUG-Dzfrft3a.js +0 -16
  310. package/dist/classDiagram-v2-WZHVMYZB-Ct9JLIN2.cjs +0 -1
  311. package/dist/classDiagram-v2-WZHVMYZB-Dzfrft3a.js +0 -16
  312. package/dist/clone-Cde_NQ8V.js +0 -8
  313. package/dist/clone-DCNjWuM2.cjs +0 -1
  314. package/dist/cose-bilkent-S5V4N54A-0uLijMro.cjs +0 -1
  315. package/dist/cose-bilkent-S5V4N54A-Bb08N431.js +0 -2608
  316. package/dist/cytoscape.esm-CNUX3VTg.cjs +0 -321
  317. package/dist/cytoscape.esm-Cvf3sx9F.js +0 -18704
  318. package/dist/dagre-6UL2VRFP-CY_Wz5Zd.js +0 -444
  319. package/dist/dagre-6UL2VRFP-Dxe7_qZc.cjs +0 -4
  320. package/dist/defaultLocale-BgPVtth8.js +0 -171
  321. package/dist/defaultLocale-C4wbwF1n.cjs +0 -1
  322. package/dist/diagram-PSM6KHXK-D2bdb7MT.js +0 -531
  323. package/dist/diagram-PSM6KHXK-YF69SUjY.cjs +0 -24
  324. package/dist/diagram-QEK2KX5R-BpUSoh0-.js +0 -217
  325. package/dist/diagram-QEK2KX5R-DZPGteon.cjs +0 -43
  326. package/dist/diagram-S2PKOQOG-ht-zdvFG.cjs +0 -24
  327. package/dist/diagram-S2PKOQOG-zFeLJ50Z.js +0 -142
  328. package/dist/erDiagram-Q2GNP2WA-B38iJ6ts.js +0 -841
  329. package/dist/erDiagram-Q2GNP2WA-RgS80DDU.cjs +0 -60
  330. package/dist/flowDiagram-NV44I4VS-BHilOs2p.cjs +0 -162
  331. package/dist/flowDiagram-NV44I4VS-BrBJcoce.js +0 -1620
  332. package/dist/ganttDiagram-JELNMOA3-pZiJeFio.cjs +0 -267
  333. package/dist/ganttDiagram-JELNMOA3-tw6FhkWJ.js +0 -2670
  334. package/dist/gitGraphDiagram-V2S2FVAM-BWn5uIK5.js +0 -699
  335. package/dist/gitGraphDiagram-V2S2FVAM-DKKeG-9R.cjs +0 -65
  336. package/dist/graph-DIbblrZP.cjs +0 -1
  337. package/dist/graph-DPcK91G3.js +0 -247
  338. package/dist/infoDiagram-HS3SLOUP-B8gwwhct.cjs +0 -2
  339. package/dist/infoDiagram-HS3SLOUP-D47PNcP_.js +0 -24
  340. package/dist/init-CHZsXQcr.cjs +0 -1
  341. package/dist/init-DjUOC4st.js +0 -16
  342. package/dist/journeyDiagram-XKPGCS4Q-BG3cfhyU.js +0 -834
  343. package/dist/journeyDiagram-XKPGCS4Q-D8DVLJof.cjs +0 -139
  344. package/dist/kanban-definition-3W4ZIXB7-4OCnEouP.cjs +0 -89
  345. package/dist/kanban-definition-3W4ZIXB7-CWi_ssF9.js +0 -719
  346. package/dist/layout-Byuh8f-J.cjs +0 -1
  347. package/dist/layout-CdLdvj1j.js +0 -1335
  348. package/dist/linear-C2Q_PI9B.js +0 -259
  349. package/dist/linear-C69aPBW1.cjs +0 -1
  350. package/dist/mermaid.core-DBwAx_jp.cjs +0 -249
  351. package/dist/mermaid.core-gFR0XUlD.js +0 -15300
  352. package/dist/mindmap-definition-VGOIOE7T-8P7obVV4.cjs +0 -68
  353. package/dist/mindmap-definition-VGOIOE7T-DnOa7WJ9.js +0 -784
  354. package/dist/ordinal-B6-f3MAq.js +0 -61
  355. package/dist/ordinal-CagbB1m8.cjs +0 -1
  356. package/dist/pieDiagram-ADFJNKIX-5NAlvhMo.js +0 -161
  357. package/dist/pieDiagram-ADFJNKIX-CQBG4yR9.cjs +0 -30
  358. package/dist/qoder-design.css +0 -2
  359. package/dist/quadrantDiagram-AYHSOK5B-Oe4y7RZ0.cjs +0 -7
  360. package/dist/quadrantDiagram-AYHSOK5B-rh2DPEP1.js +0 -1022
  361. package/dist/requirementDiagram-UZGBJVZJ-DcWaCuXr.js +0 -850
  362. package/dist/requirementDiagram-UZGBJVZJ-gfdlrFiq.cjs +0 -64
  363. package/dist/sankeyDiagram-TZEHDZUN-CQIKFwD0.js +0 -810
  364. package/dist/sankeyDiagram-TZEHDZUN-DvPtzQvC.cjs +0 -10
  365. package/dist/sequenceDiagram-WL72ISMW-BNrsMagL.cjs +0 -145
  366. package/dist/sequenceDiagram-WL72ISMW-iCX3ckKx.js +0 -2511
  367. package/dist/stateDiagram-FKZM4ZOC-DBvJ_eeL.cjs +0 -1
  368. package/dist/stateDiagram-FKZM4ZOC-ZVsJlaHJ.js +0 -263
  369. package/dist/stateDiagram-v2-4FDKWEC3-CB_nTHcE.js +0 -16
  370. package/dist/stateDiagram-v2-4FDKWEC3-Xkx17v6T.cjs +0 -1
  371. package/dist/timeline-definition-IT6M3QCI-BmGkYQiz.cjs +0 -61
  372. package/dist/timeline-definition-IT6M3QCI-Ck8zTt6w.js +0 -795
  373. package/dist/tokens/CLAUDE.md +0 -305
  374. package/dist/treemap-GDKQZRPO-B9sfERx8.js +0 -17922
  375. package/dist/treemap-GDKQZRPO-BVfJRs0Z.cjs +0 -160
  376. package/dist/xychartDiagram-PRI3JC2R-By_S8NzN.js +0 -1340
  377. package/dist/xychartDiagram-PRI3JC2R-CNfDrGxM.cjs +0 -7
@@ -0,0 +1,44 @@
1
+ /**
2
+ * [WHO]: ContextMenu — right-click menu on @radix-ui/react-context-menu.
3
+ * [FROM]: React + @radix-ui/react-context-menu + framer-motion + CVA + icons-inline + getThemeFromDocument.
4
+ * [TO]: sparkdesign package consumers; output of CLI `add context-menu` when registered.
5
+ * [HERE]: registry/basic/context-menu.tsx — Spark Design source; keep aligned with the main library.
6
+ *
7
+ * [PROTOCOL]:
8
+ * 1. Keep this P3 header in sync when the public contract changes.
9
+ * 2. Update module AGENTS.md (P2) and root AGENTS.md (P1) when boundaries change.
10
+ * 3. Follow design tokens and explicit type exports.
11
+ */
12
+ import * as React from 'react';
13
+ import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';
14
+ import { type VariantProps } from 'class-variance-authority';
15
+ declare const ContextMenu: React.FC<ContextMenuPrimitive.ContextMenuProps>;
16
+ declare const ContextMenuTrigger: React.ForwardRefExoticComponent<ContextMenuPrimitive.ContextMenuTriggerProps & React.RefAttributes<HTMLSpanElement>>;
17
+ declare const ContextMenuGroup: React.ForwardRefExoticComponent<ContextMenuPrimitive.ContextMenuGroupProps & React.RefAttributes<HTMLDivElement>>;
18
+ declare const ContextMenuPortal: React.FC<ContextMenuPrimitive.ContextMenuPortalProps>;
19
+ declare const ContextMenuSub: React.FC<ContextMenuPrimitive.ContextMenuSubProps>;
20
+ declare const ContextMenuRadioGroup: React.ForwardRefExoticComponent<ContextMenuPrimitive.ContextMenuRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
21
+ export interface ContextMenuContentProps extends React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Content> {
22
+ dataStyle?: string;
23
+ dataTheme?: string;
24
+ }
25
+ declare const ContextMenuContent: React.ForwardRefExoticComponent<ContextMenuContentProps & React.RefAttributes<HTMLDivElement>>;
26
+ declare const ContextMenuSubTrigger: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuSubTriggerProps & React.RefAttributes<HTMLDivElement>, "ref"> & VariantProps<(props?: ({
27
+ inset?: boolean | null | undefined;
28
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string> & React.RefAttributes<HTMLDivElement>>;
29
+ declare const ContextMenuSubContent: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuSubContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
30
+ dataStyle?: string;
31
+ dataTheme?: string;
32
+ } & React.RefAttributes<HTMLDivElement>>;
33
+ declare const ContextMenuItem: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & VariantProps<(props?: ({
34
+ variant?: "default" | "destructive" | null | undefined;
35
+ inset?: boolean | null | undefined;
36
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string> & React.RefAttributes<HTMLDivElement>>;
37
+ declare const ContextMenuCheckboxItem: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuCheckboxItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
38
+ declare const ContextMenuRadioItem: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuRadioItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
39
+ declare const ContextMenuLabel: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & VariantProps<(props?: ({
40
+ inset?: boolean | null | undefined;
41
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string> & React.RefAttributes<HTMLDivElement>>;
42
+ declare const ContextMenuSeparator: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
43
+ declare const ContextMenuShortcut: React.FC<React.HTMLAttributes<HTMLSpanElement>>;
44
+ export { ContextMenu, ContextMenuTrigger, ContextMenuContent, ContextMenuItem, ContextMenuCheckboxItem, ContextMenuRadioItem, ContextMenuLabel, ContextMenuSeparator, ContextMenuShortcut, ContextMenuGroup, ContextMenuPortal, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuRadioGroup, };
@@ -0,0 +1,26 @@
1
+ /**
2
+ * [WHO]: DataTable — small generic table renderer for structured records.
3
+ * [FROM]: React + registry/basic/table + registry/basic/scroll-area.
4
+ * [TO]: sparkdesign package consumers; output of CLI `add data-table` when registered.
5
+ * [HERE]: registry/basic/data-table.tsx — Spark Design source; dependency-light data table baseline.
6
+ *
7
+ * [PROTOCOL]:
8
+ * 1. Keep advanced sorting/filtering in userland until a dedicated table engine is adopted.
9
+ * 2. Require stable column keys for predictable rendering.
10
+ * 3. Follow design tokens and explicit type exports.
11
+ */
12
+ import * as React from 'react';
13
+ export interface DataTableColumn<TData> {
14
+ key: string;
15
+ header: React.ReactNode;
16
+ cell?: (row: TData, index: number) => React.ReactNode;
17
+ accessor?: keyof TData;
18
+ className?: string;
19
+ }
20
+ export interface DataTableProps<TData> extends React.HTMLAttributes<HTMLDivElement> {
21
+ columns: DataTableColumn<TData>[];
22
+ data: TData[];
23
+ emptyText?: React.ReactNode;
24
+ }
25
+ declare function DataTable<TData extends Record<string, unknown>>({ columns, data, emptyText, className, ...props }: DataTableProps<TData>): import("react/jsx-runtime").JSX.Element;
26
+ export { DataTable };
@@ -0,0 +1,18 @@
1
+ /**
2
+ * [WHO]: DatePicker — tokenized date input composed from native input semantics.
3
+ * [FROM]: React + registry/basic/input.
4
+ * [TO]: sparkdesign package consumers; output of CLI `add date-picker` when registered.
5
+ * [HERE]: registry/basic/date-picker.tsx — Spark Design source; lightweight shadcn-compatible date picker.
6
+ *
7
+ * [PROTOCOL]:
8
+ * 1. Keep this dependency-light; use Calendar separately when custom day grids are needed.
9
+ * 2. Preserve native input accessibility and mobile picker behavior.
10
+ * 3. Follow design tokens and explicit type exports.
11
+ */
12
+ import * as React from 'react';
13
+ import { type InputProps } from './input';
14
+ export interface DatePickerProps extends Omit<InputProps, 'type'> {
15
+ type?: 'date' | 'datetime-local' | 'month' | 'time' | 'week';
16
+ }
17
+ declare const DatePicker: React.ForwardRefExoticComponent<DatePickerProps & React.RefAttributes<HTMLInputElement>>;
18
+ export { DatePicker };
@@ -0,0 +1,39 @@
1
+ /**
2
+ * [WHO]: Dialog — generic modal built on @radix-ui/react-dialog with Close button.
3
+ * [FROM]: React + @radix-ui/react-dialog + framer-motion + CVA + getThemeFromDocument + local icons-inline.
4
+ * [TO]: sparkdesign package consumers; output of CLI `add dialog` when registered.
5
+ * Coexists with `AlertDialog` (destructive confirmation focus).
6
+ * [HERE]: registry/basic/dialog.tsx — Spark Design source; keep aligned with the main library.
7
+ *
8
+ * [PROTOCOL]:
9
+ * 1. Keep this P3 header in sync when the public contract changes.
10
+ * 2. Update module AGENTS.md (P2) and root AGENTS.md (P1) when boundaries change.
11
+ * 3. Follow design tokens and explicit type exports.
12
+ */
13
+ import * as React from 'react';
14
+ import * as DialogPrimitive from '@radix-ui/react-dialog';
15
+ import { type VariantProps } from 'class-variance-authority';
16
+ declare const Dialog: React.FC<DialogPrimitive.DialogProps>;
17
+ declare const DialogTrigger: React.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
18
+ declare const DialogPortal: React.FC<DialogPrimitive.DialogPortalProps>;
19
+ declare const DialogClose: React.ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
20
+ declare const DialogOverlay: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
21
+ declare const contentVariants: (props?: ({
22
+ size?: "sm" | "lg" | "default" | "xl" | null | undefined;
23
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
24
+ export interface DialogContentProps extends React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>, VariantProps<typeof contentVariants> {
25
+ size?: 'sm' | 'default' | 'lg' | 'xl';
26
+ /** Hide the built-in top-right close button. */
27
+ hideCloseButton?: boolean;
28
+ /** When provided (e.g. from ThemeStyleProvider), used for portal wrapper */
29
+ dataStyle?: string;
30
+ dataTheme?: string;
31
+ }
32
+ declare const DialogContent: React.ForwardRefExoticComponent<DialogContentProps & React.RefAttributes<HTMLDivElement>>;
33
+ declare const DialogHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
34
+ declare const DialogFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
35
+ declare const DialogTitle: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
36
+ declare const DialogDescription: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
37
+ export type DialogHeaderProps = React.HTMLAttributes<HTMLDivElement>;
38
+ export type DialogFooterProps = React.HTMLAttributes<HTMLDivElement>;
39
+ export { Dialog, DialogTrigger, DialogPortal, DialogOverlay, DialogClose, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, contentVariants as dialogContentVariants, };
@@ -0,0 +1,19 @@
1
+ /**
2
+ * [WHO]: DirectionProvider — lightweight direction context for LTR/RTL UI.
3
+ * [FROM]: React.
4
+ * [TO]: sparkdesign package consumers; output of CLI `add direction` when registered.
5
+ * [HERE]: registry/basic/direction.tsx — Spark Design source; provides dir inheritance without extra runtime dependencies.
6
+ *
7
+ * [PROTOCOL]:
8
+ * 1. Keep dir values limited to `ltr` and `rtl`.
9
+ * 2. Prefer native `dir` attributes for DOM interoperability.
10
+ * 3. Follow design tokens and explicit type exports.
11
+ */
12
+ import * as React from 'react';
13
+ export type Direction = 'ltr' | 'rtl';
14
+ export interface DirectionProviderProps extends React.HTMLAttributes<HTMLDivElement> {
15
+ dir?: Direction;
16
+ }
17
+ declare function DirectionProvider({ dir, children, ...props }: DirectionProviderProps): import("react/jsx-runtime").JSX.Element;
18
+ declare function useDirection(): Direction;
19
+ export { DirectionProvider, useDirection };
@@ -0,0 +1,37 @@
1
+ /**
2
+ * [WHO]: Drawer — 侧抽屉(基于 @radix-ui/react-dialog),带 side CVA 与滑入动画。
3
+ * [FROM]: React + @radix-ui/react-dialog + framer-motion + CVA + getThemeFromDocument + local icons-inline.
4
+ * [TO]: sparkdesign package consumers; output of CLI `add drawer` when registered.
5
+ * [HERE]: registry/basic/drawer.tsx — Spark Design source; keep aligned with the main library.
6
+ *
7
+ * [PROTOCOL]:
8
+ * 1. Keep this P3 header in sync when the public contract changes.
9
+ * 2. Update module AGENTS.md (P2) and root AGENTS.md (P1) when boundaries change.
10
+ * 3. Follow design tokens and explicit type exports.
11
+ */
12
+ import * as React from 'react';
13
+ import * as DialogPrimitive from '@radix-ui/react-dialog';
14
+ import { type VariantProps } from 'class-variance-authority';
15
+ declare const Drawer: React.FC<DialogPrimitive.DialogProps>;
16
+ declare const DrawerTrigger: React.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
17
+ declare const DrawerClose: React.ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
18
+ declare const DrawerPortal: React.FC<DialogPrimitive.DialogPortalProps>;
19
+ declare const DrawerOverlay: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
20
+ declare const drawerVariants: (props?: ({
21
+ side?: "top" | "right" | "bottom" | "left" | null | undefined;
22
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
23
+ export interface DrawerContentProps extends React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>, VariantProps<typeof drawerVariants> {
24
+ side?: 'top' | 'right' | 'bottom' | 'left';
25
+ showCloseButton?: boolean;
26
+ /** When provided (e.g. from ThemeStyleProvider), used for portal wrapper */
27
+ dataStyle?: string;
28
+ dataTheme?: string;
29
+ }
30
+ declare const DrawerContent: React.ForwardRefExoticComponent<DrawerContentProps & React.RefAttributes<HTMLDivElement>>;
31
+ declare const DrawerHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
32
+ declare const DrawerFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
33
+ declare const DrawerTitle: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
34
+ declare const DrawerDescription: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
35
+ export type DrawerHeaderProps = React.HTMLAttributes<HTMLDivElement>;
36
+ export type DrawerFooterProps = React.HTMLAttributes<HTMLDivElement>;
37
+ export { Drawer, DrawerTrigger, DrawerClose, DrawerPortal, DrawerOverlay, DrawerContent, DrawerHeader, DrawerFooter, DrawerTitle, DrawerDescription, drawerVariants, };
@@ -1,11 +1,13 @@
1
1
  /**
2
- * [INPUT]: (DropdownMenu*Props)
3
- * [OUTPUT]: (JSX.Element) - 下拉菜单组件
4
- * [POS]: registry/basic/dropdown-menu - 注册表模板,复制到用户项目后可自由修改
2
+ * [WHO]: Public exports from this file (see implementation below).
3
+ * [FROM]: See the import block immediately after this header.
4
+ * [TO]: sparkdesign package consumers; output of CLI `add` when applicable.
5
+ * [HERE]: registry/basic/dropdown-menu.tsx — Spark Design source; keep aligned with the main library.
5
6
  *
6
7
  * [PROTOCOL]:
7
- * 1. 用户可自由修改此文件
8
- * 2. 更新时使用 npx sparkdesign diff dropdown-menu 查看差异
8
+ * 1. Keep this P3 header in sync when the public contract changes.
9
+ * 2. Update module AGENTS.md (P2) and root AGENTS.md (P1) when boundaries change.
10
+ * 3. Follow design tokens and explicit type exports.
9
11
  */
10
12
  import * as React from 'react';
11
13
  import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
@@ -0,0 +1,22 @@
1
+ /**
2
+ * [WHO]: Empty state layout primitives.
3
+ * [FROM]: React, class-variance-authority, registry/lib/utils.
4
+ * [TO]: sparkdesign package consumers; Showcase; CLI registry copies.
5
+ * [HERE]: registry/basic/empty.tsx — tokenized shadcn-derived empty state primitive.
6
+ *
7
+ * [PROTOCOL]:
8
+ * 1. Keep this P3 header in sync when the public contract changes.
9
+ * 2. Update module AGENTS.md (P2) and root AGENTS.md (P1) when boundaries change.
10
+ * 3. Follow design tokens and explicit type exports.
11
+ */
12
+ import { type VariantProps } from "class-variance-authority";
13
+ declare function Empty({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
14
+ declare function EmptyHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
15
+ declare const emptyMediaVariants: (props?: ({
16
+ variant?: "default" | "icon" | null | undefined;
17
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
18
+ declare function EmptyMedia({ className, variant, ...props }: React.ComponentProps<"div"> & VariantProps<typeof emptyMediaVariants>): import("react/jsx-runtime").JSX.Element;
19
+ declare function EmptyTitle({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
20
+ declare function EmptyDescription({ className, ...props }: React.ComponentProps<"p">): import("react/jsx-runtime").JSX.Element;
21
+ declare function EmptyContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
22
+ export { Empty, EmptyHeader, EmptyTitle, EmptyDescription, EmptyContent, EmptyMedia, };
@@ -0,0 +1,24 @@
1
+ import { type VariantProps } from "class-variance-authority";
2
+ import { Label } from "./label";
3
+ declare function FieldSet({ className, ...props }: React.ComponentProps<"fieldset">): import("react/jsx-runtime").JSX.Element;
4
+ declare function FieldLegend({ className, variant, ...props }: React.ComponentProps<"legend"> & {
5
+ variant?: "legend" | "label";
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ declare function FieldGroup({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
8
+ declare const fieldVariants: (props?: ({
9
+ orientation?: "horizontal" | "vertical" | "responsive" | null | undefined;
10
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
11
+ declare function Field({ className, orientation, ...props }: React.ComponentProps<"div"> & VariantProps<typeof fieldVariants>): import("react/jsx-runtime").JSX.Element;
12
+ declare function FieldContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
13
+ declare function FieldLabel({ className, ...props }: React.ComponentProps<typeof Label>): import("react/jsx-runtime").JSX.Element;
14
+ declare function FieldTitle({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
15
+ declare function FieldDescription({ className, ...props }: React.ComponentProps<"p">): import("react/jsx-runtime").JSX.Element;
16
+ declare function FieldSeparator({ children, className, ...props }: React.ComponentProps<"div"> & {
17
+ children?: React.ReactNode;
18
+ }): import("react/jsx-runtime").JSX.Element;
19
+ declare function FieldError({ className, children, errors, ...props }: React.ComponentProps<"div"> & {
20
+ errors?: Array<{
21
+ message?: string;
22
+ } | undefined>;
23
+ }): import("react/jsx-runtime").JSX.Element | null;
24
+ export { Field, FieldLabel, FieldDescription, FieldError, FieldGroup, FieldLegend, FieldSeparator, FieldSet, FieldContent, FieldTitle, };
@@ -0,0 +1,22 @@
1
+ /**
2
+ * [WHO]: HoverCard — lightweight preview surface for non-critical info.
3
+ * [FROM]: React + @radix-ui/react-hover-card + framer-motion + getThemeFromDocument.
4
+ * [TO]: sparkdesign package consumers; output of CLI `add hover-card` when registered.
5
+ * [HERE]: registry/basic/hover-card.tsx — Spark Design source; keep aligned with the main library.
6
+ *
7
+ * [PROTOCOL]:
8
+ * 1. Keep this P3 header in sync when the public contract changes.
9
+ * 2. Update module AGENTS.md (P2) and root AGENTS.md (P1) when boundaries change.
10
+ * 3. Follow design tokens and explicit type exports.
11
+ */
12
+ import * as React from 'react';
13
+ import * as HoverCardPrimitive from '@radix-ui/react-hover-card';
14
+ declare const HoverCard: React.FC<HoverCardPrimitive.HoverCardProps>;
15
+ declare const HoverCardTrigger: React.ForwardRefExoticComponent<HoverCardPrimitive.HoverCardTriggerProps & React.RefAttributes<HTMLAnchorElement>>;
16
+ export interface HoverCardContentProps extends React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content> {
17
+ /** When provided (e.g. from ThemeStyleProvider), used for portal wrapper */
18
+ dataStyle?: string;
19
+ dataTheme?: string;
20
+ }
21
+ declare const HoverCardContent: React.ForwardRefExoticComponent<HoverCardContentProps & React.RefAttributes<HTMLDivElement>>;
22
+ export { HoverCard, HoverCardTrigger, HoverCardContent };
@@ -1,11 +1,13 @@
1
1
  /**
2
- * [INPUT]: (InlineIconProps)
3
- * [OUTPUT]: (JSX.Element) - 内联 SVG 图标组件(Remix Icon 风格)
4
- * [POS]: registry/basic/icons-inline - 注册表默认图标,无 useIcon 依赖
2
+ * [WHO]: Public exports from this file (see implementation below).
3
+ * [FROM]: See the import block immediately after this header.
4
+ * [TO]: sparkdesign package consumers; output of CLI `add` when applicable.
5
+ * [HERE]: registry/basic/icons-inline.tsx — Spark Design source; keep aligned with the main library.
5
6
  *
6
7
  * [PROTOCOL]:
7
- * 1. 用于 registry 组件的默认图标
8
- * 2. 用户可通过 IconsProvider 注入自定义图标替换
8
+ * 1. Keep this P3 header in sync when the public contract changes.
9
+ * 2. Update module AGENTS.md (P2) and root AGENTS.md (P1) when boundaries change.
10
+ * 3. Follow design tokens and explicit type exports.
9
11
  */
10
12
  import * as React from 'react';
11
13
  export interface InlineIconProps extends React.SVGAttributes<SVGSVGElement> {
@@ -0,0 +1,27 @@
1
+ /**
2
+ * [WHO]: InputGroup layout primitives for composing inputs, addons, and buttons.
3
+ * [FROM]: React, registry/basic/button, registry/basic/input, registry/basic/textarea, registry/lib/utils.
4
+ * [TO]: sparkdesign package consumers; Showcase; CLI registry copies.
5
+ * [HERE]: registry/basic/input-group.tsx — tokenized shadcn-derived input composition primitive.
6
+ *
7
+ * [PROTOCOL]:
8
+ * 1. Keep this P3 header in sync when the public contract changes.
9
+ * 2. Update module AGENTS.md (P2) and root AGENTS.md (P1) when boundaries change.
10
+ * 3. Follow design tokens and explicit type exports.
11
+ */
12
+ import * as React from "react";
13
+ import { type VariantProps } from "class-variance-authority";
14
+ import { Button } from "./button";
15
+ declare function InputGroup({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
16
+ declare const inputGroupAddonVariants: (props?: ({
17
+ align?: "inline-end" | "inline-start" | "block-end" | "block-start" | null | undefined;
18
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
19
+ declare function InputGroupAddon({ className, align, ...props }: React.ComponentProps<"div"> & VariantProps<typeof inputGroupAddonVariants>): import("react/jsx-runtime").JSX.Element;
20
+ declare const inputGroupButtonVariants: (props?: ({
21
+ size?: "sm" | "xs" | "icon-xs" | "icon-sm" | null | undefined;
22
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
23
+ declare function InputGroupButton({ className, type, variant, size, ...props }: Omit<React.ComponentProps<typeof Button>, "size"> & VariantProps<typeof inputGroupButtonVariants>): import("react/jsx-runtime").JSX.Element;
24
+ declare function InputGroupText({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
25
+ declare function InputGroupInput({ className, ...props }: React.ComponentProps<"input">): import("react/jsx-runtime").JSX.Element;
26
+ declare function InputGroupTextarea({ className, ...props }: React.ComponentProps<"textarea">): import("react/jsx-runtime").JSX.Element;
27
+ export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupText, InputGroupInput, InputGroupTextarea, };
@@ -0,0 +1,22 @@
1
+ /**
2
+ * [WHO]: InputOTP primitives backed by input-otp.
3
+ * [FROM]: React, input-otp, registry/lib/utils.
4
+ * [TO]: sparkdesign package consumers; Showcase; CLI registry copies.
5
+ * [HERE]: registry/basic/input-otp.tsx — tokenized shadcn-derived one-time-password input primitive.
6
+ *
7
+ * [PROTOCOL]:
8
+ * 1. Keep this P3 header in sync when the public contract changes.
9
+ * 2. Update module AGENTS.md (P2) and root AGENTS.md (P1) when boundaries change.
10
+ * 3. Follow design tokens and explicit type exports.
11
+ */
12
+ import * as React from "react";
13
+ import { OTPInput } from "input-otp";
14
+ declare function InputOTP({ className, containerClassName, ...props }: React.ComponentProps<typeof OTPInput> & {
15
+ containerClassName?: string;
16
+ }): import("react/jsx-runtime").JSX.Element;
17
+ declare function InputOTPGroup({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
18
+ declare function InputOTPSlot({ index, className, ...props }: React.ComponentProps<"div"> & {
19
+ index: number;
20
+ }): import("react/jsx-runtime").JSX.Element;
21
+ declare function InputOTPSeparator({ ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
22
+ export { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * [WHO]: Input — accessible text input with token-driven styling.
3
+ * [FROM]: React + `@/lib/utils` cn.
4
+ * [TO]: sparkdesign package consumers; output of CLI `add input` when registered.
5
+ * [HERE]: registry/basic/input.tsx — Spark Design source; keep aligned with the main library.
6
+ *
7
+ * [PROTOCOL]:
8
+ * 1. Keep this P3 header in sync when the public contract changes.
9
+ * 2. Update module AGENTS.md (P2) and root AGENTS.md (P1) when boundaries change.
10
+ * 3. Follow design tokens and explicit type exports.
11
+ */
12
+ import * as React from 'react';
13
+ export type InputProps = React.InputHTMLAttributes<HTMLInputElement>;
14
+ declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
15
+ export { Input };
@@ -0,0 +1,34 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ import { Separator } from "./separator";
4
+ declare function ItemGroup({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
5
+ declare function ItemSeparator({ className, ...props }: React.ComponentProps<typeof Separator>): import("react/jsx-runtime").JSX.Element;
6
+ declare const itemVariants: (props?: ({
7
+ variant?: "outline" | "default" | "muted" | null | undefined;
8
+ size?: "sm" | "default" | null | undefined;
9
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
10
+ declare function Item({ className, variant, size, asChild, ...props }: React.ComponentProps<"div"> & VariantProps<typeof itemVariants> & {
11
+ asChild?: boolean;
12
+ }): import("react/jsx-runtime").JSX.Element;
13
+ declare const itemMediaVariants: (props?: ({
14
+ variant?: "default" | "icon" | "image" | null | undefined;
15
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
16
+ declare function ItemMedia({ className, variant, ...props }: React.ComponentProps<"div"> & VariantProps<typeof itemMediaVariants>): import("react/jsx-runtime").JSX.Element;
17
+ declare function ItemContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
18
+ declare function ItemTitle({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
19
+ declare function ItemDescription({ className, ...props }: React.ComponentProps<"p">): import("react/jsx-runtime").JSX.Element;
20
+ declare function ItemActions({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
21
+ declare function ItemHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
22
+ declare function ItemFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
23
+ export { Item, ItemMedia, ItemContent, ItemActions, ItemGroup, ItemSeparator, ItemTitle, ItemDescription, ItemHeader, ItemFooter, };
24
+ /**
25
+ * [WHO]: Item layout primitives for list rows, media slots, and metadata.
26
+ * [FROM]: React, registry/basic/separator, registry/lib/utils.
27
+ * [TO]: sparkdesign package consumers; Showcase; CLI registry copies.
28
+ * [HERE]: registry/basic/item.tsx — tokenized shadcn-derived item primitive.
29
+ *
30
+ * [PROTOCOL]:
31
+ * 1. Keep this P3 header in sync when the public contract changes.
32
+ * 2. Update module AGENTS.md (P2) and root AGENTS.md (P1) when boundaries change.
33
+ * 3. Follow design tokens and explicit type exports.
34
+ */
@@ -1,11 +1,13 @@
1
1
  /**
2
- * [INPUT]: (KbdProps, KbdGroupProps)
3
- * [OUTPUT]: (JSX.Element) - 键盘按键展示组件
4
- * [POS]: registry/basic/kbd - 注册表模板,复制到用户项目后可自由修改
2
+ * [WHO]: Public exports from this file (see implementation below).
3
+ * [FROM]: See the import block immediately after this header.
4
+ * [TO]: sparkdesign package consumers; output of CLI `add` when applicable.
5
+ * [HERE]: registry/basic/kbd.tsx — Spark Design source; keep aligned with the main library.
5
6
  *
6
7
  * [PROTOCOL]:
7
- * 1. 用户可自由修改此文件
8
- * 2. 更新时使用 npx sparkdesign diff kbd 查看差异
8
+ * 1. Keep this P3 header in sync when the public contract changes.
9
+ * 2. Update module AGENTS.md (P2) and root AGENTS.md (P1) when boundaries change.
10
+ * 3. Follow design tokens and explicit type exports.
9
11
  */
10
12
  import * as React from 'react';
11
13
  export type KbdProps = React.ComponentProps<'kbd'>;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * [WHO]: Label — accessible label built on @radix-ui/react-label.
3
+ * [FROM]: React + @radix-ui/react-label + `@/lib/utils` cn.
4
+ * [TO]: sparkdesign package consumers; output of CLI `add label` when registered.
5
+ * [HERE]: registry/basic/label.tsx — Spark Design source; keep aligned with the main library.
6
+ *
7
+ * [PROTOCOL]:
8
+ * 1. Keep this P3 header in sync when the public contract changes.
9
+ * 2. Update module AGENTS.md (P2) and root AGENTS.md (P1) when boundaries change.
10
+ * 3. Follow design tokens and explicit type exports.
11
+ */
12
+ import * as React from 'react';
13
+ import * as LabelPrimitive from '@radix-ui/react-label';
14
+ export type LabelProps = React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>;
15
+ declare const Label: React.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React.RefAttributes<HTMLLabelElement>, "ref"> & React.RefAttributes<HTMLLabelElement>>;
16
+ export { Label };
@@ -0,0 +1,37 @@
1
+ /**
2
+ * [WHO]: Menubar primitives for app-level commands and nested menu groups.
3
+ * [FROM]: React, @radix-ui/react-menubar, registry/lib/utils.
4
+ * [TO]: sparkdesign package consumers; Showcase; CLI registry copies.
5
+ * [HERE]: registry/basic/menubar.tsx — tokenized shadcn-derived menubar primitive.
6
+ *
7
+ * [PROTOCOL]:
8
+ * 1. Keep this P3 header in sync when the public contract changes.
9
+ * 2. Update module AGENTS.md (P2) and root AGENTS.md (P1) when boundaries change.
10
+ * 3. Follow design tokens and explicit type exports.
11
+ */
12
+ import * as React from "react";
13
+ import { Menubar as MenubarPrimitive } from "radix-ui";
14
+ declare function Menubar({ className, ...props }: React.ComponentProps<typeof MenubarPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
15
+ declare function MenubarMenu({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Menu>): import("react/jsx-runtime").JSX.Element;
16
+ declare function MenubarGroup({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Group>): import("react/jsx-runtime").JSX.Element;
17
+ declare function MenubarPortal({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
18
+ declare function MenubarRadioGroup({ ...props }: React.ComponentProps<typeof MenubarPrimitive.RadioGroup>): import("react/jsx-runtime").JSX.Element;
19
+ declare function MenubarTrigger({ className, ...props }: React.ComponentProps<typeof MenubarPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
20
+ declare function MenubarContent({ className, align, alignOffset, sideOffset, ...props }: React.ComponentProps<typeof MenubarPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
21
+ declare function MenubarItem({ className, inset, variant, ...props }: React.ComponentProps<typeof MenubarPrimitive.Item> & {
22
+ inset?: boolean;
23
+ variant?: "default" | "destructive";
24
+ }): import("react/jsx-runtime").JSX.Element;
25
+ declare function MenubarCheckboxItem({ className, children, checked, ...props }: React.ComponentProps<typeof MenubarPrimitive.CheckboxItem>): import("react/jsx-runtime").JSX.Element;
26
+ declare function MenubarRadioItem({ className, children, ...props }: React.ComponentProps<typeof MenubarPrimitive.RadioItem>): import("react/jsx-runtime").JSX.Element;
27
+ declare function MenubarLabel({ className, inset, ...props }: React.ComponentProps<typeof MenubarPrimitive.Label> & {
28
+ inset?: boolean;
29
+ }): import("react/jsx-runtime").JSX.Element;
30
+ declare function MenubarSeparator({ className, ...props }: React.ComponentProps<typeof MenubarPrimitive.Separator>): import("react/jsx-runtime").JSX.Element;
31
+ declare function MenubarShortcut({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
32
+ declare function MenubarSub({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Sub>): import("react/jsx-runtime").JSX.Element;
33
+ declare function MenubarSubTrigger({ className, inset, children, ...props }: React.ComponentProps<typeof MenubarPrimitive.SubTrigger> & {
34
+ inset?: boolean;
35
+ }): import("react/jsx-runtime").JSX.Element;
36
+ declare function MenubarSubContent({ className, ...props }: React.ComponentProps<typeof MenubarPrimitive.SubContent>): import("react/jsx-runtime").JSX.Element;
37
+ export { Menubar, MenubarPortal, MenubarMenu, MenubarTrigger, MenubarContent, MenubarGroup, MenubarSeparator, MenubarLabel, MenubarItem, MenubarShortcut, MenubarCheckboxItem, MenubarRadioGroup, MenubarRadioItem, MenubarSub, MenubarSubTrigger, MenubarSubContent, };
@@ -0,0 +1,18 @@
1
+ /**
2
+ * [WHO]: NativeSelect primitives for browser-native select controls.
3
+ * [FROM]: React, registry/lib/utils.
4
+ * [TO]: sparkdesign package consumers; Showcase; CLI registry copies.
5
+ * [HERE]: registry/basic/native-select.tsx — tokenized shadcn-derived native select primitive.
6
+ *
7
+ * [PROTOCOL]:
8
+ * 1. Keep this P3 header in sync when the public contract changes.
9
+ * 2. Update module AGENTS.md (P2) and root AGENTS.md (P1) when boundaries change.
10
+ * 3. Follow design tokens and explicit type exports.
11
+ */
12
+ import * as React from "react";
13
+ declare function NativeSelect({ className, size, ...props }: Omit<React.ComponentProps<"select">, "size"> & {
14
+ size?: "sm" | "default";
15
+ }): import("react/jsx-runtime").JSX.Element;
16
+ declare function NativeSelectOption({ className, ...props }: React.ComponentProps<"option">): import("react/jsx-runtime").JSX.Element;
17
+ declare function NativeSelectOptGroup({ className, ...props }: React.ComponentProps<"optgroup">): import("react/jsx-runtime").JSX.Element;
18
+ export { NativeSelect, NativeSelectOptGroup, NativeSelectOption };
@@ -0,0 +1,25 @@
1
+ /**
2
+ * [WHO]: NavigationMenu primitives for hierarchical navigation surfaces.
3
+ * [FROM]: React, @radix-ui/react-navigation-menu, registry/lib/utils.
4
+ * [TO]: sparkdesign package consumers; Showcase; CLI registry copies.
5
+ * [HERE]: registry/basic/navigation-menu.tsx — tokenized shadcn-derived navigation menu primitive.
6
+ *
7
+ * [PROTOCOL]:
8
+ * 1. Keep this P3 header in sync when the public contract changes.
9
+ * 2. Update module AGENTS.md (P2) and root AGENTS.md (P1) when boundaries change.
10
+ * 3. Follow design tokens and explicit type exports.
11
+ */
12
+ import * as React from "react";
13
+ import { NavigationMenu as NavigationMenuPrimitive } from "radix-ui";
14
+ declare function NavigationMenu({ className, children, viewport, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Root> & {
15
+ viewport?: boolean;
16
+ }): import("react/jsx-runtime").JSX.Element;
17
+ declare function NavigationMenuList({ className, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.List>): import("react/jsx-runtime").JSX.Element;
18
+ declare function NavigationMenuItem({ className, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Item>): import("react/jsx-runtime").JSX.Element;
19
+ declare const navigationMenuTriggerStyle: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
20
+ declare function NavigationMenuTrigger({ className, children, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
21
+ declare function NavigationMenuContent({ className, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
22
+ declare function NavigationMenuViewport({ className, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Viewport>): import("react/jsx-runtime").JSX.Element;
23
+ declare function NavigationMenuLink({ className, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Link>): import("react/jsx-runtime").JSX.Element;
24
+ declare function NavigationMenuIndicator({ className, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Indicator>): import("react/jsx-runtime").JSX.Element;
25
+ export { NavigationMenu, NavigationMenuList, NavigationMenuItem, NavigationMenuContent, NavigationMenuTrigger, NavigationMenuLink, NavigationMenuIndicator, NavigationMenuViewport, navigationMenuTriggerStyle, };
@@ -1,11 +1,13 @@
1
1
  /**
2
- * [INPUT]: (Pagination*Props)
3
- * [OUTPUT]: (JSX.Element) - 分页导航组件
4
- * [POS]: registry/basic/pagination - 注册表模板,复制到用户项目后可自由修改
2
+ * [WHO]: Public exports from this file (see implementation below).
3
+ * [FROM]: See the import block immediately after this header.
4
+ * [TO]: sparkdesign package consumers; output of CLI `add` when applicable.
5
+ * [HERE]: registry/basic/pagination.tsx — Spark Design source; keep aligned with the main library.
5
6
  *
6
7
  * [PROTOCOL]:
7
- * 1. 用户可自由修改此文件
8
- * 2. 更新时使用 npx sparkdesign diff pagination 查看差异
8
+ * 1. Keep this P3 header in sync when the public contract changes.
9
+ * 2. Update module AGENTS.md (P2) and root AGENTS.md (P1) when boundaries change.
10
+ * 3. Follow design tokens and explicit type exports.
9
11
  */
10
12
  import * as React from 'react';
11
13
  declare const Pagination: {
@@ -0,0 +1,23 @@
1
+ /**
2
+ * [WHO]: Popover — floating content built on @radix-ui/react-popover.
3
+ * [FROM]: React + @radix-ui/react-popover + framer-motion + getThemeFromDocument.
4
+ * [TO]: sparkdesign package consumers; output of CLI `add popover` when registered.
5
+ * [HERE]: registry/basic/popover.tsx — Spark Design source; keep aligned with the main library.
6
+ *
7
+ * [PROTOCOL]:
8
+ * 1. Keep this P3 header in sync when the public contract changes.
9
+ * 2. Update module AGENTS.md (P2) and root AGENTS.md (P1) when boundaries change.
10
+ * 3. Follow design tokens and explicit type exports.
11
+ */
12
+ import * as React from 'react';
13
+ import * as PopoverPrimitive from '@radix-ui/react-popover';
14
+ declare const Popover: React.FC<PopoverPrimitive.PopoverProps>;
15
+ declare const PopoverTrigger: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React.RefAttributes<HTMLButtonElement>>;
16
+ declare const PopoverAnchor: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverAnchorProps & React.RefAttributes<HTMLDivElement>>;
17
+ export interface PopoverContentProps extends React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> {
18
+ /** When provided (e.g. from ThemeStyleProvider), used for portal wrapper */
19
+ dataStyle?: string;
20
+ dataTheme?: string;
21
+ }
22
+ declare const PopoverContent: React.ForwardRefExoticComponent<PopoverContentProps & React.RefAttributes<HTMLDivElement>>;
23
+ export { Popover, PopoverTrigger, PopoverAnchor, PopoverContent };
@@ -1,11 +1,13 @@
1
1
  /**
2
- * [INPUT]: (ProgressProps)
3
- * [OUTPUT]: (JSX.Element) - 进度条组件
4
- * [POS]: registry/basic/progress - 注册表模板,复制到用户项目后可自由修改
2
+ * [WHO]: Public exports from this file (see implementation below).
3
+ * [FROM]: See the import block immediately after this header.
4
+ * [TO]: sparkdesign package consumers; output of CLI `add` when applicable.
5
+ * [HERE]: registry/basic/progress.tsx — Spark Design source; keep aligned with the main library.
5
6
  *
6
7
  * [PROTOCOL]:
7
- * 1. 用户可自由修改此文件
8
- * 2. 更新时使用 npx sparkdesign diff progress 查看差异
8
+ * 1. Keep this P3 header in sync when the public contract changes.
9
+ * 2. Update module AGENTS.md (P2) and root AGENTS.md (P1) when boundaries change.
10
+ * 3. Follow design tokens and explicit type exports.
9
11
  */
10
12
  import * as React from 'react';
11
13
  import * as ProgressPrimitive from '@radix-ui/react-progress';