@mcp-b/react-components 0.48.0 → 0.49.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 (299) hide show
  1. package/dist/AgentChatQueue-C_Jaw3Ia.d.ts +48 -0
  2. package/dist/AgentToolRunsContext-GMe_hSnD.d.ts +35 -0
  3. package/dist/Avatar-o2NO1fCG.d.ts +124 -0
  4. package/dist/{Button-CZt3yywF.d.ts → Button-DjONW5UW.d.ts} +1 -1
  5. package/dist/{CodeBlock-C380GD5t.d.ts → CodeBlock--r6GS8YV.d.ts} +8 -2
  6. package/dist/{CodeBlock-BSJl682D.js → CodeBlock-g8sADidM.js} +8 -8
  7. package/dist/{FileTree-DvE0hNZu.js → FileTree-H8mMg4rV.js} +21 -30
  8. package/dist/{IconButton-BAUFhUk8.d.ts → IconButton-ByiyjkYE.d.ts} +2 -2
  9. package/dist/{Message-D_vCVEGB.d.ts → Message-DyaTBiV7.d.ts} +17 -4
  10. package/dist/MessageScrollerVirtual-D4afYwVB.d.ts +84 -0
  11. package/dist/{PromptInput-DtJHyp0S.d.ts → PromptInput-C4Mofitz.d.ts} +44 -31
  12. package/dist/PromptInputApproval-D2hpn54U.d.ts +44 -0
  13. package/dist/Separator-CzhtLYE1.d.ts +41 -0
  14. package/dist/Toolbar-CGY004u0.d.ts +155 -0
  15. package/dist/{Workspace-LIoU30n7.d.ts → Workspace-HzGrWDX3.d.ts} +1 -1
  16. package/dist/{WorkspaceFile-Dq-GC0_T.d.ts → WorkspaceFile-Bouauobc.d.ts} +1 -1
  17. package/dist/{WorkspaceFileView-C_WnYm-a.js → WorkspaceFileView-DYPtRVpM.js} +5 -4
  18. package/dist/{WorkspaceLink-B1d2GIGl.js → WorkspaceLink-BYZG-V_I.js} +8 -91
  19. package/dist/{WorkspaceMessageResponse-BqOezptB.js → WorkspaceMessageResponse-CUJk9_P5.js} +2 -2
  20. package/dist/components/agents-sdk/AgentActivity.js +1 -1
  21. package/dist/components/agents-sdk/AgentChat.d.ts +198 -2
  22. package/dist/components/agents-sdk/AgentChat.js +527 -672
  23. package/dist/components/agents-sdk/AgentChatQueue.d.ts +2 -0
  24. package/dist/components/agents-sdk/AgentChatQueue.js +206 -0
  25. package/dist/components/agents-sdk/AgentEvent.js +2 -2
  26. package/dist/components/agents-sdk/AgentToolRunsContext.d.ts +2 -2
  27. package/dist/components/agents-sdk/AgentToolRunsContext.js +1 -36
  28. package/dist/components/agents-sdk/BrowserLiveScreen.js +22 -14
  29. package/dist/components/agents-sdk/BrowserLiveView.js +1 -1
  30. package/dist/components/agents-sdk/BrowserReplay.d.ts +1 -1
  31. package/dist/components/agents-sdk/BrowserReplay.js +1 -1
  32. package/dist/components/agents-sdk/BrowserRunPanel.d.ts +3 -0
  33. package/dist/components/agents-sdk/BrowserRunPanel.js +32 -31
  34. package/dist/components/agents-sdk/EmployeeChrome.d.ts +212 -0
  35. package/dist/components/agents-sdk/EmployeeChrome.js +555 -0
  36. package/dist/components/agents-sdk/ManagerOffice.d.ts +79 -40
  37. package/dist/components/agents-sdk/ManagerOffice.js +291 -281
  38. package/dist/components/agents-sdk/McpConnectionRequest.d.ts +4 -4
  39. package/dist/components/agents-sdk/McpConnectionRequest.js +4 -3
  40. package/dist/components/agents-sdk/McpConnectorForm.d.ts +38 -1
  41. package/dist/components/agents-sdk/McpConnectorForm.js +1 -1
  42. package/dist/components/agents-sdk/McpPluginCatalog.d.ts +93 -1
  43. package/dist/components/agents-sdk/McpPluginCatalog.js +5 -4
  44. package/dist/components/agents-sdk/McpServerIcon.d.ts +17 -0
  45. package/dist/components/agents-sdk/McpServerIcon.js +25 -0
  46. package/dist/components/agents-sdk/McpServerPicker.d.ts +4 -3
  47. package/dist/components/agents-sdk/McpServerPicker.js +4 -3
  48. package/dist/components/agents-sdk/ModelSelector.d.ts +4 -4
  49. package/dist/components/agents-sdk/ModelSelector.js +4 -4
  50. package/dist/components/agents-sdk/PromptInputApproval.d.ts +1 -43
  51. package/dist/components/agents-sdk/PromptInputApproval.js +1 -1
  52. package/dist/components/agents-sdk/PromptInputCommands.d.ts +1 -1
  53. package/dist/components/agents-sdk/PromptInputCommands.js +2 -3
  54. package/dist/components/agents-sdk/SessionCompaction.d.ts +88 -1
  55. package/dist/components/agents-sdk/SessionCompaction.js +2 -2
  56. package/dist/components/agents-sdk/SubagentRunDetails.d.ts +30 -1
  57. package/dist/components/agents-sdk/SubagentRunDetails.js +57 -1
  58. package/dist/components/agents-sdk/SubagentRunIndicator.d.ts +9 -9
  59. package/dist/components/agents-sdk/SubagentRunIndicator.js +19 -24
  60. package/dist/components/agents-sdk/SubagentRunList.d.ts +6 -3
  61. package/dist/components/agents-sdk/SubagentRunList.js +4 -2
  62. package/dist/components/agents-sdk/SubagentRunPanel.d.ts +60 -0
  63. package/dist/components/agents-sdk/SubagentRunPanel.js +255 -0
  64. package/dist/components/agents-sdk/SubagentRunSelector.d.ts +8 -4
  65. package/dist/components/agents-sdk/SubagentRunSelector.js +5 -3
  66. package/dist/components/agents-sdk/ThinkChat.d.ts +102 -2
  67. package/dist/components/agents-sdk/ThinkChat.js +233 -2
  68. package/dist/components/agents-sdk/ThinkChatActivity.d.ts +76 -1
  69. package/dist/components/agents-sdk/ThinkChatActivity.js +18 -10
  70. package/dist/components/agents-sdk/ThinkChatContext.d.ts +27 -1
  71. package/dist/components/agents-sdk/ThinkChatContext.js +1 -1
  72. package/dist/components/agents-sdk/ThinkChatToolPanels.js +24 -19
  73. package/dist/components/agents-sdk/ThinkExecutionDetail.js +2 -2
  74. package/dist/components/agents-sdk/ThinkExecutionStatus.d.ts +1 -1
  75. package/dist/components/agents-sdk/ThinkExecutionStatus.js +1 -1
  76. package/dist/components/agents-sdk/ThinkExecutionWorkbench.d.ts +85 -28
  77. package/dist/components/agents-sdk/ThinkExecutionWorkbench.js +159 -102
  78. package/dist/components/agents-sdk/ThinkFullApp.d.ts +40 -158
  79. package/dist/components/agents-sdk/ThinkFullApp.js +71 -290
  80. package/dist/components/agents-sdk/ThinkRecoveryNotice.d.ts +18 -1
  81. package/dist/components/agents-sdk/ThinkRecoveryNotice.js +1 -1
  82. package/dist/components/agents-sdk/ThinkRoutineActions.d.ts +51 -0
  83. package/dist/components/agents-sdk/ThinkRoutineActions.js +201 -0
  84. package/dist/components/agents-sdk/ThinkRoutineBrowser.d.ts +4 -1
  85. package/dist/components/agents-sdk/ThinkRoutineBrowser.js +17 -15
  86. package/dist/components/agents-sdk/ThinkRoutineDetail.js +11 -11
  87. package/dist/components/agents-sdk/ThinkRoutineForm.d.ts +2 -1
  88. package/dist/components/agents-sdk/ThinkRoutineForm.js +14 -14
  89. package/dist/components/agents-sdk/ThinkRoutineRuns.js +7 -7
  90. package/dist/components/agents-sdk/ThinkThreadPicker.d.ts +90 -1
  91. package/dist/components/agents-sdk/ThinkThreadPicker.js +3 -3
  92. package/dist/components/agents-sdk/Workspace.d.ts +1 -1
  93. package/dist/components/agents-sdk/Workspace.js +7 -13
  94. package/dist/components/agents-sdk/WorkspaceBrowser.d.ts +1 -1
  95. package/dist/components/agents-sdk/WorkspaceBrowser.js +1 -1
  96. package/dist/components/agents-sdk/WorkspaceConcept.d.ts +1 -1
  97. package/dist/components/agents-sdk/WorkspaceCorrespondence.d.ts +10 -1
  98. package/dist/components/agents-sdk/WorkspaceCorrespondence.js +10 -7
  99. package/dist/components/agents-sdk/WorkspaceExecution.d.ts +5 -14
  100. package/dist/components/agents-sdk/WorkspaceExecution.js +24 -38
  101. package/dist/components/agents-sdk/WorkspaceExplorer.d.ts +5 -2
  102. package/dist/components/agents-sdk/WorkspaceExplorer.js +3 -2
  103. package/dist/components/agents-sdk/WorkspaceFile.d.ts +1 -1
  104. package/dist/components/agents-sdk/WorkspaceFileView.d.ts +1 -1
  105. package/dist/components/agents-sdk/WorkspaceFileView.js +1 -1
  106. package/dist/components/agents-sdk/WorkspaceHeader.js +1 -1
  107. package/dist/components/agents-sdk/WorkspaceLink.js +1 -1
  108. package/dist/components/agents-sdk/WorkspaceLive.d.ts +60 -1
  109. package/dist/components/agents-sdk/WorkspaceMessageResponse.d.ts +47 -1
  110. package/dist/components/agents-sdk/WorkspaceMessageResponse.js +1 -1
  111. package/dist/components/agents-sdk/WorkspaceMountManager.d.ts +3 -2
  112. package/dist/components/agents-sdk/WorkspaceMountManager.js +6 -9
  113. package/dist/components/agents-sdk/WorkspaceNavigationRestoration.d.ts +38 -0
  114. package/dist/components/agents-sdk/WorkspaceNavigationRestoration.js +86 -0
  115. package/dist/components/agents-sdk/WorkspaceProject.d.ts +5 -14
  116. package/dist/components/agents-sdk/WorkspaceProject.js +21 -35
  117. package/dist/components/agents-sdk/WorkspaceUserScript.d.ts +1 -1
  118. package/dist/components/agents-sdk/WorkspaceUserScript.js +8 -5
  119. package/dist/components/ai-sdk/Activity.d.ts +1 -1
  120. package/dist/components/ai-sdk/Activity.js +1 -1
  121. package/dist/components/ai-sdk/AgentAttention.d.ts +2 -2
  122. package/dist/components/ai-sdk/AgentChatStartScreen.d.ts +89 -2
  123. package/dist/components/ai-sdk/AgentChatStartScreen.js +64 -43
  124. package/dist/components/ai-sdk/AgentMessageParts.d.ts +45 -1
  125. package/dist/components/ai-sdk/Approval.d.ts +1 -1
  126. package/dist/components/ai-sdk/Approval.js +2 -2
  127. package/dist/components/ai-sdk/Artifact.d.ts +2 -2
  128. package/dist/components/ai-sdk/Artifact.js +1 -1
  129. package/dist/components/ai-sdk/ChainOfThought.d.ts +1 -1
  130. package/dist/components/ai-sdk/ChainOfThought.js +1 -1
  131. package/dist/components/ai-sdk/Checkpoint.js +1 -1
  132. package/dist/components/ai-sdk/CodeBlock.d.ts +1 -1
  133. package/dist/components/ai-sdk/CodeBlock.js +1 -1
  134. package/dist/components/ai-sdk/ComposerLink.js +2 -3
  135. package/dist/components/ai-sdk/ConnectedAppCards.d.ts +9 -1
  136. package/dist/components/ai-sdk/ConnectedAppCards.js +28 -21
  137. package/dist/components/ai-sdk/Context.d.ts +7 -3
  138. package/dist/components/ai-sdk/Context.js +7 -17
  139. package/dist/components/ai-sdk/Conversation.d.ts +2 -2
  140. package/dist/components/ai-sdk/Conversation.js +1 -1
  141. package/dist/components/ai-sdk/Goal.d.ts +3 -3
  142. package/dist/components/ai-sdk/Goal.js +3 -3
  143. package/dist/components/ai-sdk/InlineCitation.d.ts +1 -1
  144. package/dist/components/ai-sdk/MediaPreviewCard.d.ts +1 -1
  145. package/dist/components/ai-sdk/MediaPreviewCard.js +1 -1
  146. package/dist/components/ai-sdk/Message.d.ts +2 -2
  147. package/dist/components/ai-sdk/Message.js +12 -3
  148. package/dist/components/ai-sdk/MessageScroller.d.ts +1 -1
  149. package/dist/components/ai-sdk/MessageScroller.js +1 -1
  150. package/dist/components/ai-sdk/MessageScrollerVirtual.d.ts +2 -76
  151. package/dist/components/ai-sdk/MessageScrollerVirtual.js +39 -5
  152. package/dist/components/ai-sdk/Plan.d.ts +1 -1
  153. package/dist/components/ai-sdk/Plan.js +1 -1
  154. package/dist/components/ai-sdk/PromptInput.d.ts +2 -2
  155. package/dist/components/ai-sdk/PromptInput.js +175 -231
  156. package/dist/components/ai-sdk/PromptInputComposerEditor.js +32 -9
  157. package/dist/components/ai-sdk/Queue.d.ts +28 -5
  158. package/dist/components/ai-sdk/Queue.js +20 -5
  159. package/dist/components/ai-sdk/Reasoning.d.ts +1 -1
  160. package/dist/components/ai-sdk/Reasoning.js +5 -5
  161. package/dist/components/ai-sdk/Sources.d.ts +1 -1
  162. package/dist/components/ai-sdk/Sources.js +1 -1
  163. package/dist/components/ai-sdk/Task.d.ts +1 -1
  164. package/dist/components/ai-sdk/Task.js +1 -1
  165. package/dist/components/extension/ChatGptSignInScreen.d.ts +1 -1
  166. package/dist/components/extension/ChatGptSignInScreen.js +1 -1
  167. package/dist/components/extension/CodexModelSelector.d.ts +5 -0
  168. package/dist/components/extension/CodexModelSelector.js +2 -2
  169. package/dist/components/extension/ConversationTabPicker.d.ts +1 -0
  170. package/dist/components/extension/ConversationTabPicker.js +2 -2
  171. package/dist/components/foundations/AlertDialog.d.ts +1 -1
  172. package/dist/components/foundations/AppIcon.d.ts +3 -2
  173. package/dist/components/foundations/Autocomplete.js +6 -1
  174. package/dist/components/foundations/Avatar.d.ts +1 -121
  175. package/dist/components/foundations/Button.d.ts +1 -1
  176. package/dist/components/foundations/Card.d.ts +22 -27
  177. package/dist/components/foundations/Card.js +51 -32
  178. package/dist/components/foundations/Checkbox.js +1 -1
  179. package/dist/components/foundations/CheckboxGroup.d.ts +1 -1
  180. package/dist/components/foundations/Collapsible.d.ts +1 -1
  181. package/dist/components/foundations/Collapsible.js +1 -1
  182. package/dist/components/foundations/Combobox.js +6 -1
  183. package/dist/components/foundations/ContextMenu.js +1 -1
  184. package/dist/components/foundations/Dialog.d.ts +106 -1
  185. package/dist/components/foundations/EmptyState.d.ts +1 -1
  186. package/dist/components/foundations/Field.d.ts +2 -1
  187. package/dist/components/foundations/Fieldset.d.ts +1 -1
  188. package/dist/components/foundations/Form.d.ts +4 -4
  189. package/dist/components/foundations/IconButton.d.ts +1 -1
  190. package/dist/components/foundations/Label.d.ts +1 -1
  191. package/dist/components/foundations/LinkButton.d.ts +2 -2
  192. package/dist/components/foundations/Menubar.js +1 -1
  193. package/dist/components/foundations/Meter.d.ts +1 -1
  194. package/dist/components/foundations/NumberField.d.ts +1 -1
  195. package/dist/components/foundations/ScrollArea.d.ts +1 -1
  196. package/dist/components/foundations/SearchField.d.ts +1 -1
  197. package/dist/components/foundations/SearchField.js +1 -1
  198. package/dist/components/foundations/Select.js +7 -2
  199. package/dist/components/foundations/Separator.d.ts +1 -40
  200. package/dist/components/foundations/Stepper.d.ts +1 -1
  201. package/dist/components/foundations/Stepper.js +1 -1
  202. package/dist/components/foundations/Textarea.d.ts +1 -1
  203. package/dist/components/foundations/Toast.d.ts +5 -1
  204. package/dist/components/foundations/Toast.js +1 -1
  205. package/dist/components/foundations/Toggle.d.ts +70 -1
  206. package/dist/components/foundations/ToggleGroup.d.ts +4 -3
  207. package/dist/components/foundations/ToggleGroup.js +1 -1
  208. package/dist/components/foundations/Toolbar.d.ts +1 -151
  209. package/dist/components/foundations/TransitionSurface.d.ts +1 -1
  210. package/dist/components/foundations/icons.js +1 -1
  211. package/dist/components/general-purpose/ActionGuide.d.ts +10 -26
  212. package/dist/components/general-purpose/ActionGuide.js +4 -18
  213. package/dist/components/general-purpose/AppTopBar.d.ts +4 -2
  214. package/dist/components/general-purpose/Commit.d.ts +2 -2
  215. package/dist/components/general-purpose/Commit.js +2 -2
  216. package/dist/components/general-purpose/EnvironmentVariables.d.ts +2 -2
  217. package/dist/components/general-purpose/EnvironmentVariables.js +2 -2
  218. package/dist/components/general-purpose/FileTree.d.ts +1 -7
  219. package/dist/components/general-purpose/FileTree.js +1 -1
  220. package/dist/components/general-purpose/PricingPlanCard.d.ts +4 -0
  221. package/dist/components/general-purpose/PricingPlanCard.js +2 -2
  222. package/dist/components/general-purpose/PricingUsageCalculator.js +2 -2
  223. package/dist/components/general-purpose/ResizableSidePanel.d.ts +2 -2
  224. package/dist/components/general-purpose/ResponsiveSidebarShell.d.ts +128 -2
  225. package/dist/components/general-purpose/ResponsiveSidebarShell.js +120 -102
  226. package/dist/components/general-purpose/SettingsFormDialog.d.ts +14 -27
  227. package/dist/components/general-purpose/SettingsFormDialog.js +42 -72
  228. package/dist/components/general-purpose/SetupChecklist.d.ts +1 -0
  229. package/dist/components/general-purpose/SetupChecklist.js +76 -1
  230. package/dist/components/general-purpose/Terminal.d.ts +3 -3
  231. package/dist/components/general-purpose/Terminal.js +11 -6
  232. package/dist/components/general-purpose/TestResults.d.ts +23 -11
  233. package/dist/components/general-purpose/TestResults.js +49 -51
  234. package/dist/components/general-purpose/ThemeModeControl.d.ts +2 -0
  235. package/dist/components/general-purpose/ThemeModeControl.js +2 -2
  236. package/dist/components/general-purpose/WebPreview.d.ts +29 -4
  237. package/dist/components/general-purpose/WebPreview.js +39 -14
  238. package/dist/components/nanites/AgentConnection.js +2 -2
  239. package/dist/components/nanites/AgentToolDetail.d.ts +13 -11
  240. package/dist/components/nanites/AgentToolDetail.js +21 -42
  241. package/dist/{copy-button-Dk2vRe9j.js → copy-button-CSDuDfdP.js} +1 -1
  242. package/dist/{copy-button-C0JyjClr.d.ts → copy-button-OUwOdgEm.d.ts} +1 -1
  243. package/dist/mcp-server-mAErsxHU.js +27 -0
  244. package/dist/styles/activity.css +1 -96
  245. package/dist/styles/agent-chat.css +75 -102
  246. package/dist/styles/agent-tool-detail.css +0 -16
  247. package/dist/styles/base.css +1 -1
  248. package/dist/styles/browser-run-panel.css +1 -15
  249. package/dist/styles/button.css +7 -1
  250. package/dist/styles/code-block.css +12 -0
  251. package/dist/styles/composition-motion.css +0 -2
  252. package/dist/styles/employee-chrome.css +43 -0
  253. package/dist/styles/file-tree.css +5 -0
  254. package/dist/styles/index.css +4 -2
  255. package/dist/styles/message.css +2 -10
  256. package/dist/styles/queue.css +71 -0
  257. package/dist/styles/subagent-run.css +122 -6
  258. package/dist/styles/test-results.css +2 -5
  259. package/dist/styles/think-chat-activity.css +13 -0
  260. package/dist/styles/think-chat-tool-panels.css +81 -0
  261. package/dist/styles/think-execution-workbench.css +2 -8
  262. package/dist/styles/think-full-app.css +42 -251
  263. package/dist/styles/{think-routine-library.css → think-routine.css} +64 -80
  264. package/dist/styles/web-preview.css +15 -1
  265. package/dist/utils/mcp-server-catalog.d.ts +1112 -2
  266. package/dist/utils/mcp-server-catalog.js +28 -9
  267. package/dist/utils/structured-code.d.ts +1 -1
  268. package/dist/{workspace-assets-GqsCYxqT.js → workspace-assets-Bg7XhPsk.js} +2 -2
  269. package/package.json +7 -3
  270. package/dist/AgentChat-BLmQghkt.d.ts +0 -327
  271. package/dist/AgentChatStartScreen-Bkv7Avni.d.ts +0 -84
  272. package/dist/AgentMessageParts-C7L-Mv9U.d.ts +0 -46
  273. package/dist/AgentToolRunsContext-jtmveaRE.d.ts +0 -57
  274. package/dist/Dialog-B_FhRWaz.d.ts +0 -107
  275. package/dist/McpConnectorForm-CeYNY0MI.d.ts +0 -39
  276. package/dist/McpPluginCatalog-3qWu8oK1.d.ts +0 -92
  277. package/dist/ResponsiveSidebarShell-BTVPxLJK.d.ts +0 -123
  278. package/dist/SessionCompaction-CmTJFpzj.d.ts +0 -89
  279. package/dist/SetupChecklist-DeTU9YpW.js +0 -77
  280. package/dist/ThinkChat-CwMdEum8.d.ts +0 -185
  281. package/dist/ThinkChat-DiI6hhDP.js +0 -332
  282. package/dist/ThinkChatActivity-B3lGVS-6.d.ts +0 -77
  283. package/dist/ThinkChatContext-COIgzkYp.d.ts +0 -28
  284. package/dist/ThinkRecoveryNotice-DGWr94rk.d.ts +0 -19
  285. package/dist/ThinkThreadPicker-yFz4vvIf.d.ts +0 -91
  286. package/dist/Toggle-DLrIf5YH.d.ts +0 -69
  287. package/dist/WorkspaceLive-DfjH1Ypm.d.ts +0 -61
  288. package/dist/WorkspaceMessageResponse-kJYU8Onj.d.ts +0 -48
  289. package/dist/components/agents-sdk/ThinkFullAppViewSwitch.d.ts +0 -31
  290. package/dist/components/agents-sdk/ThinkFullAppViewSwitch.js +0 -34
  291. package/dist/components/agents-sdk/ThinkRoutineLibrary.d.ts +0 -80
  292. package/dist/components/agents-sdk/ThinkRoutineLibrary.js +0 -159
  293. package/dist/components/agents-sdk/ThinkSidepanel.d.ts +0 -200
  294. package/dist/components/agents-sdk/ThinkSidepanel.js +0 -775
  295. package/dist/mcp-server-7NR24ASj.js +0 -69
  296. package/dist/mcp-server-catalog-C_g7C-9o.d.ts +0 -1108
  297. package/dist/styles/think-sidepanel.css +0 -78
  298. package/dist/think-agent-Cip5KAPj.d.ts +0 -7
  299. package/dist/{icons-CeGfXO21.js → icons-cuEtsgj9.js} +1 -1
