@nadicodeai/ui 12.1.62 → 12.1.63

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 (1050) hide show
  1. package/AGENTS.md +14 -8
  2. package/NOTICE +5 -11
  3. package/README.md +9 -17
  4. package/dist/components/agent-profile.d.ts +86 -0
  5. package/dist/components/agent-profile.d.ts.map +1 -0
  6. package/dist/components/agent-profile.js +60 -0
  7. package/dist/components/alert-dialog.js +1 -1
  8. package/dist/components/app-mark.d.ts +35 -17
  9. package/dist/components/app-mark.d.ts.map +1 -1
  10. package/dist/components/app-mark.js +34 -70
  11. package/dist/components/card.js +3 -3
  12. package/dist/components/checkbox.js +1 -1
  13. package/dist/components/collection-filters.d.ts +5 -0
  14. package/dist/components/collection-filters.d.ts.map +1 -1
  15. package/dist/components/collection-filters.js +15 -1
  16. package/dist/components/collection-search.d.ts +10 -0
  17. package/dist/components/collection-search.d.ts.map +1 -0
  18. package/dist/components/collection-search.js +8 -0
  19. package/dist/components/collection-sort.d.ts +18 -0
  20. package/dist/components/collection-sort.d.ts.map +1 -0
  21. package/dist/components/collection-sort.js +19 -0
  22. package/dist/components/collection-toolbar.d.ts +7 -1
  23. package/dist/components/collection-toolbar.d.ts.map +1 -1
  24. package/dist/components/collection-toolbar.js +16 -2
  25. package/dist/components/combobox.js +1 -1
  26. package/dist/components/command.js +1 -1
  27. package/dist/components/confirm-dialog.d.ts +3 -1
  28. package/dist/components/confirm-dialog.d.ts.map +1 -1
  29. package/dist/components/confirm-dialog.js +3 -2
  30. package/dist/components/data-table.d.ts +154 -0
  31. package/dist/components/data-table.d.ts.map +1 -0
  32. package/dist/components/data-table.js +283 -0
  33. package/dist/components/dialog.js +1 -1
  34. package/dist/components/drawer.js +1 -1
  35. package/dist/components/dropdown-menu.d.ts +9 -1
  36. package/dist/components/dropdown-menu.d.ts.map +1 -1
  37. package/dist/components/dropdown-menu.js +10 -2
  38. package/dist/components/empty-art.d.ts +17 -0
  39. package/dist/components/empty-art.d.ts.map +1 -0
  40. package/dist/components/empty-art.js +29 -0
  41. package/dist/components/empty-state.d.ts +38 -0
  42. package/dist/components/empty-state.d.ts.map +1 -0
  43. package/dist/components/empty-state.js +14 -0
  44. package/dist/components/feedback-state.d.ts +1 -1
  45. package/dist/components/feedback-state.d.ts.map +1 -1
  46. package/dist/components/feedback-state.js +1 -1
  47. package/dist/components/field.d.ts.map +1 -1
  48. package/dist/components/field.js +3 -1
  49. package/dist/components/form-drawer.d.ts +62 -0
  50. package/dist/components/form-drawer.d.ts.map +1 -0
  51. package/dist/components/form-drawer.js +35 -0
  52. package/dist/components/hover-card.js +1 -1
  53. package/dist/components/menubar.js +1 -1
  54. package/dist/components/message-notice.d.ts +18 -0
  55. package/dist/components/message-notice.d.ts.map +1 -0
  56. package/dist/components/message-notice.js +19 -0
  57. package/dist/components/model-mark.d.ts +5 -0
  58. package/dist/components/model-mark.d.ts.map +1 -1
  59. package/dist/components/model-mark.js +79 -74
  60. package/dist/components/object-workspace.d.ts +20 -8
  61. package/dist/components/object-workspace.d.ts.map +1 -1
  62. package/dist/components/object-workspace.js +10 -5
  63. package/dist/components/page-actions.d.ts +65 -0
  64. package/dist/components/page-actions.d.ts.map +1 -0
  65. package/dist/components/page-actions.js +76 -0
  66. package/dist/components/page-header.d.ts +14 -0
  67. package/dist/components/page-header.d.ts.map +1 -0
  68. package/dist/components/page-header.js +14 -0
  69. package/dist/components/platform-mark.d.ts +36 -0
  70. package/dist/components/platform-mark.d.ts.map +1 -0
  71. package/dist/components/platform-mark.js +49 -0
  72. package/dist/components/popover.js +1 -1
  73. package/dist/components/product-message.d.ts +33 -0
  74. package/dist/components/product-message.d.ts.map +1 -0
  75. package/dist/components/product-message.js +8 -0
  76. package/dist/components/select.js +1 -1
  77. package/dist/components/settings-facts.d.ts.map +1 -1
  78. package/dist/components/settings-facts.js +2 -1
  79. package/dist/components/sheet.js +1 -1
  80. package/dist/components/sonner.js +1 -1
  81. package/dist/components/status-badge.d.ts +15 -0
  82. package/dist/components/status-badge.d.ts.map +1 -0
  83. package/dist/components/status-badge.js +29 -0
  84. package/dist/components/table.js +2 -2
  85. package/dist/components/tag.d.ts +15 -0
  86. package/dist/components/tag.d.ts.map +1 -0
  87. package/dist/components/tag.js +12 -0
  88. package/dist/components/toast.d.ts +6 -2
  89. package/dist/components/toast.d.ts.map +1 -1
  90. package/dist/components/toast.js +12 -4
  91. package/dist/components/tooltip.js +1 -1
  92. package/dist/eslint/index.js +4 -0
  93. package/dist/eslint/rules/no-global-patch.js +115 -0
  94. package/dist/eslint/rules/no-write-in-subscription.js +139 -0
  95. package/dist/index.d.ts +12 -4
  96. package/dist/index.d.ts.map +1 -1
  97. package/dist/index.js +12 -4
  98. package/dist/internal/empty.d.ts +25 -0
  99. package/dist/internal/empty.d.ts.map +1 -0
  100. package/dist/internal/empty.js +41 -0
  101. package/dist/internal/footer-strip.js +1 -1
  102. package/dist/internal/menu-surface.d.ts +1 -1
  103. package/dist/internal/menu-surface.js +1 -1
  104. package/dist/model-marks/ace.js +1 -0
  105. package/dist/model-marks/adobe-color.js +1 -0
  106. package/dist/model-marks/adobe.js +1 -0
  107. package/dist/model-marks/adobefirefly-color.js +1 -0
  108. package/dist/model-marks/adobefirefly.js +1 -0
  109. package/dist/model-marks/agentvoice-color.js +1 -0
  110. package/dist/model-marks/agentvoice.js +1 -0
  111. package/dist/model-marks/agnesai.js +1 -0
  112. package/dist/model-marks/agui.js +1 -0
  113. package/dist/model-marks/ai2-color.js +1 -0
  114. package/dist/model-marks/ai2.js +1 -0
  115. package/dist/model-marks/ai21.js +1 -0
  116. package/dist/model-marks/ai302-color.js +1 -0
  117. package/dist/model-marks/ai302.js +1 -0
  118. package/dist/model-marks/ai360-color.js +1 -0
  119. package/dist/model-marks/ai360.js +1 -0
  120. package/dist/model-marks/aihubmix-color.js +1 -0
  121. package/dist/model-marks/aihubmix.js +1 -0
  122. package/dist/model-marks/aimass-color.js +1 -0
  123. package/dist/model-marks/aimass.js +1 -0
  124. package/dist/model-marks/aionlabs-color.js +1 -0
  125. package/dist/model-marks/aionlabs.js +1 -0
  126. package/dist/model-marks/airjelly-color.js +1 -0
  127. package/dist/model-marks/airjelly.js +1 -0
  128. package/dist/model-marks/aistudio.js +1 -0
  129. package/dist/model-marks/akashchat-color.js +1 -0
  130. package/dist/model-marks/akashchat.js +1 -0
  131. package/dist/model-marks/alephalpha.js +1 -0
  132. package/dist/model-marks/alibaba-color.js +1 -0
  133. package/dist/model-marks/alibaba.js +1 -0
  134. package/dist/model-marks/alibabacloud-color.js +1 -0
  135. package/dist/model-marks/alibabacloud.js +1 -0
  136. package/dist/model-marks/amdradeoncloud-color.js +1 -0
  137. package/dist/model-marks/amdradeoncloud.js +1 -0
  138. package/dist/model-marks/amp-color.js +1 -0
  139. package/dist/model-marks/amp.js +1 -0
  140. package/dist/model-marks/anspire-color.js +1 -0
  141. package/dist/model-marks/anspire.js +1 -0
  142. package/dist/model-marks/antgroup-color.js +1 -0
  143. package/dist/model-marks/antgroup.js +1 -0
  144. package/dist/model-marks/anthropic.js +1 -0
  145. package/dist/model-marks/antigravity-color.js +1 -0
  146. package/dist/model-marks/antigravity.js +1 -0
  147. package/dist/model-marks/anyscale-color.js +1 -0
  148. package/dist/model-marks/anyscale.js +1 -0
  149. package/dist/model-marks/apertis-color.js +1 -0
  150. package/dist/model-marks/apertis.js +1 -0
  151. package/dist/model-marks/apple.js +1 -0
  152. package/dist/model-marks/arcee-color.js +1 -0
  153. package/dist/model-marks/arcee.js +1 -0
  154. package/dist/model-marks/askverdict-color.js +1 -0
  155. package/dist/model-marks/askverdict.js +1 -0
  156. package/dist/model-marks/assemblyai-color.js +1 -0
  157. package/dist/model-marks/assemblyai.js +1 -0
  158. package/dist/model-marks/atlascloud.js +1 -0
  159. package/dist/model-marks/automatic-color.js +1 -0
  160. package/dist/model-marks/automatic.js +1 -0
  161. package/dist/model-marks/aws-color.js +1 -0
  162. package/dist/model-marks/aws.js +1 -0
  163. package/dist/model-marks/aya-color.js +1 -0
  164. package/dist/model-marks/aya.js +1 -0
  165. package/dist/model-marks/azure-color.js +1 -0
  166. package/dist/model-marks/azure.js +1 -0
  167. package/dist/model-marks/azureai-color.js +1 -0
  168. package/dist/model-marks/azureai.js +1 -0
  169. package/dist/model-marks/baai.js +1 -0
  170. package/dist/model-marks/baichuan-color.js +1 -0
  171. package/dist/model-marks/baichuan.js +1 -0
  172. package/dist/model-marks/baidu-color.js +1 -0
  173. package/dist/model-marks/baidu.js +1 -0
  174. package/dist/model-marks/baiducloud-color.js +1 -0
  175. package/dist/model-marks/baiducloud.js +1 -0
  176. package/dist/model-marks/bailian-color.js +1 -0
  177. package/dist/model-marks/bailian.js +1 -0
  178. package/dist/model-marks/baseten.js +1 -0
  179. package/dist/model-marks/bedrock-color.js +1 -0
  180. package/dist/model-marks/bedrock.js +1 -0
  181. package/dist/model-marks/bfl.js +1 -0
  182. package/dist/model-marks/bilibili-color.js +1 -0
  183. package/dist/model-marks/bilibili.js +1 -0
  184. package/dist/model-marks/bilibiliindex.js +1 -0
  185. package/dist/model-marks/bing-color.js +1 -0
  186. package/dist/model-marks/bing.js +1 -0
  187. package/dist/model-marks/bocha-color.js +1 -0
  188. package/dist/model-marks/bocha.js +1 -0
  189. package/dist/model-marks/brave-color.js +1 -0
  190. package/dist/model-marks/brave.js +1 -0
  191. package/dist/model-marks/briaai-color.js +1 -0
  192. package/dist/model-marks/briaai.js +1 -0
  193. package/dist/model-marks/browserless.js +1 -0
  194. package/dist/model-marks/burncloud-color.js +1 -0
  195. package/dist/model-marks/burncloud.js +1 -0
  196. package/dist/model-marks/bytedance-color.js +1 -0
  197. package/dist/model-marks/bytedance.js +1 -0
  198. package/dist/model-marks/capcut.js +1 -0
  199. package/dist/model-marks/celestoai-color.js +1 -0
  200. package/dist/model-marks/celestoai.js +1 -0
  201. package/dist/model-marks/centml-color.js +1 -0
  202. package/dist/model-marks/centml.js +1 -0
  203. package/dist/model-marks/cerebras-color.js +1 -0
  204. package/dist/model-marks/cerebras.js +1 -0
  205. package/dist/model-marks/chatglm-color.js +1 -0
  206. package/dist/model-marks/chatglm.js +1 -0
  207. package/dist/model-marks/cherrystudio-color.js +1 -0
  208. package/dist/model-marks/cherrystudio.js +1 -0
  209. package/dist/model-marks/chutes.js +1 -0
  210. package/dist/model-marks/civitai-color.js +1 -0
  211. package/dist/model-marks/civitai.js +1 -0
  212. package/dist/model-marks/claude-color.js +1 -0
  213. package/dist/model-marks/claude.js +1 -0
  214. package/dist/model-marks/claudecode-color.js +1 -0
  215. package/dist/model-marks/claudecode.js +1 -0
  216. package/dist/model-marks/cline.js +1 -0
  217. package/dist/model-marks/clipdrop.js +1 -0
  218. package/dist/model-marks/cloudflare-color.js +1 -0
  219. package/dist/model-marks/cloudflare.js +1 -0
  220. package/dist/model-marks/codebuddy-color.js +1 -0
  221. package/dist/model-marks/codebuddy.js +1 -0
  222. package/dist/model-marks/codeflicker-color.js +1 -0
  223. package/dist/model-marks/codeflicker.js +1 -0
  224. package/dist/model-marks/codegeex-color.js +1 -0
  225. package/dist/model-marks/codegeex.js +1 -0
  226. package/dist/model-marks/codex-color.js +1 -0
  227. package/dist/model-marks/codex.js +1 -0
  228. package/dist/model-marks/cogvideo-color.js +1 -0
  229. package/dist/model-marks/cogvideo.js +1 -0
  230. package/dist/model-marks/cogview-color.js +1 -0
  231. package/dist/model-marks/cogview.js +1 -0
  232. package/dist/model-marks/cohere-color.js +1 -0
  233. package/dist/model-marks/cohere.js +1 -0
  234. package/dist/model-marks/colab-color.js +1 -0
  235. package/dist/model-marks/colab.js +1 -0
  236. package/dist/model-marks/cometapi-color.js +1 -0
  237. package/dist/model-marks/cometapi.js +1 -0
  238. package/dist/model-marks/comfyui-color.js +1 -0
  239. package/dist/model-marks/comfyui.js +1 -0
  240. package/dist/model-marks/commanda-color.js +1 -0
  241. package/dist/model-marks/commanda.js +1 -0
  242. package/dist/model-marks/commandcode.js +1 -0
  243. package/dist/model-marks/copilot-color.js +1 -0
  244. package/dist/model-marks/copilot.js +1 -0
  245. package/dist/model-marks/copilotkit-color.js +1 -0
  246. package/dist/model-marks/copilotkit.js +1 -0
  247. package/dist/model-marks/coqui-color.js +1 -0
  248. package/dist/model-marks/coqui.js +1 -0
  249. package/dist/model-marks/coze.js +1 -0
  250. package/dist/model-marks/crewai-color.js +1 -0
  251. package/dist/model-marks/crewai.js +1 -0
  252. package/dist/model-marks/crusoe-color.js +1 -0
  253. package/dist/model-marks/crusoe.js +1 -0
  254. package/dist/model-marks/cursor.js +1 -0
  255. package/dist/model-marks/cybercut.js +1 -0
  256. package/dist/model-marks/dalle-color.js +1 -0
  257. package/dist/model-marks/dalle.js +1 -0
  258. package/dist/model-marks/dbrx-color.js +1 -0
  259. package/dist/model-marks/dbrx.js +1 -0
  260. package/dist/model-marks/decart-color.js +1 -0
  261. package/dist/model-marks/decart.js +1 -0
  262. package/dist/model-marks/deepai.js +1 -0
  263. package/dist/model-marks/deepcogito-color.js +1 -0
  264. package/dist/model-marks/deepcogito.js +1 -0
  265. package/dist/model-marks/deepinfra-color.js +1 -0
  266. package/dist/model-marks/deepinfra.js +1 -0
  267. package/dist/model-marks/deepl-color.js +1 -0
  268. package/dist/model-marks/deepl.js +1 -0
  269. package/dist/model-marks/deepmind-color.js +1 -0
  270. package/dist/model-marks/deepmind.js +1 -0
  271. package/dist/model-marks/deepseek-color.js +1 -0
  272. package/dist/model-marks/deepseek.js +1 -0
  273. package/dist/model-marks/devin-color.js +1 -0
  274. package/dist/model-marks/devin.js +1 -0
  275. package/dist/model-marks/dify-color.js +1 -0
  276. package/dist/model-marks/dify.js +1 -0
  277. package/dist/model-marks/digitalocean.js +1 -0
  278. package/dist/model-marks/doc2x-color.js +1 -0
  279. package/dist/model-marks/doc2x.js +1 -0
  280. package/dist/model-marks/docsearch-color.js +1 -0
  281. package/dist/model-marks/docsearch.js +1 -0
  282. package/dist/model-marks/dolphin.js +1 -0
  283. package/dist/model-marks/dotsstudio.js +1 -0
  284. package/dist/model-marks/doubao-color.js +1 -0
  285. package/dist/model-marks/doubao.js +1 -0
  286. package/dist/model-marks/dreammachine.js +1 -0
  287. package/dist/model-marks/elevenlabs.js +1 -0
  288. package/dist/model-marks/elevenx.js +1 -0
  289. package/dist/model-marks/essentialai-color.js +1 -0
  290. package/dist/model-marks/essentialai.js +1 -0
  291. package/dist/model-marks/exa-color.js +1 -0
  292. package/dist/model-marks/exa.js +1 -0
  293. package/dist/model-marks/fal-color.js +1 -0
  294. package/dist/model-marks/fal.js +1 -0
  295. package/dist/model-marks/fastgpt-color.js +1 -0
  296. package/dist/model-marks/fastgpt.js +1 -0
  297. package/dist/model-marks/featherless-color.js +1 -0
  298. package/dist/model-marks/featherless.js +1 -0
  299. package/dist/model-marks/figma-color.js +1 -0
  300. package/dist/model-marks/figma.js +1 -0
  301. package/dist/model-marks/firecrawl-color.js +1 -0
  302. package/dist/model-marks/firecrawl.js +1 -0
  303. package/dist/model-marks/fireworks-color.js +1 -0
  304. package/dist/model-marks/fireworks.js +1 -0
  305. package/dist/model-marks/fishaudio.js +1 -0
  306. package/dist/model-marks/flora.js +1 -0
  307. package/dist/model-marks/flowith.js +1 -0
  308. package/dist/model-marks/flux.js +1 -0
  309. package/dist/model-marks/friendli.js +1 -0
  310. package/dist/model-marks/gemini-color.js +1 -0
  311. package/dist/model-marks/gemini.js +1 -0
  312. package/dist/model-marks/geminicli-color.js +1 -0
  313. package/dist/model-marks/geminicli.js +1 -0
  314. package/dist/model-marks/gemma-color.js +1 -0
  315. package/dist/model-marks/gemma.js +1 -0
  316. package/dist/model-marks/giteeai.js +1 -0
  317. package/dist/model-marks/github.js +1 -0
  318. package/dist/model-marks/githubcopilot.js +1 -0
  319. package/dist/model-marks/glama.js +1 -0
  320. package/dist/model-marks/glif.js +1 -0
  321. package/dist/model-marks/glmv-color.js +1 -0
  322. package/dist/model-marks/glmv.js +1 -0
  323. package/dist/model-marks/gmicloud.js +1 -0
  324. package/dist/model-marks/google-color.js +1 -0
  325. package/dist/model-marks/google.js +1 -0
  326. package/dist/model-marks/googlecloud-color.js +1 -0
  327. package/dist/model-marks/googlecloud.js +1 -0
  328. package/dist/model-marks/goose.js +1 -0
  329. package/dist/model-marks/gradio-color.js +1 -0
  330. package/dist/model-marks/gradio.js +1 -0
  331. package/dist/model-marks/greptile-color.js +1 -0
  332. package/dist/model-marks/greptile.js +1 -0
  333. package/dist/model-marks/grok.js +1 -0
  334. package/dist/model-marks/groq.js +1 -0
  335. package/dist/model-marks/hailuo-color.js +1 -0
  336. package/dist/model-marks/hailuo.js +1 -0
  337. package/dist/model-marks/haiper.js +1 -0
  338. package/dist/model-marks/happyhorse.js +1 -0
  339. package/dist/model-marks/hedra.js +1 -0
  340. package/dist/model-marks/hermesagent.js +1 -0
  341. package/dist/model-marks/higress-color.js +1 -0
  342. package/dist/model-marks/higress.js +1 -0
  343. package/dist/model-marks/huawei-color.js +1 -0
  344. package/dist/model-marks/huawei.js +1 -0
  345. package/dist/model-marks/huaweicloud-color.js +1 -0
  346. package/dist/model-marks/huaweicloud.js +1 -0
  347. package/dist/model-marks/huggingface-color.js +1 -0
  348. package/dist/model-marks/huggingface.js +1 -0
  349. package/dist/model-marks/hunyuan-color.js +1 -0
  350. package/dist/model-marks/hunyuan.js +1 -0
  351. package/dist/model-marks/hyperbolic-color.js +1 -0
  352. package/dist/model-marks/hyperbolic.js +1 -0
  353. package/dist/model-marks/ibm.js +1 -0
  354. package/dist/model-marks/ideogram.js +1 -0
  355. package/dist/model-marks/iflytekcloud-color.js +1 -0
  356. package/dist/model-marks/iflytekcloud.js +1 -0
  357. package/dist/model-marks/inception.js +1 -0
  358. package/dist/model-marks/inceptron-color.js +1 -0
  359. package/dist/model-marks/inceptron.js +1 -0
  360. package/dist/model-marks/inference.js +1 -0
  361. package/dist/model-marks/infermatic-color.js +1 -0
  362. package/dist/model-marks/infermatic.js +1 -0
  363. package/dist/model-marks/infinigence-color.js +1 -0
  364. package/dist/model-marks/infinigence.js +1 -0
  365. package/dist/model-marks/inflection.js +1 -0
  366. package/dist/model-marks/internlm-color.js +1 -0
  367. package/dist/model-marks/internlm.js +1 -0
  368. package/dist/model-marks/ionet.js +1 -0
  369. package/dist/model-marks/jimeng-color.js +1 -0
  370. package/dist/model-marks/jimeng.js +1 -0
  371. package/dist/model-marks/jina.js +1 -0
  372. package/dist/model-marks/junie-color.js +1 -0
  373. package/dist/model-marks/junie.js +1 -0
  374. package/dist/model-marks/kagi.js +1 -0
  375. package/dist/model-marks/kilocode.js +1 -0
  376. package/dist/model-marks/kimi-color.js +1 -0
  377. package/dist/model-marks/kimi.js +1 -0
  378. package/dist/model-marks/kiro-color.js +1 -0
  379. package/dist/model-marks/kiro.js +1 -0
  380. package/dist/model-marks/kling-color.js +1 -0
  381. package/dist/model-marks/kling.js +1 -0
  382. package/dist/model-marks/kluster-color.js +1 -0
  383. package/dist/model-marks/kluster.js +1 -0
  384. package/dist/model-marks/kolors-color.js +1 -0
  385. package/dist/model-marks/kolors.js +1 -0
  386. package/dist/model-marks/krea.js +1 -0
  387. package/dist/model-marks/kwaikat.js +1 -0
  388. package/dist/model-marks/kwaipilot-color.js +1 -0
  389. package/dist/model-marks/kwaipilot.js +1 -0
  390. package/dist/model-marks/lambda.js +1 -0
  391. package/dist/model-marks/langchain-color.js +1 -0
  392. package/dist/model-marks/langchain.js +1 -0
  393. package/dist/model-marks/langfuse-color.js +1 -0
  394. package/dist/model-marks/langfuse.js +1 -0
  395. package/dist/model-marks/langgraph-color.js +1 -0
  396. package/dist/model-marks/langgraph.js +1 -0
  397. package/dist/model-marks/langsmith-color.js +1 -0
  398. package/dist/model-marks/langsmith.js +1 -0
  399. package/dist/model-marks/leptonai-color.js +1 -0
  400. package/dist/model-marks/leptonai.js +1 -0
  401. package/dist/model-marks/lg-color.js +1 -0
  402. package/dist/model-marks/lg.js +1 -0
  403. package/dist/model-marks/lightricks.js +1 -0
  404. package/dist/model-marks/liquid.js +1 -0
  405. package/dist/model-marks/livekit-color.js +1 -0
  406. package/dist/model-marks/livekit.js +1 -0
  407. package/dist/model-marks/llamaindex-color.js +1 -0
  408. package/dist/model-marks/llamaindex.js +1 -0
  409. package/dist/model-marks/llava-color.js +1 -0
  410. package/dist/model-marks/llava.js +1 -0
  411. package/dist/model-marks/llmapi-color.js +1 -0
  412. package/dist/model-marks/llmapi.js +1 -0
  413. package/dist/model-marks/lmstudio.js +1 -0
  414. package/dist/model-marks/lobehub-color.js +1 -0
  415. package/dist/model-marks/lobehub.js +1 -0
  416. package/dist/model-marks/longcat-color.js +1 -0
  417. package/dist/model-marks/longcat.js +1 -0
  418. package/dist/model-marks/lovable-color.js +1 -0
  419. package/dist/model-marks/lovable.js +1 -0
  420. package/dist/model-marks/lovart.js +1 -0
  421. package/dist/model-marks/luma-color.js +1 -0
  422. package/dist/model-marks/luma.js +1 -0
  423. package/dist/model-marks/magic.js +1 -0
  424. package/dist/model-marks/make-color.js +1 -0
  425. package/dist/model-marks/make.js +1 -0
  426. package/dist/model-marks/manus.js +1 -0
  427. package/dist/model-marks/mastra.js +1 -0
  428. package/dist/model-marks/mcp.js +1 -0
  429. package/dist/model-marks/mcpso-color.js +1 -0
  430. package/dist/model-marks/mcpso.js +1 -0
  431. package/dist/model-marks/menlo-color.js +1 -0
  432. package/dist/model-marks/menlo.js +1 -0
  433. package/dist/model-marks/meshy-color.js +1 -0
  434. package/dist/model-marks/meshy.js +1 -0
  435. package/dist/model-marks/meta-color.js +1 -0
  436. package/dist/model-marks/meta.js +1 -0
  437. package/dist/model-marks/metaai-color.js +1 -0
  438. package/dist/model-marks/metaai.js +1 -0
  439. package/dist/model-marks/metagpt.js +1 -0
  440. package/dist/model-marks/microsoft-color.js +1 -0
  441. package/dist/model-marks/microsoft.js +1 -0
  442. package/dist/model-marks/midjourney.js +1 -0
  443. package/dist/model-marks/minimax-color.js +1 -0
  444. package/dist/model-marks/minimax.js +1 -0
  445. package/dist/model-marks/mistral-color.js +1 -0
  446. package/dist/model-marks/mistral.js +1 -0
  447. package/dist/model-marks/modelscope-color.js +1 -0
  448. package/dist/model-marks/modelscope.js +1 -0
  449. package/dist/model-marks/monica-color.js +1 -0
  450. package/dist/model-marks/monica.js +1 -0
  451. package/dist/model-marks/moonshot.js +1 -0
  452. package/dist/model-marks/morph-color.js +1 -0
  453. package/dist/model-marks/morph.js +1 -0
  454. package/dist/model-marks/moxt-color.js +1 -0
  455. package/dist/model-marks/moxt.js +1 -0
  456. package/dist/model-marks/myshell-color.js +1 -0
  457. package/dist/model-marks/myshell.js +1 -0
  458. package/dist/model-marks/n8n-color.js +1 -0
  459. package/dist/model-marks/n8n.js +1 -0
  460. package/dist/model-marks/nanobanana-color.js +1 -0
  461. package/dist/model-marks/nanobanana.js +1 -0
  462. package/dist/model-marks/nebius.js +1 -0
  463. package/dist/model-marks/newapi-color.js +1 -0
  464. package/dist/model-marks/newapi.js +1 -0
  465. package/dist/model-marks/nextbit-color.js +1 -0
  466. package/dist/model-marks/nextbit.js +1 -0
  467. package/dist/model-marks/notebooklm.js +1 -0
  468. package/dist/model-marks/notion.js +1 -0
  469. package/dist/model-marks/nousresearch.js +1 -0
  470. package/dist/model-marks/nova-color.js +1 -0
  471. package/dist/model-marks/nova.js +1 -0
  472. package/dist/model-marks/novelai.js +1 -0
  473. package/dist/model-marks/novita-color.js +1 -0
  474. package/dist/model-marks/novita.js +1 -0
  475. package/dist/model-marks/nplcloud-color.js +1 -0
  476. package/dist/model-marks/nplcloud.js +1 -0
  477. package/dist/model-marks/nvidia-color.js +1 -0
  478. package/dist/model-marks/nvidia.js +1 -0
  479. package/dist/model-marks/obsidian-color.js +1 -0
  480. package/dist/model-marks/obsidian.js +1 -0
  481. package/dist/model-marks/ollama.js +1 -0
  482. package/dist/model-marks/openai.js +1 -0
  483. package/dist/model-marks/openchat-color.js +1 -0
  484. package/dist/model-marks/openchat.js +1 -0
  485. package/dist/model-marks/openclaw-color.js +1 -0
  486. package/dist/model-marks/openclaw.js +1 -0
  487. package/dist/model-marks/opencode.js +1 -0
  488. package/dist/model-marks/openhands-color.js +1 -0
  489. package/dist/model-marks/openhands.js +1 -0
  490. package/dist/model-marks/openhuman.js +1 -0
  491. package/dist/model-marks/openrouter-color.js +1 -0
  492. package/dist/model-marks/openrouter.js +1 -0
  493. package/dist/model-marks/openwebui.js +1 -0
  494. package/dist/model-marks/palm-color.js +1 -0
  495. package/dist/model-marks/palm.js +1 -0
  496. package/dist/model-marks/parasail.js +1 -0
  497. package/dist/model-marks/perceptron.js +1 -0
  498. package/dist/model-marks/perplexity-color.js +1 -0
  499. package/dist/model-marks/perplexity.js +1 -0
  500. package/dist/model-marks/phala-color.js +1 -0
  501. package/dist/model-marks/phala.js +1 -0
  502. package/dist/model-marks/phidata-color.js +1 -0
  503. package/dist/model-marks/phidata.js +1 -0
  504. package/dist/model-marks/phind.js +1 -0
  505. package/dist/model-marks/pi.js +1 -0
  506. package/dist/model-marks/pika.js +1 -0
  507. package/dist/model-marks/pixverse-color.js +1 -0
  508. package/dist/model-marks/pixverse.js +1 -0
  509. package/dist/model-marks/player2-color.js +1 -0
  510. package/dist/model-marks/player2.js +1 -0
  511. package/dist/model-marks/poe-color.js +1 -0
  512. package/dist/model-marks/poe.js +1 -0
  513. package/dist/model-marks/pollinations.js +1 -0
  514. package/dist/model-marks/poolside-color.js +1 -0
  515. package/dist/model-marks/poolside.js +1 -0
  516. package/dist/model-marks/ppio-color.js +1 -0
  517. package/dist/model-marks/ppio.js +1 -0
  518. package/dist/model-marks/prunaai-color.js +1 -0
  519. package/dist/model-marks/prunaai.js +1 -0
  520. package/dist/model-marks/pydanticai-color.js +1 -0
  521. package/dist/model-marks/pydanticai.js +1 -0
  522. package/dist/model-marks/qingyan-color.js +1 -0
  523. package/dist/model-marks/qingyan.js +1 -0
  524. package/dist/model-marks/qiniu-color.js +1 -0
  525. package/dist/model-marks/qiniu.js +1 -0
  526. package/dist/model-marks/qoder-color.js +1 -0
  527. package/dist/model-marks/qoder.js +1 -0
  528. package/dist/model-marks/qwen-color.js +1 -0
  529. package/dist/model-marks/qwen.js +1 -0
  530. package/dist/model-marks/railway.js +1 -0
  531. package/dist/model-marks/recraft.js +1 -0
  532. package/dist/model-marks/reka.js +1 -0
  533. package/dist/model-marks/relace.js +1 -0
  534. package/dist/model-marks/replicate.js +1 -0
  535. package/dist/model-marks/replit-color.js +1 -0
  536. package/dist/model-marks/replit.js +1 -0
  537. package/dist/model-marks/reve.js +1 -0
  538. package/dist/model-marks/roocode.js +1 -0
  539. package/dist/model-marks/rsshub-color.js +1 -0
  540. package/dist/model-marks/rsshub.js +1 -0
  541. package/dist/model-marks/runway.js +1 -0
  542. package/dist/model-marks/rwkv-color.js +1 -0
  543. package/dist/model-marks/rwkv.js +1 -0
  544. package/dist/model-marks/sakana-color.js +1 -0
  545. package/dist/model-marks/sakana.js +1 -0
  546. package/dist/model-marks/sambanova-color.js +1 -0
  547. package/dist/model-marks/sambanova.js +1 -0
  548. package/dist/model-marks/search1api-color.js +1 -0
  549. package/dist/model-marks/search1api.js +1 -0
  550. package/dist/model-marks/searchapi.js +1 -0
  551. package/dist/model-marks/searxng-color.js +1 -0
  552. package/dist/model-marks/searxng.js +1 -0
  553. package/dist/model-marks/sensenova-color.js +1 -0
  554. package/dist/model-marks/sensenova.js +1 -0
  555. package/dist/model-marks/siliconcloud-color.js +1 -0
  556. package/dist/model-marks/siliconcloud.js +1 -0
  557. package/dist/model-marks/sillytavern-color.js +1 -0
  558. package/dist/model-marks/sillytavern.js +1 -0
  559. package/dist/model-marks/skywork-color.js +1 -0
  560. package/dist/model-marks/skywork.js +1 -0
  561. package/dist/model-marks/slock.js +1 -0
  562. package/dist/model-marks/smithery-color.js +1 -0
  563. package/dist/model-marks/smithery.js +1 -0
  564. package/dist/model-marks/snowflake-color.js +1 -0
  565. package/dist/model-marks/snowflake.js +1 -0
  566. package/dist/model-marks/sophnet-color.js +1 -0
  567. package/dist/model-marks/sophnet.js +1 -0
  568. package/dist/model-marks/sora-color.js +1 -0
  569. package/dist/model-marks/sora.js +1 -0
  570. package/dist/model-marks/spark-color.js +1 -0
  571. package/dist/model-marks/spark.js +1 -0
  572. package/dist/model-marks/speedai-color.js +1 -0
  573. package/dist/model-marks/speedai.js +1 -0
  574. package/dist/model-marks/stability-color.js +1 -0
  575. package/dist/model-marks/stability.js +1 -0
  576. package/dist/model-marks/statecloud-color.js +1 -0
  577. package/dist/model-marks/statecloud.js +1 -0
  578. package/dist/model-marks/stepfun-color.js +1 -0
  579. package/dist/model-marks/stepfun.js +1 -0
  580. package/dist/model-marks/straico-color.js +1 -0
  581. package/dist/model-marks/straico.js +1 -0
  582. package/dist/model-marks/streamlake-color.js +1 -0
  583. package/dist/model-marks/streamlake.js +1 -0
  584. package/dist/model-marks/submodel-color.js +1 -0
  585. package/dist/model-marks/submodel.js +1 -0
  586. package/dist/model-marks/suno.js +1 -0
  587. package/dist/model-marks/sync.js +1 -0
  588. package/dist/model-marks/targon-color.js +1 -0
  589. package/dist/model-marks/targon.js +1 -0
  590. package/dist/model-marks/tavily-color.js +1 -0
  591. package/dist/model-marks/tavily.js +1 -0
  592. package/dist/model-marks/tencent-color.js +1 -0
  593. package/dist/model-marks/tencent.js +1 -0
  594. package/dist/model-marks/tencentcloud-color.js +1 -0
  595. package/dist/model-marks/tencentcloud.js +1 -0
  596. package/dist/model-marks/tiangong-color.js +1 -0
  597. package/dist/model-marks/tiangong.js +1 -0
  598. package/dist/model-marks/tii-color.js +1 -0
  599. package/dist/model-marks/tii.js +1 -0
  600. package/dist/model-marks/together-color.js +1 -0
  601. package/dist/model-marks/together.js +1 -0
  602. package/dist/model-marks/topazlabs.js +1 -0
  603. package/dist/model-marks/trae-color.js +1 -0
  604. package/dist/model-marks/trae.js +1 -0
  605. package/dist/model-marks/tripo-color.js +1 -0
  606. package/dist/model-marks/tripo.js +1 -0
  607. package/dist/model-marks/turix.js +1 -0
  608. package/dist/model-marks/udio-color.js +1 -0
  609. package/dist/model-marks/udio.js +1 -0
  610. package/dist/model-marks/unionalpha-color.js +1 -0
  611. package/dist/model-marks/unionalpha.js +1 -0
  612. package/dist/model-marks/unsloth-color.js +1 -0
  613. package/dist/model-marks/unsloth.js +1 -0
  614. package/dist/model-marks/unstructured-color.js +1 -0
  615. package/dist/model-marks/unstructured.js +1 -0
  616. package/dist/model-marks/upstage-color.js +1 -0
  617. package/dist/model-marks/upstage.js +1 -0
  618. package/dist/model-marks/v0.js +1 -0
  619. package/dist/model-marks/vectorizerai.js +1 -0
  620. package/dist/model-marks/venice-color.js +1 -0
  621. package/dist/model-marks/venice.js +1 -0
  622. package/dist/model-marks/vercel.js +1 -0
  623. package/dist/model-marks/vertexai-color.js +1 -0
  624. package/dist/model-marks/vertexai.js +1 -0
  625. package/dist/model-marks/vidu-color.js +1 -0
  626. package/dist/model-marks/vidu.js +1 -0
  627. package/dist/model-marks/viggle.js +1 -0
  628. package/dist/model-marks/vllm-color.js +1 -0
  629. package/dist/model-marks/vllm.js +1 -0
  630. package/dist/model-marks/volcengine-color.js +1 -0
  631. package/dist/model-marks/volcengine.js +1 -0
  632. package/dist/model-marks/voyage-color.js +1 -0
  633. package/dist/model-marks/voyage.js +1 -0
  634. package/dist/model-marks/wafer.js +1 -0
  635. package/dist/model-marks/wandb-color.js +1 -0
  636. package/dist/model-marks/wandb.js +1 -0
  637. package/dist/model-marks/wavespeed.js +1 -0
  638. package/dist/model-marks/wenxin-color.js +1 -0
  639. package/dist/model-marks/wenxin.js +1 -0
  640. package/dist/model-marks/windsurf.js +1 -0
  641. package/dist/model-marks/workersai-color.js +1 -0
  642. package/dist/model-marks/workersai.js +1 -0
  643. package/dist/model-marks/worldrouter.js +1 -0
  644. package/dist/model-marks/xai.js +1 -0
  645. package/dist/model-marks/xiaomimimo.js +1 -0
  646. package/dist/model-marks/xinference-color.js +1 -0
  647. package/dist/model-marks/xinference.js +1 -0
  648. package/dist/model-marks/xpay-color.js +1 -0
  649. package/dist/model-marks/xpay.js +1 -0
  650. package/dist/model-marks/xuanyuan-color.js +1 -0
  651. package/dist/model-marks/xuanyuan.js +1 -0
  652. package/dist/model-marks/yandex.js +1 -0
  653. package/dist/model-marks/yi-color.js +1 -0
  654. package/dist/model-marks/yi.js +1 -0
  655. package/dist/model-marks/youmind.js +1 -0
  656. package/dist/model-marks/yuanbao-color.js +1 -0
  657. package/dist/model-marks/yuanbao.js +1 -0
  658. package/dist/model-marks/zai.js +1 -0
  659. package/dist/model-marks/zapier-color.js +1 -0
  660. package/dist/model-marks/zapier.js +1 -0
  661. package/dist/model-marks/zeabur-color.js +1 -0
  662. package/dist/model-marks/zeabur.js +1 -0
  663. package/dist/model-marks/zencoder-color.js +1 -0
  664. package/dist/model-marks/zencoder.js +1 -0
  665. package/dist/model-marks/zenmux.js +1 -0
  666. package/dist/model-marks/zeroone-color.js +1 -0
  667. package/dist/model-marks/zeroone.js +1 -0
  668. package/dist/model-marks/zhipu-color.js +1 -0
  669. package/dist/model-marks/zhipu.js +1 -0
  670. package/dist/standalone/index.js +1 -1
  671. package/dist/styles/components.css +13 -0
  672. package/package.json +6 -14
  673. package/LICENSES/MODEL-IDENTITY-ASSETS-NOTICE.txt +0 -28
  674. package/dist/assets/brand/aionlabs.svg +0 -2
  675. package/dist/assets/brand/airtable.svg +0 -2
  676. package/dist/assets/brand/apple.svg +0 -2
  677. package/dist/assets/brand/arcee.svg +0 -2
  678. package/dist/assets/brand/asana.svg +0 -2
  679. package/dist/assets/brand/atlassian.svg +0 -2
  680. package/dist/assets/brand/baidu.svg +0 -2
  681. package/dist/assets/brand/bytedance.svg +0 -2
  682. package/dist/assets/brand/claude.svg +0 -2
  683. package/dist/assets/brand/cohere.svg +0 -2
  684. package/dist/assets/brand/datadog.svg +0 -2
  685. package/dist/assets/brand/deepseek.svg +0 -2
  686. package/dist/assets/brand/discord.svg +0 -2
  687. package/dist/assets/brand/dolphin.svg +0 -2
  688. package/dist/assets/brand/dotsstudio.svg +0 -2
  689. package/dist/assets/brand/figma.svg +0 -2
  690. package/dist/assets/brand/gemini.svg +0 -2
  691. package/dist/assets/brand/github.svg +0 -2
  692. package/dist/assets/brand/gitlab.svg +0 -2
  693. package/dist/assets/brand/gmail.svg +0 -2
  694. package/dist/assets/brand/google-calendar.svg +0 -2
  695. package/dist/assets/brand/google-drive.svg +0 -2
  696. package/dist/assets/brand/google.svg +0 -2
  697. package/dist/assets/brand/grok.svg +0 -2
  698. package/dist/assets/brand/huggingface.svg +0 -2
  699. package/dist/assets/brand/ibm.svg +0 -2
  700. package/dist/assets/brand/inception.svg +0 -2
  701. package/dist/assets/brand/inclusionai.svg +0 -2
  702. package/dist/assets/brand/index.json +0 -798
  703. package/dist/assets/brand/inference.svg +0 -2
  704. package/dist/assets/brand/intercom.svg +0 -2
  705. package/dist/assets/brand/jira.svg +0 -2
  706. package/dist/assets/brand/kwaipilot.svg +0 -2
  707. package/dist/assets/brand/linear.svg +0 -2
  708. package/dist/assets/brand/linux.svg +0 -2
  709. package/dist/assets/brand/liquid.svg +0 -2
  710. package/dist/assets/brand/longcat.svg +0 -2
  711. package/dist/assets/brand/mattermost.svg +0 -2
  712. package/dist/assets/brand/meta.svg +0 -2
  713. package/dist/assets/brand/microsoft-teams.svg +0 -2
  714. package/dist/assets/brand/microsoft.svg +0 -2
  715. package/dist/assets/brand/minimax.svg +0 -2
  716. package/dist/assets/brand/mistral.svg +0 -2
  717. package/dist/assets/brand/moonshot.svg +0 -2
  718. package/dist/assets/brand/morph.svg +0 -2
  719. package/dist/assets/brand/n8n.svg +0 -2
  720. package/dist/assets/brand/netlify.svg +0 -2
  721. package/dist/assets/brand/nexagi.svg +0 -2
  722. package/dist/assets/brand/notion.svg +0 -2
  723. package/dist/assets/brand/nousresearch.svg +0 -2
  724. package/dist/assets/brand/nova.svg +0 -2
  725. package/dist/assets/brand/nvidia.svg +0 -2
  726. package/dist/assets/brand/openai.svg +0 -2
  727. package/dist/assets/brand/openrouter.svg +0 -2
  728. package/dist/assets/brand/paypal.svg +0 -2
  729. package/dist/assets/brand/perceptron.svg +0 -2
  730. package/dist/assets/brand/perplexity.svg +0 -2
  731. package/dist/assets/brand/poolside.svg +0 -2
  732. package/dist/assets/brand/postgresql.svg +0 -2
  733. package/dist/assets/brand/qwen.svg +0 -2
  734. package/dist/assets/brand/reka.svg +0 -2
  735. package/dist/assets/brand/relace.svg +0 -2
  736. package/dist/assets/brand/sakana.svg +0 -2
  737. package/dist/assets/brand/sentry.svg +0 -2
  738. package/dist/assets/brand/signal.svg +0 -2
  739. package/dist/assets/brand/slack.svg +0 -2
  740. package/dist/assets/brand/spotify.svg +0 -2
  741. package/dist/assets/brand/square.svg +0 -2
  742. package/dist/assets/brand/stepfun.svg +0 -2
  743. package/dist/assets/brand/stripe.svg +0 -2
  744. package/dist/assets/brand/supabase.svg +0 -2
  745. package/dist/assets/brand/telegram.svg +0 -2
  746. package/dist/assets/brand/tencent.svg +0 -2
  747. package/dist/assets/brand/the-drummer.svg +0 -2
  748. package/dist/assets/brand/thinkingmachines.svg +0 -2
  749. package/dist/assets/brand/todoist.svg +0 -2
  750. package/dist/assets/brand/unbiased.svg +0 -2
  751. package/dist/assets/brand/unreal-engine.svg +0 -2
  752. package/dist/assets/brand/upstage.svg +0 -2
  753. package/dist/assets/brand/vercel.svg +0 -2
  754. package/dist/assets/brand/webflow.svg +0 -2
  755. package/dist/assets/brand/whatsapp.svg +0 -2
  756. package/dist/assets/brand/windows.svg +0 -2
  757. package/dist/assets/brand/writer.svg +0 -2
  758. package/dist/assets/brand/xiaomimimo.svg +0 -2
  759. package/dist/assets/brand/youtube.svg +0 -2
  760. package/dist/assets/brand/yuanbao.svg +0 -2
  761. package/dist/assets/brand/zai.svg +0 -2
  762. package/dist/assets/brand/zapier.svg +0 -2
  763. package/dist/components/app-mark-aliases.d.ts +0 -16
  764. package/dist/components/app-mark-aliases.d.ts.map +0 -1
  765. package/dist/components/app-mark-aliases.js +0 -87
  766. package/dist/components/app-mark-frame.d.ts +0 -34
  767. package/dist/components/app-mark-frame.d.ts.map +0 -1
  768. package/dist/components/app-mark-frame.js +0 -37
  769. package/dist/components/app-mark-lazy/server.d.ts +0 -4
  770. package/dist/components/app-mark-lazy/server.d.ts.map +0 -1
  771. package/dist/components/app-mark-lazy/server.js +0 -8
  772. package/dist/components/app-mark-lazy.d.ts +0 -16
  773. package/dist/components/app-mark-lazy.d.ts.map +0 -1
  774. package/dist/components/app-mark-lazy.js +0 -85
  775. package/dist/components/brand-icons/aionlabs.d.ts +0 -18
  776. package/dist/components/brand-icons/aionlabs.d.ts.map +0 -1
  777. package/dist/components/brand-icons/aionlabs.js +0 -22
  778. package/dist/components/brand-icons/airtable.d.ts +0 -18
  779. package/dist/components/brand-icons/airtable.d.ts.map +0 -1
  780. package/dist/components/brand-icons/airtable.js +0 -22
  781. package/dist/components/brand-icons/apple.d.ts +0 -18
  782. package/dist/components/brand-icons/apple.d.ts.map +0 -1
  783. package/dist/components/brand-icons/apple.js +0 -22
  784. package/dist/components/brand-icons/arcee.d.ts +0 -18
  785. package/dist/components/brand-icons/arcee.d.ts.map +0 -1
  786. package/dist/components/brand-icons/arcee.js +0 -22
  787. package/dist/components/brand-icons/asana.d.ts +0 -18
  788. package/dist/components/brand-icons/asana.d.ts.map +0 -1
  789. package/dist/components/brand-icons/asana.js +0 -22
  790. package/dist/components/brand-icons/atlassian.d.ts +0 -18
  791. package/dist/components/brand-icons/atlassian.d.ts.map +0 -1
  792. package/dist/components/brand-icons/atlassian.js +0 -25
  793. package/dist/components/brand-icons/baidu.d.ts +0 -18
  794. package/dist/components/brand-icons/baidu.d.ts.map +0 -1
  795. package/dist/components/brand-icons/baidu.js +0 -22
  796. package/dist/components/brand-icons/brand-icon.d.ts +0 -22
  797. package/dist/components/brand-icons/brand-icon.d.ts.map +0 -1
  798. package/dist/components/brand-icons/brand-icon.js +0 -26
  799. package/dist/components/brand-icons/bytedance.d.ts +0 -18
  800. package/dist/components/brand-icons/bytedance.d.ts.map +0 -1
  801. package/dist/components/brand-icons/bytedance.js +0 -22
  802. package/dist/components/brand-icons/claude.d.ts +0 -18
  803. package/dist/components/brand-icons/claude.d.ts.map +0 -1
  804. package/dist/components/brand-icons/claude.js +0 -22
  805. package/dist/components/brand-icons/cohere.d.ts +0 -18
  806. package/dist/components/brand-icons/cohere.d.ts.map +0 -1
  807. package/dist/components/brand-icons/cohere.js +0 -22
  808. package/dist/components/brand-icons/datadog.d.ts +0 -18
  809. package/dist/components/brand-icons/datadog.d.ts.map +0 -1
  810. package/dist/components/brand-icons/datadog.js +0 -22
  811. package/dist/components/brand-icons/deepseek.d.ts +0 -18
  812. package/dist/components/brand-icons/deepseek.d.ts.map +0 -1
  813. package/dist/components/brand-icons/deepseek.js +0 -22
  814. package/dist/components/brand-icons/discord.d.ts +0 -18
  815. package/dist/components/brand-icons/discord.d.ts.map +0 -1
  816. package/dist/components/brand-icons/discord.js +0 -22
  817. package/dist/components/brand-icons/dolphin.d.ts +0 -18
  818. package/dist/components/brand-icons/dolphin.d.ts.map +0 -1
  819. package/dist/components/brand-icons/dolphin.js +0 -22
  820. package/dist/components/brand-icons/dotsstudio.d.ts +0 -18
  821. package/dist/components/brand-icons/dotsstudio.d.ts.map +0 -1
  822. package/dist/components/brand-icons/dotsstudio.js +0 -22
  823. package/dist/components/brand-icons/figma.d.ts +0 -18
  824. package/dist/components/brand-icons/figma.d.ts.map +0 -1
  825. package/dist/components/brand-icons/figma.js +0 -22
  826. package/dist/components/brand-icons/gemini.d.ts +0 -18
  827. package/dist/components/brand-icons/gemini.d.ts.map +0 -1
  828. package/dist/components/brand-icons/gemini.js +0 -25
  829. package/dist/components/brand-icons/github.d.ts +0 -18
  830. package/dist/components/brand-icons/github.d.ts.map +0 -1
  831. package/dist/components/brand-icons/github.js +0 -22
  832. package/dist/components/brand-icons/gitlab.d.ts +0 -18
  833. package/dist/components/brand-icons/gitlab.d.ts.map +0 -1
  834. package/dist/components/brand-icons/gitlab.js +0 -22
  835. package/dist/components/brand-icons/gmail.d.ts +0 -18
  836. package/dist/components/brand-icons/gmail.d.ts.map +0 -1
  837. package/dist/components/brand-icons/gmail.js +0 -25
  838. package/dist/components/brand-icons/google-calendar.d.ts +0 -18
  839. package/dist/components/brand-icons/google-calendar.d.ts.map +0 -1
  840. package/dist/components/brand-icons/google-calendar.js +0 -25
  841. package/dist/components/brand-icons/google-drive.d.ts +0 -18
  842. package/dist/components/brand-icons/google-drive.d.ts.map +0 -1
  843. package/dist/components/brand-icons/google-drive.js +0 -25
  844. package/dist/components/brand-icons/google.d.ts +0 -18
  845. package/dist/components/brand-icons/google.d.ts.map +0 -1
  846. package/dist/components/brand-icons/google.js +0 -22
  847. package/dist/components/brand-icons/grok.d.ts +0 -18
  848. package/dist/components/brand-icons/grok.d.ts.map +0 -1
  849. package/dist/components/brand-icons/grok.js +0 -22
  850. package/dist/components/brand-icons/huggingface.d.ts +0 -18
  851. package/dist/components/brand-icons/huggingface.d.ts.map +0 -1
  852. package/dist/components/brand-icons/huggingface.js +0 -22
  853. package/dist/components/brand-icons/ibm.d.ts +0 -18
  854. package/dist/components/brand-icons/ibm.d.ts.map +0 -1
  855. package/dist/components/brand-icons/ibm.js +0 -22
  856. package/dist/components/brand-icons/inception.d.ts +0 -18
  857. package/dist/components/brand-icons/inception.d.ts.map +0 -1
  858. package/dist/components/brand-icons/inception.js +0 -22
  859. package/dist/components/brand-icons/inclusionai.d.ts +0 -13
  860. package/dist/components/brand-icons/inclusionai.d.ts.map +0 -1
  861. package/dist/components/brand-icons/inclusionai.js +0 -18
  862. package/dist/components/brand-icons/inference.d.ts +0 -18
  863. package/dist/components/brand-icons/inference.d.ts.map +0 -1
  864. package/dist/components/brand-icons/inference.js +0 -22
  865. package/dist/components/brand-icons/intercom.d.ts +0 -18
  866. package/dist/components/brand-icons/intercom.d.ts.map +0 -1
  867. package/dist/components/brand-icons/intercom.js +0 -22
  868. package/dist/components/brand-icons/jira.d.ts +0 -18
  869. package/dist/components/brand-icons/jira.d.ts.map +0 -1
  870. package/dist/components/brand-icons/jira.js +0 -25
  871. package/dist/components/brand-icons/kwaipilot.d.ts +0 -18
  872. package/dist/components/brand-icons/kwaipilot.d.ts.map +0 -1
  873. package/dist/components/brand-icons/kwaipilot.js +0 -25
  874. package/dist/components/brand-icons/linear.d.ts +0 -18
  875. package/dist/components/brand-icons/linear.d.ts.map +0 -1
  876. package/dist/components/brand-icons/linear.js +0 -22
  877. package/dist/components/brand-icons/linux.d.ts +0 -18
  878. package/dist/components/brand-icons/linux.d.ts.map +0 -1
  879. package/dist/components/brand-icons/linux.js +0 -25
  880. package/dist/components/brand-icons/liquid.d.ts +0 -18
  881. package/dist/components/brand-icons/liquid.d.ts.map +0 -1
  882. package/dist/components/brand-icons/liquid.js +0 -22
  883. package/dist/components/brand-icons/longcat.d.ts +0 -18
  884. package/dist/components/brand-icons/longcat.d.ts.map +0 -1
  885. package/dist/components/brand-icons/longcat.js +0 -22
  886. package/dist/components/brand-icons/mattermost.d.ts +0 -18
  887. package/dist/components/brand-icons/mattermost.d.ts.map +0 -1
  888. package/dist/components/brand-icons/mattermost.js +0 -22
  889. package/dist/components/brand-icons/meta.d.ts +0 -18
  890. package/dist/components/brand-icons/meta.d.ts.map +0 -1
  891. package/dist/components/brand-icons/meta.js +0 -25
  892. package/dist/components/brand-icons/microsoft-teams.d.ts +0 -18
  893. package/dist/components/brand-icons/microsoft-teams.d.ts.map +0 -1
  894. package/dist/components/brand-icons/microsoft-teams.js +0 -25
  895. package/dist/components/brand-icons/microsoft.d.ts +0 -18
  896. package/dist/components/brand-icons/microsoft.d.ts.map +0 -1
  897. package/dist/components/brand-icons/microsoft.js +0 -22
  898. package/dist/components/brand-icons/minimax.d.ts +0 -18
  899. package/dist/components/brand-icons/minimax.d.ts.map +0 -1
  900. package/dist/components/brand-icons/minimax.js +0 -25
  901. package/dist/components/brand-icons/mistral.d.ts +0 -18
  902. package/dist/components/brand-icons/mistral.d.ts.map +0 -1
  903. package/dist/components/brand-icons/mistral.js +0 -22
  904. package/dist/components/brand-icons/moonshot.d.ts +0 -18
  905. package/dist/components/brand-icons/moonshot.d.ts.map +0 -1
  906. package/dist/components/brand-icons/moonshot.js +0 -22
  907. package/dist/components/brand-icons/morph.d.ts +0 -18
  908. package/dist/components/brand-icons/morph.d.ts.map +0 -1
  909. package/dist/components/brand-icons/morph.js +0 -22
  910. package/dist/components/brand-icons/n8n.d.ts +0 -18
  911. package/dist/components/brand-icons/n8n.d.ts.map +0 -1
  912. package/dist/components/brand-icons/n8n.js +0 -22
  913. package/dist/components/brand-icons/netlify.d.ts +0 -18
  914. package/dist/components/brand-icons/netlify.d.ts.map +0 -1
  915. package/dist/components/brand-icons/netlify.js +0 -22
  916. package/dist/components/brand-icons/nexagi.d.ts +0 -18
  917. package/dist/components/brand-icons/nexagi.d.ts.map +0 -1
  918. package/dist/components/brand-icons/nexagi.js +0 -22
  919. package/dist/components/brand-icons/notion.d.ts +0 -18
  920. package/dist/components/brand-icons/notion.d.ts.map +0 -1
  921. package/dist/components/brand-icons/notion.js +0 -22
  922. package/dist/components/brand-icons/nousresearch.d.ts +0 -18
  923. package/dist/components/brand-icons/nousresearch.d.ts.map +0 -1
  924. package/dist/components/brand-icons/nousresearch.js +0 -22
  925. package/dist/components/brand-icons/nova.d.ts +0 -18
  926. package/dist/components/brand-icons/nova.d.ts.map +0 -1
  927. package/dist/components/brand-icons/nova.js +0 -25
  928. package/dist/components/brand-icons/nvidia.d.ts +0 -18
  929. package/dist/components/brand-icons/nvidia.d.ts.map +0 -1
  930. package/dist/components/brand-icons/nvidia.js +0 -22
  931. package/dist/components/brand-icons/openai.d.ts +0 -18
  932. package/dist/components/brand-icons/openai.d.ts.map +0 -1
  933. package/dist/components/brand-icons/openai.js +0 -22
  934. package/dist/components/brand-icons/openrouter.d.ts +0 -18
  935. package/dist/components/brand-icons/openrouter.d.ts.map +0 -1
  936. package/dist/components/brand-icons/openrouter.js +0 -22
  937. package/dist/components/brand-icons/paypal.d.ts +0 -18
  938. package/dist/components/brand-icons/paypal.d.ts.map +0 -1
  939. package/dist/components/brand-icons/paypal.js +0 -22
  940. package/dist/components/brand-icons/perceptron.d.ts +0 -18
  941. package/dist/components/brand-icons/perceptron.d.ts.map +0 -1
  942. package/dist/components/brand-icons/perceptron.js +0 -22
  943. package/dist/components/brand-icons/perplexity.d.ts +0 -18
  944. package/dist/components/brand-icons/perplexity.d.ts.map +0 -1
  945. package/dist/components/brand-icons/perplexity.js +0 -22
  946. package/dist/components/brand-icons/poolside.d.ts +0 -18
  947. package/dist/components/brand-icons/poolside.d.ts.map +0 -1
  948. package/dist/components/brand-icons/poolside.js +0 -25
  949. package/dist/components/brand-icons/postgresql.d.ts +0 -18
  950. package/dist/components/brand-icons/postgresql.d.ts.map +0 -1
  951. package/dist/components/brand-icons/postgresql.js +0 -22
  952. package/dist/components/brand-icons/qwen.d.ts +0 -18
  953. package/dist/components/brand-icons/qwen.d.ts.map +0 -1
  954. package/dist/components/brand-icons/qwen.js +0 -25
  955. package/dist/components/brand-icons/reka.d.ts +0 -18
  956. package/dist/components/brand-icons/reka.d.ts.map +0 -1
  957. package/dist/components/brand-icons/reka.js +0 -22
  958. package/dist/components/brand-icons/relace.d.ts +0 -18
  959. package/dist/components/brand-icons/relace.d.ts.map +0 -1
  960. package/dist/components/brand-icons/relace.js +0 -22
  961. package/dist/components/brand-icons/sakana.d.ts +0 -18
  962. package/dist/components/brand-icons/sakana.d.ts.map +0 -1
  963. package/dist/components/brand-icons/sakana.js +0 -22
  964. package/dist/components/brand-icons/sentry.d.ts +0 -18
  965. package/dist/components/brand-icons/sentry.d.ts.map +0 -1
  966. package/dist/components/brand-icons/sentry.js +0 -22
  967. package/dist/components/brand-icons/signal.d.ts +0 -18
  968. package/dist/components/brand-icons/signal.d.ts.map +0 -1
  969. package/dist/components/brand-icons/signal.js +0 -22
  970. package/dist/components/brand-icons/slack.d.ts +0 -18
  971. package/dist/components/brand-icons/slack.d.ts.map +0 -1
  972. package/dist/components/brand-icons/slack.js +0 -22
  973. package/dist/components/brand-icons/spotify.d.ts +0 -18
  974. package/dist/components/brand-icons/spotify.d.ts.map +0 -1
  975. package/dist/components/brand-icons/spotify.js +0 -22
  976. package/dist/components/brand-icons/square.d.ts +0 -18
  977. package/dist/components/brand-icons/square.d.ts.map +0 -1
  978. package/dist/components/brand-icons/square.js +0 -22
  979. package/dist/components/brand-icons/stepfun.d.ts +0 -18
  980. package/dist/components/brand-icons/stepfun.d.ts.map +0 -1
  981. package/dist/components/brand-icons/stepfun.js +0 -25
  982. package/dist/components/brand-icons/stripe.d.ts +0 -18
  983. package/dist/components/brand-icons/stripe.d.ts.map +0 -1
  984. package/dist/components/brand-icons/stripe.js +0 -22
  985. package/dist/components/brand-icons/supabase.d.ts +0 -18
  986. package/dist/components/brand-icons/supabase.d.ts.map +0 -1
  987. package/dist/components/brand-icons/supabase.js +0 -25
  988. package/dist/components/brand-icons/telegram.d.ts +0 -18
  989. package/dist/components/brand-icons/telegram.d.ts.map +0 -1
  990. package/dist/components/brand-icons/telegram.js +0 -25
  991. package/dist/components/brand-icons/tencent.d.ts +0 -18
  992. package/dist/components/brand-icons/tencent.d.ts.map +0 -1
  993. package/dist/components/brand-icons/tencent.js +0 -22
  994. package/dist/components/brand-icons/the-drummer.d.ts +0 -13
  995. package/dist/components/brand-icons/the-drummer.d.ts.map +0 -1
  996. package/dist/components/brand-icons/the-drummer.js +0 -18
  997. package/dist/components/brand-icons/thinkingmachines.d.ts +0 -13
  998. package/dist/components/brand-icons/thinkingmachines.d.ts.map +0 -1
  999. package/dist/components/brand-icons/thinkingmachines.js +0 -18
  1000. package/dist/components/brand-icons/todoist.d.ts +0 -18
  1001. package/dist/components/brand-icons/todoist.d.ts.map +0 -1
  1002. package/dist/components/brand-icons/todoist.js +0 -22
  1003. package/dist/components/brand-icons/unbiased.d.ts +0 -13
  1004. package/dist/components/brand-icons/unbiased.d.ts.map +0 -1
  1005. package/dist/components/brand-icons/unbiased.js +0 -18
  1006. package/dist/components/brand-icons/unreal-engine.d.ts +0 -18
  1007. package/dist/components/brand-icons/unreal-engine.d.ts.map +0 -1
  1008. package/dist/components/brand-icons/unreal-engine.js +0 -22
  1009. package/dist/components/brand-icons/upstage.d.ts +0 -18
  1010. package/dist/components/brand-icons/upstage.d.ts.map +0 -1
  1011. package/dist/components/brand-icons/upstage.js +0 -25
  1012. package/dist/components/brand-icons/vercel.d.ts +0 -18
  1013. package/dist/components/brand-icons/vercel.d.ts.map +0 -1
  1014. package/dist/components/brand-icons/vercel.js +0 -22
  1015. package/dist/components/brand-icons/webflow.d.ts +0 -18
  1016. package/dist/components/brand-icons/webflow.d.ts.map +0 -1
  1017. package/dist/components/brand-icons/webflow.js +0 -22
  1018. package/dist/components/brand-icons/whatsapp.d.ts +0 -18
  1019. package/dist/components/brand-icons/whatsapp.d.ts.map +0 -1
  1020. package/dist/components/brand-icons/whatsapp.js +0 -25
  1021. package/dist/components/brand-icons/windows.d.ts +0 -18
  1022. package/dist/components/brand-icons/windows.d.ts.map +0 -1
  1023. package/dist/components/brand-icons/windows.js +0 -22
  1024. package/dist/components/brand-icons/writer.d.ts +0 -13
  1025. package/dist/components/brand-icons/writer.d.ts.map +0 -1
  1026. package/dist/components/brand-icons/writer.js +0 -18
  1027. package/dist/components/brand-icons/xiaomimimo.d.ts +0 -18
  1028. package/dist/components/brand-icons/xiaomimimo.d.ts.map +0 -1
  1029. package/dist/components/brand-icons/xiaomimimo.js +0 -22
  1030. package/dist/components/brand-icons/youtube.d.ts +0 -18
  1031. package/dist/components/brand-icons/youtube.d.ts.map +0 -1
  1032. package/dist/components/brand-icons/youtube.js +0 -22
  1033. package/dist/components/brand-icons/yuanbao.d.ts +0 -18
  1034. package/dist/components/brand-icons/yuanbao.d.ts.map +0 -1
  1035. package/dist/components/brand-icons/yuanbao.js +0 -22
  1036. package/dist/components/brand-icons/zai.d.ts +0 -18
  1037. package/dist/components/brand-icons/zai.d.ts.map +0 -1
  1038. package/dist/components/brand-icons/zai.js +0 -22
  1039. package/dist/components/brand-icons/zapier.d.ts +0 -18
  1040. package/dist/components/brand-icons/zapier.d.ts.map +0 -1
  1041. package/dist/components/brand-icons/zapier.js +0 -22
  1042. package/dist/components/brand-icons.d.ts +0 -90
  1043. package/dist/components/brand-icons.d.ts.map +0 -1
  1044. package/dist/components/brand-icons.js +0 -95
  1045. package/dist/components/empty.d.ts +0 -15
  1046. package/dist/components/empty.d.ts.map +0 -1
  1047. package/dist/components/empty.js +0 -33
  1048. package/dist/internal/object-identity-support.d.ts +0 -6
  1049. package/dist/internal/object-identity-support.d.ts.map +0 -1
  1050. package/dist/internal/object-identity-support.js +0 -10
