@parhelia/core 0.1.12339 → 0.1.12347
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/components/ui/dialog.js +2 -2
- package/dist/components/ui/dialog.js.map +1 -1
- package/dist/editor/MobileLayout.js +4 -4
- package/dist/editor/MobileLayout.js.map +1 -1
- package/dist/editor/ai/AgentTerminal.js +38 -3
- package/dist/editor/ai/AgentTerminal.js.map +1 -1
- package/dist/editor/ai/dialogs/AgentDialogHandler.js +38 -45
- package/dist/editor/ai/dialogs/AgentDialogHandler.js.map +1 -1
- package/dist/editor/ai/dialogs/QuestionnaireInline.js +10 -2
- package/dist/editor/ai/dialogs/QuestionnaireInline.js.map +1 -1
- package/dist/editor/context-menu/InsertMenu.js +13 -4
- package/dist/editor/context-menu/InsertMenu.js.map +1 -1
- package/dist/editor/media-selector/MediaSelector.js +1 -1
- package/dist/editor/media-selector/MediaSelector.js.map +1 -1
- package/dist/editor/media-selector/TreeSelector.js +2 -2
- package/dist/editor/media-selector/TreeSelector.js.map +1 -1
- package/dist/editor/menubar/Separator.js +1 -1
- package/dist/editor/page-editor-chrome/InlineEditor.js +20 -7
- package/dist/editor/page-editor-chrome/InlineEditor.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.js +22 -0
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/sidebar/LabelButton.js +1 -1
- package/dist/editor/sidebar/LabelButton.js.map +1 -1
- package/dist/editor/sidebar/WorkspaceRailMobile.d.ts +4 -4
- package/dist/editor/sidebar/WorkspaceRailMobile.js +23 -13
- package/dist/editor/sidebar/WorkspaceRailMobile.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/task-board/TaskBoardWorkspace.js +12 -7
- package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
- package/dist/task-board/components/CreateProjectDialog.js +1 -1
- package/dist/task-board/components/CreateProjectDialog.js.map +1 -1
- package/dist/task-board/components/CreateTaskDialog.js +1 -1
- package/dist/task-board/components/CreateTaskDialog.js.map +1 -1
- package/dist/task-board/components/ProjectListContent.d.ts +20 -0
- package/dist/task-board/components/ProjectListContent.js +56 -0
- package/dist/task-board/components/ProjectListContent.js.map +1 -0
- package/dist/task-board/components/ProjectSelector.js +4 -52
- package/dist/task-board/components/ProjectSelector.js.map +1 -1
- package/dist/task-board/components/ProjectSettingsDialog.js +13 -20
- package/dist/task-board/components/ProjectSettingsDialog.js.map +1 -1
- package/dist/task-board/components/TaskBoardTitlebar.d.ts +1 -1
- package/dist/task-board/components/TaskBoardTitlebar.js +3 -0
- package/dist/task-board/components/TaskBoardTitlebar.js.map +1 -1
- package/package.json +1 -1
|
@@ -7,7 +7,7 @@ import { XIcon } from "lucide-react";
|
|
|
7
7
|
import { cn } from "../../lib/utils";
|
|
8
8
|
import { useAppPortalContainer } from "./portal-container-context";
|
|
9
9
|
function Dialog({ ...props }) {
|
|
10
|
-
return
|
|
10
|
+
return _jsx(DialogPrimitive.Root, { "data-slot": "dialog", ...props });
|
|
11
11
|
}
|
|
12
12
|
function DialogTrigger({ ...props }) {
|
|
13
13
|
return _jsx(DialogPrimitive.Trigger, { "data-slot": "dialog-trigger", ...props });
|
|
@@ -33,7 +33,7 @@ function DialogContent({ className, children, showCloseButton = true, overlayCla
|
|
|
33
33
|
onInteractOutside(event);
|
|
34
34
|
}
|
|
35
35
|
}, [onInteractOutside]);
|
|
36
|
-
return (_jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [_jsx(DialogOverlay, { className: overlayClassName }), _jsxs(DialogPrimitive.Content, { "data-slot": "dialog-content", "data-testid": "dialog-content", ...props, className: cn("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-
|
|
36
|
+
return (_jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [_jsx(DialogOverlay, { className: overlayClassName }), _jsxs(DialogPrimitive.Content, { "data-slot": "dialog-content", "data-testid": "dialog-content", ...props, className: cn("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-101 flex max-h-[calc(100dvh-2rem)] w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] flex-col overflow-hidden rounded-2xl border shadow-2xl duration-200", className), onInteractOutside: handleInteractOutside, onPointerDownOutside: onPointerDownOutside, onFocusOutside: onFocusOutside, children: [children, _jsx(VisuallyHidden, { children: _jsx(DialogPrimitive.Title, { children: "Dialog" }) }), showCloseButton && (_jsxs(DialogPrimitive.Close, { "data-slot": "dialog-close", className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-5 right-5 z-50 cursor-pointer rounded-full p-1 opacity-70 transition-opacity hover:bg-gray-100 hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", "data-testid": "dialog-close", children: [_jsx(XIcon, {}), _jsx("span", { className: "sr-only", children: "Close" })] }))] })] }));
|
|
37
37
|
}
|
|
38
38
|
function DialogHeader({ className, ...props }) {
|
|
39
39
|
return (_jsx("div", { "data-slot": "dialog-header", className: cn("flex flex-col gap-2 px-8 pt-8 text-left", className), ...props }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../src/components/ui/dialog.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,SAAS,MAAM,CAAC,EACd,GAAG,KAAK,EAC0C;IAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../src/components/ui/dialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { cn } from "../lib/utils";
|
|
3
3
|
import { useEditContext } from "./client/editContext";
|
|
4
|
-
import { Splitter } from "./ui/Splitter";
|
|
5
|
-
import { SidebarStack } from "./sidebar/SidebarStack";
|
|
6
4
|
import { EditorForm } from "./page-viewer/EditorForm";
|
|
7
|
-
import {
|
|
5
|
+
import { SidebarStack } from "./sidebar/SidebarStack";
|
|
8
6
|
import { WorkspaceRailMobile } from "./sidebar/WorkspaceRailMobile";
|
|
7
|
+
import { Splitter } from "./ui/Splitter";
|
|
8
|
+
import { EditorSlotContextProvider } from "./views/editorSlotContext";
|
|
9
9
|
export function MobileLayout(props) {
|
|
10
10
|
const editContext = useEditContext();
|
|
11
11
|
const openSidebarIdsForStack = !editContext || !props.workspace?.supportsSidebars
|
|
@@ -64,6 +64,6 @@ export function MobileLayout(props) {
|
|
|
64
64
|
});
|
|
65
65
|
}
|
|
66
66
|
return (_jsxs("div", { className: cn("flex flex-col select-none", className), "data-testid": "mobile-layout", children: [props.workspace?.titlebar, props.workspace?.toolbarFactory &&
|
|
67
|
-
props.workspace?.toolbarFactory(editContext), _jsx(Splitter, { panels: panels, direction: "vertical", className: "flex-1", localStorageKey: "mobile-layout-splitter" }), !props.workspace?.hideToolbar && (_jsx(
|
|
67
|
+
props.workspace?.toolbarFactory(editContext), _jsx(Splitter, { panels: panels, direction: "vertical", className: "flex-1", localStorageKey: "mobile-layout-splitter" }), !props.workspace?.hideToolbar && (_jsx(WorkspaceRailMobile, {}))] }));
|
|
68
68
|
}
|
|
69
69
|
//# sourceMappingURL=MobileLayout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileLayout.js","sourceRoot":"","sources":["../../src/editor/MobileLayout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"MobileLayout.js","sourceRoot":"","sources":["../../src/editor/MobileLayout.tsx"],"names":[],"mappings":"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"}
|
|
@@ -754,6 +754,33 @@ export function AgentTerminal({ agentStub, initialMetadata, profiles, isActive =
|
|
|
754
754
|
useEffect(() => {
|
|
755
755
|
onQuestionnaireOpenChange?.(isQuestionnaireDialogOpen);
|
|
756
756
|
}, [isQuestionnaireDialogOpen, onQuestionnaireOpenChange]);
|
|
757
|
+
useLayoutEffect(() => {
|
|
758
|
+
if (displayMode !== "summary" || !isQuestionnaireDialogOpen) {
|
|
759
|
+
return;
|
|
760
|
+
}
|
|
761
|
+
const scrollSummaryTerminalToTop = () => {
|
|
762
|
+
const container = messagesContainerRef.current;
|
|
763
|
+
if (!container) {
|
|
764
|
+
return;
|
|
765
|
+
}
|
|
766
|
+
container.scrollTop = 0;
|
|
767
|
+
};
|
|
768
|
+
scrollSummaryTerminalToTop();
|
|
769
|
+
const frame1 = requestAnimationFrame(() => {
|
|
770
|
+
scrollSummaryTerminalToTop();
|
|
771
|
+
});
|
|
772
|
+
let frame3 = 0;
|
|
773
|
+
const frame2 = requestAnimationFrame(() => {
|
|
774
|
+
frame3 = requestAnimationFrame(() => {
|
|
775
|
+
scrollSummaryTerminalToTop();
|
|
776
|
+
});
|
|
777
|
+
});
|
|
778
|
+
return () => {
|
|
779
|
+
cancelAnimationFrame(frame1);
|
|
780
|
+
cancelAnimationFrame(frame2);
|
|
781
|
+
cancelAnimationFrame(frame3);
|
|
782
|
+
};
|
|
783
|
+
}, [displayMode, isQuestionnaireDialogOpen]);
|
|
757
784
|
useEffect(() => {
|
|
758
785
|
return () => {
|
|
759
786
|
onQuestionnaireOpenChange?.(false);
|
|
@@ -1268,6 +1295,7 @@ export function AgentTerminal({ agentStub, initialMetadata, profiles, isActive =
|
|
|
1268
1295
|
const placeholderInputRef = useRef(null);
|
|
1269
1296
|
const promptPlaceholderInputRef = useRef(null);
|
|
1270
1297
|
const messagesContainerRef = useRef(null);
|
|
1298
|
+
const inlineDialogContainerRef = useRef(null);
|
|
1271
1299
|
const [shouldAutoScroll, setShouldAutoScroll] = useState(true);
|
|
1272
1300
|
// WebSocket subscription state for agent streaming
|
|
1273
1301
|
const seenMessageIdsRef = useRef(new Set());
|
|
@@ -3349,8 +3377,15 @@ export function AgentTerminal({ agentStub, initialMetadata, profiles, isActive =
|
|
|
3349
3377
|
detail: { callbackId: request.callbackId },
|
|
3350
3378
|
}));
|
|
3351
3379
|
}
|
|
3352
|
-
|
|
3353
|
-
|
|
3380
|
+
setTimeout(() => {
|
|
3381
|
+
if (request.dialogType === "questionnaire") {
|
|
3382
|
+
inlineDialogContainerRef.current?.scrollIntoView({
|
|
3383
|
+
block: "start",
|
|
3384
|
+
});
|
|
3385
|
+
return;
|
|
3386
|
+
}
|
|
3387
|
+
scrollToBottomRefForDialogs.current?.();
|
|
3388
|
+
}, 100);
|
|
3354
3389
|
};
|
|
3355
3390
|
window.addEventListener("agent:dialog:show", handleDialogShow);
|
|
3356
3391
|
return () => {
|
|
@@ -4516,7 +4551,7 @@ export function AgentTerminal({ agentStub, initialMetadata, profiles, isActive =
|
|
|
4516
4551
|
if (!activeInlineDialog)
|
|
4517
4552
|
return null;
|
|
4518
4553
|
if (activeInlineDialog.request.dialogType === "questionnaire") {
|
|
4519
|
-
return (_jsx("div", { className: cn("agent-inline-dialog min-h-0 overflow-hidden", displayMode === "full" && "h-full"), children: _jsx(QuestionnaireInline, { requestId: activeInlineDialog.request.callbackId, title: activeInlineDialog.request.title, description: activeInlineDialog.request.description, parameters: activeInlineDialog.request.parameters, footerActions: questionnaireFooterActions, onClose: (result) => {
|
|
4554
|
+
return (_jsx("div", { ref: inlineDialogContainerRef, className: cn("agent-inline-dialog min-h-0 overflow-hidden", displayMode === "full" && "h-full"), children: _jsx(QuestionnaireInline, { requestId: activeInlineDialog.request.callbackId, title: activeInlineDialog.request.title, description: activeInlineDialog.request.description, parameters: activeInlineDialog.request.parameters, footerActions: questionnaireFooterActions, onClose: (result) => {
|
|
4520
4555
|
activeInlineDialog.onComplete(result);
|
|
4521
4556
|
setActiveInlineDialog(null);
|
|
4522
4557
|
void onInteractionSubmitted?.();
|