@alpaca-headless/alpaca-headless-nextjs 1.0.246 → 1.0.253

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.
Files changed (115) hide show
  1. package/dist/editor.css +0 -4
  2. package/dist/esm/Editor.js +13 -0
  3. package/dist/esm/client-components/ClientLink.js +2 -1
  4. package/dist/esm/client-components/MultiComponentEditor.js +1 -1
  5. package/dist/esm/components/Image.js +1 -1
  6. package/dist/esm/components/Link.js +3 -5
  7. package/dist/esm/components/Picture.js +3 -4
  8. package/dist/esm/components/PictureEditor.js +1 -1
  9. package/dist/esm/components/PictureEditorWrapper.js +1 -0
  10. package/dist/esm/components/Placeholder.js +114 -90
  11. package/dist/esm/components/RichText.js +2 -3
  12. package/dist/esm/components/Slot.js +2 -2
  13. package/dist/esm/components/Text.js +2 -3
  14. package/dist/esm/components/Translate.js +4 -7
  15. package/dist/esm/components/TranslateEditorWrapper.js +7 -0
  16. package/dist/esm/editor/ContentTree.js +10 -4
  17. package/dist/esm/editor/DictionaryEditor.js +1 -1
  18. package/dist/esm/editor/EditFrame.js +1 -1
  19. package/dist/esm/editor/EditorClient.js +27 -15
  20. package/dist/esm/editor/EditorClientHost.js +2 -2
  21. package/dist/esm/editor/FieldList.js +2 -2
  22. package/dist/esm/editor/FieldListField.js +13 -64
  23. package/dist/esm/editor/FieldListFieldWithFallbacks.js +79 -0
  24. package/dist/esm/editor/PictureEditorDialog.js +1 -1
  25. package/dist/esm/editor/PlaceholderDropZone.js +1 -1
  26. package/dist/esm/editor/PreviewClient.js +1 -0
  27. package/dist/esm/editor/ai/AiPopup.js +2 -2
  28. package/dist/esm/editor/ai/AiTerminal.js +17 -5
  29. package/dist/esm/editor/ai/EditorAiTerminal.js +5 -0
  30. package/dist/esm/editor/component-designer/ComponentDesigner.js +7 -0
  31. package/dist/esm/editor/component-designer/ComponentDesignerAiTerminal.js +5 -0
  32. package/dist/esm/editor/component-designer/ComponentDesignerMenu.js +39 -0
  33. package/dist/esm/editor/component-designer/ComponentPreview.js +20 -0
  34. package/dist/esm/editor/component-designer/ComponentRenderingEditor.js +38 -0
  35. package/dist/esm/editor/component-designer/ComponentSelectionTree.js +56 -0
  36. package/dist/esm/editor/component-designer/componentDesignerContext.js +22 -0
  37. package/dist/esm/editor/config/config.js +81 -15
  38. package/dist/esm/editor/config/types.js +1 -0
  39. package/dist/esm/editor/fieldTypes/CheckboxEditor.js +1 -1
  40. package/dist/esm/editor/fieldTypes/DropLinkEditor.js +1 -1
  41. package/dist/esm/editor/fieldTypes/MultiLineText.js +1 -1
  42. package/dist/esm/editor/fieldTypes/RawEditor.js +1 -1
  43. package/dist/esm/editor/fieldTypes/RichTextEditorComponent.js +1 -1
  44. package/dist/esm/editor/fieldTypes/SingleLineText.js +2 -4
  45. package/dist/esm/editor/fieldTypes/TreeListEditor.js +1 -1
  46. package/dist/esm/editor/menubar/Menu.js +1 -1
  47. package/dist/esm/editor/services/aiService.js +20 -0
  48. package/dist/esm/editor/services/componentDesignerService.js +23 -0
  49. package/dist/esm/editor/services/contentService.js +2 -4
  50. package/dist/esm/editor/services/editService.js +1 -35
  51. package/dist/esm/editor/services/serviceHelper.js +45 -0
  52. package/dist/esm/editor/sidebar/ComponentPalette.js +1 -1
  53. package/dist/esm/editor/sidebar/MainContentTree.js +3 -3
  54. package/dist/esm/editor/sidebar/Sidebar.js +1 -1
  55. package/dist/esm/editor/sidebar/SidebarView.js +17 -13
  56. package/dist/esm/editor/sidebar/Workbox.js +1 -1
  57. package/dist/esm/editor/{ItemNameDialog.js → ui/ItemNameDialog.js} +3 -2
  58. package/dist/esm/index.js +3 -2
  59. package/dist/esm/loadRouteData.js +1 -22
  60. package/dist/esm/middleware/handleRequest.js +1 -1
  61. package/dist/esm/public.js +10 -0
  62. package/dist/esm/renderContext.js +49 -0
  63. package/dist/esm/renderings.js +87 -0
  64. package/dist/esm/translate.js +7 -0
  65. package/package.json +2 -1
  66. package/types/Editor.d.ts +9 -0
  67. package/types/components/Image.d.ts +2 -0
  68. package/types/components/Link.d.ts +3 -2
  69. package/types/components/LockedFieldIndicator.d.ts +1 -1
  70. package/types/components/Picture.d.ts +2 -1
  71. package/types/components/Placeholder.d.ts +5 -8
  72. package/types/components/RichText.d.ts +3 -1
  73. package/types/components/Slot.d.ts +3 -1
  74. package/types/components/Text.d.ts +3 -1
  75. package/types/components/Translate.d.ts +3 -1
  76. package/types/components/TranslateEditorWrapper.d.ts +3 -0
  77. package/types/editor/ContentTree.d.ts +2 -1
  78. package/types/editor/ContextMenu.d.ts +1 -1
  79. package/types/editor/EditorClient.d.ts +5 -6
  80. package/types/editor/EditorClientHost.d.ts +5 -8
  81. package/types/editor/FieldListField.d.ts +3 -1
  82. package/types/editor/FieldListFieldWithFallbacks.d.ts +8 -0
  83. package/types/editor/PreviewClient.d.ts +1 -0
  84. package/types/editor/ai/EditorAiTerminal.d.ts +4 -0
  85. package/types/editor/component-designer/ComponentDesigner.d.ts +1 -0
  86. package/types/editor/component-designer/ComponentDesignerAiTerminal.d.ts +1 -0
  87. package/types/editor/component-designer/ComponentDesignerMenu.d.ts +1 -0
  88. package/types/editor/component-designer/ComponentPreview.d.ts +1 -0
  89. package/types/editor/component-designer/ComponentRenderingEditor.d.ts +2 -0
  90. package/types/editor/component-designer/ComponentSelectionTree.d.ts +1 -0
  91. package/types/editor/component-designer/componentDesignerContext.d.ts +14 -0
  92. package/types/editor/config/config.d.ts +1 -1
  93. package/types/editor/{Editor.d.ts → config/types.d.ts} +7 -10
  94. package/types/editor/editContext.d.ts +5 -3
  95. package/types/editor/services/aiService.d.ts +8 -0
  96. package/types/editor/services/componentDesignerService.d.ts +2 -0
  97. package/types/editor/services/contentService.d.ts +1 -1
  98. package/types/editor/services/editService.d.ts +2 -6
  99. package/types/editor/services/serviceHelper.d.ts +7 -0
  100. package/types/editor/sidebar/MainContentTree.d.ts +2 -2
  101. package/types/editor/sidebar/Sidebar.d.ts +1 -1
  102. package/types/editor/sidebar/SidebarView.d.ts +1 -1
  103. package/types/editor/{ItemNameDialog.d.ts → ui/ItemNameDialog.d.ts} +1 -0
  104. package/types/index.d.ts +4 -2
  105. package/types/loadRouteData.d.ts +1 -0
  106. package/types/public.d.ts +12 -0
  107. package/types/renderContext.d.ts +41 -0
  108. package/types/renderings.d.ts +7 -0
  109. package/types/servertypes.d.ts +2 -0
  110. package/types/translate.d.ts +2 -0
  111. package/dist/esm/alpacaContext.js +0 -16
  112. package/dist/esm/editor/Editor.js +0 -15
  113. package/dist/esm/editor/index.js +0 -4
  114. package/types/alpacaContext.d.ts +0 -31
  115. package/types/editor/index.d.ts +0 -4