package/AGENTS.md CHANGED
@@ -12,9 +12,11 @@ package is kept.
12
12
  - **Styling.** A component uses the semantic roles and the generated tokens, and
13
13
  nothing else: no raw colour, no `dark:` utility, no mode branch, no second
14
14
  token vocabulary. A new value is added to `DESIGN.md` first.
15
- - **Placement.** This package holds what at least two products use; what one
16
- product alone needs lives in that product. A component admitted without a
17
- consumer, or left unconsumed after the migration it was built for, is removed.
15
+ - **Placement.** Every reusable component lives here, even while one product
16
+ alone uses it, so each product draws the design system from one source; a
17
+ product keeps only its own pages, data, routing and copy. A component admitted
18
+ without a consumer, or left unconsumed after the migration it was built for,
19
+ is removed.
18
20
  - **Boundaries.** The package owns presentation. Apps own routing, auth, data,
19
21
  server actions, runtime adapters, permissions and copy. Apps change a
20
22
  component's appearance only through its typed variants and slots; a new
@@ -24,14 +26,18 @@ package is kept.
24
26
  primitive base: no Radix or vaul, and `cmdk` only for the stock Command. A
25
27
  shadcn block named in a task (`dashboard-01`, `login-02`) is used as that
26
28
  registry item. Auth screens start from their shadcn block in the app; this