@@ -0,0 +1,51 @@
1
+ import { ThinkRoutine } from "./ThinkRoutine.js";
2
+ import { AppTopBar } from "../general-purpose/AppTopBar.js";
3
+ import * as React from "react";
4
+
5
+ //#region src/components/agents-sdk/ThinkRoutineActions.d.ts
6
+ interface ThinkRoutineActionsRootProps<TRoutine extends ThinkRoutine = ThinkRoutine> {
7
+ /** Whole selected routine, including app-owned extensions and native task/run values. */
8
+ routine: TRoutine;
9
+ /** Stable non-secret identity of the source backing this routine. */
10
+ sourceKey: string;
11
+ /** Host mutation that runs the whole selected routine; its promise controls pending and error feedback. */
12
+ onRun?: (routine: TRoutine) => void | Promise<void>;
13
+ /** Host mutation for the requested enabled state; the host supplies the updated routine after success. */
14
+ onEnabledChange?: (routine: TRoutine, enabled: boolean) => void | Promise<void>;
15
+ /** Host removal invoked after confirmation; rejection keeps the confirmation open with its error. */
16
+ onDelete?: (routine: TRoutine) => void | Promise<void>;
17
+ /** Caller-composed controls and detail sharing this source/routine mutation scope; no layout is inserted. */
18
+ children: React.ReactNode;
19
+ }
20
+ /** Connect an independently mounted detail to its selected routine action scope. */
21
+ declare function useThinkRoutineActions(): {
22
+ busy: boolean;
23
+ onEnabledChange: ((enabled: boolean) => void) | undefined;
24
+ };
25
+ /** No layout or routing. Source/routine changes reset actions without remounting caller navigation. */
26
+ declare function ThinkRoutineActionsRoot<TRoutine extends ThinkRoutine>({
27
+ routine,
28
+ sourceKey,
29
+ onRun,
30
+ onEnabledChange,
31
+ onDelete,
32
+ children
33
+ }: ThinkRoutineActionsRootProps<TRoutine>): React.JSX.Element;
34
+ type ThinkRoutineActionProps = Omit<React.ComponentProps<typeof AppTopBar.Button>, "label"> & {
35
+ label?: string;
36
+ };
37
+ /** Explicit run control; preserves the complete shared button composition contract. */
38
+ declare function ThinkRoutineRun(props: ThinkRoutineActionProps): React.JSX.Element | null;
39
+ /** Delete confirmation stays open on failure; only its source-scoped action can settle it. */
40
+ declare function ThinkRoutineDelete(props: ThinkRoutineActionProps): React.JSX.Element | null;
41
+ declare function ThinkRoutineError(props: React.ComponentPropsWithRef<"div">): React.JSX.Element | null;
42
+ declare function ThinkRoutineStatus(props: React.ComponentPropsWithRef<"div">): React.JSX.Element;
43
+ declare const ThinkRoutineActions: {
44
+ Root: typeof ThinkRoutineActionsRoot;
45
+ Run: typeof ThinkRoutineRun;
46
+ Delete: typeof ThinkRoutineDelete;
47
+ Error: typeof ThinkRoutineError;
48
+ Status: typeof ThinkRoutineStatus;
49
+ };
50
+ //#endregion
51
+ export { ThinkRoutineActionProps, ThinkRoutineActions, ThinkRoutineActionsRootProps, useThinkRoutineActions };
@@ -0,0 +1,201 @@
1
+ import { K as SpinnerIcon, Q as TrashIcon, z as PlayIcon } from "../../icons-cuEtsgj9.js";
2
+ import { Button } from "../foundations/Button.js";
3
+ import { a as formatErrorMessage } from "../../format-COCyV98Z.js";
4
+ import { n as mergeRefs } from "../../merge-refs-DF_7w2x_.js";
5
+ import { AlertDialog } from "../foundations/AlertDialog.js";
6
+ import { AppTopBar } from "../general-purpose/AppTopBar.js";
7
+ import * as React from "react";
8
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
9
+ import { mergeProps } from "@base-ui/react/merge-props";
10
+ //#region src/components/agents-sdk/ThinkRoutineActions.tsx
11
+ const RoutineActionsContext = React.createContext(null);
12
+ /** Selected-routine mutation state for explicitly composed detail and controls. */
13
+ function useRoutineActions() {
14
+ const value = React.useContext(RoutineActionsContext);
15
+ if (!value) throw new Error("Routine actions require ThinkRoutineActions.Root.");
16
+ return value;
17
+ }
18
+ /** Connect an independently mounted detail to its selected routine action scope. */
19
+ function useThinkRoutineActions() {
20
+ const { busy, onEnabledChange } = useRoutineActions();
21
+ return {
22
+ busy,
23
+ onEnabledChange
24
+ };
25
+ }
26
+ /** No layout or routing. Source/routine changes reset actions without remounting caller navigation. */
27
+ function ThinkRoutineActionsRoot({ routine, sourceKey, onRun, onEnabledChange, onDelete, children }) {
28
+ const identity = JSON.stringify([sourceKey, routine.id]);
29
+ const initial = () => ({
30
+ scope: { identity },
31
+ busy: false,
32
+ error: null,
33
+ announcement: "",
34
+ action: null
35
+ });
36
+ const [state, setState] = React.useState(initial);
37
+ if (state.scope.identity !== identity) setState(initial());
38
+ const inFlight = React.useRef(null);
39
+ const value = React.useMemo(() => {
40
+ const perform = async (operation, action, success) => {
41
+ const scope = state.scope;
42
+ if (inFlight.current === scope) return false;
43
+ inFlight.current = scope;
44
+ setState((current) => current.scope === scope ? {
45
+ ...current,
46
+ busy: true,
47
+ error: null,
48
+ announcement: "",
49
+ action: operation
50
+ } : current);
51
+ try {
52
+ await action();
53
+ setState((current) => current.scope === scope ? {
54
+ ...current,
55
+ announcement: success
56
+ } : current);
57
+ return true;
58
+ } catch (next) {
59
+ setState((current) => current.scope === scope ? {
60
+ ...current,
61
+ error: formatErrorMessage(next)
62
+ } : current);
63
+ return false;
64
+ } finally {
65
+ if (inFlight.current === scope) inFlight.current = null;
66
+ setState((current) => current.scope === scope ? {
67
+ ...current,
68
+ busy: false
69
+ } : current);
70
+ }
71
+ };
72
+ return {
73
+ scope: state.scope,
74
+ name: routine.name,
75
+ busy: state.busy,
76
+ error: state.action === "delete" ? null : state.error,
77
+ deleteError: state.action === "delete" ? state.error : null,
78
+ announcement: state.announcement,
79
+ run: onRun ? () => perform("run", () => onRun(routine), `Started ${routine.name}.`) : void 0,
80
+ remove: onDelete ? () => perform("delete", () => onDelete(routine), `Deleted ${routine.name}.`) : void 0,
81
+ onEnabledChange: onEnabledChange ? (enabled) => {
82
+ perform("enable", () => onEnabledChange(routine, enabled), `${routine.name} ${enabled ? "activated" : "paused"}.`);
83
+ } : void 0
84
+ };
85
+ }, [
86
+ state,
87
+ routine,
88
+ onRun,
89
+ onDelete,
90
+ onEnabledChange
91
+ ]);
92
+ return /* @__PURE__ */ jsx(RoutineActionsContext.Provider, {
93
+ value,
94
+ children
95
+ });
96
+ }
97
+ /** Explicit run control; preserves the complete shared button composition contract. */
98
+ function ThinkRoutineRun(props) {
99
+ const { busy, run } = useRoutineActions();
100
+ if (!run) return null;
101
+ return /* @__PURE__ */ jsx(AppTopBar.Button, {
102
+ ...mergeProps({
103
+ label: "Run schedule",
104
+ onClick: () => {
105
+ run();
106
+ },
107
+ children: busy ? /* @__PURE__ */ jsx(SpinnerIcon, {}) : /* @__PURE__ */ jsx(PlayIcon, {})
108
+ }, props),
109
+ label: props.label ?? "Run schedule",
110
+ disabled: busy || props.disabled
111
+ });
112
+ }
113
+ /** Delete confirmation stays open on failure; only its source-scoped action can settle it. */
114
+ function ThinkRoutineDelete(props) {
115
+ const { scope, name, busy, deleteError: error, remove } = useRoutineActions();
116
+ const [dialog, setDialog] = React.useState({
117
+ scope,
118
+ open: false
119
+ });
120
+ if (dialog.scope !== scope) setDialog({
121
+ scope,
122
+ open: false
123
+ });
124
+ const open = dialog.scope === scope && dialog.open;
125
+ const setOpen = (open) => setDialog((current) => current.scope === scope ? {
126
+ scope,
127
+ open
128
+ } : current);
129
+ const triggerRef = React.useRef(null);
130
+ if (!remove) return null;
131
+ return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(AppTopBar.Button, {
132
+ ...mergeProps({
133
+ label: "Delete schedule",
134
+ onClick: () => setOpen(true),
135
+ children: /* @__PURE__ */ jsx(TrashIcon, {})
136
+ }, props),
137
+ ref: mergeRefs(triggerRef, props.ref),
138
+ label: props.label ?? "Delete schedule",
139
+ disabled: busy || props.disabled
140
+ }), /* @__PURE__ */ jsx(AlertDialog.Root, {
141
+ open,
142
+ onOpenChange: (next, details) => {
143
+ if (busy && !next) details.cancel();
144
+ else setOpen(next);
145
+ },
146
+ children: /* @__PURE__ */ jsxs(AlertDialog.Portal, { children: [/* @__PURE__ */ jsx(AlertDialog.Backdrop, {}), /* @__PURE__ */ jsx(AlertDialog.Viewport, { children: /* @__PURE__ */ jsxs(AlertDialog.Popup, {
147
+ finalFocus: triggerRef,
148
+ children: [
149
+ /* @__PURE__ */ jsxs(AlertDialog.Title, { children: [
150
+ "Delete ",
151
+ name,
152
+ "?"
153
+ ] }),
154
+ /* @__PURE__ */ jsx(AlertDialog.Description, { children: "This permanently deletes the schedule and stops its future runs." }),
155
+ error ? /* @__PURE__ */ jsx("p", {
156
+ role: "alert",
157
+ children: error
158
+ }) : null,
159
+ /* @__PURE__ */ jsxs(AlertDialog.Footer, { children: [/* @__PURE__ */ jsx(AlertDialog.Close, {
160
+ disabled: busy,
161
+ children: "Cancel"
162
+ }), /* @__PURE__ */ jsx(Button, {
163
+ "aria-label": "Confirm delete schedule",
164
+ color: "destructive",
165
+ disabled: busy,
166
+ onClick: async () => {
167
+ if (await remove()) setOpen(false);
168
+ },
169
+ children: "Delete schedule"
170
+ })] })
171
+ ]
172
+ }) })] })
173
+ })] });
174
+ }
175
+ function ThinkRoutineError(props) {
176
+ const { error } = useRoutineActions();
177
+ return error ? /* @__PURE__ */ jsx("div", {
178
+ role: "alert",
179
+ ...props,
180
+ children: error
181
+ }) : null;
182
+ }
183
+ function ThinkRoutineStatus(props) {
184
+ const { announcement } = useRoutineActions();
185
+ return /* @__PURE__ */ jsx("div", {
186
+ role: "status",
187
+ "aria-atomic": "true",
188
+ className: "sigvelo-visually-hidden",
189
+ ...props,
190
+ children: announcement
191
+ });
192
+ }
193
+ const ThinkRoutineActions = {
194
+ Root: ThinkRoutineActionsRoot,
195
+ Run: ThinkRoutineRun,
196
+ Delete: ThinkRoutineDelete,
197
+ Error: ThinkRoutineError,
198
+ Status: ThinkRoutineStatus
199
+ };
200
+ //#endregion
201
+ export { ThinkRoutineActions, useThinkRoutineActions };
@@ -13,7 +13,10 @@ interface ThinkRoutineBrowserProps<TRoutine extends ThinkRoutine = ThinkRoutine>
13
13
  renderRoutineLink: (routine: TRoutine) => React.ReactElement;