@@ -1,11 +1,7 @@
1
1
  import { Field, ItemDescriptor, LinkOption, PictureRawValue, EditOperation, FieldDescriptor } from "../../servertypes";
2
2
  import { ItemTreeNodeData } from "./contentService";
3
- export type ExecutionResult = {
4
- type: "success" | "error" | "unauthenticated";
5
- summary?: string;
6
- details?: string;
7
- response: Response;
8
- };
3
+ import { ExecutionResult } from "./serviceHelper";
4
+ export type { ExecutionResult } from "./serviceHelper";
9
5
  export declare function connectSocket(sessionId: string): WebSocket;
10
6
  export declare function getPictureValue(field: Field, pictureRawValue: PictureRawValue, site: string, sessionId: string): Promise<any>;
11
7
  export declare function executeEditOperation(editOperation: EditOperation, sessionId: string): Promise<EditOperation | ExecutionResult>;
@@ -0,0 +1,7 @@
1
+ export type ExecutionResult = {
2
+ type: "success" | "error" | "unauthenticated";
3
+ summary?: string;
4
+ details?: string;
5
+ response: Response;
6
+ };
7
+ export declare function post(url: string, body: any, session?: string): Promise<ExecutionResult>;
@@ -1,3 +1,3 @@
1
- export declare function MainContentTree({ mode }: {
2
- mode?: "insert" | "normal";
1
+ export declare function MainContentTree({ mode, }: {
2
+ mode: "insert" | "normal" | "select-page";
3
3
  }): import("react/jsx-runtime").JSX.Element | null;
@@ -1,4 +1,4 @@
1
- import { EditorView } from "../Editor";
1
+ import { EditorView } from "../config/types";
2
2
  export declare function Sidebar({ views }: {
3
3
  views: EditorView[];
4
4
  }): import("react/jsx-runtime").JSX.Element | null;
@@ -1,5 +1,5 @@
1
1
  import "allotment/dist/style.css";
2
- import { EditorView } from "../Editor";
2
+ import { EditorView } from "../config/types";
3
3
  import { EditContextType } from "../editContext";
4
4
  export declare function SidebarView({ view, editContext, active, }: {
5
5
  view: EditorView;
@@ -4,6 +4,7 @@ export interface ItemNameDialogHandle {
4
4
  }
5
5
  export type ItemNameDialogProps = {
6
6
  name?: string;
7
+ title?: string;
7
8
  accept: (name: string) => void;
8
9
  };
9
10
  declare const ItemNameDialog: import("react").ForwardRefExoticComponent<import("react").RefAttributes<ItemNameDialogHandle>>;
package/types/index.d.ts CHANGED
@@ -1,8 +1,10 @@
1
1
  export * from "./servertypes";
2
2
  export * from "./loadRouteData";
3
3
  export * from "./components";
4
- export * from "./alpacaContext";
5
- export * from "./editor/Editor";
4
+ export * from "./renderContext";
5
+ export * from "./Editor";
6
6
  export * from "./middleware";
7
7
  export * as GraphQLTypes from "./graphQLTypes";
8
8
  export * from "./graphQL";
9
+ export { translate } from "./translate";
10
+ export type { EditorClientBuilderProps } from "./editor/config/types";
@@ -4,4 +4,5 @@ export declare function loadRouteData({ path, searchParams, host, }: {
4
4
  searchParams: any;
5
5
  host: string;
6
6
  }): Promise<Page | Error | Redirect | NotFound | Unauthorized>;
7
+ export declare function loadDictionary(siteName: string, language: string, mode: string, session?: string): Promise<any>;
7
8
  export declare function getApiKey(): string | undefined;
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ import { RichText, Text, Placeholder, Translate } from "./components";
3
+ import { translate } from "./translate";
4
+ declare const _default: {
5
+ Text: typeof Text;
6
+ RichText: typeof RichText;
7
+ Image: import("react").FC<import("./components").ImageProps>;
8
+ Placeholder: typeof Placeholder;
9
+ Translate: typeof Translate;
10
+ translate: typeof translate;
11
+ };
12
+ export default _default;
@@ -0,0 +1,41 @@
1
+ /// <reference types="react" />
2
+ import { Dictionary, NotFound, Unauthorized, Redirect, Error, Page, EditableDictionary, ComponentData } from "./servertypes";
3
+ export type ContextBase = {
4
+ isError?: boolean;
5
+ };
6
+ export type ClientRenderContext = {
7
+ page: Page;
8
+ dictionary: Dictionary | EditableDictionary;
9
+ mode: string;
10
+ isEditing: boolean;
11
+ isPreview: boolean;
12
+ };
13
+ export type RenderContext = ContextBase & ClientRenderContext & {
14
+ isError: false;
15
+ renderings: {
16
+ [key: string]: React.ComponentType<any>;
17
+ };
18
+ };
19
+ export type RenderContextProps = {
20
+ context: RenderContext;
21
+ };
22
+ export type ContextError = ContextBase & {
23
+ isError: true;
24
+ message: string;
25
+ error: Error | Redirect | NotFound | Unauthorized;
26
+ };
27
+ export declare function createRenderContext({ path, searchParams, host, renderings, }: {
28
+ path: string[] | string;
29
+ searchParams: any;
30
+ host: string;
31
+ renderings: {
32
+ [key: string]: React.ComponentType<any>;
33
+ };
34
+ }): Promise<RenderContext | ContextError>;
35
+ export declare function createClientContext(context: RenderContext): ClientRenderContext;
36
+ export type RenderingProps = RenderContextProps & {
37
+ context: RenderContext;
38
+ component: ComponentData;
39
+ index: number;
40
+ count: number;
41
+ };
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ type Rendering = {
3
+ code: string;
4
+ };
5
+ export declare function getRenderingById(id: string): Promise<React.ComponentType<any>>;
6
+ export declare function getRendering(id: string): Promise<Rendering | undefined>;
7
+ export {};
@@ -10,6 +10,7 @@ export type Item = ItemDescriptor & {
10
10
  languages: Language[];
11
11
  versions: Version[];
12
12
  idPath: string;
13
+ parentId: string;
13
14
  masterLanguages?: string[];
14
15
  hasLock: boolean;
15
16
  canLock: boolean;
@@ -72,6 +73,7 @@ export type Message = {
72
73
  };
73
74
  export type ComponentData = Item & {
74
75
  componentType: string;
76
+ renderingId?: string;
75
77
  graphql: any;
76
78
  placeholders: PlaceholderData[];
77
79
  type: "component";
@@ -0,0 +1,2 @@
1
+ import { RenderContext } from "./renderContext";
2
+ export declare function translate(text: string, context: RenderContext): string;
@@ -1,16 +0,0 @@
1
- export function getAlpacaContext() {
2
- let context = globalThis.alpacaContext;
3
- if (!context) {
4
- context = {};
5
- globalThis.alpacaContext = context;
6
- }
7
- return context;
8
- }
9
- /**
10
- * @deprecated The method should not be used
11
- */
12
- export const useAlpacaContext = getAlpacaContext;
13
- export function registerComponents(components) {
14
- const context = useAlpacaContext();
15
- context.components = components;
16
- }
@@ -1,15 +0,0 @@
1
- import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
- import { getAlpacaContext } from "../alpacaContext";
3
- import { EditorClientHost } from "./EditorClientHost";
4
- import { PreviewClientHost } from "./PreviewClientHost";
5
- export function Editor({ children, content, clientBuilder, }) {
6
- const data = content;
7
- if (data.type !== "page")
8
- return;
9
- if (!data._editor && !data.previewing)
10
- return _jsx(_Fragment, { children: children });
11
- var alpacaContext = getAlpacaContext();
12
- if (data.previewing)
13
- return _jsx(PreviewClientHost, { children: children });
14
- return (_jsx(EditorClientHost, { content: data, dictionaryObject: alpacaContext.dictionary, edit: alpacaContext.edit, site: alpacaContext.pageContext.site.name, clientBuilder: clientBuilder, children: children }));
15
- }
@@ -1,4 +0,0 @@
1
- export * from "./Editor";
2
- export * from "./editContext";
3
- export * from "./previewContext";
4
- export * from "./EditorWarning";
@@ -1,31 +0,0 @@
1
- /// <reference types="react" />
2
- import { Dictionary, EditData } from "./servertypes";
3
- type AlpacaContext = {
4
- translate: (key: string) => string;
5
- components: {
6
- [key: string]: React.ComponentType<any>;
7
- };
8
- pageContext: {
9
- itemId: string;
10
- language: string;
11
- database: string;
12
- pageEditing: boolean;
13
- previewing: boolean;
14
- pageState: string;
15
- site: {
16
- name: string;
17
- };
18
- };
19
- fields: unknown;
20
- dictionary: Dictionary;
21
- edit: EditData;
22
- };
23
- export declare function getAlpacaContext(): AlpacaContext;
24
- /**
25
- * @deprecated The method should not be used
26
- */
27
- export declare const useAlpacaContext: typeof getAlpacaContext;
28
- export declare function registerComponents(components: {
29
- [key: string]: React.ComponentType<any>;
30
- }): void;
31
- export {};
@@ -1,4 +0,0 @@
1
- export * from "./Editor";
2
- export * from "./editContext";
3
- export * from "./previewContext";
4
- export * from "./EditorWarning";