@nadicodeai/ui 12.1.62 → 12.1.64

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 +287 -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
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-menu.d.ts","sourceRoot":"","sources":["../../src/components/dropdown-menu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dropdown-menu.d.ts","sourceRoot":"","sources":["../../src/components/dropdown-menu.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
2
3
  import { Menu as MenuPrimitive } from "@base-ui/react/menu";
3
4
  import { cn } from "../lib/utils.js";
4
5
  import { anchoredOverlayMotion } from "../lib/motion.js";
@@ -26,8 +27,15 @@ function DropdownMenuItem({ className, iconOnly = false, inset, variant = "defau
26
27
  return (_jsx(MenuPrimitive.Item, { "data-slot": "dropdown-menu-item", "data-icon-only": iconOnly || undefined, "data-inset": inset, "data-variant": variant, className: cn("group/dropdown-menu-item relative flex min-h-touch-target cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 group-data-[density=comfortable]/menu:px-3 group-data-[density=comfortable]/menu:py-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive-soft-foreground data-[variant=destructive]:focus:bg-destructive-soft data-[variant=destructive]:focus:text-destructive-soft-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [@media(hover:hover)_and_(pointer:fine)]:min-h-0 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive-soft-foreground", iconOnly &&
27
28
  "size-8 min-w-touch-target shrink-0 justify-center rounded-md p-0 group-data-[density=comfortable]/menu:p-0 [@media(hover:hover)_and_(pointer:fine)]:min-w-0", className), ...props }));
28
29
  }
29
- function DropdownMenuCommand({ icon, children, className, ...props }) {
30
- return (_jsxs(DropdownMenuItem, { ...props, className: cn(className, "h-auto w-full min-w-0 justify-start gap-3 text-left font-normal whitespace-normal"), children: [_jsx("span", { className: "min-w-0 flex-1 break-words", children: children }), _jsx("span", { "aria-hidden": "true", className: "flex shrink-0 items-center justify-center", children: icon })] }));
30
+ /**
31
+ * A command in a record's or a page's menu: its label first, a decorative icon
32
+ * at the trailing edge. A command that cannot run now is `disabled` and stays
33
+ * in place, greyed, with its `reason` under the label (DESIGN.md "Menus and
34
+ * commands").
35
+ */
36
+ function DropdownMenuCommand({ icon, children, className, reason, ...props }) {
37
+ const id = React.useId();
38
+ return (_jsxs(DropdownMenuItem, { "aria-labelledby": reason ? `${id}-label` : undefined, "aria-describedby": reason ? `${id}-reason` : undefined, ...props, className: cn(className, "h-auto w-full min-w-0 justify-start gap-3 text-left font-normal whitespace-normal"), children: [_jsxs("span", { className: "grid min-w-0 flex-1 gap-0.5 break-words", children: [_jsx("span", { id: `${id}-label`, children: children }), reason ? (_jsx("span", { className: "text-xs text-muted-foreground", "data-slot": "dropdown-menu-reason", id: `${id}-reason`, children: reason })) : null] }), _jsx("span", { "aria-hidden": "true", className: "flex shrink-0 items-center justify-center", children: icon })] }));
31
39
  }
32
40
  function DropdownMenuSub({ ...props }) {
33
41
  return _jsx(MenuPrimitive.SubmenuRoot, { "data-slot": "dropdown-menu-sub", ...props });
@@ -0,0 +1,17 @@
1
+ /** The pictures of `@nadicodeai/design-system/assets/empty`, the only ones a first use shows. */
2
+ export declare const EMPTY_ART_NAMES: readonly ["agents", "apps", "billing", "customers", "installations", "library", "mcp", "messages", "partners", "passwords", "plugins", "skills", "tasks"];
3
+ export type EmptyArtName = (typeof EMPTY_ART_NAMES)[number];
4
+ declare const approved: unique symbol;
5
+ /** A picture's address that came from the approved set through `approveEmptyArt`. */
6
+ export type EmptyArt = string & {
7
+ readonly [approved]: true;
8
+ };
9
+ /**
10
+ * The product's one map of the approved pictures, built from the design
11
+ * system's imports; the bundler of each product decides their addresses.
12
+ */
13
+ export declare function approveEmptyArt(imported: Record<EmptyArtName, string | {
14
+ src: string;
15
+ }>): Record<EmptyArtName, EmptyArt>;
16
+ export {};
17
+ //# sourceMappingURL=empty-art.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty-art.d.ts","sourceRoot":"","sources":["../../src/components/empty-art.ts"],"names":[],"mappings":"AAIA,iGAAiG;AACjG,eAAO,MAAM,eAAe,2JAclB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,OAAO,CAAC,MAAM,QAAQ,EAAE,OAAO,MAAM,CAAC;AAEtC,qFAAqF;AACrF,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAE9D;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,GACvD,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,CAOhC"}
@@ -0,0 +1,29 @@
1
+ // No client directive: a server page builds its product's picture map with
2
+ // `approveEmptyArt` while the module loads, and Next.js refuses a call into a
3
+ // client module from the server.
4
+ /** The pictures of `@nadicodeai/design-system/assets/empty`, the only ones a first use shows. */
5
+ export const EMPTY_ART_NAMES = [
6
+ "agents",
7
+ "apps",
8
+ "billing",
9
+ "customers",
10
+ "installations",
11
+ "library",
12
+ "mcp",
13
+ "messages",
14
+ "partners",
15
+ "passwords",
16
+ "plugins",
17
+ "skills",
18
+ "tasks",
19
+ ];
20
+ /**
21
+ * The product's one map of the approved pictures, built from the design
22
+ * system's imports; the bundler of each product decides their addresses.
23
+ */
24
+ export function approveEmptyArt(imported) {
25
+ return Object.fromEntries(EMPTY_ART_NAMES.map((name) => {
26
+ const asset = imported[name];
27
+ return [name, typeof asset === "string" ? asset : asset.src];
28
+ }));
29
+ }
@@ -0,0 +1,38 @@
1
+ import type { EmptyArt } from "./empty-art.js";
2
+ import { type PageCommand } from "./page-actions.js";
3
+ import { type ResolvedMessage } from "./product-message.js";
4
+ /**
5
+ * What a place with nothing in it says (DESIGN.md "Elevation & Depth", the
6
+ * absence paragraph):
7
+ * - `firstUse`: a collection with no records yet whose kind has a picture in
8
+ * the approved set: the picture, a title, one line saying what will live
9
+ * there, and, when this viewer can add one, the action that adds the first
10
+ * record;
11
+ * - `nothingYet`: a list with no picture of its own, such as invoices, history
12
+ * or a table inside a page: one line;
13
+ * - `noResults`: a search or filter that matches nothing: one line and the way
14
+ * to clear it, with no picture;
15
+ * - `failed`: a read that failed where the content would be: the warning mark
16
+ * and the catalogue's message, with its controls (Retry among them).
17
+ */
18
+ export type EmptyStateProps = {
19
+ scope?: "page" | "region" | "card";
20
+ } & ({
21
+ kind: "firstUse";
22
+ picture: EmptyArt;
23
+ title: string;
24
+ description: string;
25
+ action?: PageCommand;
26
+ } | {
27
+ kind: "nothingYet";
28
+ message: string;
29
+ } | {
30
+ kind: "noResults";
31
+ message: string;
32
+ clear: PageCommand;
33
+ } | {
34
+ kind: "failed";
35
+ message: ResolvedMessage;
36
+ });
37
+ export declare function EmptyState(props: EmptyStateProps): import("react").JSX.Element;
38
+ //# sourceMappingURL=empty-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty-state.d.ts","sourceRoot":"","sources":["../../src/components/empty-state.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,KAAK,WAAW,EAAqB,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE1E;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,eAAe,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAA;CAAE,GAAG,CACnE;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,QAAQ,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GACD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,CAC/C,CAAC;AAEF,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,+BA6ChD"}
@@ -0,0 +1,14 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { AlertTriangleIcon } from "lucide-react";
4
+ import { Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyPicture, EmptyTitle, } from "../internal/empty.js";
5
+ import { PageCommandButton } from "./page-actions.js";
6
+ import { bodyBeyondTitle } from "./product-message.js";
7
+ export function EmptyState(props) {
8
+ const scope = props.scope ?? "region";
9
+ return (_jsxs(Empty, { "data-empty-state": props.kind, scope: scope, children: [_jsxs(EmptyHeader, { children: [props.kind === "firstUse" ? (_jsx(EmptyPicture, { size: scope === "page" ? "page" : "card", src: props.picture })) : null, props.kind === "failed" ? (_jsx(EmptyMedia, { variant: "icon", children: _jsx(AlertTriangleIcon, { "aria-hidden": "true" }) })) : null, props.kind === "firstUse" ? (_jsxs("div", { className: "grid gap-1", children: [_jsx(EmptyTitle, { children: _jsx("h2", { children: props.title }) }), _jsx(EmptyDescription, { children: props.description })] })) : props.kind === "failed" ? (_jsx(FailedRead, { message: props.message })) : (_jsx(EmptyDescription, { children: props.message }))] }), props.kind === "firstUse" && props.action ? (_jsx(EmptyContent, { "data-empty-state-action": true, children: _jsx(PageCommandButton, { command: props.action, variant: "default" }) })) : null, props.kind === "noResults" ? (_jsx(EmptyContent, { "data-empty-state-action": true, children: _jsx(PageCommandButton, { command: props.clear, variant: "outline" }) })) : null, props.kind === "failed" && props.message.actions.length > 0 ? (_jsx(EmptyContent, { "data-empty-state-action": true, children: props.message.actions.map((action) => (_jsx(PageCommandButton, { command: action, variant: "outline" }, action.label))) })) : null] }));
10
+ }
11
+ function FailedRead({ message }) {
12
+ const body = bodyBeyondTitle(message);
13
+ return (_jsxs("div", { className: "grid min-w-0 gap-1", "data-message-code": message.code, role: "alert", children: [_jsx(EmptyTitle, { className: "break-words", children: message.title }), body ? _jsx(EmptyDescription, { className: "break-words", children: body }) : null] }));
14
+ }
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import { Empty } from "./empty.js";
2
+ import { Empty } from "../internal/empty.js";
3
3
  export type FeedbackStateStatus = "empty" | "loading" | "saving" | "error" | "permission" | "offline" | "no-results" | "fatal";
4
4
  declare function FeedbackState({ status, title, description, icon, actions, children, compact, className, ...props }: Omit<React.ComponentProps<typeof Empty>, "children" | "title"> & {
5
5
  status: FeedbackStateStatus;
@@ -1 +1 @@
1
- {"version":3,"file":"feedback-state.d.ts","sourceRoot":"","sources":["../../src/components/feedback-state.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,OAAO,EACL,KAAK,EAMN,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,mBAAmB,GAC3B,OAAO,GACP,SAAS,GACT,QAAQ,GACR,OAAO,GACP,YAAY,GACZ,SAAS,GACT,YAAY,GACZ,OAAO,CAAC;AA8DZ,iBAAS,aAAa,CAAC,EACrB,MAAM,EACN,KAAK,EACL,WAAW,EACX,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,OAAe,EACf,SAAS,EACT,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG;IAClE,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,qBA0CA;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"feedback-state.d.ts","sourceRoot":"","sources":["../../src/components/feedback-state.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,OAAO,EACL,KAAK,EAMN,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,mBAAmB,GAC3B,OAAO,GACP,SAAS,GACT,QAAQ,GACR,OAAO,GACP,YAAY,GACZ,SAAS,GACT,YAAY,GACZ,OAAO,CAAC;AA8DZ,iBAAS,aAAa,CAAC,EACrB,MAAM,EACN,KAAK,EACL,WAAW,EACX,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,OAAe,EACf,SAAS,EACT,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG;IAClE,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,qBA0CA;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -3,7 +3,7 @@ import * as React from "react";
3
3
  import { AlertTriangleIcon, BanIcon, CloudOffIcon, InboxIcon, LockKeyholeIcon, SearchXIcon, } from "lucide-react";
4
4
  import { cn } from "../lib/utils.js";
5
5
  import { WaitingLine } from "./waiting-line.js";
6
- import { Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, } from "./empty.js";
6
+ import { Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, } from "../internal/empty.js";
7
7
  const feedbackStateDefaults = {
8
8
  empty: {
9
9
  title: "Nothing here yet",
@@ -1 +1 @@
1
- {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../src/components/field.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAG3C,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,+BAW1E;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,OAAkB,EAClB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;CAAE,+BAYnE;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,+BAWvE;AAED,QAAA,MAAM,aAAa;;8EAajB,CAAC;AAEH,iBAAS,KAAK,CAAC,EACb,SAAS,EACT,WAAwB,EACxB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,OAAO,aAAa,CAAC,+BAUlE;AAKD,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,+BAWzE;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,+BAY9E;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,+BAWvE;AAED,iBAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,+BAa3E;AAED,iBAAS,cAAc,CAAC,EACtB,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,+BAsBA;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,QAAQ,EACR,MAAM,EACN,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;CAClD,sCAuCA;AAED,OAAO,EACL,KAAK,EACL,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,UAAU,GACX,CAAC"}
1
+ {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../src/components/field.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAG3C,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,+BAW1E;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,OAAkB,EAClB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;CAAE,+BAYnE;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,+BAWvE;AAED,QAAA,MAAM,aAAa;;8EAajB,CAAC;AAEH,iBAAS,KAAK,CAAC,EACb,SAAS,EACT,WAAwB,EACxB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,OAAO,aAAa,CAAC,+BAUlE;AAKD,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,+BAWzE;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,+BAY9E;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,+BAWvE;AAED,iBAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,+BAa3E;AAED,iBAAS,cAAc,CAAC,EACtB,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,+BAsBA;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,QAAQ,EACR,MAAM,EACN,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;CAClD,sCAwCA;AAED,OAAO,EACL,KAAK,EACL,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,UAAU,GACX,CAAC"}
@@ -59,7 +59,9 @@ function FieldError({ className, children, errors, ...props }) {
59
59
  if (uniqueErrors?.length == 1) {
60
60
  return uniqueErrors[0]?.message;
61
61
  }
62
- return (_jsx("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: uniqueErrors.map((error) => error?.message && _jsx("li", { children: error.message }, error.message)) }));
62
+ return (_jsx("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: uniqueErrors.map(
63
+ // eslint-disable-next-line product-message/raw-text -- a field's validation messages come from the form's schema, worded by the product, and stay with their field
64
+ (error) => error?.message && _jsx("li", { children: error.message }, error.message)) }));
63
65
  }, [children, errors]);
64
66
  if (!content) {
65
67
  return null;
@@ -0,0 +1,62 @@
1
+ import type { ComponentProps, ReactNode } from "react";
2
+ export type FormDrawerProps = {
3
+ open: boolean;
4
+ onOpenChange: (open: boolean) => void;
5
+ /** Runs once the drawer has finished opening or closing, such as to return focus. */
6
+ onOpenChangeComplete?: (open: boolean) => void;
7
+ /** What the drawer does to which record: "Add a password", "Edit Rossi", "Connect Slack". */
8
+ title: ReactNode;
9
+ description?: ReactNode;
10
+ /** The accessible name of the close control at the top. */
11
+ closeLabel: string;
12
+ /** A `FormDrawerForm`, or a `FormDrawerBody` and `FormDrawerFooter` for a step that is not one form. */
13
+ children: ReactNode;
14
+ };
15
+ /**
16
+ * The one drawer every product opens to create, edit or connect a record
17
+ * (DESIGN.md "Menus and commands"): from the right, its title and a close
18
+ * control at the top, the fields in a body that scrolls, the actions in a
19
+ * footer that stays in place with the primary rightmost. On a narrow window it
20
+ * keeps its right edge and fills the width. A centred dialog only confirms a
21
+ * consequence; it never holds a form.
22
+ */
23
+ export declare function FormDrawer({ open, onOpenChange, onOpenChangeComplete, title, description, closeLabel, children, }: FormDrawerProps): import("react").JSX.Element;
24
+ /** The part of the drawer that scrolls between its title and its footer. */
25
+ export declare function FormDrawerBody({ className, ...props }: ComponentProps<"div">): import("react").JSX.Element;
26
+ export type FormDrawerFooterProps = {
27
+ /** Cancel, drawn left of the actions; it closes the drawer. */
28
+ cancel?: {
29
+ label: string;
30
+ disabled?: boolean;
31
+ };
32
+ /** The step's own actions, the primary last so it sits rightmost. */
33
+ children?: ReactNode;
34
+ };
35
+ /** The footer that stays in place under the body: Cancel, then the actions, right-aligned. */
36
+ export declare function FormDrawerFooter({ cancel, children }: FormDrawerFooterProps): import("react").JSX.Element;
37
+ export type FormDrawerSubmit = {
38
+ label: string;
39
+ /** The button's own word while the save runs. */
40
+ pendingLabel?: string;
41
+ /** The save is running: the button says so and holds, and the waiting line follows. */
42
+ pending?: boolean;
43
+ /** Nothing to save yet, or a field still needs an answer. */
44
+ disabled?: boolean;
45
+ destructive?: boolean;
46
+ /** The id of the line that says why the save cannot run yet. */
47
+ describedBy?: string;
48
+ };
49
+ export type FormDrawerFormProps = Omit<ComponentProps<"form">, "children" | "className"> & {
50
+ cancelLabel: string;
51
+ submit: FormDrawerSubmit;
52
+ /** A refusal or a failure of the save, between the body and the footer, where the button is. */
53
+ notice?: ReactNode;
54
+ children: ReactNode;
55
+ };
56
+ /**
57
+ * The drawer's form: the fields in the body, a notice where the save button
58
+ * is, and the footer with Cancel and the save rightmost. Cancel holds while the
59
+ * save runs, so a running save is never left without its drawer.
60
+ */
61
+ export declare function FormDrawerForm({ cancelLabel, submit, notice, children, ...form }: FormDrawerFormProps): import("react").JSX.Element;
62
+ //# sourceMappingURL=form-drawer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-drawer.d.ts","sourceRoot":"","sources":["../../src/components/form-drawer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAgBvD,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,qFAAqF;IACrF,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,6FAA6F;IAC7F,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,wGAAwG;IACxG,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,WAAW,EACX,UAAU,EACV,QAAQ,GACT,EAAE,eAAe,+BAgBjB;AAED,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,CAAC,KAAK,CAAC,+BAW5E;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,+DAA+D;IAC/D,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC/C,qEAAqE;IACrE,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,8FAA8F;AAC9F,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,qBAAqB,+BAc3E;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uFAAuF;IACvF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC,GAAG;IACzF,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,gBAAgB,CAAC;IACzB,gGAAgG;IAChG,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAC7B,WAAW,EACX,MAAM,EACN,MAAM,EACN,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,mBAAmB,+BA+BrB"}
@@ -0,0 +1,35 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Button } from "./button.js";
4
+ import { PendingLabel } from "./pending-label.js";
5
+ import { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, } from "./sheet.js";
6
+ import { WaitingLine } from "./waiting-line.js";
7
+ import { cn } from "../lib/utils.js";
8
+ /**
9
+ * The one drawer every product opens to create, edit or connect a record
10
+ * (DESIGN.md "Menus and commands"): from the right, its title and a close
11
+ * control at the top, the fields in a body that scrolls, the actions in a
12
+ * footer that stays in place with the primary rightmost. On a narrow window it
13
+ * keeps its right edge and fills the width. A centred dialog only confirms a
14
+ * consequence; it never holds a form.
15
+ */
16
+ export function FormDrawer({ open, onOpenChange, onOpenChangeComplete, title, description, closeLabel, children, }) {
17
+ return (_jsx(Sheet, { open: open, onOpenChange: onOpenChange, onOpenChangeComplete: onOpenChangeComplete, children: _jsxs(SheetContent, { className: "max-sm:data-[side=right]:left-nadicode-sm max-sm:data-[side=right]:w-auto", closeLabel: closeLabel, side: "right", children: [_jsxs(SheetHeader, { className: "pr-12", children: [_jsx(SheetTitle, { className: "break-words", children: title }), description ? _jsx(SheetDescription, { children: description }) : null] }), children] }) }));
18
+ }
19
+ /** The part of the drawer that scrolls between its title and its footer. */
20
+ export function FormDrawerBody({ className, ...props }) {
21
+ return (_jsx("div", { "data-slot": "form-drawer-body", className: cn("grid min-h-0 flex-1 grid-cols-[minmax(0,1fr)] content-start gap-4 overflow-y-auto px-nadicode-lg", className), ...props }));
22
+ }
23
+ /** The footer that stays in place under the body: Cancel, then the actions, right-aligned. */
24
+ export function FormDrawerFooter({ cancel, children }) {
25
+ return (_jsxs(SheetFooter, { className: "flex-row flex-wrap items-center justify-end", "data-slot": "form-drawer-footer", children: [cancel ? (_jsx(SheetClose, { disabled: cancel.disabled, render: _jsx(Button, { type: "button", variant: "outline" }), children: cancel.label })) : null, children] }));
26
+ }
27
+ /**
28
+ * The drawer's form: the fields in the body, a notice where the save button
29
+ * is, and the footer with Cancel and the save rightmost. Cancel holds while the
30
+ * save runs, so a running save is never left without its drawer.
31
+ */
32
+ export function FormDrawerForm({ cancelLabel, submit, notice, children, ...form }) {
33
+ const pending = submit.pending === true;
34
+ return (_jsxs("form", { "aria-busy": pending || undefined, className: "flex min-h-0 flex-1 flex-col", "data-slot": "form-drawer-form", ...form, children: [_jsx(FormDrawerBody, { children: children }), notice ? (_jsx("div", { className: "px-nadicode-lg pt-nadicode-md", "data-slot": "form-drawer-notice", children: notice })) : null, _jsxs(FormDrawerFooter, { cancel: { label: cancelLabel, disabled: pending }, children: [_jsx(Button, { "aria-busy": pending || undefined, "aria-describedby": submit.describedBy, disabled: pending || submit.disabled, type: "submit", variant: submit.destructive ? "destructive" : "default", children: _jsx(PendingLabel, { pending: pending, pendingLabel: submit.pendingLabel ?? submit.label, children: submit.label }) }), pending ? _jsx(WaitingLine, { className: "basis-full", decorative: true }) : null] })] }));
35
+ }
@@ -10,6 +10,6 @@ function HoverCardTrigger({ ...props }) {
10
10
  return _jsx(PreviewCardPrimitive.Trigger, { "data-slot": "hover-card-trigger", ...props });
11
11
  }
12
12
  function HoverCardContent({ className, side = "bottom", sideOffset = 4, align = "center", alignOffset = 4, ...props }) {
13
- return (_jsx(PreviewCardPrimitive.Portal, { "data-slot": "hover-card-portal", children: _jsx(PreviewCardPrimitive.Positioner, { align: align, alignOffset: alignOffset, side: side, sideOffset: sideOffset, className: "isolate z-50", children: _jsx(PreviewCardPrimitive.Popup, { "data-slot": "hover-card-content", className: cn("z-50 w-64 rounded-md border-0 bg-popover p-control-padding-inline text-sm text-popover-foreground nc-elevation-floating outline-hidden", anchoredOverlayMotion, className), ...props }) }) }));
13
+ return (_jsx(PreviewCardPrimitive.Portal, { "data-slot": "hover-card-portal", children: _jsx(PreviewCardPrimitive.Positioner, { align: align, alignOffset: alignOffset, side: side, sideOffset: sideOffset, className: "isolate z-50", children: _jsx(PreviewCardPrimitive.Popup, { "data-slot": "hover-card-content", className: cn("z-50 w-64 rounded-lg border-0 bg-popover p-control-padding-inline text-sm text-popover-foreground nc-elevation-floating outline-hidden", anchoredOverlayMotion, className), ...props }) }) }));
14
14
  }
15
15
  export { HoverCard, HoverCardTrigger, HoverCardContent };
@@ -21,7 +21,7 @@ function MenubarTrigger({ className, ...props }) {
21
21
  return (_jsx(DropdownMenuTrigger, { "data-slot": "menubar-trigger", className: cn("flex min-h-touch-target items-center rounded-md px-1.5 py-[2px] text-sm font-medium outline-hidden select-none hover:bg-muted aria-expanded:bg-muted [@media(hover:hover)_and_(pointer:fine)]:min-h-0", className), ...props }));
22
22
  }
23
23
  function MenubarContent({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }) {
24
- return (_jsx(DropdownMenuContent, { "data-slot": "menubar-content", align: align, alignOffset: alignOffset, sideOffset: sideOffset, className: cn("min-w-36 rounded-md border-0 nc-glass p-nadicode-xxs text-popover-foreground nc-elevation-floating", className), ...props }));
24
+ return (_jsx(DropdownMenuContent, { "data-slot": "menubar-content", align: align, alignOffset: alignOffset, sideOffset: sideOffset, className: cn("min-w-36 rounded-lg border-0 nc-glass p-nadicode-xxs text-popover-foreground nc-elevation-floating", className), ...props }));
25
25
  }
26
26
  function MenubarItem({ className, inset, variant = "default", ...props }) {
27
27
  return (_jsx(DropdownMenuItem, { "data-slot": "menubar-item", "data-inset": inset, "data-variant": variant, className: cn("group/menubar-item min-h-touch-target gap-1.5 rounded-md px-1.5 py-1 text-sm focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive-soft-foreground data-[variant=destructive]:focus:bg-destructive-soft data-[variant=destructive]:focus:text-destructive-soft-foreground data-disabled:opacity-50 [@media(hover:hover)_and_(pointer:fine)]:min-h-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive-soft-foreground!", className), ...props }));
@@ -0,0 +1,18 @@
1
+ import { type ResolvedMessage } from "./product-message.js";
2
+ export type MessageNoticeTone = "destructive" | "warning" | "info";
3
+ /**
4
+ * A message where it changes the reader's decision (DESIGN.md "Elevation &
5
+ * Depth", the notice paragraph):
6
+ * - `action`: under the control whose write failed, as one passage with its
7
+ * controls beside it;
8
+ * - `section`: at the top of the section it concerns, framed, for a condition
9
+ * that lasts.
10
+ */
11
+ export type MessageNoticeProps = {
12
+ message: ResolvedMessage;
13
+ placement: "action" | "section";
14
+ tone?: MessageNoticeTone;
15
+ className?: string;
16
+ };
17
+ export declare function MessageNotice({ message, placement, tone, className, }: MessageNoticeProps): import("react").JSX.Element;
18
+ //# sourceMappingURL=message-notice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-notice.d.ts","sourceRoot":"","sources":["../../src/components/message-notice.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE1E,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,CAAC;AAEnE;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,eAAe,CAAC;IACzB,SAAS,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAeF,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,SAAS,EACT,IAAoB,EACpB,SAAS,GACV,EAAE,kBAAkB,+BA2CpB"}
@@ -0,0 +1,19 @@
1
+ "use client";
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { cn } from "../lib/utils.js";
4
+ import { NoticeBanner } from "./notice-banner.js";
5
+ import { PageCommandButton } from "./page-actions.js";
6
+ import { bodyBeyondTitle } from "./product-message.js";
7
+ function MessageActions({ message }) {
8
+ if (message.actions.length === 0) {
9
+ return null;
10
+ }
11
+ return (_jsx("div", { className: "flex flex-wrap items-center gap-2", "data-message-actions": true, children: message.actions.map((action) => (_jsx(PageCommandButton, { command: action, variant: "outline" }, action.label))) }));
12
+ }
13
+ export function MessageNotice({ message, placement, tone = "destructive", className, }) {
14
+ const body = bodyBeyondTitle(message);
15
+ if (placement === "section") {
16
+ return (_jsx(NoticeBanner, { action: message.actions.length > 0 ? _jsx(MessageActions, { message: message }) : undefined, className: className, "data-message-code": message.code, description: body ?? undefined, liveRegion: "polite", title: _jsx("span", { className: "min-w-0 break-words", children: message.title }), tone: tone }));
17
+ }
18
+ return (_jsxs("div", { className: cn("flex min-w-0 flex-col gap-2 text-sm", className), "data-message-code": message.code, "data-message-notice": "action", role: tone === "info" ? "status" : "alert", children: [_jsxs("p", { className: cn("m-0 min-w-0 break-words", tone === "destructive" && "text-destructive", tone === "warning" && "text-warning-soft-foreground", tone === "info" && "text-muted-foreground"), children: [_jsx("span", { className: "block font-medium", children: message.title }), body ? (_jsxs(_Fragment, { children: [" ", _jsx("span", { className: "block", children: body })] })) : null] }), _jsx(MessageActions, { message: message })] }));
19
+ }
@@ -13,6 +13,11 @@ type ModelMarkProps = Omit<React.ComponentProps<"span">, "children"> & {
13
13
  */
14
14
  label?: string;
15
15
  };
16
+ /**
17
+ * A model's maker as LobeHub draws it, in the tile every mark shares, with the
18
+ * model's name beside it when one is given. A maker LobeHub has no mark for
19
+ * keeps its initials and is named in words.
20
+ */
16
21
  declare function ModelMark({ author, name, size, label, className, ...props }: ModelMarkProps): React.JSX.Element;
17
22
  export { ModelMark };
18
23
  export type { ModelMarkProps };
@@ -1 +1 @@
1
- {"version":3,"file":"model-mark.d.ts","sourceRoot":"","sources":["../../src/components/model-mark.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA0J/B,KAAK,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG;IACrE,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4FAA4F;IAC5F,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,iBAAS,SAAS,CAAC,EACjB,MAAM,EACN,IAAI,EACJ,IAAsB,EACtB,KAAK,EACL,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,qBAgEhB;AAED,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,YAAY,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"model-mark.d.ts","sourceRoot":"","sources":["../../src/components/model-mark.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA4F/B,KAAK,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG;IACrE,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4FAA4F;IAC5F,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AA+DF;;;;GAIG;AACH,iBAAS,SAAS,CAAC,EACjB,MAAM,EACN,IAAI,EACJ,IAAsB,EACtB,KAAK,EACL,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,qBAsChB;AAED,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,YAAY,EAAE,cAAc,EAAE,CAAC"}
@@ -1,83 +1,42 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
2
3
  import { cn } from "../lib/utils.js";
3
- import { AionLabsIcon, ArceeIcon, BaiduIcon, ByteDanceIcon, ClaudeIcon, CohereIcon, DeepseekIcon, DolphinIcon, DotsStudioIcon, GeminiIcon, GrokIcon, HuggingFaceIcon, IbmIcon, InclusionAiIcon, InceptionIcon, InferenceIcon, KwaipilotIcon, LiquidIcon, LongcatIcon, MetaIcon, MicrosoftIcon, MinimaxIcon, MistralIcon, MoonshotIcon, MorphIcon, NexAgiIcon, NousResearchIcon, NovaIcon, NvidiaIcon, OpenaiIcon, OpenrouterIcon, PerceptronIcon, PerplexityIcon, PoolsideIcon, QwenIcon, RekaIcon, RelaceIcon, SakanaIcon, StepfunIcon, TencentIcon, TheDrummerIcon, ThinkingMachinesIcon, UnbiasedIcon, UpstageIcon, WriterIcon, XiaomiMimoIcon, ZaiIcon, } from "./brand-icons.js";
4
- function identity(Mark) {
5
- return { Mark, source: "identity" };
6
- }
7
- function openRouterHuggingFaceFallback() {
8
- return { Mark: HuggingFaceIcon, source: "openrouter-hugging-face-fallback" };
9
- }
10
- const MODEL_AUTHOR_MARKS = {
11
- "aion-labs": identity(AionLabsIcon),
12
- amazon: identity(NovaIcon),
13
- "anthracite-org": openRouterHuggingFaceFallback(),
14
- anthropic: identity(ClaudeIcon),
15
- "arcee-ai": identity(ArceeIcon),
16
- baidu: identity(BaiduIcon),
17
- bytedance: identity(ByteDanceIcon),
18
- "bytedance-seed": identity(ByteDanceIcon),
19
- cognitivecomputations: identity(DolphinIcon),
20
- cohere: identity(CohereIcon),
21
- deepseek: identity(DeepseekIcon),
22
- "dots-studio": identity(DotsStudioIcon),
23
- google: identity(GeminiIcon),
24
- gryphe: openRouterHuggingFaceFallback(),
25
- "ibm-granite": identity(IbmIcon),
26
- inception: identity(InceptionIcon),
27
- inclusionai: identity(InclusionAiIcon),
28
- "inference-net": identity(InferenceIcon),
29
- kwaipilot: identity(KwaipilotIcon),
30
- liquid: identity(LiquidIcon),
31
- mancer: openRouterHuggingFaceFallback(),
32
- meituan: identity(LongcatIcon),
33
- meta: identity(MetaIcon),
34
- "meta-llama": identity(MetaIcon),
35
- microsoft: identity(MicrosoftIcon),
36
- minimax: identity(MinimaxIcon),
37
- mistralai: identity(MistralIcon),
38
- moonshotai: identity(MoonshotIcon),
39
- morph: identity(MorphIcon),
40
- "nex-agi": identity(NexAgiIcon),
41
- nousresearch: identity(NousResearchIcon),
42
- nvidia: identity(NvidiaIcon),
43
- openai: identity(OpenaiIcon),
44
- openrouter: identity(OpenrouterIcon),
45
- perceptron: identity(PerceptronIcon),
46
- perplexity: identity(PerplexityIcon),
47
- poolside: identity(PoolsideIcon),
48
- "prism-ml": openRouterHuggingFaceFallback(),
49
- qwen: identity(QwenIcon),
50
- rekaai: identity(RekaIcon),
51
- relace: identity(RelaceIcon),
52
- sakana: identity(SakanaIcon),
53
- sao10k: openRouterHuggingFaceFallback(),
54
- stepfun: identity(StepfunIcon),
55
- tencent: identity(TencentIcon),
56
- thedrummer: identity(TheDrummerIcon),
57
- thinkingmachines: identity(ThinkingMachinesIcon),
58
- unbiased: identity(UnbiasedIcon),
59
- undi95: openRouterHuggingFaceFallback(),
60
- upstage: identity(UpstageIcon),
61
- writer: identity(WriterIcon),
62
- "x-ai": identity(GrokIcon),
63
- xiaomi: identity(XiaomiMimoIcon),
64
- "z-ai": identity(ZaiIcon),
4
+ /**
5
+ * The one table of names: an OpenRouter author slug whose maker LobeHub's icon
6
+ * set files under another name. Every other author is looked up by its slug.
7
+ */
8
+ const LOBEHUB_NAMES = {
9
+ "aion-labs": "aionlabs",
10
+ amazon: "nova",
11
+ anthropic: "claude",
12
+ "arcee-ai": "arcee",
13
+ "bytedance-seed": "bytedance",
14
+ cognitivecomputations: "dolphin",
15
+ "dots-studio": "dotsstudio",
16
+ google: "gemini",
17
+ "ibm-granite": "ibm",
18
+ "inference-net": "inference",
19
+ meituan: "longcat",
20
+ "meta-llama": "meta",
21
+ mistralai: "mistral",
22
+ moonshotai: "moonshot",
23
+ rekaai: "reka",
24
+ "x-ai": "grok",
25
+ xiaomi: "xiaomimimo",
26
+ "z-ai": "zai",
65
27
  };
28
+ /** The shape of every file name in LobeHub's set, without its variant suffix. */
29
+ const LOBEHUB_NAME = /^[a-z0-9]+$/;
66
30
  const MODEL_MARK_SIZE = 24;
67
31
  /** The glyph's share of the tile, the ratio the boards' generator derived. */
68
32
  const MODEL_MARK_GLYPH_RATIO = 0.62;
69
- /**
70
- * Whether a usage read's author slug names a maker this package ships. `hasOwn`
71
- * and not a bare index: the slug is external input, so an author named
72
- * `constructor` or `toString` must reach the neutral tile rather than an
73
- * inherited method.
74
- */
75
- function isModelAuthor(slug) {
76
- return Object.hasOwn(MODEL_AUTHOR_MARKS, slug);
77
- }
78
33
  function normalizedAuthor(author) {
79
34
  return author.trim().toLowerCase().replace(/^~+/, "");
80
35
  }
36
+ function lobehubName(slug) {
37
+ const name = Object.hasOwn(LOBEHUB_NAMES, slug) ? LOBEHUB_NAMES[slug] : slug;
38
+ return name && LOBEHUB_NAME.test(name) ? name : undefined;
39
+ }
81
40
  function authorInitials(author) {
82
41
  const words = author.split(/[^a-z0-9]+/).filter(Boolean);
83
42
  return (words
@@ -86,10 +45,55 @@ function authorInitials(author) {
86
45
  .join("")
87
46
  .toUpperCase() || "?");
88
47
  }
48
+ /*
49
+ * The UI build writes every mark of LobeHub's set into `dist/model-marks/`,
50
+ * one module each, so the bundler splits them and a page fetches only the
51
+ * marks it draws. The server waits for the module, and the browser keeps the
52
+ * server's mark while it hydrates. `use` remembers a promise it has seen
53
+ * settle, so a mark drawn again renders at once.
54
+ */
55
+ const marks = new Map();
56
+ function makerMark(name) {
57
+ let mark = marks.get(name);
58
+ if (!mark) {
59
+ mark = import(`../model-marks/${name}-color.js`)
60
+ .catch(() => import(`../model-marks/${name}.js`))
61
+ .then((module) => module.default, () => null);
62
+ marks.set(name, mark);
63
+ }
64
+ return mark;
65
+ }
66
+ /** The artwork's ids, scoped to one drawing, so two marks on a page never share a gradient. */
67
+ function scopedIds(svg, scope) {
68
+ let scoped = svg;
69
+ for (const [, id] of svg.matchAll(/\sid="([^"]+)"/g)) {
70
+ scoped = scoped
71
+ .replaceAll(`id="${id}"`, `id="${scope}-${id}"`)
72
+ .replaceAll(`#${id})`, `#${scope}-${id})`)
73
+ .replaceAll(`#${id}"`, `#${scope}-${id}"`);
74
+ }
75
+ return scoped;
76
+ }
77
+ /**
78
+ * The tile and the name. `svg` is the maker's mark, `null` when LobeHub has
79
+ * none, and `undefined` while it loads, when the tile stays empty at its size.
80
+ */
81
+ function MarkReading({ author, slug, name, size, svg, }) {
82
+ const scope = React.useId().replace(/[^\w]/g, "");
83
+ const glyph = Math.round(size * MODEL_MARK_GLYPH_RATIO);
84
+ return (_jsxs(_Fragment, { children: [_jsx("span", { "data-slot": "model-mark-tile", "aria-hidden": "true", className: "inline-flex shrink-0 items-center justify-center rounded-md border border-border bg-background text-foreground", style: { width: size, height: size }, children: svg ? (_jsx("span", { className: "inline-flex *:size-full", dangerouslySetInnerHTML: { __html: scopedIds(svg, scope) }, "data-slot": "model-mark-glyph", style: { width: glyph, height: glyph } })) : svg === null ? (_jsx("span", { className: "font-semibold leading-none text-muted-foreground", "data-slot": "model-author-monogram", style: { fontSize: Math.max(8, Math.round(size * 0.32)) }, children: authorInitials(slug) })) : null }), name ? (_jsxs("span", { className: "min-w-0 truncate", children: [_jsx("span", { className: "font-medium", children: name }), svg === null ? (_jsxs(_Fragment, { children: [" ", _jsx("span", { className: "text-xs text-muted-foreground", children: author })] })) : null] })) : null] }));
85
+ }
86
+ function LoadedReading({ mark, ...reading }) {
87
+ return _jsx(MarkReading, { ...reading, svg: React.use(makerMark(mark)) });
88
+ }
89
+ /**
90
+ * A model's maker as LobeHub draws it, in the tile every mark shares, with the
91
+ * model's name beside it when one is given. A maker LobeHub has no mark for
92
+ * keeps its initials and is named in words.
93
+ */
89
94
  function ModelMark({ author, name, size = MODEL_MARK_SIZE, label, className, ...props }) {
90
95
  const slug = normalizedAuthor(author);
91
- const definition = isModelAuthor(slug) ? MODEL_AUTHOR_MARKS[slug] : undefined;
92
- const Mark = definition?.Mark;
96
+ const mark = lobehubName(slug);
93
97
  // A name reaches the root from `label` or from the caller's own aria
94
98
  // attributes; only the `label` prop also states the role, because a name
95
99
  // alone on a generic element is not an accessible name. A mark with no name
@@ -101,6 +105,7 @@ function ModelMark({ author, name, size = MODEL_MARK_SIZE, label, className, ...
101
105
  : label?.trim()
102
106
  ? { role: "img", "aria-label": label }
103
107
  : {};
104
- return (_jsxs("span", { "data-slot": "model-mark", "data-author": author, "data-resolved-author": slug, className: cn("inline-flex min-w-0 max-w-full items-center gap-1.5", className), ...props, ...labelling, children: [_jsx("span", { "data-slot": "model-mark-tile", "data-mark": Mark ? "brand" : "monogram", "data-mark-source": definition?.source, "aria-hidden": "true", className: "inline-flex shrink-0 items-center justify-center rounded-md border border-border bg-background text-foreground", style: { width: size, height: size }, children: Mark ? (_jsx(Mark, { size: Math.round(size * MODEL_MARK_GLYPH_RATIO) })) : (_jsx("span", { "aria-hidden": "true", className: "font-semibold leading-none text-muted-foreground", "data-slot": "model-author-monogram", style: { fontSize: Math.max(8, Math.round(size * 0.32)) }, children: authorInitials(slug) })) }), name ? (_jsxs("span", { className: "min-w-0 truncate", children: [_jsx("span", { className: "font-medium", children: name }), Mark ? null : (_jsxs(_Fragment, { children: [" ", _jsx("span", { className: "text-xs text-muted-foreground", children: author })] }))] })) : null] }));
108
+ const reading = { author, slug, name, size };
109
+ return (_jsx("span", { "data-slot": "model-mark", "data-author": author, "data-resolved-author": slug, "data-maker": mark, className: cn("inline-flex min-w-0 max-w-full items-center gap-1.5", className), ...props, ...labelling, children: mark ? (_jsx(React.Suspense, { fallback: _jsx(MarkReading, { ...reading, svg: undefined }), children: _jsx(LoadedReading, { ...reading, mark: mark }) })) : (_jsx(MarkReading, { ...reading, svg: null })) }));
105
110
  }
106
111
  export { ModelMark };