14
14
  /** App-authored TanStack Router Link to the routine creation route. */
15
15
  createRoutineLink?: React.ReactElement;
16
- /** Optional UI-only response after a routine link is activated. */
16
+ /** UI-only response to ordinary same-tab activation, including keyboard clicks.
17
+ * Modified, non-primary, download, and other-target clicks leave this UI unchanged.
18
+ * Receives the original React anchor event; routing remains with the rendered link.
19
+ */
17
20
  onRoutineLinkClick?: React.MouseEventHandler<HTMLAnchorElement>;
18
21
  }
19
22
  /** Searchable, filterable navigation for an app-owned collection of Think routines. */
@@ -1,13 +1,13 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { B as PlusIcon } from "../../icons-CeGfXO21.js";
2
+ import { B as PlusIcon } from "../../icons-cuEtsgj9.js";
3
3
  import { buttonVariants } from "../foundations/Button.js";
4
4
  import { Tooltip } from "../foundations/Tooltip.js";
5
5
  import { t as capitalize } from "../../format-COCyV98Z.js";
6
- import { t as NavigationLink } from "../../navigation-link-kqMa81v5.js";
7
6
  import { EmptyState } from "../foundations/EmptyState.js";
7
+ import { n as isPlainPrimaryLinkActivation, t as NavigationLink } from "../../navigation-link-kqMa81v5.js";
8
8
  import { SearchField } from "../foundations/SearchField.js";
