@mcp-b/react-components 0.17.0 → 0.19.0

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 (294) hide show
  1. package/dist/{AgentActivity-BNUNrP9O.d.ts → AgentActivity-D2SHSGFX.d.ts} +1 -1
  2. package/dist/{AgentChat-CRuMi1Pb.d.ts → AgentChat-ClxViuUM.d.ts} +1 -20
  3. package/dist/{Button-FX_hpqxm.d.ts → Button-DLGzHsjc.d.ts} +13 -7
  4. package/dist/{CodeBlock-Co1noLbC.js → CodeBlock-Bb-IPBc_.js} +9 -6
  5. package/dist/{CodeBlock-Dnpr88ZQ.d.ts → CodeBlock-gV4kZeCI.d.ts} +2 -9
  6. package/dist/{FileTree-B7bBsUyU.js → FileTree-CUlXfnmc.js} +42 -16
  7. package/dist/{Message-C4eYRogZ.js → Message-rZEaaD8Q.js} +13 -20
  8. package/dist/{ModelSelector-BNrZlY_Y.js → ModelSelector-4GsCWcZV.js} +15 -22
  9. package/dist/{PromptInput-OLfXPuHM.d.ts → PromptInput-Bdh9pqlo.d.ts} +4 -6
  10. package/dist/{Select-CwSqP07Y.d.ts → Select-B_13gg_J.d.ts} +2 -2
  11. package/dist/{Tabs-9zddXDQo.d.ts → Tabs-ColWK-XA.d.ts} +10 -2
  12. package/dist/{ThinkChat-DInElus-.js → ThinkChat-15EhfvYJ.js} +84 -61
  13. package/dist/{ThinkChatActivity-BgesTfZ4.d.ts → ThinkChatActivity-Bzot45kX.d.ts} +4 -7
  14. package/dist/{ThinkChatActivitySummary-BPmu9a-c.d.ts → ThinkChatActivitySummary-D1xOrNrq.d.ts} +1 -1
  15. package/dist/{Toggle-DaXpe1Lc.d.ts → Toggle-JKZ43D5S.d.ts} +1 -1
  16. package/dist/{ToggleGroup-yseEWkOC.d.ts → ToggleGroup-DNd6cDJZ.d.ts} +2 -2
  17. package/dist/Workspace-Jez8ffUj.d.ts +274 -0
  18. package/dist/{WorkspaceExplorer-sZewzT2O.d.ts → WorkspaceExplorer-B9dQWNVK.d.ts} +2 -2
  19. package/dist/{WorkspaceFile-C8UzuSH4.d.ts → WorkspaceFile-CzyHnESE.d.ts} +1 -1
  20. package/dist/{WorkspaceFileView-DNdGAEiX.js → WorkspaceFileView-CEdArlOT.js} +120 -127
  21. package/dist/{WorkspaceLink-B1ykV1dS.js → WorkspaceLink-BYYeTQLf.js} +6 -27
  22. package/dist/{WorkspaceLink-DK1DWMHe.d.ts → WorkspaceLink-O-EBKUJ8.d.ts} +6 -9
  23. package/dist/{class-names-Bk-QLWWI.js → class-names-BiMDVpUo.js} +4 -1
  24. package/dist/components/Accordion.js +7 -2
  25. package/dist/components/Activity.js +2 -2
  26. package/dist/components/AgentActivity.d.ts +1 -1
  27. package/dist/components/AgentActivity.js +4 -5
  28. package/dist/components/AgentActivityPreview.d.ts +9 -9
  29. package/dist/components/AgentActivityPreview.js +8 -12
  30. package/dist/components/AgentAttention.d.ts +1 -1
  31. package/dist/components/AgentAttention.js +1 -1
  32. package/dist/components/AgentChat.d.ts +1 -1
  33. package/dist/components/AgentChat.js +94 -62
  34. package/dist/components/AgentChatMessageEditor.js +2 -2
  35. package/dist/components/AgentChatTurnError.js +2 -2
  36. package/dist/components/AgentConnection.js +3 -3
  37. package/dist/components/AgentMessageParts.js +1 -1
  38. package/dist/components/AgentToolDetail.d.ts +6 -4
  39. package/dist/components/AgentToolDetail.js +12 -10
  40. package/dist/components/AlertDialog.js +1 -1
  41. package/dist/components/AppTopBar.d.ts +24 -7
  42. package/dist/components/AppTopBar.js +32 -8
  43. package/dist/components/Approval.js +4 -4
  44. package/dist/components/Artifact.d.ts +1 -1
  45. package/dist/components/Artifact.js +6 -4
  46. package/dist/components/Autocomplete.js +1 -1
  47. package/dist/components/Avatar.d.ts +1 -1
  48. package/dist/components/Avatar.js +2 -2
  49. package/dist/components/Badge.js +3 -0
  50. package/dist/components/BrowserLiveView.js +27 -12
  51. package/dist/components/BrowserReplay.js +4 -3
  52. package/dist/components/BrowserRunPanel.js +5 -5
  53. package/dist/components/Button.d.ts +1 -1
  54. package/dist/components/Button.js +14 -11
  55. package/dist/components/Card.d.ts +7 -8
  56. package/dist/components/Card.js +19 -10
  57. package/dist/components/ChainOfThought.d.ts +1 -1
  58. package/dist/components/ChainOfThought.js +2 -2
  59. package/dist/components/ChatGptSignInScreen.js +8 -8
  60. package/dist/components/Checkbox.js +2 -2
  61. package/dist/components/CheckboxGroup.js +1 -1
  62. package/dist/components/Checkpoint.js +2 -2
  63. package/dist/components/CodeBlock.d.ts +1 -1
  64. package/dist/components/CodeBlock.js +1 -1
  65. package/dist/components/CodexModelSelector.js +35 -15
  66. package/dist/components/Collapsible.js +2 -2
  67. package/dist/components/Combobox.js +1 -1
  68. package/dist/components/Commit.d.ts +1 -1
  69. package/dist/components/Commit.js +3 -3
  70. package/dist/components/Context.js +1 -1
  71. package/dist/components/ContextMenu.js +2 -2
  72. package/dist/components/Conversation.d.ts +1 -1
  73. package/dist/components/Conversation.js +5 -4
  74. package/dist/components/DescriptionListParts.js +1 -1
  75. package/dist/components/Dialog.js +1 -1
  76. package/dist/components/EnvironmentVariables.d.ts +1 -1
  77. package/dist/components/EnvironmentVariables.js +3 -3
  78. package/dist/components/Field.js +5 -2
  79. package/dist/components/Fieldset.js +1 -1
  80. package/dist/components/FileTree.d.ts +6 -0
  81. package/dist/components/FileTree.js +1 -1
  82. package/dist/components/Form.js +1 -1
  83. package/dist/components/GithubMotionMark.js +1 -1
  84. package/dist/components/IconButton.d.ts +2 -3
  85. package/dist/components/IconButton.js +2 -1
  86. package/dist/components/InlineCitation.js +1 -1
  87. package/dist/components/Input.js +1 -1
  88. package/dist/components/Marker.js +1 -1
  89. package/dist/components/McpConnectionRequest.js +2 -2
  90. package/dist/components/McpServerPicker.js +2 -2
  91. package/dist/components/MediaPreviewCard.d.ts +103 -0
  92. package/dist/components/MediaPreviewCard.js +193 -0
  93. package/dist/components/Menu.js +1 -1
  94. package/dist/components/Menubar.js +2 -2
  95. package/dist/components/Message.d.ts +4 -1
  96. package/dist/components/Message.js +1 -1
  97. package/dist/components/MessageScroller.d.ts +1 -1
  98. package/dist/components/MessageScroller.js +5 -4
  99. package/dist/components/Meter.js +1 -1
  100. package/dist/components/ModelSelector.d.ts +4 -3
  101. package/dist/components/ModelSelector.js +1 -1
  102. package/dist/components/NavigationMenu.js +1 -1
  103. package/dist/components/NumberField.js +1 -1
  104. package/dist/components/Plan.js +2 -2
  105. package/dist/components/Popover.js +1 -1
  106. package/dist/components/PreviewCard.js +1 -1
  107. package/dist/components/PricingBillingToggle.js +1 -1
  108. package/dist/components/PricingFAQ.js +1 -1
  109. package/dist/components/PricingPage.js +2 -1
  110. package/dist/components/PricingPlanCard.js +4 -3
  111. package/dist/components/PricingUsageCalculator.js +2 -2
  112. package/dist/components/Progress.js +1 -1
  113. package/dist/components/PromptInput.d.ts +1 -1
  114. package/dist/components/PromptInput.js +31 -18
  115. package/dist/components/Queue.d.ts +1 -1
  116. package/dist/components/Queue.js +2 -3
  117. package/dist/components/RadioGroup.js +1 -1
  118. package/dist/components/Reasoning.js +3 -6
  119. package/dist/components/ResizableSidePanel.js +1 -1
  120. package/dist/components/ResponsiveSidebarShell.js +16 -10
  121. package/dist/components/ScrollArea.js +2 -1
  122. package/dist/components/SearchField.d.ts +43 -0
  123. package/dist/components/SearchField.js +52 -0
  124. package/dist/components/Select.d.ts +1 -1
  125. package/dist/components/Select.js +5 -6
  126. package/dist/components/Separator.js +1 -1
  127. package/dist/components/Slider.js +1 -1
  128. package/dist/components/Sources.js +2 -2
  129. package/dist/components/Stepper.js +16 -9
  130. package/dist/components/SubagentRunDetails.js +1 -1
  131. package/dist/components/SubagentRunIndicator.js +2 -2
  132. package/dist/components/SubagentRunList.d.ts +3 -5
  133. package/dist/components/SubagentRunList.js +3 -4
  134. package/dist/components/SubagentRunSelector.d.ts +8 -12
  135. package/dist/components/SubagentRunSelector.js +17 -20
  136. package/dist/components/Switch.d.ts +2 -2
  137. package/dist/components/Switch.js +4 -5
  138. package/dist/components/Tabs.d.ts +2 -2
  139. package/dist/components/Tabs.js +12 -3
  140. package/dist/components/Task.js +2 -2
  141. package/dist/components/Terminal.d.ts +2 -2
  142. package/dist/components/Terminal.js +5 -4
  143. package/dist/components/TestResults.js +10 -6
  144. package/dist/components/Textarea.js +1 -1
  145. package/dist/components/ThemeModeControl.js +1 -1
  146. package/dist/components/ThinkChat.d.ts +33 -20
  147. package/dist/components/ThinkChat.js +4 -4
  148. package/dist/components/ThinkChatActivity.d.ts +2 -2
  149. package/dist/components/ThinkChatActivity.js +8 -10
  150. package/dist/components/ThinkChatActivitySummary.d.ts +1 -1
  151. package/dist/components/ThinkChatActivitySummary.js +7 -3
  152. package/dist/components/ThinkChatToolPanels.js +26 -16
  153. package/dist/components/ThinkExecutionDetail.js +2 -2
  154. package/dist/components/ThinkExecutionStatus.js +2 -2
  155. package/dist/components/ThinkExecutionWorkbench.d.ts +30 -8
  156. package/dist/components/ThinkExecutionWorkbench.js +70 -134
  157. package/dist/components/ThinkFullApp.d.ts +36 -35
  158. package/dist/components/ThinkFullApp.js +156 -109
  159. package/dist/components/ThinkFullAppViewSwitch.d.ts +1 -1
  160. package/dist/components/ThinkFullAppViewSwitch.js +1 -1
  161. package/dist/components/ThinkRecoveryNotice.js +18 -12
  162. package/dist/components/ThinkRoutineBrowser.d.ts +17 -9
  163. package/dist/components/ThinkRoutineBrowser.js +33 -40
  164. package/dist/components/ThinkRoutineDetail.d.ts +5 -2
  165. package/dist/components/ThinkRoutineDetail.js +4 -4
  166. package/dist/components/ThinkRoutineForm.d.ts +3 -2
  167. package/dist/components/ThinkRoutineForm.js +11 -10
  168. package/dist/components/ThinkRoutineLibrary.d.ts +24 -31
  169. package/dist/components/ThinkRoutineLibrary.js +57 -80
  170. package/dist/components/ThinkRoutineRuns.d.ts +3 -2
  171. package/dist/components/ThinkRoutineRuns.js +31 -24
  172. package/dist/components/ThinkThreadPicker.d.ts +17 -11
  173. package/dist/components/ThinkThreadPicker.js +163 -39
  174. package/dist/components/Toast.js +1 -1
  175. package/dist/components/Toggle.d.ts +1 -1
  176. package/dist/components/Toggle.js +9 -7
  177. package/dist/components/ToggleGroup.d.ts +1 -1
  178. package/dist/components/ToggleGroup.js +15 -13
  179. package/dist/components/ToolInvocation.js +1 -1
  180. package/dist/components/Toolbar.js +1 -1
  181. package/dist/components/Tooltip.d.ts +8 -1
  182. package/dist/components/Tooltip.js +11 -2
  183. package/dist/components/TransitionSurface.d.ts +27 -0
  184. package/dist/components/TransitionSurface.js +20 -0
  185. package/dist/components/WebPreview.d.ts +5 -5
  186. package/dist/components/WebPreview.js +68 -54
  187. package/dist/components/Workspace.d.ts +2 -2
  188. package/dist/components/Workspace.js +358 -328
  189. package/dist/components/WorkspaceBrowser.d.ts +4 -7
  190. package/dist/components/WorkspaceBrowser.js +15 -25
  191. package/dist/components/WorkspaceExplorer.d.ts +5 -5
  192. package/dist/components/WorkspaceExplorer.js +19 -32
  193. package/dist/components/WorkspaceFile.d.ts +1 -1
  194. package/dist/components/WorkspaceFileView.d.ts +14 -2
  195. package/dist/components/WorkspaceFileView.js +1 -1
  196. package/dist/components/WorkspaceHeader.d.ts +0 -8
  197. package/dist/components/WorkspaceHeader.js +3 -15
  198. package/dist/components/WorkspaceLink.d.ts +1 -1
  199. package/dist/components/WorkspaceLink.js +1 -1
  200. package/dist/components/icons.d.ts +2 -2
  201. package/dist/components/icons.js +2 -2
  202. package/dist/{copy-button-cYsJBauI.js → copy-button-BtRwhRks.js} +3 -2
  203. package/dist/{copy-button-CQx3LQAC.d.ts → copy-button-D7aAYA-2.d.ts} +1 -1
  204. package/dist/{icons--FqCZEc3.js → icons-DKXiSepE.js} +7 -3
  205. package/dist/{icons-DpUqY8Mp.d.ts → icons-DkRtZmvT.d.ts} +22 -2
  206. package/dist/navigation-link-Cob7KBlM.js +19 -0
  207. package/dist/styles/accordion.css +4 -19
  208. package/dist/styles/activity.css +48 -56
  209. package/dist/styles/agent-activity-preview.css +2 -0
  210. package/dist/styles/agent-chat.css +14 -22
  211. package/dist/styles/alert-dialog.css +16 -18
  212. package/dist/styles/app-top-bar.css +17 -9
  213. package/dist/styles/approval.css +11 -6
  214. package/dist/styles/artifact.css +6 -6
  215. package/dist/styles/autocomplete.css +2 -1
  216. package/dist/styles/avatar.css +35 -30
  217. package/dist/styles/badge.css +10 -10
  218. package/dist/styles/base-ui-motion.css +94 -39
  219. package/dist/styles/browser-control-overlay.css +0 -1
  220. package/dist/styles/browser-live-view.css +39 -22
  221. package/dist/styles/browser-replay.css +1 -1
  222. package/dist/styles/browser-run-panel.css +8 -4
  223. package/dist/styles/button.css +36 -33
  224. package/dist/styles/card.css +5 -6
  225. package/dist/styles/chain-of-thought.css +22 -16
  226. package/dist/styles/checkbox.css +18 -5
  227. package/dist/styles/codex-model-selector.css +46 -8
  228. package/dist/styles/collapsible.css +10 -10
  229. package/dist/styles/combobox.css +3 -2
  230. package/dist/styles/commit.css +19 -18
  231. package/dist/styles/composition-motion.css +83 -0
  232. package/dist/styles/context-menu.css +3 -3
  233. package/dist/styles/context.css +11 -10
  234. package/dist/styles/conversation.css +18 -23
  235. package/dist/styles/dialog.css +15 -15
  236. package/dist/styles/field.css +32 -12
  237. package/dist/styles/file-tree.css +69 -9
  238. package/dist/styles/form.css +1 -1
  239. package/dist/styles/index.css +5 -0
  240. package/dist/styles/input.css +2 -2
  241. package/dist/styles/marker.css +14 -13
  242. package/dist/styles/mcp-server-picker.css +20 -17
  243. package/dist/styles/media-preview-card.css +160 -0
  244. package/dist/styles/menu.css +11 -11
  245. package/dist/styles/menubar.css +12 -11
  246. package/dist/styles/message.css +27 -21
  247. package/dist/styles/meter.css +2 -2
  248. package/dist/styles/model-selector.css +16 -14
  249. package/dist/styles/motion-reduction.css +29 -0
  250. package/dist/styles/navigation-menu.css +14 -30
  251. package/dist/styles/number-field.css +22 -4
  252. package/dist/styles/plan.css +5 -0
  253. package/dist/styles/popover.css +15 -16
  254. package/dist/styles/preview-card.css +2 -32
  255. package/dist/styles/progress.css +8 -3
  256. package/dist/styles/prompt-input.css +87 -70
  257. package/dist/styles/queue.css +48 -32
  258. package/dist/styles/radio.css +19 -12
  259. package/dist/styles/reasoning.css +2 -1
  260. package/dist/styles/recipes.css +109 -37
  261. package/dist/styles/resizable-side-panel.css +4 -10
  262. package/dist/styles/responsive-sidebar-shell.css +16 -15
  263. package/dist/styles/scroll-area.css +32 -15
  264. package/dist/styles/search-field.css +21 -0
  265. package/dist/styles/select.css +19 -12
  266. package/dist/styles/slider.css +25 -29
  267. package/dist/styles/sources.css +3 -3
  268. package/dist/styles/stepper.css +36 -26
  269. package/dist/styles/subagent-run.css +1 -1
  270. package/dist/styles/switch.css +32 -29
  271. package/dist/styles/tabs.css +79 -23
  272. package/dist/styles/task.css +13 -9
  273. package/dist/styles/test-results.css +29 -23
  274. package/dist/styles/theme-mode-control.css +8 -0
  275. package/dist/styles/think-execution-workbench.css +18 -15
  276. package/dist/styles/think-full-app.css +45 -68
  277. package/dist/styles/think-routine-library.css +43 -24
  278. package/dist/styles/think-thread-picker.css +193 -51
  279. package/dist/styles/toast.css +48 -27
  280. package/dist/styles/toggle-group.css +2 -36
  281. package/dist/styles/toggle.css +29 -5
  282. package/dist/styles/toolbar.css +25 -27
  283. package/dist/styles/tooltip.css +2 -32
  284. package/dist/styles/transition-surface.css +55 -0
  285. package/dist/styles/workspace-explorer.css +99 -44
  286. package/dist/summarize-tool-input-CqTcGRYy.js +15 -0
  287. package/dist/utils/codex-model-catalog.d.ts +2 -8
  288. package/dist/utils/codex-model-catalog.js +2 -16
  289. package/dist/utils/mcp-server-catalog.d.ts +139 -0
  290. package/dist/utils/mcp-server-catalog.js +98 -0
  291. package/dist/utils/structured-code.d.ts +1 -1
  292. package/package.json +13 -7
  293. package/dist/Workspace-C9RFoxcu.d.ts +0 -62
  294. package/dist/summarize-tool-input-BUJsENSn.js +0 -12
