@alpaca-headless/alpaca-headless-nextjs 1.0.26 → 1.0.128
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/cjs/client-components/ClientLink.js +36 -0
- package/dist/cjs/client-components/MultiComponentEditor.js +26 -0
- package/dist/cjs/client-components/index.js +19 -0
- package/dist/cjs/components/Link.js +1 -1
- package/dist/cjs/components/LinkEditor.js +47 -1
- package/dist/cjs/components/Picture.js +14 -12
- package/dist/cjs/components/PictureEditor.js +22 -18
- package/dist/cjs/components/Placeholder.js +51 -9
- package/dist/cjs/components/RichText.js +1 -1
- package/dist/cjs/components/RichTextEditor.js +17 -2
- package/dist/cjs/components/TextEditor.js +15 -3
- package/dist/cjs/components/Translate.js +1 -1
- package/dist/cjs/{editor → components}/TranslateEditor.js +5 -2
- package/dist/cjs/editor/AiPopup.js +33 -0
- package/dist/cjs/editor/AiTerminal.js +42 -18
- package/dist/cjs/editor/ComponentInfo.js +4 -3
- package/dist/cjs/editor/ComponentPalette.js +12 -68
- package/dist/cjs/editor/ComponentTree.js +76 -59
- package/dist/cjs/editor/ConfirmationDialog.js +31 -0
- package/dist/cjs/editor/ContentTree.js +144 -49
- package/dist/cjs/editor/Debug.js +12 -2
- package/dist/cjs/editor/DialogButtons.js +7 -0
- package/dist/cjs/editor/DictionaryEditor.js +14 -8
- package/dist/cjs/editor/EditFrame.js +88 -20
- package/dist/cjs/editor/EditHistory.js +17 -4
- package/dist/cjs/editor/Editor.js +1 -1
- package/dist/cjs/editor/EditorClient.js +506 -237
- package/dist/cjs/editor/EditorClientHost.js +2 -2
- package/dist/cjs/editor/FieldList.js +30 -43
- package/dist/cjs/editor/FieldListField.js +75 -0
- package/dist/cjs/editor/FloatingToolbar.js +92 -0
- package/dist/cjs/editor/GraphQL.js +4 -6
- package/dist/cjs/editor/ItemEditor.js +9 -0
- package/dist/cjs/editor/ItemInfo.js +17 -0
- package/dist/cjs/editor/ItemNameDialog.js +37 -0
- package/dist/cjs/editor/LanguageSelector.js +1 -1
- package/dist/cjs/editor/LinkEditorDialog.js +67 -0
- package/dist/cjs/editor/MainLayout.js +24 -0
- package/dist/cjs/editor/MediaSelector.js +44 -13
- package/dist/cjs/editor/PictureEditorDialog.js +93 -0
- package/dist/cjs/editor/PlaceholderDropZone.js +48 -9
- package/dist/cjs/editor/SidebarTabs.js +47 -0
- package/dist/cjs/editor/Terminal.js +21 -11
- package/dist/cjs/editor/Utils.js +43 -0
- package/dist/cjs/editor/VersionSelector.js +1 -1
- package/dist/cjs/editor/Workbox.js +41 -0
- package/dist/cjs/editor/componentCommands.js +141 -0
- package/dist/cjs/editor/contentService.js +45 -3
- package/dist/cjs/editor/editContext.js +9 -4
- package/dist/cjs/editor/editService.js +187 -3
- package/dist/cjs/editor/fieldTypes/CheckboxEditor.js +21 -0
- package/dist/cjs/editor/fieldTypes/InternalLinkFieldEditor.js +46 -0
- package/dist/cjs/editor/fieldTypes/LinkFieldEditor.js +55 -0
- package/dist/cjs/editor/fieldTypes/MultiLineText.js +25 -0
- package/dist/cjs/editor/fieldTypes/PictureFieldEditor.js +19 -0
- package/dist/cjs/editor/fieldTypes/RichTextEditor.js +9 -4
- package/dist/cjs/editor/fieldTypes/SingleLineText.js +12 -4
- package/dist/cjs/editor/fieldTypes/TreeListEditor.js +59 -0
- package/dist/cjs/editor/ui/Section.js +8 -0
- package/dist/cjs/loadRouteData.js +24 -14
- package/dist/cjs/middleware/authorization.js +52 -0
- package/dist/cjs/middleware/index.js +17 -0
- package/dist/editor.css +552 -74
- package/dist/primereact/resources/themes/arya-blue/theme.css +103 -91
- package/dist/primereact/resources/themes/arya-green/theme.css +103 -91
- package/dist/primereact/resources/themes/arya-orange/theme.css +103 -91
- package/dist/primereact/resources/themes/arya-purple/theme.css +103 -91
- package/dist/primereact/resources/themes/bootstrap4-dark-blue/theme.css +103 -91
- package/dist/primereact/resources/themes/bootstrap4-dark-purple/theme.css +103 -91
- package/dist/primereact/resources/themes/bootstrap4-light-blue/theme.css +102 -90
- package/dist/primereact/resources/themes/bootstrap4-light-purple/theme.css +102 -90
- package/dist/primereact/resources/themes/fluent-light/theme.css +103 -91
- package/dist/primereact/resources/themes/lara-dark-amber/fonts/Inter-italic.var.woff2 +0 -0
- package/dist/primereact/resources/themes/lara-dark-amber/fonts/Inter-roman.var.woff2 +0 -0
- package/dist/primereact/resources/themes/lara-dark-amber/theme.css +6049 -0
- package/dist/primereact/resources/themes/lara-dark-blue/theme.css +1006 -955
- package/dist/primereact/resources/themes/lara-dark-cyan/fonts/Inter-italic.var.woff2 +0 -0
- package/dist/primereact/resources/themes/lara-dark-cyan/fonts/Inter-roman.var.woff2 +0 -0
- package/dist/primereact/resources/themes/lara-dark-cyan/theme.css +6049 -0
- package/dist/primereact/resources/themes/lara-dark-green/fonts/Inter-italic.var.woff2 +0 -0
- package/dist/primereact/resources/themes/lara-dark-green/fonts/Inter-roman.var.woff2 +0 -0
- package/dist/primereact/resources/themes/lara-dark-green/theme.css +6049 -0
- package/dist/primereact/resources/themes/lara-dark-indigo/theme.css +1006 -955
- package/dist/primereact/resources/themes/lara-dark-pink/fonts/Inter-italic.var.woff2 +0 -0
- package/dist/primereact/resources/themes/lara-dark-pink/fonts/Inter-roman.var.woff2 +0 -0
- package/dist/primereact/resources/themes/lara-dark-pink/theme.css +6049 -0
- package/dist/primereact/resources/themes/lara-dark-purple/theme.css +1006 -955
- package/dist/primereact/resources/themes/lara-dark-teal/theme.css +1006 -955
- package/dist/primereact/resources/themes/lara-light-amber/fonts/Inter-italic.var.woff2 +0 -0
- package/dist/primereact/resources/themes/lara-light-amber/fonts/Inter-roman.var.woff2 +0 -0
- package/dist/primereact/resources/themes/lara-light-amber/theme.css +6041 -0
- package/dist/primereact/resources/themes/lara-light-blue/theme.css +842 -799
- package/dist/primereact/resources/themes/lara-light-cyan/fonts/Inter-italic.var.woff2 +0 -0
- package/dist/primereact/resources/themes/lara-light-cyan/fonts/Inter-roman.var.woff2 +0 -0
- package/dist/primereact/resources/themes/lara-light-cyan/theme.css +6041 -0
- package/dist/primereact/resources/themes/lara-light-green/fonts/Inter-italic.var.woff2 +0 -0
- package/dist/primereact/resources/themes/lara-light-green/fonts/Inter-roman.var.woff2 +0 -0
- package/dist/primereact/resources/themes/lara-light-green/theme.css +6041 -0
- package/dist/primereact/resources/themes/lara-light-indigo/theme.css +842 -799
- package/dist/primereact/resources/themes/lara-light-pink/fonts/Inter-italic.var.woff2 +0 -0
- package/dist/primereact/resources/themes/lara-light-pink/fonts/Inter-roman.var.woff2 +0 -0
- package/dist/primereact/resources/themes/lara-light-pink/theme.css +6041 -0
- package/dist/primereact/resources/themes/lara-light-purple/theme.css +842 -799
- package/dist/primereact/resources/themes/lara-light-teal/theme.css +1115 -1072
- package/dist/primereact/resources/themes/luna-amber/theme.css +103 -91
- package/dist/primereact/resources/themes/luna-blue/theme.css +103 -91
- package/dist/primereact/resources/themes/luna-green/theme.css +103 -91
- package/dist/primereact/resources/themes/luna-pink/theme.css +103 -91
- package/dist/primereact/resources/themes/md-dark-deeppurple/theme.css +147 -135
- package/dist/primereact/resources/themes/md-dark-indigo/theme.css +147 -135
- package/dist/primereact/resources/themes/md-light-deeppurple/theme.css +147 -135
- package/dist/primereact/resources/themes/md-light-indigo/theme.css +147 -135
- package/dist/primereact/resources/themes/mdc-dark-deeppurple/theme.css +147 -135
- package/dist/primereact/resources/themes/mdc-dark-indigo/theme.css +147 -135
- package/dist/primereact/resources/themes/mdc-light-deeppurple/theme.css +147 -135
- package/dist/primereact/resources/themes/mdc-light-indigo/theme.css +147 -135
- package/dist/primereact/resources/themes/mira/theme.css +108 -91
- package/dist/primereact/resources/themes/nano/theme.css +107 -91
- package/dist/primereact/resources/themes/nova/theme.css +103 -91
- package/dist/primereact/resources/themes/nova-accent/theme.css +103 -91
- package/dist/primereact/resources/themes/nova-alt/theme.css +103 -91
- package/dist/primereact/resources/themes/rhea/theme.css +103 -91
- package/dist/primereact/resources/themes/saga-blue/theme.css +103 -91
- package/dist/primereact/resources/themes/saga-green/theme.css +103 -91
- package/dist/primereact/resources/themes/saga-orange/theme.css +103 -91
- package/dist/primereact/resources/themes/saga-purple/theme.css +103 -91
- package/dist/primereact/resources/themes/soho-dark/theme.css +108 -91
- package/dist/primereact/resources/themes/soho-light/theme.css +108 -91
- package/dist/primereact/resources/themes/vela-blue/theme.css +103 -91
- package/dist/primereact/resources/themes/vela-green/theme.css +103 -91
- package/dist/primereact/resources/themes/vela-orange/theme.css +103 -91
- package/dist/primereact/resources/themes/vela-purple/theme.css +103 -91
- package/dist/primereact/resources/themes/viva-dark/theme.css +103 -91
- package/dist/primereact/resources/themes/viva-light/theme.css +103 -91
- package/package.json +29 -16
- package/tailwind.config.js +9 -2
- package/types/client-components/ClientLink.d.ts +6 -0
- package/types/client-components/MultiComponentEditor.d.ts +10 -0
- package/types/client-components/index.d.ts +2 -0
- package/types/components/Picture.d.ts +1 -0
- package/types/components/Placeholder.d.ts +16 -2
- package/types/components/RichTextEditor.d.ts +55 -55
- package/types/components/TextEditor.d.ts +54 -54
- package/types/editor/AiPopup.d.ts +10 -0
- package/types/editor/AiTerminal.d.ts +4 -3
- package/types/editor/ComponentPalette.d.ts +3 -4
- package/types/editor/ComponentTree.d.ts +1 -1
- package/types/editor/ConfirmationDialog.d.ts +19 -0
- package/types/editor/ContentTree.d.ts +7 -3
- package/types/editor/Debug.d.ts +1 -1
- package/types/editor/DialogButtons.d.ts +4 -0
- package/types/editor/DictionaryEditor.d.ts +3 -2
- package/types/editor/EditFrame.d.ts +4 -3
- package/types/editor/EditorClient.d.ts +4 -4
- package/types/editor/EditorClientHost.d.ts +4 -3
- package/types/editor/FieldListField.d.ts +4 -0
- package/types/editor/FloatingToolbar.d.ts +7 -0
- package/types/editor/ItemEditor.d.ts +4 -0
- package/types/editor/ItemInfo.d.ts +4 -0
- package/types/editor/ItemNameDialog.d.ts +10 -0
- package/types/editor/LinkEditorDialog.d.ts +15 -0
- package/types/editor/MainLayout.d.ts +6 -0
- package/types/editor/MediaSelector.d.ts +2 -1
- package/types/editor/PictureEditorDialog.d.ts +6 -0
- package/types/editor/SidebarTabs.d.ts +8 -0
- package/types/editor/Terminal.d.ts +3 -1
- package/types/editor/Utils.d.ts +3 -0
- package/types/editor/Workbox.d.ts +6 -0
- package/types/editor/componentCommands.d.ts +4 -0
- package/types/editor/contentService.d.ts +7 -1
- package/types/editor/editContext.d.ts +90 -19
- package/types/editor/editService.d.ts +9 -1
- package/types/editor/fieldTypes/CheckboxEditor.d.ts +4 -0
- package/types/editor/fieldTypes/InternalLinkFieldEditor.d.ts +4 -0
- package/types/editor/fieldTypes/LinkFieldEditor.d.ts +4 -0
- package/types/editor/fieldTypes/MultiLineText.d.ts +4 -0
- package/types/editor/fieldTypes/PictureFieldEditor.d.ts +4 -0
- package/types/editor/fieldTypes/TreeListEditor.d.ts +4 -0
- package/types/editor/ui/Section.d.ts +5 -0
- package/types/fieldTypes.d.ts +32 -17
- package/types/layoutData.d.ts +34 -9
- package/types/loadRouteData.d.ts +34 -5
- package/types/mediaProtection.d.ts +1 -0
- package/types/middleware/authorization.d.ts +2 -0
- package/types/middleware/index.d.ts +1 -0
- package/dist/cjs/editor/PageInfo.js +0 -12
- package/dist/esm/alpacaContext.js +0 -8
- package/dist/esm/components/Error.js +0 -10
- package/dist/esm/components/Image.js +0 -32
- package/dist/esm/components/Link.js +0 -29
- package/dist/esm/components/LinkEditor.js +0 -19
- package/dist/esm/components/Picture.js +0 -118
- package/dist/esm/components/PictureEditor.js +0 -41
- package/dist/esm/components/Placeholder.js +0 -69
- package/dist/esm/components/RichText.js +0 -40
- package/dist/esm/components/RichTextEditor.js +0 -52
- package/dist/esm/components/Slot.js +0 -5
- package/dist/esm/components/Text.js +0 -39
- package/dist/esm/components/TextEditor.js +0 -38
- package/dist/esm/components/Translate.js +0 -10
- package/dist/esm/components/index.js +0 -7
- package/dist/esm/editor/AiTerminal.js +0 -157
- package/dist/esm/editor/ComponentInfo.js +0 -10
- package/dist/esm/editor/ComponentPalette.js +0 -72
- package/dist/esm/editor/ComponentTree.js +0 -196
- package/dist/esm/editor/ContentTree.js +0 -117
- package/dist/esm/editor/Debug.js +0 -9
- package/dist/esm/editor/DictionaryEditor.js +0 -31
- package/dist/esm/editor/EditFrame.js +0 -57
- package/dist/esm/editor/EditHistory.js +0 -26
- package/dist/esm/editor/Editor.js +0 -23
- package/dist/esm/editor/EditorClient.js +0 -477
- package/dist/esm/editor/EditorClientHost.js +0 -7
- package/dist/esm/editor/FieldList.js +0 -60
- package/dist/esm/editor/GraphQL.js +0 -82
- package/dist/esm/editor/LanguageSelector.js +0 -17
- package/dist/esm/editor/MediaSelector.js +0 -54
- package/dist/esm/editor/PageInfo.js +0 -8
- package/dist/esm/editor/PlaceholderDropZone.js +0 -50
- package/dist/esm/editor/PlaceholderDropZoneHost.js +0 -7
- package/dist/esm/editor/Terminal.js +0 -47
- package/dist/esm/editor/TranslateEditor.js +0 -21
- package/dist/esm/editor/VersionSelector.js +0 -17
- package/dist/esm/editor/componentTreeHelper.js +0 -14
- package/dist/esm/editor/contentService.js +0 -31
- package/dist/esm/editor/editContext.js +0 -5
- package/dist/esm/editor/editService.js +0 -139
- package/dist/esm/editor/fieldTypes/RichTextEditor.js +0 -15
- package/dist/esm/editor/fieldTypes/SingleLineText.js +0 -13
- package/dist/esm/editor/index.js +0 -2
- package/dist/esm/fieldTypes.js +0 -1
- package/dist/esm/graphQLTypes.js +0 -1
- package/dist/esm/index.js +0 -7
- package/dist/esm/layoutData.js +0 -1
- package/dist/esm/loadRouteData.js +0 -123
- package/dist/esm/mediaProtection.js +0 -49
- package/types/editor/PageInfo.d.ts +0 -4
- /package/types/{editor → components}/TranslateEditor.d.ts +0 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export interface ItemNameDialogHandle {
|
|
3
|
+
show: (props: ItemNameDialogProps) => void;
|
|
4
|
+
}
|
|
5
|
+
export type ItemNameDialogProps = {
|
|
6
|
+
name?: string;
|
|
7
|
+
accept: (name: string) => void;
|
|
8
|
+
};
|
|
9
|
+
declare const ItemNameDialog: import("react").ForwardRefExoticComponent<import("react").RefAttributes<ItemNameDialogHandle>>;
|
|
10
|
+
export default ItemNameDialog;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type Link = {
|
|
2
|
+
url?: string;
|
|
3
|
+
itemId?: string;
|
|
4
|
+
queryString?: string;
|
|
5
|
+
target?: string;
|
|
6
|
+
customTarget?: string;
|
|
7
|
+
type: string;
|
|
8
|
+
targetItemLongId?: string;
|
|
9
|
+
targetItemName?: string;
|
|
10
|
+
};
|
|
11
|
+
export declare function LinkEditorDialog({ linkValue, onCancel, onOk, }: {
|
|
12
|
+
linkValue: Link;
|
|
13
|
+
onOk: (link: Link) => void;
|
|
14
|
+
onCancel: () => void;
|
|
15
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export declare const MediaSelector: ({ visible, onHide, onMediaSelected, }: {
|
|
1
|
+
export declare const MediaSelector: ({ visible, onHide, onMediaSelected, selectedIdPath, }: {
|
|
2
2
|
visible: boolean;
|
|
3
3
|
onHide: () => void;
|
|
4
4
|
onMediaSelected: (mediaId: string) => void;
|
|
5
|
+
selectedIdPath?: string | undefined;
|
|
5
6
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ComponentData, EditableDictionary, Page } from "..";
|
|
2
|
+
import { Item } from "..";
|
|
3
|
+
export default function SidebarTabs({ selectedComponent, page, dictionary, item, }: {
|
|
4
|
+
selectedComponent: ComponentData | null;
|
|
5
|
+
page: Page | null;
|
|
6
|
+
dictionary: EditableDictionary;
|
|
7
|
+
item?: Item;
|
|
8
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare function Terminal({ commandHandler, onReset, toolbar, }: {
|
|
2
3
|
commandHandler: (text: string, callback: (text: string, finished: boolean) => void) => void;
|
|
3
4
|
onReset: () => void;
|
|
5
|
+
toolbar?: React.ReactNode;
|
|
4
6
|
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ItemDescriptor, Workbox } from "..";
|
|
2
|
+
export default function Workbox({ workbox, lockItem, executeWorkflowCommand, }: {
|
|
3
|
+
workbox: Workbox;
|
|
4
|
+
lockItem: (item: ItemDescriptor) => void;
|
|
5
|
+
executeWorkflowCommand: (item: ItemDescriptor, commandId: string) => void;
|
|
6
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { EditContextType } from "./editContext";
|
|
2
|
+
import { ComponentCommand, ComponentData, PlaceholderData } from "..";
|
|
3
|
+
export declare function getCommands(entities: (PlaceholderData | ComponentData)[], editContext: EditContextType): ComponentCommand[];
|
|
4
|
+
export declare function getComponentCommands(components: ComponentData[], editContext: EditContextType): ComponentCommand[];
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { ItemDescriptor } from ".";
|
|
2
|
+
import { Item } from "..";
|
|
1
3
|
export type ItemTreeNodeData = {
|
|
2
4
|
id: string;
|
|
3
5
|
name: string;
|
|
@@ -10,5 +12,9 @@ export type ItemTreeNodeData = {
|
|
|
10
12
|
resolution?: string;
|
|
11
13
|
format?: string;
|
|
12
14
|
created?: Date;
|
|
15
|
+
language: string;
|
|
16
|
+
version: number;
|
|
17
|
+
hasLayout: boolean;
|
|
13
18
|
};
|
|
14
|
-
export declare function getChildren(itemId: string, sessionId: string, templateIds
|
|
19
|
+
export declare function getChildren(itemId: string, sessionId: string, templateIds: string[] | undefined, includeEmbeddedItems: boolean): Promise<ItemTreeNodeData[]>;
|
|
20
|
+
export declare function getItem(page: ItemDescriptor, item: ItemDescriptor, sessionId: string): Promise<Item | undefined>;
|
|
@@ -1,16 +1,34 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { ToastMessage } from "primereact/toast";
|
|
3
|
-
import { ComponentData,
|
|
3
|
+
import { ComponentData, EditableDictionary, Field } from "../layoutData";
|
|
4
|
+
import { Page, PictureRawValue, PictureValue } from "..";
|
|
4
5
|
export type DragObject = {
|
|
5
6
|
type: "template" | "component" | "link-component";
|
|
6
7
|
templateId: string;
|
|
7
|
-
|
|
8
|
+
component?: ItemDescriptor;
|
|
9
|
+
};
|
|
10
|
+
export type CommandVisibilityScope = "editFrame" | "menu";
|
|
11
|
+
export type ComponentCommand = {
|
|
12
|
+
name: string;
|
|
13
|
+
label: string;
|
|
14
|
+
icon: string;
|
|
15
|
+
execute: () => void;
|
|
16
|
+
disabled: boolean;
|
|
17
|
+
visibilityScopes: CommandVisibilityScope[];
|
|
8
18
|
};
|
|
9
19
|
export type EditContextType = {
|
|
10
|
-
removeComponent: (id: string, callback: (removed: boolean) => void) => void;
|
|
11
20
|
showToast: (message: ToastMessage | ToastMessage[]) => void;
|
|
12
21
|
sessionId: string;
|
|
13
|
-
|
|
22
|
+
getComponentCommands: (component: ComponentData[]) => ComponentCommand[];
|
|
23
|
+
selectMedia: ({ selectedIdPath, }: {
|
|
24
|
+
selectedIdPath: string;
|
|
25
|
+
}) => Promise<string | null>;
|
|
26
|
+
editField: (props: {
|
|
27
|
+
field: Field;
|
|
28
|
+
value?: string;
|
|
29
|
+
rawValue?: string | null;
|
|
30
|
+
refresh?: "none" | "immediate" | "delayed" | "waitForQuietPeriod";
|
|
31
|
+
}) => void;
|
|
14
32
|
currentEditOperation?: EditOperation;
|
|
15
33
|
selection: string[];
|
|
16
34
|
setSelection: React.Dispatch<React.SetStateAction<string[]>>;
|
|
@@ -20,27 +38,49 @@ export type EditContextType = {
|
|
|
20
38
|
dragObject?: DragObject;
|
|
21
39
|
refreshCompletedFlag: boolean;
|
|
22
40
|
updateContentEditingFields: boolean;
|
|
23
|
-
dictionary:
|
|
24
|
-
setDictionary: React.Dispatch<React.SetStateAction<Dictionary>>;
|
|
41
|
+
dictionary: EditableDictionary;
|
|
25
42
|
unresolvedDictionaryKeys: string[];
|
|
26
43
|
setUnresolvedDictionaryKeys: React.Dispatch<React.SetStateAction<string[]>>;
|
|
27
|
-
openComponentPalette: () => void;
|
|
28
44
|
getComponentById: (id: string) => ComponentData | null;
|
|
29
45
|
droppedInPlaceholder: (placeholderKey: string, index: number) => void;
|
|
30
46
|
getLiveField(field: Field): Field;
|
|
47
|
+
getLiveFieldIfExists(field: {
|
|
48
|
+
item: ItemDescriptor;
|
|
49
|
+
id: string;
|
|
50
|
+
}): Field | null;
|
|
31
51
|
requestRefresh: (mode?: "immediate" | "delayed" | "waitForQuietPeriod") => void;
|
|
52
|
+
getPictureFieldValue: (field: Field, rawValue: PictureRawValue) => Promise<PictureValue | null>;
|
|
53
|
+
page: Page | null;
|
|
54
|
+
executeEditOperation: (operation: EditOperation) => void;
|
|
55
|
+
editorContainerRef: React.RefObject<HTMLDivElement>;
|
|
56
|
+
setScrollIntoView: React.Dispatch<React.SetStateAction<string | undefined>>;
|
|
57
|
+
scrollIntoView?: string;
|
|
58
|
+
focusedField?: Field;
|
|
59
|
+
setFocusedField: React.Dispatch<React.SetStateAction<Field | undefined>>;
|
|
60
|
+
zoom: number;
|
|
61
|
+
scroll: number;
|
|
62
|
+
fullscreen: boolean;
|
|
63
|
+
undo: (numOperations?: number) => void;
|
|
64
|
+
};
|
|
65
|
+
export type ItemDescriptor = {
|
|
66
|
+
id: string;
|
|
67
|
+
language: string;
|
|
68
|
+
version: number;
|
|
69
|
+
name?: string;
|
|
70
|
+
};
|
|
71
|
+
export type User = {
|
|
72
|
+
name: string;
|
|
32
73
|
};
|
|
33
74
|
export type EditOperation = {
|
|
34
|
-
type: "edit-field" | "remove-component" | "move-component" | "add-component" | "link-component";
|
|
75
|
+
type: "edit-field" | "remove-component" | "move-component" | "add-component" | "synchronize-components" | "link-component";
|
|
35
76
|
date: Date;
|
|
36
77
|
noRefresh?: boolean;
|
|
37
78
|
refreshAfterQuietPeriod?: boolean;
|
|
38
|
-
|
|
39
|
-
pageItemLanguage: string;
|
|
40
|
-
pageItemVersion: number;
|
|
79
|
+
pageItem: ItemDescriptor;
|
|
41
80
|
id: string;
|
|
42
|
-
user?:
|
|
81
|
+
user?: User;
|
|
43
82
|
undone?: boolean;
|
|
83
|
+
isCommitted?: boolean;
|
|
44
84
|
};
|
|
45
85
|
export type EditFieldOperation = EditOperation & {
|
|
46
86
|
type: "edit-field";
|
|
@@ -56,28 +96,59 @@ export type AddComponentOperation = EditOperation & {
|
|
|
56
96
|
type: "add-component";
|
|
57
97
|
templateId: string;
|
|
58
98
|
language: string;
|
|
59
|
-
|
|
99
|
+
parent: ItemDescriptor;
|
|
60
100
|
placeholderName: string;
|
|
61
101
|
placeholderIndex: number;
|
|
62
|
-
|
|
63
|
-
componentId: string;
|
|
102
|
+
component: ItemDescriptor;
|
|
64
103
|
};
|
|
65
104
|
export type LinkComponentOperation = EditOperation & {
|
|
66
105
|
type: "link-component";
|
|
67
106
|
itemName?: string;
|
|
107
|
+
linkedComponentItem: ItemDescriptor;
|
|
68
108
|
};
|
|
69
109
|
export type MoveComponentOperation = EditOperation & {
|
|
70
110
|
type: "move-component";
|
|
71
111
|
language: string;
|
|
72
|
-
|
|
112
|
+
parent: ItemDescriptor;
|
|
73
113
|
placeholderName: string;
|
|
74
114
|
placeholderIndex: number;
|
|
75
|
-
|
|
115
|
+
component: ItemDescriptor;
|
|
76
116
|
};
|
|
77
117
|
export type RemoveComponentOperation = EditOperation & {
|
|
78
118
|
type: "remove-component";
|
|
79
|
-
|
|
80
|
-
|
|
119
|
+
components: ItemDescriptor[];
|
|
120
|
+
};
|
|
121
|
+
export type SynchronizeComponentsOperation = EditOperation & {
|
|
122
|
+
type: "synchronize-components";
|
|
123
|
+
placeholders: PlaceholderToSynchronize[];
|
|
124
|
+
delete: boolean;
|
|
125
|
+
itemsCreated?: ItemDescriptor[];
|
|
126
|
+
};
|
|
127
|
+
export type PlaceholderToSynchronize = {
|
|
128
|
+
name?: string;
|
|
129
|
+
item?: ItemDescriptor | null;
|
|
81
130
|
};
|
|
82
131
|
export declare const EditContextProvider: React.Provider<EditContextType | undefined>;
|
|
83
132
|
export declare const useEditContext: () => EditContextType | undefined;
|
|
133
|
+
export type EditFrameButton = {
|
|
134
|
+
icon: string;
|
|
135
|
+
onClick: () => void;
|
|
136
|
+
tooltip: string;
|
|
137
|
+
};
|
|
138
|
+
export type EditFrameContextType = {
|
|
139
|
+
customButtons: EditFrameButton[];
|
|
140
|
+
setCustomButtons: React.Dispatch<React.SetStateAction<EditFrameButton[]>>;
|
|
141
|
+
componentId: string;
|
|
142
|
+
isSelected: boolean;
|
|
143
|
+
};
|
|
144
|
+
export declare const useEditFrameContext: () => EditFrameContextType | undefined;
|
|
145
|
+
export declare const EditFrameContextProvider: React.Provider<EditFrameContextType | undefined>;
|
|
146
|
+
export type FilterChildFunction = ({ component, index, }: {
|
|
147
|
+
component: ComponentData;
|
|
148
|
+
index: number;
|
|
149
|
+
}) => boolean;
|
|
150
|
+
export type EditFilterChildrenContextType = {
|
|
151
|
+
filterChildCallback?: FilterChildFunction;
|
|
152
|
+
};
|
|
153
|
+
export declare const useEditFilterChildrenContext: () => EditFilterChildrenContextType | undefined;
|
|
154
|
+
export declare const EditFilterChildrenContextProvider: React.Provider<EditFilterChildrenContextType | undefined>;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { EditOperation } from "./editContext";
|
|
2
|
+
import { Field, ItemDescriptor, PictureRawValue } from "..";
|
|
3
|
+
import { ItemTreeNodeData } from "./contentService";
|
|
2
4
|
export declare let currentOperation: EditOperation | undefined;
|
|
3
5
|
export declare function setCurrentOperation(operation: EditOperation): void;
|
|
4
6
|
export type ExecutionResult = {
|
|
@@ -6,7 +8,13 @@ export type ExecutionResult = {
|
|
|
6
8
|
summary?: string;
|
|
7
9
|
details?: string;
|
|
8
10
|
};
|
|
11
|
+
export declare function getPictureValue(field: Field, pictureRawValue: PictureRawValue, site: string, sessionId: string): Promise<any>;
|
|
9
12
|
export declare function executeEditOperation(editOperation: EditOperation, sessionId: string): Promise<EditOperation | ExecutionResult>;
|
|
10
|
-
export declare function executeUndo(sessionId: string): Promise<ExecutionResult>;
|
|
13
|
+
export declare function executeUndo(sessionId: string, numOperations?: number): Promise<ExecutionResult>;
|
|
14
|
+
export declare function lockItem(item: ItemDescriptor): Promise<ExecutionResult>;
|
|
15
|
+
export declare function executeWorkflowCommand(item: ItemDescriptor, commandId: string, comment: string): Promise<ExecutionResult>;
|
|
11
16
|
export declare function executeRedo(sessionId: string): Promise<ExecutionResult>;
|
|
12
17
|
export declare function commitChanges(sessionId: string): Promise<ExecutionResult>;
|
|
18
|
+
export declare function createVersion(page: ItemDescriptor, sessionId: string): Promise<ExecutionResult>;
|
|
19
|
+
export declare function loadInsertOptions(item: ItemDescriptor): Promise<ItemTreeNodeData[]>;
|
|
20
|
+
export declare function createItem(parent: ItemDescriptor, templateId: string, name: string): Promise<ExecutionResult>;
|
package/types/fieldTypes.d.ts
CHANGED
|
@@ -8,6 +8,9 @@ export type PictureField = Field & {
|
|
|
8
8
|
export type LinkField = Field & {
|
|
9
9
|
value: LinkValue;
|
|
10
10
|
};
|
|
11
|
+
export type InternalLinkField = Field & {
|
|
12
|
+
value: LinkValue;
|
|
13
|
+
};
|
|
11
14
|
export type PictureValue = {
|
|
12
15
|
name: string;
|
|
13
16
|
alt: string;
|
|
@@ -17,10 +20,18 @@ export type PictureValue = {
|
|
|
17
20
|
export type PictureVariant = {
|
|
18
21
|
name: string;
|
|
19
22
|
src: string;
|
|
20
|
-
videoUrl
|
|
23
|
+
videoUrl?: string;
|
|
21
24
|
width: number;
|
|
22
|
-
mediaId: string;
|
|
23
25
|
aspectRatioText?: string;
|
|
26
|
+
thumbSrc?: string;
|
|
27
|
+
idPath?: string;
|
|
28
|
+
};
|
|
29
|
+
export type PictureRawValue = {
|
|
30
|
+
variants: PictureRawVariant[];
|
|
31
|
+
};
|
|
32
|
+
export type PictureRawVariant = {
|
|
33
|
+
name: string;
|
|
34
|
+
mediaId: string;
|
|
24
35
|
};
|
|
25
36
|
export type ImageField = Field & {
|
|
26
37
|
value: ImageValue | null;
|
|
@@ -31,6 +42,11 @@ export type ImageValue = {
|
|
|
31
42
|
};
|
|
32
43
|
export type LinkValue = {
|
|
33
44
|
url: string;
|
|
45
|
+
type: "internal" | "external";
|
|
46
|
+
target: string;
|
|
47
|
+
targetItemLongId: string;
|
|
48
|
+
targetItemName: string;
|
|
49
|
+
queryString: string;
|
|
34
50
|
};
|
|
35
51
|
export interface KeyValuePair {
|
|
36
52
|
key: string;
|
|
@@ -39,27 +55,26 @@ export interface KeyValuePair {
|
|
|
39
55
|
export type EnhancedNameValueListField = {
|
|
40
56
|
value: KeyValuePair[];
|
|
41
57
|
};
|
|
42
|
-
export
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
export
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
value: EnhancedTreeListFieldItem[];
|
|
58
|
+
export type ReferencedItem = {
|
|
59
|
+
id: string;
|
|
60
|
+
name: string;
|
|
61
|
+
path: string;
|
|
62
|
+
};
|
|
63
|
+
export type TreeListField = Field & {
|
|
64
|
+
value: ReferencedItem[];
|
|
65
|
+
customEditorProperties: {
|
|
66
|
+
datasources: string[];
|
|
67
|
+
};
|
|
53
68
|
};
|
|
54
|
-
export type CheckboxField = {
|
|
69
|
+
export type CheckboxField = Field & {
|
|
55
70
|
value: boolean;
|
|
56
71
|
};
|
|
57
|
-
export type DateField = {
|
|
72
|
+
export type DateField = Field & {
|
|
58
73
|
value: DateFieldValue;
|
|
59
74
|
};
|
|
60
|
-
export type DateFieldValue = {
|
|
75
|
+
export type DateFieldValue = Field & {
|
|
61
76
|
date: string;
|
|
62
77
|
};
|
|
63
|
-
export type NumberField = {
|
|
78
|
+
export type NumberField = Field & {
|
|
64
79
|
value: number;
|
|
65
80
|
};
|
package/types/layoutData.d.ts
CHANGED
|
@@ -1,22 +1,29 @@
|
|
|
1
|
+
import { ItemDescriptor } from "./editor";
|
|
2
|
+
import { TextField } from "./fieldTypes";
|
|
3
|
+
export type InsertOption = {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
icon: string;
|
|
7
|
+
isComponent: boolean;
|
|
8
|
+
isHidden: any;
|
|
9
|
+
compatibleTemplates?: string[];
|
|
10
|
+
};
|
|
1
11
|
export type PlaceholderData = {
|
|
2
12
|
name: string;
|
|
3
13
|
key: string;
|
|
4
14
|
components: ComponentData[];
|
|
5
|
-
insertOptions?:
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
icon: string;
|
|
9
|
-
}[];
|
|
15
|
+
insertOptions?: InsertOption[];
|
|
16
|
+
canSynchronize?: boolean;
|
|
17
|
+
parentComponent?: ComponentData;
|
|
10
18
|
};
|
|
11
19
|
export type Field = {
|
|
12
20
|
id: string;
|
|
13
21
|
name: string;
|
|
14
|
-
|
|
15
|
-
language: string;
|
|
16
|
-
version: number;
|
|
22
|
+
item?: ItemDescriptor;
|
|
17
23
|
path: string;
|
|
18
24
|
type: string;
|
|
19
|
-
|
|
25
|
+
isFallback?: boolean;
|
|
26
|
+
isStandardValue?: boolean;
|
|
20
27
|
value: unknown;
|
|
21
28
|
rawValue?: string;
|
|
22
29
|
jsonValue?: Field;
|
|
@@ -27,10 +34,18 @@ export type Field = {
|
|
|
27
34
|
displayName?: string;
|
|
28
35
|
sortOrder?: number;
|
|
29
36
|
sectionSortOrder?: number;
|
|
37
|
+
customEditorProperties?: any;
|
|
38
|
+
canWrite?: boolean;
|
|
39
|
+
hasLock?: boolean;
|
|
40
|
+
canLock?: boolean;
|
|
41
|
+
lockedBy?: string;
|
|
30
42
|
};
|
|
31
43
|
export interface Fields {
|
|
32
44
|
[name: string]: Field;
|
|
33
45
|
}
|
|
46
|
+
export type Message = {
|
|
47
|
+
text: string;
|
|
48
|
+
};
|
|
34
49
|
export type ComponentData = {
|
|
35
50
|
name: string;
|
|
36
51
|
id: string;
|
|
@@ -51,10 +66,17 @@ export type ComponentData = {
|
|
|
51
66
|
editUrl: string;
|
|
52
67
|
};
|
|
53
68
|
linkedComponentItem: {
|
|
69
|
+
id: string;
|
|
54
70
|
language: string;
|
|
55
71
|
version: number;
|
|
56
72
|
path: string;
|
|
57
73
|
};
|
|
74
|
+
isRemoved?: boolean;
|
|
75
|
+
canSynchronize?: boolean;
|
|
76
|
+
isInheritedFromMasterLanguage?: boolean;
|
|
77
|
+
isRemovedFromMasterLanguage?: boolean;
|
|
78
|
+
visible?: boolean;
|
|
79
|
+
messages?: Message[];
|
|
58
80
|
};
|
|
59
81
|
export type LanguageVersions = {
|
|
60
82
|
languageCode: string;
|
|
@@ -65,3 +87,6 @@ export type LanguageVersions = {
|
|
|
65
87
|
export type Dictionary = {
|
|
66
88
|
[key: string]: string;
|
|
67
89
|
};
|
|
90
|
+
export type EditableDictionary = {
|
|
91
|
+
[key: string]: TextField;
|
|
92
|
+
};
|
package/types/loadRouteData.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Fields, PlaceholderData } from "./layoutData";
|
|
2
|
+
import { ItemDescriptor } from "./editor";
|
|
2
3
|
type Response = {
|
|
3
4
|
type: "page" | "redirect" | "error" | "notfound";
|
|
4
5
|
};
|
|
@@ -16,7 +17,19 @@ export type Version = {
|
|
|
16
17
|
updated: Date;
|
|
17
18
|
updatedBy: string;
|
|
18
19
|
};
|
|
19
|
-
export type
|
|
20
|
+
export type Item = {
|
|
21
|
+
id: string;
|
|
22
|
+
language: string;
|
|
23
|
+
version: number;
|
|
24
|
+
name: string;
|
|
25
|
+
fields: any;
|
|
26
|
+
translations?: string[];
|
|
27
|
+
masterLanguages?: string[];
|
|
28
|
+
path: string;
|
|
29
|
+
templateId: string;
|
|
30
|
+
templateName: string;
|
|
31
|
+
};
|
|
32
|
+
export type Page = Response & Item & {
|
|
20
33
|
type: "page";
|
|
21
34
|
editing?: boolean;
|
|
22
35
|
placeholders: PlaceholderData[];
|
|
@@ -24,10 +37,8 @@ export type Page = Response & {
|
|
|
24
37
|
version: number;
|
|
25
38
|
languages: Language[];
|
|
26
39
|
versions: Version[];
|
|
27
|
-
id: string;
|
|
28
|
-
name: string;
|
|
29
|
-
path: string;
|
|
30
40
|
idPath: string;
|
|
41
|
+
previewUrl: string;
|
|
31
42
|
meta: {
|
|
32
43
|
title: string;
|
|
33
44
|
description: string;
|
|
@@ -41,7 +52,25 @@ export type Page = Response & {
|
|
|
41
52
|
"og:image": string;
|
|
42
53
|
};
|
|
43
54
|
fields: Fields;
|
|
44
|
-
|
|
55
|
+
workbox: Workbox;
|
|
56
|
+
};
|
|
57
|
+
export type WorkboxItem = {
|
|
58
|
+
item: ItemDescriptor;
|
|
59
|
+
lockedBy: string;
|
|
60
|
+
canLock: boolean;
|
|
61
|
+
hasLock: boolean;
|
|
62
|
+
publishStatus: string;
|
|
63
|
+
workflowState: string;
|
|
64
|
+
isFinalState: boolean;
|
|
65
|
+
isPublishable: boolean;
|
|
66
|
+
path: string;
|
|
67
|
+
commands: {
|
|
68
|
+
name: string;
|
|
69
|
+
id: string;
|
|
70
|
+
}[];
|
|
71
|
+
};
|
|
72
|
+
export type Workbox = {
|
|
73
|
+
items: WorkboxItem[];
|
|
45
74
|
};
|
|
46
75
|
export type Redirect = Response & {
|
|
47
76
|
type: "redirect";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./authorization";
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
"use client";
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.PageInfo = void 0;
|
|
5
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
-
function PageInfo({ page }) {
|
|
7
|
-
var _a;
|
|
8
|
-
if (!(page === null || page === void 0 ? void 0 : page.fields))
|
|
9
|
-
return;
|
|
10
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: "a-p-1", children: [(0, jsx_runtime_1.jsx)("h2", { className: "a-text-xl a-font-bold a-my-2", children: page.path }), (0, jsx_runtime_1.jsxs)("div", { className: "a-text-xs", children: ["ID: ", page.id] }), (0, jsx_runtime_1.jsxs)("div", { className: "a-text-xs", children: ["Language: ", page.language] }), (0, jsx_runtime_1.jsxs)("div", { className: "a-text-xs", children: ["Version: ", page.version] }), page.translations && ((0, jsx_runtime_1.jsxs)("div", { className: "a-text-xs", children: ["Languages: ", (_a = page.translations) === null || _a === void 0 ? void 0 : _a.join(", ")] }))] }));
|
|
11
|
-
}
|
|
12
|
-
exports.PageInfo = PageInfo;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
export function ErrorFallback() {
|
|
4
|
-
// Call resetErrorBoundary() to reset the error boundary and retry the render.
|
|
5
|
-
return (_jsx("div", { role: "alert", children: _jsx("p", { children: "Something went wrong." }) }));
|
|
6
|
-
}
|
|
7
|
-
export function ErrorFallbackWithDetails({ error }) {
|
|
8
|
-
// Call resetErrorBoundary() to reset the error boundary and retry the render.
|
|
9
|
-
return (_jsxs("div", { role: "alert", children: [_jsx("p", { children: "Something went wrong:" }), _jsxs("pre", { style: { color: "red" }, children: [error.message, " ", error.stack] })] }));
|
|
10
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
-
var t = {};
|
|
3
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
-
t[p] = s[p];
|
|
5
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
-
t[p[i]] = s[p[i]];
|
|
9
|
-
}
|
|
10
|
-
return t;
|
|
11
|
-
};
|
|
12
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
-
// const addClassName = (otherAttrs: { [key: string]: unknown }): void => {
|
|
14
|
-
// if (otherAttrs.class) {
|
|
15
|
-
// // if any classes are defined properly already
|
|
16
|
-
// if (otherAttrs.className) {
|
|
17
|
-
// let className: string = otherAttrs.className as string;
|
|
18
|
-
// className += ` ${otherAttrs.class}`;
|
|
19
|
-
// otherAttrs.className = className;
|
|
20
|
-
// } else {
|
|
21
|
-
// otherAttrs.className = otherAttrs.class;
|
|
22
|
-
// }
|
|
23
|
-
// delete otherAttrs.class;
|
|
24
|
-
// }
|
|
25
|
-
// };
|
|
26
|
-
export const Image = (_a) => {
|
|
27
|
-
var { field } = _a, otherProps = __rest(_a, ["field"]);
|
|
28
|
-
if (!field)
|
|
29
|
-
return;
|
|
30
|
-
const attrs = Object.assign(Object.assign({}, field.value), otherProps);
|
|
31
|
-
return _jsx("img", Object.assign({}, attrs, { alt: "" }));
|
|
32
|
-
};
|