27
- package ships no auth abstraction.
29
+ package ships no auth abstraction. A value or function an app's server code
30
+ calls lives in a module without `"use client"`, and only the Portal's
31
+ production build (`npm run build -w @nadicodeai/portal`) proves it.
28
32
  - **Agents.** `@nadicodeai/ui/agents` re-exports assistant-ui and our reviewed
29
33
  compositions; `@nadicodeai/ui/agent-orb` is the React-free entry a native
30
34
  startup screen paints an orb with before React loads.
31
- - **Brand marks** are generated, never drawn or edited by hand: add a brand to
32
- the allow-list in `scripts/build-brand-icons.mjs` and run
33
- `npm run generate:brand-icons -w @nadicodeai/ui`. Every upstream travels with
34
- its licence in `LICENSES/` and `NOTICE`.
35
+ - **Brand marks** come by name from the catalogue each kind belongs to, never
36
+ drawn or listed here: an app's logo is the URL Composio gives its toolkit
37
+ (`composioLogo`), a model maker's mark is LobeHub's set looked up by the
38
+ maker's name (`model-mark.tsx` holds the one table of names that differ), and
39
+ an operating system, a messaging channel or a sign-in provider is its icon in
40
+ Iconify's `logos` set (`platform-mark.tsx`).
35
41
  - **Charts** are stock shadcn registry items; the deliberate deviations are held