@@ -1,4 +1,4 @@
1
- import { i as WorkspaceState } from "../Workspace-C9RFoxcu.js";
1
+ import { o as WorkspaceState } from "../Workspace-Jez8ffUj.js";
2
2
  import * as React from "react";
3
3
 
4
4
  //#region src/components/WorkspaceBrowser.d.ts
@@ -11,9 +11,8 @@ interface WorkspaceBrowserProps {
11
11
  showFilter?: boolean;
12
12
  filterPlaceholder?: string;
13
13
  emptyState?: React.ReactNode;
14
- onSelectFile?: (path: string) => void;
15
- onBack?: () => void;
16
- onForward?: () => void;
14
+ /** App-owned anchor or router Link for a file destination. */
15
+ renderFileLink?: (path: string) => React.ReactElement;
17
16
  }
18
17
  /** Workspace tree and filter surface, usable independently from the file preview. */
19
18
  declare function WorkspaceBrowser({
@@ -24,9 +23,7 @@ declare function WorkspaceBrowser({
24
23
  showFilter,
25
24
  filterPlaceholder,
26
25
  emptyState,
27
- onSelectFile,
28
- onBack,
29
- onForward
26
+ renderFileLink
30
27
  }: WorkspaceBrowserProps): React.JSX.Element;
31
28
  //#endregion
32
29
  export { WorkspaceBrowser, WorkspaceBrowserProps };
@@ -1,6 +1,5 @@
1
- import { z as SearchIcon } from "../icons--FqCZEc3.js";
2
- import { Field } from "./Field.js";
3
- import { i as FileTreeFolder, r as FileTreeFile, t as FileTree } from "../FileTree-B7bBsUyU.js";
1
+ import { i as FileTreeFolder, r as FileTreeFile, t as FileTree } from "../FileTree-CUlXfnmc.js";
2
+ import { SearchField } from "./SearchField.js";
4
3
  import { WorkspaceHeader } from "./WorkspaceHeader.js";
5
4
  import * as React from "react";
6
5
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -9,19 +8,14 @@ function compareFilteredWorkspaceFiles(left, right) {
9
8
  return left.path.localeCompare(right.path) || left.name.localeCompare(right.name);
10
9
  }
11
10
  /** Workspace tree and filter surface, usable independently from the file preview. */
12
- function WorkspaceBrowser({ workspace, title = "Workspace", leading, actions, showFilter = true, filterPlaceholder = "Filter files...", emptyState, onSelectFile, onBack, onForward }) {
11
+ function WorkspaceBrowser({ workspace, title = "Workspace", leading, actions, showFilter = true, filterPlaceholder = "Filter files...", emptyState, renderFileLink }) {
13
12
  const [filter, setFilter] = React.useState("");
14
13
  const filterQuery = filter.trim().toLowerCase();
15
14
  const { root, entriesByDirectory, entryByPath, expandedPaths, setExpandedPaths, selectedPath, selectFile, isLoading, error, info, refresh } = workspace;
16
15
  const handleSelect = React.useCallback((path) => {
17
16
  if (entryByPath.get(path)?.type === "directory") return;
18
17
  selectFile(path);
19
- onSelectFile?.(path);
20
- }, [
21
- entryByPath,
22
- onSelectFile,
23
- selectFile
24
- ]);
18
+ }, [entryByPath, selectFile]);
25
19
  const filteredFiles = React.useMemo(() => {
26
20
  if (!filterQuery) return [];
27
21
  return [...entryByPath.values()].filter((entry) => entry.type !== "directory" && entry.path.toLowerCase().includes(filterQuery)).sort(compareFilteredWorkspaceFiles);
@@ -34,7 +28,8 @@ function WorkspaceBrowser({ workspace, title = "Workspace", leading, actions, sh
34
28
  }, entry.path);
35
29
  return /* @__PURE__ */ jsx(FileTreeFile, {
36
30
  path: entry.path,
37
- name: entry.name
31
+ name: entry.name,
32
+ render: renderFileLink?.(entry.path)
38
33
  }, entry.path);
39
34
  };
40
35
  const rootEntries = entriesByDirectory[root] ?? [];
@@ -44,8 +39,6 @@ function WorkspaceBrowser({ workspace, title = "Workspace", leading, actions, sh
44
39
  leading,
45
40
  actions,
46
41
  isRefreshing: isLoading,
47
- onBack,
48
- onForward,
49
42
  onRefresh: refresh
50
43
  }), /* @__PURE__ */ jsxs("div", {
51
44
  className: "workspace-explorer__body",
@@ -53,21 +46,17 @@ function WorkspaceBrowser({ workspace, title = "Workspace", leading, actions, sh
53
46
  role: "region",
54
47
  "aria-label": "Workspace files",
55
48
  tabIndex: -1,
56
- children: [showFilter ? /* @__PURE__ */ jsxs(Field.Root, {
49
+ children: [showFilter ? /* @__PURE__ */ jsxs(SearchField.Root, {
57
50
  className: "workspace-explorer__filter",
58
51
  name: "workspace-filter",
59
- children: [/* @__PURE__ */ jsx(Field.Label, {
52
+ children: [/* @__PURE__ */ jsx(SearchField.Label, {
60
53
  className: "workspace-explorer__filter-label sigvelo-visually-hidden",
61
54
  children: "Filter workspace files"
62
- }), /* @__PURE__ */ jsxs("div", {
63
- className: "workspace-explorer__filter-control",
64
- children: [/* @__PURE__ */ jsx(SearchIcon, { "aria-hidden": "true" }), /* @__PURE__ */ jsx(Field.Control, {
65
- type: "search",
66
- value: filter,
67
- onChange: (event) => setFilter(event.currentTarget.value),
68
- placeholder: filterPlaceholder,
69
- autoComplete: "off"
70
- })]
55
+ }), /* @__PURE__ */ jsx(SearchField.Control, {
56
+ value: filter,
57
+ onChange: (event) => setFilter(event.currentTarget.value),
58
+ placeholder: filterPlaceholder,
59
+ autoComplete: "off"
71
60
  })]
72
61
  }) : null, error ? /* @__PURE__ */ jsx("div", {
73
62
  className: "workspace-explorer__empty",
@@ -80,7 +69,8 @@ function WorkspaceBrowser({ workspace, title = "Workspace", leading, actions, sh
80
69
  "aria-label": "Workspace files",
81
70
  children: filteredFiles.map((entry) => /* @__PURE__ */ jsx(FileTreeFile, {
82
71
  path: entry.path,
83
- name: entry.path
72
+ name: entry.path,
73
+ render: renderFileLink?.(entry.path)
84
74
  }, entry.path))
85
75
  }) : /* @__PURE__ */ jsx("div", {
86
76
  className: "workspace-explorer__empty",
@@ -1,5 +1,5 @@
1
- import { a as WorkspaceFileLinkProps, c as WorkspaceLinkResolution, d as WorkspaceNavigationProvider, f as WorkspaceNavigationProviderProps, i as WorkspaceFileLink, l as WorkspaceNavigationAdapter, n as WorkspaceDestination, o as WorkspaceInvalidDestination, p as resolveWorkspaceLink, r as WorkspaceExternalDestination, s as WorkspaceLinkBase, t as ResolveWorkspaceLinkOptions, u as WorkspaceNavigationEntry } from "../WorkspaceLink-DK1DWMHe.js";
2
- import { a as WorkspaceMediaInfo, c as WorkspaceMediaTrackKind, d as inferWorkspaceLanguage, f as inferWorkspaceMedia, g as parseWorkspaceSkill, h as isWorkspaceSkillPath, i as WorkspaceFileState, l as WorkspaceSkillDocument, m as isWorkspaceMediaPath, n as WorkspaceFileAssetRequest, o as WorkspaceMediaKind, p as isWorkspaceMarkdownPath, r as WorkspaceFileAssetResolver, s as WorkspaceMediaTrack, t as WorkspaceFileAsset } from "../WorkspaceFile-C8UzuSH4.js";
3
- import { a as useWorkspace, i as WorkspaceState, n as WorkspaceInfo, r as WorkspaceSource, t as UseWorkspaceOptions } from "../Workspace-C9RFoxcu.js";
4
- import { n as WorkspaceExplorerProps, t as WorkspaceExplorer } from "../WorkspaceExplorer-sZewzT2O.js";
5
- export { type ResolveWorkspaceLinkOptions, type UseWorkspaceOptions, type WorkspaceDestination, WorkspaceExplorer, WorkspaceExplorerProps, type WorkspaceExternalDestination, type WorkspaceFileAsset, type WorkspaceFileAssetRequest, type WorkspaceFileAssetResolver, WorkspaceFileLink, type WorkspaceFileLinkProps, type WorkspaceFileState, type WorkspaceInfo, type WorkspaceInvalidDestination, type WorkspaceLinkBase, type WorkspaceLinkResolution, type WorkspaceMediaInfo, type WorkspaceMediaKind, type WorkspaceMediaTrack, type WorkspaceMediaTrackKind, type WorkspaceNavigationAdapter, type WorkspaceNavigationEntry, WorkspaceNavigationProvider, type WorkspaceNavigationProviderProps, type WorkspaceSkillDocument, type WorkspaceSource, type WorkspaceState, inferWorkspaceLanguage, inferWorkspaceMedia, isWorkspaceMarkdownPath, isWorkspaceMediaPath, isWorkspaceSkillPath, parseWorkspaceSkill, resolveWorkspaceLink, useWorkspace };
1
+ import { a as WorkspaceFileLinkProps, c as WorkspaceLinkResolution, d as WorkspaceNavigationProvider, f as WorkspaceNavigationProviderProps, i as WorkspaceFileLink, l as WorkspaceNavigationAdapter, n as WorkspaceDestination, o as WorkspaceInvalidDestination, p as resolveWorkspaceLink, r as WorkspaceExternalDestination, s as WorkspaceLinkBase, t as ResolveWorkspaceLinkOptions, u as WorkspaceNavigationEntry } from "../WorkspaceLink-O-EBKUJ8.js";
2
+ import { a as WorkspaceMediaInfo, c as WorkspaceMediaTrackKind, d as inferWorkspaceLanguage, f as inferWorkspaceMedia, g as parseWorkspaceSkill, h as isWorkspaceSkillPath, i as WorkspaceFileState, l as WorkspaceSkillDocument, m as isWorkspaceMediaPath, n as WorkspaceFileAssetRequest, o as WorkspaceMediaKind, p as isWorkspaceMarkdownPath, r as WorkspaceFileAssetResolver, s as WorkspaceMediaTrack, t as WorkspaceFileAsset } from "../WorkspaceFile-CzyHnESE.js";
3
+ import { a as WorkspaceSource, c as workspaceBinaryFileQueryOptions, d as workspaceFileStatQueryOptions, f as workspaceInfoQueryOptions, i as WorkspaceQueryKey, l as workspaceDirectoryQueryOptions, m as workspaceTextFileQueryOptions, n as WorkspaceFileReadTarget, o as WorkspaceState, p as workspaceQueryKey, r as WorkspaceInfo, s as useWorkspace, t as UseWorkspaceOptions, u as workspaceFileAssetQueryOptions } from "../Workspace-Jez8ffUj.js";
4
+ import { n as WorkspaceExplorerProps, t as WorkspaceExplorer } from "../WorkspaceExplorer-B9dQWNVK.js";
5
+ export { type ResolveWorkspaceLinkOptions, type UseWorkspaceOptions, type WorkspaceDestination, WorkspaceExplorer, WorkspaceExplorerProps, type WorkspaceExternalDestination, type WorkspaceFileAsset, type WorkspaceFileAssetRequest, type WorkspaceFileAssetResolver, WorkspaceFileLink, type WorkspaceFileLinkProps, type WorkspaceFileReadTarget, type WorkspaceFileState, type WorkspaceInfo, type WorkspaceInvalidDestination, type WorkspaceLinkBase, type WorkspaceLinkResolution, type WorkspaceMediaInfo, type WorkspaceMediaKind, type WorkspaceMediaTrack, type WorkspaceMediaTrackKind, type WorkspaceNavigationAdapter, type WorkspaceNavigationEntry, WorkspaceNavigationProvider, type WorkspaceNavigationProviderProps, type WorkspaceQueryKey, type WorkspaceSkillDocument, type WorkspaceSource, type WorkspaceState, inferWorkspaceLanguage, inferWorkspaceMedia, isWorkspaceMarkdownPath, isWorkspaceMediaPath, isWorkspaceSkillPath, parseWorkspaceSkill, resolveWorkspaceLink, useWorkspace, workspaceBinaryFileQueryOptions, workspaceDirectoryQueryOptions, workspaceFileAssetQueryOptions, workspaceFileStatQueryOptions, workspaceInfoQueryOptions, workspaceQueryKey, workspaceTextFileQueryOptions };
@@ -1,10 +1,10 @@
1
- import { t as cx } from "../class-names-Bk-QLWWI.js";
2
- import { a as WorkspaceNavigationRestorationBoundary, n as WorkspaceNavigationProvider, o as useRequiredWorkspaceNavigationRestoration, r as resolveWorkspaceLink, t as WorkspaceFileLink } from "../WorkspaceLink-B1ykV1dS.js";
1
+ import { t as cx } from "../class-names-BiMDVpUo.js";
2
+ import { a as WorkspaceNavigationRestorationBoundary, n as WorkspaceNavigationProvider, o as useRequiredWorkspaceNavigationRestoration, r as resolveWorkspaceLink, t as WorkspaceFileLink } from "../WorkspaceLink-BYYeTQLf.js";
3
3
  import { n as mergeRefs } from "../merge-refs-DF_7w2x_.js";
4
- import { WorkspaceBrowser } from "./WorkspaceBrowser.js";
5
4
  import { inferWorkspaceLanguage, inferWorkspaceMedia, isWorkspaceMarkdownPath, isWorkspaceMediaPath, isWorkspaceSkillPath, parseWorkspaceSkill } from "./WorkspaceFile.js";
6
- import { t as WorkspaceFileView } from "../WorkspaceFileView-DNdGAEiX.js";
7
- import { useWorkspace } from "./Workspace.js";
5
+ import { WorkspaceBrowser } from "./WorkspaceBrowser.js";
6
+ import { t as WorkspaceFileView } from "../WorkspaceFileView-CEdArlOT.js";
7
+ import { useWorkspace, workspaceBinaryFileQueryOptions, workspaceDirectoryQueryOptions, workspaceFileAssetQueryOptions, workspaceFileStatQueryOptions, workspaceInfoQueryOptions, workspaceQueryKey, workspaceTextFileQueryOptions } from "./Workspace.js";
8
8
  import * as React from "react";
9
9
  import { jsx } from "react/jsx-runtime";
10
10
  //#region src/components/WorkspaceExplorer.tsx
@@ -45,35 +45,25 @@ function WorkspaceExplorer({ ...props }) {
45
45
  function WorkspaceExplorerContent({ workspace, navigation, className, title = "Workspace", leading, actions, showFilter = false, filterPlaceholder = "Filter files...", emptyState, ref, ...props }) {
46
46
  const explorerRef = React.useRef(null);
47
47
  const pendingTreeFocusRef = React.useRef(null);
48
- const previousDestinationRef = React.useRef(navigation.current.destination);
48
+ const currentEntry = navigation.current;
49
+ const previousDestinationRef = React.useRef(currentEntry.destination);
49
50
  const restoration = useRequiredWorkspaceNavigationRestoration();
50
- const { entriesByDirectory, expandedPaths, selectedPath, selectedFile, isLoading, loadingPaths, refresh, selectFile, setExpandedPaths } = workspace;
51
- const fileDestination = getValidatedFileDestination(navigation.current.destination, workspace.root);
52
- React.useEffect(() => {
53
- if (fileDestination && selectedPath !== fileDestination.path) selectFile(fileDestination.path);
54
- }, [
55
- fileDestination?.path,
56
- selectFile,
57
- selectedPath
58
- ]);
51
+ const { entriesByDirectory, expandedPaths, selectedPath, selectedFile, isLoading, loadingPaths, refresh, setExpandedPaths } = workspace;
52
+ const fileDestination = getValidatedFileDestination(currentEntry.destination, workspace.root);
59
53
  React.useEffect(() => {
60
54
  const previous = previousDestinationRef.current;
61
- if (navigation.current.destination.kind === "files" && previous.kind === "file") {
62
- const saved = restoration.get(navigation.current.key);
55
+ if (currentEntry.destination.kind === "files" && previous.kind === "file") {
56
+ const saved = restoration.get(currentEntry.key);
63
57
  pendingTreeFocusRef.current = saved?.focusDestination ? null : {
64
- entryKey: navigation.current.key,
58
+ entryKey: currentEntry.key,
65
59
  path: previous.path
66
60
  };
67
61
  }
68
- previousDestinationRef.current = navigation.current.destination;
69
- }, [
70
- navigation.current.key,
71
- navigation.current.destination,
72
- restoration
73
- ]);
62
+ previousDestinationRef.current = currentEntry.destination;
63
+ }, [currentEntry, restoration]);
74
64
  React.useEffect(() => {
75
65
  const pending = pendingTreeFocusRef.current;
76
- if (!pending || pending.entryKey !== navigation.current.key || navigation.current.destination.kind !== "files") return;
66
+ if (!pending || pending.entryKey !== currentEntry.key || currentEntry.destination.kind !== "files") return;
77
67
  const ancestors = getDirectoryAncestors(pending.path, workspace.root);
78
68
  if (ancestors.some((path) => !expandedPaths.has(path))) {
79
69
  setExpandedPaths(/* @__PURE__ */ new Set([...expandedPaths, ...ancestors]));
@@ -94,8 +84,7 @@ function WorkspaceExplorerContent({ workspace, navigation, className, title = "W
94
84
  expandedPaths,
95
85
  isLoading,
96
86
  loadingPaths,
97
- navigation.current.destination,
98
- navigation.current.key,
87
+ currentEntry,
99
88
  setExpandedPaths,
100
89
  workspace.root
101
90
  ]);
@@ -127,15 +116,13 @@ function WorkspaceExplorerContent({ workspace, navigation, className, title = "W
127
116
  showFilter,
128
117
  filterPlaceholder,
129
118
  emptyState,
130
- onSelectFile: (path) => navigation.navigate({
119
+ renderFileLink: (path) => navigation.renderLink({
131
120
  kind: "file",
132
121
  path,
133
122
  fragment: null
134
- }),
135
- onBack: navigation.canGoBack ? () => navigation.goBack() : void 0,
136
- onForward: navigation.canGoForward ? () => navigation.goForward() : void 0
123
+ })
137
124
  })
138
125
  });
139
126
  }
140
127
  //#endregion
141
- export { WorkspaceExplorer, WorkspaceFileLink, WorkspaceNavigationProvider, inferWorkspaceLanguage, inferWorkspaceMedia, isWorkspaceMarkdownPath, isWorkspaceMediaPath, isWorkspaceSkillPath, parseWorkspaceSkill, resolveWorkspaceLink, useWorkspace };
128
+ export { WorkspaceExplorer, WorkspaceFileLink, WorkspaceNavigationProvider, inferWorkspaceLanguage, inferWorkspaceMedia, isWorkspaceMarkdownPath, isWorkspaceMediaPath, isWorkspaceSkillPath, parseWorkspaceSkill, resolveWorkspaceLink, useWorkspace, workspaceBinaryFileQueryOptions, workspaceDirectoryQueryOptions, workspaceFileAssetQueryOptions, workspaceFileStatQueryOptions, workspaceInfoQueryOptions, workspaceQueryKey, workspaceTextFileQueryOptions };
@@ -1,2 +1,2 @@
1
- import { a as WorkspaceMediaInfo, c as WorkspaceMediaTrackKind, d as inferWorkspaceLanguage, f as inferWorkspaceMedia, g as parseWorkspaceSkill, h as isWorkspaceSkillPath, i as WorkspaceFileState, l as WorkspaceSkillDocument, m as isWorkspaceMediaPath, n as WorkspaceFileAssetRequest, o as WorkspaceMediaKind, p as isWorkspaceMarkdownPath, r as WorkspaceFileAssetResolver, s as WorkspaceMediaTrack, t as WorkspaceFileAsset, u as getWorkspaceBasename } from "../WorkspaceFile-C8UzuSH4.js";
1
+ import { a as WorkspaceMediaInfo, c as WorkspaceMediaTrackKind, d as inferWorkspaceLanguage, f as inferWorkspaceMedia, g as parseWorkspaceSkill, h as isWorkspaceSkillPath, i as WorkspaceFileState, l as WorkspaceSkillDocument, m as isWorkspaceMediaPath, n as WorkspaceFileAssetRequest, o as WorkspaceMediaKind, p as isWorkspaceMarkdownPath, r as WorkspaceFileAssetResolver, s as WorkspaceMediaTrack, t as WorkspaceFileAsset, u as getWorkspaceBasename } from "../WorkspaceFile-CzyHnESE.js";
2
2
  export { WorkspaceFileAsset, WorkspaceFileAssetRequest, WorkspaceFileAssetResolver, WorkspaceFileState, WorkspaceMediaInfo, WorkspaceMediaKind, WorkspaceMediaTrack, WorkspaceMediaTrackKind, WorkspaceSkillDocument, getWorkspaceBasename, inferWorkspaceLanguage, inferWorkspaceMedia, isWorkspaceMarkdownPath, isWorkspaceMediaPath, isWorkspaceSkillPath, parseWorkspaceSkill };
@@ -1,8 +1,13 @@
1
- import { i as WorkspaceFileState } from "../WorkspaceFile-C8UzuSH4.js";
1
+ import { i as WorkspaceFileState } from "../WorkspaceFile-CzyHnESE.js";
2
2
  import * as React from "react";
3
3
 
4
4
  //#region src/components/WorkspaceFileView.d.ts
5
5
  interface WorkspaceFileViewProps {
6
+ /**
7
+ * Canvas previews join the surrounding document flow without a component
8
+ * frame, divider, or nested scrolling surface.
9
+ */
10
+ appearance?: "contained" | "canvas";
6
11
  file: WorkspaceFileState | null;
7
12
  path: string;
8
13
  isLoading: boolean;
@@ -10,16 +15,23 @@ interface WorkspaceFileViewProps {
10
15
  /** Leading workspace control, such as a host-owned Back to chat button. */
11
16
  leading?: React.ReactNode;
12
17
  actions?: React.ReactNode;
18
+ /**
19
+ * Show the parsed Agent Skill identity above authored Markdown. Hosts that
20
+ * already present the skill identity can omit it while retaining validation.
21
+ */
22
+ showSkillIdentity?: boolean;
13
23
  onRefresh: () => void;
14
24
  }
15
- /** Full-boundary workspace file preview composed from CodeBlock and AppTopBar. */
25
+ /** Workspace file preview composed from CodeBlock and AppTopBar. */
16
26
  declare function WorkspaceFileView({
27
+ appearance,
17
28
  file,
18
29
  path,
19
30
  isLoading,
20
31
  isRefreshing,
21
32
  leading,
22
33
  actions,
34
+ showSkillIdentity,
23
35
  onRefresh
24
36
  }: WorkspaceFileViewProps): React.JSX.Element | null;
25
37
  //#endregion
@@ -1,2 +1,2 @@
1
- import { t as WorkspaceFileView } from "../WorkspaceFileView-DNdGAEiX.js";
1
+ import { t as WorkspaceFileView } from "../WorkspaceFileView-CEdArlOT.js";
2
2
  export { WorkspaceFileView };
@@ -10,10 +10,6 @@ interface WorkspaceHeaderProps {
10
10
  actions?: React.ReactNode;
11
11
  copyAction?: React.ReactNode;
12
12
  isRefreshing: boolean;
13
- backLabel?: string;
14
- forwardLabel?: string;
15
- onBack?: () => void;
16
- onForward?: () => void;
17
13
  onRefresh: () => void;
18
14
  }
19
15
  /** Shared workspace app bar for browser and file-preview surfaces. */
@@ -25,10 +21,6 @@ declare function WorkspaceHeader({
25
21
  actions,
26
22
  copyAction,
27
23
  isRefreshing,
28
- backLabel,
29
- forwardLabel,
30
- onBack,
31
- onForward,
32
24
  onRefresh
33
25
  }: WorkspaceHeaderProps): React.JSX.Element;
34
26
  //#endregion
@@ -1,27 +1,15 @@
1
- import { R as RefreshIcon, n as ArrowLeftIcon, r as ArrowRightIcon } from "../icons--FqCZEc3.js";
1
+ import { U as RefreshIcon } from "../icons-DKXiSepE.js";
2
2
  import { AppTopBar } from "./AppTopBar.js";
3
3
  import "react";
4
4
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
5
5
  //#region src/components/WorkspaceHeader.tsx
6
6
  /** Shared workspace app bar for browser and file-preview surfaces. */
7
- function WorkspaceHeader({ title, fileCount, path, leading, actions, copyAction, isRefreshing, backLabel = "Back", forwardLabel = "Forward", onBack, onForward, onRefresh }) {
7
+ function WorkspaceHeader({ title, fileCount, path, leading, actions, copyAction, isRefreshing, onRefresh }) {
8
8
  return /* @__PURE__ */ jsxs(AppTopBar.Root, {
9
9
  className: "workspace-explorer__header",
10
10
  "aria-label": "Workspace controls",
11
11
  children: [
12
- /* @__PURE__ */ jsxs(AppTopBar.Leading, { children: [
13
- leading,
14
- onBack ? /* @__PURE__ */ jsx(AppTopBar.Button, {
15
- label: backLabel,
16
- onClick: onBack,
17
- children: /* @__PURE__ */ jsx(ArrowLeftIcon, { "aria-hidden": "true" })
18
- }) : null,
19
- onForward ? /* @__PURE__ */ jsx(AppTopBar.Button, {
20
- label: forwardLabel,
21
- onClick: onForward,
22
- children: /* @__PURE__ */ jsx(ArrowRightIcon, { "aria-hidden": "true" })
23
- }) : null
24
- ] }),
12
+ /* @__PURE__ */ jsx(AppTopBar.Leading, { children: leading }),
25
13
  /* @__PURE__ */ jsx(AppTopBar.Title, {
26
14
  className: "workspace-explorer__heading",
27
15
  title: path,
@@ -1,2 +1,2 @@
1
- import { a as WorkspaceFileLinkProps, c as WorkspaceLinkResolution, d as WorkspaceNavigationProvider, f as WorkspaceNavigationProviderProps, i as WorkspaceFileLink, l as WorkspaceNavigationAdapter, n as WorkspaceDestination, o as WorkspaceInvalidDestination, p as resolveWorkspaceLink, r as WorkspaceExternalDestination, s as WorkspaceLinkBase, t as ResolveWorkspaceLinkOptions, u as WorkspaceNavigationEntry } from "../WorkspaceLink-DK1DWMHe.js";
1
+ import { a as WorkspaceFileLinkProps, c as WorkspaceLinkResolution, d as WorkspaceNavigationProvider, f as WorkspaceNavigationProviderProps, i as WorkspaceFileLink, l as WorkspaceNavigationAdapter, n as WorkspaceDestination, o as WorkspaceInvalidDestination, p as resolveWorkspaceLink, r as WorkspaceExternalDestination, s as WorkspaceLinkBase, t as ResolveWorkspaceLinkOptions, u as WorkspaceNavigationEntry } from "../WorkspaceLink-O-EBKUJ8.js";
2
2
  export { ResolveWorkspaceLinkOptions, WorkspaceDestination, WorkspaceExternalDestination, WorkspaceFileLink, WorkspaceFileLinkProps, WorkspaceInvalidDestination, WorkspaceLinkBase, WorkspaceLinkResolution, WorkspaceNavigationAdapter, WorkspaceNavigationEntry, WorkspaceNavigationProvider, WorkspaceNavigationProviderProps, resolveWorkspaceLink };
@@ -1,2 +1,2 @@
1
- import { n as WorkspaceNavigationProvider, r as resolveWorkspaceLink, t as WorkspaceFileLink } from "../WorkspaceLink-B1ykV1dS.js";
1
+ import { n as WorkspaceNavigationProvider, r as resolveWorkspaceLink, t as WorkspaceFileLink } from "../WorkspaceLink-BYYeTQLf.js";
2
2
  export { WorkspaceFileLink, WorkspaceNavigationProvider, resolveWorkspaceLink };
@@ -1,2 +1,2 @@
1
- import { A as MicrophoneIcon, B as RefreshIcon, C as IconProps, D as MaximizeIcon, E as LinkIcon, F as PauseIcon, G as SteerIcon, H as SidebarIcon, I as PencilIcon, J as TerminalIcon, K as StopIcon, L as PlayIcon, M as MonitorIcon, N as MoonIcon, O as McpIcon, P as PaperclipIcon, Q as XIcon, R as PlusIcon, S as FolderOpenIcon, T as InfoIcon, U as SpinnerIcon, V as SearchIcon, W as SquareIcon, X as WarningIcon, Y as TrashIcon, Z as WrenchIcon, _ as EllipsisIcon, a as BookmarkIcon, b as FileIcon, c as CheckIcon, d as ChevronRightIcon, f as CodeIcon, g as DownloadIcon, h as DotIcon, i as ArrowUpIcon, j as MinusIcon, k as MessageSquareIcon, l as ChevronDownIcon, m as DiscordIcon, n as ArrowLeftIcon, o as BoxIcon, p as CopyIcon, q as SunIcon, r as ArrowRightIcon, s as BrandIconProps, t as ArrowDownIcon, u as ChevronLeftIcon, v as EyeIcon, w as ImageIcon, x as FolderIcon, y as EyeOffIcon, z as QueueIcon } from "../icons-DpUqY8Mp.js";
2
- export { ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpIcon, BookmarkIcon, BoxIcon, BrandIconProps, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, CodeIcon, CopyIcon, DiscordIcon, DotIcon, DownloadIcon, EllipsisIcon, EyeIcon, EyeOffIcon, FileIcon, FolderIcon, FolderOpenIcon, IconProps, ImageIcon, InfoIcon, LinkIcon, MaximizeIcon, McpIcon, MessageSquareIcon, MicrophoneIcon, MinusIcon, MonitorIcon, MoonIcon, PaperclipIcon, PauseIcon, PencilIcon, PlayIcon, PlusIcon, QueueIcon, RefreshIcon, SearchIcon, SidebarIcon, SpinnerIcon, SquareIcon, SteerIcon, StopIcon, SunIcon, TerminalIcon, TrashIcon, WarningIcon, WrenchIcon, XIcon };
1
+ import { $ as TrashIcon, A as LinkIcon, B as PauseIcon, C as FileIcon, D as IconProps, E as HashIcon, F as MinusIcon, G as RefreshIcon, H as PlayIcon, I as MonitorIcon, J as SpinnerIcon, K as SearchIcon, L as MoonIcon, M as McpIcon, N as MessageSquareIcon, O as ImageIcon, P as MicrophoneIcon, Q as TerminalIcon, R as MoveToFrontIcon, S as EyeOffIcon, T as FolderOpenIcon, U as PlusIcon, V as PencilIcon, W as QueueIcon, X as StopIcon, Y as SquareIcon, Z as SunIcon, _ as DiscordIcon, a as ArrowUpIcon, b as EllipsisIcon, c as BrainIcon, d as CheckIcon, et as WarningIcon, f as ChevronDownIcon, g as CopyIcon, h as CodeIcon, i as ArrowRightIcon, j as MaximizeIcon, k as InfoIcon, l as BrandIconProps, m as ChevronRightIcon, n as ArrowDownIcon, nt as XIcon, o as BookmarkIcon, p as ChevronLeftIcon, q as SidebarIcon, r as ArrowLeftIcon, s as BoxIcon, t as ArchiveIcon, tt as WrenchIcon, u as CalendarIcon, v as DotIcon, w as FolderIcon, x as EyeIcon, y as DownloadIcon, z as PaperclipIcon } from "../icons-DkRtZmvT.js";
2
+ export { ArchiveIcon, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpIcon, BookmarkIcon, BoxIcon, BrainIcon, BrandIconProps, CalendarIcon, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, CodeIcon, CopyIcon, DiscordIcon, DotIcon, DownloadIcon, EllipsisIcon, EyeIcon, EyeOffIcon, FileIcon, FolderIcon, FolderOpenIcon, HashIcon, IconProps, ImageIcon, InfoIcon, LinkIcon, MaximizeIcon, McpIcon, MessageSquareIcon, MicrophoneIcon, MinusIcon, MonitorIcon, MoonIcon, MoveToFrontIcon, PaperclipIcon, PauseIcon, PencilIcon, PlayIcon, PlusIcon, QueueIcon, RefreshIcon, SearchIcon, SidebarIcon, SpinnerIcon, SquareIcon, StopIcon, SunIcon, TerminalIcon, TrashIcon, WarningIcon, WrenchIcon, XIcon };
@@ -1,2 +1,2 @@
1
- import { A as MonitorIcon, B as SidebarIcon, C as InfoIcon, D as MessageSquareIcon, E as McpIcon, F as PlayIcon, G as SunIcon, H as SquareIcon, I as PlusIcon, J as WarningIcon, K as TerminalIcon, L as QueueIcon, M as PaperclipIcon, N as PauseIcon, O as MicrophoneIcon, P as PencilIcon, R as RefreshIcon, S as ImageIcon, T as MaximizeIcon, U as SteerIcon, V as SpinnerIcon, W as StopIcon, X as XIcon, Y as WrenchIcon, _ as EyeIcon, a as BookmarkIcon, b as FolderIcon, c as ChevronDownIcon, d as CodeIcon, f as CopyIcon, g as EllipsisIcon, h as DownloadIcon, i as ArrowUpIcon, j as MoonIcon, k as MinusIcon, l as ChevronLeftIcon, m as DotIcon, n as ArrowLeftIcon, o as BoxIcon, p as DiscordIcon, q as TrashIcon, r as ArrowRightIcon, s as CheckIcon, t as ArrowDownIcon, u as ChevronRightIcon, v as EyeOffIcon, w as LinkIcon, x as FolderOpenIcon, y as FileIcon, z as SearchIcon } from "../icons--FqCZEc3.js";
2
- export { ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpIcon, BookmarkIcon, BoxIcon, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, CodeIcon, CopyIcon, DiscordIcon, DotIcon, DownloadIcon, EllipsisIcon, EyeIcon, EyeOffIcon, FileIcon, FolderIcon, FolderOpenIcon, ImageIcon, InfoIcon, LinkIcon, MaximizeIcon, McpIcon, MessageSquareIcon, MicrophoneIcon, MinusIcon, MonitorIcon, MoonIcon, PaperclipIcon, PauseIcon, PencilIcon, PlayIcon, PlusIcon, QueueIcon, RefreshIcon, SearchIcon, SidebarIcon, SpinnerIcon, SquareIcon, SteerIcon, StopIcon, SunIcon, TerminalIcon, TrashIcon, WarningIcon, WrenchIcon, XIcon };
1
+ import { $ as WrenchIcon, A as McpIcon, B as PlayIcon, C as FolderIcon, D as InfoIcon, E as ImageIcon, F as MoonIcon, G as SidebarIcon, H as QueueIcon, I as MoveToFrontIcon, J as StopIcon, K as SpinnerIcon, L as PaperclipIcon, M as MicrophoneIcon, N as MinusIcon, O as LinkIcon, P as MonitorIcon, Q as WarningIcon, R as PauseIcon, S as FileIcon, T as HashIcon, U as RefreshIcon, V as PlusIcon, W as SearchIcon, X as TerminalIcon, Y as SunIcon, Z as TrashIcon, _ as DotIcon, a as ArrowUpIcon, b as EyeIcon, c as BrainIcon, d as ChevronDownIcon, et as XIcon, f as ChevronLeftIcon, g as DiscordIcon, h as CopyIcon, i as ArrowRightIcon, j as MessageSquareIcon, k as MaximizeIcon, l as CalendarIcon, m as CodeIcon, n as ArrowDownIcon, o as BookmarkIcon, p as ChevronRightIcon, q as SquareIcon, r as ArrowLeftIcon, s as BoxIcon, t as ArchiveIcon, u as CheckIcon, v as DownloadIcon, w as FolderOpenIcon, x as EyeOffIcon, y as EllipsisIcon, z as PencilIcon } from "../icons-DKXiSepE.js";
2
+ export { ArchiveIcon, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpIcon, BookmarkIcon, BoxIcon, BrainIcon, CalendarIcon, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, CodeIcon, CopyIcon, DiscordIcon, DotIcon, DownloadIcon, EllipsisIcon, EyeIcon, EyeOffIcon, FileIcon, FolderIcon, FolderOpenIcon, HashIcon, ImageIcon, InfoIcon, LinkIcon, MaximizeIcon, McpIcon, MessageSquareIcon, MicrophoneIcon, MinusIcon, MonitorIcon, MoonIcon, MoveToFrontIcon, PaperclipIcon, PauseIcon, PencilIcon, PlayIcon, PlusIcon, QueueIcon, RefreshIcon, SearchIcon, SidebarIcon, SpinnerIcon, SquareIcon, StopIcon, SunIcon, TerminalIcon, TrashIcon, WarningIcon, WrenchIcon, XIcon };
@@ -1,10 +1,10 @@
1
- import { f as CopyIcon, s as CheckIcon } from "./icons--FqCZEc3.js";
1
+ import { h as CopyIcon, u as CheckIcon } from "./icons-DKXiSepE.js";
2
2
  import { Button } from "./components/Button.js";
3
3
  import { Tooltip } from "./components/Tooltip.js";
4
4
  import * as React from "react";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  //#region src/components/_internal/copy-button.tsx
7
- function CopyButton({ label, tooltip = label, text, size = "icon", timeout = 1500, stopPropagation = false, onCopy, onError, onClick, ...props }) {
7
+ function CopyButton({ label, tooltip = label, text, size = "sm", timeout = 1500, stopPropagation = false, onCopy, onError, onClick, ...props }) {
8
8
  const [copied, setCopied] = React.useState(false);
9
9
  const timeoutRef = React.useRef(null);
10
10
  React.useEffect(() => () => {
@@ -34,6 +34,7 @@ function CopyButton({ label, tooltip = label, text, size = "icon", timeout = 150
34
34
  type: "button",
35
35
  variant: "ghost",
36
36
  size,
37
+ iconOnly: true,
37
38
  "aria-label": label,
38
39
  ...props,
39
40
  onClick: handleClick,
@@ -1,4 +1,4 @@
1
- import { r as ButtonProps } from "./Button-FX_hpqxm.js";
1
+ import { r as ButtonProps } from "./Button-DLGzHsjc.js";
2
2
  import * as React from "react";
3
3
 
4
4
  //#region src/components/_internal/copy-button.d.ts
@@ -1,5 +1,5 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { ArrowDown, ArrowLeft, ArrowRight, ArrowUp, Bookmark, Box, Check, ChevronDown, ChevronLeft, ChevronRight, CircleStop, CodeXml, Copy, CornerDownRight, Dot, Download, Ellipsis, Eye, EyeOff, File, Folder, FolderOpen, Image, Info, Link2, ListRestart, LoaderCircle, Maximize2, MessageSquare, Mic, Minus, Monitor, Moon, PanelLeft, Paperclip, Pause, Pencil, Play, Plus, RefreshCw, Search, Square, Sun, Terminal, Trash2, TriangleAlert, Wrench, X } from "lucide-react";
2
+ import { Archive, ArrowDown, ArrowLeft, ArrowRight, ArrowUp, Bookmark, Box, Brain, CalendarDays, Check, ChevronDown, ChevronLeft, ChevronRight, CircleStop, CodeXml, Copy, CornerDownRight, Dot, Download, Ellipsis, Eye, EyeOff, File, Folder, FolderOpen, Hash, Image, Info, Link2, ListRestart, LoaderCircle, Maximize2, MessageSquare, Mic, Minus, Monitor, Moon, PanelLeft, Paperclip, Pause, Pencil, Play, Plus, RefreshCw, Search, Square, Sun, Terminal, Trash2, TriangleAlert, Wrench, X } from "lucide-react";
3
3
  import { SiDiscord, SiModelcontextprotocol } from "react-icons/si";
4
4
  //#region src/components/_internal/icons.tsx
5
5
  function icon(Component) {
@@ -31,7 +31,7 @@ const CodeIcon = icon(CodeXml);
31
31
  const XIcon = icon(X);
32
32
  const PencilIcon = icon(Pencil);
33
33
  const CopyIcon = icon(Copy);
34
- const SteerIcon = icon(CornerDownRight);
34
+ const MoveToFrontIcon = icon(CornerDownRight);
35
35
  const EyeIcon = icon(Eye);
36
36
  const EyeOffIcon = icon(EyeOff);
37
37
  const FolderIcon = icon(Folder);
@@ -50,6 +50,7 @@ const ArrowRightIcon = icon(ArrowRight);
50
50
  const ArrowDownIcon = icon(ArrowDown);
51
51
  const ArrowUpIcon = icon(ArrowUp);
52
52
  const BookmarkIcon = icon(Bookmark);
53
+ const ArchiveIcon = icon(Archive);
53
54
  const DownloadIcon = icon(Download);
54
55
  const RefreshIcon = icon(RefreshCw);
55
56
  const DotIcon = icon(Dot);
@@ -72,6 +73,9 @@ const QueueIcon = icon(ListRestart);
72
73
  const TrashIcon = icon(Trash2);
73
74
  const WarningIcon = icon(TriangleAlert);
74
75
  const BoxIcon = icon(Box);
76
+ const BrainIcon = icon(Brain);
77
+ const CalendarIcon = icon(CalendarDays);
78
+ const HashIcon = icon(Hash);
75
79
  const WrenchIcon = icon(Wrench);
76
80
  const InfoIcon = icon(Info);
77
81
  const ImageIcon = icon(Image);
@@ -83,4 +87,4 @@ const MoonIcon = icon(Moon);
83
87
  const SunIcon = icon(Sun);
84
88
  const MaximizeIcon = icon(Maximize2);
85
89
  //#endregion
86
- export { MonitorIcon as A, SidebarIcon as B, InfoIcon as C, MessageSquareIcon as D, McpIcon as E, PlayIcon as F, SunIcon as G, SquareIcon as H, PlusIcon as I, WarningIcon as J, TerminalIcon as K, QueueIcon as L, PaperclipIcon as M, PauseIcon as N, MicrophoneIcon as O, PencilIcon as P, RefreshIcon as R, ImageIcon as S, MaximizeIcon as T, SteerIcon as U, SpinnerIcon as V, StopIcon as W, XIcon as X, WrenchIcon as Y, EyeIcon as _, BookmarkIcon as a, FolderIcon as b, ChevronDownIcon as c, CodeIcon as d, CopyIcon as f, EllipsisIcon as g, DownloadIcon as h, ArrowUpIcon as i, MoonIcon as j, MinusIcon as k, ChevronLeftIcon as l, DotIcon as m, ArrowLeftIcon as n, BoxIcon as o, DiscordIcon as p, TrashIcon as q, ArrowRightIcon as r, CheckIcon as s, ArrowDownIcon as t, ChevronRightIcon as u, EyeOffIcon as v, LinkIcon as w, FolderOpenIcon as x, FileIcon as y, SearchIcon as z };
90
+ export { WrenchIcon as $, McpIcon as A, PlayIcon as B, FolderIcon as C, InfoIcon as D, ImageIcon as E, MoonIcon as F, SidebarIcon as G, QueueIcon as H, MoveToFrontIcon as I, StopIcon as J, SpinnerIcon as K, PaperclipIcon as L, MicrophoneIcon as M, MinusIcon as N, LinkIcon as O, MonitorIcon as P, WarningIcon as Q, PauseIcon as R, FileIcon as S, HashIcon as T, RefreshIcon as U, PlusIcon as V, SearchIcon as W, TerminalIcon as X, SunIcon as Y, TrashIcon as Z, DotIcon as _, ArrowUpIcon as a, EyeIcon as b, BrainIcon as c, ChevronDownIcon as d, XIcon as et, ChevronLeftIcon as f, DiscordIcon as g, CopyIcon as h, ArrowRightIcon as i, MessageSquareIcon as j, MaximizeIcon as k, CalendarIcon as l, CodeIcon as m, ArrowDownIcon as n, BookmarkIcon as o, ChevronRightIcon as p, SquareIcon as q, ArrowLeftIcon as r, BoxIcon as s, ArchiveIcon as t, CheckIcon as u, DownloadIcon as v, FolderOpenIcon as w, EyeOffIcon as x, EllipsisIcon as y, PencilIcon as z };
@@ -52,7 +52,7 @@ declare const CopyIcon: ({
52
52
  strokeWidth,
53
53
  ...props
54
54
  }: IconProps) => import("react").JSX.Element;
55
- declare const SteerIcon: ({
55
+ declare const MoveToFrontIcon: ({
56
56
  size,
57
57
  strokeWidth,
58
58
  ...props
@@ -147,6 +147,11 @@ declare const BookmarkIcon: ({
147
147
  strokeWidth,
148
148
  ...props
149
149
  }: IconProps) => import("react").JSX.Element;
150
+ declare const ArchiveIcon: ({
151
+ size,
152
+ strokeWidth,
153
+ ...props
154
+ }: IconProps) => import("react").JSX.Element;
150
155
  declare const DownloadIcon: ({
151
156
  size,
152
157
  strokeWidth,
@@ -213,6 +218,21 @@ declare const BoxIcon: ({
213
218
  strokeWidth,
214
219
  ...props
215
220
  }: IconProps) => import("react").JSX.Element;
221
+ declare const BrainIcon: ({
222
+ size,
223
+ strokeWidth,
224
+ ...props
225
+ }: IconProps) => import("react").JSX.Element;
226
+ declare const CalendarIcon: ({
227
+ size,
228
+ strokeWidth,
229
+ ...props
230
+ }: IconProps) => import("react").JSX.Element;
231
+ declare const HashIcon: ({
232
+ size,
233
+ strokeWidth,
234
+ ...props
235
+ }: IconProps) => import("react").JSX.Element;
216
236
  declare const WrenchIcon: ({
217
237
  size,
218
238
  strokeWidth,
@@ -262,4 +282,4 @@ declare const MaximizeIcon: ({
262
282
  ...props
263
283
  }: IconProps) => import("react").JSX.Element;
264
284
  //#endregion
265
- export { MicrophoneIcon as A, RefreshIcon as B, IconProps as C, MaximizeIcon as D, LinkIcon as E, PauseIcon as F, SteerIcon as G, SidebarIcon as H, PencilIcon as I, TerminalIcon as J, StopIcon as K, PlayIcon as L, MonitorIcon as M, MoonIcon as N, McpIcon as O, PaperclipIcon as P, XIcon as Q, PlusIcon as R, FolderOpenIcon as S, InfoIcon as T, SpinnerIcon as U, SearchIcon as V, SquareIcon as W, WarningIcon as X, TrashIcon as Y, WrenchIcon as Z, EllipsisIcon as _, BookmarkIcon as a, FileIcon as b, CheckIcon as c, ChevronRightIcon as d, CodeIcon as f, DownloadIcon as g, DotIcon as h, ArrowUpIcon as i, MinusIcon as j, MessageSquareIcon as k, ChevronDownIcon as l, DiscordIcon as m, ArrowLeftIcon as n, BoxIcon as o, CopyIcon as p, SunIcon as q, ArrowRightIcon as r, BrandIconProps as s, ArrowDownIcon as t, ChevronLeftIcon as u, EyeIcon as v, ImageIcon as w, FolderIcon as x, EyeOffIcon as y, QueueIcon as z };
285
+ export { TrashIcon as $, LinkIcon as A, PauseIcon as B, FileIcon as C, IconProps as D, HashIcon as E, MinusIcon as F, RefreshIcon as G, PlayIcon as H, MonitorIcon as I, SpinnerIcon as J, SearchIcon as K, MoonIcon as L, McpIcon as M, MessageSquareIcon as N, ImageIcon as O, MicrophoneIcon as P, TerminalIcon as Q, MoveToFrontIcon as R, EyeOffIcon as S, FolderOpenIcon as T, PlusIcon as U, PencilIcon as V, QueueIcon as W, StopIcon as X, SquareIcon as Y, SunIcon as Z, DiscordIcon as _, ArrowUpIcon as a, EllipsisIcon as b, BrainIcon as c, CheckIcon as d, WarningIcon as et, ChevronDownIcon as f, CopyIcon as g, CodeIcon as h, ArrowRightIcon as i, MaximizeIcon as j, InfoIcon as k, BrandIconProps as l, ChevronRightIcon as m, ArrowDownIcon as n, XIcon as nt, BookmarkIcon as o, ChevronLeftIcon as p, SidebarIcon as q, ArrowLeftIcon as r, BoxIcon as s, ArchiveIcon as t, WrenchIcon as tt, CalendarIcon as u, DotIcon as v, FolderIcon as w, EyeIcon as x, DownloadIcon as y, PaperclipIcon as z };
@@ -0,0 +1,19 @@
1
+ import { useRender } from "@base-ui/react/use-render";
2
+ //#region src/components/_internal/navigation-link.tsx
3
+ /**
4
+ * Merges design-system anchor props into an application-owned router Link.
5
+ *
6
+ * Keeping the Link element at the call site lets the consuming application's
7
+ * registered route tree infer `to`, `params`, and `search` without routing
8
+ * generics leaking through every design-system component.
9
+ */
10
+ function NavigationLink({ render, ref, ...props }) {
11
+ return useRender({
12
+ defaultTagName: "a",
13
+ render,
14
+ ref,
15
+ props
16
+ });
17
+ }
18
+ //#endregion
19
+ export { NavigationLink as t };
@@ -33,8 +33,8 @@
33
33
  border-radius: var(--sigvelo-radius-md);
34
34
  cursor: pointer;
35
35
  transition:
36
- background-color var(--sigvelo-duration-fast) var(--sigvelo-ease-standard),
37
- color var(--sigvelo-duration-fast) var(--sigvelo-ease-standard);
36
+ background-color var(--sigvelo-motion-duration-interaction) var(--sigvelo-motion-ease-change),
37
+ color var(--sigvelo-motion-duration-interaction) var(--sigvelo-motion-ease-change);
38
38
  }
39
39
 
40
40
  .accordion__trigger:hover:not(:disabled):not([data-disabled]) {
@@ -52,30 +52,15 @@
52
52
  }
53
53
 
54
54
  .accordion__panel {
55
- block-size: var(--accordion-panel-height);
56
- overflow: hidden;
55
+ --sigvelo-disclosure-panel-height: var(--accordion-panel-height);
56
+
57
57
  font-family: inherit;
58
58
  font-size: var(--sigvelo-text-sm);
59
59
  line-height: 1.625;
60
60
  color: var(--sigvelo-color-text-muted);
61
- transition:
62
- block-size var(--sigvelo-duration-medium) var(--sigvelo-ease-emphasized),
63
- opacity var(--sigvelo-duration-fast) var(--sigvelo-ease-standard);
64
- }
65
-
66
- .accordion__panel[data-starting-style],
67
- .accordion__panel[data-ending-style] {
68
- block-size: 0;
69
- opacity: 0;
70
61
  }
71
62
 
72
63
  .accordion__panel > * {
73
64
  padding-block-end: var(--sigvelo-spacing-4);
74
65
  padding-inline: var(--sigvelo-recipe-control-padding-inline);
75
66
  }
76
-
77
- @media (prefers-reduced-motion: reduce) {
78
- .accordion__panel {
79
- transition-duration: var(--sigvelo-duration-reduced);
80
- }
81
- }