@remkoj/optimizely-cms-react 6.0.0-pre9 → 6.0.0-rc.3

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 (53) hide show
  1. package/AGENTS.md +168 -0
  2. package/README.md +3 -4
  3. package/dist/components/client.js.map +1 -1
  4. package/dist/components/cms-content/get-content-type.js +1 -1
  5. package/dist/components/cms-content/get-content-type.js.map +1 -1
  6. package/dist/components/cms-content/get-content.js +1 -1
  7. package/dist/components/cms-content/get-content.js.map +1 -1
  8. package/dist/components/cms-content/resolve-component.js +3 -9
  9. package/dist/components/cms-content/resolve-component.js.map +1 -1
  10. package/dist/components/cms-content/resolve-content-type.js.map +1 -1
  11. package/dist/components/cms-content/types.d.ts +38 -2
  12. package/dist/components/cms-content-area/types.d.ts +51 -10
  13. package/dist/components/cms-editable/index.d.ts +82 -19
  14. package/dist/components/cms-editable/index.js +10 -6
  15. package/dist/components/cms-editable/index.js.map +1 -1
  16. package/dist/components/cms-styles/index.js.map +1 -1
  17. package/dist/components/rich-text/components.d.ts +1 -1
  18. package/dist/components/rich-text/index.d.ts +2 -1
  19. package/dist/components/rich-text/index.js +6 -3
  20. package/dist/components/rich-text/index.js.map +1 -1
  21. package/dist/components/rich-text/utils.js.map +1 -1
  22. package/dist/components/rsc-components.d.ts +154 -5
  23. package/dist/components/rsc-components.js +153 -5
  24. package/dist/components/rsc-components.js.map +1 -1
  25. package/dist/components/visual-builder/functions.js +7 -14
  26. package/dist/components/visual-builder/functions.js.map +1 -1
  27. package/dist/components/visual-builder/index.d.ts +3 -1
  28. package/dist/components/visual-builder/index.js +15 -16
  29. package/dist/components/visual-builder/index.js.map +1 -1
  30. package/dist/context/client.d.ts +12 -12
  31. package/dist/context/client.js +8 -0
  32. package/dist/context/client.js.map +1 -1
  33. package/dist/context/rsc.js +6 -1
  34. package/dist/context/rsc.js.map +1 -1
  35. package/dist/data/queries.js.map +1 -1
  36. package/dist/errors.js +1 -0
  37. package/dist/errors.js.map +1 -1
  38. package/dist/factory/default.d.ts +20 -3
  39. package/dist/factory/default.js +45 -25
  40. package/dist/factory/default.js.map +1 -1
  41. package/dist/factory/index.js.map +1 -1
  42. package/dist/factory/types.d.ts +24 -4
  43. package/dist/factory/undef.d.ts +7 -5
  44. package/dist/factory/undef.js +10 -4
  45. package/dist/factory/undef.js.map +1 -1
  46. package/dist/rsc-utilities.js.map +1 -1
  47. package/dist/rsc.d.ts +24 -0
  48. package/dist/rsc.js +24 -0
  49. package/dist/rsc.js.map +1 -1
  50. package/dist/utilities.d.ts +2 -2
  51. package/dist/utilities.js +12 -7
  52. package/dist/utilities.js.map +1 -1
  53. package/package.json +22 -15
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/context/client.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/context/client.tsx"],"names":[],"mappings":"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"}
@@ -4,6 +4,12 @@ import { DefaultComponentFactory, } from '../factory/index.js';
4
4
  import { isDebug, isDevelopment } from '../rsc-utilities.js';
5
5
  export * from './types.js';