36
42
  by `tests/guards/chart-kit.test.ts`. A chart the kit lacks is pulled from
37
43
  `https://ui.shadcn.com/r/styles/new-york-v4/<name>.json`.
package/NOTICE CHANGED
@@ -8,8 +8,8 @@ Licensed under the MIT License; the full text ships as
8
8
  LICENSES/THINKING-ORBS-MIT.txt. The copy in src/internal/agent-orb.ts keeps each
9
9
  dot's lane through the depth sort, so Nadia's striped ribbon holds its stripes.
10
10
 
11
- @nadicodeai/ui includes model-maker and model-family marks from the LobeHub icon
12
- set, generated from @lobehub/icons-static-svg 1.95.1.
11
+ @nadicodeai/ui includes the model-maker and model-family marks of the LobeHub
12
+ icon set, from @lobehub/icons-static-svg.
13
13
 
14
14
  LobeHub
15
15
  Copyright (c) 2023 LobeHub
@@ -17,15 +17,9 @@ Copyright (c) 2023 LobeHub
17
17
  Licensed under the MIT License; the full text ships as
18
18
  LICENSES/LOBEHUB-ICONS-MIT.txt.
19
19
 
20
- The marks name the maker of a model the product reports, and nothing else. They
21
- are generated by scripts/build-brand-icons.mjs into src/components/brand-icons/,
22
- so a hand edit there is lost; the allow-list in that script names the marks the
23
- package ships.
24
-
25
- @nadicodeai/ui also includes six published model-identity assets whose exact
26
- source URLs and nominative-use terms are recorded in
27
- LICENSES/MODEL-IDENTITY-ASSETS-NOTICE.txt. They identify the author or model
28
- family reported by the product and do not imply endorsement or partnership.
20
+ The marks name the maker of a model the product reports, and nothing else.
21
+ scripts/build-model-marks.mjs writes every mark of the set into
22
+ dist/model-marks/, one module per mark, when the package is built.
29
23
 
