@parhelia/core 0.1.11955 → 0.1.12024
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/agents-view/AgentsInbox.js +8 -3
- package/dist/agents-view/AgentsInbox.js.map +1 -1
- package/dist/components/ui/LanguageSelector.js +1 -1
- package/dist/components/ui/LanguageSelector.js.map +1 -1
- package/dist/components/ui/alert-dialog.js +2 -8
- package/dist/components/ui/alert-dialog.js.map +1 -1
- package/dist/components/ui/button.d.ts +2 -2
- package/dist/components/ui/button.js +3 -1
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/ui/dialog.js +4 -127
- package/dist/components/ui/dialog.js.map +1 -1
- package/dist/components/ui/popover.js +1 -9
- package/dist/components/ui/popover.js.map +1 -1
- package/dist/components/ui/select.js +1 -1
- package/dist/components/ui/styled-dialog-title.js +1 -1
- package/dist/components/ui/styled-dialog-title.js.map +1 -1
- package/dist/editor/ContentTree.js +9 -2
- package/dist/editor/ContentTree.js.map +1 -1
- package/dist/editor/FieldListField.js +1 -1
- package/dist/editor/FieldListField.js.map +1 -1
- package/dist/editor/GlobalMenuBar.js +1 -1
- package/dist/editor/GlobalMenuBar.js.map +1 -1
- package/dist/editor/MainLayout.js +1 -2
- package/dist/editor/MainLayout.js.map +1 -1
- package/dist/editor/MobileLayout.js +19 -4
- package/dist/editor/MobileLayout.js.map +1 -1
- package/dist/editor/Titlebar.js +6 -1
- package/dist/editor/Titlebar.js.map +1 -1
- package/dist/editor/ai/AgentTerminal.js +81 -12
- package/dist/editor/ai/AgentTerminal.js.map +1 -1
- package/dist/editor/ai/AgentTerminalStatusBar.d.ts +2 -1
- package/dist/editor/ai/AgentTerminalStatusBar.js +5 -2
- package/dist/editor/ai/AgentTerminalStatusBar.js.map +1 -1
- package/dist/editor/ai/ContextInfoBar.js +3 -0
- package/dist/editor/ai/ContextInfoBar.js.map +1 -1
- package/dist/editor/ai/dialogs/AgentDialogHandler.js +160 -48
- package/dist/editor/ai/dialogs/AgentDialogHandler.js.map +1 -1
- package/dist/editor/ai/dialogs/QuestionnaireInline.js +2 -1
- package/dist/editor/ai/dialogs/QuestionnaireInline.js.map +1 -1
- package/dist/editor/ai/dialogs/agentDialogTypes.d.ts +2 -0
- package/dist/editor/ai/dialogs/agentDialogTypes.js.map +1 -1
- package/dist/editor/client/EditorShell.js +90 -4
- package/dist/editor/client/EditorShell.js.map +1 -1
- package/dist/editor/client/editContext.d.ts +4 -0
- package/dist/editor/client/editContext.js.map +1 -1
- package/dist/editor/client/helpers.js +6 -0
- package/dist/editor/client/helpers.js.map +1 -1
- package/dist/editor/client/hooks/useEditorWebSocket.d.ts +1 -0
- package/dist/editor/client/hooks/useEditorWebSocket.js +10 -1
- package/dist/editor/client/hooks/useEditorWebSocket.js.map +1 -1
- package/dist/editor/client/hooks/useSocketMessageHandler.js +9 -0
- package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
- package/dist/editor/client/operations.js +19 -3
- package/dist/editor/client/operations.js.map +1 -1
- package/dist/editor/client/ui/EditorChrome.js +14 -54
- package/dist/editor/client/ui/EditorChrome.js.map +1 -1
- package/dist/editor/hooks/useNavigationPanelLogic.d.ts +55 -0
- package/dist/editor/hooks/useNavigationPanelLogic.js +127 -0
- package/dist/editor/hooks/useNavigationPanelLogic.js.map +1 -0
- package/dist/editor/media-selector/MediaSelector.js +7 -1
- package/dist/editor/media-selector/MediaSelector.js.map +1 -1
- package/dist/editor/media-selector/TreeSelector.js +37 -31
- package/dist/editor/media-selector/TreeSelector.js.map +1 -1
- package/dist/editor/menubar/ActiveUsers.js +1 -1
- package/dist/editor/menubar/ActiveUsers.js.map +1 -1
- package/dist/editor/menubar/ItemLanguageVersion.d.ts +3 -1
- package/dist/editor/menubar/ItemLanguageVersion.js +12 -5
- package/dist/editor/menubar/ItemLanguageVersion.js.map +1 -1
- package/dist/editor/menubar/PageSelector.js +2 -133
- package/dist/editor/menubar/PageSelector.js.map +1 -1
- package/dist/editor/menubar/VersionSelector.js +1 -1
- package/dist/editor/menubar/VersionSelector.js.map +1 -1
- package/dist/editor/menubar/WorkflowButton.js +31 -4
- package/dist/editor/menubar/WorkflowButton.js.map +1 -1
- package/dist/editor/page-editor-chrome/InlineEditor.js +4 -1
- package/dist/editor/page-editor-chrome/InlineEditor.js.map +1 -1
- package/dist/editor/page-viewer/EditorForm.js +43 -2
- package/dist/editor/page-viewer/EditorForm.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.js +38 -14
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/services/agentService.d.ts +1 -0
- package/dist/editor/services/agentService.js +1 -0
- package/dist/editor/services/agentService.js.map +1 -1
- package/dist/editor/services/editService.d.ts +4 -0
- package/dist/editor/services/editService.js +5 -0
- package/dist/editor/services/editService.js.map +1 -1
- package/dist/editor/services/serviceHelper.d.ts +1 -0
- package/dist/editor/services/serviceHelper.js +10 -0
- package/dist/editor/services/serviceHelper.js.map +1 -1
- package/dist/editor/settings/panels/ProvidersPanel.js +8 -4
- package/dist/editor/settings/panels/ProvidersPanel.js.map +1 -1
- package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersSection.js +1 -1
- package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersSection.js.map +1 -1
- package/dist/editor/settings/status/coreStatusChecks.js +82 -6
- package/dist/editor/settings/status/coreStatusChecks.js.map +1 -1
- package/dist/editor/setup-wizard/steps/ProviderStep.js +48 -5
- package/dist/editor/setup-wizard/steps/ProviderStep.js.map +1 -1
- package/dist/editor/sidebar/LabelButton.d.ts +5 -0
- package/dist/editor/sidebar/LabelButton.js +12 -0
- package/dist/editor/sidebar/LabelButton.js.map +1 -0
- package/dist/editor/sidebar/LeftToolbar.js +1 -1
- package/dist/editor/sidebar/LeftToolbar.js.map +1 -1
- package/dist/editor/sidebar/MobileWorkspacePopover.js +1 -1
- package/dist/editor/sidebar/MobileWorkspacePopover.js.map +1 -1
- package/dist/editor/sidebar/MorePanelsButton.d.ts +10 -0
- package/dist/editor/sidebar/MorePanelsButton.js +43 -0
- package/dist/editor/sidebar/MorePanelsButton.js.map +1 -0
- package/dist/editor/sidebar/NavigationPanelItem.d.ts +15 -0
- package/dist/editor/sidebar/NavigationPanelItem.js +40 -0
- package/dist/editor/sidebar/NavigationPanelItem.js.map +1 -0
- package/dist/editor/sidebar/NavigationPanelMenuItem.d.ts +16 -0
- package/dist/editor/sidebar/NavigationPanelMenuItem.js +21 -0
- package/dist/editor/sidebar/NavigationPanelMenuItem.js.map +1 -0
- package/dist/editor/sidebar/NavigationSidebar.js +38 -37
- package/dist/editor/sidebar/NavigationSidebar.js.map +1 -1
- package/dist/editor/sidebar/SidebarPanel.js +2 -2
- package/dist/editor/sidebar/SidebarPanel.js.map +1 -1
- package/dist/editor/sidebar/WorkspaceButton.d.ts +10 -0
- package/dist/editor/sidebar/WorkspaceButton.js +13 -0
- package/dist/editor/sidebar/WorkspaceButton.js.map +1 -0
- package/dist/editor/sidebar/WorkspaceRail.d.ts +0 -1
- package/dist/editor/sidebar/WorkspaceRail.js +56 -168
- package/dist/editor/sidebar/WorkspaceRail.js.map +1 -1
- package/dist/editor/sidebar/WorkspaceRailMobile.d.ts +4 -0
- package/dist/editor/sidebar/WorkspaceRailMobile.js +35 -0
- package/dist/editor/sidebar/WorkspaceRailMobile.js.map +1 -0
- package/dist/editor/ui/HomeButton.d.ts +5 -0
- package/dist/editor/ui/HomeButton.js +17 -0
- package/dist/editor/ui/HomeButton.js.map +1 -0
- package/dist/editor/views/SingleEditView.js +1 -1
- package/dist/editor/views/SingleEditView.js.map +1 -1
- package/dist/editor/views/editorSlotContext.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/setup/services/setupWizardService.d.ts +6 -1
- package/dist/setup/services/setupWizardService.js.map +1 -1
- package/dist/task-board/TaskBoardWorkspace.js +109 -32
- package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
- package/dist/task-board/components/CommentsList.d.ts +2 -0
- package/dist/task-board/components/CommentsList.js +50 -7
- package/dist/task-board/components/CommentsList.js.map +1 -1
- package/dist/task-board/components/CreateProjectDialog.js +11 -9
- package/dist/task-board/components/CreateProjectDialog.js.map +1 -1
- package/dist/task-board/components/ProjectDashboard.js +25 -15
- package/dist/task-board/components/ProjectDashboard.js.map +1 -1
- package/dist/task-board/components/ProjectSettingsDialog.js +21 -19
- package/dist/task-board/components/ProjectSettingsDialog.js.map +1 -1
- package/dist/task-board/components/TaskAgentPanel.d.ts +5 -0
- package/dist/task-board/components/TaskAgentPanel.js +8 -2
- package/dist/task-board/components/TaskAgentPanel.js.map +1 -1
- package/dist/task-board/components/TaskBoardTitlebar.js +4 -4
- package/dist/task-board/components/TaskBoardTitlebar.js.map +1 -1
- package/dist/task-board/components/TaskDetailPanel.js +43 -17
- package/dist/task-board/components/TaskDetailPanel.js.map +1 -1
- package/dist/task-board/components/TaskRow.js +12 -10
- package/dist/task-board/components/TaskRow.js.map +1 -1
- package/dist/task-board/index.d.ts +1 -1
- package/dist/task-board/services/taskService.d.ts +4 -1
- package/dist/task-board/services/taskService.js +3 -0
- package/dist/task-board/services/taskService.js.map +1 -1
- package/dist/task-board/taskStatus.d.ts +1 -0
- package/dist/task-board/taskStatus.js +9 -0
- package/dist/task-board/taskStatus.js.map +1 -1
- package/dist/task-board/types.d.ts +3 -0
- package/dist/task-board/utils/projectHierarchy.js +0 -1
- package/dist/task-board/utils/projectHierarchy.js.map +1 -1
- package/dist/task-board/views/KanbanView.js +2 -2
- package/dist/task-board/views/KanbanView.js.map +1 -1
- package/dist/task-board/views/ListView.js +7 -7
- package/dist/task-board/views/ListView.js.map +1 -1
- package/package.json +1 -1
|
@@ -37,6 +37,7 @@ function getAttentionInfo(agent) {
|
|
|
37
37
|
accentColor: "bg-amber-500",
|
|
38
38
|
badgeClass: "text-amber-700 bg-amber-50 ring-1 ring-amber-100",
|
|
39
39
|
bgColor: "bg-white",
|
|
40
|
+
selectedClass: "border-amber-300 bg-amber-50/30 ring-2 ring-amber-500",
|
|
40
41
|
};
|
|
41
42
|
}
|
|
42
43
|
if (status === "waitingForInput" || status === 8) {
|
|
@@ -48,6 +49,7 @@ function getAttentionInfo(agent) {
|
|
|
48
49
|
accentColor: "bg-purple-500",
|
|
49
50
|
badgeClass: "text-purple-700 bg-purple-50 ring-1 ring-purple-100",
|
|
50
51
|
bgColor: "bg-white",
|
|
52
|
+
selectedClass: "border-purple-300 bg-purple-50/30 ring-2 ring-purple-500",
|
|
51
53
|
};
|
|
52
54
|
}
|
|
53
55
|
if (status === "costLimitReached" || status === 7) {
|
|
@@ -59,6 +61,7 @@ function getAttentionInfo(agent) {
|
|
|
59
61
|
accentColor: "bg-orange-500",
|
|
60
62
|
badgeClass: "text-orange-700 bg-orange-50 ring-1 ring-orange-100",
|
|
61
63
|
bgColor: "bg-white",
|
|
64
|
+
selectedClass: "border-orange-300 bg-orange-50/30 ring-2 ring-orange-500",
|
|
62
65
|
};
|
|
63
66
|
}
|
|
64
67
|
if (status === "error" || status === 4) {
|
|
@@ -70,6 +73,7 @@ function getAttentionInfo(agent) {
|
|
|
70
73
|
accentColor: "bg-red-500",
|
|
71
74
|
badgeClass: "text-red-700 bg-red-50 ring-1 ring-red-100",
|
|
72
75
|
bgColor: "bg-white",
|
|
76
|
+
selectedClass: "border-red-300 bg-red-50/30 ring-2 ring-red-500",
|
|
73
77
|
};
|
|
74
78
|
}
|
|
75
79
|
if (status === "completed" || status === 3) {
|
|
@@ -81,6 +85,7 @@ function getAttentionInfo(agent) {
|
|
|
81
85
|
accentColor: "bg-green-500",
|
|
82
86
|
badgeClass: "text-green-700 bg-green-50 ring-1 ring-green-100",
|
|
83
87
|
bgColor: "bg-white",
|
|
88
|
+
selectedClass: "border-green-300 bg-green-50/30 ring-2 ring-green-500",
|
|
84
89
|
};
|
|
85
90
|
}
|
|
86
91
|
// idle
|
|
@@ -92,6 +97,7 @@ function getAttentionInfo(agent) {
|
|
|
92
97
|
accentColor: "bg-gray-400",
|
|
93
98
|
badgeClass: "text-gray-600 bg-gray-50 ring-1 ring-gray-100",
|
|
94
99
|
bgColor: "bg-white",
|
|
100
|
+
selectedClass: "border-gray-300 bg-gray-50/50 ring-2 ring-gray-400",
|
|
95
101
|
};
|
|
96
102
|
}
|
|
97
103
|
/**
|
|
@@ -113,10 +119,9 @@ export function AgentsInbox({ agents, onOpenAgent, onDismissAgent, onCloseAll, f
|
|
|
113
119
|
if (inboxAgents.length === 0) {
|
|
114
120
|
return (_jsxs("div", { className: "flex h-[400px] flex-col items-center justify-center p-6 text-center", children: [_jsxs("div", { className: "relative mb-6", children: [_jsx("div", { className: "absolute inset-0 scale-150 rounded-full bg-green-400 opacity-20 blur-3xl" }), _jsx("div", { className: "relative flex h-20 w-20 items-center justify-center rounded-full bg-green-50 shadow-[0_0_40px_rgba(74,222,128,0.15)] ring-1 ring-green-100", children: _jsx(MessageSquare, { className: "size-10 text-green-500", strokeWidth: 1 }) })] }), _jsx("h3", { className: "mb-2 text-xl font-bold tracking-tight text-gray-900", children: "All caught up!" }), _jsx("p", { className: "max-w-[240px] text-[15px] leading-relaxed text-gray-500", children: "No agents need your attention right now. You're doing great!" })] }));
|
|
115
121
|
}
|
|
116
|
-
return (_jsxs("div", { className: "flex flex-col gap-6 p-6", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { children: [_jsx("h2", { className: "text-lg font-semibold tracking-tight text-gray-900", children: "Action Required" }), _jsxs("p", { className: "text-[13px] text-gray-500", children: [inboxAgents.length, " agent", inboxAgents.length !== 1 ? "s" : "", " need attention"] })] }), onCloseAll && inboxAgents.length > 1 && (_jsxs("button", { onClick: onCloseAll, className: "flex items-center gap-2 rounded-full border border-gray-200 bg-white px-3 py-1.5 text-xs font-medium text-gray-600 transition-all hover:bg-gray-50 hover:text-gray-900", children: [_jsx(X, { className: "size-3.5", strokeWidth: 2 }), "Close All"] }))] }), _jsx("div", { className: "grid gap-4", children: inboxAgents.map(({ agent, icon, label, description, accentColor, badgeClass, bgColor, }) => {
|
|
122
|
+
return (_jsxs("div", { className: "flex flex-col gap-6 p-6", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { children: [_jsx("h2", { className: "text-lg font-semibold tracking-tight text-gray-900", children: "Action Required" }), _jsxs("p", { className: "text-[13px] text-gray-500", children: [inboxAgents.length, " agent", inboxAgents.length !== 1 ? "s" : "", " need attention"] })] }), onCloseAll && inboxAgents.length > 1 && (_jsxs("button", { onClick: onCloseAll, className: "flex items-center gap-2 rounded-full border border-gray-200 bg-white px-3 py-1.5 text-xs font-medium text-gray-600 transition-all hover:bg-gray-50 hover:text-gray-900", children: [_jsx(X, { className: "size-3.5", strokeWidth: 2 }), "Close All"] }))] }), _jsx("div", { className: "grid gap-4", children: inboxAgents.map(({ agent, icon, label, description, accentColor, badgeClass, bgColor, selectedClass, }) => {
|
|
117
123
|
const statusConfig = getAgentStatusConfig(agent);
|
|
118
|
-
return (_jsxs("div", { className: cn("group relative cursor-pointer overflow-hidden rounded-xl border border-gray-100 p-5 transition-all hover:border-gray-200 hover:shadow-[0_4px_20px_rgba(0,0,0,0.04)]", bgColor, selectedAgentId === agent.id &&
|
|
119
|
-
"border-emerald-300 bg-emerald-50/30 ring-2 ring-emerald-500"), onClick: () => onOpenAgent(agent), children: [_jsx("div", { className: cn("absolute inset-y-0 left-0 w-1", accentColor) }), _jsxs("div", { className: "flex items-start gap-4", children: [_jsx("div", { className: "flex-shrink-0", children: _jsx("div", { className: "flex h-12 w-12 items-center justify-center rounded-xl bg-gray-50 text-gray-500 ring-1 ring-gray-100 transition-colors group-hover:bg-gray-100", children: agent.profileSvgIcon ? (_jsx("div", { className: "h-7 w-7 [&>svg]:h-full [&>svg]:w-full", dangerouslySetInnerHTML: {
|
|
124
|
+
return (_jsxs("div", { className: cn("group relative cursor-pointer overflow-hidden rounded-xl border border-gray-100 p-5 transition-all hover:border-gray-200 hover:shadow-[0_4px_20px_rgba(0,0,0,0.04)]", bgColor, selectedAgentId === agent.id && selectedClass), onClick: () => onOpenAgent(agent), children: [_jsx("div", { className: cn("absolute inset-y-0 left-0 w-1", accentColor) }), _jsxs("div", { className: "flex items-start gap-4", children: [_jsx("div", { className: "flex-shrink-0", children: _jsx("div", { className: "flex h-12 w-12 items-center justify-center rounded-xl bg-gray-50 text-gray-500 ring-1 ring-gray-100 transition-colors group-hover:bg-gray-100", children: agent.profileSvgIcon ? (_jsx("div", { className: "h-7 w-7 [&>svg]:h-full [&>svg]:w-full", dangerouslySetInnerHTML: {
|
|
120
125
|
__html: agent.profileSvgIcon,
|
|
121
126
|
} })) : (_jsx(SecretAgentIcon, { size: 32, strokeWidth: 1.5, className: "text-gray-400" })) }) }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsxs("div", { className: "mb-2 flex items-center gap-2", children: [_jsx("h4", { className: "truncate text-[15px] font-semibold tracking-tight text-gray-900", children: agent.name }), _jsx("div", { className: cn("h-1.5 w-1.5 flex-shrink-0 rounded-full", statusConfig.color, statusConfig.shouldPulse && "animate-pulse") })] }), _jsxs("div", { className: "mb-3 flex flex-wrap items-center gap-2", children: [_jsxs("div", { className: cn("inline-flex items-center gap-1.5 rounded-md px-2 py-0.5 text-[11px] font-bold tracking-tight uppercase", badgeClass), children: [icon, _jsx("span", { children: label })] }), _jsx("span", { className: "text-[13px] text-gray-600", children: description })] }), _jsx("div", { className: "flex items-center gap-4 text-[11px] font-medium text-gray-400", children: _jsxs("div", { className: "flex items-center gap-1", children: [_jsx(Clock, { className: "size-3", strokeWidth: 2 }), _jsx("span", { children: formatDateTime(agent.updatedDate) })] }) })] }), _jsx("div", { className: "flex shrink-0 self-center opacity-0 transition-opacity group-hover:opacity-100", children: _jsx(SimpleIconButton, { onClick: (e) => {
|
|
122
127
|
e.stopPropagation();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentsInbox.js","sourceRoot":"","sources":["../../src/agents-view/AgentsInbox.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAarD;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAY;IAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,OAAO,CACL,MAAM,KAAK,oBAAoB;QAC/B,MAAM,KAAK,CAAC;QACZ,MAAM,KAAK,iBAAiB;QAC5B,MAAM,KAAK,CAAC;QACZ,MAAM,KAAK,kBAAkB;QAC7B,MAAM,KAAK,CAAC;QACZ,MAAM,KAAK,OAAO;QAClB,MAAM,KAAK,CAAC;QACZ,MAAM,KAAK,MAAM;QACjB,MAAM,KAAK,CAAC;QACZ,MAAM,KAAK,WAAW;QACtB,MAAM,KAAK,CAAC,CACb,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,KAAY;
|
|
1
|
+
{"version":3,"file":"AgentsInbox.js","sourceRoot":"","sources":["../../src/agents-view/AgentsInbox.tsx"],"names":[],"mappings":"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"}
|
|
@@ -52,7 +52,7 @@ export function LanguageSelector({ selectedLanguage, onLanguageSelected, showAll
|
|
|
52
52
|
? `${currentLanguage.name.slice(0, MAX_LANG_SELECTOR_NAME_LENGTH)}\u2026`
|
|
53
53
|
: currentLanguage.name
|
|
54
54
|
: null;
|
|
55
|
-
return (_jsxs(Popover, { open: open, onOpenChange: handleOpenChange, enableIframeClickDetection: false, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { ref: triggerRef, variant: "select", role: "combobox", "aria-expanded": open, className: cn(disabled && "cursor-not-allowed opacity-50"), "data-testid": "language-selector", disabled: disabled, title: currentLanguage?.name ?? undefined, children: [_jsxs("div", { className: "flex items-center gap-2", children: [currentLanguage && (_jsxs(_Fragment, { children: [_jsx("img", { src: currentLanguage.icon, className: "h-5", alt: currentLanguage.name }), langSelectorLabel] })), !currentLanguage && _jsx("div", { children: "Select language" })] }), _jsx(ChevronsUpDown, { className: "h-4 w-4 shrink-0 opacity-50", strokeWidth: 1 })] }) }), _jsx(PopoverContent, { className: "w-64 p-0", align: "start", container: portalContainer, onMouseDown: (e) => e.stopPropagation(), onClick: (e) => e.stopPropagation(), children: _jsxs(Command, { children: [showAllLanguagesSwitch && (_jsxs("div", { className: "flex items-center justify-center gap-2 p-2 text-xs font-light", children: [_jsx("span", { className: "cursor-pointer", onClick: () => setShowAllLanguagesInternal(false), children: "Item languages" }), _jsx(Switch, { checked: showAllLanguagesInternal, className: "cursor-pointer", onCheckedChange: (checked) => setShowAllLanguagesInternal(checked) }), _jsx("span", { className: "cursor-pointer", onClick: () => setShowAllLanguagesInternal(true), children: "All languages" })] })), _jsx("div", { className: "p-2", children: _jsx(FilterInput, { value: filterText, onChange: setFilterText, placeholder: "Filter languages...", className: "w-full", onClear: () => setFilterText("") }) }), _jsxs(CommandList, { className: "max-h-[50vh]", children: [_jsx(CommandEmpty, { children: filterText.trim()
|
|
55
|
+
return (_jsxs(Popover, { open: open, onOpenChange: handleOpenChange, enableIframeClickDetection: false, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { ref: triggerRef, variant: "select", role: "combobox", "aria-expanded": open, className: cn(disabled && "cursor-not-allowed opacity-50"), "data-testid": "language-selector", disabled: disabled, title: currentLanguage?.name ?? undefined, children: [_jsxs("div", { className: "flex items-center gap-2", children: [currentLanguage && (_jsxs(_Fragment, { children: [_jsx("img", { src: currentLanguage.icon, className: "h-5", alt: currentLanguage.name }), langSelectorLabel] })), !currentLanguage && _jsx("div", { children: "Select language" })] }), _jsx(ChevronsUpDown, { className: "h-4 w-4 shrink-0 opacity-50 hidden md:block", strokeWidth: 1 })] }) }), _jsx(PopoverContent, { className: "w-64 p-0", align: "start", container: portalContainer, onMouseDown: (e) => e.stopPropagation(), onClick: (e) => e.stopPropagation(), children: _jsxs(Command, { children: [showAllLanguagesSwitch && (_jsxs("div", { className: "flex items-center justify-center gap-2 p-2 text-xs font-light", children: [_jsx("span", { className: "cursor-pointer", onClick: () => setShowAllLanguagesInternal(false), children: "Item languages" }), _jsx(Switch, { checked: showAllLanguagesInternal, className: "cursor-pointer", onCheckedChange: (checked) => setShowAllLanguagesInternal(checked) }), _jsx("span", { className: "cursor-pointer", onClick: () => setShowAllLanguagesInternal(true), children: "All languages" })] })), _jsx("div", { className: "p-2", children: _jsx(FilterInput, { value: filterText, onChange: setFilterText, placeholder: "Filter languages...", className: "w-full", onClear: () => setFilterText("") }) }), _jsxs(CommandList, { className: "max-h-[50vh]", children: [_jsx(CommandEmpty, { children: filterText.trim()
|
|
56
56
|
? `No languages found matching "${filterText}"`
|
|
57
57
|
: "This item has no languages" }), _jsx(CommandGroup, { children: languages.map((language) => (_jsxs(CommandItem, { value: language.languageCode, onSelect: () => selectLanguage(language), className: cn("flex items-center gap-2 px-2 py-2 text-xs font-light",
|
|
58
58
|
// Remove background when selected (auto-focused) but not hovered
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LanguageSelector.js","sourceRoot":"","sources":["../../../src/components/ui/LanguageSelector.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"LanguageSelector.js","sourceRoot":"","sources":["../../../src/components/ui/LanguageSelector.tsx"],"names":[],"mappings":"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"}
|
|
@@ -13,16 +13,10 @@ function AlertDialogPortal({ ...props }) {
|
|
|
13
13
|
return _jsx(AlertDialogPrimitive.Portal, { "data-slot": "alert-dialog-portal", ...props });
|
|
14
14
|
}
|
|
15
15
|
function AlertDialogOverlay({ className, ...props }) {
|
|
16
|
-
return (_jsx(AlertDialogPrimitive.Overlay, { "data-slot": "alert-dialog-overlay", className: cn("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed
|
|
17
|
-
// Adjust right edge when help panel is open to not cover it
|
|
18
|
-
"right-[var(--help-panel-width,0px)]", className), ...props }));
|
|
16
|
+
return (_jsx(AlertDialogPrimitive.Overlay, { "data-slot": "alert-dialog-overlay", className: cn("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-[100] bg-black/50 backdrop-blur-sm", className), ...props }));
|
|
19
17
|
}
|
|
20
18
|
function AlertDialogContent({ className, ...props }) {
|
|
21
|
-
return (_jsxs(AlertDialogPortal, { children: [_jsx(AlertDialogOverlay, {}), _jsx(AlertDialogPrimitive.Content, { "data-slot": "alert-dialog-content", 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%] z-[101] grid w-full max-w-
|
|
22
|
-
// Center horizontally in the available space (excluding help panel)
|
|
23
|
-
"left-[calc((100%-var(--help-panel-width,0px))/2)] translate-x-[-50%]",
|
|
24
|
-
// Max width should respect the available space
|
|
25
|
-
"max-w-[calc(100%-var(--help-panel-width,0px)-2rem)]", className), ...props })] }));
|
|
19
|
+
return (_jsxs(AlertDialogPortal, { children: [_jsx(AlertDialogOverlay, {}), _jsx(AlertDialogPrimitive.Content, { "data-slot": "alert-dialog-content", 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] grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-2xl border p-6 shadow-2xl duration-200 lg:max-w-lg", className), ...props })] }));
|
|
26
20
|
}
|
|
27
21
|
function AlertDialogHeader({ className, ...props }) {
|
|
28
22
|
return (_jsx("div", { "data-slot": "alert-dialog-header", className: cn("flex flex-col gap-2 text-center sm:text-left", className), ...props }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert-dialog.js","sourceRoot":"","sources":["../../../src/components/ui/alert-dialog.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,KAAK,oBAAoB,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,SAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EAC+C;IACvD,OAAO,KAAC,oBAAoB,CAAC,IAAI,iBAAW,cAAc,KAAK,KAAK,GAAI,CAAC;AAC3E,CAAC;AAED,SAAS,kBAAkB,CAAC,EAC1B,GAAG,KAAK,EACkD;IAC1D,OAAO,KAAC,oBAAoB,CAAC,OAAO,iBAAW,sBAAsB,KAAK,KAAK,GAAI,CAAC;AACtF,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,GAAG,KAAK,EACiD;IACzD,OAAO,KAAC,oBAAoB,CAAC,MAAM,iBAAW,qBAAqB,KAAK,KAAK,GAAI,CAAC;AACpF,CAAC;AAED,SAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACkD;IAC1D,OAAO,CACL,KAAC,oBAAoB,CAAC,OAAO,iBACjB,sBAAsB,EAChC,SAAS,EAAE,EAAE,CACX,
|
|
1
|
+
{"version":3,"file":"alert-dialog.js","sourceRoot":"","sources":["../../../src/components/ui/alert-dialog.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,KAAK,oBAAoB,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,SAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EAC+C;IACvD,OAAO,KAAC,oBAAoB,CAAC,IAAI,iBAAW,cAAc,KAAK,KAAK,GAAI,CAAC;AAC3E,CAAC;AAED,SAAS,kBAAkB,CAAC,EAC1B,GAAG,KAAK,EACkD;IAC1D,OAAO,KAAC,oBAAoB,CAAC,OAAO,iBAAW,sBAAsB,KAAK,KAAK,GAAI,CAAC;AACtF,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,GAAG,KAAK,EACiD;IACzD,OAAO,KAAC,oBAAoB,CAAC,MAAM,iBAAW,qBAAqB,KAAK,KAAK,GAAI,CAAC;AACpF,CAAC;AAED,SAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACkD;IAC1D,OAAO,CACL,KAAC,oBAAoB,CAAC,OAAO,iBACjB,sBAAsB,EAChC,SAAS,EAAE,EAAE,CACX,4KAA4K,EAC5K,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACkD;IAC1D,OAAO,CACL,MAAC,iBAAiB,eAChB,KAAC,kBAAkB,KAAG,EACtB,KAAC,oBAAoB,CAAC,OAAO,iBACjB,sBAAsB,EAChC,SAAS,EAAE,EAAE,CACX,kXAAkX,EAClX,SAAS,CACV,KACG,KAAK,GACT,IACgB,CACrB,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACoB;IAC5B,OAAO,CACL,2BACY,qBAAqB,EAC/B,SAAS,EAAE,EAAE,CAAC,8CAA8C,EAAE,SAAS,CAAC,KACpE,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACoB;IAC5B,OAAO,CACL,2BACY,qBAAqB,EAC/B,SAAS,EAAE,EAAE,CACX,wDAAwD,EACxD,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,GAAG,KAAK,EACgD;IACxD,OAAO,CACL,KAAC,oBAAoB,CAAC,KAAK,iBACf,oBAAoB,EAC9B,SAAS,EAAE,EAAE,CAAC,uBAAuB,EAAE,SAAS,CAAC,KAC7C,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,EAC9B,SAAS,EACT,GAAG,KAAK,EACsD;IAC9D,OAAO,CACL,KAAC,oBAAoB,CAAC,WAAW,iBACrB,0BAA0B,EACpC,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,SAAS,CAAC,KACrD,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACiD;IACzD,OAAO,CACL,KAAC,oBAAoB,CAAC,MAAM,IAC1B,SAAS,EAAE,EAAE,CAAC,cAAc,EAAE,EAAE,SAAS,CAAC,KACtC,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACiD;IACzD,OAAO,CACL,KAAC,oBAAoB,CAAC,MAAM,IAC1B,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,CAAC,KAC5D,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,GACnB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
declare const buttonVariants: (props?: ({
|
|
3
3
|
variant?: "select" | "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
|
|
4
|
-
size?: "select" | "default" | "sm" | "xs" | "xxs" | "lg" | "icon" | null | undefined;
|
|
4
|
+
size?: "select" | "default" | "sm" | "xs" | "xxs" | "lg" | "icon" | "iconSm" | "iconXs" | null | undefined;
|
|
5
5
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
6
6
|
type BaseButtonProps = React.ComponentProps<"button"> & {
|
|
7
7
|
asChild?: boolean;
|
|
@@ -12,7 +12,7 @@ type SelectButtonProps = BaseButtonProps & {
|
|
|
12
12
|
};
|
|
13
13
|
export type GenericButtonProps = BaseButtonProps & {
|
|
14
14
|
variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link";
|
|
15
|
-
size?: "default" | "sm" | "xs" | "lg" | "icon";
|
|
15
|
+
size?: "default" | "sm" | "xs" | "lg" | "icon" | "iconSm" | "iconXs";
|
|
16
16
|
};
|
|
17
17
|
type ButtonProps = SelectButtonProps | GenericButtonProps;
|
|
18
18
|
declare function Button({ className, variant, size, asChild, ...props }: ButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -42,6 +42,8 @@ const buttonVariants = cva([
|
|
|
42
42
|
xxs: "h-5 rounded-md gap-1 px-2 has-[>svg]:px-2 text-2xs",
|
|
43
43
|
lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
|
|
44
44
|
icon: "size-9",
|
|
45
|
+
iconSm: "size-8",
|
|
46
|
+
iconXs: "size-7",
|
|
45
47
|
select: "",
|
|
46
48
|
},
|
|
47
49
|
},
|
|
@@ -49,7 +51,7 @@ const buttonVariants = cva([
|
|
|
49
51
|
{
|
|
50
52
|
variant: "select",
|
|
51
53
|
size: "select",
|
|
52
|
-
class: "h-
|
|
54
|
+
class: "h-7 md:h-8 p-[7px] py-[11px] text-xs",
|
|
53
55
|
},
|
|
54
56
|
],
|
|
55
57
|
defaultVariants: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/components/ui/button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAG/C,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,MAAM,cAAc,GAAG,GAAG,CACxB;IACE,aAAa;IACb,cAAc;IACd,gBAAgB;IAChB,OAAO;IACP,mBAAmB;IACnB,SAAS;IACT,SAAS;IACT,aAAa;IACb,gBAAgB;IAChB,8BAA8B;IAC9B,qBAAqB;IACrB,6BAA6B;IAC7B,+CAA+C;IAC/C,kBAAkB;IAClB,cAAc;IACd,2BAA2B;IAC3B,4BAA4B;IAC5B,0BAA0B;IAC1B,kCAAkC;IAClC,uCAAuC;IACvC,iCAAiC;CAClC,EACD;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EACL,kFAAkF;YACpF,WAAW,EACT,6JAA6J;YAC/J,OAAO,EACL,6HAA6H;YAC/H,MAAM,EACJ,sPAAsP;YACxP,SAAS,EACP,wEAAwE;YAC1E,KAAK,EACH,sEAAsE;YACxE,IAAI,EACF,iDAAiD;SACpD;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,+BAA+B;YACxC,EAAE,EAAE,uDAAuD;YAC3D,EAAE,EAAE,oDAAoD;YACxD,GAAG,EAAE,oDAAoD;YACzD,EAAE,EAAE,sCAAsC;YAC1C,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,EAAE;SACX;KACF;IACD,gBAAgB,EAAE;QAChB;YACE,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,sCAAsC;SAC9C;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;KAChB;CACF,CACF,CAAC;AAgBF,SAAS,MAAM,CAAC,EACd,SAAS,EACT,OAAO,EACP,IAAI,EACJ,OAAO,GAAG,KAAK,EACf,GAAG,KAAK,EACI;IACZ,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEvC,OAAO,CACL,KAAC,IAAI,iBACO,QAAQ,EAClB,SAAS,EAAE,EAAE,CACX,gBAAgB,EAChB,cAAc,CAAC;YACb,OAAO;YACP,IAAI,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;YAC5C,SAAS;SACV,CAAC,CACH,KACI,KAAa,GAClB,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/components/ui/button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAG/C,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,MAAM,cAAc,GAAG,GAAG,CACxB;IACE,aAAa;IACb,cAAc;IACd,gBAAgB;IAChB,OAAO;IACP,mBAAmB;IACnB,SAAS;IACT,SAAS;IACT,aAAa;IACb,gBAAgB;IAChB,8BAA8B;IAC9B,qBAAqB;IACrB,6BAA6B;IAC7B,+CAA+C;IAC/C,kBAAkB;IAClB,cAAc;IACd,2BAA2B;IAC3B,4BAA4B;IAC5B,0BAA0B;IAC1B,kCAAkC;IAClC,uCAAuC;IACvC,iCAAiC;CAClC,EACD;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EACL,kFAAkF;YACpF,WAAW,EACT,6JAA6J;YAC/J,OAAO,EACL,6HAA6H;YAC/H,MAAM,EACJ,sPAAsP;YACxP,SAAS,EACP,wEAAwE;YAC1E,KAAK,EACH,sEAAsE;YACxE,IAAI,EACF,iDAAiD;SACpD;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,+BAA+B;YACxC,EAAE,EAAE,uDAAuD;YAC3D,EAAE,EAAE,oDAAoD;YACxD,GAAG,EAAE,oDAAoD;YACzD,EAAE,EAAE,sCAAsC;YAC1C,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE;SACX;KACF;IACD,gBAAgB,EAAE;QAChB;YACE,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,sCAAsC;SAC9C;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;KAChB;CACF,CACF,CAAC;AAgBF,SAAS,MAAM,CAAC,EACd,SAAS,EACT,OAAO,EACP,IAAI,EACJ,OAAO,GAAG,KAAK,EACf,GAAG,KAAK,EACI;IACZ,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEvC,OAAO,CACL,KAAC,IAAI,iBACO,QAAQ,EAClB,SAAS,EAAE,EAAE,CACX,gBAAgB,EAChB,cAAc,CAAC;YACb,OAAO;YACP,IAAI,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;YAC5C,SAAS;SACV,CAAC,CACH,KACI,KAAa,GAClB,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -5,31 +5,7 @@ import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
|
5
5
|
import { XIcon } from "lucide-react";
|
|
6
6
|
import { cn } from "../../lib/utils";
|
|
7
7
|
function Dialog({ ...props }) {
|
|
8
|
-
|
|
9
|
-
// Radix modal dialogs enable scroll-lock (react-remove-scroll), which blocks mouse-wheel
|
|
10
|
-
// scrolling in the help panel even though it is visible and clickable.
|
|
11
|
-
const [helpPanelOpen, setHelpPanelOpen] = React.useState(() => {
|
|
12
|
-
if (typeof document === "undefined")
|
|
13
|
-
return false;
|
|
14
|
-
return document.body.getAttribute("data-help-panel-open") === "true";
|
|
15
|
-
});
|
|
16
|
-
React.useEffect(() => {
|
|
17
|
-
const onChange = (e) => {
|
|
18
|
-
const ce = e;
|
|
19
|
-
if (typeof ce.detail?.open === "boolean") {
|
|
20
|
-
setHelpPanelOpen(ce.detail.open);
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
// Fallback: re-read the body attribute
|
|
24
|
-
setHelpPanelOpen(document.body.getAttribute("data-help-panel-open") === "true");
|
|
25
|
-
};
|
|
26
|
-
window.addEventListener("parhelia:help-panel-open-changed", onChange);
|
|
27
|
-
return () => {
|
|
28
|
-
window.removeEventListener("parhelia:help-panel-open-changed", onChange);
|
|
29
|
-
};
|
|
30
|
-
}, []);
|
|
31
|
-
const effectiveModal = props.modal !== undefined ? props.modal : !helpPanelOpen;
|
|
32
|
-
return (_jsx(DialogPrimitive.Root, { "data-slot": "dialog", ...props, modal: effectiveModal }));
|
|
8
|
+
return (_jsx(DialogPrimitive.Root, { "data-slot": "dialog", ...props }));
|
|
33
9
|
}
|
|
34
10
|
function DialogTrigger({ ...props }) {
|
|
35
11
|
return _jsx(DialogPrimitive.Trigger, { "data-slot": "dialog-trigger", ...props });
|
|
@@ -41,119 +17,20 @@ function DialogClose({ ...props }) {
|
|
|
41
17
|
return _jsx(DialogPrimitive.Close, { "data-slot": "dialog-close", ...props });
|
|
42
18
|
}
|
|
43
19
|
function DialogOverlay({ className, ...props }) {
|
|
44
|
-
return (_jsx(DialogPrimitive.Overlay, { "data-slot": "dialog-overlay", className: cn("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed
|
|
45
|
-
// Adjust right edge when help panel is open to not cover it
|
|
46
|
-
"right-[var(--help-panel-width,0px)]", className), ...props }));
|
|
20
|
+
return (_jsx(DialogPrimitive.Overlay, { "data-slot": "dialog-overlay", className: cn("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-[100] bg-black/50 backdrop-blur-sm", className), ...props }));
|
|
47
21
|
}
|
|
48
22
|
function DialogContent({ className, children, showCloseButton = true, overlayClassName, onInteractOutside, onPointerDownOutside, onFocusOutside, ...props }) {
|
|
49
|
-
// When the help panel is open we run dialogs as non-modal at the Root level (to avoid scroll-lock),
|
|
50
|
-
// but we still want "modal-like" behavior: trap focus and block pointer events outside the dialog
|
|
51
|
-
// (the overlay already provides the visual mask).
|
|
52
|
-
const [helpPanelOpen, setHelpPanelOpen] = React.useState(() => {
|
|
53
|
-
if (typeof document === "undefined")
|
|
54
|
-
return false;
|
|
55
|
-
return document.body.getAttribute("data-help-panel-open") === "true";
|
|
56
|
-
});
|
|
57
|
-
React.useEffect(() => {
|
|
58
|
-
const onChange = (e) => {
|
|
59
|
-
const ce = e;
|
|
60
|
-
if (typeof ce.detail?.open === "boolean") {
|
|
61
|
-
setHelpPanelOpen(ce.detail.open);
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
setHelpPanelOpen(document.body.getAttribute("data-help-panel-open") === "true");
|
|
65
|
-
};
|
|
66
|
-
window.addEventListener("parhelia:help-panel-open-changed", onChange);
|
|
67
|
-
return () => {
|
|
68
|
-
window.removeEventListener("parhelia:help-panel-open-changed", onChange);
|
|
69
|
-
};
|
|
70
|
-
}, []);
|
|
71
|
-
// Helper to check if event target is inside the help panel
|
|
72
|
-
const isHelpPanelInteraction = React.useCallback((event) => {
|
|
73
|
-
// Check if the help panel is open
|
|
74
|
-
const helpPanelOpen = document.body.getAttribute("data-help-panel-open") === "true";
|
|
75
|
-
if (!helpPanelOpen) {
|
|
76
|
-
return false;
|
|
77
|
-
}
|
|
78
|
-
// Radix events have the original DOM event in detail.originalEvent
|
|
79
|
-
const originalEvent = event?.detail?.originalEvent;
|
|
80
|
-
const target = (originalEvent?.target ||
|
|
81
|
-
event?.target);
|
|
82
|
-
// Check if the target is inside the help panel
|
|
83
|
-
if (target?.closest("[data-help-panel]")) {
|
|
84
|
-
return true;
|
|
85
|
-
}
|
|
86
|
-
// Also check if the active element (focused element) is inside the help panel
|
|
87
|
-
// This handles cases where focus moves before the event target is set
|
|
88
|
-
const activeElement = document.activeElement;
|
|
89
|
-
if (activeElement?.closest("[data-help-panel]")) {
|
|
90
|
-
return true;
|
|
91
|
-
}
|
|
92
|
-
// Check if the related target (for focus events) is inside the help panel
|
|
93
|
-
const relatedTarget = (originalEvent?.relatedTarget ||
|
|
94
|
-
event?.relatedTarget);
|
|
95
|
-
if (relatedTarget?.closest("[data-help-panel]")) {
|
|
96
|
-
return true;
|
|
97
|
-
}
|
|
98
|
-
// Check by mouse position - if the click is in the right area where the help panel is
|
|
99
|
-
const mouseEvent = originalEvent;
|
|
100
|
-
if (mouseEvent?.clientX !== undefined) {
|
|
101
|
-
const helpPanelWidth = parseInt(getComputedStyle(document.body).getPropertyValue("--help-panel-width") || "0", 10);
|
|
102
|
-
if (helpPanelWidth > 0 &&
|
|
103
|
-
mouseEvent.clientX >= window.innerWidth - helpPanelWidth) {
|
|
104
|
-
return true;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
return false;
|
|
108
|
-
}, []);
|
|
109
|
-
// Prevent dialog from closing when tour is active or when interacting with the help panel
|
|
110
23
|
const handleInteractOutside = React.useCallback((event) => {
|
|
111
24
|
const tourActive = document.body.getAttribute("data-tour-active") === "true";
|
|
112
25
|
if (tourActive) {
|
|
113
26
|
event.preventDefault();
|
|
114
27
|
return;
|
|
115
28
|
}
|
|
116
|
-
// Don't close if clicking inside the help panel
|
|
117
|
-
if (isHelpPanelInteraction(event)) {
|
|
118
|
-
event.preventDefault();
|
|
119
|
-
return;
|
|
120
|
-
}
|
|
121
29
|
if (onInteractOutside) {
|
|
122
30
|
onInteractOutside(event);
|
|
123
31
|
}
|
|
124
|
-
}, [onInteractOutside
|
|
125
|
-
|
|
126
|
-
const handlePointerDownOutside = React.useCallback((event) => {
|
|
127
|
-
if (isHelpPanelInteraction(event)) {
|
|
128
|
-
event.preventDefault();
|
|
129
|
-
return;
|
|
130
|
-
}
|
|
131
|
-
if (onPointerDownOutside) {
|
|
132
|
-
onPointerDownOutside(event);
|
|
133
|
-
}
|
|
134
|
-
}, [onPointerDownOutside, isHelpPanelInteraction]);
|
|
135
|
-
// Handle focus outside - prevent closing when focusing help panel
|
|
136
|
-
const handleFocusOutside = React.useCallback((event) => {
|
|
137
|
-
if (isHelpPanelInteraction(event)) {
|
|
138
|
-
event.preventDefault();
|
|
139
|
-
return;
|
|
140
|
-
}
|
|
141
|
-
if (onFocusOutside) {
|
|
142
|
-
onFocusOutside(event);
|
|
143
|
-
}
|
|
144
|
-
}, [onFocusOutside, isHelpPanelInteraction]);
|
|
145
|
-
return (_jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [_jsx("div", { "data-slot": "dialog-overlay", className: cn("fixed top-0 bottom-0 left-0 z-[100] bg-black/50 backdrop-blur-sm", overlayClassName), style: { right: `var(--help-panel-width, 0px)` }, "aria-hidden": "true" }), _jsxs(DialogPrimitive.Content, { "data-slot": "dialog-content", "data-testid": "dialog-content", ...props, ...(helpPanelOpen
|
|
146
|
-
? {
|
|
147
|
-
// Keep focus trapped in the dialog even though Root is non-modal.
|
|
148
|
-
trapFocus: true,
|
|
149
|
-
// Prevent interacting with the background (overlay + this setting).
|
|
150
|
-
disableOutsidePointerEvents: true,
|
|
151
|
-
}
|
|
152
|
-
: {}), 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%] z-[101] flex w-full translate-y-[-50%] flex-col rounded-2xl border shadow-2xl duration-200",
|
|
153
|
-
// Center horizontally in the available space (excluding help panel)
|
|
154
|
-
"left-[calc((100%-var(--help-panel-width,0px))/2)] translate-x-[-50%]",
|
|
155
|
-
// Max width should respect the available space
|
|
156
|
-
"max-w-[calc(100%-var(--help-panel-width,0px)-2rem)]", className), onInteractOutside: handleInteractOutside, onPointerDownOutside: handlePointerDownOutside, onFocusOutside: handleFocusOutside, children: [children, 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 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" })] }))] })] }));
|
|
32
|
+
}, [onInteractOutside]);
|
|
33
|
+
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 w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] flex-col rounded-2xl border shadow-2xl duration-200", className), onInteractOutside: handleInteractOutside, onPointerDownOutside: onPointerDownOutside, onFocusOutside: onFocusOutside, children: [children, 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 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" })] }))] })] }));
|
|
157
34
|
}
|
|
158
35
|
function DialogHeader({ className, ...props }) {
|
|
159
36
|
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,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,SAAS,MAAM,CAAC,EACd,GAAG,KAAK,EAC0C;IAClD,
|
|
1
|
+
{"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../src/components/ui/dialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -9,12 +9,6 @@ function useIframeClickDetection(isOpen, onShouldClose) {
|
|
|
9
9
|
if (!isOpen)
|
|
10
10
|
return;
|
|
11
11
|
const handleDocumentInteraction = () => {
|
|
12
|
-
// Don't close if focus moved to the help panel
|
|
13
|
-
const activeElement = document.activeElement;
|
|
14
|
-
if (activeElement?.closest("[data-help-panel]")) {
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
// Close popover on any significant document interaction
|
|
18
12
|
onShouldClose();
|
|
19
13
|
};
|
|
20
14
|
const handleIframeInteraction = (event) => {
|
|
@@ -62,9 +56,7 @@ const Popover = ({ enableIframeClickDetection = true, ...props }) => {
|
|
|
62
56
|
return (_jsx(PopoverRoot, { ...props, open: isOpen, onOpenChange: handleOpenChange }));
|
|
63
57
|
};
|
|
64
58
|
Popover.displayName = "Popover";
|
|
65
|
-
const PopoverContent = React.forwardRef(({ className, align = "center", sideOffset = 4, container, ...props }, ref) => (_jsx(PopoverPrimitive.Portal, { container: container, children: _jsx(PopoverPrimitive.Content, { ref: ref, align: align, sideOffset: sideOffset, "data-slot": "popover-content", className: cn(
|
|
66
|
-
// z-[250] ensures popovers appear above the Help panel (z-[200]) and dialogs (z-[100-101])
|
|
67
|
-
"bg-popover text-popover-foreground 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 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-[250] w-72 rounded-md border p-4 shadow-md outline-none", className), ...props }) })));
|
|
59
|
+
const PopoverContent = React.forwardRef(({ className, align = "center", sideOffset = 4, container, ...props }, ref) => (_jsx(PopoverPrimitive.Portal, { container: container, children: _jsx(PopoverPrimitive.Content, { ref: ref, align: align, sideOffset: sideOffset, "data-slot": "popover-content", className: cn("bg-popover text-popover-foreground 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 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-[250] w-72 rounded-md border p-4 shadow-md outline-none", className), ...props }) })));
|
|
68
60
|
PopoverContent.displayName = PopoverPrimitive.Content.displayName;
|
|
69
61
|
function PopoverAnchor({ ...props }) {
|
|
70
62
|
return _jsx(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover.js","sourceRoot":"","sources":["../../../src/components/ui/popover.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,8EAA8E;AAC9E,SAAS,uBAAuB,CAAC,MAAe,EAAE,aAAyB;IACzE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,yBAAyB,GAAG,GAAG,EAAE;YACrC
|
|
1
|
+
{"version":3,"file":"popover.js","sourceRoot":"","sources":["../../../src/components/ui/popover.tsx"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,7 @@ export function Select({ id, value, onValueChange, options, placeholder = "Selec
|
|
|
29
29
|
setTimeout(() => onLazyLoad(), 0);
|
|
30
30
|
}
|
|
31
31
|
}, [onLazyLoad]);
|
|
32
|
-
return (_jsxs(Popover, { open: open, onOpenChange: handleOpenChange, enableIframeClickDetection: false, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { id: id, ref: triggerRef, variant: "outline", role: "combobox", "aria-expanded": open, size: size, "data-testid": dataTestId, className: cn("focus-shadow w-full justify-between text-xs", !className?.includes("bg-") && "bg-gray-5", size === "sm" && !className?.includes("h-") && "h-[
|
|
32
|
+
return (_jsxs(Popover, { open: open, onOpenChange: handleOpenChange, enableIframeClickDetection: false, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { id: id, ref: triggerRef, variant: "outline", role: "combobox", "aria-expanded": open, size: size, "data-testid": dataTestId, className: cn("focus-shadow w-full justify-between text-xs", !className?.includes("bg-") && "bg-gray-5", size === "sm" && !className?.includes("h-") && "h-[27px]", !className?.includes("rounded-") && "rounded-md", disabled ? "cursor-not-allowed opacity-50" : "", className), disabled: disabled, children: [_jsx("span", { className: "truncate", children: selectedOption
|
|
33
33
|
? selectedOption.label
|
|
34
34
|
: loading && value
|
|
35
35
|
? "Loading..."
|
|
@@ -10,6 +10,6 @@ export function StyledDialogTitle({ icon, title, subtitle, className, headerClas
|
|
|
10
10
|
className: cn("h-8 w-8", icon.props?.className),
|
|
11
11
|
})
|
|
12
12
|
: icon;
|
|
13
|
-
return (_jsx(DialogHeader, { className: cn("border-b bg-gray-50/50 px-6 py-4", headerClassName), children: _jsxs(DialogTitle, { className: cn("flex items-center gap-2 text-xl font-semibold tracking-tight", className), children: [_jsx("div", { className: "flex items-center justify-center rounded-xl text-primary", children: sizedIcon }), _jsxs("div", { className: "flex flex-col", children: [_jsx("span", { className: "leading-tight", children: title }), subtitle && (_jsx("span", { className: "text-xs font-normal text-muted-foreground", children: subtitle }))] })] }) }));
|
|
13
|
+
return (_jsx(DialogHeader, { className: cn("rounded-t-2xl border-b bg-gray-50/50 px-6 py-4", headerClassName), children: _jsxs(DialogTitle, { className: cn("flex items-center gap-2 text-xl font-semibold tracking-tight", className), children: [_jsx("div", { className: "flex items-center justify-center rounded-xl text-primary", children: sizedIcon }), _jsxs("div", { className: "flex flex-col", children: [_jsx("span", { className: "leading-tight", children: title }), subtitle && (_jsx("span", { className: "text-xs font-normal text-muted-foreground", children: subtitle }))] })] }) }));
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=styled-dialog-title.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styled-dialog-title.js","sourceRoot":"","sources":["../../../src/components/ui/styled-dialog-title.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAUrC,MAAM,UAAU,iBAAiB,CAAC,EAChC,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,SAAS,EACT,eAAe,GACQ;IACvB,gEAAgE;IAChE,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;QAC1C,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAA+B,EAAE;YAClD,SAAS,EAAE,EAAE,CAAC,SAAS,EAAG,IAAgC,CAAC,KAAK,EAAE,SAAS,CAAC;SAC7E,CAAC;QACJ,CAAC,CAAC,IAAI,CAAC;IAET,OAAO,CACL,KAAC,YAAY,IACX,SAAS,EAAE,EAAE,CACX,
|
|
1
|
+
{"version":3,"file":"styled-dialog-title.js","sourceRoot":"","sources":["../../../src/components/ui/styled-dialog-title.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAUrC,MAAM,UAAU,iBAAiB,CAAC,EAChC,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,SAAS,EACT,eAAe,GACQ;IACvB,gEAAgE;IAChE,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;QAC1C,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAA+B,EAAE;YAClD,SAAS,EAAE,EAAE,CAAC,SAAS,EAAG,IAAgC,CAAC,KAAK,EAAE,SAAS,CAAC;SAC7E,CAAC;QACJ,CAAC,CAAC,IAAI,CAAC;IAET,OAAO,CACL,KAAC,YAAY,IACX,SAAS,EAAE,EAAE,CACX,gDAAgD,EAChD,eAAe,CAChB,YAED,MAAC,WAAW,IACV,SAAS,EAAE,EAAE,CACX,8DAA8D,EAC9D,SAAS,CACV,aAED,cAAK,SAAS,EAAC,0DAA0D,YACtE,SAAS,GACN,EACN,eAAK,SAAS,EAAC,eAAe,aAC5B,eAAM,SAAS,EAAC,eAAe,YAAE,KAAK,GAAQ,EAC7C,QAAQ,IAAI,CACX,eAAM,SAAS,EAAC,2CAA2C,YACxD,QAAQ,GACJ,CACR,IACG,IACM,GACD,CAChB,CAAC;AACJ,CAAC"}
|
|
@@ -15,6 +15,7 @@ import { toast } from "sonner";
|
|
|
15
15
|
const MemoizedPerfectTree = memo(PerfectTree);
|
|
16
16
|
export default function ContentTree({ isDraggable, dragEnd, expandIdPath, selectionMode, selectedItemIds, rootItemIds, onSelectionChange, onItemClick, filter, templateIds, className, includeEmbeddedItems, onDoubleClick, selectPagesOnly, renderNode, renderNodePrefix, onItemInserted, language, includeItemPath, scrollToSelected, disableAutoSelectOnExpand, showGrabCursorForDraggableNodes, enableDragAndDrop, enableContextMenu, hideRootNodes, database, }) {
|
|
17
17
|
const [treeNodes, setTreeNodes] = useState([]);
|
|
18
|
+
const [isLoadingRootNodes, setIsLoadingRootNodes] = useState(false);
|
|
18
19
|
const [selectedKeys, setSelectedKeys] = useState([]);
|
|
19
20
|
const [expandedKeys, setExpandedKeys] = useState([]);
|
|
20
21
|
const treeContainerRef = useRef(null);
|
|
@@ -270,7 +271,13 @@ export default function ContentTree({ isDraggable, dragEnd, expandIdPath, select
|
|
|
270
271
|
hasInitializedRef.current = true;
|
|
271
272
|
setIsInitialized(true);
|
|
272
273
|
const load = async () => {
|
|
273
|
-
|
|
274
|
+
setIsLoadingRootNodes(true);
|
|
275
|
+
try {
|
|
276
|
+
await preLoadNodes(expandedKeys || [], true);
|
|
277
|
+
}
|
|
278
|
+
finally {
|
|
279
|
+
setIsLoadingRootNodes(false);
|
|
280
|
+
}
|
|
274
281
|
};
|
|
275
282
|
load();
|
|
276
283
|
}, [language, rootItemIds, hideRootNodes, editContext?.itemsRepository]);
|
|
@@ -770,7 +777,7 @@ export default function ContentTree({ isDraggable, dragEnd, expandIdPath, select
|
|
|
770
777
|
handleDrop(parent, index, event);
|
|
771
778
|
}, [handleDrop]);
|
|
772
779
|
if (!memoizedTreeNodes.length)
|
|
773
|
-
return (_jsx("div", { className: cn(className, "relative h-full w-full"), "data-testid": "content-tree", children: _jsxs("div", { className: "absolute inset-0 flex items-center justify-center gap-2 text-xs text-gray-500", children: [_jsx(Spinner, { size: "sm" }), " Loading..."] }) }));
|
|
780
|
+
return (_jsx("div", { className: cn(className, "relative h-full w-full"), "data-testid": "content-tree", children: isLoadingRootNodes ? (_jsxs("div", { className: "absolute inset-0 flex items-center justify-center gap-2 text-xs text-gray-500", children: [_jsx(Spinner, { size: "sm" }), " Loading..."] })) : (_jsx("div", { className: "absolute inset-0 flex items-center justify-center text-xs text-gray-500", children: "No items found" })) }));
|
|
774
781
|
return (_jsx(_Fragment, { children: _jsx("div", { className: cn(className, "text-dark h-full w-full font-light"), ref: treeContainerRef, "data-parhelia-content-tree": "true", "data-testid": "content-tree", children: _jsx(MemoizedPerfectTree, { enableKeyboardSearch: true, nodes: memoizedTreeNodes, expandedKeys: expandedKeys, onToggleExpand: handleToggleExpand, renderNode: memoizedRenderNode, renderNodePrefix: renderNodePrefix, onLazyLoad: handleLazyLoad, onDoubleClick: handleDoubleClick, onSelect: handleNodeSelect, selectedKeys: selectedKeys, onContextMenu: onContextMenu, enableDragAndDrop: enableDragAndDrop, multiDragNoun: "items", onStartDrag: handleDragStart, onDragOverZone: handleDragOverZone, onDragEnd: handleDragEnd, isDragging: editContext?.dragObject !== undefined, onDrop: handleDropCallback, scrollToSelected: scrollToSelected, disableAutoSelectOnExpand: disableAutoSelectOnExpand }) }) }));
|
|
775
782
|
}
|
|
776
783
|
//# sourceMappingURL=ContentTree.js.map
|