@contentful/experiences-core 0.0.1-alpha.10

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 (37) hide show
  1. package/LICENSE +21 -0
  2. package/dist/communication/sendMessage.d.ts +6 -0
  3. package/dist/constants.d.ts +106 -0
  4. package/dist/constants.js +144 -0
  5. package/dist/constants.js.map +1 -0
  6. package/dist/deep-binding/DeepReference.d.ts +28 -0
  7. package/dist/definitions/components.d.ts +8 -0
  8. package/dist/definitions/styles.d.ts +11 -0
  9. package/dist/entity/EditorEntityStore.d.ts +34 -0
  10. package/dist/entity/EditorModeEntityStore.d.ts +29 -0
  11. package/dist/entity/EntityStore.d.ts +68 -0
  12. package/dist/entity/EntityStoreBase.d.ts +49 -0
  13. package/dist/enums.d.ts +6 -0
  14. package/dist/exports.d.ts +3 -0
  15. package/dist/exports.js +2 -0
  16. package/dist/exports.js.map +1 -0
  17. package/dist/fetchers/createExperience.d.ts +20 -0
  18. package/dist/fetchers/fetchById.d.ts +20 -0
  19. package/dist/fetchers/fetchBySlug.d.ts +20 -0
  20. package/dist/index.d.ts +24 -0
  21. package/dist/index.js +2359 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/registries/designTokenRegistry.d.ts +12 -0
  24. package/dist/types.d.ts +244 -0
  25. package/dist/utils/breakpoints.d.ts +12 -0
  26. package/dist/utils/components.d.ts +4 -0
  27. package/dist/utils/domValues.d.ts +15 -0
  28. package/dist/utils/isLink.d.ts +5 -0
  29. package/dist/utils/isLinkToAsset.d.ts +5 -0
  30. package/dist/utils/pathSchema.d.ts +30 -0
  31. package/dist/utils/styleUtils/stylesUtils.d.ts +20 -0
  32. package/dist/utils/supportedModes.d.ts +5 -0
  33. package/dist/utils/transformers/transformBoundContentValue.d.ts +8 -0
  34. package/dist/utils/typeguards.d.ts +6 -0
  35. package/dist/utils/utils.d.ts +46 -0
  36. package/dist/utils/validations.d.ts +15 -0
  37. package/package.json +75 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023 Contentful
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,6 @@
1
+ import { PostMessageMethods } from '../constants.js';
2
+ import { OutgoingEvent } from '../types.js';
3
+
4
+ declare const sendMessage: (eventType: OutgoingEvent | PostMessageMethods, data?: unknown) => void;
5
+
6
+ export { sendMessage };
@@ -0,0 +1,106 @@
1
+ declare const SCROLL_STATES: {
2
+ Start: string;
3
+ IsScrolling: string;
4
+ End: string;
5
+ };
6
+ declare const OUTGOING_EVENTS: {
7
+ Connected: string;
8
+ DesignTokens: string;
9
+ HoveredSection: string;
10
+ MouseMove: string;
11
+ NewHoveredElement: string;
12
+ ComponentSelected: string;
13
+ RegisteredComponents: string;
14
+ RequestComponentTreeUpdate: string;
15
+ ComponentDragCanceled: string;
16
+ ComponentDropped: string;
17
+ ComponentMoved: string;
18
+ CanvasReload: string;
19
+ UpdateSelectedComponentCoordinates: string;
20
+ UpdateHoveredComponentCoordinates: string;
21
+ CanvasScroll: string;
22
+ CanvasError: string;
23
+ ComponentMoveStarted: string;
24
+ ComponentMoveEnded: string;
25
+ OutsideCanvasClick: string;
26
+ };
27
+ declare const INCOMING_EVENTS: {
28
+ RequestEditorMode: string;
29
+ ExperienceUpdated: string;
30
+ ComponentDraggingChanged: string;
31
+ ComponentDragCanceled: string;
32
+ ComponentDragStarted: string;
33
+ ComponentDragEnded: string;
34
+ ComponentMoveEnded: string;
35
+ CanvasResized: string;
36
+ SelectComponent: string;
37
+ HoverComponent: string;
38
+ UpdatedEntity: string;
39
+ AssembliesAdded: string;
40
+ AssembliesRegistered: string;
41
+ InitEditor: string;
42
+ MouseMove: string;
43
+ };
44
+ declare const INTERNAL_EVENTS: {
45
+ ComponentsRegistered: string;
46
+ VisualEditorInitialize: string;
47
+ };
48
+ declare const VISUAL_EDITOR_EVENTS: {
49
+ Ready: string;
50
+ };
51
+ declare const VISUAL_EDITOR_CONTAINER_ID = "cf-visual-editor";
52
+ declare const CONTENTFUL_COMPONENT_CATEGORY = "contentful-component";
53
+ declare const CONTENTFUL_DEFAULT_CATEGORY = "Contentful";
54
+ declare const CONTENTFUL_COMPONENTS: {
55
+ section: {
56
+ id: string;
57
+ name: string;
58
+ };
59
+ container: {
60
+ id: string;
61
+ name: string;
62
+ };
63
+ columns: {
64
+ id: string;
65
+ name: string;
66
+ };
67
+ singleColumn: {
68
+ id: string;
69
+ name: string;
70
+ };
71
+ button: {
72
+ id: string;
73
+ name: string;
74
+ };
75
+ heading: {
76
+ id: string;
77
+ name: string;
78
+ };
79
+ image: {
80
+ id: string;
81
+ name: string;
82
+ };
83
+ richText: {
84
+ id: string;
85
+ name: string;
86
+ };
87
+ text: {
88
+ id: string;
89
+ name: string;
90
+ };
91
+ };
92
+ declare const ASSEMBLY_NODE_TYPE = "assembly";
93
+ declare const ASSEMBLY_DEFAULT_CATEGORY = "Assemblies";
94
+ declare const ASSEMBLY_BLOCK_NODE_TYPE = "assemblyBlock";
95
+ declare const ASSEMBLY_NODE_TYPES: string[];
96
+ declare const LATEST_SCHEMA_VERSION = "2023-09-28";
97
+ declare const CF_STYLE_ATTRIBUTES: string[];
98
+ declare const EMPTY_CONTAINER_HEIGHT = "80px";
99
+ declare const DEFAULT_IMAGE_WIDTH = "500px";
100
+ declare enum PostMessageMethods {
101
+ REQUEST_ENTITIES = "REQUEST_ENTITIES",
102
+ REQUESTED_ENTITIES = "REQUESTED_ENTITIES"
103
+ }
104
+ declare const SUPPORTED_IMAGE_FORMATS: readonly ["jpg", "png", "webp", "gif", "avif"];
105
+
106
+ export { ASSEMBLY_BLOCK_NODE_TYPE, ASSEMBLY_DEFAULT_CATEGORY, ASSEMBLY_NODE_TYPE, ASSEMBLY_NODE_TYPES, CF_STYLE_ATTRIBUTES, CONTENTFUL_COMPONENTS, CONTENTFUL_COMPONENT_CATEGORY, CONTENTFUL_DEFAULT_CATEGORY, DEFAULT_IMAGE_WIDTH, EMPTY_CONTAINER_HEIGHT, INCOMING_EVENTS, INTERNAL_EVENTS, LATEST_SCHEMA_VERSION, OUTGOING_EVENTS, PostMessageMethods, SCROLL_STATES, SUPPORTED_IMAGE_FORMATS, VISUAL_EDITOR_CONTAINER_ID, VISUAL_EDITOR_EVENTS };
@@ -0,0 +1,144 @@
1
+ const SCROLL_STATES = {
2
+ Start: 'scrollStart',
3
+ IsScrolling: 'isScrolling',
4
+ End: 'scrollEnd',
5
+ };
6
+ const OUTGOING_EVENTS = {
7
+ Connected: 'connected',
8
+ DesignTokens: 'registerDesignTokens',
9
+ HoveredSection: 'hoveredSection',
10
+ MouseMove: 'mouseMove',
11
+ NewHoveredElement: 'newHoveredElement',
12
+ ComponentSelected: 'componentSelected',
13
+ RegisteredComponents: 'registeredComponents',
14
+ RequestComponentTreeUpdate: 'requestComponentTreeUpdate',
15
+ ComponentDragCanceled: 'componentDragCanceled',
16
+ ComponentDropped: 'componentDropped',
17
+ ComponentMoved: 'componentMoved',
18
+ CanvasReload: 'canvasReload',
19
+ UpdateSelectedComponentCoordinates: 'updateSelectedComponentCoordinates',
20
+ UpdateHoveredComponentCoordinates: 'updateHoveredComponentCoordinates',
21
+ CanvasScroll: 'canvasScrolling',
22
+ CanvasError: 'canvasError',
23
+ ComponentMoveStarted: 'componentMoveStarted',
24
+ ComponentMoveEnded: 'componentMoveEnded',
25
+ OutsideCanvasClick: 'outsideCanvasClick',
26
+ };
27
+ const INCOMING_EVENTS = {
28
+ RequestEditorMode: 'requestEditorMode',
29
+ ExperienceUpdated: 'componentTreeUpdated',
30
+ ComponentDraggingChanged: 'componentDraggingChanged',
31
+ ComponentDragCanceled: 'componentDragCanceled',
32
+ ComponentDragStarted: 'componentDragStarted',
33
+ ComponentDragEnded: 'componentDragEnded',
34
+ ComponentMoveEnded: 'componentMoveEnded',
35
+ CanvasResized: 'canvasResized',
36
+ SelectComponent: 'selectComponent',
37
+ HoverComponent: 'hoverComponent',
38
+ UpdatedEntity: 'updatedEntity',
39
+ AssembliesAdded: 'assembliesAdded',
40
+ AssembliesRegistered: 'assembliesRegistered',
41
+ InitEditor: 'initEditor',
42
+ MouseMove: 'mouseMove',
43
+ };
44
+ const INTERNAL_EVENTS = {
45
+ ComponentsRegistered: 'cfComponentsRegistered',
46
+ VisualEditorInitialize: 'cfVisualEditorInitialize',
47
+ };
48
+ const VISUAL_EDITOR_EVENTS = {
49
+ Ready: 'cfVisualEditorReady',
50
+ };
51
+ const VISUAL_EDITOR_CONTAINER_ID = 'cf-visual-editor';
52
+ const CONTENTFUL_COMPONENT_CATEGORY = 'contentful-component';
53
+ const CONTENTFUL_DEFAULT_CATEGORY = 'Contentful';
54
+ const CONTENTFUL_COMPONENTS = {
55
+ section: {
56
+ id: 'contentful-section',
57
+ name: 'Section',
58
+ },
59
+ container: {
60
+ id: 'contentful-container',
61
+ name: 'Container',
62
+ },
63
+ columns: {
64
+ id: 'contentful-columns',
65
+ name: 'Columns',
66
+ },
67
+ singleColumn: {
68
+ id: 'contentful-single-column',
69
+ name: 'Column',
70
+ },
71
+ button: {
72
+ id: 'contentful-button',
73
+ name: 'Button',
74
+ },
75
+ heading: {
76
+ id: 'contentful-heading',
77
+ name: 'Heading',
78
+ },
79
+ image: {
80
+ id: 'contentful-image',
81
+ name: 'Image',
82
+ },
83
+ richText: {
84
+ id: 'contentful-richText',
85
+ name: 'Rich Text',
86
+ },
87
+ text: {
88
+ id: 'contentful-text',
89
+ name: 'Text',
90
+ },
91
+ };
92
+ const ASSEMBLY_NODE_TYPE = 'assembly';
93
+ const ASSEMBLY_DEFAULT_CATEGORY = 'Assemblies';
94
+ const ASSEMBLY_BLOCK_NODE_TYPE = 'assemblyBlock';
95
+ const ASSEMBLY_NODE_TYPES = [ASSEMBLY_NODE_TYPE, ASSEMBLY_BLOCK_NODE_TYPE];
96
+ const LATEST_SCHEMA_VERSION = '2023-09-28';
97
+ const CF_STYLE_ATTRIBUTES = [
98
+ 'cfHorizontalAlignment',
99
+ 'cfVerticalAlignment',
100
+ 'cfMargin',
101
+ 'cfPadding',
102
+ 'cfBackgroundColor',
103
+ 'cfWidth',
104
+ 'cfMaxWidth',
105
+ 'cfHeight',
106
+ 'cfImageAsset',
107
+ 'cfImageOptions',
108
+ 'cfBackgroundImageUrl',
109
+ 'cfBackgroundImageOptions',
110
+ 'cfFlexDirection',
111
+ 'cfFlexWrap',
112
+ 'cfBorder',
113
+ 'cfBorderRadius',
114
+ 'cfGap',
115
+ 'cfFontSize',
116
+ 'cfFontWeight',
117
+ 'cfLineHeight',
118
+ 'cfLetterSpacing',
119
+ 'cfTextColor',
120
+ 'cfTextAlign',
121
+ 'cfTextTransform',
122
+ 'cfTextBold',
123
+ 'cfTextItalic',
124
+ 'cfTextUnderline',
125
+ // For backwards compatibility
126
+ // we need to keep those in this constant array
127
+ // so that omit() in <VisualEditorBlock> and <CompositionBlock>
128
+ // can filter them out and not pass as props
129
+ 'cfBackgroundImageScaling',
130
+ 'cfBackgroundImageAlignment',
131
+ 'cfBackgroundImageAlignmentVertical',
132
+ 'cfBackgroundImageAlignmentHorizontal',
133
+ ];
134
+ const EMPTY_CONTAINER_HEIGHT = '80px';
135
+ const DEFAULT_IMAGE_WIDTH = '500px';
136
+ var PostMessageMethods;
137
+ (function (PostMessageMethods) {
138
+ PostMessageMethods["REQUEST_ENTITIES"] = "REQUEST_ENTITIES";
139
+ PostMessageMethods["REQUESTED_ENTITIES"] = "REQUESTED_ENTITIES";
140
+ })(PostMessageMethods || (PostMessageMethods = {}));
141
+ const SUPPORTED_IMAGE_FORMATS = ['jpg', 'png', 'webp', 'gif', 'avif'];
142
+
143
+ export { ASSEMBLY_BLOCK_NODE_TYPE, ASSEMBLY_DEFAULT_CATEGORY, ASSEMBLY_NODE_TYPE, ASSEMBLY_NODE_TYPES, CF_STYLE_ATTRIBUTES, CONTENTFUL_COMPONENTS, CONTENTFUL_COMPONENT_CATEGORY, CONTENTFUL_DEFAULT_CATEGORY, DEFAULT_IMAGE_WIDTH, EMPTY_CONTAINER_HEIGHT, INCOMING_EVENTS, INTERNAL_EVENTS, LATEST_SCHEMA_VERSION, OUTGOING_EVENTS, PostMessageMethods, SCROLL_STATES, SUPPORTED_IMAGE_FORMATS, VISUAL_EDITOR_CONTAINER_ID, VISUAL_EDITOR_EVENTS };
144
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../src/constants.ts"],"sourcesContent":["export const SCROLL_STATES = {\n Start: 'scrollStart',\n IsScrolling: 'isScrolling',\n End: 'scrollEnd',\n};\n\nexport const OUTGOING_EVENTS = {\n Connected: 'connected',\n DesignTokens: 'registerDesignTokens',\n HoveredSection: 'hoveredSection',\n MouseMove: 'mouseMove',\n NewHoveredElement: 'newHoveredElement',\n ComponentSelected: 'componentSelected',\n RegisteredComponents: 'registeredComponents',\n RequestComponentTreeUpdate: 'requestComponentTreeUpdate',\n ComponentDragCanceled: 'componentDragCanceled',\n ComponentDropped: 'componentDropped',\n ComponentMoved: 'componentMoved',\n CanvasReload: 'canvasReload',\n UpdateSelectedComponentCoordinates: 'updateSelectedComponentCoordinates',\n UpdateHoveredComponentCoordinates: 'updateHoveredComponentCoordinates',\n CanvasScroll: 'canvasScrolling',\n CanvasError: 'canvasError',\n ComponentMoveStarted: 'componentMoveStarted',\n ComponentMoveEnded: 'componentMoveEnded',\n OutsideCanvasClick: 'outsideCanvasClick',\n};\n\nexport const INCOMING_EVENTS = {\n RequestEditorMode: 'requestEditorMode',\n ExperienceUpdated: 'componentTreeUpdated',\n ComponentDraggingChanged: 'componentDraggingChanged',\n ComponentDragCanceled: 'componentDragCanceled',\n ComponentDragStarted: 'componentDragStarted',\n ComponentDragEnded: 'componentDragEnded',\n ComponentMoveEnded: 'componentMoveEnded',\n CanvasResized: 'canvasResized',\n SelectComponent: 'selectComponent',\n HoverComponent: 'hoverComponent',\n UpdatedEntity: 'updatedEntity',\n AssembliesAdded: 'assembliesAdded',\n AssembliesRegistered: 'assembliesRegistered',\n InitEditor: 'initEditor',\n MouseMove: 'mouseMove',\n};\n\nexport const INTERNAL_EVENTS = {\n ComponentsRegistered: 'cfComponentsRegistered',\n VisualEditorInitialize: 'cfVisualEditorInitialize',\n};\n\nexport const VISUAL_EDITOR_EVENTS = {\n Ready: 'cfVisualEditorReady',\n};\n\nexport const VISUAL_EDITOR_CONTAINER_ID = 'cf-visual-editor';\nexport const CONTENTFUL_COMPONENT_CATEGORY = 'contentful-component';\nexport const CONTENTFUL_DEFAULT_CATEGORY = 'Contentful';\n\nexport const CONTENTFUL_COMPONENTS = {\n section: {\n id: 'contentful-section',\n name: 'Section',\n },\n container: {\n id: 'contentful-container',\n name: 'Container',\n },\n columns: {\n id: 'contentful-columns',\n name: 'Columns',\n },\n singleColumn: {\n id: 'contentful-single-column',\n name: 'Column',\n },\n button: {\n id: 'contentful-button',\n name: 'Button',\n },\n heading: {\n id: 'contentful-heading',\n name: 'Heading',\n },\n image: {\n id: 'contentful-image',\n name: 'Image',\n },\n richText: {\n id: 'contentful-richText',\n name: 'Rich Text',\n },\n text: {\n id: 'contentful-text',\n name: 'Text',\n },\n};\n\nexport const ASSEMBLY_NODE_TYPE = 'assembly';\nexport const ASSEMBLY_DEFAULT_CATEGORY = 'Assemblies';\nexport const ASSEMBLY_BLOCK_NODE_TYPE = 'assemblyBlock';\nexport const ASSEMBLY_NODE_TYPES = [ASSEMBLY_NODE_TYPE, ASSEMBLY_BLOCK_NODE_TYPE];\nexport const LATEST_SCHEMA_VERSION = '2023-09-28';\nexport const CF_STYLE_ATTRIBUTES = [\n 'cfHorizontalAlignment',\n 'cfVerticalAlignment',\n 'cfMargin',\n 'cfPadding',\n 'cfBackgroundColor',\n 'cfWidth',\n 'cfMaxWidth',\n 'cfHeight',\n 'cfImageAsset',\n 'cfImageOptions',\n 'cfBackgroundImageUrl',\n 'cfBackgroundImageOptions',\n 'cfFlexDirection',\n 'cfFlexWrap',\n 'cfBorder',\n 'cfBorderRadius',\n 'cfGap',\n 'cfFontSize',\n 'cfFontWeight',\n 'cfLineHeight',\n 'cfLetterSpacing',\n 'cfTextColor',\n 'cfTextAlign',\n 'cfTextTransform',\n 'cfTextBold',\n 'cfTextItalic',\n 'cfTextUnderline',\n // For backwards compatibility\n // we need to keep those in this constant array\n // so that omit() in <VisualEditorBlock> and <CompositionBlock>\n // can filter them out and not pass as props\n 'cfBackgroundImageScaling',\n 'cfBackgroundImageAlignment',\n 'cfBackgroundImageAlignmentVertical',\n 'cfBackgroundImageAlignmentHorizontal',\n];\n\nexport const EMPTY_CONTAINER_HEIGHT = '80px';\n\nexport const DEFAULT_IMAGE_WIDTH = '500px';\n\nexport enum PostMessageMethods {\n REQUEST_ENTITIES = 'REQUEST_ENTITIES',\n REQUESTED_ENTITIES = 'REQUESTED_ENTITIES',\n}\n\nexport const SUPPORTED_IMAGE_FORMATS = ['jpg', 'png', 'webp', 'gif', 'avif'] as const;\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { DataSourceEntryValueType, Link, ExperienceEntry, ExperienceTreeNode } from '../types.js';
2
+ import { EntityStoreBase } from '../entity/EntityStoreBase.js';
3
+ import { ExperienceDataSource } from '@contentful/experiences-validators';
4
+
5
+ type DeepReferenceOpts = {
6
+ path: string;
7
+ dataSource: ExperienceDataSource;
8
+ };
9
+ declare class DeepReference {
10
+ entityId: string;
11
+ entityLink: DataSourceEntryValueType;
12
+ field: string;
13
+ referentField: string;
14
+ originalPath: string;
15
+ constructor({ path, dataSource }: DeepReferenceOpts);
16
+ get headEntityId(): string;
17
+ /**
18
+ * Extracts referent from the path, using EntityStore as source of
19
+ * entities during the resolution path.
20
+ * TODO: should it be called `extractLeafReferent` ? or `followToLeafReferent`
21
+ */
22
+ extractReferent(entityStore: EntityStoreBase): Link<'Asset' | 'Entry'> | undefined;
23
+ static from(opt: DeepReferenceOpts): DeepReference;
24
+ }
25
+ declare function gatherDeepReferencesFromExperienceEntry(experienceEntry: ExperienceEntry): DeepReference[];
26
+ declare function gatherDeepReferencesFromTree(startingNode: ExperienceTreeNode, dataSource: ExperienceDataSource): DeepReference[];
27
+
28
+ export { DeepReference, gatherDeepReferencesFromExperienceEntry, gatherDeepReferencesFromTree };
@@ -0,0 +1,8 @@
1
+ import { ComponentDefinition } from '../types.js';
2
+
3
+ declare const sectionDefinition: ComponentDefinition;
4
+ declare const containerDefinition: ComponentDefinition;
5
+ declare const columnsDefinition: ComponentDefinition;
6
+ declare const singleColumnDefinition: ComponentDefinition;
7
+
8
+ export { columnsDefinition, containerDefinition, sectionDefinition, singleColumnDefinition };
@@ -0,0 +1,11 @@
1
+ import { ContainerStyleVariableName, ComponentDefinitionVariable } from '../types.js';
2
+
3
+ type VariableDefinitions = Partial<Record<ContainerStyleVariableName, ComponentDefinitionVariable<'Text' | 'Boolean' | 'Media' | 'Object'>>>;
4
+ declare const builtInStyles: VariableDefinitions;
5
+ declare const optionalBuiltInStyles: VariableDefinitions;
6
+ declare const sectionBuiltInStyles: VariableDefinitions;
7
+ declare const containerBuiltInStyles: VariableDefinitions;
8
+ declare const singleColumnBuiltInStyles: VariableDefinitions;
9
+ declare const columnsBuiltInStyles: VariableDefinitions;
10
+
11
+ export { builtInStyles, columnsBuiltInStyles, containerBuiltInStyles, optionalBuiltInStyles, sectionBuiltInStyles, singleColumnBuiltInStyles };
@@ -0,0 +1,34 @@
1
+ import { Entry, Asset } from 'contentful';
2
+ import { EntityStoreBase } from './EntityStoreBase.js';
3
+ import { PostMessageMethods } from '../constants.js';
4
+ import { RequestEntitiesMessage, RequestedEntitiesMessage } from '../types.js';
5
+
6
+ type SendMessage = (method: PostMessageMethods.REQUEST_ENTITIES, params: RequestEntitiesMessage) => void;
7
+ type Subscribe = (method: PostMessageMethods.REQUESTED_ENTITIES, cb: (message: RequestedEntitiesMessage) => void) => VoidFunction;
8
+ /**
9
+ * EntityStore which resolves entries and assets from the editor
10
+ * over the sendMessage and subscribe functions.
11
+ */
12
+ declare abstract class EditorEntityStore extends EntityStoreBase {
13
+ private requestCache;
14
+ private sendMessage;
15
+ private subscribe;
16
+ private timeoutDuration;
17
+ constructor({ entities, locale, sendMessage, subscribe, timeoutDuration, }: {
18
+ entities: Array<Entry | Asset>;
19
+ locale: string;
20
+ sendMessage: SendMessage;
21
+ subscribe: Subscribe;
22
+ timeoutDuration?: number;
23
+ });
24
+ private cleanupPromise;
25
+ private cacheIdSeperator;
26
+ private getCacheId;
27
+ private fetchEntity;
28
+ fetchAsset(id: string, skipCache?: boolean): Promise<Asset | undefined>;
29
+ fetchAssets(ids: string[], skipCache?: boolean): Promise<Asset[]>;
30
+ fetchEntry(id: string, skipCache?: boolean): Promise<Entry | undefined>;
31
+ fetchEntries(ids: string[], skipCache?: boolean): Promise<Entry[]>;
32
+ }
33
+
34
+ export { EditorEntityStore };
@@ -0,0 +1,29 @@
1
+ import { Asset, Entry, UnresolvedLink } from 'contentful';
2
+ import { EditorEntityStore } from './EditorEntityStore.js';
3
+
4
+ declare class EditorModeEntityStore extends EditorEntityStore {
5
+ locale: string;
6
+ constructor({ entities, locale }: {
7
+ entities: Array<Asset | Entry>;
8
+ locale: string;
9
+ });
10
+ /**
11
+ * This function collects and returns the list of requested entries and assets. Additionally, it checks
12
+ * upfront whether any async fetching logic is actually happening. If not, it returns a plain `false` value, so we
13
+ * can detect this early and avoid unnecessary re-renders.
14
+ * @param entityLinks
15
+ * @returns false if no async fetching is happening, otherwise a promise that resolves when all entities are fetched
16
+ */
17
+ fetchEntities({ missingEntryIds, missingAssetIds, skipCache, }: {
18
+ missingEntryIds: string[];
19
+ missingAssetIds: string[];
20
+ skipCache?: boolean;
21
+ }): Promise<void>;
22
+ getMissingEntityIds(entityLinks: UnresolvedLink<'Entry' | 'Asset'>[]): {
23
+ missingEntryIds: string[];
24
+ missingAssetIds: string[];
25
+ };
26
+ getValue(entityLinkOrEntity: UnresolvedLink<'Entry' | 'Asset'> | Entry | Asset, path: string[]): string | undefined;
27
+ }
28
+
29
+ export { EditorModeEntityStore };
@@ -0,0 +1,68 @@
1
+ import * as contentful from 'contentful';
2
+ import { UnresolvedLink, Entry, Asset } from 'contentful';
3
+ import { ExperienceFields, ExperienceEntry } from '../types.js';
4
+ import { EntityStoreBase } from './EntityStoreBase.js';
5
+ import { ExperienceUnboundValues } from '@contentful/experiences-validators';
6
+
7
+ type EntityStoreArgs = {
8
+ experienceEntry: ExperienceEntry | Entry;
9
+ entities: Array<Entry | Asset>;
10
+ locale: string;
11
+ };
12
+ declare class EntityStore extends EntityStoreBase {
13
+ private _experienceEntry;
14
+ private _unboundValues;
15
+ constructor(json: string);
16
+ constructor({ experienceEntry, entities, locale }: EntityStoreArgs);
17
+ getCurrentLocale(): string;
18
+ get experienceEntryFields(): ExperienceFields | undefined;
19
+ get schemaVersion(): "2023-09-28" | "2023-08-23" | "2023-07-26" | "2023-06-27" | undefined;
20
+ get breakpoints(): {
21
+ id: string;
22
+ displayName: string;
23
+ query: string;
24
+ previewSize: string;
25
+ }[];
26
+ get dataSource(): Record<string, {
27
+ sys: {
28
+ type: "Link";
29
+ id: string;
30
+ linkType: "Asset" | "Entry";
31
+ };
32
+ }>;
33
+ get unboundValues(): Record<string, {
34
+ value?: string | number | boolean | Record<any, any> | undefined;
35
+ }>;
36
+ get usedComponents(): {
37
+ sys: {
38
+ type: "Link";
39
+ id: string;
40
+ linkType: "Entry";
41
+ };
42
+ }[] | ExperienceEntry[];
43
+ /**
44
+ * Extend the existing set of unbound values with the ones from the assembly definition.
45
+ * When creating a new assembly out of a container, the unbound value keys are copied and
46
+ * thus the existing and the added ones have colliding keys. In the case of overlapping value
47
+ * keys, the ones from the experience overrule the ones from the assembly definition as
48
+ * the latter one is certainly just a default value while the other one is from the actual instance.
49
+ * @param unboundValues set of unbound values defined in the assembly definition
50
+ */
51
+ addAssemblyUnboundValues(unboundValues: ExperienceUnboundValues): void;
52
+ getValue(entityLinkOrEntity: UnresolvedLink<'Entry' | 'Asset'> | Entry | Asset, path: string[]): string | undefined;
53
+ toJSON(): {
54
+ entryMap: {
55
+ [k: string]: Entry;
56
+ };
57
+ assetMap: {
58
+ [k: string]: Asset<contentful.ChainModifiers, string>;
59
+ };
60
+ locale: string;
61
+ _experienceEntry: ExperienceFields | undefined;
62
+ _unboundValues: Record<string, {
63
+ value?: string | number | boolean | Record<any, any> | undefined;
64
+ }> | undefined;
65
+ };
66
+ }
67
+
68
+ export { EntityStore };
@@ -0,0 +1,49 @@
1
+ import { Entry, Asset, ChainModifiers, UnresolvedLink } from 'contentful';
2
+
3
+ /**
4
+ * Base Store for entities
5
+ * Can be extended for the different loading behaviours (editor, production, ..)
6
+ */
7
+ declare abstract class EntityStoreBase {
8
+ protected locale: string;
9
+ protected entryMap: Map<string, Entry>;
10
+ protected assetMap: Map<string, Asset<ChainModifiers, string>>;
11
+ constructor({ entities, locale }: {
12
+ entities: Array<Entry | Asset>;
13
+ locale: string;
14
+ });
15
+ get entities(): (Entry | Asset<ChainModifiers, string>)[];
16
+ updateEntity(entity: Entry | Asset): void;
17
+ getEntryOrAsset(linkOrEntryOrAsset: UnresolvedLink<'Entry' | 'Asset'> | Asset | Entry, path: string): Entry | Asset | undefined;
18
+ /**
19
+ * @deprecated in the base class this should be simply an abstract method
20
+ * @param entityLink
21
+ * @param path
22
+ * @returns
23
+ */
24
+ getValue(entityLink: UnresolvedLink<'Entry' | 'Asset'>, path: string[]): string | undefined;
25
+ getEntityFromLink(link: UnresolvedLink<'Entry' | 'Asset'>): Asset | Entry | undefined;
26
+ protected getEntitiesFromMap(type: 'Entry' | 'Asset', ids: string[]): {
27
+ resolved: (Entry | Asset<ChainModifiers, string>)[];
28
+ missing: string[];
29
+ };
30
+ protected addEntity(entity: Entry | Asset): void;
31
+ fetchAsset(id: string): Promise<Asset | undefined>;
32
+ fetchAssets(ids: string[]): Promise<Asset[]>;
33
+ fetchEntry(id: string): Promise<Entry | undefined>;
34
+ fetchEntries(ids: string[]): Promise<Entry[]>;
35
+ private getDeepEntry;
36
+ private isAsset;
37
+ private getEntity;
38
+ toJSON(): {
39
+ entryMap: {
40
+ [k: string]: Entry;
41
+ };
42
+ assetMap: {
43
+ [k: string]: Asset<ChainModifiers, string>;
44
+ };
45
+ locale: string;
46
+ };
47
+ }
48
+
49
+ export { EntityStoreBase };
@@ -0,0 +1,6 @@
1
+ declare enum VisualEditorMode {
2
+ LazyLoad = "lazyLoad",
3
+ InjectScript = "injectScript"
4
+ }
5
+
6
+ export { VisualEditorMode };
@@ -0,0 +1,3 @@
1
+ export { ASSEMBLY_BLOCK_NODE_TYPE, ASSEMBLY_DEFAULT_CATEGORY, ASSEMBLY_NODE_TYPE, ASSEMBLY_NODE_TYPES, CF_STYLE_ATTRIBUTES, CONTENTFUL_COMPONENTS, CONTENTFUL_COMPONENT_CATEGORY, CONTENTFUL_DEFAULT_CATEGORY, DEFAULT_IMAGE_WIDTH, EMPTY_CONTAINER_HEIGHT, INCOMING_EVENTS, INTERNAL_EVENTS, LATEST_SCHEMA_VERSION, OUTGOING_EVENTS, PostMessageMethods, SCROLL_STATES, SUPPORTED_IMAGE_FORMATS, VISUAL_EDITOR_CONTAINER_ID, VISUAL_EDITOR_EVENTS } from './constants.js';
2
+ export { BackgroundImageAlignmentOption, BackgroundImageOptions, BackgroundImageScalingOption, Binding, BindingMap, BindingMapByBlockId, BoundComponentPropertyTypes, CSSProperties, ComponentBinding, ComponentDefinition, ComponentDefinitionVariable, ComponentDefinitionVariableBase, ComponentDefinitionVariableValidation, ComponentRegistration, ComponentRegistrationOptions, ContainerStyleVariableName, Coordinates, DataSourceEntryValueType, DesignTokensDefinition, Experience, ExperienceEntry, ExperienceFields, ExperienceTree, ExperienceTreeNode, ExternalSDKMode, HoveredElement, ImageObjectFitOption, ImageObjectPositionOption, ImageOptions, IncomingEvent, InternalEvent, InternalSDKMode, Link, ManagementEntity, OptimizedBackgroundImageAsset, OptimizedImageAsset, OutgoingEvent, RawCoordinates, RecursiveDesignTokenDefinition, RequestEntitiesMessage, RequestedEntitiesMessage, ResolveDesignValueType, ScrollState, StyleProps, ValidationOption, VariableFormats } from './types.js';
3
+ export { BoundValue, Breakpoint, ComponentDefinitionPropertyType as ComponentDefinitionVariableType, ComponentPropertyValue, ComponentTreeNode, ComponentValue, DesignValue, ExperienceComponentSettings, ExperienceDataSource, ExperienceUnboundValues, PrimitiveValue, SchemaVersions, UnboundValue, ValuesByBreakpoint } from '@contentful/experiences-validators';
@@ -0,0 +1,2 @@
1
+ export { ASSEMBLY_BLOCK_NODE_TYPE, ASSEMBLY_DEFAULT_CATEGORY, ASSEMBLY_NODE_TYPE, ASSEMBLY_NODE_TYPES, CF_STYLE_ATTRIBUTES, CONTENTFUL_COMPONENTS, CONTENTFUL_COMPONENT_CATEGORY, CONTENTFUL_DEFAULT_CATEGORY, DEFAULT_IMAGE_WIDTH, EMPTY_CONTAINER_HEIGHT, INCOMING_EVENTS, INTERNAL_EVENTS, LATEST_SCHEMA_VERSION, OUTGOING_EVENTS, PostMessageMethods, SCROLL_STATES, SUPPORTED_IMAGE_FORMATS, VISUAL_EDITOR_CONTAINER_ID, VISUAL_EDITOR_EVENTS } from './constants.js';
2
+ //# sourceMappingURL=exports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exports.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ import { Entry, Asset } from 'contentful';
2
+ import { Experience, ExternalSDKMode } from '../types.js';
3
+ import { EntityStore } from '../entity/EntityStore.js';
4
+
5
+ type createExperienceArgs = {
6
+ experienceEntry: Entry;
7
+ referencedEntries: Array<Entry>;
8
+ referencedAssets: Array<Asset>;
9
+ locale: string;
10
+ /** @deprecated mode no longer needed */
11
+ mode?: ExternalSDKMode;
12
+ };
13
+ /**
14
+ * Create an experience instance
15
+ * @param {string} json - JSON representation of the experience
16
+ */
17
+ declare function createExperience(json: string): Experience<EntityStore>;
18
+ declare function createExperience(args: createExperienceArgs): Experience<EntityStore>;
19
+
20
+ export { createExperience };
@@ -0,0 +1,20 @@
1
+ import { ExternalSDKMode, Experience } from '../types.js';
2
+ import { ContentfulClientApi } from 'contentful';
3
+ import { EntityStore } from '../entity/EntityStore.js';
4
+
5
+ /**
6
+ * Fetch experience entry using slug as the identifier
7
+ * @param {string} experienceTypeId - id of the content type associated with the experience
8
+ * @param {string} slug - slug of the experience (defined in entry settings)
9
+ * @param {string} localeCode - locale code to fetch the experience. Falls back to the currently active locale in the state
10
+ */
11
+ declare function fetchById({ client, experienceTypeId, id, localeCode, }: {
12
+ client: ContentfulClientApi<undefined>;
13
+ experienceTypeId: string;
14
+ id: string;
15
+ localeCode: string;
16
+ /** @deprecated mode no longer needed */
17
+ mode?: ExternalSDKMode;
18
+ }): Promise<Experience<EntityStore> | undefined>;
19
+
20
+ export { fetchById };
@@ -0,0 +1,20 @@
1
+ import { ExternalSDKMode, Experience } from '../types.js';
2
+ import { ContentfulClientApi } from 'contentful';
3
+ import { EntityStore } from '../entity/EntityStore.js';
4
+
5
+ /**
6
+ * Fetch experience entry using slug as the identifier
7
+ * @param {string} experienceTypeId - id of the content type associated with the experience
8
+ * @param {string} slug - slug of the experience (defined in entry settings)
9
+ * @param {string} localeCode - locale code to fetch the experience. Falls back to the currently active locale in the state
10
+ */
11
+ declare function fetchBySlug({ client, experienceTypeId, slug, localeCode, }: {
12
+ client: ContentfulClientApi<undefined>;
13
+ experienceTypeId: string;
14
+ slug: string;
15
+ localeCode: string;
16
+ /** @deprecated mode no longer needed */
17
+ mode?: ExternalSDKMode;
18
+ }): Promise<Experience<EntityStore> | undefined>;
19
+
20
+ export { fetchBySlug };
@@ -0,0 +1,24 @@
1
+ export { isContentfulStructureComponent, isEmptyStructureWithRelativeHeight } from './utils/components.js';
2
+ export { findOutermostCoordinates, getElementCoordinates } from './utils/domValues.js';
3
+ export { VisualEditorMessagePayload, doesMismatchMessageSchema, tryParseMessage, validateExperienceBuilderConfig } from './utils/validations.js';
4
+ export { buildCfStyles, buildStyleTag, calculateNodeDefaultHeight } from './utils/styleUtils/stylesUtils.js';
5
+ export { transformBoundContentValue } from './utils/transformers/transformBoundContentValue.js';
6
+ export { checkIsAssembly, checkIsAssemblyDefinition, checkIsAssemblyEntry, checkIsAssemblyNode, generateRandomId, getDataFromTree, getInsertionData } from './utils/utils.js';
7
+ export { isExperienceEntry } from './utils/typeguards.js';
8
+ export { supportedModes } from './utils/supportedModes.js';
9
+ export { MEDIA_QUERY_REGEXP, getActiveBreakpointIndex, getFallbackBreakpointIndex, getValueForBreakpoint, mediaQueryMatcher } from './utils/breakpoints.js';
10
+ export { isLinkToAsset } from './utils/isLinkToAsset.js';
11
+ export { isLink } from './utils/isLink.js';
12
+ export { Fieldset, UnresolvedFieldset, isDeepPath, parseDataSourcePathIntoFieldset, parseDataSourcePathWithL1DeepBindings } from './utils/pathSchema.js';
13
+ export { columnsDefinition, containerDefinition, sectionDefinition, singleColumnDefinition } from './definitions/components.js';
14
+ export { builtInStyles, columnsBuiltInStyles, containerBuiltInStyles, optionalBuiltInStyles, sectionBuiltInStyles, singleColumnBuiltInStyles } from './definitions/styles.js';
15
+ export { EditorModeEntityStore } from './entity/EditorModeEntityStore.js';
16
+ export { EntityStore } from './entity/EntityStore.js';
17
+ export { EntityStoreBase } from './entity/EntityStoreBase.js';
18
+ export { sendMessage } from './communication/sendMessage.js';
19
+ export { VisualEditorMode } from './enums.js';
20
+ export { fetchBySlug } from './fetchers/fetchBySlug.js';
21
+ export { fetchById } from './fetchers/fetchById.js';
22
+ export { createExperience } from './fetchers/createExperience.js';
23
+ export { defineDesignTokens, designTokensRegistry, getDesignTokenRegistration } from './registries/designTokenRegistry.js';
24
+ export { DeepReference, gatherDeepReferencesFromExperienceEntry, gatherDeepReferencesFromTree } from './deep-binding/DeepReference.js';