30
24
  @nadicodeai/ui includes a modified CalendarHeatmap from shadcn-heatmap.
31
25
 
package/README.md CHANGED
@@ -71,23 +71,15 @@ form-control family.
71
71
 
72
72
  ## Icons as files
73
73
 
74
- The same icons ship as SVG files for a consumer that renders without React:
75
-
76
- | What | Path |
77
- | --- | --- |
78
- | Third-party brand marks | `@nadicodeai/ui/assets/brand/<slug>.svg` |
79
- | Their index, with each mark's aliases | `@nadicodeai/ui/assets/brand/index.json` |
80
- | Lucide under the house render, and the house's three icons | `@nadicodeai/design-system/icons/<name>.svg` |
81
-
82
- To resolve an app name the way `AppMark` does, lowercase it and keep letters and
83
- digits, take an exact alias match, and otherwise the longest alias the name
84
- contains. A name that matches nothing has no mark: show its initial.
85
-
86
- `AppMark` carries every mark in its module. A client component that can draw any
87
- app takes `LazyAppMark` from `@nadicodeai/ui/components/app-mark-lazy` instead:
88
- in the browser each mark's module loads on first use, and outside it (the
89
- package's `browser` export condition decides) the mark is drawn at once, so
90
- server-rendered HTML already holds it and hydration keeps it on screen.
74
+ Lucide under the house render, and the house's three icons, ship as SVG files
75
+ for a consumer that renders without React:
76
+ `@nadicodeai/design-system/icons/<name>.svg`.
77
+
78
+ ## Brand marks
79
+
80
+ `AppMark` draws a Composio toolkit's logo from Composio's own address, so a
81
+ page that shows one allows `https://logos.composio.dev` in its `img-src`.
82
+ `ModelMark` and `PlatformMark` ship their artwork in the package.
91
83
 