6
6
  export class ServerContext {
7
+ _mode;
8
+ _locale;
9
+ _client;
10
+ _factory;
11
+ _editable;
12
+ _editableIsExperience = false;
7
13
  get client() {
8
14
  return this._client;
9
15
  }
@@ -38,7 +44,6 @@ export class ServerContext {
38
44
  this._editableIsExperience = newValue;
39
45
  }
40
46
  constructor({ factory, client, locale, mode, editableContent, }) {
41
- this._editableIsExperience = false;
42
47
  this._factory = Array.isArray(factory)
43
48
  ? new DefaultComponentFactory(factory)
44
49
  : factory || new DefaultComponentFactory();
@@ -1 +1 @@
1
- {"version":3,"file":"rsc.js","sourceRoot":"","sources":["../../src/context/rsc.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rsc.js","sourceRoot":"","sources":["../../src/context/rsc.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/data/queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAErC,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,iBAAiB,EAAE,CAAC,WAAW,EAAC,OAAO,EAAC,YAAY,CAAC;IACrD,WAAW,EAAE,GAAG,CAAA;;;;MAId;IACF,iBAAiB,EAAE,GAAG,CAAA;;;;MAIpB;IACF,YAAY,EAAE,GAAG,CAAA;;;;;;;;;MASf;IACF,mBAAmB,EAAE,GAAG,CAAA;;;;;;;;MAQtB;IACF,8BAA8B,EAAE,GAAG,CAAA;;;;;;;;MAQjC;IACF,wBAAwB,EAAE,GAAG,CAAA;;;;;;;;MAQ3B;IACF,YAAY,EAAE,GAAG,CAAA;;;;;;;;;;;MAWf;IACF,SAAS,EAAE,GAAG,CAAA;;;;;;;;;MASZ;IACF,eAAe,EAAE,GAAG,CAAA;;;;;;;;;MASlB;IACF,SAAS,EAAE,GAAG,CAAA;;MAEZ;IACF,QAAQ,EAAE,GAAG,CAAA;;MAEX;CACL,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,mBAAmB,EAAE,GAAG,CAAA;;;;;;;;;;;IAWtB;CACH,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;EAmB/B,CAAA;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;EAiBjC,CAAA"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/data/queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAErC,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,iBAAiB,EAAE,CAAC,WAAW,EAAC,OAAO,EAAC,YAAY,CAAC;IACrD,WAAW,EAAE,GAAG,CAAA;;;;MAIZ;IACJ,iBAAiB,EAAE,GAAG,CAAA;;;;MAIlB;IACJ,YAAY,EAAE,GAAG,CAAA;;;;;;;;;MASb;IACJ,mBAAmB,EAAE,GAAG,CAAA;;;;;;;;MAQpB;IACJ,8BAA8B,EAAE,GAAG,CAAA;;;;;;;;MAQ/B;IACJ,wBAAwB,EAAE,GAAG,CAAA;;;;;;;;MAQzB;IACJ,YAAY,EAAE,GAAG,CAAA;;;;;;;;;;;MAWb;IACJ,SAAS,EAAE,GAAG,CAAA;;;;;;;;;MASV;IACJ,eAAe,EAAE,GAAG,CAAA;;;;;;;;;MAShB;IACJ,SAAS,EAAE,GAAG,CAAA;;MAEV;IACJ,QAAQ,EAAE,GAAG,CAAA;;MAET;CACL,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,mBAAmB,EAAE,GAAG,CAAA;;;;;;;;;;;IAWtB;CACH,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;EAmB/B,CAAA;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;EAiBjC,CAAA"}
package/dist/errors.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export class InvalidContentLinkError extends Error {
2
+ _contentLink;
2
3
  get contentLink() {
3
4
  return this._contentLink;
4
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAI9C,IAAW,WAAW;QAElB,OAAO,IAAI,CAAC,YAAY,CAAA;IAC5B,CAAC;IAED,YAAmB,kBAAwB,EAAE,OAAgB;QAEzD,KAAK,CAAC,OAAO,IAAI,sBAAsB,CAAC,CAAA;QACxC,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAA;IAC1C,CAAC;CACJ"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAEtC,YAAY,CAAM;IAE5B,IAAW,WAAW;QAEpB,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAED,YAAmB,kBAAwB,EAAE,OAAgB;QAE3D,KAAK,CAAC,OAAO,IAAI,sBAAsB,CAAC,CAAA;QACxC,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAA;IACxC,CAAC;CACF"}
@@ -8,6 +8,15 @@ export declare const EmptyComponentHandle = "$$fragment$$";
8
8
  export declare class DefaultComponentFactory implements ComponentFactory {
9
9
  private registry;
10
10
  private dbg;
11
+ /**
12
+ * A list of interfaces to ignore when resolving components. Adjust this
13
+ * list if you're experiencing issues with resolving components due to
14
+ * contracts. Values **must be** provided lowercase and without leading
15
+ * underscore. For example `_Item` must be provided as `item`.
16
+ *
17
+ * The default value includes the common ones for SaaS CMS.
18
+ */
19
+ ignoredContracts: string[];
11
20
  /**
12
21
  * Create a new instance of the DefaultComponentFactory
13
22
  *
@@ -15,10 +24,18 @@ export declare class DefaultComponentFactory implements ComponentFactory {
15
24
  * with the factory.
16
25
  */
17
26
  constructor(initialComponents?: ComponentTypeDictionary);
18
- register(type: ComponentTypeHandle, component: ComponentType, useSuspense?: boolean, loader?: ComponentType): void;
27
+ register(type: ComponentTypeHandle, component: ComponentType, useSuspense?: boolean, loader?: ComponentType, variant?: string): void;
19
28
  registerAll(components: ComponentTypeDictionary): void;
20
- has(type: ComponentTypeHandle): boolean;
21
- resolve(type: ComponentTypeHandle): undefined | ComponentType;
29
+ has(type: ComponentTypeHandle, variant?: string): boolean;
30
+ resolve(type: ComponentTypeHandle, variant?: string): undefined | ComponentType;
22
31
  extract(): ComponentTypeDictionary;
23
32
  remove(type: ComponentTypeHandle): boolean;
33
+ /**
34
+ * Process the component variant handle into
35
+ *
36
+ * @param handle
37
+ * @param variant
38
+ * @returns
39
+ */
40
+ private processComponentTypeHandle;
24
41
  }
@@ -7,6 +7,17 @@ export const EmptyComponentHandle = '$$fragment$$';
7
7
  * client and server side.
8
8
  */
9
9
  export class DefaultComponentFactory {
10
+ registry = new Map();
11
+ dbg;
12
+ /**
13
+ * A list of interfaces to ignore when resolving components. Adjust this
14
+ * list if you're experiencing issues with resolving components due to
15
+ * contracts. Values **must be** provided lowercase and without leading
16
+ * underscore. For example `_Item` must be provided as `item`.
17
+ *
18
+ * The default value includes the common ones for SaaS CMS.
19
+ */
20
+ ignoredContracts = ['item', 'assetitem', 'imageitem', 'content'];
10
21
  /**
11
22
  * Create a new instance of the DefaultComponentFactory
12
23
  *
@@ -14,7 +25,6 @@ export class DefaultComponentFactory {
14
25
  * with the factory.
15
26
  */
16
27
  constructor(initialComponents) {
17
- this.registry = new Map();
18
28
  // Resolve debug mode
19
29
  try {
20
30
  this.dbg = process.env.OPTIMIZELY_DEBUG == '1';
@@ -26,26 +36,27 @@ export class DefaultComponentFactory {
26
36
  if (initialComponents)
27
37
  this.registerAll(initialComponents);
28
38
  }
29
- register(type, component, useSuspense = false, loader) {
30
- const registryKey = processComponentTypeHandle(type);
31
- this.registry.set(registryKey, { type, component, useSuspense, loader });
39
+ register(type, component, useSuspense = false, loader, variant = 'default') {
40
+ const registryKey = this.processComponentTypeHandle(type, variant);
41
+ if (this.dbg)
42
+ console.log(`➕ [DefaultComponentFactory] Registering ${registryKey}`);
43
+ this.registry.set(registryKey, { type: registryKey, component, useSuspense, loader, variant });
32
44
  }
33
45
  registerAll(components) {
34
- components.forEach((c) => {
35
- const registryKey = processComponentTypeHandle(c.type);
36
- this.registry.set(registryKey, c);
37
- });
46
+ components.forEach(c => this.register(c.type, c.component, c.useSuspense, c.loader, c.variant));
38
47
  }
39
- has(type) {
40
- const registryKey = processComponentTypeHandle(type);
48
+ has(type, variant = 'default') {
49
+ const registryKey = this.processComponentTypeHandle(type, variant);
50
+ if (this.dbg)
51
+ console.log(`🔎 [DefaultComponentFactory] Checking for ${registryKey} - ${this.registry.has(registryKey) ? 'YES' : 'NO'}`);
41
52
  return this.registry.has(registryKey);
42
53
  }
43
- resolve(type) {
44
- const registryKey = processComponentTypeHandle(type);
54
+ resolve(type, variant = 'default') {
55
+ const registryKey = this.processComponentTypeHandle(type, variant);
45
56
  const entry = this.registry.get(registryKey);
46
57
  if (!entry) {
47
58
  if (this.dbg)
48
- console.warn(`⚡ [DefaultComponentFactory] Unable to resolve ${registryKey}`);
59
+ console.warn(`❌ [DefaultComponentFactory] Unable to resolve ${registryKey}, this will prevent the item from rendering`);
49
60
  return undefined; // The key is not registered in the factory
50
61
  }
51
62
  if (entry.useSuspense != true)
@@ -64,23 +75,32 @@ export class DefaultComponentFactory {
64
75
  });
65
76
  }
66
77
  remove(type) {
67
- const registryKey = processComponentTypeHandle(type);
78
+ const registryKey = this.processComponentTypeHandle(type);
68
79
  if (this.dbg)
69
80
  console.log(`🔎 [DefaultComponentFactory] Removing ${registryKey}`);
70
81
  if (!this.registry.has(registryKey))
71
82
  return true;
72
83
  return this.registry.delete(registryKey);
73
84
  }
74
- }
75
- function processComponentTypeHandle(handle) {
76
- if (typeof handle == 'string')
77
- return handle == '' ? EmptyComponentHandle : handle;
78
- if (Array.isArray(handle) && handle.every((s) => typeof s == 'string'))
79
- return handle
80
- .map((s) => (s.startsWith('_') ? s.substring(1) : s)) // Remove all leading underscores
81
- .filter((s) => s.toLowerCase() != 'content') // Remove the "Content" base type
82
- .map((s) => (s == '' ? EmptyComponentHandle : s)) // Fall back to a fragment
83
- .join(MERGE_SYMBOL); // Types are processed as a string
84
- throw new Error(`Invalid component type handle: ${typeof handle}`);
85
+ /**
86
+ * Process the component variant handle into
87
+ *
88
+ * @param handle
89
+ * @param variant
90
+ * @returns
91
+ */
92
+ processComponentTypeHandle(handle, variant) {
93
+ const handleToProcess = typeof handle === 'string' ? handle.split(MERGE_SYMBOL) : [...handle];
94
+ if (Array.isArray(handleToProcess) && handleToProcess.every((s) => typeof s === 'string')) {
95
+ const offset = (['component', 'page', 'experience'].includes(handleToProcess.at(handleToProcess.length - 3)?.toLowerCase() ?? '') &&
96
+ !['row', 'column', 'section', 'experience', 'media'].includes(handleToProcess.at(handleToProcess.length - 2)?.toLowerCase() ?? '')) ? 1 : 0;
97
+ const typeName = handleToProcess.at(handleToProcess.length - (1 + offset));
98
+ const prefix = handleToProcess.at(handleToProcess.length - (2 + offset)) === 'RichText' ? 'RichText/' : '';
99
+ const actualVariant = offset > 0 ? handleToProcess.at(handleToProcess.length - 1) ?? variant ?? 'default' : variant ?? 'default';
100
+ const newHandle = prefix + typeName + '/' + actualVariant;
101
+ return newHandle;
102
+ }
103
+ throw new Error(`Invalid component type handle: ${typeof handle}`);
104
+ }
85
105
  }
86
106
  //# sourceMappingURL=default.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"default.js","sourceRoot":"","sources":["../../src/factory/default.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../../src/factory/default.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAGpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AAEtD;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAA;AAE7C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAA4B,GAAG,EAAE;IACpD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAA;IAC/C,IAAI,GAAG;QAAE,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAA;IAC3E,OAAO,IAAI,uBAAuB,EAAE,CAAA;AACxC,CAAC,CAAA;AAED,eAAe,UAAU,EAAE,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAGpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AAEtD;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAA;AAE7C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAA4B,GAAG,EAAE;IACtD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAA;IAC/C,IAAI,GAAG;QAAE,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAA;IAC3E,OAAO,IAAI,uBAAuB,EAAE,CAAA;AACtC,CAAC,CAAA;AAED,eAAe,UAAU,EAAE,CAAA"}
@@ -25,18 +25,36 @@ export type ComponentTypeDictionaryEntry = {
25
25
  * The component to use as "loading" state by the <Suspense />
26
26
  */
27
27
  loader?: ComponentType;
28
+ /**
29
+ * Used for the loading of a specific variant of the component (for example 'header', 'footer', 'menu')
30
+ */
31
+ variant?: string;
32
+ /**
33
+ * Optional marker to indicate that the component is a Client Side component, which
34
+ * may add attribute filtering in the future.
35
+ */
36
+ isClient?: boolean;
28
37
  };
29
38
  /**
30
39
  * Component Factory
31
40
  */
32
41
  export interface ComponentFactory {
42
+ /**
43
+ * A list of interfaces to ignore when resolving components. Adjust this
44
+ * list if you're experiencing issues with resolving components due to
45
+ * contracts. Values **must be** provided lowercase and without leading
46
+ * underscore. For example `_Item` must be provided as `item`.
47
+ *
48
+ * The default value includes the common ones for SaaS CMS.
49
+ */
50
+ ignoredContracts: string[];
33
51
  /**
34
52
  * Check if the component type has been registered within the factory
35
53
  *
36
54
  * @param type The component type to check for
37
55
  * @returns Whether or not the type exists within the factory
38
56
  */
39
- has(type: ComponentTypeHandle): boolean;
57
+ has(type: ComponentTypeHandle, variant?: string): boolean;
40
58
  /**
41
59
  * Register an individual component. When the component type has already
42
60
  * been registered it will be updated.
@@ -45,8 +63,9 @@ export interface ComponentFactory {
45
63
  * @param component The component to bind to the type
46
64
  * @param useSuspense If set to 'true' the registered component will be wrapped in <Suspense />
47
65
  * @param loader The component to use as "loading" state by the <Suspense />
66
+ * @param variant The specific variant of the component (for example 'header', 'footer', 'menu')
48
67
  */
49
- register(type: ComponentTypeHandle, component: ComponentType, useSuspense?: boolean, loader?: ComponentType): void;
68
+ register(type: ComponentTypeHandle, component: ComponentType, useSuspense?: boolean, loader?: ComponentType, variant?: string): void;
50
69
  /**
51
70
  * Register all components provided through the dictionary. When the
52
71
  * component type has already been registered it will be updated.
@@ -59,17 +78,18 @@ export interface ComponentFactory {
59
78
  * the implemenation supports it.
60
79
  *
61
80
  * @param type The component type to remove
81
+ * @param variant The variant of the component type, will remove all if not specified
62
82
  * @returns `true` If the component was not found or removed, `false`
63
83
  * otherwise
64
84
  */
65
- remove?: (type: ComponentTypeHandle) => boolean;
85
+ remove?: (type: ComponentTypeHandle, variant?: string) => boolean;
66
86
  /**
67
87
  * Resolve a component type
68
88
  *
69
89
  * @param type The type to search the component for
70
90
  * @returns The component that was resolved for the provided type
71
91
  */
72
- resolve(type: ComponentTypeHandle): ComponentType | undefined;
92
+ resolve(type: ComponentTypeHandle, variant?: string): ComponentType | undefined;
73
93
  /**
74
94
  * Retrieve the registered components as a dictionary that can be used to
75
95
  * be imported in a new instance.
@@ -1,9 +1,11 @@
1
- import { ComponentType, ComponentTypeDictionary, ComponentTypeHandle, type ComponentFactory } from "./types.js";
1
+ import { ComponentType, ComponentTypeDictionary, type ComponentFactory } from "./types.js";
2
2
  export declare class UndefinedComponentFactory implements ComponentFactory {
3
- has(type: ComponentTypeHandle): boolean;
4
- register(type: ComponentTypeHandle, componentType: ComponentType): void;
5
- registerAll(components: ComponentTypeDictionary): void;
6
- resolve(type: ComponentTypeHandle): ComponentType | undefined;
3
+ get ignoredContracts(): string[];
4
+ set ignoredContracts(newList: string[]);
5
+ has(): boolean;
6
+ register(): void;
7
+ registerAll(): void;
8
+ resolve(): ComponentType | undefined;
7
9
  extract(): ComponentTypeDictionary;
8
10
  }
9
11
  export default UndefinedComponentFactory;
@@ -1,14 +1,20 @@
1
1
  export class UndefinedComponentFactory {
2
- has(type) {
2
+ get ignoredContracts() {
3
3
  throw new Error("Factory not specified, please specify a factory.");
4
4
  }
5
- register(type, componentType) {
5
+ set ignoredContracts(newList) {
6
6
  throw new Error("Factory not specified, please specify a factory.");
7
7
  }
8
- registerAll(components) {
8
+ has() {
9
9
  throw new Error("Factory not specified, please specify a factory.");
10
10
  }
11
- resolve(type) {
11
+ register() {
12
+ throw new Error("Factory not specified, please specify a factory.");
13
+ }
14
+ registerAll() {
15
+ throw new Error("Factory not specified, please specify a factory.");
16
+ }
17
+ resolve() {
12
18
  throw new Error("Factory not specified, please specify a factory.");
13
19
  }
14
20
  extract() {
@@ -1 +1 @@
1
- {"version":3,"file":"undef.js","sourceRoot":"","sources":["../../src/factory/undef.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,yBAAyB;IAClC,GAAG,CAAC,IAAyB;QACzB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACxE,CAAC;IACD,QAAQ,CAAC,IAAyB,EAAE,aAA4B;QAC5D,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACxE,CAAC;IACD,WAAW,CAAC,UAAmC;QAC3C,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,CAAC,IAAyB;QAC7B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACxE,CAAC;IACD,OAAO;QACH,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACxE,CAAC;CACJ;AAED,eAAe,yBAAyB,CAAA"}
1
+ {"version":3,"file":"undef.js","sourceRoot":"","sources":["../../src/factory/undef.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,yBAAyB;IACpC,IAAI,gBAAgB;QAClB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,gBAAgB,CAAC,OAAiB;QACpC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,GAAG;QACD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,QAAQ;QACN,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,WAAW;QACT,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,OAAO;QACL,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,OAAO;QACL,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;CACF;AAED,eAAe,yBAAyB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"rsc-utilities.js","sourceRoot":"","sources":["../src/rsc-utilities.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,OAAO;IAEnB,IAAI,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,EAAE,GAAG,EAAE,gBAAgB,IAAI,OAAO,EAAE,GAAG,EAAE,SAAS,CAAA;QACvE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAA;IACxE,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED,MAAM,UAAU,aAAa;IAEzB,IAAI,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAA;IAChD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"rsc-utilities.js","sourceRoot":"","sources":["../src/rsc-utilities.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,OAAO;IAErB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,OAAO,EAAE,GAAG,EAAE,gBAAgB,IAAI,OAAO,EAAE,GAAG,EAAE,SAAS,CAAA;QACvE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAA;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa;IAE3B,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAA;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
package/dist/rsc.d.ts CHANGED
@@ -6,5 +6,29 @@ export * from './factory/index.js';
6
6
  export * from './context/types.js';
7
7
  export * from './context/rsc.js';
8
8
  export * from './components/rsc.js';
9
+ /**
10
+ * RSC component exports, including `CmsEditable`, `CmsContent`,
11
+ * `CmsContentArea` and their prop types.
12
+ *
13
+ * `CmsContent` usage:
14
+ *
15
+ * ```tsx
16
+ * import { CmsContent } from '@remkoj/optimizely-cms-react/rsc'
17
+ *
18
+ * <CmsContent contentLink={{ key: content._metadata.key, locale: 'en' }} />
19
+ * ```
20
+ *
21
+ * `CmsContentArea` usage:
22
+ *
23
+ * ```tsx
24
+ * import { CmsContentArea } from '@remkoj/optimizely-cms-react/rsc'
25
+ *
26
+ * <CmsContentArea
27
+ * items={content.MainContentArea}
28
+ * fieldName="MainContentArea"
29
+ * as="section"
30
+ * />
31
+ * ```
32
+ */
9
33
  export * from './components/rsc-components.js';
10
34
  export * from './rsc-utilities.js';
package/dist/rsc.js CHANGED
@@ -12,6 +12,30 @@ export * from './context/types.js';
12
12
  // Export React Server Components
13
13
  export * from './context/rsc.js';
14
14
  export * from './components/rsc.js';
15
+ /**
16
+ * RSC component exports, including `CmsEditable`, `CmsContent`,
17
+ * `CmsContentArea` and their prop types.
18
+ *
19
+ * `CmsContent` usage:
20
+ *
21
+ * ```tsx
22
+ * import { CmsContent } from '@remkoj/optimizely-cms-react/rsc'
23
+ *
24
+ * <CmsContent contentLink={{ key: content._metadata.key, locale: 'en' }} />
25
+ * ```
26
+ *
27
+ * `CmsContentArea` usage:
28
+ *
29
+ * ```tsx
30
+ * import { CmsContentArea } from '@remkoj/optimizely-cms-react/rsc'
31
+ *
32
+ * <CmsContentArea
33
+ * items={content.MainContentArea}
34
+ * fieldName="MainContentArea"
35
+ * as="section"
36
+ * />
37
+ * ```
38
+ */
15
39
  export * from './components/rsc-components.js';
16
40
  export * from './rsc-utilities.js';
17
41
  //# sourceMappingURL=rsc.js.map
package/dist/rsc.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rsc.js","sourceRoot":"","sources":["../src/rsc.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,SAAS,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAC5D,MAAM,CAAC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;AAExC,iBAAiB;AACjB,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AACvC,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAElC,iCAAiC;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"rsc.js","sourceRoot":"","sources":["../src/rsc.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,SAAS,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAC5D,MAAM,CAAC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;AAExC,iBAAiB;AACjB,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AACvC,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAElC,iCAAiC;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,cAAc,gCAAgC,CAAA;AAC9C,cAAc,oBAAoB,CAAA"}
@@ -2,7 +2,7 @@ import type { ComponentType } from 'react';
2
2
  import type { DocumentNode } from 'graphql';
3
3
  import type { ContentLinkWithLocale, ContentLink, IOptiGraphClient, InlineContentLink } from '@remkoj/optimizely-graph-client';
4
4
  import type { ContentType, BaseCmsComponent, CmsComponentWithQuery, CmsComponentWithFragment, WithGqlFragment, ContentQueryProps, CmsComponentProps } from './types.js';
5
- import type { ComponentFactory, ComponentTypeHandle } from './factory/types.js';
5
+ import type { ComponentFactory } from './factory/types.js';
6
6
  export * from './components/rich-text/utils.js';
7
7
  /**
8
8
  * Safeguard filter to remove default properties from the CmsComponent, intended
@@ -55,7 +55,7 @@ export declare function normalizeAndPrefixContentType(contentType: Array<string
55
55
  * @param variants The variants to test
56
56
  * @returns The resolved Component or undefined if not found
57
57
  */
58
- export declare function resolveComponentType(factory: ComponentFactory, type: ComponentTypeHandle, variants?: Array<string>): ReturnType<ComponentFactory['resolve']>;
58
+ export declare function resolveComponentType(factory: ComponentFactory, type: ContentType, variants?: Array<string>): ReturnType<ComponentFactory['resolve']>;
59
59
  export declare function isCmsComponentWithDataQuery<T = DocumentNode>(toTest?: BaseCmsComponent<T>): toTest is CmsComponentWithQuery<T>;
60
60
  export declare function isCmsComponentWithFragment<T = DocumentNode>(toTest?: BaseCmsComponent<T>): toTest is CmsComponentWithFragment<T>;
61
61
  export declare function validatesFragment<T extends ComponentType<any>>(toTest?: T): toTest is T & Pick<Required<WithGqlFragment<T, any>>, "validateFragment">;
package/dist/utilities.js CHANGED
@@ -1,5 +1,4 @@
1
1
  import { OptiCmsSchema } from '@remkoj/optimizely-graph-client';
2
- import { TYPE_MERGE_SYMBOL } from './factory/index.js';
3
2
  import { localeToGraphLocale } from '@remkoj/optimizely-graph-client/utils';
4
3
  //Export the Rich-Text utilities
5
4
  export * from './components/rich-text/utils.js';
@@ -91,13 +90,19 @@ export function normalizeAndPrefixContentType(contentType, prefix) {
91
90
  * @returns The resolved Component or undefined if not found
92
91
  */
93
92
  export function resolveComponentType(factory, type, variants = []) {
94
- for (const variant of variants) {
95
- const variantType = Array.isArray(type) ? [...type, variant] : type + TYPE_MERGE_SYMBOL + variant;
96
- const variantComponent = factory.resolve(variantType);
97
- if (variantComponent)
98
- return variantComponent;
93
+ const contentTypeKey = type.at(0);
94
+ if (contentTypeKey) {
95
+ for (const variant of variants) {
96
+ const variantComponent = factory.resolve(contentTypeKey, variant);
97
+ if (variantComponent)
98
+ return variantComponent;
99
+ }
100
+ const mainComponent = factory.resolve(contentTypeKey);
101
+ if (mainComponent)
102
+ return mainComponent;
99
103
  }
100
- return factory.resolve(type);
104
+ console.warn(`❌ [Component Resolution] Unable to resolve ${contentTypeKey} in any of the requested variants: ${[...variants, 'default'].join(', ')}`);
105
+ return undefined;
101
106
  }
102
107
  export function isCmsComponentWithDataQuery(toTest) {
103
108
  const toTestType = typeof (toTest);
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.js","sourceRoot":"","sources":["../src/utilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utilities.js","sourceRoot":"","sources":["../src/utilities.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,15 +1,22 @@
1
1
  {
2
2
  "name": "@remkoj/optimizely-cms-react",
3
+ "description": "React and RSC integration library for Optimizely SaaS CMS",
3
4
  "license": "Apache-2.0",
4
- "version": "6.0.0-pre9",
5
- "repository": "https://github.com/remkoj/optimizely-dxp-clients.git",
5
+ "version": "6.0.0-rc.3",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/remkoj/optimizely-dxp-clients.git",
9
+ "directory": "packages/optimizely-cms-react"
10
+ },
11
+ "bugs": "https://github.com/remkoj/optimizely-dxp-clients/issues",
6
12
  "author": "Remko Jantzen <693172+remkoj@users.noreply.github.com>",
7
- "homepage": "https://github.com/remkoj/optimizely-dxp-clients/tree/main/packages/optimizely-cms-react",
13
+ "homepage": "https://github.com/remkoj/optimizely-dxp-clients/blob/main/packages/optimizely-cms-react/README.md",
8
14
  "type": "module",
9
15
  "main": "./dist/index.js",
10
16
  "types": "./dist/index.d.ts",
11
17
  "files": [
12
- "./dist"
18
+ "./dist",
19
+ "./AGENTS.md"
13
20
  ],
14
21
  "exports": {
15
22
  ".": "./dist/index.js",
@@ -27,24 +34,24 @@
27
34
  }
28
35
  },
29
36
  "devDependencies": {
30
- "@remkoj/optimizely-graph-client": "6.0.0-pre9",
37
+ "@remkoj/optimizely-graph-client": "6.0.0-rc.3",
31
38
  "@types/crypto-js": "^4.2.2",
32
- "@types/node": "^22.18.10",
33
- "@types/react": "^19.2.2",
34
- "@types/react-dom": "^19.2.1",
39
+ "@types/node": "^24.13.3",
40
+ "@types/react": "^19.2.17",
41
+ "@types/react-dom": "^19.2.3",
35
42
  "prop-types": "^15.8.1",
36
- "react": "^19.2.0",
37
- "react-dom": "^19.2.0",
43
+ "react": "^19.2.7",
44
+ "react-dom": "^19.2.7",
38
45
  "scheduler": "^0.27.0",
39
46
  "typescript": "^5.9.3"
40
47
  },
41
48
  "dependencies": {
42
49
  "@graphql-typed-document-node/core": "^3.2.0",
43
- "@remkoj/optimizely-graph-client": "^6.0.0-pre9",
50
+ "@remkoj/optimizely-graph-client": "6.0.0-rc.3",
44
51
  "crypto-js": "^4.2.0",
45
- "entities": "^7.0.0",
46
- "graphql": "^16.11.0",
47
- "graphql-request": "^7.2.0"
52
+ "entities": "^8.0.0",
53
+ "graphql": "^16.14.2",
54
+ "graphql-request": "^7.4.0"
48
55
  },
49
56
  "peerDependencies": {
50
57
  "react": "^19",
@@ -56,5 +63,5 @@
56
63
  "watch": "tsc --watch",
57
64
  "recompile": "tsc --build --clean && tsc --build --force"
58
65
  },
59
- "stableVersion": "5.1.0"
66
+ "stableVersion": "5.2.0"
60
67
  }