9
- import { ToggleGroup } from "../foundations/ToggleGroup.js";
10
9
  import { getThinkRoutineNextRun } from "./ThinkRoutine.js";
10
+ import { ToggleGroup } from "../foundations/ToggleGroup.js";
11
11
  import * as React from "react";
12
12
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
13
13
  //#region src/components/agents-sdk/ThinkRoutineBrowser.tsx
@@ -27,18 +27,18 @@ function ThinkRoutineBrowser({ className, routines, selectedRoutineId, showOwner
27
27
  const visibleRoutines = filterRoutines(routines, filter, query, showOwner);
28
28
  return /* @__PURE__ */ jsxs("nav", {
29
29
  ref,
30
- className: cx("think-routine-browser", "think-routine-library__browser", className),
30
+ className: cx("think-routine-browser", "think-routine__browser", className),
31
31
  ...props,
32
32
  children: [
33
33
  /* @__PURE__ */ jsx("h2", {
34
- className: "think-routine-library__title sigvelo-visually-hidden",
34
+ className: "sigvelo-visually-hidden",
35
35
  children: "Schedules"
36
36
  }),
37
37
  /* @__PURE__ */ jsxs("div", {
38
- className: "think-routine-library__browser-toolbar",
38
+ className: "think-routine__browser-toolbar",
39
39
  children: [/* @__PURE__ */ jsx(ToggleGroup.Root, {
40
40
  segmented: true,
41
- className: "think-routine-library__filters",
41
+ className: "think-routine__filters",
42
42
  size: "sm",
43
43
  "aria-label": "Filter schedules",
44
44
  value: [filter],
@@ -75,10 +75,10 @@ function ThinkRoutineBrowser({ className, routines, selectedRoutineId, showOwner
75
75
  }) })] }) : null]
76
76
  }),
77
77
  /* @__PURE__ */ jsxs(SearchField.Root, {
78
- className: "think-routine-library__search",
78
+ className: "think-routine__search",
79
79
  name: "routine-search",
80
80
  children: [/* @__PURE__ */ jsx(SearchField.Label, {
81
- className: "think-routine-library__title sigvelo-visually-hidden",
81
+ className: "sigvelo-visually-hidden",
82
82
  children: "Search schedules"
83
83
  }), /* @__PURE__ */ jsx(SearchField.Control, {
84
84
  value: query,
@@ -87,7 +87,7 @@ function ThinkRoutineBrowser({ className, routines, selectedRoutineId, showOwner
87
87
  })]
88
88
  }),
89
89
  /* @__PURE__ */ jsxs("p", {
90
- className: "think-routine-library__status sigvelo-visually-hidden",
90
+ className: "sigvelo-visually-hidden",
91
91
  role: "status",
92
92
  "aria-atomic": "true",
93
93
  children: [
@@ -98,7 +98,7 @@ function ThinkRoutineBrowser({ className, routines, selectedRoutineId, showOwner
98
98
  ]
99
99
  }),
100
100
  visibleRoutines.length ? /* @__PURE__ */ jsx("ul", {
101
- className: "think-routine-library__routine-list",
101
+ className: "think-routine__routine-list",
102
102
  role: "list",
103
103
  children: visibleRoutines.map((routine) => {
104
104
  const selected = routine.id === selectedRoutineId;
@@ -113,19 +113,21 @@ function ThinkRoutineBrowser({ className, routines, selectedRoutineId, showOwner
113
113
  className: "think-routine-browser__routine"
114
114
  }),
115
115
  "aria-current": selected ? "page" : void 0,
116
- onClick: onRoutineLinkClick,
116
+ onClick: (event) => {
117
+ if (isPlainPrimaryLinkActivation(event)) onRoutineLinkClick?.(event);
118
+ },
117
119
  children: [
118
120
  /* @__PURE__ */ jsx("span", {
119
- className: "think-routine-library__routine-status",
121
+ className: "think-routine__routine-status",
120
122
  "data-enabled": routine.enabled || void 0,
121
123
  "aria-hidden": "true"
122
124
  }),
123
125
  /* @__PURE__ */ jsx("span", {
124
- className: "think-routine-library__title sigvelo-visually-hidden",
126
+ className: "sigvelo-visually-hidden",
125
127
  children: routine.enabled ? "Active" : "Paused"
126
128
  }),
127
129
  /* @__PURE__ */ jsxs("span", {
128
- className: "think-routine-library__routine-copy",
130
+ className: "think-routine__routine-copy",
129
131
  children: [
130
132
  /* @__PURE__ */ jsx("strong", { children: routine.name }),
131
133
  /* @__PURE__ */ jsx("span", { children: routine.task.schedule }),
@@ -16,14 +16,14 @@ function ThinkRoutineDetail({ busy = false, className, routine, showOwner = true
16
16
  const enabledLabelId = React.useId();
17
17
  return /* @__PURE__ */ jsxs("article", {
18
18
  ref,
19
- className: cx("think-routine-detail", "think-routine-library__detail", className),
19
+ className: cx("think-routine-detail", "think-routine__detail", className),
20
20
  "aria-labelledby": titleId,
21
21
  ...props,
22
22
  children: [
23
23
  /* @__PURE__ */ jsx("header", {
24
- className: "think-routine-library__detail-header",
24
+ className: "think-routine__detail-header",
25
25
  children: /* @__PURE__ */ jsxs("div", {
26
- className: "think-routine-library__detail-heading",
26
+ className: "think-routine__detail-heading",
27
27
  children: [/* @__PURE__ */ jsx("h1", {
28
28
  id: titleId,
29
29
  children: routine.name
@@ -31,33 +31,33 @@ function ThinkRoutineDetail({ busy = false, className, routine, showOwner = true
31
31
  })
32
32
  }),
33
33
  /* @__PURE__ */ jsxs("div", {
34
- className: "think-routine-library__detail-grid",
34
+ className: "think-routine__detail-grid",
35
35
  children: [/* @__PURE__ */ jsxs("section", {
36
- className: "think-routine-library__definition",
36
+ className: "think-routine__definition",
37
37
  "aria-labelledby": definitionId,
38
38
  children: [/* @__PURE__ */ jsx("div", {
39
- className: "think-routine-library__section-heading",
39
+ className: "think-routine__section-heading",
40
40
  children: /* @__PURE__ */ jsx("h2", {
41
41
  id: definitionId,
42
42
  children: "Instructions"
43
43
  })
44
44
  }), /* @__PURE__ */ jsx("p", {
45
- className: "think-routine-library__instructions",
45
+ className: "think-routine__instructions",
46
46
  children: taskInstructions(routine)
47
47
  })]
48
48
  }), /* @__PURE__ */ jsxs("aside", {
49
- className: "think-routine-library__settings",
49
+ className: "think-routine__settings",
50
50
  "aria-labelledby": settingsId,
51
51
  children: [
52
52
  /* @__PURE__ */ jsx("div", {
53
- className: "think-routine-library__section-heading",
53
+ className: "think-routine__section-heading",
54
54
  children: /* @__PURE__ */ jsx("h2", {
55
55
  id: settingsId,
56
56
  children: "Schedule"
57
57
  })
58
58
  }),
59
59
  /* @__PURE__ */ jsxs("dl", {
60
- className: "think-routine-library__facts",
60
+ className: "think-routine__facts",
61
61
  children: [
62
62
  /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("dt", { children: "Repeats" }), /* @__PURE__ */ jsx("dd", { children: routine.task.schedule })] }),
63
63
  routine.schedule ? /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("dt", { children: "Next run" }), /* @__PURE__ */ jsx("dd", { children: getThinkRoutineNextRun(routine) })] }) : null,
@@ -65,7 +65,7 @@ function ThinkRoutineDetail({ busy = false, className, routine, showOwner = true
65
65
  ]
66
66
  }),
67
67
  /* @__PURE__ */ jsxs("div", {
68
- className: "think-routine-library__status-control",
68
+ className: "think-routine__status-control",
69
69
  children: [/* @__PURE__ */ jsx("div", {
70
70
  id: enabledLabelId,
71
71
  children: /* @__PURE__ */ jsx("strong", { children: "Enabled" })
@@ -32,6 +32,7 @@ interface ThinkRoutineFormProps extends Omit<React.HTMLAttributes<HTMLDivElement
32
32
  routine?: ThinkRoutineFormRoutine;
33
33
  /** App-authored TanStack Router Link to the routine catalog. */
34
34
  cancelLink?: React.ReactElement;
35
+ /** Receives the validated routine fields when the user creates or updates the schedule. */
35
36
  onSubmit: (value: ThinkRoutineFormValue) => void | Promise<void>;
36
37
  }
37
38
  /** Complete create/edit surface for a prompt-based Think scheduled task. */
@@ -43,7 +44,7 @@ declare function ThinkRoutineForm({
43
44
  ref,
44
45
  ...props
45
46
  }: ThinkRoutineFormProps & {
46
- ref?: React.Ref<HTMLDivElement>;
47
+ /** Ref forwarded to the component's rendered root element. */ref?: React.Ref<HTMLDivElement>;
47
48
  }): React.JSX.Element;
48
49
  //#endregion
49
50
  export { ThinkRoutineForm, ThinkRoutineFormProps, ThinkRoutineFormRoutine, ThinkRoutineFormSchedule, ThinkRoutineFormValue };
@@ -1,17 +1,17 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { K as SpinnerIcon, d as CheckIcon, et as WarningIcon, f as ChevronDownIcon, r as ArrowLeftIcon } from "../../icons-CeGfXO21.js";
2
+ import { K as SpinnerIcon, d as CheckIcon, et as WarningIcon, f as ChevronDownIcon, r as ArrowLeftIcon } from "../../icons-cuEtsgj9.js";
3
3
  import { Button } from "../foundations/Button.js";
4
+ import { a as formatErrorMessage } from "../../format-COCyV98Z.js";
4
5
  import { Field } from "../foundations/Field.js";
5
6
  import { Form } from "../foundations/Form.js";
6
7
  import { Textarea } from "../foundations/Textarea.js";
7
- import { a as formatErrorMessage } from "../../format-COCyV98Z.js";
8
+ import { AppTopBar } from "../general-purpose/AppTopBar.js";
9
+ import { Fieldset } from "../foundations/Fieldset.js";
8
10
  import { Select } from "../foundations/Select.js";
9
11
  import { Checkbox } from "../foundations/Checkbox.js";
10
12
  import { CheckboxGroup } from "../foundations/CheckboxGroup.js";
11
13
  import { Combobox } from "../foundations/Combobox.js";
12
- import { Fieldset } from "../foundations/Fieldset.js";
13
14
  import { NumberField } from "../foundations/NumberField.js";
14
- import { AppTopBar } from "../general-purpose/AppTopBar.js";
15
15
  import * as React from "react";
16
16
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
17
17
  //#region src/components/agents-sdk/ThinkRoutineForm.tsx
@@ -101,7 +101,7 @@ function timezoneOptions() {
101
101
  const TIMEZONE_OPTIONS = timezoneOptions();
102
102
  function RoutineSelect({ label, onValueChange, options, value }) {
103
103
  return /* @__PURE__ */ jsx("div", {
104
- className: "think-routine-library__select-field",
104
+ className: "think-routine__select-field",
105
105
  children: /* @__PURE__ */ jsxs(Select.Root, {
106
106
  items: options,
107
107
  value,
@@ -198,7 +198,7 @@ function ThinkRoutineForm({ cancelLink, className, routine, onSubmit, ref, ...pr
198
198
  }
199
199
  return /* @__PURE__ */ jsxs("div", {
200
200
  ref,
201
- className: cx("think-routine-library", "think-routine-library__editor", className),
201
+ className: cx("think-routine__editor", className),
202
202
  ...props,
203
203
  children: [
204
204
  /* @__PURE__ */ jsxs(AppTopBar.Root, {
@@ -210,18 +210,18 @@ function ThinkRoutineForm({ cancelLink, className, routine, onSubmit, ref, ...pr
210
210
  }) }) : null, /* @__PURE__ */ jsx(AppTopBar.Title, { children: editing ? "Edit schedule" : "New schedule" })]
211
211
  }),
212
212
  error ? /* @__PURE__ */ jsxs("div", {
213
- className: "think-routine-library__editor-error",
213
+ className: "think-routine__editor-error",
214
214
  role: "alert",
215
215
  children: [/* @__PURE__ */ jsx(WarningIcon, { "aria-hidden": "true" }), /* @__PURE__ */ jsx("span", { children: error })]
216
216
  }) : null,
217
217
  /* @__PURE__ */ jsxs("main", {
218
- className: "think-routine-form think-routine-library__create",
218
+ className: "think-routine-form think-routine__create",
219
219
  "aria-labelledby": titleId,
220
220
  children: [/* @__PURE__ */ jsx("header", {
221
- className: "think-routine-library__create-header",
221
+ className: "think-routine__create-header",
222
222
  children: /* @__PURE__ */ jsxs("div", { children: [
223
223
  /* @__PURE__ */ jsx("p", {
224
- className: "think-routine-library__eyebrow",
224
+ className: "think-routine__eyebrow",
225
225
  children: editing ? "Edit schedule" : "New schedule"
226
226
  }),
227
227
  /* @__PURE__ */ jsx("h1", {
@@ -231,7 +231,7 @@ function ThinkRoutineForm({ cancelLink, className, routine, onSubmit, ref, ...pr
231
231
  /* @__PURE__ */ jsx("p", { children: "Each run starts a new conversation with these instructions." })
232
232
  ] })
233
233
  }), /* @__PURE__ */ jsxs(Form, {
234
- className: "think-routine-library__form",
234
+ className: "think-routine__form",
235
235
  validationMode: "onBlur",
236
236
  onSubmit: submit,
237
237
  children: [/* @__PURE__ */ jsxs(Field.Group, { children: [
@@ -279,7 +279,7 @@ function ThinkRoutineForm({ cancelLink, className, routine, onSubmit, ref, ...pr
279
279
  onValueChange: setScheduleKind
280
280
  }),
281
281
  scheduleKind === "interval" ? /* @__PURE__ */ jsxs("div", {
282
- className: "think-routine-library__form-row",
282
+ className: "think-routine__form-row",
283
283
  children: [/* @__PURE__ */ jsxs(Field.Root, {
284
284
  name: "interval",
285
285
  children: [/* @__PURE__ */ jsx(Field.Label, {
@@ -341,7 +341,7 @@ function ThinkRoutineForm({ cancelLink, className, routine, onSubmit, ref, ...pr
341
341
  }) : null
342
342
  ]
343
343
  }) : null, /* @__PURE__ */ jsxs("div", {
344
- className: "think-routine-library__form-row",
344
+ className: "think-routine__form-row",
345
345
  children: [/* @__PURE__ */ jsxs(Field.Root, {
346
346
  name: "time",
347
347
  children: [
@@ -410,7 +410,7 @@ function ThinkRoutineForm({ cancelLink, className, routine, onSubmit, ref, ...pr
410
410
  })]
411
411
  })] })
412
412
  ] }), /* @__PURE__ */ jsxs("footer", {
413
- className: "think-routine-library__form-actions",
413
+ className: "think-routine__form-actions",
414
414
  children: [cancelLink ? /* @__PURE__ */ jsx(Button, {
415
415
  variant: "ghost",
416
416
  color: "neutral",
@@ -1,7 +1,7 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
2
  import { buttonVariants } from "../foundations/Button.js";
3
- import { t as NavigationLink } from "../../navigation-link-kqMa81v5.js";
4
3
  import { EmptyState } from "../foundations/EmptyState.js";
4
+ import { t as NavigationLink } from "../../navigation-link-kqMa81v5.js";
5
5
  import { getThinkExecutionRunAccessibleName, getThinkExecutionRunId, isThinkSubmissionRun } from "./ThinkExecutionRun.js";
6
6
  import { ThinkExecutionRunSummary } from "./ThinkExecutionStatus.js";
7
7
  import * as React from "react";
@@ -12,17 +12,17 @@ function ThinkRoutineRuns({ className, runs, title = "Recent runs", emptyState =
12
12
  const titleId = React.useId();
13
13
  return /* @__PURE__ */ jsxs("section", {
14
14
  ref,
15
- className: cx("think-routine-runs", "think-routine-library__runs", className),
15
+ className: cx("think-routine-runs", "think-routine__runs", className),
16
16
  "aria-labelledby": titleId,
17
17
  ...props,
18
18
  children: [/* @__PURE__ */ jsx("div", {
19
- className: "think-routine-library__section-heading",
19
+ className: "think-routine__section-heading",
20
20
  children: /* @__PURE__ */ jsx("h2", {
21
21
  id: titleId,
22
22
  children: title
23
23
  })
24
24
  }), runs.length ? /* @__PURE__ */ jsx("ol", {
25
- className: "think-routine-library__run-list",
25
+ className: "think-routine__run-list",
26
26
  children: runs.map((run) => {
27
27
  const kind = isThinkSubmissionRun(run) ? "submission" : "workflow";
28
28
  const content = /* @__PURE__ */ jsx(ThinkExecutionRunSummary, { run });
@@ -30,7 +30,7 @@ function ThinkRoutineRuns({ className, runs, title = "Recent runs", emptyState =
30
30
  variant: "ghost",
31
31
  color: "neutral",
32
32
  size: "sm",
33
- className: "think-routine-library__run"
33
+ className: "think-routine__run"
34
34
  });
35
35
  return /* @__PURE__ */ jsx("li", { children: renderRunLink ? /* @__PURE__ */ jsx(NavigationLink, {
36
36
  render: renderRunLink(run),
@@ -38,12 +38,12 @@ function ThinkRoutineRuns({ className, runs, title = "Recent runs", emptyState =
38
38
  "aria-label": getThinkExecutionRunAccessibleName(run),
39
39
  children: content
40
40
  }) : /* @__PURE__ */ jsx("div", {
41
- className: "think-routine-library__run",
41
+ className: "think-routine__run",
42
42
  children: content
43
43
  }) }, `${kind}:${getThinkExecutionRunId(run)}`);
44
44
  })
45
45
  }) : /* @__PURE__ */ jsx(EmptyState, {
46
- className: "think-routine-library__empty-runs",
46
+ className: "think-routine__empty-runs",
47
47
  description: emptyState
48
48
  })]
49
49
  });