92
84
  ## Build
93
85
 
@@ -0,0 +1,86 @@
1
+ import { Select as SelectPrimitive } from "@base-ui/react/select";
2
+ import type { ComponentProps, ReactNode, Ref } from "react";
3
+ import type { AgentOrbSize } from "./agent-orb.js";
4
+ import { type PageActionsProps } from "./page-actions.js";
5
+ import { RadioGroup } from "./radio-group.js";
6
+ import { type StatusBadgeTone } from "./status-badge.js";
7
+ /** A fact on the card whose label stays in place when its value is missing. */
8
+ export type AgentProfileFact = {
9
+ label: string;
10
+ value?: string | null;
11
+ missingLabel: string;
12
+ };
13
+ export type AgentProfileCardProps = {
14
+ /** Draws the Agent's orb at the size the card gives it. */
15
+ orb: (size: AgentOrbSize) => ReactNode;
16
+ name: string;
17
+ /** What she does, in one line: her description. */
18
+ description?: string;
19
+ descriptionMissingLabel: string;
20
+ /**
21
+ * The ghost pencil beside her name, which opens the product's edit drawer.
22
+ * Absent where the person cannot change her name or description.
23
+ */
24
+ edit?: {
25
+ label: string;
26
+ onClick: () => void;
27
+ ref?: Ref<HTMLButtonElement>;
28
+ } | undefined;
29
+ state: {
30
+ label: string;
31
+ tone: StatusBadgeTone;
32
+ text: string;
33
+ };
34
+ /** When she last did something the product can see, already worded. */
35
+ activity: AgentProfileFact;
36
+ /** The Agent template she was made from. */
37
+ origin: AgentProfileFact;
38
+ /** The right column: her model and her reasoning. */
39
+ settings?: ReactNode;
40
+ /** The card's Save, in its footer; a card with nothing to save has no footer. */
41
+ footer?: ReactNode;
42
+ footerHint?: ReactNode;
43
+ /**
44
+ * The page's commands where the product's chrome has no place for them, at
45
+ * the trailing edge of her name's row.
46
+ */
47
+ actions?: PageActionsProps | undefined;
48
+ /** Her name is the page's h1, with these attributes. */
49
+ headingProps?: Omit<ComponentProps<"h1">, "children">;
50
+ };
51
+ /**
52
+ * The card an Agent's Profile opens with in every product (DESIGN.md, "Page
53
+ * compositions"): on the left her orb at 64, her name with the pencil that
54
+ * edits it, her description and her facts; on the right her model and her
55
+ * reasoning, saved from the card's footer. Each product brings its own data,
56
+ * fields and words; the shape, sizes and order are this component's.
57
+ */
58
+ export declare function AgentProfileCard({ orb, name, description, descriptionMissingLabel, edit, state, activity, origin, settings, footer, footerHint, actions, headingProps, }: AgentProfileCardProps): import("react").JSX.Element;
59
+ export type ModelSelectProps = Omit<ComponentProps<typeof SelectPrimitive.Trigger>, "children" | "value" | "onChange"> & {
60
+ /** The chosen model's id; `null` until one is chosen. */
61
+ value: string | null;
62
+ /** The model ids offered, each read with its maker's mark. */
63
+ options: readonly string[];
64
+ onValueChange: (model: string) => void;
65
+ /** What the trigger reads while no model is chosen. */
66
+ placeholder: string;
67
+ };
68
+ /**
69
+ * A model chosen from a list: the trigger and every option read the model the
70
+ * way every surface does, with its maker's mark (`ModelIdentity`).
71
+ */
72
+ export declare function ModelSelect({ value, options, onValueChange, placeholder, disabled, className, ...props }: ModelSelectProps): import("react").JSX.Element;
73
+ export type SegmentedChoiceProps<Choice extends string> = Omit<ComponentProps<typeof RadioGroup>, "children" | "defaultValue" | "onValueChange" | "value"> & {
74
+ value: Choice | null;
75
+ options: readonly {
76
+ value: Choice;
77
+ label: string;
78
+ }[];
79
+ onValueChange: (value: Choice) => void;
80
+ };
81
+ /**
82
+ * One choice among a few short levels, drawn as segments that share a row,
83
+ * such as an Agent's reasoning: Default, Low, Medium, High.
84
+ */
85
+ export declare function SegmentedChoice<Choice extends string>({ value, options, onValueChange, disabled, className, ...props }: SegmentedChoiceProps<Choice>): import("react").JSX.Element;
86
+ //# sourceMappingURL=agent-profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-profile.d.ts","sourceRoot":"","sources":["../../src/components/agent-profile.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAK5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIhD,OAAO,EAAkB,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAMnE,+EAA+E;AAC/E,MAAM,MAAM,gBAAgB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9F,MAAM,MAAM,qBAAqB,GAAG;IAClC,2DAA2D;IAC3D,GAAG,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,SAAS,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uBAAuB,EAAE,MAAM,CAAC;IAChC;;;OAGG;IACH,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,IAAI,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;KAAE,GAAG,SAAS,CAAC;IACxF,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,eAAe,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9D,uEAAuE;IACvE,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,4CAA4C;IAC5C,MAAM,EAAE,gBAAgB,CAAC;IACzB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iFAAiF;IACjF,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;;OAGG;IACH,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACvC,wDAAwD;IACxD,YAAY,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;CACvD,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,GAAG,EACH,IAAI,EACJ,WAAW,EACX,uBAAuB,EACvB,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,MAAM,EACN,UAAU,EACV,OAAO,EACP,YAAY,GACb,EAAE,qBAAqB,+BAqFvB;AAED,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,EAC9C,UAAU,GAAG,OAAO,GAAG,UAAU,CAClC,GAAG;IACF,yDAAyD;IACzD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,8DAA8D;IAC9D,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,OAAO,EACP,aAAa,EACb,WAAW,EACX,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,gBAAgB,+BAkClB;AAED,MAAM,MAAM,oBAAoB,CAAC,MAAM,SAAS,MAAM,IAAI,IAAI,CAC5D,cAAc,CAAC,OAAO,UAAU,CAAC,EACjC,UAAU,GAAG,cAAc,GAAG,eAAe,GAAG,OAAO,CACxD,GAAG;IACF,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,SAAS;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACrD,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,SAAS,MAAM,EAAE,EACrD,KAAK,EACL,OAAO,EACP,aAAa,EACb,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,oBAAoB,CAAC,MAAM,CAAC,+BA8B9B"}
@@ -0,0 +1,60 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Radio as RadioPrimitive } from "@base-ui/react/radio";
4
+ import { Select as SelectPrimitive } from "@base-ui/react/select";
5
+ import { PencilIcon } from "lucide-react";
6
+ import { FooterStrip } from "../internal/footer-strip.js";
7
+ import { cn } from "../lib/utils.js";
8
+ import { Button } from "./button.js";
9
+ import { Card, CardContent } from "./card.js";
10
+ import { ModelIdentity } from "./model-identity.js";
11
+ import { PageActionsRow } from "./page-actions.js";
12
+ import { RadioGroup } from "./radio-group.js";
13
+ import { Select, SelectContent, SelectGroup, SelectItem, SelectTrigger } from "./select.js";
14
+ import { StatusBadge } from "./status-badge.js";
15
+ import { TableValue } from "./table-value.js";
16
+ import { toggleVariants } from "./toggle.js";
17
+ const AGENT_PROFILE_ORB_SIZE = 64;
18
+ /**
19
+ * The card an Agent's Profile opens with in every product (DESIGN.md, "Page
20
+ * compositions"): on the left her orb at 64, her name with the pencil that
21
+ * edits it, her description and her facts; on the right her model and her
22
+ * reasoning, saved from the card's footer. Each product brings its own data,
23
+ * fields and words; the shape, sizes and order are this component's.
24
+ */
25
+ export function AgentProfileCard({ orb, name, description, descriptionMissingLabel, edit, state, activity, origin, settings, footer, footerHint, actions, headingProps, }) {
26
+ const facts = [
27
+ { label: state.label, value: _jsx(StatusBadge, { label: state.text, tone: state.tone }) },
28
+ {
29
+ label: activity.label,
30
+ value: _jsx(TableValue, { missingLabel: activity.missingLabel, value: activity.value }),
31
+ },
32
+ {
33
+ label: origin.label,
34
+ value: _jsx(TableValue, { missingLabel: origin.missingLabel, value: origin.value }),
35
+ },
36
+ ];
37
+ const text = description?.trim();
38
+ return (_jsxs(Card, { className: "@container/agent-profile min-w-0", render: _jsx("section", { "aria-labelledby": headingProps?.id }), "data-slot": "agent-profile", children: [_jsxs(CardContent, { className: "grid min-w-0 gap-nadicode-lg @3xl/agent-profile:grid-cols-[minmax(0,1fr)_minmax(18rem,22rem)] @3xl/agent-profile:gap-nadicode-xl", children: [_jsxs("div", { className: "grid min-w-0 grid-cols-[auto_minmax(0,1fr)] items-start gap-nadicode-md", children: [_jsx("div", { className: "shrink-0", children: orb(AGENT_PROFILE_ORB_SIZE) }), _jsxs("div", { className: "grid min-w-0 gap-1", children: [_jsxs("div", { className: "flex min-w-0 flex-wrap items-center gap-x-1 gap-y-nadicode-sm", children: [_jsx("h1", { ...headingProps, className: cn("min-w-0 text-2xl leading-8 font-semibold break-words text-foreground outline-none", headingProps?.className), children: name }), edit ? (_jsx(Button, { "aria-label": edit.label, onClick: edit.onClick, ref: edit.ref, size: "icon", title: edit.label, type: "button", variant: "ghost", children: _jsx(PencilIcon, { "aria-hidden": "true", "data-icon": true }) })) : null, actions ? (_jsx("div", { className: "ml-auto flex shrink-0 items-center gap-2 pl-nadicode-sm", "data-slot": "agent-profile-actions", children: _jsx(PageActionsRow, { ...actions }) })) : null] }), _jsx("p", { className: "line-clamp-2 min-w-0 text-sm text-muted-foreground", title: text, children: _jsx(TableValue, { missingLabel: descriptionMissingLabel, value: text }) }), _jsx("dl", { className: "mt-nadicode-sm flex min-w-0 flex-wrap gap-x-nadicode-lg gap-y-nadicode-sm", "data-slot": "agent-profile-facts", children: facts.map((fact) => (_jsxs("div", { className: "grid min-w-0 gap-1", children: [_jsx("dt", { className: "text-xs text-muted-foreground", children: fact.label }), _jsx("dd", { className: "flex min-h-6 min-w-0 items-center text-sm", children: fact.value })] }, fact.label))) })] })] }), settings ? (_jsx("div", { className: "grid min-w-0 content-start gap-nadicode-md border-t border-border pt-nadicode-md @3xl/agent-profile:border-t-0 @3xl/agent-profile:border-l @3xl/agent-profile:pt-0 @3xl/agent-profile:pl-nadicode-lg", "data-slot": "agent-profile-settings", children: settings })) : null] }), _jsx(FooterStrip, { hint: footerHint, hintSlot: "agent-profile-hint", children: footer })] }));
39
+ }
40
+ /**
41
+ * A model chosen from a list: the trigger and every option read the model the
42
+ * way every surface does, with its maker's mark (`ModelIdentity`).
43
+ */
44
+ export function ModelSelect({ value, options, onValueChange, placeholder, disabled, className, ...props }) {
45
+ return (_jsxs(Select, { disabled: disabled, onValueChange: (model) => {
46
+ if (typeof model === "string")
47
+ onValueChange(model);
48
+ }, value: value, children: [_jsx(SelectTrigger, { className: cn("w-full min-w-0", className), ...props, children: _jsx(SelectPrimitive.Value, { className: "flex min-w-0 flex-1 items-center gap-1.5 text-left", "data-slot": "select-value", children: (model) => model ? (_jsx(ModelIdentity, { className: "min-w-0", markSize: 20, model: model })) : (_jsx("span", { className: "text-placeholder", children: placeholder })) }) }), _jsx(SelectContent, { align: "start", alignItemWithTrigger: false, children: _jsx(SelectGroup, { children: options.map((model) => (_jsx(SelectItem, { value: model, children: _jsx(ModelIdentity, { markSize: 20, model: model }) }, model))) }) })] }));
49
+ }
50
+ /**
51
+ * One choice among a few short levels, drawn as segments that share a row,
52
+ * such as an Agent's reasoning: Default, Low, Medium, High.
53
+ */
54
+ export function SegmentedChoice({ value, options, onValueChange, disabled, className, ...props }) {
55
+ return (_jsx(RadioGroup, { className: cn("flex h-control-height w-full gap-nadicode-xxs rounded-md bg-muted p-0.5", className), disabled: disabled, onValueChange: (next) => {
56
+ const chosen = options.find((option) => option.value === next);
57
+ if (chosen)
58
+ onValueChange(chosen.value);
59
+ }, value: value, ...props, children: options.map((option) => (_jsx(RadioPrimitive.Root, { className: cn(toggleVariants(), "h-full min-w-0 flex-auto rounded-sm px-2 text-muted-foreground data-checked:bg-card data-checked:text-foreground data-checked:nc-elevation-resting"), "data-slot": "segmented-choice-item", value: option.value, children: _jsx("span", { className: "min-w-0 truncate", children: option.label }) }, option.value))) }));
60
+ }
@@ -17,7 +17,7 @@ function AlertDialogOverlay({ className, ...props }) {
17
17
  return (_jsx(AlertDialogPrimitive.Backdrop, { "data-slot": "alert-dialog-overlay", className: cn("fixed inset-0 isolate z-50 bg-scrim/scrim", overlayBackdropMotion, className), ...props }));
18
18
  }
