sparkdesign 0.4.6 → 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 (252) hide show
  1. package/AI_README.md +60 -0
  2. package/README.md +1 -1
  3. package/cli/dist/commands/add.js +1 -1
  4. package/cli/dist/commands/init.js +1 -1
  5. package/cli/registry/AGENTS.md +9 -2
  6. package/cli/registry/agent-manifest.json +794 -0
  7. package/cli/registry/basic/alert.tsx +76 -0
  8. package/cli/registry/basic/aspect-ratio.tsx +8 -0
  9. package/cli/registry/basic/breadcrumb.tsx +117 -0
  10. package/cli/registry/basic/button-group.tsx +79 -0
  11. package/cli/registry/basic/button.tsx +1 -1
  12. package/cli/registry/basic/calendar.tsx +221 -0
  13. package/cli/registry/basic/card.tsx +103 -0
  14. package/cli/registry/basic/carousel.tsx +241 -0
  15. package/cli/registry/basic/chart.tsx +372 -0
  16. package/cli/registry/basic/checkbox.tsx +42 -0
  17. package/cli/registry/basic/collapsible-card.tsx +2 -2
  18. package/cli/registry/basic/combobox.tsx +75 -0
  19. package/cli/registry/basic/command.tsx +184 -0
  20. package/cli/registry/basic/context-menu.tsx +239 -0
  21. package/cli/registry/basic/data-table.tsx +73 -0
  22. package/cli/registry/basic/date-picker.tsx +13 -0
  23. package/cli/registry/basic/dialog.tsx +169 -0
  24. package/cli/registry/basic/direction.tsx +25 -0
  25. package/cli/registry/basic/drawer.tsx +164 -0
  26. package/cli/registry/basic/dropdown-menu.tsx +0 -4
  27. package/cli/registry/basic/empty.tsx +104 -0
  28. package/cli/registry/basic/field.tsx +248 -0
  29. package/cli/registry/basic/hover-card.tsx +58 -0
  30. package/cli/registry/basic/input-group.tsx +168 -0
  31. package/cli/registry/basic/input-otp.tsx +75 -0
  32. package/cli/registry/basic/input.tsx +27 -0
  33. package/cli/registry/basic/item.tsx +204 -0
  34. package/cli/registry/basic/label.tsx +24 -0
  35. package/cli/registry/basic/menubar.tsx +274 -0
  36. package/cli/registry/basic/native-select.tsx +62 -0
  37. package/cli/registry/basic/navigation-menu.tsx +168 -0
  38. package/cli/registry/basic/popover.tsx +59 -0
  39. package/cli/registry/basic/scroll-area.tsx +58 -0
  40. package/cli/registry/basic/select.tsx +2 -1
  41. package/cli/registry/basic/separator.tsx +26 -0
  42. package/cli/registry/basic/sheet.tsx +18 -0
  43. package/cli/registry/basic/textarea.tsx +25 -0
  44. package/cli/registry/basic/toggle.tsx +1 -1
  45. package/cli/registry/basic/typography.tsx +1 -1
  46. package/cli/registry/chat/chat-input/chat-input-textarea.tsx +1 -1
  47. package/cli/registry/chat/chat-input/compound.tsx +4 -3
  48. package/cli/registry/chat/chat-input/context.tsx +4 -1
  49. package/cli/registry/chat/code-block-part.tsx +1 -1
  50. package/cli/registry/chat/conversation-anchor-nav.tsx +349 -0
  51. package/cli/registry/chat/file-attachment.tsx +2 -1
  52. package/cli/registry/chat/file-review-part.tsx +21 -21
  53. package/cli/registry/chat/markdown.tsx +2 -2
  54. package/cli/registry/chat/queue-indicator.tsx +1 -0
  55. package/cli/registry/chat/streaming-markdown-block.tsx +12 -8
  56. package/cli/registry/chat/tool-invocation-card.tsx +4 -1
  57. package/cli/registry/lib/file-icon-maps.ts +22 -22
  58. package/cli/registry/meta.json +518 -0
  59. package/cli/registry/tokens/ontology.json +404 -0
  60. package/cli/registry/tokens/scale/presets/compact.css +16 -5
  61. package/cli/registry/tokens/scale/presets/dense.css +13 -2
  62. package/cli/registry/tokens/scale/presets/sharp.css +18 -6
  63. package/cli/registry/tokens/scale/presets/soft.css +23 -1
  64. package/dist/registry/basic/alert.d.ts +24 -0
  65. package/dist/registry/basic/aspect-ratio.d.ts +16 -0
  66. package/dist/registry/basic/breadcrumb.d.ts +24 -0
  67. package/dist/registry/basic/button-group.d.ts +26 -0
  68. package/dist/registry/basic/button.d.ts +1 -1
  69. package/dist/registry/basic/calendar.d.ts +22 -0
  70. package/dist/registry/basic/card.d.ts +27 -0
  71. package/dist/registry/basic/carousel.d.ts +19 -0
  72. package/dist/registry/basic/chart.d.ts +55 -0
  73. package/dist/registry/basic/checkbox.d.ts +21 -0
  74. package/dist/registry/basic/combobox.d.ts +26 -0
  75. package/dist/registry/basic/command.d.ts +18 -0
  76. package/dist/registry/basic/context-menu.d.ts +44 -0
  77. package/dist/registry/basic/data-table.d.ts +26 -0
  78. package/dist/registry/basic/date-picker.d.ts +18 -0
  79. package/dist/registry/basic/dialog.d.ts +39 -0
  80. package/dist/registry/basic/direction.d.ts +19 -0
  81. package/dist/registry/basic/drawer.d.ts +37 -0
  82. package/dist/registry/basic/empty.d.ts +22 -0
  83. package/dist/registry/basic/field.d.ts +24 -0
  84. package/dist/registry/basic/hover-card.d.ts +22 -0
  85. package/dist/registry/basic/input-group.d.ts +27 -0
  86. package/dist/registry/basic/input-otp.d.ts +22 -0
  87. package/dist/registry/basic/input.d.ts +15 -0
  88. package/dist/registry/basic/item.d.ts +34 -0
  89. package/dist/registry/basic/label.d.ts +16 -0
  90. package/dist/registry/basic/menubar.d.ts +37 -0
  91. package/dist/registry/basic/native-select.d.ts +18 -0
  92. package/dist/registry/basic/navigation-menu.d.ts +25 -0
  93. package/dist/registry/basic/popover.d.ts +23 -0
  94. package/dist/registry/basic/scroll-area.d.ts +5 -0
  95. package/dist/registry/basic/separator.d.ts +16 -0
  96. package/dist/registry/basic/sheet.d.ts +13 -0
  97. package/dist/registry/basic/textarea.d.ts +15 -0
  98. package/dist/registry/basic/toggle.d.ts +1 -1
  99. package/dist/registry/chat/chat-input/context.d.ts +3 -1
  100. package/dist/registry/chat/conversation-anchor-nav.d.ts +72 -0
  101. package/dist/registry/chat/tool-invocation-card.d.ts +2 -0
  102. package/dist/scale/presets/compact.css +16 -5
  103. package/dist/scale/presets/dense.css +13 -2
  104. package/dist/scale/presets/sharp.css +18 -6
  105. package/dist/scale/presets/soft.css +23 -1
  106. package/dist/spark-design.cjs.js +40 -36
  107. package/dist/spark-design.es.js +8647 -8657
  108. package/dist/sparkdesign.css +1 -1
  109. package/dist/src/components/basic/Alert/index.d.ts +13 -0
  110. package/dist/src/components/basic/AspectRatio/index.d.ts +13 -0
  111. package/dist/src/components/basic/Breadcrumb/index.d.ts +12 -0
  112. package/dist/src/components/basic/ButtonGroup/index.d.ts +13 -0
  113. package/dist/src/components/basic/Calendar/index.d.ts +13 -0
  114. package/dist/src/components/basic/Card/index.d.ts +13 -0
  115. package/dist/src/components/basic/Carousel/index.d.ts +12 -0
  116. package/dist/src/components/basic/Chart/index.d.ts +13 -0
  117. package/dist/src/components/basic/Checkbox/index.d.ts +13 -0
  118. package/dist/src/components/basic/Combobox/index.d.ts +13 -0
  119. package/dist/src/components/basic/Command/index.d.ts +12 -0
  120. package/dist/src/components/basic/ContextMenu/index.d.ts +19 -0
  121. package/dist/src/components/basic/DataTable/index.d.ts +13 -0
  122. package/dist/src/components/basic/DatePicker/index.d.ts +13 -0
  123. package/dist/src/components/basic/Dialog/index.d.ts +16 -0
  124. package/dist/src/components/basic/Direction/index.d.ts +13 -0
  125. package/dist/src/components/basic/Drawer/index.d.ts +16 -0
  126. package/dist/src/components/basic/Empty/index.d.ts +12 -0
  127. package/dist/src/components/basic/Field/index.d.ts +12 -0
  128. package/dist/src/components/basic/HoverCard/index.d.ts +16 -0
  129. package/dist/src/components/basic/Input/index.d.ts +13 -0
  130. package/dist/src/components/basic/InputGroup/index.d.ts +12 -0
  131. package/dist/src/components/basic/InputOTP/index.d.ts +12 -0
  132. package/dist/src/components/basic/Item/index.d.ts +12 -0
  133. package/dist/src/components/basic/Label/index.d.ts +13 -0
  134. package/dist/src/components/basic/Menubar/index.d.ts +12 -0
  135. package/dist/src/components/basic/NativeSelect/index.d.ts +12 -0
  136. package/dist/src/components/basic/NavigationMenu/index.d.ts +12 -0
  137. package/dist/src/components/basic/Popover/index.d.ts +16 -0
  138. package/dist/src/components/basic/ScrollArea/index.d.ts +12 -0
  139. package/dist/src/components/basic/Separator/index.d.ts +13 -0
  140. package/dist/src/components/basic/Sheet/index.d.ts +13 -0
  141. package/dist/src/components/basic/Textarea/index.d.ts +13 -0
  142. package/dist/src/components/chat/ConversationAnchorNav/index.d.ts +13 -0
  143. package/dist/src/components/chat/StreamingMarkdownBlock/index.d.ts +13 -0
  144. package/dist/src/components/index.d.ts +57 -0
  145. package/dist/tokens/AGENTS.md +1 -0
  146. package/dist/tokens/scale/presets/compact.css +16 -5
  147. package/dist/tokens/scale/presets/dense.css +13 -2
  148. package/dist/tokens/scale/presets/sharp.css +18 -6
  149. package/dist/tokens/scale/presets/soft.css +23 -1
  150. package/docs/agent/component-selection.md +60 -0
  151. package/docs/agent/token-ontology.md +37 -0
  152. package/package.json +31 -5
  153. package/registry/agent-manifest.json +794 -0
  154. package/registry/tokens/ontology.json +404 -0
  155. package/dist/_basePickBy-DnQN8w3y.js +0 -151
  156. package/dist/_basePickBy-a-kPMlkg.cjs +0 -1
  157. package/dist/_baseUniq-B-N2NQ50.js +0 -614
  158. package/dist/_baseUniq-Cc_zbSif.cjs +0 -1
  159. package/dist/arc-BQBhijZ6.js +0 -83
  160. package/dist/arc-mWQt0Yph.cjs +0 -1
  161. package/dist/architectureDiagram-VXUJARFQ-BMZEucno.cjs +0 -36
  162. package/dist/architectureDiagram-VXUJARFQ-DTdjD3Bp.js +0 -4661
  163. package/dist/blockDiagram-VD42YOAC-CzHn0yob.js +0 -2256
  164. package/dist/blockDiagram-VD42YOAC-DDxdHAlz.cjs +0 -122
  165. package/dist/c4Diagram-YG6GDRKO-4Gz0I4gj.cjs +0 -10
  166. package/dist/c4Diagram-YG6GDRKO-BIy--yVN.js +0 -1580
  167. package/dist/channel-BQn0o8bs.js +0 -5
  168. package/dist/channel-DaN7XniJ.cjs +0 -1
  169. package/dist/chunk-4BX2VUAB-BlQFTQqz.cjs +0 -1
  170. package/dist/chunk-4BX2VUAB-Czitj3Kc.js +0 -8
  171. package/dist/chunk-55IACEB6-DXacNZbO.js +0 -8
  172. package/dist/chunk-55IACEB6-DnDxpye9.cjs +0 -1
  173. package/dist/chunk-B4BG7PRW-CBdN0q_V.js +0 -1375
  174. package/dist/chunk-B4BG7PRW-DbGvUkGO.cjs +0 -165
  175. package/dist/chunk-DI55MBZ5-D1YJMs6x.cjs +0 -220
  176. package/dist/chunk-DI55MBZ5-NCQTvayw.js +0 -1370
  177. package/dist/chunk-FMBD7UC4-CsGMbrtr.js +0 -19
  178. package/dist/chunk-FMBD7UC4-Di7cUUh5.cjs +0 -15
  179. package/dist/chunk-QN33PNHL-0j5LC8Lm.cjs +0 -1
  180. package/dist/chunk-QN33PNHL-3GERZBRm.js +0 -19
  181. package/dist/chunk-QZHKN3VN-AVEY9ImQ.js +0 -15
  182. package/dist/chunk-QZHKN3VN-s8Z0a8mc.cjs +0 -1
  183. package/dist/chunk-TZMSLE5B-CAf87HPt.cjs +0 -1
  184. package/dist/chunk-TZMSLE5B-sbiflal0.js +0 -64
  185. package/dist/classDiagram-2ON5EDUG-Ct9JLIN2.cjs +0 -1
  186. package/dist/classDiagram-2ON5EDUG-Dzfrft3a.js +0 -16
  187. package/dist/classDiagram-v2-WZHVMYZB-Ct9JLIN2.cjs +0 -1
  188. package/dist/classDiagram-v2-WZHVMYZB-Dzfrft3a.js +0 -16
  189. package/dist/clone-Cde_NQ8V.js +0 -8
  190. package/dist/clone-DCNjWuM2.cjs +0 -1
  191. package/dist/cose-bilkent-S5V4N54A-0uLijMro.cjs +0 -1
  192. package/dist/cose-bilkent-S5V4N54A-Bb08N431.js +0 -2608
  193. package/dist/cytoscape.esm-CNUX3VTg.cjs +0 -321
  194. package/dist/cytoscape.esm-Cvf3sx9F.js +0 -18704
  195. package/dist/dagre-6UL2VRFP-CY_Wz5Zd.js +0 -444
  196. package/dist/dagre-6UL2VRFP-Dxe7_qZc.cjs +0 -4
  197. package/dist/defaultLocale-BgPVtth8.js +0 -171
  198. package/dist/defaultLocale-C4wbwF1n.cjs +0 -1
  199. package/dist/diagram-PSM6KHXK-D2bdb7MT.js +0 -531
  200. package/dist/diagram-PSM6KHXK-YF69SUjY.cjs +0 -24
  201. package/dist/diagram-QEK2KX5R-BpUSoh0-.js +0 -217
  202. package/dist/diagram-QEK2KX5R-DZPGteon.cjs +0 -43
  203. package/dist/diagram-S2PKOQOG-ht-zdvFG.cjs +0 -24
  204. package/dist/diagram-S2PKOQOG-zFeLJ50Z.js +0 -142
  205. package/dist/erDiagram-Q2GNP2WA-B38iJ6ts.js +0 -841
  206. package/dist/erDiagram-Q2GNP2WA-RgS80DDU.cjs +0 -60
  207. package/dist/flowDiagram-NV44I4VS-BHilOs2p.cjs +0 -162
  208. package/dist/flowDiagram-NV44I4VS-BrBJcoce.js +0 -1620
  209. package/dist/ganttDiagram-JELNMOA3-pZiJeFio.cjs +0 -267
  210. package/dist/ganttDiagram-JELNMOA3-tw6FhkWJ.js +0 -2670
  211. package/dist/gitGraphDiagram-V2S2FVAM-BWn5uIK5.js +0 -699
  212. package/dist/gitGraphDiagram-V2S2FVAM-DKKeG-9R.cjs +0 -65
  213. package/dist/graph-DIbblrZP.cjs +0 -1
  214. package/dist/graph-DPcK91G3.js +0 -247
  215. package/dist/infoDiagram-HS3SLOUP-B8gwwhct.cjs +0 -2
  216. package/dist/infoDiagram-HS3SLOUP-D47PNcP_.js +0 -24
  217. package/dist/init-CHZsXQcr.cjs +0 -1
  218. package/dist/init-DjUOC4st.js +0 -16
  219. package/dist/journeyDiagram-XKPGCS4Q-BG3cfhyU.js +0 -834
  220. package/dist/journeyDiagram-XKPGCS4Q-D8DVLJof.cjs +0 -139
  221. package/dist/kanban-definition-3W4ZIXB7-4OCnEouP.cjs +0 -89
  222. package/dist/kanban-definition-3W4ZIXB7-CWi_ssF9.js +0 -719
  223. package/dist/layout-Byuh8f-J.cjs +0 -1
  224. package/dist/layout-CdLdvj1j.js +0 -1335
  225. package/dist/linear-C2Q_PI9B.js +0 -259
  226. package/dist/linear-C69aPBW1.cjs +0 -1
  227. package/dist/mermaid.core-DBwAx_jp.cjs +0 -249
  228. package/dist/mermaid.core-gFR0XUlD.js +0 -15300
  229. package/dist/mindmap-definition-VGOIOE7T-8P7obVV4.cjs +0 -68
  230. package/dist/mindmap-definition-VGOIOE7T-DnOa7WJ9.js +0 -784
  231. package/dist/ordinal-B6-f3MAq.js +0 -61
  232. package/dist/ordinal-CagbB1m8.cjs +0 -1
  233. package/dist/pieDiagram-ADFJNKIX-5NAlvhMo.js +0 -161
  234. package/dist/pieDiagram-ADFJNKIX-CQBG4yR9.cjs +0 -30
  235. package/dist/quadrantDiagram-AYHSOK5B-Oe4y7RZ0.cjs +0 -7
  236. package/dist/quadrantDiagram-AYHSOK5B-rh2DPEP1.js +0 -1022
  237. package/dist/requirementDiagram-UZGBJVZJ-DcWaCuXr.js +0 -850
  238. package/dist/requirementDiagram-UZGBJVZJ-gfdlrFiq.cjs +0 -64
  239. package/dist/sankeyDiagram-TZEHDZUN-CQIKFwD0.js +0 -810
  240. package/dist/sankeyDiagram-TZEHDZUN-DvPtzQvC.cjs +0 -10
  241. package/dist/sequenceDiagram-WL72ISMW-BNrsMagL.cjs +0 -145
  242. package/dist/sequenceDiagram-WL72ISMW-iCX3ckKx.js +0 -2511
  243. package/dist/stateDiagram-FKZM4ZOC-DBvJ_eeL.cjs +0 -1
  244. package/dist/stateDiagram-FKZM4ZOC-ZVsJlaHJ.js +0 -263
  245. package/dist/stateDiagram-v2-4FDKWEC3-CB_nTHcE.js +0 -16
  246. package/dist/stateDiagram-v2-4FDKWEC3-Xkx17v6T.cjs +0 -1
  247. package/dist/timeline-definition-IT6M3QCI-BmGkYQiz.cjs +0 -61
  248. package/dist/timeline-definition-IT6M3QCI-Ck8zTt6w.js +0 -795
  249. package/dist/treemap-GDKQZRPO-B9sfERx8.js +0 -17922
  250. package/dist/treemap-GDKQZRPO-BVfJRs0Z.cjs +0 -160
  251. package/dist/xychartDiagram-PRI3JC2R-By_S8NzN.js +0 -1340
  252. package/dist/xychartDiagram-PRI3JC2R-CNfDrGxM.cjs +0 -7
