@parhelia/core 0.1.12752 → 0.1.12755
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/AgentsView.js +2 -2
- package/dist/agents-view/AgentsView.js.map +1 -1
- package/dist/agents-view/AgentsWorkspaceView.js +5 -20
- package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
- package/dist/config/config.js +4 -1
- package/dist/config/config.js.map +1 -1
- package/dist/editor/MainLayout.d.ts +1 -0
- package/dist/editor/MainLayout.js +64 -1
- package/dist/editor/MainLayout.js.map +1 -1
- package/dist/editor/ai/AgentTerminal.js +11 -16
- package/dist/editor/ai/AgentTerminal.js.map +1 -1
- package/dist/editor/ai/AgentTerminalStatusBar.js +45 -87
- package/dist/editor/ai/AgentTerminalStatusBar.js.map +1 -1
- package/dist/editor/ai/Agents.js +10 -5
- package/dist/editor/ai/Agents.js.map +1 -1
- package/dist/editor/ai/useAgentStatus.js +2 -2
- package/dist/editor/ai/useAgentStatus.js.map +1 -1
- package/dist/editor/client/EditorShell.js +19 -1
- 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/operations.d.ts +1 -0
- package/dist/editor/client/operations.js +37 -3
- package/dist/editor/client/operations.js.map +1 -1
- package/dist/editor/client/ui/EditorChrome.js +3 -4
- package/dist/editor/client/ui/EditorChrome.js.map +1 -1
- package/dist/editor/commands/componentCommands.js +35 -2
- package/dist/editor/commands/componentCommands.js.map +1 -1
- package/dist/editor/menubar/ItemLanguageVersion.js +22 -3
- package/dist/editor/menubar/ItemLanguageVersion.js.map +1 -1
- package/dist/editor/menubar/PreviewDatePicker.d.ts +1 -0
- package/dist/editor/menubar/PreviewDatePicker.js +55 -0
- package/dist/editor/menubar/PreviewDatePicker.js.map +1 -0
- package/dist/editor/menubar/VersionSelector.d.ts +2 -1
- package/dist/editor/menubar/VersionSelector.js +14 -15
- package/dist/editor/menubar/VersionSelector.js.map +1 -1
- package/dist/editor/page-editor-chrome/FrameMenu.js +2 -2
- package/dist/editor/page-editor-chrome/FrameMenu.js.map +1 -1
- package/dist/editor/page-viewer/EditorForm.js +81 -1
- package/dist/editor/page-viewer/EditorForm.js.map +1 -1
- package/dist/editor/page-viewer/PageViewer.js +22 -90
- package/dist/editor/page-viewer/PageViewer.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.js +12 -2
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/page-viewer/pageModelSkeletonBuilder.js +4 -0
- package/dist/editor/page-viewer/pageModelSkeletonBuilder.js.map +1 -1
- package/dist/editor/page-viewer/pageViewContext.d.ts +2 -0
- package/dist/editor/page-viewer/pageViewContext.js +8 -1
- package/dist/editor/page-viewer/pageViewContext.js.map +1 -1
- package/dist/editor/pageModel.d.ts +2 -0
- package/dist/editor/personalization/ActionList.d.ts +7 -0
- package/dist/editor/personalization/ActionList.js +16 -0
- package/dist/editor/personalization/ActionList.js.map +1 -0
- package/dist/editor/personalization/ConditionTreeEditor.d.ts +7 -0
- package/dist/editor/personalization/ConditionTreeEditor.js +117 -0
- package/dist/editor/personalization/ConditionTreeEditor.js.map +1 -0
- package/dist/editor/personalization/PersonalizationPanel.d.ts +12 -0
- package/dist/editor/personalization/PersonalizationPanel.js +308 -0
- package/dist/editor/personalization/PersonalizationPanel.js.map +1 -0
- package/dist/editor/personalization/RuleElementPicker.d.ts +11 -0
- package/dist/editor/personalization/RuleElementPicker.js +68 -0
- package/dist/editor/personalization/RuleElementPicker.js.map +1 -0
- package/dist/editor/personalization/RuleList.d.ts +19 -0
- package/dist/editor/personalization/RuleList.js +132 -0
- package/dist/editor/personalization/RuleList.js.map +1 -0
- package/dist/editor/personalization/RuleParameterInput.d.ts +10 -0
- package/dist/editor/personalization/RuleParameterInput.js +115 -0
- package/dist/editor/personalization/RuleParameterInput.js.map +1 -0
- package/dist/editor/personalization/TreeItemPicker.d.ts +9 -0
- package/dist/editor/personalization/TreeItemPicker.js +115 -0
- package/dist/editor/personalization/TreeItemPicker.js.map +1 -0
- package/dist/editor/personalization/utils.d.ts +6 -0
- package/dist/editor/personalization/utils.js +37 -0
- package/dist/editor/personalization/utils.js.map +1 -0
- package/dist/editor/services/agentStatus.d.ts +1 -0
- package/dist/editor/services/agentStatus.js +55 -1
- package/dist/editor/services/agentStatus.js.map +1 -1
- package/dist/editor/services/contentService.d.ts +5 -0
- package/dist/editor/services/contentService.js.map +1 -1
- package/dist/editor/services/personalizationService.d.ts +5 -0
- package/dist/editor/services/personalizationService.js +32 -0
- package/dist/editor/services/personalizationService.js.map +1 -0
- package/dist/editor/services/serviceHelper.d.ts +1 -1
- package/dist/editor/services/serviceHelper.js +2 -1
- package/dist/editor/services/serviceHelper.js.map +1 -1
- package/dist/editor/sidebar/OperationItem.js +1 -0
- package/dist/editor/sidebar/OperationItem.js.map +1 -1
- package/dist/editor/sidebar/SidebarPanel.js +3 -3
- package/dist/editor/sidebar/SidebarPanel.js.map +1 -1
- package/dist/editor/ui/PublishRestrictionsDialog.js +1 -0
- package/dist/editor/ui/PublishRestrictionsDialog.js.map +1 -1
- package/dist/editor/ui/SimpleTabs.d.ts +1 -0
- package/dist/editor/ui/SimpleTabs.js +2 -2
- package/dist/editor/ui/SimpleTabs.js.map +1 -1
- package/dist/editor/ui/Splitter.d.ts +4 -0
- package/dist/editor/ui/Splitter.js +42 -17
- package/dist/editor/ui/Splitter.js.map +1 -1
- package/dist/editor/utils/sitecoreDate.d.ts +2 -0
- package/dist/editor/utils/sitecoreDate.js +27 -0
- package/dist/editor/utils/sitecoreDate.js.map +1 -0
- package/dist/editor/utils/versionAtDate.d.ts +2 -0
- package/dist/editor/utils/versionAtDate.js +23 -0
- package/dist/editor/utils/versionAtDate.js.map +1 -0
- package/dist/lib/viewTransition.d.ts +1 -0
- package/dist/lib/viewTransition.js +17 -0
- package/dist/lib/viewTransition.js.map +1 -0
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/task-board/TaskBoardWorkspace.js +85 -77
- package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
- package/dist/task-board/components/ProjectAgentsPanel.js +2 -2
- package/dist/task-board/components/ProjectAgentsPanel.js.map +1 -1
- package/dist/task-board/components/ProjectPropertiesPanel.js +76 -24
- package/dist/task-board/components/ProjectPropertiesPanel.js.map +1 -1
- package/dist/task-board/components/TaskDetailPanel.d.ts +3 -1
- package/dist/task-board/components/TaskDetailPanel.js +8 -5
- package/dist/task-board/components/TaskDetailPanel.js.map +1 -1
- package/dist/types.d.ts +55 -1
- package/package.json +1 -1
- package/dist/task-board/components/AssignAgentDialog.d.ts +0 -7
- package/dist/task-board/components/AssignAgentDialog.js +0 -104
- package/dist/task-board/components/AssignAgentDialog.js.map +0 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ItemDescriptor, Page, PageSkeleton } from "../pageModel";
|
|
2
2
|
import { ItemsRepository } from "../client/itemsRepository";
|
|
3
3
|
import { EditorConfiguration } from "../../config/types";
|
|
4
|
+
import { ComponentsProviderSettings } from "../services/contentService";
|
|
4
5
|
import { ParheliaSettings, Site } from "../../types";
|
|
5
6
|
export declare const DEVICE_CHANGE_EVENT = "parhelia:device-change";
|
|
6
7
|
export declare function useViewportChangeSignal(): void;
|
|
@@ -33,6 +34,7 @@ export type PageViewContext = {
|
|
|
33
34
|
site?: Site;
|
|
34
35
|
editUrl?: string;
|
|
35
36
|
previewUrl?: string;
|
|
37
|
+
componentsProviderSettings?: ComponentsProviderSettings;
|
|
36
38
|
};
|
|
37
39
|
export declare function usePageViewContext({ pageItemDescriptor, itemsRepository, configuration, parheliaSettings, }: {
|
|
38
40
|
pageItemDescriptor?: ItemDescriptor;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useCallback, useEffect, useRef, useState } from "react";
|
|
2
2
|
import { usePageModel } from "../client/pageModelBuilder";
|
|
3
3
|
import { useDebouncedCallback } from "use-debounce";
|
|
4
|
-
import { resolvePageAndSite } from "../services/contentService";
|
|
4
|
+
import { resolvePageAndSite, } from "../services/contentService";
|
|
5
5
|
// Custom event name for device changes - used by ViewportControls to trigger re-renders
|
|
6
6
|
export const DEVICE_CHANGE_EVENT = "parhelia:device-change";
|
|
7
7
|
function dispatchViewportChange() {
|
|
@@ -36,6 +36,7 @@ export function usePageViewContext({ pageItemDescriptor, itemsRepository, config
|
|
|
36
36
|
const [resolvedPageItemDescriptor, setResolvedPageItemDescriptor] = useState();
|
|
37
37
|
const [editUrl, setEditUrl] = useState();
|
|
38
38
|
const [previewUrl, setPreviewUrl] = useState();
|
|
39
|
+
const [componentsProviderSettings, setComponentsProviderSettings] = useState();
|
|
39
40
|
// The pageViewContext is a stable ref, so viewport-affecting setters must emit
|
|
40
41
|
// an event that dependent components can subscribe to.
|
|
41
42
|
const setDevice = useCallback((value) => {
|
|
@@ -138,6 +139,7 @@ export function usePageViewContext({ pageItemDescriptor, itemsRepository, config
|
|
|
138
139
|
setPageSkeleton(undefined);
|
|
139
140
|
setEditUrl(undefined);
|
|
140
141
|
setPreviewUrl(undefined);
|
|
142
|
+
setComponentsProviderSettings(undefined);
|
|
141
143
|
return;
|
|
142
144
|
}
|
|
143
145
|
const repo = itemsRepositoryRef.current;
|
|
@@ -150,6 +152,7 @@ export function usePageViewContext({ pageItemDescriptor, itemsRepository, config
|
|
|
150
152
|
setPageSkeleton(undefined);
|
|
151
153
|
setEditUrl(undefined);
|
|
152
154
|
setPreviewUrl(undefined);
|
|
155
|
+
setComponentsProviderSettings(undefined);
|
|
153
156
|
return;
|
|
154
157
|
}
|
|
155
158
|
const result = await resolvePageAndSite(pageItemDescriptor.id, pageItemDescriptor.language, pageItemDescriptor.version);
|
|
@@ -158,6 +161,7 @@ export function usePageViewContext({ pageItemDescriptor, itemsRepository, config
|
|
|
158
161
|
setResolvedPageItemDescriptor(result.pageItem);
|
|
159
162
|
setEditUrl(result.editUrl);
|
|
160
163
|
setPreviewUrl(result.previewUrl);
|
|
164
|
+
setComponentsProviderSettings(result.componentsProviderSettings);
|
|
161
165
|
}
|
|
162
166
|
}
|
|
163
167
|
resolvePage();
|
|
@@ -217,6 +221,7 @@ export function usePageViewContext({ pageItemDescriptor, itemsRepository, config
|
|
|
217
221
|
site,
|
|
218
222
|
editUrl,
|
|
219
223
|
previewUrl,
|
|
224
|
+
componentsProviderSettings,
|
|
220
225
|
};
|
|
221
226
|
}
|
|
222
227
|
else {
|
|
@@ -235,6 +240,8 @@ export function usePageViewContext({ pageItemDescriptor, itemsRepository, config
|
|
|
235
240
|
pageViewContextRef.current.site = site;
|
|
236
241
|
pageViewContextRef.current.editUrl = editUrl;
|
|
237
242
|
pageViewContextRef.current.previewUrl = previewUrl;
|
|
243
|
+
pageViewContextRef.current.componentsProviderSettings =
|
|
244
|
+
componentsProviderSettings;
|
|
238
245
|
// setters are stable; keep initial references
|
|
239
246
|
}
|
|
240
247
|
return pageViewContextRef.current;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pageViewContext.js","sourceRoot":"","sources":["../../../src/editor/page-viewer/pageViewContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,
|
|
1
|
+
{"version":3,"file":"pageViewContext.js","sourceRoot":"","sources":["../../../src/editor/page-viewer/pageViewContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,7 @@ export type ComponentSkeleton = {
|
|
|
29
29
|
parentPlaceholder?: PlaceholderSkeleton;
|
|
30
30
|
renderedDictionaryKeys: string[];
|
|
31
31
|
isShared?: boolean;
|
|
32
|
+
hasPersonalization?: boolean;
|
|
32
33
|
layoutId?: string;
|
|
33
34
|
isSharedLayout?: boolean;
|
|
34
35
|
editorFields: EditorFields;
|
|
@@ -222,6 +223,7 @@ export type Component = {
|
|
|
222
223
|
parentPlaceholder?: Placeholder;
|
|
223
224
|
renderedDictionaryKeys: string[];
|
|
224
225
|
isShared: boolean;
|
|
226
|
+
hasPersonalization?: boolean;
|
|
225
227
|
rendering?: RenderingReference;
|
|
226
228
|
layoutId?: string;
|
|
227
229
|
isSharedLayout?: boolean;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PersonalizationAction, RuleElement } from "../../types";
|
|
2
|
+
export declare function ActionList({ actions, elements, disabled, onChange, }: {
|
|
3
|
+
actions: PersonalizationAction[];
|
|
4
|
+
elements: RuleElement[];
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
onChange: (actions: PersonalizationAction[]) => void;
|
|
7
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { X } from "lucide-react";
|
|
3
|
+
import { Button } from "../../components/ui/button";
|
|
4
|
+
import { RuleElementPicker } from "./RuleElementPicker";
|
|
5
|
+
import { RuleParameterInput } from "./RuleParameterInput";
|
|
6
|
+
import { createAction } from "./utils";
|
|
7
|
+
function getElement(elements, id) {
|
|
8
|
+
return elements.find((element) => element.id === id);
|
|
9
|
+
}
|
|
10
|
+
export function ActionList({ actions, elements, disabled, onChange, }) {
|
|
11
|
+
return (_jsxs("div", { className: "space-y-2", children: [actions.length === 0 && (_jsx("div", { className: "rounded border border-dashed border-gray-300 px-3 py-2 text-2xs text-gray-500", children: "When the conditions match, this rule will run the actions you add here." })), actions.map((action, index) => {
|
|
12
|
+
const element = getElement(elements, action.definitionItemId);
|
|
13
|
+
return (_jsx("div", { className: "rounded border border-l-2 border-gray-200 border-l-violet-400 bg-white p-3", children: _jsxs("div", { className: "flex items-start justify-between gap-2", children: [_jsx("div", { className: "min-w-0 flex-1", children: element ? (_jsx(RuleParameterInput, { element: element, values: action.parameters, disabled: disabled, onChange: (parameters) => onChange(actions.map((existing, i) => i === index ? { ...existing, parameters } : existing)) })) : (_jsxs("div", { className: "text-xs text-gray-500", children: ["Unknown action (", action.definitionItemId, ")"] })) }), _jsx(Button, { type: "button", size: "xxs", variant: "ghost", disabled: disabled, onClick: () => onChange(actions.filter((_, i) => i !== index)), "aria-label": "Remove action", title: "Remove action", className: "shrink-0 px-1", children: _jsx(X, { className: "size-3" }) })] }) }, action.uid || index));
|
|
14
|
+
}), _jsx(RuleElementPicker, { elements: elements, kind: "action", label: "Add action", disabled: disabled, fullWidth: true, onPick: (element) => onChange([...actions, createAction(element.id)]) })] }));
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=ActionList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionList.js","sourceRoot":"","sources":["../../../src/editor/personalization/ActionList.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AAEjC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,SAAS,UAAU,CAAC,QAAuB,EAAE,EAAW;IACtD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EACzB,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,QAAQ,GAMT;IACC,OAAO,CACL,eAAK,SAAS,EAAC,WAAW,aACvB,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CACvB,cAAK,SAAS,EAAC,+EAA+E,wFAExF,CACP,EAEA,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAC9D,OAAO,CACL,cAEE,SAAS,EAAC,4EAA4E,YAEtF,eAAK,SAAS,EAAC,wCAAwC,aACrD,cAAK,SAAS,EAAC,gBAAgB,YAC5B,OAAO,CAAC,CAAC,CAAC,CACT,KAAC,kBAAkB,IACjB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,CAAC,UAAU,EACzB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,CAAC,UAAU,EAAE,EAAE,CACvB,QAAQ,CACN,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAC1B,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,QAAQ,CACrD,CACF,GAEH,CACH,CAAC,CAAC,CAAC,CACF,eAAK,SAAS,EAAC,uBAAuB,iCACnB,MAAM,CAAC,gBAAgB,SACpC,CACP,GACG,EACN,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,KAAK,EACV,OAAO,EAAC,OAAO,EACf,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,gBACnD,eAAe,EAC1B,KAAK,EAAC,eAAe,EACrB,SAAS,EAAC,eAAe,YAEzB,KAAC,CAAC,IAAC,SAAS,EAAC,QAAQ,GAAG,GACjB,IACL,IApCD,MAAM,CAAC,GAAG,IAAI,KAAK,CAqCpB,CACP,CAAC;YACJ,CAAC,CAAC,EAEF,KAAC,iBAAiB,IAChB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,YAAY,EAClB,QAAQ,EAAE,QAAQ,EAClB,SAAS,QACT,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,GACrE,IACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PersonalizationConditionNode, RuleElement } from "../../types";
|
|
2
|
+
export declare function ConditionTreeEditor({ condition, elements, disabled, onChange, }: {
|
|
3
|
+
condition: PersonalizationConditionNode | null;
|
|
4
|
+
elements: RuleElement[];
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
onChange: (condition: PersonalizationConditionNode | null) => void;
|
|
7
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { ChevronDown, ChevronUp, X } from "lucide-react";
|
|
3
|
+
import { Button } from "../../components/ui/button";
|
|
4
|
+
import { RuleElementPicker } from "./RuleElementPicker";
|
|
5
|
+
import { RuleParameterInput } from "./RuleParameterInput";
|
|
6
|
+
import { createLeafCondition } from "./utils";
|
|
7
|
+
function getElement(elements, id) {
|
|
8
|
+
return elements.find((element) => element.id === id);
|
|
9
|
+
}
|
|
10
|
+
function isNotWrapper(node) {
|
|
11
|
+
return (node.kind === "composite" && node.op === "not" && node.children.length === 1);
|
|
12
|
+
}
|
|
13
|
+
function unwrapNot(node) {
|
|
14
|
+
if (isNotWrapper(node) && node.kind === "composite" && node.children[0]) {
|
|
15
|
+
return { inner: node.children[0], negated: true };
|
|
16
|
+
}
|
|
17
|
+
return { inner: node, negated: false };
|
|
18
|
+
}
|
|
19
|
+
function rewrapNot(inner, negated) {
|
|
20
|
+
if (!negated)
|
|
21
|
+
return inner;
|
|
22
|
+
return { kind: "composite", op: "not", children: [inner] };
|
|
23
|
+
}
|
|
24
|
+
export function ConditionTreeEditor({ condition, elements, disabled, onChange, }) {
|
|
25
|
+
if (!condition) {
|
|
26
|
+
return (_jsxs("div", { className: "space-y-2", children: [_jsx("div", { className: "rounded border border-dashed border-gray-300 px-3 py-2 text-2xs text-gray-500", children: "Without conditions, this rule always applies. Add a condition to target a specific audience." }), _jsx(RuleElementPicker, { elements: elements, kind: "condition", label: "Add condition", disabled: disabled, fullWidth: true, onPick: (element) => onChange(createLeafCondition(element.id)) })] }));
|
|
27
|
+
}
|
|
28
|
+
// Treat the top level as a flat AND/OR list of children. A standalone NOT
|
|
29
|
+
// wrapping a single leaf at the very top is treated as a one-child list
|
|
30
|
+
// with that child negated; anything else is a single-child list.
|
|
31
|
+
const isFlatComposite = condition.kind === "composite" &&
|
|
32
|
+
(condition.op === "and" || condition.op === "or");
|
|
33
|
+
const children = isFlatComposite
|
|
34
|
+
? condition.children
|
|
35
|
+
: [condition];
|
|
36
|
+
const op = isFlatComposite
|
|
37
|
+
? (condition.op)
|
|
38
|
+
: "and";
|
|
39
|
+
const commit = (nextChildren, nextOp = op) => {
|
|
40
|
+
if (nextChildren.length === 0) {
|
|
41
|
+
onChange(null);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
if (nextChildren.length === 1) {
|
|
45
|
+
onChange(nextChildren[0]);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
onChange({
|
|
49
|
+
kind: "composite",
|
|
50
|
+
op: nextOp,
|
|
51
|
+
children: nextChildren,
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
return (_jsx(ConditionList, { op: op, children: children, elements: elements, disabled: disabled, onOpChange: (next) => commit(children, next), onChildrenChange: (next) => commit(next) }));
|
|
55
|
+
}
|
|
56
|
+
function ConditionList({ op, children, elements, disabled, onOpChange, onChildrenChange, }) {
|
|
57
|
+
const updateChild = (index, next) => {
|
|
58
|
+
if (next === null) {
|
|
59
|
+
onChildrenChange(children.filter((_, i) => i !== index));
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
onChildrenChange(children.map((existing, i) => (i === index ? next : existing)));
|
|
63
|
+
};
|
|
64
|
+
const moveChild = (index, direction) => {
|
|
65
|
+
const target = index + direction;
|
|
66
|
+
if (target < 0 || target >= children.length)
|
|
67
|
+
return;
|
|
68
|
+
const next = [...children];
|
|
69
|
+
const [moved] = next.splice(index, 1);
|
|
70
|
+
if (!moved)
|
|
71
|
+
return;
|
|
72
|
+
next.splice(target, 0, moved);
|
|
73
|
+
onChildrenChange(next);
|
|
74
|
+
};
|
|
75
|
+
return (_jsxs("div", { className: "space-y-0.5", children: [children.map((child, index) => (_jsx(ConditionRow, { isFirst: index === 0, isLast: index === children.length - 1, op: op, child: child, elements: elements, disabled: disabled, onOpChange: onOpChange, onChange: (next) => updateChild(index, next), onMove: (direction) => moveChild(index, direction) }, index))), _jsx("div", { className: "pt-1", children: _jsx(RuleElementPicker, { elements: elements, kind: "condition", label: "Add condition", disabled: disabled, fullWidth: true, onPick: (element) => onChildrenChange([...children, createLeafCondition(element.id)]) }) })] }));
|
|
76
|
+
}
|
|
77
|
+
function ConditionRow({ isFirst, isLast, op, child, elements, disabled, onOpChange, onChange, onMove, }) {
|
|
78
|
+
const { inner, negated } = unwrapNot(child);
|
|
79
|
+
const setNegated = (n) => onChange(rewrapNot(inner, n));
|
|
80
|
+
const setInner = (next) => {
|
|
81
|
+
if (next === null) {
|
|
82
|
+
onChange(null);
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
onChange(rewrapNot(next, negated));
|
|
86
|
+
};
|
|
87
|
+
const prefix = (_jsx(ConnectorPrefix, { isFirst: isFirst, op: op, negated: negated, disabled: disabled, onOpChange: onOpChange, onNegatedChange: setNegated }));
|
|
88
|
+
const trailing = (_jsx(RowActions, { isFirst: isFirst, isLast: isLast, disabled: disabled, onMove: onMove, onRemove: () => onChange(null) }));
|
|
89
|
+
if (inner.kind === "composite" && inner.op !== "not") {
|
|
90
|
+
return (_jsxs("div", { className: "group rounded px-1 py-1 hover:bg-gray-50", children: [_jsxs("div", { className: "flex items-start justify-between gap-2", children: [_jsx("div", { className: "flex-1 text-xs leading-7 text-gray-700", children: prefix }), trailing] }), _jsx("div", { className: "mt-1 ml-3 rounded border border-gray-200 bg-gray-50/60 p-2", children: _jsx(ConditionList, { op: inner.op === "or" ? "or" : "and", children: inner.children, elements: elements, disabled: disabled, onOpChange: (nextOp) => setInner({ ...inner, op: nextOp }), onChildrenChange: (nextChildren) => setInner({ ...inner, children: nextChildren }) }) })] }));
|
|
91
|
+
}
|
|
92
|
+
if (inner.kind === "unsupported") {
|
|
93
|
+
return (_jsxs("div", { className: "group flex items-start justify-between gap-2 rounded border border-amber-200 bg-amber-50 p-2 text-2xs text-amber-700 hover:bg-amber-100", children: [_jsxs("div", { className: "flex-1 leading-6", children: [prefix, _jsx("span", { children: "this condition cannot be edited in Parhelia yet." })] }), trailing] }));
|
|
94
|
+
}
|
|
95
|
+
if (inner.kind === "leaf") {
|
|
96
|
+
const leaf = inner;
|
|
97
|
+
const element = getElement(elements, leaf.definitionItemId);
|
|
98
|
+
const setLeafParameters = (parameters) => setInner({ ...leaf, parameters });
|
|
99
|
+
return (_jsxs("div", { className: "group flex items-start gap-2 rounded px-1 py-1 hover:bg-gray-50", children: [_jsx("div", { className: "min-w-0 flex-1", children: element ? (_jsx(RuleParameterInput, { element: element, values: leaf.parameters, disabled: disabled, onChange: setLeafParameters, prefix: prefix, stripLeadingWhere: true })) : (_jsxs("div", { className: "text-xs leading-7 text-gray-500", children: [prefix, _jsxs("span", { children: ["unknown condition (", leaf.definitionItemId, ")"] })] })) }), trailing] }));
|
|
100
|
+
}
|
|
101
|
+
// Fallback for unexpected shapes (e.g. degenerate double-NOT) — render the
|
|
102
|
+
// raw inner via a recursive ConditionList so it's still editable.
|
|
103
|
+
return (_jsxs("div", { className: "group rounded px-1 py-1 hover:bg-gray-50", children: [_jsxs("div", { className: "flex items-start justify-between gap-2", children: [_jsx("div", { className: "flex-1 text-xs leading-7 text-gray-700", children: prefix }), trailing] }), _jsx("div", { className: "mt-1 ml-3 rounded border border-gray-200 bg-gray-50/60 p-2", children: _jsx(ConditionList, { op: "and", children: [inner], elements: elements, disabled: disabled, onOpChange: () => undefined, onChildrenChange: (next) => setInner(next[0] ?? null) }) })] }));
|
|
104
|
+
}
|
|
105
|
+
function ConnectorPrefix({ isFirst, op, negated, disabled, onOpChange, onNegatedChange, }) {
|
|
106
|
+
return (_jsxs("span", { className: "mr-1 select-none whitespace-nowrap", children: [!isFirst && (_jsxs(_Fragment, { children: [_jsx(ConnectorLink, { disabled: disabled, onClick: () => onOpChange(op === "and" ? "or" : "and"), title: "Toggle AND / OR", children: op }), " "] })), _jsx(ConnectorLink, { disabled: disabled, onClick: () => onNegatedChange(!negated), title: negated ? "Remove negation" : "Negate condition", children: negated ? "except where" : "where" }), " "] }));
|
|
107
|
+
}
|
|
108
|
+
function ConnectorLink({ children, disabled, onClick, title, }) {
|
|
109
|
+
return (_jsx("button", { type: "button", disabled: disabled, onClick: onClick, title: title, className: "cursor-pointer text-blue-600 underline-offset-2 hover:underline disabled:cursor-not-allowed disabled:opacity-60", children: children }));
|
|
110
|
+
}
|
|
111
|
+
function RowActions({ isFirst, isLast, disabled, onMove, onRemove, }) {
|
|
112
|
+
return (_jsxs("div", { className: "flex shrink-0 items-center opacity-0 transition-opacity group-hover:opacity-100 focus-within:opacity-100", children: [_jsx(RowIconButton, { label: "Move up", disabled: disabled || isFirst, onClick: () => onMove(-1), children: _jsx(ChevronUp, { className: "size-3" }) }), _jsx(RowIconButton, { label: "Move down", disabled: disabled || isLast, onClick: () => onMove(1), children: _jsx(ChevronDown, { className: "size-3" }) }), _jsx(RowIconButton, { label: "Remove condition", danger: true, disabled: disabled, onClick: onRemove, children: _jsx(X, { className: "size-3" }) })] }));
|
|
113
|
+
}
|
|
114
|
+
function RowIconButton({ label, disabled, danger, onClick, children, }) {
|
|
115
|
+
return (_jsx(Button, { type: "button", size: "xxs", variant: "ghost", disabled: disabled, onClick: onClick, "aria-label": label, title: label, className: `size-6 rounded-md p-0 ${danger ? "hover:bg-red-50 hover:text-red-600" : ""}`, children: children }));
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=ConditionTreeEditor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConditionTreeEditor.js","sourceRoot":"","sources":["../../../src/editor/personalization/ConditionTreeEditor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { PersonalizationRuleSet } from "../../types";
|
|
2
|
+
import { Component, ItemDescriptor } from "../pageModel";
|
|
3
|
+
export declare function PersonalizationPanel({ component, pageItem, readonly, ruleSet: ruleSetProp, ruleSetForKey, ruleSetLoadGen, onRuleSetChange, onExternalReload, }: {
|
|
4
|
+
component?: Component;
|
|
5
|
+
pageItem?: ItemDescriptor;
|
|
6
|
+
readonly?: boolean;
|
|
7
|
+
ruleSet?: PersonalizationRuleSet;
|
|
8
|
+
ruleSetForKey?: string;
|
|
9
|
+
ruleSetLoadGen?: number;
|
|
10
|
+
onRuleSetChange?: (update: (current: PersonalizationRuleSet) => PersonalizationRuleSet) => void;
|
|
11
|
+
onExternalReload?: () => void;
|
|
12
|
+
}): import("react/jsx-runtime").JSX.Element;
|