19
19
  function AlertDialogContent({ className, size = "default", ...props }) {
20
- return (_jsxs(AlertDialogPortal, { children: [_jsx(AlertDialogOverlay, {}), _jsx(AlertDialogPrimitive.Popup, { "data-slot": "alert-dialog-content", "data-size": size, className: cn("group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-nadicode-md rounded-md border-0 bg-popover p-nadicode-lg text-popover-foreground nc-elevation-modal outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-sm", modalOverlayMotion, className), ...props })] }));
20
+ return (_jsxs(AlertDialogPortal, { children: [_jsx(AlertDialogOverlay, {}), _jsx(AlertDialogPrimitive.Popup, { "data-slot": "alert-dialog-content", "data-size": size, className: cn("group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-nadicode-md rounded-lg border-0 bg-popover p-nadicode-lg text-popover-foreground nc-elevation-modal outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-sm", modalOverlayMotion, className), ...props })] }));
21
21
  }
22
22
  function AlertDialogHeader({ className, ...props }) {
23
23
  return (_jsx("div", { "data-slot": "alert-dialog-header", className: cn("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]", className), ...props }));
@@ -1,21 +1,39 @@
1
1
  import type * as React from "react";
2
- import { appInitial, type AppMarkProps } from "./app-mark-frame.js";
3
- import { type BrandIconProps } from "./brand-icons.js";
4
- type BrandMark = React.ComponentType<BrandIconProps>;
2
+ import { type PlatformName } from "./platform-mark.js";
3
+ /** An app's logo as its catalogue draws it for a light ground and for a dark one. */
4
+ type AppLogo = {
5
+ light: string;
6
+ dark: string;
7
+ };
8
+ /** The logo Composio's catalogue gives a toolkit: its `meta.logo`, and the drawing it serves for a dark theme. */
9
+ declare function composioLogo(toolkit: string): AppLogo;
10
+ /** What the tile draws: the logo its catalogue gives, a platform's mark, or neither and the initial. */
11
+ type AppMarkGlyph = {
12
+ /** The logo the app's catalogue gives, such as `composioLogo(toolkit)`. */
13
+ logo?: AppLogo;
14
+ platform?: never;
15
+ } | {
16
+ logo?: never;
17
+ /** A platform, such as a messaging channel, drawn by its mark. */
18
+ platform?: PlatformName;
19
+ };
20
+ type AppMarkProps = Omit<React.ComponentProps<"span">, "children"> & AppMarkGlyph & {
21
+ /** The app's slug or name, which the initial is taken from when there is no mark. */
22
+ app: string;
23
+ /** The tile's box in CSS pixels; the glyph scales with it. Defaults to 28. */
24
+ size?: number;
25
+ /**
26
+ * The mark's accessible name. Beside the app's name it needs none, and a
27
+ * bare mark stays decorative until one arrives.
28
+ */
29
+ label?: string;
30
+ };
5
31
  /**
6
- * The generated mark for a connector, under any spelling it arrives with, or
7
- * `undefined` when the set has none.
32
+ * An app, a channel or anything else a record connects, in the tile every
33
+ * such mark shares: the catalogue's logo, the platform's mark, or the initial
34
+ * when there is neither. Never a guessed logo.
8
35
  */
9
- declare function appMarkFor(app: string): BrandMark | undefined;
10
- /**
11
- * An app an Agent connects to, in the same tile as a model's maker: the
12
- * generated mark in its official colours, or the app's initial when the set
13
- * has no mark for it. Never an invented logo and never a fetched favicon.
14
- *
15
- * Every mark in the set comes with this module. A client component that can
16
- * show any of them takes `LazyAppMark`, which fetches only the ones it draws.
17
- */
18
- declare function AppMark(props: AppMarkProps): React.JSX.Element;
19
- export { AppMark, appInitial, appMarkFor };
20
- export type { AppMarkProps };
36
+ declare function AppMark({ app, logo, platform, size, label, className, style, ...props }: AppMarkProps): React.JSX.Element;
37
+ export { AppMark, composioLogo };
38
+ export type { AppLogo, AppMarkProps };
21
39
  //# sourceMappingURL=app-mark.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-mark.d.ts","sourceRoot":"","sources":["../../src/components/app-mark.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAGpC,OAAO,EAAgB,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EA2CL,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAEvB,KAAK,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;AAqDrD;;;GAGG;AACH,iBAAS,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAGtD;AAED;;;;;;;GAOG;AACH,iBAAS,OAAO,CAAC,KAAK,EAAE,YAAY,qBAGnC;AAED,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AAC3C,YAAY,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"app-mark.d.ts","sourceRoot":"","sources":["../../src/components/app-mark.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAIpC,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAOlE,qFAAqF;AACrF,KAAK,OAAO,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/C,kHAAkH;AAClH,iBAAS,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAG9C;AAYD,wGAAwG;AACxG,KAAK,YAAY,GACb;IACE,2EAA2E;IAC3E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB,GACD;IACE,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,kEAAkE;IAClE,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB,CAAC;AAEN,KAAK,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,GAChE,YAAY,GAAG;IACb,qFAAqF;IACrF,GAAG,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEJ;;;;GAIG;AACH,iBAAS,OAAO,CAAC,EACf,GAAG,EACH,IAAI,EACJ,QAAQ,EACR,IAAoB,EACpB,KAAK,EACL,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,YAAY,qBAoDd;AAED,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AACjC,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -1,75 +1,39 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { appMarkSlug } from "./app-mark-aliases.js";
3
- import { AppMarkFrame, appInitial } from "./app-mark-frame.js";
4
- import { AirtableIcon, AppleIcon, AsanaIcon, AtlassianIcon, ClaudeIcon, DatadogIcon, DiscordIcon, FigmaIcon, GeminiIcon, GithubIcon, GitlabIcon, GmailIcon, GoogleCalendarIcon, GoogleDriveIcon, HuggingFaceIcon, IntercomIcon, JiraIcon, LinearIcon, MattermostIcon, MicrosoftTeamsIcon, N8nIcon, NetlifyIcon, NotionIcon, OpenaiIcon, PaypalIcon, PostgresqlIcon, SentryIcon, SignalIcon, SlackIcon, SpotifyIcon, SquareIcon, StripeIcon, SupabaseIcon, TelegramIcon, TodoistIcon, UnrealEngineIcon, VercelIcon, WebflowIcon, WhatsappIcon, YoutubeIcon, YuanbaoIcon, ZapierIcon, } from "./brand-icons.js";
5
- /*
6
- * The generated mark each brand slug is drawn by. Which connector spelling
7
- * reaches which slug is the alias table in `app-mark-aliases.ts`, which the
8
- * published `assets/brand/index.json` carries too; the artwork itself is
9
- * generated. Both tables are product mapping over generated marks.
10
- */
11
- const MARKS_BY_SLUG = {
12
- airtable: AirtableIcon,
13
- apple: AppleIcon,
14
- asana: AsanaIcon,
15
- atlassian: AtlassianIcon,
16
- claude: ClaudeIcon,
17
- datadog: DatadogIcon,
18
- discord: DiscordIcon,
19
- figma: FigmaIcon,
20
- gemini: GeminiIcon,
21
- github: GithubIcon,
22
- gitlab: GitlabIcon,
23
- gmail: GmailIcon,
24
- "google-calendar": GoogleCalendarIcon,
25
- "google-drive": GoogleDriveIcon,
26
- huggingface: HuggingFaceIcon,
27
- intercom: IntercomIcon,
28
- jira: JiraIcon,
29
- linear: LinearIcon,
30
- mattermost: MattermostIcon,
31
- "microsoft-teams": MicrosoftTeamsIcon,
32
- n8n: N8nIcon,
33
- netlify: NetlifyIcon,
34
- notion: NotionIcon,
35
- openai: OpenaiIcon,
36
- paypal: PaypalIcon,
37
- postgresql: PostgresqlIcon,
38
- sentry: SentryIcon,
39
- signal: SignalIcon,
40
- slack: SlackIcon,
41
- spotify: SpotifyIcon,
42
- square: SquareIcon,
43
- stripe: StripeIcon,
44
- supabase: SupabaseIcon,
45
- telegram: TelegramIcon,
46
- todoist: TodoistIcon,
47
- "unreal-engine": UnrealEngineIcon,
48
- vercel: VercelIcon,
49
- webflow: WebflowIcon,
50
- whatsapp: WhatsappIcon,
51
- youtube: YoutubeIcon,
52
- yuanbao: YuanbaoIcon,
53
- zapier: ZapierIcon,
54
- };
55
- /**
56
- * The generated mark for a connector, under any spelling it arrives with, or
57
- * `undefined` when the set has none.
58
- */
59
- function appMarkFor(app) {
60
- const slug = appMarkSlug(app);
61
- return slug ? MARKS_BY_SLUG[slug] : undefined;
2
+ import { cn } from "../lib/utils.js";
3
+ import { PlatformMark } from "./platform-mark.js";
4
+ const APP_MARK_SIZE = 28;
5
+ /** The glyph's share of the tile, the same ratio as `ModelMark`. */
6
+ const APP_MARK_GLYPH_RATIO = 0.62;
7
+ /** The logo Composio's catalogue gives a toolkit: its `meta.logo`, and the drawing it serves for a dark theme. */
8
+ function composioLogo(toolkit) {
9
+ const logo = `https://logos.composio.dev/api/${encodeURIComponent(toolkit)}`;
10
+ return { light: logo, dark: `${logo}?theme=dark` };
11
+ }
12
+ /** The letter an app without a mark is drawn with: its first letter or digit, or a question mark. */
13
+ function appInitial(app) {
14
+ return (app
15
+ .trim()
16
+ .match(/[a-z0-9]/i)?.[0]
17
+ ?.toUpperCase() ?? "?");
62
18
  }
63
19
  /**
64
- * An app an Agent connects to, in the same tile as a model's maker: the
65
- * generated mark in its official colours, or the app's initial when the set
66
- * has no mark for it. Never an invented logo and never a fetched favicon.
67
- *
68
- * Every mark in the set comes with this module. A client component that can
69
- * show any of them takes `LazyAppMark`, which fetches only the ones it draws.
20
+ * An app, a channel or anything else a record connects, in the tile every
21
+ * such mark shares: the catalogue's logo, the platform's mark, or the initial
22
+ * when there is neither. Never a guessed logo.
70
23
  */
71
- function AppMark(props) {
72
- const Mark = appMarkFor(props.app);
73
- return _jsx(AppMarkFrame, { ...props, glyph: Mark ? (size) => _jsx(Mark, { size: size }) : undefined });
24
+ function AppMark({ app, logo, platform, size = APP_MARK_SIZE, label, className, style, ...props }) {
25
+ const named = Boolean(label?.trim() || props["aria-label"]?.trim() || props["aria-labelledby"]?.trim());
26
+ const labelling = !named
27
+ ? { "aria-hidden": true }
28
+ : label?.trim()
29
+ ? { role: "img", "aria-label": label }
30
+ : {};
31
+ const glyph = Math.round(size * APP_MARK_GLYPH_RATIO);
32
+ return (_jsx("span", { "data-slot": "app-mark", "data-app": app, "data-mark": logo || platform ? "brand" : "monogram", className: cn("inline-flex shrink-0 items-center justify-center rounded-md border border-border bg-background text-foreground", className), style: { width: size, height: size, ...style }, ...props, ...labelling, children: platform ? (_jsx(PlatformMark, { platform: platform, size: glyph })) : logo ? (_jsx("span", { "aria-hidden": "true", className: "block", "data-slot": "app-mark-logo", style: {
33
+ width: glyph,
34
+ height: glyph,
35
+ "--app-mark-logo": `url("${logo.light}")`,
36
+ "--app-mark-logo-dark": `url("${logo.dark}")`,
37
+ } })) : (_jsx("span", { "aria-hidden": "true", className: "font-semibold leading-none text-muted-foreground", "data-slot": "app-mark-monogram", style: { fontSize: Math.max(8, Math.round(size * 0.4)) }, children: appInitial(app) })) }));
74
38
  }
75
- export { AppMark, appInitial, appMarkFor };
39
+ export { AppMark, composioLogo };
@@ -5,8 +5,8 @@ import { cn } from "../lib/utils.js";
5
5
  function Card({ className, render, size = "default", surface = "resting", variant = "default", ...props }) {
6
6
  const structure = cn("group/card flex flex-col gap-(--card-spacing) overflow-hidden bg-card py-(--card-spacing) text-sm text-card-foreground [--card-spacing:var(--spacing-nadicode-lg)] has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:var(--spacing-nadicode-md)] data-[size=sm]:has-data-[slot=card-footer]:pb-0", variant === "interactive" && "cursor-pointer", variant === "link" && "nc-transition-paint");
7
7
  const surfaceClassName = surface === "outlined"
8
- ? cn(structure, "rounded-md border border-border", className)
9
- : cn(structure, "rounded-md border-0 *:[img:first-child]:rounded-t-md *:[img:last-child]:rounded-b-md", surface === "resting" && "nc-elevation-resting", surface === "raised" && "nc-elevation-raised", className);
8
+ ? cn(structure, "rounded-lg border border-border", className)
9
+ : cn(structure, "rounded-lg border-0 *:[img:first-child]:rounded-t-lg *:[img:last-child]:rounded-b-lg", surface === "resting" && "nc-elevation-resting", surface === "raised" && "nc-elevation-raised", className);
10
10
  return useRender({
11
11
  defaultTagName: "div",
12
12
  props: mergeProps({ className: surfaceClassName }, props),
@@ -20,7 +20,7 @@ function CardHeader({ className, ...props }) {
20
20
  // `minmax(0,1fr)`, not `1fr`, because a `1fr` track never shrinks below
21
21
  // its content and a long title or an unbreakable figure would push the
22
22
  // action past the card's edge, where the card's clipping cuts it.
23
- "group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-md px-(--card-spacing) has-data-[slot=card-action]:grid-cols-[minmax(0,1fr)_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] *:data-[slot=card-description]:col-start-1 *:data-[slot=card-title]:col-start-1 [.border-b]:pb-(--card-spacing)", className), ...props }));
23
+ "group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-lg px-(--card-spacing) has-data-[slot=card-action]:grid-cols-[minmax(0,1fr)_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] *:data-[slot=card-description]:col-start-1 *:data-[slot=card-title]:col-start-1 [.border-b]:pb-(--card-spacing)", className), ...props }));
24
24
  }
