@mcp-b/react-components 0.16.1 → 0.18.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.
- package/dist/{AgentActivity-BNUNrP9O.d.ts → AgentActivity-D2SHSGFX.d.ts} +1 -1
- package/dist/{AgentChat-CrlpbvQJ.d.ts → AgentChat-ClxViuUM.d.ts} +4 -29
- package/dist/AgentMessageParts-CyD2UB3V.d.ts +46 -0
- package/dist/AgentToolRunsContext-BVe4stgw.d.ts +21 -0
- package/dist/{Button-FX_hpqxm.d.ts → Button-DLGzHsjc.d.ts} +13 -7
- package/dist/{CodeBlock-BmB4Xaqq.js → CodeBlock-Bfp5PAg3.js} +9 -6
- package/dist/{CodeBlock-BRajW4QU.d.ts → CodeBlock-gV4kZeCI.d.ts} +2 -9
- package/dist/Collapsible-N64ASIQr.d.ts +119 -0
- package/dist/{Combobox-B9Fcd6q-.d.ts → Combobox-CYc37s5l.d.ts} +11 -33
- package/dist/{FileTree-CkVbIMWV.js → FileTree-3zYtrddG.js} +46 -20
- package/dist/{Menu-Bgu-ufb5.d.ts → Menu-L6MZm-7N.d.ts} +15 -56
- package/dist/{Message-BkMdE3bS.js → Message-BXtmfc9Q.js} +13 -20
- package/dist/{ModelSelector-SlJNgwKY.js → ModelSelector-Cqw_qrUG.js} +18 -25
- package/dist/{PromptInput-BWTuXMOD.d.ts → PromptInput-Bdh9pqlo.d.ts} +41 -71
- package/dist/{ResponsiveSidebarShell-Dd9DCcBT.d.ts → ResponsiveSidebarShell-CsAh4NyL.d.ts} +1 -0
- package/dist/{Select-BeEsefzh.d.ts → Select-B_13gg_J.d.ts} +16 -44
- package/dist/{Tabs-3Zc4tb9D.d.ts → Tabs-ColWK-XA.d.ts} +14 -20
- package/dist/{ThinkChat-CzC-zNGA.js → ThinkChat-15EhfvYJ.js} +123 -73
- package/dist/{ThinkChatActivity-BFQnb2ct.d.ts → ThinkChatActivity-Bzot45kX.d.ts} +9 -4
- package/dist/{ThinkChatActivitySummary-BPmu9a-c.d.ts → ThinkChatActivitySummary-D1xOrNrq.d.ts} +1 -1
- package/dist/{ThinkChatContext-C3Eb1Xpi.d.ts → ThinkChatContext-DrsZqdaO.d.ts} +1 -1
- package/dist/ThinkRecoveryNotice-DFIcG9UX.d.ts +19 -0
- package/dist/{Toggle-CAAlNl-M.d.ts → Toggle-JKZ43D5S.d.ts} +2 -2
- package/dist/{ToggleGroup-8hPv-b69.d.ts → ToggleGroup-DNd6cDJZ.d.ts} +4 -5
- package/dist/Workspace-Jez8ffUj.d.ts +274 -0
- package/dist/WorkspaceExplorer-B9dQWNVK.d.ts +32 -0
- package/dist/{WorkspaceFile-DOZkPwzu.d.ts → WorkspaceFile-CzyHnESE.d.ts} +1 -1
- package/dist/{WorkspaceFileView-rSN_yT0L.js → WorkspaceFileView-C68Ub8S8.js} +121 -128
- package/dist/{WorkspaceLink-DIPbXrUM.js → WorkspaceLink-BYYeTQLf.js} +20 -55
- package/dist/{WorkspaceLink-DK1DWMHe.d.ts → WorkspaceLink-O-EBKUJ8.d.ts} +6 -9
- package/dist/class-names-BiMDVpUo.js +14 -0
- package/dist/components/Accordion.d.ts +5 -15
- package/dist/components/Accordion.js +16 -10
- package/dist/components/Activity.d.ts +5 -10
- package/dist/components/Activity.js +2 -2
- package/dist/components/AgentActivity.d.ts +1 -1
- package/dist/components/AgentActivity.js +4 -5
- package/dist/components/AgentActivityPreview.d.ts +9 -9
- package/dist/components/AgentActivityPreview.js +8 -12
- package/dist/components/AgentAttention.d.ts +2 -2
- package/dist/components/AgentAttention.js +1 -1
- package/dist/components/AgentChat.d.ts +2 -2
- package/dist/components/AgentChat.js +113 -218
- package/dist/components/AgentChatMessageEditor.js +3 -3
- package/dist/components/AgentChatTurnError.js +2 -2
- package/dist/components/AgentConnection.js +4 -4
- package/dist/components/AgentMessageParts.d.ts +2 -0
- package/dist/components/AgentMessageParts.js +119 -0
- package/dist/components/AgentToolDetail.d.ts +57 -0
- package/dist/components/AgentToolDetail.js +100 -0
- package/dist/components/AgentToolRunsContext.d.ts +2 -0
- package/dist/components/AgentToolRunsContext.js +16 -0
- package/dist/components/AlertDialog.d.ts +7 -19
- package/dist/components/AlertDialog.js +21 -32
- package/dist/components/AppTopBar.d.ts +28 -8
- package/dist/components/AppTopBar.js +36 -12
- package/dist/components/Approval.d.ts +102 -0
- package/dist/components/Approval.js +227 -0
- package/dist/components/Artifact.d.ts +3 -5
- package/dist/components/Artifact.js +7 -5
- package/dist/components/Autocomplete.d.ts +11 -33
- package/dist/components/Autocomplete.js +23 -30
- package/dist/components/Avatar.d.ts +4 -12
- package/dist/components/Avatar.js +13 -12
- package/dist/components/Badge.js +3 -0
- package/dist/components/BrowserLiveView.js +27 -12
- package/dist/components/BrowserReplay.js +4 -3
- package/dist/components/BrowserRunPanel.js +58 -78
- package/dist/components/Button.d.ts +1 -1
- package/dist/components/Button.js +14 -16
- package/dist/components/Card.d.ts +7 -8
- package/dist/components/Card.js +19 -10
- package/dist/components/ChainOfThought.d.ts +5 -11
- package/dist/components/ChainOfThought.js +3 -2
- package/dist/components/ChatGptSignInScreen.js +8 -8
- package/dist/components/Checkbox.d.ts +2 -4
- package/dist/components/Checkbox.js +6 -5
- package/dist/components/CheckboxGroup.d.ts +1 -3
- package/dist/components/CheckboxGroup.js +15 -14
- package/dist/components/Checkpoint.d.ts +64 -0
- package/dist/components/Checkpoint.js +63 -0
- package/dist/components/CodeBlock.d.ts +1 -1
- package/dist/components/CodeBlock.js +1 -1
- package/dist/components/CodexModelSelector.d.ts +1 -1
- package/dist/components/CodexModelSelector.js +2 -2
- package/dist/components/Collapsible.d.ts +1 -124
- package/dist/components/Collapsible.js +7 -10
- package/dist/components/Combobox.d.ts +1 -1
- package/dist/components/Combobox.js +23 -30
- package/dist/components/Commit.d.ts +5 -11
- package/dist/components/Commit.js +6 -5
- package/dist/components/Context.js +1 -1
- package/dist/components/ContextMenu.d.ts +21 -37
- package/dist/components/ContextMenu.js +34 -51
- package/dist/components/Conversation.d.ts +3 -5
- package/dist/components/Conversation.js +5 -4
- package/dist/components/DescriptionListParts.js +1 -1
- package/dist/components/Dialog.d.ts +6 -17
- package/dist/components/Dialog.js +17 -24
- package/dist/components/EnvironmentVariables.d.ts +1 -1
- package/dist/components/EnvironmentVariables.js +4 -3
- package/dist/components/Field.d.ts +17 -20
- package/dist/components/Field.js +20 -17
- package/dist/components/Fieldset.d.ts +2 -7
- package/dist/components/Fieldset.js +7 -6
- package/dist/components/FileTree.d.ts +6 -0
- package/dist/components/FileTree.js +1 -1
- package/dist/components/Form.d.ts +1 -4
- package/dist/components/Form.js +3 -2
- package/dist/components/GithubMotionMark.js +1 -1
- package/dist/components/IconButton.d.ts +2 -3
- package/dist/components/IconButton.js +2 -1
- package/dist/components/InlineCitation.d.ts +66 -0
- package/dist/components/InlineCitation.js +142 -0
- package/dist/components/Input.d.ts +1 -4
- package/dist/components/Input.js +3 -2
- package/dist/components/Marker.js +1 -1
- package/dist/components/McpConnectionRequest.js +2 -2
- package/dist/components/McpServerPicker.d.ts +1 -1
- package/dist/components/McpServerPicker.js +6 -5
- package/dist/components/MediaPreviewCard.d.ts +103 -0
- package/dist/components/MediaPreviewCard.js +193 -0
- package/dist/components/Menu.d.ts +1 -1
- package/dist/components/Menu.js +33 -52
- package/dist/components/Menubar.d.ts +22 -43
- package/dist/components/Menubar.js +36 -53
- package/dist/components/Message.d.ts +7 -7
- package/dist/components/Message.js +1 -1
- package/dist/components/MessageScroller.d.ts +2 -2
- package/dist/components/MessageScroller.js +6 -5
- package/dist/components/Meter.d.ts +5 -20
- package/dist/components/Meter.js +11 -10
- package/dist/components/ModelSelector.d.ts +6 -9
- package/dist/components/ModelSelector.js +1 -1
- package/dist/components/NavigationMenu.d.ts +11 -33
- package/dist/components/NavigationMenu.js +23 -30
- package/dist/components/NumberField.d.ts +6 -24
- package/dist/components/NumberField.js +13 -12
- package/dist/components/Plan.d.ts +103 -0
- package/dist/components/Plan.js +113 -0
- package/dist/components/Popover.d.ts +9 -36
- package/dist/components/Popover.js +23 -34
- package/dist/components/PreviewCard.d.ts +6 -24
- package/dist/components/PreviewCard.js +13 -24
- package/dist/components/PricingBillingToggle.js +1 -1
- package/dist/components/PricingFAQ.js +1 -1
- package/dist/components/PricingPage.js +2 -1
- package/dist/components/PricingPlanCard.js +5 -4
- package/dist/components/PricingUsageCalculator.js +3 -3
- package/dist/components/Progress.d.ts +3 -8
- package/dist/components/Progress.js +7 -10
- package/dist/components/PromptInput.d.ts +2 -2
- package/dist/components/PromptInput.js +83 -218
- package/dist/components/Queue.d.ts +7 -17
- package/dist/components/Queue.js +2 -3
- package/dist/components/RadioGroup.d.ts +3 -8
- package/dist/components/RadioGroup.js +7 -10
- package/dist/components/Reasoning.d.ts +4 -8
- package/dist/components/Reasoning.js +3 -6
- package/dist/components/ResizableSidePanel.js +2 -2
- package/dist/components/ResponsiveSidebarShell.d.ts +1 -1
- package/dist/components/ResponsiveSidebarShell.js +18 -11
- package/dist/components/ScrollArea.d.ts +5 -20
- package/dist/components/ScrollArea.js +12 -10
- package/dist/components/SearchField.d.ts +43 -0
- package/dist/components/SearchField.js +52 -0
- package/dist/components/Select.d.ts +1 -1
- package/dist/components/Select.js +33 -57
- package/dist/components/Separator.d.ts +1 -5
- package/dist/components/Separator.js +3 -6
- package/dist/components/Slider.d.ts +6 -19
- package/dist/components/Slider.js +15 -14
- package/dist/components/Sources.d.ts +4 -9
- package/dist/components/Sources.js +3 -2
- package/dist/components/Stepper.js +16 -9
- package/dist/components/SubagentRunDetails.js +1 -1
- package/dist/components/SubagentRunIndicator.js +2 -2
- package/dist/components/SubagentRunList.d.ts +3 -5
- package/dist/components/SubagentRunList.js +3 -5
- package/dist/components/SubagentRunSelector.d.ts +9 -22
- package/dist/components/SubagentRunSelector.js +29 -31
- package/dist/components/Switch.d.ts +4 -7
- package/dist/components/Switch.js +6 -10
- package/dist/components/Tabs.d.ts +2 -2
- package/dist/components/Tabs.js +21 -18
- package/dist/components/Task.d.ts +4 -9
- package/dist/components/Task.js +4 -3
- package/dist/components/Terminal.d.ts +3 -4
- package/dist/components/Terminal.js +5 -4
- package/dist/components/TestResults.d.ts +4 -9
- package/dist/components/TestResults.js +11 -6
- package/dist/components/Textarea.js +1 -1
- package/dist/components/ThemeModeControl.js +1 -1
- package/dist/components/ThinkChat.d.ts +45 -22
- package/dist/components/ThinkChat.js +7 -5
- package/dist/components/ThinkChatActivity.d.ts +2 -2
- package/dist/components/ThinkChatActivity.js +24 -7
- package/dist/components/ThinkChatActivitySummary.d.ts +1 -1
- package/dist/components/ThinkChatActivitySummary.js +7 -3
- package/dist/components/ThinkChatContext.d.ts +1 -1
- package/dist/components/ThinkChatToolPanels.js +27 -17
- package/dist/components/ThinkExecutionDetail.js +2 -2
- package/dist/components/ThinkExecutionStatus.js +2 -2
- package/dist/components/ThinkExecutionWorkbench.d.ts +30 -8
- package/dist/components/ThinkExecutionWorkbench.js +70 -134
- package/dist/components/ThinkFullApp.d.ts +40 -15
- package/dist/components/ThinkFullApp.js +193 -117
- package/dist/components/ThinkFullAppViewSwitch.d.ts +1 -1
- package/dist/components/ThinkFullAppViewSwitch.js +2 -2
- package/dist/components/ThinkPendingApproval.d.ts +60 -0
- package/dist/components/ThinkPendingApproval.js +99 -0
- package/dist/components/ThinkRecoveryNotice.d.ts +2 -0
- package/dist/components/ThinkRecoveryNotice.js +46 -0
- package/dist/components/ThinkRoutine.js +1 -0
- package/dist/components/ThinkRoutineBrowser.d.ts +17 -9
- package/dist/components/ThinkRoutineBrowser.js +37 -44
- package/dist/components/ThinkRoutineDetail.d.ts +5 -2
- package/dist/components/ThinkRoutineDetail.js +4 -4
- package/dist/components/ThinkRoutineForm.d.ts +3 -2
- package/dist/components/ThinkRoutineForm.js +11 -10
- package/dist/components/ThinkRoutineLibrary.d.ts +27 -25
- package/dist/components/ThinkRoutineLibrary.js +104 -80
- package/dist/components/ThinkRoutineRuns.d.ts +3 -2
- package/dist/components/ThinkRoutineRuns.js +31 -24
- package/dist/components/ThinkThreadPicker.d.ts +17 -11
- package/dist/components/ThinkThreadPicker.js +163 -39
- package/dist/components/ThinkThreadShell.d.ts +1 -1
- package/dist/components/Toast.d.ts +7 -28
- package/dist/components/Toast.js +15 -14
- package/dist/components/Toggle.d.ts +1 -1
- package/dist/components/Toggle.js +10 -8
- package/dist/components/ToggleGroup.d.ts +1 -1
- package/dist/components/ToggleGroup.js +21 -26
- package/dist/components/ToolApproval.d.ts +28 -0
- package/dist/components/ToolApproval.js +35 -0
- package/dist/components/ToolInvocation.d.ts +26 -0
- package/dist/components/ToolInvocation.js +72 -0
- package/dist/components/Toolbar.d.ts +6 -24
- package/dist/components/Toolbar.js +13 -12
- package/dist/components/Tooltip.d.ts +11 -10
- package/dist/components/Tooltip.js +17 -11
- package/dist/components/TransitionSurface.d.ts +27 -0
- package/dist/components/TransitionSurface.js +20 -0
- package/dist/components/WebPreview.d.ts +6 -7
- package/dist/components/WebPreview.js +70 -55
- package/dist/components/Workspace.d.ts +2 -2
- package/dist/components/Workspace.js +361 -346
- package/dist/components/WorkspaceBrowser.d.ts +4 -7
- package/dist/components/WorkspaceBrowser.js +16 -26
- package/dist/components/WorkspaceExplorer.d.ts +5 -33
- package/dist/components/WorkspaceExplorer.js +19 -32
- package/dist/components/WorkspaceFile.d.ts +1 -1
- package/dist/components/WorkspaceFileView.d.ts +14 -2
- package/dist/components/WorkspaceFileView.js +1 -1
- package/dist/components/WorkspaceHeader.d.ts +0 -8
- package/dist/components/WorkspaceHeader.js +3 -15
- package/dist/components/WorkspaceLink.d.ts +1 -1
- package/dist/components/WorkspaceLink.js +1 -1
- package/dist/components/icons.d.ts +2 -2
- package/dist/components/icons.js +2 -2
- package/dist/{copy-button-DtPMgN7e.d.ts → copy-button-D7aAYA-2.d.ts} +2 -3
- package/dist/{copy-button-Dejn5heL.js → copy-button-DeK6KXEV.js} +3 -2
- package/dist/{icons-CpfUer49.js → icons-CQJ-aMnI.js} +7 -3
- package/dist/{icons-GQd1xF4e.d.ts → icons-CYXmvKlJ.d.ts} +22 -2
- package/dist/navigation-link-Cob7KBlM.js +19 -0
- package/dist/styles/accordion.css +4 -19
- package/dist/styles/activity.css +48 -56
- package/dist/styles/agent-activity-preview.css +6 -0
- package/dist/styles/agent-chat.css +14 -63
- package/dist/styles/agent-connection.css +0 -12
- package/dist/styles/agent-tool-detail.css +54 -0
- package/dist/styles/alert-dialog.css +16 -18
- package/dist/styles/app-top-bar.css +17 -9
- package/dist/styles/approval.css +177 -0
- package/dist/styles/artifact.css +6 -18
- package/dist/styles/autocomplete.css +2 -1
- package/dist/styles/avatar.css +35 -30
- package/dist/styles/badge.css +10 -10
- package/dist/styles/base-ui-motion.css +94 -39
- package/dist/styles/browser-control-overlay.css +0 -1
- package/dist/styles/browser-live-view.css +39 -22
- package/dist/styles/browser-replay.css +1 -1
- package/dist/styles/browser-run-panel.css +13 -6
- package/dist/styles/button.css +36 -33
- package/dist/styles/card.css +5 -6
- package/dist/styles/chain-of-thought.css +22 -24
- package/dist/styles/checkbox.css +18 -5
- package/dist/styles/checkpoint.css +58 -0
- package/dist/styles/codex-model-selector.css +3 -7
- package/dist/styles/collapsible.css +10 -10
- package/dist/styles/combobox.css +4 -3
- package/dist/styles/commit.css +19 -39
- package/dist/styles/composition-motion.css +83 -0
- package/dist/styles/context-menu.css +3 -11
- package/dist/styles/context.css +11 -10
- package/dist/styles/conversation.css +18 -23
- package/dist/styles/dialog.css +15 -15
- package/dist/styles/environment-variables.css +0 -13
- package/dist/styles/field.css +32 -12
- package/dist/styles/file-tree.css +66 -22
- package/dist/styles/form.css +1 -1
- package/dist/styles/index.css +13 -4
- package/dist/styles/inline-citation.css +107 -0
- package/dist/styles/input.css +2 -2
- package/dist/styles/marker.css +14 -13
- package/dist/styles/mcp-server-picker.css +20 -47
- package/dist/styles/media-preview-card.css +160 -0
- package/dist/styles/menu.css +11 -40
- package/dist/styles/menubar.css +12 -19
- package/dist/styles/message-scroller.css +0 -12
- package/dist/styles/message.css +25 -31
- package/dist/styles/meter.css +2 -2
- package/dist/styles/model-selector.css +16 -34
- package/dist/styles/motion-reduction.css +29 -0
- package/dist/styles/navigation-menu.css +14 -30
- package/dist/styles/number-field.css +22 -4
- package/dist/styles/plan.css +132 -0
- package/dist/styles/popover.css +15 -52
- package/dist/styles/preview-card.css +2 -32
- package/dist/styles/progress.css +8 -3
- package/dist/styles/prompt-input.css +76 -269
- package/dist/styles/queue.css +48 -32
- package/dist/styles/radio.css +19 -12
- package/dist/styles/reasoning.css +2 -1
- package/dist/styles/recipes.css +207 -26
- package/dist/styles/resizable-side-panel.css +4 -10
- package/dist/styles/responsive-sidebar-shell.css +32 -34
- package/dist/styles/scroll-area.css +32 -15
- package/dist/styles/search-field.css +21 -0
- package/dist/styles/select.css +19 -12
- package/dist/styles/slider.css +25 -29
- package/dist/styles/sources.css +3 -11
- package/dist/styles/stepper.css +36 -26
- package/dist/styles/subagent-run.css +13 -71
- package/dist/styles/switch.css +32 -29
- package/dist/styles/tabs.css +79 -23
- package/dist/styles/task.css +11 -23
- package/dist/styles/test-results.css +29 -36
- package/dist/styles/theme-mode-control.css +8 -0
- package/dist/styles/think-execution-workbench.css +18 -15
- package/dist/styles/think-full-app.css +51 -100
- package/dist/styles/think-routine-library.css +51 -40
- package/dist/styles/think-thread-picker.css +207 -50
- package/dist/styles/toast.css +48 -34
- package/dist/styles/toggle-group.css +2 -36
- package/dist/styles/toggle.css +29 -5
- package/dist/styles/toolbar.css +25 -27
- package/dist/styles/tooltip.css +2 -32
- package/dist/styles/transition-surface.css +55 -0
- package/dist/styles/utilities.css +31 -0
- package/dist/styles/web-preview.css +0 -21
- package/dist/styles/workspace-explorer.css +104 -99
- package/dist/summarize-tool-input-CqTcGRYy.js +15 -0
- package/dist/think-agent-Cip5KAPj.d.ts +7 -0
- package/dist/utils/codex-model-catalog.d.ts +4 -4
- package/dist/utils/mcp-server-catalog.d.ts +132 -0
- package/dist/utils/mcp-server-catalog.js +90 -0
- package/dist/utils/structured-code.d.ts +1 -1
- package/dist/workspace-path-L_KmjRjq.js +26 -0
- package/package.json +14 -9
- package/dist/Workspace-D39LxGvP.d.ts +0 -62
- package/dist/class-names-9UtZwb0J.js +0 -12
- package/dist/components/AppFrame.d.ts +0 -24
- package/dist/components/AppFrame.js +0 -25
- package/dist/components/Shell.d.ts +0 -163
- package/dist/components/Shell.js +0 -137
- package/dist/components/SubagentRun.d.ts +0 -86
- package/dist/components/SubagentRun.js +0 -108
- package/dist/styles/app-frame.css +0 -15
- package/dist/styles/shell.css +0 -122
- package/dist/summarize-tool-input-BUJsENSn.js +0 -12
|
@@ -539,6 +539,50 @@ declare const MANUAL_MCP_SERVER_CARDS: readonly [{
|
|
|
539
539
|
readonly url: "https://console.cloud.google.com/apis/credentials";
|
|
540
540
|
}];
|
|
541
541
|
};
|
|
542
|
+
}, {
|
|
543
|
+
readonly id: "google-docs";
|
|
544
|
+
readonly name: "Google Docs";
|
|
545
|
+
readonly url: "https://docsmcp.googleapis.com/mcp/v1";
|
|
546
|
+
readonly description: "Read and update Google Docs";
|
|
547
|
+
readonly category: "Manual";
|
|
548
|
+
readonly icon: "https://cdn.simpleicons.org/googledocs/4285F4";
|
|
549
|
+
readonly manualSetup: {
|
|
550
|
+
readonly auth: {
|
|
551
|
+
readonly type: "manual_oauth_client";
|
|
552
|
+
readonly label: "OAuth client ID + secret";
|
|
553
|
+
readonly fields: readonly [{
|
|
554
|
+
readonly name: "clientId";
|
|
555
|
+
readonly label: "OAuth client ID";
|
|
556
|
+
readonly placeholder: "Client ID";
|
|
557
|
+
readonly required: true;
|
|
558
|
+
}, {
|
|
559
|
+
readonly name: "clientSecret";
|
|
560
|
+
readonly label: "OAuth client secret";
|
|
561
|
+
readonly inputType: "password";
|
|
562
|
+
readonly placeholder: "Client secret";
|
|
563
|
+
readonly required: true;
|
|
564
|
+
}, {
|
|
565
|
+
readonly name: "redirectUrl";
|
|
566
|
+
readonly label: "Redirect URL";
|
|
567
|
+
readonly inputType: "url";
|
|
568
|
+
readonly placeholder: "Registered OAuth callback URL";
|
|
569
|
+
}];
|
|
570
|
+
};
|
|
571
|
+
readonly description: "Enable Docs and Docs MCP APIs, configure OAuth consent, and create a web OAuth client.";
|
|
572
|
+
readonly links: readonly [{
|
|
573
|
+
readonly label: "Setup guide";
|
|
574
|
+
readonly url: "https://developers.google.com/workspace/docs/api/guides/configure-mcp-server";
|
|
575
|
+
}, {
|
|
576
|
+
readonly label: "API reference";
|
|
577
|
+
readonly url: "https://developers.google.com/workspace/docs/api/reference/mcp";
|
|
578
|
+
}, {
|
|
579
|
+
readonly label: "OAuth consent";
|
|
580
|
+
readonly url: "https://console.cloud.google.com/apis/credentials/consent";
|
|
581
|
+
}, {
|
|
582
|
+
readonly label: "Credentials";
|
|
583
|
+
readonly url: "https://console.cloud.google.com/apis/credentials";
|
|
584
|
+
}];
|
|
585
|
+
};
|
|
542
586
|
}, {
|
|
543
587
|
readonly id: "google-drive";
|
|
544
588
|
readonly name: "Google Drive";
|
|
@@ -627,6 +671,94 @@ declare const MANUAL_MCP_SERVER_CARDS: readonly [{
|
|
|
627
671
|
readonly url: "https://console.cloud.google.com/apis/credentials";
|
|
628
672
|
}];
|
|
629
673
|
};
|
|
674
|
+
}, {
|
|
675
|
+
readonly id: "google-sheets";
|
|
676
|
+
readonly name: "Google Sheets";
|
|
677
|
+
readonly url: "https://sheetsmcp.googleapis.com/mcp/v1";
|
|
678
|
+
readonly description: "Read and update spreadsheets";
|
|
679
|
+
readonly category: "Manual";
|
|
680
|
+
readonly icon: "https://cdn.simpleicons.org/googlesheets/34A853";
|
|
681
|
+
readonly manualSetup: {
|
|
682
|
+
readonly auth: {
|
|
683
|
+
readonly type: "manual_oauth_client";
|
|
684
|
+
readonly label: "OAuth client ID + secret";
|
|
685
|
+
readonly fields: readonly [{
|
|
686
|
+
readonly name: "clientId";
|
|
687
|
+
readonly label: "OAuth client ID";
|
|
688
|
+
readonly placeholder: "Client ID";
|
|
689
|
+
readonly required: true;
|
|
690
|
+
}, {
|
|
691
|
+
readonly name: "clientSecret";
|
|
692
|
+
readonly label: "OAuth client secret";
|
|
693
|
+
readonly inputType: "password";
|
|
694
|
+
readonly placeholder: "Client secret";
|
|
695
|
+
readonly required: true;
|
|
696
|
+
}, {
|
|
697
|
+
readonly name: "redirectUrl";
|
|
698
|
+
readonly label: "Redirect URL";
|
|
699
|
+
readonly inputType: "url";
|
|
700
|
+
readonly placeholder: "Registered OAuth callback URL";
|
|
701
|
+
}];
|
|
702
|
+
};
|
|
703
|
+
readonly description: "Enable Sheets and Sheets MCP APIs, configure OAuth consent, and create a web OAuth client.";
|
|
704
|
+
readonly links: readonly [{
|
|
705
|
+
readonly label: "Setup guide";
|
|
706
|
+
readonly url: "https://developers.google.com/workspace/sheets/api/guides/configure-mcp-server";
|
|
707
|
+
}, {
|
|
708
|
+
readonly label: "API reference";
|
|
709
|
+
readonly url: "https://developers.google.com/workspace/sheets/api/reference/mcp";
|
|
710
|
+
}, {
|
|
711
|
+
readonly label: "OAuth consent";
|
|
712
|
+
readonly url: "https://console.cloud.google.com/apis/credentials/consent";
|
|
713
|
+
}, {
|
|
714
|
+
readonly label: "Credentials";
|
|
715
|
+
readonly url: "https://console.cloud.google.com/apis/credentials";
|
|
716
|
+
}];
|
|
717
|
+
};
|
|
718
|
+
}, {
|
|
719
|
+
readonly id: "google-slides";
|
|
720
|
+
readonly name: "Google Slides";
|
|
721
|
+
readonly url: "https://slidesmcp.googleapis.com/mcp/v1";
|
|
722
|
+
readonly description: "Read and update presentations";
|
|
723
|
+
readonly category: "Manual";
|
|
724
|
+
readonly icon: "https://cdn.simpleicons.org/googleslides/FBBC04";
|
|
725
|
+
readonly manualSetup: {
|
|
726
|
+
readonly auth: {
|
|
727
|
+
readonly type: "manual_oauth_client";
|
|
728
|
+
readonly label: "OAuth client ID + secret";
|
|
729
|
+
readonly fields: readonly [{
|
|
730
|
+
readonly name: "clientId";
|
|
731
|
+
readonly label: "OAuth client ID";
|
|
732
|
+
readonly placeholder: "Client ID";
|
|
733
|
+
readonly required: true;
|
|
734
|
+
}, {
|
|
735
|
+
readonly name: "clientSecret";
|
|
736
|
+
readonly label: "OAuth client secret";
|
|
737
|
+
readonly inputType: "password";
|
|
738
|
+
readonly placeholder: "Client secret";
|
|
739
|
+
readonly required: true;
|
|
740
|
+
}, {
|
|
741
|
+
readonly name: "redirectUrl";
|
|
742
|
+
readonly label: "Redirect URL";
|
|
743
|
+
readonly inputType: "url";
|
|
744
|
+
readonly placeholder: "Registered OAuth callback URL";
|
|
745
|
+
}];
|
|
746
|
+
};
|
|
747
|
+
readonly description: "Enable Slides and Slides MCP APIs, configure OAuth consent, and create a web OAuth client.";
|
|
748
|
+
readonly links: readonly [{
|
|
749
|
+
readonly label: "Setup guide";
|
|
750
|
+
readonly url: "https://developers.google.com/workspace/slides/api/guides/configure-mcp-server";
|
|
751
|
+
}, {
|
|
752
|
+
readonly label: "API reference";
|
|
753
|
+
readonly url: "https://developers.google.com/workspace/slides/api/reference/mcp";
|
|
754
|
+
}, {
|
|
755
|
+
readonly label: "OAuth consent";
|
|
756
|
+
readonly url: "https://console.cloud.google.com/apis/credentials/consent";
|
|
757
|
+
}, {
|
|
758
|
+
readonly label: "Credentials";
|
|
759
|
+
readonly url: "https://console.cloud.google.com/apis/credentials";
|
|
760
|
+
}];
|
|
761
|
+
};
|
|
630
762
|
}, {
|
|
631
763
|
readonly id: "google-workspace-search";
|
|
632
764
|
readonly name: "Google Workspace Universal Search";
|
|
@@ -507,6 +507,36 @@ const MANUAL_MCP_SERVER_CARDS = [
|
|
|
507
507
|
]
|
|
508
508
|
}
|
|
509
509
|
},
|
|
510
|
+
{
|
|
511
|
+
id: "google-docs",
|
|
512
|
+
name: "Google Docs",
|
|
513
|
+
url: "https://docsmcp.googleapis.com/mcp/v1",
|
|
514
|
+
description: "Read and update Google Docs",
|
|
515
|
+
category: MANUAL_CATEGORY,
|
|
516
|
+
icon: "https://cdn.simpleicons.org/googledocs/4285F4",
|
|
517
|
+
manualSetup: {
|
|
518
|
+
auth: MCP_SERVER_SETUP_AUTH.manualOAuthClientSecret,
|
|
519
|
+
description: "Enable Docs and Docs MCP APIs, configure OAuth consent, and create a web OAuth client.",
|
|
520
|
+
links: [
|
|
521
|
+
{
|
|
522
|
+
label: "Setup guide",
|
|
523
|
+
url: "https://developers.google.com/workspace/docs/api/guides/configure-mcp-server"
|
|
524
|
+
},
|
|
525
|
+
{
|
|
526
|
+
label: "API reference",
|
|
527
|
+
url: "https://developers.google.com/workspace/docs/api/reference/mcp"
|
|
528
|
+
},
|
|
529
|
+
{
|
|
530
|
+
label: "OAuth consent",
|
|
531
|
+
url: "https://console.cloud.google.com/apis/credentials/consent"
|
|
532
|
+
},
|
|
533
|
+
{
|
|
534
|
+
label: "Credentials",
|
|
535
|
+
url: "https://console.cloud.google.com/apis/credentials"
|
|
536
|
+
}
|
|
537
|
+
]
|
|
538
|
+
}
|
|
539
|
+
},
|
|
510
540
|
{
|
|
511
541
|
id: "google-drive",
|
|
512
542
|
name: "Google Drive",
|
|
@@ -567,6 +597,66 @@ const MANUAL_MCP_SERVER_CARDS = [
|
|
|
567
597
|
]
|
|
568
598
|
}
|
|
569
599
|
},
|
|
600
|
+
{
|
|
601
|
+
id: "google-sheets",
|
|
602
|
+
name: "Google Sheets",
|
|
603
|
+
url: "https://sheetsmcp.googleapis.com/mcp/v1",
|
|
604
|
+
description: "Read and update spreadsheets",
|
|
605
|
+
category: MANUAL_CATEGORY,
|
|
606
|
+
icon: "https://cdn.simpleicons.org/googlesheets/34A853",
|
|
607
|
+
manualSetup: {
|
|
608
|
+
auth: MCP_SERVER_SETUP_AUTH.manualOAuthClientSecret,
|
|
609
|
+
description: "Enable Sheets and Sheets MCP APIs, configure OAuth consent, and create a web OAuth client.",
|
|
610
|
+
links: [
|
|
611
|
+
{
|
|
612
|
+
label: "Setup guide",
|
|
613
|
+
url: "https://developers.google.com/workspace/sheets/api/guides/configure-mcp-server"
|
|
614
|
+
},
|
|
615
|
+
{
|
|
616
|
+
label: "API reference",
|
|
617
|
+
url: "https://developers.google.com/workspace/sheets/api/reference/mcp"
|
|
618
|
+
},
|
|
619
|
+
{
|
|
620
|
+
label: "OAuth consent",
|
|
621
|
+
url: "https://console.cloud.google.com/apis/credentials/consent"
|
|
622
|
+
},
|
|
623
|
+
{
|
|
624
|
+
label: "Credentials",
|
|
625
|
+
url: "https://console.cloud.google.com/apis/credentials"
|
|
626
|
+
}
|
|
627
|
+
]
|
|
628
|
+
}
|
|
629
|
+
},
|
|
630
|
+
{
|
|
631
|
+
id: "google-slides",
|
|
632
|
+
name: "Google Slides",
|
|
633
|
+
url: "https://slidesmcp.googleapis.com/mcp/v1",
|
|
634
|
+
description: "Read and update presentations",
|
|
635
|
+
category: MANUAL_CATEGORY,
|
|
636
|
+
icon: "https://cdn.simpleicons.org/googleslides/FBBC04",
|
|
637
|
+
manualSetup: {
|
|
638
|
+
auth: MCP_SERVER_SETUP_AUTH.manualOAuthClientSecret,
|
|
639
|
+
description: "Enable Slides and Slides MCP APIs, configure OAuth consent, and create a web OAuth client.",
|
|
640
|
+
links: [
|
|
641
|
+
{
|
|
642
|
+
label: "Setup guide",
|
|
643
|
+
url: "https://developers.google.com/workspace/slides/api/guides/configure-mcp-server"
|
|
644
|
+
},
|
|
645
|
+
{
|
|
646
|
+
label: "API reference",
|
|
647
|
+
url: "https://developers.google.com/workspace/slides/api/reference/mcp"
|
|
648
|
+
},
|
|
649
|
+
{
|
|
650
|
+
label: "OAuth consent",
|
|
651
|
+
url: "https://console.cloud.google.com/apis/credentials/consent"
|
|
652
|
+
},
|
|
653
|
+
{
|
|
654
|
+
label: "Credentials",
|
|
655
|
+
url: "https://console.cloud.google.com/apis/credentials"
|
|
656
|
+
}
|
|
657
|
+
]
|
|
658
|
+
}
|
|
659
|
+
},
|
|
570
660
|
{
|
|
571
661
|
id: "google-workspace-search",
|
|
572
662
|
name: "Google Workspace Universal Search",
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
//#region src/components/_internal/workspace-path.ts
|
|
2
|
+
/**
|
|
3
|
+
* Canonicalize an absolute path using the workspace path grammar.
|
|
4
|
+
*
|
|
5
|
+
* This deliberately does not URL-decode or reject characters such as `\\` and
|
|
6
|
+
* line breaks. Callers at URL or trust boundaries own those stricter checks.
|
|
7
|
+
*/
|
|
8
|
+
function canonicalizeAbsoluteWorkspacePath(path) {
|
|
9
|
+
if (!path.startsWith("/") || path.includes("\0")) return null;
|
|
10
|
+
const segments = [];
|
|
11
|
+
for (const segment of path.split("/")) {
|
|
12
|
+
if (!segment || segment === ".") continue;
|
|
13
|
+
if (segment === "..") segments.pop();
|
|
14
|
+
else segments.push(segment);
|
|
15
|
+
}
|
|
16
|
+
return `/${segments.join("/")}`;
|
|
17
|
+
}
|
|
18
|
+
/** Compare two workspace paths after applying the canonical workspace grammar. */
|
|
19
|
+
function isWorkspacePathWithinRoot(path, root) {
|
|
20
|
+
const canonicalPath = canonicalizeAbsoluteWorkspacePath(path);
|
|
21
|
+
const canonicalRoot = canonicalizeAbsoluteWorkspacePath(root);
|
|
22
|
+
if (!canonicalPath || !canonicalRoot) return false;
|
|
23
|
+
return canonicalRoot === "/" || canonicalPath === canonicalRoot || canonicalPath.startsWith(`${canonicalRoot}/`);
|
|
24
|
+
}
|
|
25
|
+
//#endregion
|
|
26
|
+
export { isWorkspacePathWithinRoot as n, canonicalizeAbsoluteWorkspacePath as t };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mcp-b/react-components",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.18.0",
|
|
4
4
|
"description": "MCP-B React components built on Base UI and shared design tokens, including Cloudflare Think chat primitives.",
|
|
5
5
|
"homepage": "https://design-system.sigvelo.com",
|
|
6
6
|
"bugs": {
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
"**/*.css"
|
|
21
21
|
],
|
|
22
22
|
"exports": {
|
|
23
|
+
"./components/_internal/*": null,
|
|
23
24
|
"./components/*": {
|
|
24
25
|
"types": "./dist/components/*.d.ts",
|
|
25
26
|
"import": "./dist/components/*.js"
|
|
@@ -29,8 +30,6 @@
|
|
|
29
30
|
"import": "./dist/utils/*.js"
|
|
30
31
|
},
|
|
31
32
|
"./styles": "./dist/styles/index.css",
|
|
32
|
-
"./styles/tokens": "./dist/styles/tokens.css",
|
|
33
|
-
"./styles/base": "./dist/styles/base.css",
|
|
34
33
|
"./styles/*": "./dist/styles/*.css",
|
|
35
34
|
"./styles/*.css": "./dist/styles/*.css",
|
|
36
35
|
"./package.json": "./package.json"
|
|
@@ -58,18 +57,22 @@
|
|
|
58
57
|
"streamdown": "^2.5.0",
|
|
59
58
|
"unist-util-visit": "^5.1.0",
|
|
60
59
|
"yet-another-react-lightbox": "^3.32.1",
|
|
61
|
-
"@mcp-b/design-tokens": "0.
|
|
60
|
+
"@mcp-b/design-tokens": "0.18.0"
|
|
62
61
|
},
|
|
63
62
|
"devDependencies": {
|
|
64
63
|
"@ai-sdk/react": "^3.0.222",
|
|
65
64
|
"@cloudflare/shell": "^0.4.1",
|
|
66
65
|
"@cloudflare/think": "^0.13.0",
|
|
67
66
|
"@cloudflare/voice": "^0.3.4",
|
|
68
|
-
"@storybook/addon-a11y": "^10.5.
|
|
69
|
-
"@storybook/addon-docs": "^10.5.
|
|
70
|
-
"@storybook/addon-vitest": "^10.5.
|
|
71
|
-
"@storybook/react
|
|
67
|
+
"@storybook/addon-a11y": "^10.5.2",
|
|
68
|
+
"@storybook/addon-docs": "^10.5.2",
|
|
69
|
+
"@storybook/addon-vitest": "^10.5.2",
|
|
70
|
+
"@storybook/tanstack-react": "^10.5.2",
|
|
72
71
|
"@tanstack/react-form": "^1.33.2",
|
|
72
|
+
"@tanstack/react-query": "^5.101.2",
|
|
73
|
+
"@tanstack/react-router": "^1.170.18",
|
|
74
|
+
"@tanstack/react-store": "^0.9.3",
|
|
75
|
+
"@tanstack/router-core": "^1.171.15",
|
|
73
76
|
"@types/hast": "^3.0.4",
|
|
74
77
|
"@types/node": "^26",
|
|
75
78
|
"@types/react": "^19.2.17",
|
|
@@ -82,7 +85,7 @@
|
|
|
82
85
|
"playwright": "^1.61.0",
|
|
83
86
|
"react": "^19.2.7",
|
|
84
87
|
"react-dom": "^19.2.7",
|
|
85
|
-
"storybook": "^10.5.
|
|
88
|
+
"storybook": "^10.5.2",
|
|
86
89
|
"typescript": "^6.0.3",
|
|
87
90
|
"vite": "npm:@voidzero-dev/vite-plus-core@0.2.4",
|
|
88
91
|
"vite-plus": "0.2.4",
|
|
@@ -93,6 +96,8 @@
|
|
|
93
96
|
"@cloudflare/shell": "^0.4.1",
|
|
94
97
|
"@cloudflare/think": "^0.13.0",
|
|
95
98
|
"@cloudflare/voice": "^0.3.4",
|
|
99
|
+
"@tanstack/react-query": "^5.101.2",
|
|
100
|
+
"@tanstack/react-router": "^1.170.18",
|
|
96
101
|
"agents": "^0.17.4",
|
|
97
102
|
"ai": "^6.0.182",
|
|
98
103
|
"react": "^19.0.0",
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { i as WorkspaceFileState, r as WorkspaceFileAssetResolver } from "./WorkspaceFile-DOZkPwzu.js";
|
|
2
|
-
import { WorkspaceLike } from "@cloudflare/think";
|
|
3
|
-
import { FileInfo, Workspace } from "@cloudflare/shell";
|
|
4
|
-
|
|
5
|
-
//#region src/components/Workspace.d.ts
|
|
6
|
-
/** Workspace summary, as returned by `Workspace.getWorkspaceInfo()` upstream. */
|
|
7
|
-
type WorkspaceInfo = Awaited<ReturnType<Workspace["getWorkspaceInfo"]>>;
|
|
8
|
-
/** Whole upstream workspace shapes, accepted without narrowing or mirroring. */
|
|
9
|
-
type WorkspaceSource = Workspace | WorkspaceLike;
|
|
10
|
-
interface UseWorkspaceOptions {
|
|
11
|
-
/** Must be referentially stable (memoize in the app) — a new source resets the workspace. */
|
|
12
|
-
source: WorkspaceSource;
|
|
13
|
-
/** Root directory to list first. Defaults to "/". */
|
|
14
|
-
root?: string;
|
|
15
|
-
/**
|
|
16
|
-
* Optional host adapter called before text/binary reads. Return `null` for
|
|
17
|
-
* ordinary text files and prefer signed/range-friendly URLs for large media.
|
|
18
|
-
* The configured root scopes navigation; hosts must enforce authorization
|
|
19
|
-
* atomically when resolving assets across a trust boundary.
|
|
20
|
-
*/
|
|
21
|
-
resolveFileAsset?: WorkspaceFileAssetResolver;
|
|
22
|
-
/** Maximum size for the built-in buffered-byte fallback. Defaults to 32 MiB. */
|
|
23
|
-
maxInlineAssetBytes?: number;
|
|
24
|
-
}
|
|
25
|
-
interface WorkspaceState {
|
|
26
|
-
root: string;
|
|
27
|
-
/** Loaded directory listings, keyed by directory path. */
|
|
28
|
-
entriesByDirectory: Readonly<Record<string, readonly FileInfo[]>>;
|
|
29
|
-
/** Every loaded entry, keyed by its path. */
|
|
30
|
-
entryByPath: ReadonlyMap<string, FileInfo>;
|
|
31
|
-
expandedPaths: ReadonlySet<string>;
|
|
32
|
-
/** Update expansion; newly expanded directories load lazily. */
|
|
33
|
-
setExpandedPaths: (next: Set<string>) => void;
|
|
34
|
-
selectedPath: string | null;
|
|
35
|
-
/** Select a file and load it. Text is cached; binary assets remain active-file only. */
|
|
36
|
-
selectFile: (path: string | null) => void;
|
|
37
|
-
/** The selected file once its read settles; null while loading. */
|
|
38
|
-
selectedFile: WorkspaceFileState | null;
|
|
39
|
-
/** Root listing in flight. */
|
|
40
|
-
isLoading: boolean;
|
|
41
|
-
/** Directory and file paths with a request in flight. */
|
|
42
|
-
loadingPaths: ReadonlySet<string>;
|
|
43
|
-
/** Root/directory listing failure. Per-file read errors live on the file state. */
|
|
44
|
-
error: string | null;
|
|
45
|
-
/** Workspace summary, when the source provides `getWorkspaceInfo`. */
|
|
46
|
-
info: WorkspaceInfo | null;
|
|
47
|
-
/** Reload the root, every expanded directory, and the selected file. */
|
|
48
|
-
refresh: () => void;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Headless state for browsing a Think workspace: lazy directory loading,
|
|
52
|
-
* cached file reads, expansion/selection, and refresh. Feed the result to
|
|
53
|
-
* `WorkspaceExplorer`, or compose `WorkspaceBrowser` and `WorkspaceFileView`.
|
|
54
|
-
*/
|
|
55
|
-
declare function useWorkspace({
|
|
56
|
-
source,
|
|
57
|
-
root,
|
|
58
|
-
resolveFileAsset,
|
|
59
|
-
maxInlineAssetBytes
|
|
60
|
-
}: UseWorkspaceOptions): WorkspaceState;
|
|
61
|
-
//#endregion
|
|
62
|
-
export { useWorkspace as a, WorkspaceState as i, WorkspaceInfo as n, WorkspaceSource as r, UseWorkspaceOptions as t };
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
//#region src/components/_internal/class-names.ts
|
|
2
|
-
/**
|
|
3
|
-
* Concatenates class-name parts, skipping falsy values.
|
|
4
|
-
*
|
|
5
|
-
* Matches the idiom used throughout existing components:
|
|
6
|
-
* `[...].filter(Boolean).join(" ")`
|
|
7
|
-
*/
|
|
8
|
-
function cx(...parts) {
|
|
9
|
-
return parts.filter(Boolean).join(" ");
|
|
10
|
-
}
|
|
11
|
-
//#endregion
|
|
12
|
-
export { cx as t };
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
|
|
3
|
-
//#region src/components/AppFrame.d.ts
|
|
4
|
-
declare function Root({
|
|
5
|
-
className,
|
|
6
|
-
ref,
|
|
7
|
-
...props
|
|
8
|
-
}: React.HTMLAttributes<HTMLDivElement> & {
|
|
9
|
-
ref?: React.Ref<HTMLDivElement>;
|
|
10
|
-
}): React.JSX.Element;
|
|
11
|
-
declare function Body({
|
|
12
|
-
className,
|
|
13
|
-
ref,
|
|
14
|
-
...props
|
|
15
|
-
}: React.HTMLAttributes<HTMLDivElement> & {
|
|
16
|
-
ref?: React.Ref<HTMLDivElement>;
|
|
17
|
-
}): React.JSX.Element;
|
|
18
|
-
/** Full-height application frame with a fixed chrome row and contained work surface. */
|
|
19
|
-
declare const AppFrame: {
|
|
20
|
-
Root: typeof Root;
|
|
21
|
-
Body: typeof Body;
|
|
22
|
-
};
|
|
23
|
-
//#endregion
|
|
24
|
-
export { AppFrame };
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { t as cx } from "../class-names-9UtZwb0J.js";
|
|
2
|
-
import "react";
|
|
3
|
-
import { jsx } from "react/jsx-runtime";
|
|
4
|
-
//#region src/components/AppFrame.tsx
|
|
5
|
-
function Root({ className, ref, ...props }) {
|
|
6
|
-
return /* @__PURE__ */ jsx("div", {
|
|
7
|
-
ref,
|
|
8
|
-
className: cx("app-frame", className),
|
|
9
|
-
...props
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
function Body({ className, ref, ...props }) {
|
|
13
|
-
return /* @__PURE__ */ jsx("div", {
|
|
14
|
-
ref,
|
|
15
|
-
className: cx("app-frame__body", className),
|
|
16
|
-
...props
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
/** Full-height application frame with a fixed chrome row and contained work surface. */
|
|
20
|
-
const AppFrame = {
|
|
21
|
-
Root,
|
|
22
|
-
Body
|
|
23
|
-
};
|
|
24
|
-
//#endregion
|
|
25
|
-
export { AppFrame };
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
|
|
3
|
-
//#region src/components/Shell.d.ts
|
|
4
|
-
/**
|
|
5
|
-
* Props for the Shell.Root component.
|
|
6
|
-
*/
|
|
7
|
-
interface ShellRootProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
8
|
-
/** Additional CSS class names */
|
|
9
|
-
className?: string;
|
|
10
|
-
/** The heading text displayed in the header */
|
|
11
|
-
heading?: string;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Props for the Shell.ActionBar component.
|
|
15
|
-
*/
|
|
16
|
-
interface ShellActionBarProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
17
|
-
/** Additional CSS class names */
|
|
18
|
-
className?: string;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Props for the Shell.Action component.
|
|
22
|
-
*/
|
|
23
|
-
interface ShellActionProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
24
|
-
/** Additional CSS class names */
|
|
25
|
-
className?: string;
|
|
26
|
-
/** Icon to display */
|
|
27
|
-
icon?: React.ReactNode;
|
|
28
|
-
/** Whether this action is currently active */
|
|
29
|
-
active?: boolean;
|
|
30
|
-
/** Accessible label for the action */
|
|
31
|
-
label?: string;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Props for the Shell.Panel component.
|
|
35
|
-
*/
|
|
36
|
-
interface ShellPanelProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
37
|
-
/** Additional CSS class names */
|
|
38
|
-
className?: string;
|
|
39
|
-
/** The panel heading */
|
|
40
|
-
heading?: string;
|
|
41
|
-
/** Whether the panel is visible */
|
|
42
|
-
open?: boolean;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Props for the Shell.Content component.
|
|
46
|
-
*/
|
|
47
|
-
interface ShellContentProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
48
|
-
/** Additional CSS class names */
|
|
49
|
-
className?: string;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Root container for the shell layout.
|
|
53
|
-
* Provides a structured layout with optional header, action bar, panel, and content areas.
|
|
54
|
-
*
|
|
55
|
-
* Built internally for dense tools with side actions and optional panels. Use
|
|
56
|
-
* for app-like work surfaces, not marketing pages or generic sections.
|
|
57
|
-
*
|
|
58
|
-
* Styling consumes Sigvelo layout, border, surface, spacing, and focus tokens.
|
|
59
|
-
* Actions need labels because the visible affordance is usually icon-only.
|
|
60
|
-
*
|
|
61
|
-
* @example
|
|
62
|
-
* ```tsx
|
|
63
|
-
* <Shell.Root heading="Project">
|
|
64
|
-
* <Shell.ActionBar>
|
|
65
|
-
* <Shell.Action icon={<FilterIcon />} label="Filter" />
|
|
66
|
-
* </Shell.ActionBar>
|
|
67
|
-
* <Shell.Content>Map or tool content</Shell.Content>
|
|
68
|
-
* </Shell.Root>
|
|
69
|
-
* ```
|
|
70
|
-
*/
|
|
71
|
-
declare function ShellRoot({
|
|
72
|
-
className,
|
|
73
|
-
heading,
|
|
74
|
-
children,
|
|
75
|
-
ref,
|
|
76
|
-
...props
|
|
77
|
-
}: ShellRootProps & {
|
|
78
|
-
ref?: React.Ref<HTMLDivElement>;
|
|
79
|
-
}): React.JSX.Element;
|
|
80
|
-
/**
|
|
81
|
-
* Container for action buttons that toggle panels.
|
|
82
|
-
* Typically placed on the left side of the shell.
|
|
83
|
-
*/
|
|
84
|
-
declare function ShellActionBar({
|
|
85
|
-
className,
|
|
86
|
-
children,
|
|
87
|
-
ref,
|
|
88
|
-
...props
|
|
89
|
-
}: ShellActionBarProps & {
|
|
90
|
-
ref?: React.Ref<HTMLDivElement>;
|
|
91
|
-
}): React.JSX.Element;
|
|
92
|
-
/**
|
|
93
|
-
* An action button within the action bar.
|
|
94
|
-
*/
|
|
95
|
-
declare function ShellAction({
|
|
96
|
-
className,
|
|
97
|
-
icon,
|
|
98
|
-
active,
|
|
99
|
-
label,
|
|
100
|
-
ref,
|
|
101
|
-
...props
|
|
102
|
-
}: ShellActionProps & {
|
|
103
|
-
ref?: React.Ref<HTMLButtonElement>;
|
|
104
|
-
}): React.JSX.Element;
|
|
105
|
-
/**
|
|
106
|
-
* A collapsible panel that slides in from the side.
|
|
107
|
-
*/
|
|
108
|
-
declare function ShellPanel({
|
|
109
|
-
className,
|
|
110
|
-
heading,
|
|
111
|
-
open,
|
|
112
|
-
children,
|
|
113
|
-
ref,
|
|
114
|
-
...props
|
|
115
|
-
}: ShellPanelProps & {
|
|
116
|
-
ref?: React.Ref<HTMLDivElement>;
|
|
117
|
-
}): React.JSX.Element;
|
|
118
|
-
/**
|
|
119
|
-
* The main content area of the shell.
|
|
120
|
-
*/
|
|
121
|
-
declare function ShellContent({
|
|
122
|
-
className,
|
|
123
|
-
children,
|
|
124
|
-
ref,
|
|
125
|
-
...props
|
|
126
|
-
}: ShellContentProps & {
|
|
127
|
-
ref?: React.Ref<HTMLDivElement>;
|
|
128
|
-
}): React.JSX.Element;
|
|
129
|
-
/**
|
|
130
|
-
* A shell layout component with action bar, collapsible panel, and content areas.
|
|
131
|
-
* Useful for map applications and other interactive tools.
|
|
132
|
-
*
|
|
133
|
-
* @example
|
|
134
|
-
* ```tsx
|
|
135
|
-
* const [filterOpen, setFilterOpen] = useState(false);
|
|
136
|
-
*
|
|
137
|
-
* <Shell.Root heading="My Map Application">
|
|
138
|
-
* <Shell.ActionBar>
|
|
139
|
-
* <Shell.Action
|
|
140
|
-
* icon={<FilterIcon />}
|
|
141
|
-
* active={filterOpen}
|
|
142
|
-
* onClick={() => setFilterOpen(!filterOpen)}
|
|
143
|
-
* label="Filter"
|
|
144
|
-
* />
|
|
145
|
-
* </Shell.ActionBar>
|
|
146
|
-
* <Shell.Panel heading="Filter" open={filterOpen}>
|
|
147
|
-
* <p>Filter controls here</p>
|
|
148
|
-
* </Shell.Panel>
|
|
149
|
-
* <Shell.Content>
|
|
150
|
-
* <div id="map" />
|
|
151
|
-
* </Shell.Content>
|
|
152
|
-
* </Shell.Root>
|
|
153
|
-
* ```
|
|
154
|
-
*/
|
|
155
|
-
declare const Shell: {
|
|
156
|
-
Root: typeof ShellRoot;
|
|
157
|
-
ActionBar: typeof ShellActionBar;
|
|
158
|
-
Action: typeof ShellAction;
|
|
159
|
-
Panel: typeof ShellPanel;
|
|
160
|
-
Content: typeof ShellContent;
|
|
161
|
-
};
|
|
162
|
-
//#endregion
|
|
163
|
-
export { Shell, ShellActionBarProps, ShellActionProps, ShellContentProps, ShellPanelProps, ShellRootProps };
|