@mcp-b/react-components 0.17.0 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AgentActivity-BNUNrP9O.d.ts → AgentActivity-D2SHSGFX.d.ts} +1 -1
- package/dist/{AgentChat-CRuMi1Pb.d.ts → AgentChat-ClxViuUM.d.ts} +1 -20
- package/dist/{Button-FX_hpqxm.d.ts → Button-DLGzHsjc.d.ts} +13 -7
- package/dist/{CodeBlock-Co1noLbC.js → CodeBlock-Bb-IPBc_.js} +9 -6
- package/dist/{CodeBlock-Dnpr88ZQ.d.ts → CodeBlock-gV4kZeCI.d.ts} +2 -9
- package/dist/{FileTree-B7bBsUyU.js → FileTree-CUlXfnmc.js} +42 -16
- package/dist/{Message-C4eYRogZ.js → Message-rZEaaD8Q.js} +13 -20
- package/dist/{ModelSelector-BNrZlY_Y.js → ModelSelector-4GsCWcZV.js} +15 -22
- package/dist/{PromptInput-OLfXPuHM.d.ts → PromptInput-Bdh9pqlo.d.ts} +4 -6
- package/dist/{Select-CwSqP07Y.d.ts → Select-B_13gg_J.d.ts} +2 -2
- package/dist/{Tabs-9zddXDQo.d.ts → Tabs-ColWK-XA.d.ts} +10 -2
- package/dist/{ThinkChat-DInElus-.js → ThinkChat-15EhfvYJ.js} +84 -61
- package/dist/{ThinkChatActivity-BgesTfZ4.d.ts → ThinkChatActivity-Bzot45kX.d.ts} +4 -7
- package/dist/{ThinkChatActivitySummary-BPmu9a-c.d.ts → ThinkChatActivitySummary-D1xOrNrq.d.ts} +1 -1
- package/dist/{Toggle-DaXpe1Lc.d.ts → Toggle-JKZ43D5S.d.ts} +1 -1
- package/dist/{ToggleGroup-yseEWkOC.d.ts → ToggleGroup-DNd6cDJZ.d.ts} +2 -2
- package/dist/Workspace-Jez8ffUj.d.ts +274 -0
- package/dist/{WorkspaceExplorer-sZewzT2O.d.ts → WorkspaceExplorer-B9dQWNVK.d.ts} +2 -2
- package/dist/{WorkspaceFile-C8UzuSH4.d.ts → WorkspaceFile-CzyHnESE.d.ts} +1 -1
- package/dist/{WorkspaceFileView-DNdGAEiX.js → WorkspaceFileView-CEdArlOT.js} +120 -127
- package/dist/{WorkspaceLink-B1ykV1dS.js → WorkspaceLink-BYYeTQLf.js} +6 -27
- package/dist/{WorkspaceLink-DK1DWMHe.d.ts → WorkspaceLink-O-EBKUJ8.d.ts} +6 -9
- package/dist/{class-names-Bk-QLWWI.js → class-names-BiMDVpUo.js} +4 -1
- package/dist/components/Accordion.js +7 -2
- 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 +1 -1
- package/dist/components/AgentAttention.js +1 -1
- package/dist/components/AgentChat.d.ts +1 -1
- package/dist/components/AgentChat.js +94 -62
- package/dist/components/AgentChatMessageEditor.js +2 -2
- package/dist/components/AgentChatTurnError.js +2 -2
- package/dist/components/AgentConnection.js +3 -3
- package/dist/components/AgentMessageParts.js +1 -1
- package/dist/components/AgentToolDetail.d.ts +6 -4
- package/dist/components/AgentToolDetail.js +12 -10
- package/dist/components/AlertDialog.js +1 -1
- package/dist/components/AppTopBar.d.ts +24 -7
- package/dist/components/AppTopBar.js +32 -8
- package/dist/components/Approval.js +4 -4
- package/dist/components/Artifact.d.ts +1 -1
- package/dist/components/Artifact.js +6 -4
- package/dist/components/Autocomplete.js +1 -1
- package/dist/components/Avatar.d.ts +1 -1
- package/dist/components/Avatar.js +2 -2
- 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 +5 -5
- package/dist/components/Button.d.ts +1 -1
- package/dist/components/Button.js +14 -11
- package/dist/components/Card.d.ts +7 -8
- package/dist/components/Card.js +19 -10
- package/dist/components/ChainOfThought.d.ts +1 -1
- package/dist/components/ChainOfThought.js +2 -2
- package/dist/components/ChatGptSignInScreen.js +8 -8
- package/dist/components/Checkbox.js +2 -2
- package/dist/components/CheckboxGroup.js +1 -1
- package/dist/components/Checkpoint.js +2 -2
- package/dist/components/CodeBlock.d.ts +1 -1
- package/dist/components/CodeBlock.js +1 -1
- package/dist/components/CodexModelSelector.js +35 -15
- package/dist/components/Collapsible.js +2 -2
- package/dist/components/Combobox.js +1 -1
- package/dist/components/Commit.d.ts +1 -1
- package/dist/components/Commit.js +3 -3
- package/dist/components/Context.js +1 -1
- package/dist/components/ContextMenu.js +2 -2
- package/dist/components/Conversation.d.ts +1 -1
- package/dist/components/Conversation.js +5 -4
- package/dist/components/DescriptionListParts.js +1 -1
- package/dist/components/Dialog.js +1 -1
- package/dist/components/EnvironmentVariables.d.ts +1 -1
- package/dist/components/EnvironmentVariables.js +3 -3
- package/dist/components/Field.js +5 -2
- package/dist/components/Fieldset.js +1 -1
- package/dist/components/FileTree.d.ts +6 -0
- package/dist/components/FileTree.js +1 -1
- package/dist/components/Form.js +1 -1
- 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.js +1 -1
- package/dist/components/Input.js +1 -1
- package/dist/components/Marker.js +1 -1
- package/dist/components/McpConnectionRequest.js +2 -2
- package/dist/components/McpServerPicker.js +2 -2
- package/dist/components/MediaPreviewCard.d.ts +103 -0
- package/dist/components/MediaPreviewCard.js +193 -0
- package/dist/components/Menu.js +1 -1
- package/dist/components/Menubar.js +2 -2
- package/dist/components/Message.d.ts +4 -1
- package/dist/components/Message.js +1 -1
- package/dist/components/MessageScroller.d.ts +1 -1
- package/dist/components/MessageScroller.js +5 -4
- package/dist/components/Meter.js +1 -1
- package/dist/components/ModelSelector.d.ts +4 -3
- package/dist/components/ModelSelector.js +1 -1
- package/dist/components/NavigationMenu.js +1 -1
- package/dist/components/NumberField.js +1 -1
- package/dist/components/Plan.js +2 -2
- package/dist/components/Popover.js +1 -1
- package/dist/components/PreviewCard.js +1 -1
- 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 +4 -3
- package/dist/components/PricingUsageCalculator.js +2 -2
- package/dist/components/Progress.js +1 -1
- package/dist/components/PromptInput.d.ts +1 -1
- package/dist/components/PromptInput.js +31 -18
- package/dist/components/Queue.d.ts +1 -1
- package/dist/components/Queue.js +2 -3
- package/dist/components/RadioGroup.js +1 -1
- package/dist/components/Reasoning.js +3 -6
- package/dist/components/ResizableSidePanel.js +1 -1
- package/dist/components/ResponsiveSidebarShell.js +16 -10
- package/dist/components/ScrollArea.js +2 -1
- 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 +5 -6
- package/dist/components/Separator.js +1 -1
- package/dist/components/Slider.js +1 -1
- package/dist/components/Sources.js +2 -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 -4
- package/dist/components/SubagentRunSelector.d.ts +8 -12
- package/dist/components/SubagentRunSelector.js +17 -20
- package/dist/components/Switch.d.ts +2 -2
- package/dist/components/Switch.js +4 -5
- package/dist/components/Tabs.d.ts +2 -2
- package/dist/components/Tabs.js +12 -3
- package/dist/components/Task.js +2 -2
- package/dist/components/Terminal.d.ts +2 -2
- package/dist/components/Terminal.js +5 -4
- package/dist/components/TestResults.js +10 -6
- package/dist/components/Textarea.js +1 -1
- package/dist/components/ThemeModeControl.js +1 -1
- package/dist/components/ThinkChat.d.ts +33 -20
- package/dist/components/ThinkChat.js +4 -4
- package/dist/components/ThinkChatActivity.d.ts +2 -2
- package/dist/components/ThinkChatActivity.js +8 -10
- package/dist/components/ThinkChatActivitySummary.d.ts +1 -1
- package/dist/components/ThinkChatActivitySummary.js +7 -3
- package/dist/components/ThinkChatToolPanels.js +26 -16
- 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 +36 -35
- package/dist/components/ThinkFullApp.js +156 -109
- package/dist/components/ThinkFullAppViewSwitch.d.ts +1 -1
- package/dist/components/ThinkFullAppViewSwitch.js +1 -1
- package/dist/components/ThinkRecoveryNotice.js +18 -12
- package/dist/components/ThinkRoutineBrowser.d.ts +17 -9
- package/dist/components/ThinkRoutineBrowser.js +33 -40
- 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 +24 -31
- package/dist/components/ThinkRoutineLibrary.js +57 -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/Toast.js +1 -1
- package/dist/components/Toggle.d.ts +1 -1
- package/dist/components/Toggle.js +9 -7
- package/dist/components/ToggleGroup.d.ts +1 -1
- package/dist/components/ToggleGroup.js +15 -13
- package/dist/components/ToolInvocation.js +1 -1
- package/dist/components/Toolbar.js +1 -1
- package/dist/components/Tooltip.d.ts +8 -1
- package/dist/components/Tooltip.js +11 -2
- package/dist/components/TransitionSurface.d.ts +27 -0
- package/dist/components/TransitionSurface.js +20 -0
- package/dist/components/WebPreview.d.ts +5 -5
- package/dist/components/WebPreview.js +68 -54
- package/dist/components/Workspace.d.ts +2 -2
- package/dist/components/Workspace.js +358 -328
- package/dist/components/WorkspaceBrowser.d.ts +4 -7
- package/dist/components/WorkspaceBrowser.js +15 -25
- package/dist/components/WorkspaceExplorer.d.ts +5 -5
- 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-cYsJBauI.js → copy-button-BtRwhRks.js} +3 -2
- package/dist/{copy-button-CQx3LQAC.d.ts → copy-button-D7aAYA-2.d.ts} +1 -1
- package/dist/{icons--FqCZEc3.js → icons-DKXiSepE.js} +7 -3
- package/dist/{icons-DpUqY8Mp.d.ts → icons-DkRtZmvT.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 +2 -0
- package/dist/styles/agent-chat.css +14 -22
- package/dist/styles/alert-dialog.css +16 -18
- package/dist/styles/app-top-bar.css +17 -9
- package/dist/styles/approval.css +11 -6
- package/dist/styles/artifact.css +6 -6
- 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 +8 -4
- package/dist/styles/button.css +36 -33
- package/dist/styles/card.css +5 -6
- package/dist/styles/chain-of-thought.css +22 -16
- package/dist/styles/checkbox.css +18 -5
- package/dist/styles/codex-model-selector.css +46 -8
- package/dist/styles/collapsible.css +10 -10
- package/dist/styles/combobox.css +3 -2
- package/dist/styles/commit.css +19 -18
- package/dist/styles/composition-motion.css +83 -0
- package/dist/styles/context-menu.css +3 -3
- package/dist/styles/context.css +11 -10
- package/dist/styles/conversation.css +18 -23
- package/dist/styles/dialog.css +15 -15
- package/dist/styles/field.css +32 -12
- package/dist/styles/file-tree.css +69 -9
- package/dist/styles/form.css +1 -1
- package/dist/styles/index.css +5 -0
- package/dist/styles/input.css +2 -2
- package/dist/styles/marker.css +14 -13
- package/dist/styles/mcp-server-picker.css +20 -17
- package/dist/styles/media-preview-card.css +160 -0
- package/dist/styles/menu.css +11 -11
- package/dist/styles/menubar.css +12 -11
- package/dist/styles/message.css +27 -21
- package/dist/styles/meter.css +2 -2
- package/dist/styles/model-selector.css +16 -14
- 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 +5 -0
- package/dist/styles/popover.css +15 -16
- package/dist/styles/preview-card.css +2 -32
- package/dist/styles/progress.css +8 -3
- package/dist/styles/prompt-input.css +87 -70
- 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 +109 -37
- package/dist/styles/resizable-side-panel.css +4 -10
- package/dist/styles/responsive-sidebar-shell.css +16 -15
- 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 -3
- package/dist/styles/stepper.css +36 -26
- package/dist/styles/subagent-run.css +1 -1
- package/dist/styles/switch.css +32 -29
- package/dist/styles/tabs.css +79 -23
- package/dist/styles/task.css +13 -9
- package/dist/styles/test-results.css +29 -23
- 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 +45 -68
- package/dist/styles/think-routine-library.css +43 -24
- package/dist/styles/think-thread-picker.css +193 -51
- package/dist/styles/toast.css +48 -27
- 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/workspace-explorer.css +99 -44
- package/dist/summarize-tool-input-CqTcGRYy.js +15 -0
- package/dist/utils/codex-model-catalog.d.ts +2 -8
- package/dist/utils/codex-model-catalog.js +2 -16
- package/dist/utils/mcp-server-catalog.d.ts +139 -0
- package/dist/utils/mcp-server-catalog.js +98 -0
- package/dist/utils/structured-code.d.ts +1 -1
- package/package.json +13 -7
- package/dist/Workspace-C9RFoxcu.d.ts +0 -62
- package/dist/summarize-tool-input-BUJsENSn.js +0 -12
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as cx } from "../class-names-
|
|
2
|
-
import {
|
|
1
|
+
import { t as cx } from "../class-names-BiMDVpUo.js";
|
|
2
|
+
import { U as RefreshIcon, d as ChevronDownIcon, i as ArrowRightIcon, r as ArrowLeftIcon } from "../icons-DKXiSepE.js";
|
|
3
3
|
import { Button } from "./Button.js";
|
|
4
4
|
import { Tooltip } from "./Tooltip.js";
|
|
5
5
|
import { Badge } from "./Badge.js";
|
|
@@ -16,8 +16,8 @@ function useWebPreviewContext() {
|
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
18
|
* An iframe preview with a navigation bar, URL input, and optional console
|
|
19
|
-
* panel.
|
|
20
|
-
*
|
|
19
|
+
* panel. Uncontrolled previews track browsing history internally; controlled
|
|
20
|
+
* previews leave history and back/forward behavior to their caller.
|
|
21
21
|
*
|
|
22
22
|
* Built internally for agent/browser preview surfaces. Use it to display a
|
|
23
23
|
* known URL with local navigation controls. Do not use it for trusted app
|
|
@@ -46,61 +46,65 @@ function useWebPreviewContext() {
|
|
|
46
46
|
* ```
|
|
47
47
|
*/
|
|
48
48
|
function WebPreview({ className, defaultUrl = "", url: controlledUrl, onUrlChange, children, ref, ...props }) {
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
49
|
+
const [navigation, setNavigation] = React.useState(() => ({
|
|
50
|
+
history: defaultUrl ? [defaultUrl] : [],
|
|
51
|
+
index: defaultUrl ? 0 : -1
|
|
52
|
+
}));
|
|
52
53
|
const [reloadToken, setReloadToken] = React.useState(0);
|
|
53
54
|
const [consoleOpen, setConsoleOpen] = React.useState(false);
|
|
54
|
-
const
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
const historyRef = React.useRef(history);
|
|
58
|
-
historyRef.current = history;
|
|
59
|
-
const indexRef = React.useRef(index);
|
|
60
|
-
indexRef.current = index;
|
|
61
|
-
const prevControlledUrlRef = React.useRef(controlledUrl);
|
|
62
|
-
React.useEffect(() => {
|
|
63
|
-
if (controlledUrl === void 0) return;
|
|
64
|
-
if (controlledUrl === prevControlledUrlRef.current) return;
|
|
65
|
-
prevControlledUrlRef.current = controlledUrl;
|
|
66
|
-
if (!controlledUrl) {
|
|
67
|
-
setHistory([]);
|
|
68
|
-
setIndex(-1);
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
const currentHistory = historyRef.current;
|
|
72
|
-
const currentIndex = indexRef.current;
|
|
73
|
-
if (currentIndex >= 0 && currentHistory[currentIndex] === controlledUrl) return;
|
|
74
|
-
setHistory([...currentHistory.slice(0, currentIndex + 1), controlledUrl]);
|
|
75
|
-
setIndex(currentIndex + 1);
|
|
76
|
-
}, [controlledUrl]);
|
|
55
|
+
const { history, index } = navigation;
|
|
56
|
+
const isControlled = controlledUrl !== void 0;
|
|
57
|
+
const url = controlledUrl ?? (index >= 0 ? history[index] ?? "" : "");
|
|
77
58
|
const setUrl = React.useCallback((next) => {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
59
|
+
if (!isControlled) setNavigation((current) => {
|
|
60
|
+
const history = [...current.history.slice(0, current.index + 1), next];
|
|
61
|
+
return {
|
|
62
|
+
history,
|
|
63
|
+
index: history.length - 1
|
|
64
|
+
};
|
|
65
|
+
});
|
|
66
|
+
onUrlChange?.(next);
|
|
67
|
+
}, [isControlled, onUrlChange]);
|
|
82
68
|
const goBack = React.useCallback(() => {
|
|
83
|
-
|
|
84
|
-
|
|
69
|
+
if (isControlled) return;
|
|
70
|
+
const nextIndex = Math.max(0, index - 1);
|
|
71
|
+
if (nextIndex === index) return;
|
|
72
|
+
setNavigation((current) => ({
|
|
73
|
+
...current,
|
|
74
|
+
index: nextIndex
|
|
75
|
+
}));
|
|
76
|
+
onUrlChange?.(history[nextIndex] ?? "");
|
|
77
|
+
}, [
|
|
78
|
+
history,
|
|
79
|
+
index,
|
|
80
|
+
isControlled,
|
|
81
|
+
onUrlChange
|
|
82
|
+
]);
|
|
85
83
|
const goForward = React.useCallback(() => {
|
|
86
|
-
|
|
87
|
-
|
|
84
|
+
if (isControlled) return;
|
|
85
|
+
const nextIndex = Math.min(history.length - 1, index + 1);
|
|
86
|
+
if (nextIndex === index) return;
|
|
87
|
+
setNavigation((current) => ({
|
|
88
|
+
...current,
|
|
89
|
+
index: nextIndex
|
|
90
|
+
}));
|
|
91
|
+
onUrlChange?.(history[nextIndex] ?? "");
|
|
92
|
+
}, [
|
|
93
|
+
history,
|
|
94
|
+
index,
|
|
95
|
+
isControlled,
|
|
96
|
+
onUrlChange
|
|
97
|
+
]);
|
|
88
98
|
const reload = React.useCallback(() => {
|
|
89
99
|
setReloadToken((n) => n + 1);
|
|
90
100
|
}, []);
|
|
91
|
-
const prevIndexRef = React.useRef(index);
|
|
92
|
-
React.useEffect(() => {
|
|
93
|
-
if (index === prevIndexRef.current) return;
|
|
94
|
-
prevIndexRef.current = index;
|
|
95
|
-
if (index >= 0) onUrlChangeRef.current?.(history[index] ?? "");
|
|
96
|
-
}, [index, history]);
|
|
97
101
|
const ctxValue = React.useMemo(() => ({
|
|
98
102
|
url,
|
|
99
103
|
setUrl,
|
|
100
104
|
consoleOpen,
|
|
101
105
|
setConsoleOpen,
|
|
102
|
-
canGoBack: index > 0,
|
|
103
|
-
canGoForward: index >= 0 && index < history.length - 1,
|
|
106
|
+
canGoBack: !isControlled && index > 0,
|
|
107
|
+
canGoForward: !isControlled && index >= 0 && index < history.length - 1,
|
|
104
108
|
goBack,
|
|
105
109
|
goForward,
|
|
106
110
|
reload,
|
|
@@ -109,6 +113,7 @@ function WebPreview({ className, defaultUrl = "", url: controlledUrl, onUrlChang
|
|
|
109
113
|
url,
|
|
110
114
|
setUrl,
|
|
111
115
|
consoleOpen,
|
|
116
|
+
isControlled,
|
|
112
117
|
index,
|
|
113
118
|
history.length,
|
|
114
119
|
goBack,
|
|
@@ -164,7 +169,8 @@ function WebPreviewNavigationButton({ className, action, label, tooltip, childre
|
|
|
164
169
|
};
|
|
165
170
|
const button = /* @__PURE__ */ jsx(Button, {
|
|
166
171
|
variant: "ghost",
|
|
167
|
-
size: "
|
|
172
|
+
size: "sm",
|
|
173
|
+
iconOnly: true,
|
|
168
174
|
"aria-label": resolvedLabel,
|
|
169
175
|
disabled: def?.disabled,
|
|
170
176
|
className: cx("web-preview__nav-button", action && `web-preview__nav-button--${action}`, className),
|
|
@@ -177,11 +183,16 @@ function WebPreviewNavigationButton({ className, action, label, tooltip, childre
|
|
|
177
183
|
}
|
|
178
184
|
function WebPreviewUrl({ className, placeholder = "Enter URL…", value, onChange, onKeyDown, ref, ...props }) {
|
|
179
185
|
const { url, setUrl } = useWebPreviewContext();
|
|
180
|
-
const [draft, setDraft] = React.useState(
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
186
|
+
const [draft, setDraft] = React.useState(() => ({
|
|
187
|
+
url,
|
|
188
|
+
value: url
|
|
189
|
+
}));
|
|
190
|
+
if (draft.url !== url) setDraft({
|
|
191
|
+
url,
|
|
192
|
+
value: url
|
|
193
|
+
});
|
|
194
|
+
const derivedDraft = draft.url === url ? draft.value : url;
|
|
195
|
+
const inputValue = value ?? derivedDraft;
|
|
185
196
|
return /* @__PURE__ */ jsx("form", {
|
|
186
197
|
className: "web-preview__url-form",
|
|
187
198
|
onSubmit: (e) => {
|
|
@@ -194,7 +205,10 @@ function WebPreviewUrl({ className, placeholder = "Enter URL…", value, onChang
|
|
|
194
205
|
type: "text",
|
|
195
206
|
value: inputValue,
|
|
196
207
|
onChange: (e) => {
|
|
197
|
-
setDraft(
|
|
208
|
+
setDraft({
|
|
209
|
+
url,
|
|
210
|
+
value: e.target.value
|
|
211
|
+
});
|
|
198
212
|
onChange?.(e);
|
|
199
213
|
},
|
|
200
214
|
onKeyDown: (e) => {
|
|
@@ -218,7 +232,7 @@ function WebPreviewBody({ className, loading, src, ref, interactive = true, ...p
|
|
|
218
232
|
return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("iframe", {
|
|
219
233
|
ref,
|
|
220
234
|
src: iframeSrc,
|
|
221
|
-
sandbox: "allow-scripts allow-
|
|
235
|
+
sandbox: "allow-scripts allow-forms allow-popups allow-presentation",
|
|
222
236
|
title: "Web preview",
|
|
223
237
|
className: cx("web-preview__body", !interactive && "web-preview__body--readonly", className),
|
|
224
238
|
...props
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as
|
|
2
|
-
export { UseWorkspaceOptions, WorkspaceInfo, WorkspaceSource, WorkspaceState, useWorkspace };
|
|
1
|
+
import { a as WorkspaceSource, c as workspaceBinaryFileQueryOptions, d as workspaceFileStatQueryOptions, f as workspaceInfoQueryOptions, i as WorkspaceQueryKey, l as workspaceDirectoryQueryOptions, m as workspaceTextFileQueryOptions, n as WorkspaceFileReadTarget, o as WorkspaceState, p as workspaceQueryKey, r as WorkspaceInfo, s as useWorkspace, t as UseWorkspaceOptions, u as workspaceFileAssetQueryOptions } from "../Workspace-Jez8ffUj.js";
|
|
2
|
+
export { UseWorkspaceOptions, WorkspaceFileReadTarget, WorkspaceInfo, WorkspaceQueryKey, WorkspaceSource, WorkspaceState, useWorkspace, workspaceBinaryFileQueryOptions, workspaceDirectoryQueryOptions, workspaceFileAssetQueryOptions, workspaceFileStatQueryOptions, workspaceInfoQueryOptions, workspaceQueryKey, workspaceTextFileQueryOptions };
|