25
25
  function CardTitle({ className, focusTarget = false, ...props }) {
26
26
  return (_jsx("div", { "data-slot": "card-title", "data-focus-target": focusTarget || undefined, className: cn("text-base font-medium group-data-[size=sm]/card:text-sm", focusTarget && "rounded-sm", className), ...props }));
@@ -4,6 +4,6 @@ import { Checkbox as CheckboxPrimitive } from "@base-ui/react/checkbox";
4
4
  import { cn } from "../lib/utils.js";
5
5
  import { CheckIcon } from "lucide-react";
6
6
  function Checkbox({ className, ...props }) {
7
- return (_jsx(CheckboxPrimitive.Root, { "data-slot": "checkbox", className: cn("peer relative flex size-4 shrink-0 items-center justify-center rounded-md border border-input transition-colors group-has-disabled/field:opacity-50 after:absolute after:top-1/2 after:left-1/2 after:size-touch-target after:-translate-x-1/2 after:-translate-y-1/2 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:aria-checked:border-primary data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground [@media(hover:hover)_and_(pointer:fine)]:after:hidden", className), ...props, children: _jsx(CheckboxPrimitive.Indicator, { "data-slot": "checkbox-indicator", className: "grid place-content-center text-current transition-none [&>svg]:size-3.5", children: _jsx(CheckIcon, {}) }) }));
7
+ return (_jsx(CheckboxPrimitive.Root, { "data-slot": "checkbox", className: cn("peer relative flex size-4 shrink-0 items-center justify-center rounded-sm border border-input transition-colors group-has-disabled/field:opacity-50 after:absolute after:top-1/2 after:left-1/2 after:size-touch-target after:-translate-x-1/2 after:-translate-y-1/2 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:aria-checked:border-primary data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground [@media(hover:hover)_and_(pointer:fine)]:after:hidden", className), ...props, children: _jsx(CheckboxPrimitive.Indicator, { "data-slot": "checkbox-indicator", className: "grid place-content-center text-current transition-none [&>svg]:size-3.5", children: _jsx(CheckIcon, {}) }) }));
8
8
  }
9
9
  export { Checkbox };
@@ -12,6 +12,11 @@ export type CollectionFilter = {
12
12
  onValueChange: (value: string) => void;
13
13
  options: readonly CollectionFilterOption[];
14
14
  selectedIcon?: React.ReactNode;
15
+ /**
16
+ * Values the collection is most often narrowed to. While the facet is unset,
17
+ * each one waits as a dashed chip that applies it in one click.
18
+ */
19
+ suggested?: readonly string[];
15
20
  };
16
21
  export type CollectionFilterCopy = {
17
22
  add: string;
@@ -1 +1 @@
1
- {"version":3,"file":"collection-filters.d.ts","sourceRoot":"","sources":["../../src/components/collection-filters.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAe/B,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,OAAO,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC3C,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAgHF,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,IAAI,GACL,EAAE;IACD,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACpC,IAAI,EAAE,oBAAoB,CAAC;CAC5B,4BAiDA"}
1
+ {"version":3,"file":"collection-filters.d.ts","sourceRoot":"","sources":["../../src/components/collection-filters.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAe/B,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,OAAO,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC3C,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAgHF,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,IAAI,GACL,EAAE;IACD,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACpC,IAAI,EAAE,oBAAoB,CAAC;CAC5B,4BAqFA"}
@@ -50,5 +50,19 @@ export function CollectionFilters({ facets, copy, }) {
50
50
  facet.onValueChange("");
51
51
  addTrigger.current?.focus();
52
52
  }, children: _jsx(X, { "aria-hidden": "true" }) })] }, facet.label));
53
- })] }));
53
+ }), facets
54
+ .filter((facet) => !facet.value)
55
+ .flatMap((facet) => (facet.suggested ?? []).flatMap((value) => {
56
+ const option = facet.options.find((item) => item.value === value);
57
+ return option
58
+ ? [
59
+ _jsxs(Button, { variant: "outline", "data-slot": "collection-filter-suggestion", "aria-label": `${copy.add}: ${facet.label} ${option.label}`, className: "max-w-64 border-dashed text-muted-foreground", onClick: () => {
60
+ facet.onValueChange(value);
61
+ addTrigger.current?.focus();
62
+ }, children: [option.icon, _jsxs("span", { className: "truncate", children: [facet.label, " ", _jsx("span", { className: option.mono
63
+ ? "text-foreground nc-type-label-mono"
64
+ : "font-medium text-foreground", children: option.label })] })] }, `${facet.label}:${value}`),
65
+ ]
66
+ : [];
67
+ }))] }));
54
68
  }
@@ -0,0 +1,10 @@
1
+ export type CollectionSearchProps = {
2
+ /** What the search finds, read as its name and shown while it is empty: "Find a skill". */
3
+ label: string;
4
+ value: string;
5
+ onValueChange: (value: string) => void;
6
+ disabled?: boolean;
7
+ };
8
+ /** The search a collection toolbar fills its row with. */
9
+ export declare function CollectionSearch({ label, value, onValueChange, disabled }: CollectionSearchProps): import("react").JSX.Element;
10
+ //# sourceMappingURL=collection-search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection-search.d.ts","sourceRoot":"","sources":["../../src/components/collection-search.tsx"],"names":[],"mappings":"AAMA,MAAM,MAAM,qBAAqB,GAAG;IAClC,2FAA2F;IAC3F,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,0DAA0D;AAC1D,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,qBAAqB,+BAgBhG"}
@@ -0,0 +1,8 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Search } from "lucide-react";
4
+ import { InputGroup, InputGroupAddon, InputGroupInput } from "./input-group.js";
5
+ /** The search a collection toolbar fills its row with. */
6
+ export function CollectionSearch({ label, value, onValueChange, disabled }) {
7
+ return (_jsxs(InputGroup, { "data-slot": "collection-search", children: [_jsx(InputGroupAddon, { children: _jsx(Search, { "aria-hidden": "true" }) }), _jsx(InputGroupInput, { "aria-label": label, disabled: disabled, onChange: (event) => onValueChange(event.target.value), placeholder: label, type: "search", value: value })] }));
8
+ }
@@ -0,0 +1,18 @@
1
+ export type CollectionSortOption = {
2
+ value: string;
3
+ label: string;
4
+ };
5
+ export type CollectionSortProps = {
6
+ /** What the control orders, read before the current order: "Sort by". */
7
+ label: string;
8
+ value: string;
9
+ options: readonly CollectionSortOption[];
10
+ onValueChange: (value: string) => void;
11
+ };
12
+ /**
13
+ * The order a collection's rows are read in, at the toolbar's trailing edge
14
+ * before the collection's actions. The trigger names the order in force; the
15
+ * menu offers the others.
16
+ */
17
+ export declare function CollectionSort({ label, value, options, onValueChange }: CollectionSortProps): import("react").JSX.Element | null;
18
+ //# sourceMappingURL=collection-sort.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection-sort.d.ts","sourceRoot":"","sources":["../../src/components/collection-sort.tsx"],"names":[],"mappings":"AAeA,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACzC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,mBAAmB,sCAgC3F"}
@@ -0,0 +1,19 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { ArrowUpDown } from "lucide-react";
4
+ import { Button } from "./button.js";
5
+ import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuTrigger, } from "./dropdown-menu.js";
6
+ /**
7
+ * The order a collection's rows are read in, at the toolbar's trailing edge
8
+ * before the collection's actions. The trigger names the order in force; the
9
+ * menu offers the others.
10
+ */
11
+ export function CollectionSort({ label, value, options, onValueChange }) {
12
+ const current = options.find((option) => option.value === value) ?? options[0];
13
+ if (!current)
14
+ return null;
15
+ return (_jsxs(DropdownMenu, { children: [_jsxs(DropdownMenuTrigger, { "aria-label": `${label}: ${current.label}`, "data-slot": "collection-sort", render: _jsx(Button, { variant: "outline" }), children: [_jsx(ArrowUpDown, { "data-icon": "inline-start", "aria-hidden": "true" }), current.label] }), _jsx(DropdownMenuContent, { align: "end", children: _jsxs(DropdownMenuGroup, { children: [_jsx(DropdownMenuLabel, { children: label }), _jsx(DropdownMenuRadioGroup, { value: current.value, onValueChange: (next) => {
16
+ if (typeof next === "string" && next !== current.value)
17
+ onValueChange(next);
18
+ }, children: options.map((option) => (_jsx(DropdownMenuRadioItem, { value: option.value, children: option.label }, option.value))) })] }) })] }));
19
+ }