@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,4 +1,4 @@
1
- import type { ReactNode } from "react";
1
+ import type { ComponentProps, ReactNode } from "react";
2
2
  export type ObjectFact = {
3
3
  label: string;
4
4
  value: ReactNode;
@@ -9,20 +9,32 @@ export type ObjectFact = {
9
9
  */
10
10
  block?: boolean;
11
11
  };
12
- export type ObjectIdentitySupportFacts = {
13
- facts: readonly ObjectFact[];
12
+ export type ObjectIdentityFact = {
14
13
  label: string;
14
+ value: ReactNode;
15
15
  };
16
- export declare function ObjectIdentity({ visual, title, description, metadata, action, editAction, layout, support, }: {
16
+ /**
17
+ * An object's page opens with this header on the page ground, never in a card:
18
+ * its picture, its name, one line saying what it is, a row of key facts, and at
19
+ * the trailing edge the page's one primary action and its three dots. The
20
+ * sections below it are the cards. On a page it opens, the header is the page's
21
+ * title and its name is the h1; elsewhere the name is text at heading size.
22
+ */
23
+ export declare function ObjectIdentity({ visual, title, description, facts, action, menu, headingProps, }: {
17
24
  /** The object's picture: an Agent's orb, an app's mark. A skill, which is text, has none. */
18
25
  visual?: ReactNode;
19
26
  title: ReactNode;
20
27
  description?: ReactNode;
21
- metadata?: ReactNode;
28
+ facts?: readonly ObjectIdentityFact[];
29
+ /** The page's single primary action. */
22
30
  action?: ReactNode;
23
- editAction?: ReactNode;
24
- layout?: "inline" | "stacked";
25
- support?: ObjectIdentitySupportFacts;
31
+ /** The three dots holding every other action on the object. */
32
+ menu?: ReactNode;
33
+ /**
34
+ * Given on a page this header opens, where the name is the page's title: the
35
+ * name is then its h1, with these attributes. Without it the name is text.
36
+ */
37
+ headingProps?: Omit<ComponentProps<"h1">, "children">;
26
38
  }): import("react").JSX.Element;
27
39
  export declare function ObjectOverview({ primary, supporting, }: {
28
40
  primary: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"object-workspace.d.ts","sourceRoot":"","sources":["../../src/components/object-workspace.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,KAAK,EACL,WAAW,EACX,QAAQ,EACR,MAAM,EACN,UAAU,EACV,MAAiB,EACjB,OAAO,GACR,EAAE;IACD,6FAA6F;IAC7F,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,0BAA0B,CAAC;CACtC,+BAsCA;AAED,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,UAAU,GACX,EAAE;IACD,OAAO,EAAE,SAAS,CAAC;IACnB,UAAU,EAAE,SAAS,CAAC;CACvB,+BAUA;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,WAAW,EACX,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,YAAgB,GACjB,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;IACpB,sFAAsF;IACtF,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAC1B,+BAkBA;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,OAAmB,GACpB,EAAE;IACD,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CACjC,+BAkCA"}
1
+ {"version":3,"file":"object-workspace.d.ts","sourceRoot":"","sources":["../../src/components/object-workspace.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvD,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAErE;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,KAAK,EACL,WAAW,EACX,KAAK,EACL,MAAM,EACN,IAAI,EACJ,YAAY,GACb,EAAE;IACD,6FAA6F;IAC7F,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,KAAK,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACtC,wCAAwC;IACxC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,YAAY,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;CACvD,+BA0CA;AAED,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,UAAU,GACX,EAAE;IACD,OAAO,EAAE,SAAS,CAAC;IACnB,UAAU,EAAE,SAAS,CAAC;CACvB,+BAUA;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,WAAW,EACX,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,YAAgB,GACjB,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;IACpB,sFAAsF;IACtF,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAC1B,+BAkBA;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,OAAmB,GACpB,EAAE;IACD,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CACjC,+BAkCA"}
@@ -1,11 +1,16 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { cn } from "../lib/utils.js";
3
3
  import { Card, CardAction, CardContent, CardDescription, CardHeader, CardTitle } from "./card.js";
4
- import { ObjectIdentitySupport } from "../internal/object-identity-support.js";
5
- export function ObjectIdentity({ visual, title, description, metadata, action, editAction, layout = "inline", support, }) {
6
- return (_jsxs(Card, { className: layout === "inline" && support
7
- ? "min-w-0 lg:grid lg:grid-cols-[minmax(0,1fr)_minmax(0,1.25fr)] lg:items-center"
8
- : "min-w-0", render: _jsx("header", { "data-slot": "object-identity" }), size: "sm", children: [_jsxs(CardHeader, { children: [_jsxs("div", { className: "flex min-w-0 items-center gap-4", children: [visual ? _jsx("div", { className: "shrink-0", children: visual }) : null, _jsxs("div", { className: "grid min-w-0 gap-1.5", children: [_jsx(CardTitle, { className: "break-words", children: title }), description ? _jsx(CardDescription, { children: description }) : null, metadata ? (_jsx("div", { className: "flex flex-wrap items-center gap-x-4 gap-y-1 text-xs text-muted-foreground", children: metadata })) : null] })] }), editAction ? _jsx(CardAction, { children: editAction }) : null] }), support || action ? (_jsxs(CardContent, { className: "flex min-w-0 flex-wrap items-start gap-4", children: [support ? (_jsx(ObjectIdentitySupport, { label: support.label, children: _jsx(ObjectFacts, { density: "compact", facts: support.facts }) })) : null, action ? _jsx("div", { className: "min-w-0 flex-1 basis-full", children: action }) : null] })) : null] }));
4
+ /**
5
+ * An object's page opens with this header on the page ground, never in a card:
6
+ * its picture, its name, one line saying what it is, a row of key facts, and at
7
+ * the trailing edge the page's one primary action and its three dots. The
8
+ * sections below it are the cards. On a page it opens, the header is the page's
9
+ * title and its name is the h1; elsewhere the name is text at heading size.
10
+ */
11
+ export function ObjectIdentity({ visual, title, description, facts, action, menu, headingProps, }) {
12
+ const nameClass = "text-2xl leading-8 font-semibold break-words text-foreground";
13
+ return (_jsxs("header", { className: "grid min-w-0 gap-5", "data-slot": "object-identity", children: [_jsxs("div", { className: "flex min-w-0 flex-wrap items-center justify-between gap-x-6 gap-y-4", children: [_jsxs("div", { className: "flex min-w-0 flex-1 basis-72 items-center gap-4", children: [visual ? _jsx("div", { className: "shrink-0", children: visual }) : null, _jsxs("div", { className: "grid min-w-0 gap-1", children: [headingProps ? (_jsx("h1", { ...headingProps, className: cn(nameClass, "outline-none", headingProps.className), children: title })) : (_jsx("p", { className: nameClass, children: title })), description ? (_jsx("div", { className: "min-w-0 text-base text-muted-foreground", children: description })) : null] })] }), action || menu ? (_jsxs("div", { className: "flex shrink-0 items-center gap-2", "data-slot": "object-identity-actions", children: [action, menu] })) : null] }), facts && facts.length > 0 ? (_jsx("dl", { className: "flex min-w-0 flex-wrap gap-x-10 gap-y-4", "data-slot": "object-identity-facts", children: facts.map((fact) => (_jsxs("div", { className: "grid min-w-0 gap-1", children: [_jsx("dt", { className: "text-xs text-muted-foreground", children: fact.label }), _jsx("dd", { className: "flex min-h-6 min-w-0 items-center text-sm", children: fact.value })] }, fact.label))) })) : null] }));
9
14
  }
10
15
  export function ObjectOverview({ primary, supporting, }) {
11
16
  return (_jsxs("div", { "data-slot": "object-overview", className: "grid min-w-0 items-start gap-6 xl:grid-cols-[minmax(0,1.6fr)_minmax(0,1fr)]", children: [_jsx("div", { className: "grid min-w-0 gap-6", children: primary }), _jsx("div", { className: "grid min-w-0 gap-6", children: supporting })] }));
@@ -0,0 +1,65 @@
1
+ import { type MouseEvent, type ReactElement, type ReactNode } from "react";
2
+ export type PageCommandAction = {
3
+ onClick: (event: MouseEvent<HTMLElement>) => void;
4
+ render?: never;
5
+ }
6
+ /**
7
+ * The element the command is, such as the product's router link, which keeps
8
+ * its own role and behaviour and takes the slot's look.
9
+ */
10
+ | {
11
+ render: ReactElement;
12
+ onClick?: never;
13
+ };
14
+ /** A command drawn as a button on the title's row. Its variant is its slot's. */
15
+ export type PageCommand = PageCommandAction & {
16
+ label: string;
17
+ icon?: ReactElement;
18
+ /** Opens outside the product, marked with the arrow at its end. */
19
+ external?: boolean;
20
+ disabled?: boolean;
21
+ };
22
+ export type PageMenuCommand = PageCommandAction & {
23
+ label: string;
24
+ icon?: ReactElement;
25
+ disabled?: boolean;
26
+ destructive?: boolean;
27
+ };
28
+ /** The page's three dots, which open only for two commands or more. */
29
+ export type PageMenu = {
30
+ label: string;
31
+ commands: readonly [PageMenuCommand, PageMenuCommand, ...PageMenuCommand[]];
32
+ };
33
+ /**
34
+ * A page's actions (DESIGN.md "Page compositions"): the three dots, then at
35
+ * most one `outline` button, then the one `default` primary, rightmost.
36
+ */
37
+ export type PageActionsProps = {
38
+ primary?: PageCommand | undefined;
39
+ secondary?: PageCommand | undefined;
40
+ menu?: PageMenu | undefined;
41
+ };
42
+ /** One command as a button in a given slot's variant. */
43
+ export declare function PageCommandButton({ command, variant, }: {
44
+ command: PageCommand;
45
+ variant: "default" | "outline" | "ghost";
46
+ }): import("react").JSX.Element;
47
+ /** The row of a page's actions where it stands, for a page whose header is its own card. */
48
+ export declare function PageActionsRow({ primary, secondary, menu }: PageActionsProps): import("react").JSX.Element | null;
49
+ /**
50
+ * Holds the place on the title's row where the open page puts its actions. The
51
+ * product's chrome draws the row (`PageHeader`) and the page below draws its
52
+ * commands (`PageActions`), so the two meet here rather than through props.
53
+ */
54
+ export declare function PageActionsHostProvider({ children }: {
55
+ children: ReactNode;
56
+ }): import("react").JSX.Element;
57
+ /** The element on `PageHeader`'s title row that the page's `PageActions` render into. */
58
+ export declare function PageActionsSlot(): import("react").JSX.Element;
59
+ /**
60
+ * A page's actions, drawn on its title's row. Only the page shown last owns
61
+ * the row: a page kept hidden for a quick return gives the row back. Outside a
62
+ * `PageActionsHostProvider`, they render where they stand.
63
+ */
64
+ export declare function PageActions(props: PageActionsProps): import("react").JSX.Element | null;
65
+ //# sourceMappingURL=page-actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-actions.d.ts","sourceRoot":"","sources":["../../src/components/page-actions.tsx"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,SAAS,EAMf,MAAM,OAAO,CAAC;AAOf,MAAM,MAAM,iBAAiB,GACzB;IAAE,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,KAAK,CAAA;CAAE;AACvE;;;GAGG;GACD;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,OAAO,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAE9C,iFAAiF;AACjF,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,iBAAiB,GAAG;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,uEAAuE;AACvE,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC,eAAe,EAAE,eAAe,EAAE,GAAG,eAAe,EAAE,CAAC,CAAC;CAC7E,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAClC,SAAS,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACpC,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC7B,CAAC;AAwBF,yDAAyD;AACzD,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,OAAO,GACR,EAAE;IACD,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;CAC1C,+BAoBA;AAsBD,4FAA4F;AAC5F,wBAAgB,cAAc,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,gBAAgB,sCAe5E;AAYD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,+BAa5E;AAED,yFAAyF;AACzF,wBAAgB,eAAe,gCAS9B;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,sCAoBlD"}
@@ -0,0 +1,76 @@
1
+ "use client";
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useRender } from "@base-ui/react/use-render";
4
+ import { ArrowUpRight } from "lucide-react";
5
+ import { createContext, useCallback, useContext, useEffect, useId, useState, } from "react";
6
+ import { createPortal } from "react-dom";
7
+ import { ActionMenu } from "./action-menu.js";
8
+ import { Button, buttonVariants } from "./button.js";
9
+ import { DropdownMenuItem, DropdownMenuSeparator } from "./dropdown-menu.js";
10
+ function CommandElement({ children, disabled, element, variant, }) {
11
+ return useRender({
12
+ render: element,
13
+ props: {
14
+ "aria-disabled": disabled || undefined,
15
+ children,
16
+ className: buttonVariants({ variant }),
17
+ "data-slot": "button",
18
+ },
19
+ });
20
+ }
21
+ /** One command as a button in a given slot's variant. */
22
+ export function PageCommandButton({ command, variant, }) {
23
+ const content = (_jsxs(_Fragment, { children: [command.icon ? _jsx("span", { "data-icon": "inline-start", children: command.icon }) : null, command.label, command.external ? _jsx(ArrowUpRight, { "aria-hidden": "true", "data-icon": "inline-end" }) : null] }));
24
+ if (command.render) {
25
+ return (_jsx(CommandElement, { disabled: command.disabled, element: command.render, variant: variant, children: content }));
26
+ }
27
+ return (_jsx(Button, { disabled: command.disabled, onClick: command.onClick, type: "button", variant: variant, children: content }));
28
+ }
29
+ function MenuCommand({ command }) {
30
+ return (_jsxs(_Fragment, { children: [command.destructive ? _jsx(DropdownMenuSeparator, {}) : null, _jsxs(DropdownMenuItem, { disabled: command.disabled, variant: command.destructive ? "destructive" : "default", ...(command.render ? { render: command.render } : { onClick: command.onClick }), children: [command.label, command.icon ? (_jsx("span", { "aria-hidden": "true", className: "ml-auto flex items-center", children: command.icon })) : null] })] }));
31
+ }
32
+ /** The row of a page's actions where it stands, for a page whose header is its own card. */
33
+ export function PageActionsRow({ primary, secondary, menu }) {
34
+ if (!primary && !secondary && !menu)
35
+ return null;
36
+ return (_jsxs("div", { "data-slot": "page-actions", className: "flex shrink-0 flex-wrap items-center gap-2", children: [menu ? (_jsx(ActionMenu, { label: menu.label, children: menu.commands.map((command) => (_jsx(MenuCommand, { command: command }, command.label))) })) : null, secondary ? _jsx(PageCommandButton, { command: secondary, variant: "outline" }) : null, primary ? _jsx(PageCommandButton, { command: primary, variant: "default" }) : null] }));
37
+ }
38
+ const PageActionsHostContext = createContext(null);
39
+ /**
40
+ * Holds the place on the title's row where the open page puts its actions. The
41
+ * product's chrome draws the row (`PageHeader`) and the page below draws its
42
+ * commands (`PageActions`), so the two meet here rather than through props.
43
+ */
44
+ export function PageActionsHostProvider({ children }) {
45
+ const [element, attach] = useState(null);
46
+ const [owner, setOwner] = useState(null);
47
+ const claim = useCallback((next) => setOwner(next), []);
48
+ const release = useCallback((previous) => setOwner((current) => (current === previous ? null : current)), []);
49
+ return (_jsx(PageActionsHostContext, { value: { element, attach, owner, claim, release }, children: children }));
50
+ }
51
+ /** The element on `PageHeader`'s title row that the page's `PageActions` render into. */
52
+ export function PageActionsSlot() {
53
+ const host = useContext(PageActionsHostContext);
54
+ return (_jsx("div", { "data-slot": "page-header-actions", className: "flex shrink-0 items-center empty:hidden", ref: host?.attach }));
55
+ }
56
+ /**
57
+ * A page's actions, drawn on its title's row. Only the page shown last owns
58
+ * the row: a page kept hidden for a quick return gives the row back. Outside a
59
+ * `PageActionsHostProvider`, they render where they stand.
60
+ */
61
+ export function PageActions(props) {
62
+ const host = useContext(PageActionsHostContext);
63
+ const id = useId();
64
+ const claim = host?.claim;
65
+ const release = host?.release;
66
+ useEffect(() => {
67
+ claim?.(id);
68
+ return () => release?.(id);
69
+ }, [claim, release, id]);
70
+ if (!host) {
71
+ return (_jsx("div", { className: "flex justify-end empty:hidden", children: _jsx(PageActionsRow, { ...props }) }));
72
+ }
73
+ if (!host.element || host.owner !== id)
74
+ return null;
75
+ return createPortal(_jsx(PageActionsRow, { ...props }), host.element);
76
+ }
@@ -0,0 +1,14 @@
1
+ import * as React from "react";
2
+ /**
3
+ * The top of a product page (DESIGN.md "Page compositions"): its title at
4
+ * heading size on the left, the page's actions on the title's row at the right,
5
+ * which the page draws with `PageActions`. Nothing explains the page under its
6
+ * title. The path above it is the top bar's; the toolbar below it holds only
7
+ * filters, search and sort.
8
+ */
9
+ declare function PageHeader({ title, headingProps, className, ...props }: Omit<React.ComponentProps<"header">, "title" | "children"> & {
10
+ title: React.ReactNode;
11
+ headingProps?: Omit<React.ComponentProps<"h1">, "children">;
12
+ }): React.JSX.Element;
13
+ export { PageHeader };
14
+ //# sourceMappingURL=page-header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-header.d.ts","sourceRoot":"","sources":["../../src/components/page-header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B;;;;;;GAMG;AACH,iBAAS,UAAU,CAAC,EAClB,KAAK,EACL,YAAY,EACZ,SAAS,EACT,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,GAAG;IAC9D,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,YAAY,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;CAC7D,qBAiBA;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from "../lib/utils.js";
3
+ import { PageActionsSlot } from "./page-actions.js";
4
+ /**
5
+ * The top of a product page (DESIGN.md "Page compositions"): its title at
6
+ * heading size on the left, the page's actions on the title's row at the right,
7
+ * which the page draws with `PageActions`. Nothing explains the page under its
8
+ * title. The path above it is the top bar's; the toolbar below it holds only
9
+ * filters, search and sort.
10
+ */
11
+ function PageHeader({ title, headingProps, className, ...props }) {
12
+ return (_jsx("header", { "data-slot": "page-header", className: cn("min-w-0", className), ...props, children: _jsxs("div", { className: "flex min-h-9 min-w-0 flex-wrap items-center justify-between gap-x-6 gap-y-3", children: [_jsx("h1", { ...headingProps, className: cn("min-w-0 flex-1 basis-48 truncate nc-type-heading-md text-foreground outline-none", headingProps?.className), children: title }), _jsx(PageActionsSlot, {})] }) }));
13
+ }
14
+ export { PageHeader };
@@ -0,0 +1,36 @@
1
+ import { type IconifyIcon, type IconProps } from "@iconify/react/offline";
2
+ import * as React from "react";
3
+ /**
4
+ * The platforms the products name, operating systems, messaging channels and
5
+ * sign-in providers, each by its mark in Iconify's `logos` set, one module per
6
+ * mark, so a page carries these and no other.
7
+ */
8
+ declare const PLATFORMS: {
9
+ apple: IconifyIcon;
10
+ discord: IconifyIcon;
11
+ google: IconifyIcon;
12
+ linux: IconifyIcon;
13
+ microsoft: IconifyIcon;
14
+ slack: IconifyIcon;
15
+ teams: IconifyIcon;
16
+ telegram: IconifyIcon;
17
+ whatsapp: IconifyIcon;
18
+ windows: IconifyIcon;
19
+ };
20
+ type PlatformName = keyof typeof PLATFORMS;
21
+ /** Whether a name, such as a channel a record reports, is a platform with a mark. */
22
+ declare function isPlatform(name: string): name is PlatformName;
23
+ type PlatformMarkProps = Omit<IconProps, "children" | "icon" | "ref"> & {
24
+ platform: PlatformName;
25
+ /** The box in CSS pixels; the artwork keeps its own ratio inside it. */
26
+ size?: number;
27
+ };
28
+ /**
29
+ * A platform's genuine mark, drawn at once on the server and in the browser.
30
+ * It always sits beside the name that reads it, so assistive technology skips
31
+ * it.
32
+ */
33
+ declare function PlatformMark({ platform, size, ...props }: PlatformMarkProps): React.JSX.Element;
34
+ export { PlatformMark, isPlatform };
35
+ export type { PlatformMarkProps, PlatformName };
36
+ //# sourceMappingURL=platform-mark.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-mark.d.ts","sourceRoot":"","sources":["../../src/components/platform-mark.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAWhF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;GAIG;AACH,QAAA,MAAM,SAAS;;;;;;;;;;;CAWwB,CAAC;AAExC,KAAK,YAAY,GAAG,MAAM,OAAO,SAAS,CAAC;AAE3C,qFAAqF;AACrF,iBAAS,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,YAAY,CAEtD;AAOD,KAAK,iBAAiB,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM,GAAG,KAAK,CAAC,GAAG;IACtE,QAAQ,EAAE,YAAY,CAAC;IACvB,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;GAIG;AACH,iBAAS,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,qBAgBzE;AAED,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AACpC,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,49 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Icon } from "@iconify/react/offline";
3
+ import apple from "@iconify-icons/logos/apple";
4
+ import discord from "@iconify-icons/logos/discord-icon";
5
+ import google from "@iconify-icons/logos/google-icon";
6
+ import linux from "@iconify-icons/logos/linux-tux";
7
+ import microsoft from "@iconify-icons/logos/microsoft-icon";
8
+ import teams from "@iconify-icons/logos/microsoft-teams";
9
+ import windows from "@iconify-icons/logos/microsoft-windows-icon";
10
+ import slack from "@iconify-icons/logos/slack-icon";
11
+ import telegram from "@iconify-icons/logos/telegram";
12
+ import whatsapp from "@iconify-icons/logos/whatsapp-icon";
13
+ import * as React from "react";
14
+ /**
15
+ * The platforms the products name, operating systems, messaging channels and
16
+ * sign-in providers, each by its mark in Iconify's `logos` set, one module per
17
+ * mark, so a page carries these and no other.
18
+ */
19
+ const PLATFORMS = {
20
+ apple,
21
+ discord,
22
+ google,
23
+ linux,
24
+ microsoft,
25
+ slack,
26
+ teams,
27
+ telegram,
28
+ whatsapp,
29
+ windows,
30
+ };
31
+ /** Whether a name, such as a channel a record reports, is a platform with a mark. */
32
+ function isPlatform(name) {
33
+ return Object.hasOwn(PLATFORMS, name);
34
+ }
35
+ /** A mark that declares no paint of its own is one silhouette, so it takes the text colour. */
36
+ function silhouette(icon) {
37
+ return !/\b(?:fill|stroke|stop-color)=/.test(icon.body);
38
+ }
39
+ /**
40
+ * A platform's genuine mark, drawn at once on the server and in the browser.
41
+ * It always sits beside the name that reads it, so assistive technology skips
42
+ * it.
43
+ */
44
+ function PlatformMark({ platform, size = 24, ...props }) {
45
+ const icon = PLATFORMS[platform];
46
+ const scope = React.useId().replace(/[^\w]/g, "");
47
+ return (_jsx(Icon, { ...props, "aria-hidden": "true", "data-platform": platform, "data-slot": "platform-mark", fill: silhouette(icon) ? "currentColor" : undefined, height: size, icon: icon, id: scope, width: size }));
48
+ }
49
+ export { PlatformMark, isPlatform };
@@ -9,7 +9,7 @@ function PopoverTrigger({ ...props }) {
9
9
  return _jsx(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
10
10
  }
11
11
  function PopoverContent({ className, align = "center", alignOffset = 0, side = "bottom", sideOffset = 4, anchor, ...props }) {
12
- return (_jsx(PopoverPrimitive.Portal, { children: _jsx(PopoverPrimitive.Positioner, { align: align, alignOffset: alignOffset, side: side, sideOffset: sideOffset, anchor: anchor, className: "isolate z-50", children: _jsx(PopoverPrimitive.Popup, { "data-slot": "popover-content", className: cn("z-50 flex w-72 flex-col gap-control-padding-inline rounded-md border-0 nc-glass p-control-padding-inline text-sm text-popover-foreground nc-elevation-floating outline-hidden", anchoredOverlayMotion, className), ...props }) }) }));
12
+ return (_jsx(PopoverPrimitive.Portal, { children: _jsx(PopoverPrimitive.Positioner, { align: align, alignOffset: alignOffset, side: side, sideOffset: sideOffset, anchor: anchor, className: "isolate z-50", children: _jsx(PopoverPrimitive.Popup, { "data-slot": "popover-content", className: cn("z-50 flex w-72 flex-col gap-control-padding-inline rounded-lg border-0 nc-glass p-control-padding-inline text-sm text-popover-foreground nc-elevation-floating outline-hidden", anchoredOverlayMotion, className), ...props }) }) }));
13
13
  }
14
14
  function PopoverHeader({ className, ...props }) {
15
15
  return (_jsx("div", { "data-slot": "popover-header", className: cn("flex flex-col gap-0.5 text-sm", className), ...props }));
@@ -0,0 +1,33 @@
1
+ import type { PageCommand } from "./page-actions.js";
2
+ /**
3
+ * A failure or notice a person reads, as data: a code from the product's
4
+ * catalogue, the values its words take, and the raw text behind it, which is
5
+ * logged and never shown (docs/adr/2026-10-08-every-message-a-customer-reads-is-a-code-its-products-catalogue-words.md).
6
+ */
7
+ export type MessageParams = Readonly<Record<string, string | number>>;
8
+ export type ProductMessage<Code extends string = string> = {
9
+ readonly code: Code;
10
+ readonly params?: MessageParams;
11
+ readonly diagnostic?: string;
12
+ };
13
+ /** A control of a message, labelled with its result. */
14
+ export type MessageAction = PageCommand;
15
+ declare const worded: unique symbol;
16
+ /** A message in the reader's words, which only the product's catalogue makes through `wordMessage`. */
17
+ export type ResolvedMessage = {
18
+ readonly code: string;
19
+ readonly title: string;
20
+ readonly body: string;
21
+ readonly actions: readonly MessageAction[];
22
+ readonly [worded]: true;
23
+ };
24
+ export declare function wordMessage(parts: {
25
+ code: string;
26
+ title: string;
27
+ body: string;
28
+ actions?: readonly MessageAction[];
29
+ }): ResolvedMessage;
30
+ /** The body a surface shows: none when it would repeat the title. */
31
+ export declare function bodyBeyondTitle(message: ResolvedMessage): string | null;
32
+ export {};
33
+ //# sourceMappingURL=product-message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-message.d.ts","sourceRoot":"","sources":["../../src/components/product-message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;AAEtE,MAAM,MAAM,cAAc,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,IAAI;IACzD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,wDAAwD;AACxD,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC;AAExC,OAAO,CAAC,MAAM,MAAM,EAAE,OAAO,MAAM,CAAC;AAEpC,uGAAuG;AACvG,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;IAC3C,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;CACzB,CAAC;AAEF,wBAAgB,WAAW,CAAC,KAAK,EAAE;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;CACpC,GAAG,eAAe,CAElB;AAED,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAGvE"}
@@ -0,0 +1,8 @@
1
+ export function wordMessage(parts) {
2
+ return { ...parts, actions: parts.actions ?? [] };
3
+ }
4
+ /** The body a surface shows: none when it would repeat the title. */
5
+ export function bodyBeyondTitle(message) {
6
+ const body = message.body.trim();
7
+ return body && body !== message.title.trim() ? body : null;
8
+ }
@@ -15,7 +15,7 @@ function SelectTrigger({ className, size = "default", children, ...props }) {
15
15
  return (_jsxs(SelectPrimitive.Trigger, { "data-slot": "select-trigger", "data-size": size, className: cn("flex h-control-height min-h-touch-target w-fit items-center justify-between gap-1.5 rounded-md border border-input bg-background py-2 pr-2 pl-control-padding-inline text-sm whitespace-nowrap transition-colors select-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive data-placeholder:text-placeholder data-[size=sm]:h-7 [@media(hover:hover)_and_(pointer:fine)]:min-h-0 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), ...props, children: [children, _jsx(SelectPrimitive.Icon, { render: _jsx(ChevronDownIcon, { className: "pointer-events-none size-4 text-muted-foreground" }) })] }));
16
16
  }
17
17
  function SelectContent({ className, children, side = "bottom", sideOffset = 4, align = "center", alignOffset = 0, alignItemWithTrigger = true, ...props }) {
18
- return (_jsx(SelectPrimitive.Portal, { children: _jsx(SelectPrimitive.Positioner, { side: side, sideOffset: sideOffset, align: align, alignOffset: alignOffset, alignItemWithTrigger: alignItemWithTrigger, className: "isolate z-50", children: _jsxs(SelectPrimitive.Popup, { "data-slot": "select-content", "data-align-trigger": alignItemWithTrigger, className: cn("relative isolate z-50 max-h-(--available-height) w-auto max-w-(--available-width) min-w-(--anchor-width) overflow-x-hidden overflow-y-auto rounded-md border-0 nc-glass text-popover-foreground nc-elevation-floating data-[align-trigger=true]:transition-none", anchoredOverlayMotion, className), ...props, children: [_jsx(SelectScrollUpButton, {}), _jsx(SelectPrimitive.List, { children: children }), _jsx(SelectScrollDownButton, {})] }) }) }));
18
+ return (_jsx(SelectPrimitive.Portal, { children: _jsx(SelectPrimitive.Positioner, { side: side, sideOffset: sideOffset, align: align, alignOffset: alignOffset, alignItemWithTrigger: alignItemWithTrigger, className: "isolate z-50", children: _jsxs(SelectPrimitive.Popup, { "data-slot": "select-content", "data-align-trigger": alignItemWithTrigger, className: cn("relative isolate z-50 max-h-(--available-height) w-auto max-w-(--available-width) min-w-(--anchor-width) overflow-x-hidden overflow-y-auto rounded-lg border-0 nc-glass text-popover-foreground nc-elevation-floating data-[align-trigger=true]:transition-none", anchoredOverlayMotion, className), ...props, children: [_jsx(SelectScrollUpButton, {}), _jsx(SelectPrimitive.List, { children: children }), _jsx(SelectScrollDownButton, {})] }) }) }));
19
19
  }
20
20
  function SelectLabel({ className, ...props }) {
21
21
  return (_jsx(SelectPrimitive.GroupLabel, { "data-slot": "select-label", className: cn("px-1.5 py-1 text-xs text-muted-foreground", className), ...props }));
@@ -1 +1 @@
1
- {"version":3,"file":"settings-facts.d.ts","sourceRoot":"","sources":["../../src/components/settings-facts.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKjE,OAAO,EACL,IAAI,EAOJ,KAAK,WAAW,EACjB,MAAM,QAAQ,CAAC;AAEhB,MAAM,MAAM,YAAY,GAAG;IACzB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,wBAAwB,CAAC,SAAS,CAAC,EACnC,UAAU,GAAG,WAAW,CACzB,GAAG;IACF,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IAC/B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;;OAGG;IACH,IAAI,CAAC,EAAE,wBAAwB,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;CACtD,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,EACnC,MAAM,EACN,WAAW,EACX,KAAK,EACL,MAAM,EACN,iBAAiB,EACjB,SAAS,EACT,KAAK,EACL,OAAmB,EACnB,IAAgB,EAChB,GAAG,KAAK,EACT,EAAE,yBAAyB,+BAqC3B"}
1
+ {"version":3,"file":"settings-facts.d.ts","sourceRoot":"","sources":["../../src/components/settings-facts.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMjE,OAAO,EACL,IAAI,EAOJ,KAAK,WAAW,EACjB,MAAM,QAAQ,CAAC;AAEhB,MAAM,MAAM,YAAY,GAAG;IACzB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,wBAAwB,CAAC,SAAS,CAAC,EACnC,UAAU,GAAG,WAAW,CACzB,GAAG;IACF,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IAC/B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;;OAGG;IACH,IAAI,CAAC,EAAE,wBAAwB,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;CACtD,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,EACnC,MAAM,EACN,WAAW,EACX,KAAK,EACL,MAAM,EACN,iBAAiB,EACjB,SAAS,EACT,KAAK,EACL,OAAmB,EACnB,IAAgB,EAChB,GAAG,KAAK,EACT,EAAE,yBAAyB,+BAqC3B"}
@@ -1,11 +1,12 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { ObjectFacts } from "./object-workspace.js";
3
3
  import { Separator } from "./separator.js";
4
+ import { TableValue } from "./table-value.js";
4
5
  import { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, } from "./card.js";
5
6
  export function SettingsFactsSection({ action, description, facts, footer, missingValueLabel, headingId, title, surface = "resting", size = "default", ...props }) {
6
7
  return (_jsxs(Card, { render: _jsx("section", {}), ...props, "aria-labelledby": headingId, surface: surface, size: size, className: "min-w-0", children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: _jsx("h2", { id: headingId, tabIndex: -1, children: title }) }), description ? _jsx(CardDescription, { children: description }) : null, action ? _jsx(CardAction, { children: action }) : null] }), _jsx(Separator, {}), _jsx(CardContent, { children: _jsx(ObjectFacts, { facts: facts.map((fact) => ({
7
8
  label: fact.label,
8
9
  block: fact.block,
9
- value: fact.value == null || fact.value === "" ? (_jsx("span", { className: "text-muted-foreground", children: missingValueLabel })) : (fact.value),
10
+ value: fact.value == null || fact.value === "" ? (_jsx(TableValue, { missingLabel: missingValueLabel, value: null })) : (fact.value),
10
11
  })) }) }), footer ? _jsx(CardFooter, { className: "flex-wrap gap-3", children: footer }) : null] }));
11
12
  }
@@ -21,7 +21,7 @@ function SheetOverlay({ className, ...props }) {
21
21
  return (_jsx(SheetPrimitive.Backdrop, { "data-slot": "sheet-overlay", className: cn("fixed inset-0 z-50 bg-scrim/scrim", overlayBackdropMotion, className), ...props }));
22
22
  }
23
23
  function SheetContent({ className, children, side = "right", showCloseButton = true, closeLabel = "Close", ...props }) {
24
- return (_jsxs(SheetPortal, { children: [_jsx(SheetOverlay, {}), _jsxs(SheetPrimitive.Popup, { "data-slot": "sheet-content", "data-side": side, className: cn("fixed z-50 flex max-h-[calc(100%-var(--nc-lg))] flex-col gap-nadicode-md rounded-md border-0 bg-popover bg-clip-padding text-sm text-popover-foreground nc-elevation-modal transition-[opacity,translate] duration-[var(--nc-duration-close)] ease-[var(--nc-ease-out-strong)] data-open:duration-[var(--nc-duration-open)] data-ending-style:opacity-0 data-starting-style:opacity-0 motion-reduce:transition-opacity data-[side=bottom]:inset-x-nadicode-sm data-[side=bottom]:bottom-nadicode-sm data-[side=bottom]:h-auto data-[side=bottom]:data-ending-style:translate-y-nadicode-md data-[side=bottom]:data-starting-style:translate-y-nadicode-md motion-reduce:data-[side=bottom]:data-ending-style:translate-none motion-reduce:data-[side=bottom]:data-starting-style:translate-none data-[side=left]:inset-y-nadicode-sm data-[side=left]:left-nadicode-sm data-[side=left]:w-3/4 data-[side=left]:data-ending-style:-translate-x-nadicode-md data-[side=left]:data-starting-style:-translate-x-nadicode-md motion-reduce:data-[side=left]:data-ending-style:translate-none motion-reduce:data-[side=left]:data-starting-style:translate-none data-[side=right]:inset-y-nadicode-sm data-[side=right]:right-nadicode-sm data-[side=right]:w-3/4 data-[side=right]:data-ending-style:translate-x-nadicode-md data-[side=right]:data-starting-style:translate-x-nadicode-md motion-reduce:data-[side=right]:data-ending-style:translate-none motion-reduce:data-[side=right]:data-starting-style:translate-none data-[side=top]:inset-x-nadicode-sm data-[side=top]:top-nadicode-sm data-[side=top]:h-auto data-[side=top]:data-ending-style:-translate-y-nadicode-md data-[side=top]:data-starting-style:-translate-y-nadicode-md motion-reduce:data-[side=top]:data-ending-style:translate-none motion-reduce:data-[side=top]:data-starting-style:translate-none data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm", className), ...props, children: [children, showCloseButton && (_jsxs(SheetPrimitive.Close, { "data-slot": "sheet-close", render: _jsx(Button, { variant: "ghost", className: "absolute top-nadicode-md right-nadicode-md", size: "icon-sm" }), children: [_jsx(XIcon, {}), _jsx("span", { className: "sr-only", children: closeLabel })] }))] })] }));
24
+ return (_jsxs(SheetPortal, { children: [_jsx(SheetOverlay, {}), _jsxs(SheetPrimitive.Popup, { "data-slot": "sheet-content", "data-side": side, className: cn("fixed z-50 flex max-h-[calc(100%-var(--nc-lg))] flex-col gap-nadicode-md rounded-lg border-0 bg-popover bg-clip-padding text-sm text-popover-foreground nc-elevation-modal transition-[opacity,translate] duration-[var(--nc-duration-close)] ease-[var(--nc-ease-out-strong)] data-open:duration-[var(--nc-duration-open)] data-ending-style:opacity-0 data-starting-style:opacity-0 motion-reduce:transition-opacity data-[side=bottom]:inset-x-nadicode-sm data-[side=bottom]:bottom-nadicode-sm data-[side=bottom]:h-auto data-[side=bottom]:data-ending-style:translate-y-nadicode-md data-[side=bottom]:data-starting-style:translate-y-nadicode-md motion-reduce:data-[side=bottom]:data-ending-style:translate-none motion-reduce:data-[side=bottom]:data-starting-style:translate-none data-[side=left]:inset-y-nadicode-sm data-[side=left]:left-nadicode-sm data-[side=left]:w-3/4 data-[side=left]:data-ending-style:-translate-x-nadicode-md data-[side=left]:data-starting-style:-translate-x-nadicode-md motion-reduce:data-[side=left]:data-ending-style:translate-none motion-reduce:data-[side=left]:data-starting-style:translate-none data-[side=right]:inset-y-nadicode-sm data-[side=right]:right-nadicode-sm data-[side=right]:w-3/4 data-[side=right]:data-ending-style:translate-x-nadicode-md data-[side=right]:data-starting-style:translate-x-nadicode-md motion-reduce:data-[side=right]:data-ending-style:translate-none motion-reduce:data-[side=right]:data-starting-style:translate-none data-[side=top]:inset-x-nadicode-sm data-[side=top]:top-nadicode-sm data-[side=top]:h-auto data-[side=top]:data-ending-style:-translate-y-nadicode-md data-[side=top]:data-starting-style:-translate-y-nadicode-md motion-reduce:data-[side=top]:data-ending-style:translate-none motion-reduce:data-[side=top]:data-starting-style:translate-none data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm", className), ...props, children: [children, showCloseButton && (_jsxs(SheetPrimitive.Close, { "data-slot": "sheet-close", render: _jsx(Button, { variant: "ghost", className: "absolute top-nadicode-md right-nadicode-md", size: "icon-sm" }), children: [_jsx(XIcon, {}), _jsx("span", { className: "sr-only", children: closeLabel })] }))] })] }));
25
25
  }
26
26
  function SheetHeader({ className, ...props }) {
27
27
  return (_jsx("div", { "data-slot": "sheet-header", className: cn("flex flex-col gap-0.5 p-nadicode-lg", className), ...props }));
@@ -18,7 +18,7 @@ const Toaster = ({ ...props }) => {
18
18
  "--normal-bg": "var(--popover)",
19
19
  "--normal-text": "var(--popover-foreground)",
20
20
  "--normal-border": "transparent",
21
- "--border-radius": "var(--radius)",
21
+ "--border-radius": "var(--radius-lg)",
22
22
  }, toastOptions: {
23
23
  classNames: {
24
24
  toast: "nc-toast nc-elevation-floating",
@@ -0,0 +1,15 @@
1
+ import type { ComponentProps } from "react";
2
+ type StatusBadgeTone = "success" | "warning" | "danger" | "info" | "neutral";
3
+ type StatusBadgeProps = Omit<ComponentProps<"span">, "children"> & {
4
+ tone: StatusBadgeTone;
5
+ label: string;
6
+ /** How long the status has held, set after the word in tabular figures. */
7
+ since?: string;
8
+ };
9
+ /**
10
+ * A status is a mark and a word in one of five tones. The caller owns which
11
+ * tone a state takes and the wording; this owns how the tone looks.
12
+ */
13
+ declare function StatusBadge({ tone, label, since, className, ...props }: StatusBadgeProps): import("react").JSX.Element;
14
+ export { StatusBadge, type StatusBadgeProps, type StatusBadgeTone };
15
+ //# sourceMappingURL=status-badge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-badge.d.ts","sourceRoot":"","sources":["../../src/components/status-badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAM5C,KAAK,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAsB7E,KAAK,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG;IACjE,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,iBAAS,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,+BAcjF;AAED,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { CircleCheck, CircleDot, CirclePause, CircleX, Clock } from "lucide-react";
3
+ import { Badge } from "./badge.js";
4
+ import { cn } from "../lib/utils.js";
5
+ const VARIANT_BY_TONE = {
6
+ success: "green",
7
+ warning: "amber",
8
+ danger: "red",
9
+ info: "blue",
10
+ neutral: "gray",
11
+ };
12
+ // One mark per tone, always the same one: the tone said again as a shape, so a
13
+ // status reads without colour. The info dot is filled and still.
14
+ const MARK_BY_TONE = {
15
+ success: CircleCheck,
16
+ warning: Clock,
17
+ danger: CircleX,
18
+ info: CircleDot,
19
+ neutral: CirclePause,
20
+ };
21
+ /**
22
+ * A status is a mark and a word in one of five tones. The caller owns which
23
+ * tone a state takes and the wording; this owns how the tone looks.
24
+ */
25
+ function StatusBadge({ tone, label, since, className, ...props }) {
26
+ const Mark = MARK_BY_TONE[tone];
27
+ return (_jsxs(Badge, { variant: VARIANT_BY_TONE[tone], className: cn("has-data-[icon=inline-start]:pl-2", className), ...props, children: [_jsx(Mark, { "aria-hidden": "true", "data-icon": "inline-start" }), label, since ? _jsx("span", { className: "tabular-nums", children: since }) : null] }));
28
+ }
29
+ export { StatusBadge };
@@ -9,10 +9,10 @@ function TableHeader({ className, ...props }) {
9
9
  return (_jsx("thead", { "data-slot": "table-header", className: cn("[&_tr]:h-9 [&_tr]:border-b", className), ...props }));
10
10
  }
11
11
  function TableBody({ className, ...props }) {
12
- return (_jsx("tbody", { "data-slot": "table-body", className: cn("[&_tr]:h-10 [&_tr:last-child]:border-0", className), ...props }));
12
+ return (_jsx("tbody", { "data-slot": "table-body", className: cn("[&_tr]:h-12 [&_tr:last-child]:border-0", className), ...props }));
13
13
  }
14
14
  function TableRecordGroup({ className, ...props }) {
15
- return (_jsx("tbody", { "data-slot": "table-record-group", className: cn("[&_tr]:h-10 [&:hover>tr]:bg-accent [&:has(:focus-visible)>tr]:bg-accent [&:has([aria-expanded=true])>tr]:bg-accent [&:has(>tr[data-state=selected])>tr]:bg-muted [&:last-of-type>tr]:border-0", className), ...props }));
15
+ return (_jsx("tbody", { "data-slot": "table-record-group", className: cn("[&_tr]:h-12 [&:hover>tr]:bg-accent [&:has(:focus-visible)>tr]:bg-accent [&:has([aria-expanded=true])>tr]:bg-accent [&:has(>tr[data-state=selected])>tr]:bg-muted [&:last-of-type>tr]:border-0", className), ...props }));
16
16
  }
17
17
  function TableFooter({ className, ...props }) {
18
18
  return (_jsx("tfoot", { "data-slot": "table-footer", className: cn("border-t border-border bg-muted/50 font-medium [&>tr]:last:border-b-0", className), ...props }));
@@ -0,0 +1,15 @@
1
+ import type { ComponentProps, ReactNode } from "react";
2
+ type TagProps = Omit<ComponentProps<"span">, "children"> & {
3
+ children: ReactNode;
4
+ /** A 12px mark at the leading edge. */
5
+ mark?: ReactNode;
6
+ /** A dashed, muted tag, for an absence such as "Direct customer". */
7
+ quiet?: boolean;
8
+ };
9
+ /**
10
+ * One categorical fact in a row, as a quiet outlined pill. A tag never carries
11
+ * a status: that is a StatusBadge.
12
+ */
13
+ declare function Tag({ children, className, mark, quiet, ...props }: TagProps): import("react").JSX.Element;
14
+ export { Tag, type TagProps };
15
+ //# sourceMappingURL=tag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../src/components/tag.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvD,KAAK,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG;IACzD,QAAQ,EAAE,SAAS,CAAC;IACpB,uCAAuC;IACvC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,qEAAqE;IACrE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;;GAGG;AACH,iBAAS,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,KAAa,EAAE,GAAG,KAAK,EAAE,EAAE,QAAQ,+BAyB5E;AAED,OAAO,EAAE,GAAG,EAAE,KAAK,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from "../lib/utils.js";
3
+ /**
4
+ * One categorical fact in a row, as a quiet outlined pill. A tag never carries
5
+ * a status: that is a StatusBadge.
6
+ */
7
+ function Tag({ children, className, mark, quiet = false, ...props }) {
8
+ return (_jsxs("span", { className: cn("inline-flex h-6 max-w-full min-w-0 shrink-0 items-center gap-1.5 rounded-full border ps-2 pe-2.5 text-xs whitespace-nowrap", quiet
9
+ ? "border-dashed border-border text-muted-foreground"
10
+ : "border-border text-foreground", className), "data-quiet": quiet ? "" : undefined, "data-slot": "tag", ...props, children: [mark ? (_jsx("span", { className: "flex size-3 shrink-0 items-center justify-center text-muted-foreground [&>svg]:size-3", "data-slot": "tag-mark", children: mark })) : null, _jsx("span", { className: "truncate", children: children })] }));
11
+ }
12
+ export { Tag };
@@ -1,3 +1,7 @@
1
- export { toast } from "sonner";
2
- export type { ExternalToast } from "sonner";
1
+ import { type ResolvedMessage } from "./product-message.js";
2
+ export type MessageToastTone = "success" | "info" | "warning" | "error";
3
+ export declare function showMessageToast(message: ResolvedMessage, options: {
4
+ tone: MessageToastTone;
5
+ id?: string;
6
+ }): void;
3
7
  //# sourceMappingURL=toast.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../src/components/toast.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,YAAY,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../src/components/toast.ts"],"names":[],"mappings":"AAIA,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE1E,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAExE,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C,IAAI,CAON"}