@@ -0,0 +1,404 @@
1
+ {
2
+ "schemaVersion": "0.1.0",
3
+ "library": "sparkdesign",
4
+ "purpose": "Machine-readable design token ontology for AI agents choosing semantic styling without reading CSS internals first.",
5
+ "axes": {
6
+ "theme": {
7
+ "attribute": "data-theme",
8
+ "intent": "Controls color palette independently from layout density or geometry.",
9
+ "knownValues": [
10
+ "light",
11
+ "dark",
12
+ "light-parchment",
13
+ "dark-parchment"
14
+ ],
15
+ "rules": [
16
+ "Do not infer layout density from data-theme.",
17
+ "Custom themes should define --token-color-* values and rely on theme-base.css mappings.",
18
+ "Components should consume --color-* semantic tokens rather than raw --token-color-* internals."
19
+ ]
20
+ },
21
+ "style": {
22
+ "attribute": "data-style",
23
+ "intent": "Controls spacing, radius, and typography rhythm independently from color.",
24
+ "knownValues": [
25
+ "neutral",
26
+ "compact",
27
+ "soft",
28
+ "sharp",
29
+ "dense"
30
+ ],
31
+ "rules": [
32
+ "Use neutral when no product density preference is known.",
33
+ "Use compact for efficiency-oriented workspaces that need tighter controls without becoming spreadsheet-dense.",
34
+ "Use dense for data-heavy UI where text-sm, line-height, spacing, and radius all need compression.",
35
+ "Use soft for airy, approachable, reading-friendly surfaces with larger radius and more breathing room.",
36
+ "Use sharp when square geometry and mono-like precision are a deliberate product direction."
37
+ ]
38
+ }
39
+ },
40
+ "families": {
41
+ "color.primary": {
42
+ "tokens": [
43
+ "--color-primary",
44
+ "--color-primary-hover",
45
+ "--color-primary-active",
46
+ "--color-primary-bg",
47
+ "--color-primary-bg-hover",
48
+ "--color-primary-border",
49
+ "--color-primary-border-hover",
50
+ "--color-primary-text",
51
+ "--color-primary-text-hover",
52
+ "--color-primary-text-active",
53
+ "--color-text-on-primary"
54
+ ],
55
+ "intent": "Brand and primary action emphasis.",
56
+ "useFor": [
57
+ "Primary action buttons",
58
+ "Selected controls",
59
+ "Active navigation accents",
60
+ "Focused brand emphasis"
61
+ ],
62
+ "avoidFor": [
63
+ "Large page backgrounds",
64
+ "Destructive actions",
65
+ "Neutral metadata",
66
+ "Multiple competing actions in the same group"
67
+ ],
68
+ "agentRules": [
69
+ "Use only one primary action per decision surface.",
70
+ "Use --color-text-on-primary for text placed directly on --color-primary."
71
+ ]
72
+ },
73
+ "color.text": {
74
+ "tokens": [
75
+ "--color-text",
76
+ "--color-text-secondary",
77
+ "--color-text-tertiary",
78
+ "--color-text-quaternary",
79
+ "--color-text-base"
80
+ ],
81
+ "intent": "Readable hierarchy for foreground content.",
82
+ "useFor": [
83
+ "Body copy",
84
+ "Headings",
85
+ "Metadata",
86
+ "Disabled-looking low-emphasis support text"
87
+ ],
88
+ "avoidFor": [
89
+ "Status semantics that need success, warning, error, or info color",
90
+ "Decorative accents"
91
+ ],
92
+ "agentRules": [
93
+ "Use --color-text for primary readable content.",
94
+ "Use secondary and tertiary text only after hierarchy is established."
95
+ ]
96
+ },
97
+ "color.background": {
98
+ "tokens": [
99
+ "--color-bg-base",
100
+ "--color-bg-container",
101
+ "--color-bg-elevated",
102
+ "--color-bg-layout",
103
+ "--color-bg-spotlight",
104
+ "--color-bg-mask",
105
+ "--color-bg-highlight",
106
+ "--color-bg-highlight-hover"
107
+ ],
108
+ "intent": "Page, container, elevation, overlay, and spotlight surfaces.",
109
+ "useFor": [
110
+ "Application background",
111
+ "Cards and panels",
112
+ "Popover and modal surfaces",
113
+ "Overlay masks",
114
+ "Temporary highlight surfaces"
115
+ ],
116
+ "avoidFor": [
117
+ "Text foreground",
118
+ "Status messages without semantic color",
119
+ "Arbitrary decorative blocks"
120
+ ],
121
+ "agentRules": [
122
+ "Use --color-bg-layout for app-level backgrounds.",
123
+ "Use --color-bg-container or --color-bg-base for content surfaces.",
124
+ "Use --color-bg-mask only for modal, drawer, dialog, and popover overlays."
125
+ ]
126
+ },
127
+ "color.border": {
128
+ "tokens": [
129
+ "--color-border",
130
+ "--color-border-secondary",
131
+ "--color-border-tertiary",
132
+ "--color-input",
133
+ "--color-ring"
134
+ ],
135
+ "intent": "Separation, input affordance, and keyboard focus indication.",
136
+ "useFor": [
137
+ "Card and panel boundaries",
138
+ "Dividers",
139
+ "Input borders",
140
+ "Focus rings"
141
+ ],
142
+ "avoidFor": [
143
+ "Primary semantic emphasis",
144
+ "Replacing spacing as the only separator"
145
+ ],
146
+ "agentRules": [
147
+ "Use --color-ring for focus indication.",
148
+ "Prefer border-secondary or border-tertiary for low-emphasis separators."
149
+ ]
150
+ },
151
+ "color.fill": {
152
+ "tokens": [
153
+ "--color-fill",
154
+ "--color-fill-secondary",
155
+ "--color-fill-tertiary",
156
+ "--color-fill-quaternary",
157
+ "--color-fill-disable",
158
+ "--color-accent",
159
+ "--color-muted"
160
+ ],
161
+ "intent": "Subtle non-surface fills for controls, hover areas, muted chips, and disabled states.",
162
+ "useFor": [
163
+ "Hover backgrounds",
164
+ "Secondary controls",
165
+ "Muted chips",
166
+ "Disabled fill areas"
167
+ ],
168
+ "avoidFor": [
169
+ "Primary page background",
170
+ "High-risk status feedback",
171
+ "Readable foreground text"
172
+ ],
173
+ "agentRules": [
174
+ "Use fill tokens to support interaction affordance without adding new brand colors.",
175
+ "Use --color-fill-disable only when disabled semantics are explicit."
176
+ ]
177
+ },
178
+ "color.semantic": {
179
+ "tokens": [
180
+ "--color-link",
181
+ "--color-error",
182
+ "--color-error-hover",
183
+ "--color-error-bg",
184
+ "--color-error-bg-hover",
185
+ "--color-error-border",
186
+ "--color-info",
187
+ "--color-info-hover",
188
+ "--color-info-bg",
189
+ "--color-info-bg-hover",
190
+ "--color-info-border",
191
+ "--color-success",
192
+ "--color-success-hover",
193
+ "--color-success-bg",
194
+ "--color-success-bg-hover",
195
+ "--color-success-border",
196
+ "--color-warning",
197
+ "--color-warning-hover",
198
+ "--color-warning-bg",
199
+ "--color-warning-bg-hover",
200
+ "--color-warning-border"
201
+ ],
202
+ "intent": "Meaningful status communication.",
203
+ "useFor": [
204
+ "Validation errors",
205
+ "Warnings",
206
+ "Success confirmations",
207
+ "Informational callouts",
208
+ "Links"
209
+ ],
210
+ "avoidFor": [
211
+ "Pure decoration",
212
+ "Brand emphasis",
213
+ "Dense rainbow categorization without labels"
214
+ ],
215
+ "agentRules": [
216
+ "Do not rely on color alone; pair semantic color with text or icon labels.",
217
+ "Use background and border companions for Alert-like surfaces."
218
+ ]
219
+ },
220
+ "color.accent": {
221
+ "tokens": [
222
+ "--color-pink",
223
+ "--color-pink-bg",
224
+ "--color-pink-bg-hover",
225
+ "--color-purple",
226
+ "--color-purple-bg",
227
+ "--color-purple-bg-hover",
228
+ "--color-yellow",
229
+ "--color-yellow-bg",
230
+ "--color-yellow-bg-hover",
231
+ "--color-orange",
232
+ "--color-orange-bg",
233
+ "--color-orange-bg-hover",
234
+ "--color-teal",
235
+ "--color-teal-bg",
236
+ "--color-teal-bg-hover",
237
+ "--color-blue",
238
+ "--color-blue-bg",
239
+ "--color-blue-bg-hover",
240
+ "--color-mauve",
241
+ "--color-mauve-bg",
242
+ "--color-mauve-bg-hover",
243
+ "--color-slate",
244
+ "--color-slate-bg",
245
+ "--color-slate-bg-hover",
246
+ "--color-lavender",
247
+ "--color-lavender-bg",
248
+ "--color-lavender-bg-hover",
249
+ "--color-sage",
250
+ "--color-sage-bg",
251
+ "--color-sage-bg-hover"
252
+ ],
253
+ "intent": "Categorical accents for tags, files, generated artifacts, or non-status grouping.",
254
+ "useFor": [
255
+ "Category tags",
256
+ "File type accents",
257
+ "Non-critical visual grouping",
258
+ "Generated artifact previews"
259
+ ],
260
+ "avoidFor": [
261
+ "Primary actions",
262
+ "Error, warning, success, or info status",
263
+ "Long-form text"
264
+ ],
265
+ "agentRules": [
266
+ "Use accents sparingly and label categories explicitly.",
267
+ "Do not invent new accent colors in generated UI."
268
+ ]
269
+ },
270
+ "spacing": {
271
+ "tokens": [
272
+ "--spacing-0",
273
+ "--spacing-px",
274
+ "--spacing-0.5",
275
+ "--spacing-1",
276
+ "--spacing-1.5",
277
+ "--spacing-2",
278
+ "--spacing-2.5",
279
+ "--spacing-3",
280
+ "--spacing-3.5",
281
+ "--spacing-4",
282
+ "--spacing-5",
283
+ "--spacing-6",
284
+ "--spacing-8",
285
+ "--spacing-10",
286
+ "--spacing-12",
287
+ "--spacing-16",
288
+ "--spacing-20",
289
+ "--spacing-24"
290
+ ],
291
+ "intent": "Rhythm and density controlled by data-style.",
292
+ "useFor": [
293
+ "Component padding",
294
+ "Stack gaps",
295
+ "Grid gutters",
296
+ "Inline icon-label spacing"
297
+ ],
298
+ "avoidFor": [
299
+ "One-off pixel nudges",
300
+ "Encoding visual hierarchy only through whitespace",
301
+ "Breaking sibling rhythm without a reason"
302
+ ],
303
+ "agentRules": [
304
+ "Prefer existing Tailwind spacing utilities mapped to Spark tokens.",
305
+ "Use larger spacing for section rhythm and smaller spacing for control internals."
306
+ ]
307
+ },
308
+ "radius": {
309
+ "tokens": [
310
+ "--radius-none",
311
+ "--radius-sm",
312
+ "--radius-md",
313
+ "--radius-lg",
314
+ "--radius-xl",
315
+ "--radius-2xl",
316
+ "--radius-3xl",
317
+ "--radius-full"
318
+ ],
319
+ "intent": "Geometry and softness controlled by data-style.",
320
+ "useFor": [
321
+ "Buttons",
322
+ "Cards",
323
+ "Inputs",
324
+ "Pills",
325
+ "Panels"
326
+ ],
327
+ "avoidFor": [
328
+ "Mixing unrelated radii in a single component",
329
+ "Using full radius for large rectangular panels",
330
+ "Overriding sharp or dense styles with arbitrary rounded values"
331
+ ],
332
+ "agentRules": [
333
+ "Let data-style drive geometry unless a component has a documented exception.",
334
+ "Use --radius-full only for pills, avatars, and circular controls."
335
+ ]
336
+ },
337
+ "typography": {
338
+ "tokens": [
339
+ "--font-size-xs",
340
+ "--font-size-sm",
341
+ "--font-size-base",
342
+ "--font-size-lg",
343
+ "--font-size-xl",
344
+ "--font-size-2xl",
345
+ "--font-size-3xl",
346
+ "--font-size-4xl",
347
+ "--font-size-5xl",
348
+ "--font-size-6xl",
349
+ "--font-size-7xl",
350
+ "--font-size-8xl",
351
+ "--font-size-9xl"
352
+ ],
353
+ "intent": "Readable type hierarchy controlled by data-style.",
354
+ "useFor": [
355
+ "Body text",
356
+ "Labels",
357
+ "Section headings",
358
+ "Display headings"
359
+ ],
360
+ "avoidFor": [
361
+ "Decorative scale jumps without information hierarchy",
362
+ "Tiny text for required content",
363
+ "Long paragraphs above base size without layout reason"
364
+ ],
365
+ "agentRules": [
366
+ "Use base or sm for dense application text.",
367
+ "Use larger sizes to express hierarchy, not decoration."
368
+ ]
369
+ },
370
+ "motion": {
371
+ "tokens": [
372
+ "--motion-duration-fast",
373
+ "--motion-duration-base",
374
+ "--motion-duration-slow",
375
+ "--motion-ease-standard",
376
+ "--motion-ease-emphasized",
377
+ "--motion-ease-out"
378
+ ],
379
+ "intent": "Purposeful feedback and state transition timing.",
380
+ "useFor": [
381
+ "Hover and press feedback",
382
+ "Disclosure transitions",
383
+ "Modal and popover entry/exit",
384
+ "Streaming or generation state changes"
385
+ ],
386
+ "avoidFor": [
387
+ "Purely decorative delay",
388
+ "Animating large layout shifts without user benefit",
389
+ "Long-running loops that distract from task work"
390
+ ],
391
+ "agentRules": [
392
+ "Use fast durations for control feedback.",
393
+ "Use base or slow only for surface transitions that clarify spatial change."
394
+ ]
395
+ }
396
+ },
397
+ "forbiddenPatterns": [
398
+ "Hard-coded hex colors in component className or style props.",
399
+ "Raw rgba overlays when --color-bg-mask or a semantic token exists.",
400
+ "Arbitrary radius values that fight data-style.",
401
+ "One-off spacing values that break sibling rhythm.",
402
+ "Using accent colors to communicate status without labels."
403
+ ]
404
+ }
@@ -1,151 +0,0 @@
1
- import { e as x, c as O, g as m, k as P, h as p, j as w, l as A, m as c, n as I, t as N, o as E } from "./_baseUniq-B-N2NQ50.js";
2
- import { aR as g, aA as F, aS as M, aT as T, aU as _, aV as l, aW as $, aX as B, aY as S, aZ as y } from "./mermaid.core-gFR0XUlD.js";
3
- var R = /\s/;
4
- function G(n) {
5
- for (var r = n.length; r-- && R.test(n.charAt(r)); )
6
- ;
7
- return r;
8
- }
9
- var H = /^\s+/;
10
- function L(n) {
11
- return n && n.slice(0, G(n) + 1).replace(H, "");
12
- }
13
- var o = NaN, W = /^[-+]0x[0-9a-f]+$/i, X = /^0b[01]+$/i, Y = /^0o[0-7]+$/i, q = parseInt;
14
- function z(n) {
15
- if (typeof n == "number")
16
- return n;
17
- if (x(n))
18
- return o;
19
- if (g(n)) {
20
- var r = typeof n.valueOf == "function" ? n.valueOf() : n;
21
- n = g(r) ? r + "" : r;
22
- }
23
- if (typeof n != "string")
24
- return n === 0 ? n : +n;
25
- n = L(n);
26
- var t = X.test(n);
27
- return t || Y.test(n) ? q(n.slice(2), t ? 2 : 8) : W.test(n) ? o : +n;
28
- }
29
- var v = 1 / 0, C = 17976931348623157e292;
30
- function K(n) {
31
- if (!n)
32
- return n === 0 ? n : 0;
33
- if (n = z(n), n === v || n === -v) {
34
- var r = n < 0 ? -1 : 1;
35
- return r * C;
36
- }
37
- return n === n ? n : 0;
38
- }
39
- function U(n) {
40
- var r = K(n), t = r % 1;
41
- return r === r ? t ? r - t : r : 0;
42
- }
43
- function fn(n) {
44
- var r = n == null ? 0 : n.length;
45
- return r ? O(n) : [];
46
- }
47
- var b = Object.prototype, Z = b.hasOwnProperty, dn = F(function(n, r) {
48
- n = Object(n);
49
- var t = -1, i = r.length, a = i > 2 ? r[2] : void 0;
50
- for (a && M(r[0], r[1], a) && (i = 1); ++t < i; )
51
- for (var f = r[t], e = T(f), s = -1, d = e.length; ++s < d; ) {
52
- var u = e[s], h = n[u];
53
- (h === void 0 || _(h, b[u]) && !Z.call(n, u)) && (n[u] = f[u]);
54
- }
55
- return n;
56
- });
57
- function un(n) {
58
- var r = n == null ? 0 : n.length;
59
- return r ? n[r - 1] : void 0;
60
- }
61
- function D(n) {
62
- return function(r, t, i) {
63
- var a = Object(r);
64
- if (!l(r)) {
65
- var f = m(t);
66
- r = P(r), t = function(s) {
67
- return f(a[s], s, a);
68
- };
69
- }
70
- var e = n(r, t, i);
71
- return e > -1 ? a[f ? r[e] : e] : void 0;
72
- };
73
- }
74
- var J = Math.max;
75
- function Q(n, r, t) {
76
- var i = n == null ? 0 : n.length;
77
- if (!i)
78
- return -1;
79
- var a = t == null ? 0 : U(t);
80
- return a < 0 && (a = J(i + a, 0)), p(n, m(r), a);
81
- }
82
- var hn = D(Q);
83
- function V(n, r) {
84
- var t = -1, i = l(n) ? Array(n.length) : [];
85
- return w(n, function(a, f, e) {
86
- i[++t] = r(a, f, e);
87
- }), i;
88
- }
89
- function gn(n, r) {
90
- var t = $(n) ? A : V;
91
- return t(n, m(r));
92
- }
93
- var j = Object.prototype, k = j.hasOwnProperty;
94
- function nn(n, r) {
95
- return n != null && k.call(n, r);
96
- }
97
- function mn(n, r) {
98
- return n != null && c(n, r, nn);
99
- }
100
- function rn(n, r) {
101
- return n < r;
102
- }
103
- function tn(n, r, t) {
104
- for (var i = -1, a = n.length; ++i < a; ) {
105
- var f = n[i], e = r(f);
106
- if (e != null && (s === void 0 ? e === e && !x(e) : t(e, s)))
107
- var s = e, d = f;
108
- }
109
- return d;
110
- }
111
- function on(n) {
112
- return n && n.length ? tn(n, B, rn) : void 0;
113
- }
114
- function an(n, r, t, i) {
115
- if (!g(n))
116
- return n;
117
- r = I(r, n);
118
- for (var a = -1, f = r.length, e = f - 1, s = n; s != null && ++a < f; ) {
119
- var d = N(r[a]), u = t;
120
- if (d === "__proto__" || d === "constructor" || d === "prototype")
121
- return n;
122
- if (a != e) {
123
- var h = s[d];
124
- u = void 0, u === void 0 && (u = g(h) ? h : S(r[a + 1]) ? [] : {});
125
- }
126
- y(s, d, u), s = s[d];
127
- }
128
- return n;
129
- }
130
- function vn(n, r, t) {
131
- for (var i = -1, a = r.length, f = {}; ++i < a; ) {
132
- var e = r[i], s = E(n, e);
133
- t(s, e) && an(f, I(e, n), s);
134
- }
135
- return f;
136
- }
137
- export {
138
- rn as a,
139
- tn as b,
140
- V as c,
141
- vn as d,
142
- on as e,
143
- fn as f,
144
- hn as g,
145
- mn as h,
146
- dn as i,
147
- U as j,
148
- un as l,
149
- gn as m,
150
- K as t
151
- };
@@ -1 +0,0 @@
1
- "use strict";const u=require("./_baseUniq-Cc_zbSif.cjs"),d=require("./mermaid.core-DBwAx_jp.cjs");var P=/\s/;function p(n){for(var r=n.length;r--&&P.test(n.charAt(r)););return r}var w=/^\s+/;function A(n){return n&&n.slice(0,p(n)+1).replace(w,"")}var m=NaN,_=/^[-+]0x[0-9a-f]+$/i,y=/^0b[01]+$/i,E=/^0o[0-7]+$/i,F=parseInt;function M(n){if(typeof n=="number")return n;if(u.isSymbol(n))return m;if(d.isObject(n)){var r=typeof n.valueOf=="function"?n.valueOf():n;n=d.isObject(r)?r+"":r}if(typeof n!="string")return n===0?n:+n;n=A(n);var t=y.test(n);return t||E.test(n)?F(n.slice(2),t?2:8):_.test(n)?m:+n}var I=1/0,N=17976931348623157e292;function o(n){if(!n)return n===0?n:0;if(n=M(n),n===I||n===-I){var r=n<0?-1:1;return r*N}return n===n?n:0}function v(n){var r=o(n),t=r%1;return r===r?t?r-t:r:0}function B(n){var r=n==null?0:n.length;return r?u.baseFlatten(n):[]}var x=Object.prototype,$=x.hasOwnProperty,q=d.baseRest(function(n,r){n=Object(n);var t=-1,a=r.length,e=a>2?r[2]:void 0;for(e&&d.isIterateeCall(r[0],r[1],e)&&(a=1);++t<a;)for(var s=r[t],i=d.keysIn(s),f=-1,h=i.length;++f<h;){var b=i[f],g=n[b];(g===void 0||d.eq(g,x[b])&&!$.call(n,b))&&(n[b]=s[b])}return n});function L(n){var r=n==null?0:n.length;return r?n[r-1]:void 0}function S(n){return function(r,t,a){var e=Object(r);if(!d.isArrayLike(r)){var s=u.baseIteratee(t);r=u.keys(r),t=function(f){return s(e[f],f,e)}}var i=n(r,t,a);return i>-1?e[s?r[i]:i]:void 0}}var T=Math.max;function G(n,r,t){var a=n==null?0:n.length;if(!a)return-1;var e=t==null?0:v(t);return e<0&&(e=T(a+e,0)),u.baseFindIndex(n,u.baseIteratee(r),e)}var H=S(G);function l(n,r){var t=-1,a=d.isArrayLike(n)?Array(n.length):[];return u.baseEach(n,function(e,s,i){a[++t]=r(e,s,i)}),a}function R(n,r){var t=d.isArray(n)?u.arrayMap:l;return t(n,u.baseIteratee(r))}var z=Object.prototype,C=z.hasOwnProperty;function K(n,r){return n!=null&&C.call(n,r)}function U(n,r){return n!=null&&u.hasPath(n,r,K)}function O(n,r){return n<r}function c(n,r,t){for(var a=-1,e=n.length;++a<e;){var s=n[a],i=r(s);if(i!=null&&(f===void 0?i===i&&!u.isSymbol(i):t(i,f)))var f=i,h=s}return h}function W(n){return n&&n.length?c(n,d.identity,O):void 0}function X(n,r,t,a){if(!d.isObject(n))return n;r=u.castPath(r,n);for(var e=-1,s=r.length,i=s-1,f=n;f!=null&&++e<s;){var h=u.toKey(r[e]),b=t;if(h==="__proto__"||h==="constructor"||h==="prototype")return n;if(e!=i){var g=f[h];b=void 0,b===void 0&&(b=d.isObject(g)?g:d.isIndex(r[e+1])?[]:{})}d.assignValue(f,h,b),f=f[h]}return n}function Y(n,r,t){for(var a=-1,e=r.length,s={};++a<e;){var i=r[a],f=u.baseGet(n,i);t(f,i)&&X(s,u.castPath(i,n),f)}return s}exports.baseExtremum=c;exports.baseLt=O;exports.baseMap=l;exports.basePickBy=Y;exports.defaults=q;exports.find=H;exports.flatten=B;exports.has=U;exports.last=L;exports.map=R;exports.min=W;exports.toFinite=o;exports.toInteger=v;