@remkoj/optimizely-cms-react 6.0.0-pre12 → 6.0.0-pre14

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/README.md CHANGED
@@ -1,8 +1,7 @@
1
1
  # Optimizely SaaS CMS React Components
2
+
2
3
  > [!WARNING]
3
- > This documentation is for V3 and up. This version introduced a number of breaking changes - most notably it significantly simplified the exports.
4
- >
5
- > For some of the commonly used old exports it still contains placeholders, however those are deprecated and will be removed in a future version
4
+ > There'll be an update of Optimizely SaaS CMS that is incompatible with all SDK versions prior to 5.1.6. If you don't upgrade, you will see empty pages (main website) and "Component not found" messages (preview).
6
5
 
7
6
  This package provides two main entry points, depending on your build environment:
8
7
  - `@remkoj/optimizely-cms-react` This export contains the library, whith React components that use a client side context
@@ -46,4 +45,4 @@ An entry within the factory consists of the following fields:
46
45
  - ***type:*** The identifier of the content type, can either be an array of strings or a string. The implementation *should* normalize the type. The `DefaultComponentFactory` normalized to a string, using `/` as item separator.
47
46
  - ***component:*** The component to do the actual rendering of the data. *The factory is indifferent to the actual type, so this could be the output of `next/dynamic` to trigger bundle splitting in Next.js.*
48
47
  - ***useSuspense:*** When set to `true` the component will be wrapped in the `<Suspense></Suspense>` from React. Optional, the default value is `false`.
49
- - ***loader:*** The component to show while Suspense is awaiting the actual component. This component is given to the `fallback` property of `<Suspense>`. Optional, the default value is `undefined`.
48
+ - ***loader:*** The component to show while Suspense is awaiting the actual component. This component is given to the `fallback` property of `<Suspense>`. Optional, the default value is `undefined`.
@@ -34,7 +34,7 @@ export async function getContentType(link, gqlClient) {
34
34
  console.error(`🔴 [CmsContent][getContentType] Expected exactly one type, received ${gqlResponse.Content?.total ?? 0} types for`, gqlQueryVars);
35
35
  return undefined;
36
36
  }
37
- const contentType = normalizeContentType(gqlResponse.Content?.item?._metadata?.types);
37
+ const contentType = normalizeContentType(gqlResponse.Content?.item?.metadata?.types);
38
38
  if (!contentType) {
39
39
  console.error(`🔴 [CmsContent][getContentType] The item did not contain type information! (${contentLinkToString(link)})`);
40
40
  throw new Error("The item did not contain type information");
@@ -1 +1 @@
1
- {"version":3,"file":"get-content-type.js","sourceRoot":"","sources":["../../../src/components/cms-content/get-content-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,mBAAmB,EAAmE,MAAM,iCAAiC,CAAA;AAE1K,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AACrC,OAAO,EAAE,6BAA6B,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAIxF,MAAM,UAAU,kBAAkB,CAAI,KAAQ;IAC5C,MAAM,EAAE,GAAmB;QACzB,IAAI,EAAE,CAAe,WAAiF,EAAE,EAAE;YACxG,IAAI,CAAC,WAAW;gBACd,OAAO,KAAyC,CAAA;YAClD,OAAO,WAAW,CAAC,KAAK,CAA0B,CAAA;QACpD,CAAC;KACF,CAAA;IACD,OAAO,EAAE,CAAA;AACX,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAqC,EAAE,SAA2B;IACrG,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,4GAA4G,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACtJ,MAAM,IAAI,KAAK,CAAC,4EAA4E,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC1H,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,kFAAkF,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC5H,MAAM,IAAI,KAAK,CAAC,kDAAkD,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChG,CAAC;IAED,MAAM,YAAY,GAAG,6BAA6B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IACnE,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,OAAO,CAAyB,mBAAmB,EAAE,YAAY,CAAC,CAAA;IACtG,IAAI,WAAW,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpC,IAAI,SAAS,CAAC,KAAK;YACjB,OAAO,CAAC,KAAK,CAAC,uEAAuE,WAAW,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;QACjJ,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,oBAAoB,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;IACrF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,+EAA+E,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC1H,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,eAAe,cAAc,CAAA;AAa7B,MAAM,mBAAmB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;EAe7B,CAAA"}
1
+ {"version":3,"file":"get-content-type.js","sourceRoot":"","sources":["../../../src/components/cms-content/get-content-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,mBAAmB,EAAmE,MAAM,iCAAiC,CAAA;AAE1K,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AACrC,OAAO,EAAE,6BAA6B,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAIxF,MAAM,UAAU,kBAAkB,CAAI,KAAQ;IAC5C,MAAM,EAAE,GAAmB;QACzB,IAAI,EAAE,CAAe,WAAiF,EAAE,EAAE;YACxG,IAAI,CAAC,WAAW;gBACd,OAAO,KAAyC,CAAA;YAClD,OAAO,WAAW,CAAC,KAAK,CAA0B,CAAA;QACpD,CAAC;KACF,CAAA;IACD,OAAO,EAAE,CAAA;AACX,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAqC,EAAE,SAA2B;IACrG,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,4GAA4G,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACtJ,MAAM,IAAI,KAAK,CAAC,4EAA4E,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC1H,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,kFAAkF,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC5H,MAAM,IAAI,KAAK,CAAC,kDAAkD,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChG,CAAC;IAED,MAAM,YAAY,GAAG,6BAA6B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IACnE,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,OAAO,CAAyB,mBAAmB,EAAE,YAAY,CAAC,CAAA;IACtG,IAAI,WAAW,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpC,IAAI,SAAS,CAAC,KAAK;YACjB,OAAO,CAAC,KAAK,CAAC,uEAAuE,WAAW,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;QACjJ,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,oBAAoB,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;IACpF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,+EAA+E,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC1H,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,eAAe,cAAc,CAAA;AAa7B,MAAM,mBAAmB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;EAe7B,CAAA"}
@@ -24,22 +24,16 @@ export function resolveComponent(contentType, prefix, variant, ctx) {
24
24
  console.error(`🔴 [CmsContent][resolveComponent] No content type factory registered in the context`);
25
25
  throw new Error('Empty factory on the context');
26
26
  }
27
- // Optimizely Graph stores the type in Most Significant first order, we need least significant first, also we're stripping out the common "Content" item from it
28
- const myContentType = prefix
29
- ? Utils.normalizeAndPrefixContentType(Array.isArray(contentType) ? [...contentType].reverse() : contentType, prefix)
30
- : Utils.normalizeContentType(Array.isArray(contentType) ? [...contentType].reverse() : contentType, true);
27
+ // Make sure that we normalize the input from graph into a string array
28
+ const myContentType = Utils.normalizeContentType(contentType, false);
31
29
  // Validate that we have a value to ask the factory a component for
32
30
  if (!myContentType || myContentType.length == 0) {
33
31
  if (isDebug)
34
32
  console.error(`🔴 [CmsContent][resolveComponent] The content type ${JSON.stringify(contentType)}, with prefix ${JSON.stringify(prefix)} yielded an empty normalized type`);
35
33
  throw new Error(`The content type ${JSON.stringify(contentType)}, with prefix ${JSON.stringify(prefix)} yielded an empty normalized type`);
36
34
  }
37
- /*if (isDebug)
38
- console.log(
39
- `⚪ [CmsContent][resolveComponent] Normalized content type ${JSON.stringify(contentType)} to ${myContentType}`
40
- )*/
41
35
  // Resolve component
42
- const Component = Utils.resolveComponentType(factory, myContentType, variant ? [variant] : []);
36
+ const Component = Utils.resolveComponentType(factory, myContentType, [variant, prefix].filter(Utils.isNotNullOrUndefined));
43
37
  // Handle component not found in factory
44
38
  if (!Component) {
45
39
  const contentTypeDisplay = Array.isArray(myContentType)
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-component.js","sourceRoot":"","sources":["../../../src/components/cms-content/resolve-component.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-component.js","sourceRoot":"","sources":["../../../src/components/cms-content/resolve-component.tsx"],"names":[],"mappings":";AAEA,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAA;AAS3C,MAAM,UAAU,iBAAiB,CAAC,iBAAwC;IACxE,IAAI,CAAC,iBAAiB;QAAE,OAAO,KAAK,CAAA;IACpC,IAAI,iBAAiB,CAAC,WAAW;QAAE,OAAO,iBAAiB,CAAC,WAAW,CAAA;IACvE,IAAI,OAAO,iBAAiB,IAAI,UAAU,IAAI,iBAAiB,CAAC,IAAI;QAClE,OAAO,iBAAiB,CAAC,IAAI,CAAA;IAC/B,OAAO,iBAAiB,CAAC,QAAQ,EAAE,CAAA;AACrC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,WAAmD,EACnD,MAAiC,EACjC,OAAkC,EAClC,GAAmB;IAEnB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,GAAG,CAAA;IAE5C,sFAAsF;IACtF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,qFAAqF,CACtF,CAAA;QACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;IACjD,CAAC;IAED,uEAAuE;IACvE,MAAM,aAAa,GAAG,KAAK,CAAC,oBAAoB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAErE,mEAAmE;IACnE,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,OAAO;YACT,OAAO,CAAC,KAAK,CACX,sDAAsD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAmC,CAC5J,CAAA;QACH,MAAM,IAAI,KAAK,CACb,oBAAoB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAmC,CAC1H,CAAA;IACH,CAAC;IAED,oBAAoB;IACpB,MAAM,SAAS,GAAG,KAAK,CAAC,oBAAoB,CAC1C,OAAO,EACP,aAAa,EACb,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CACjB,CAAA;IAErC,wCAAwC;IACxC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC;YACrD,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;YACzB,CAAC,CAAC,aAAa,CAAA;QACjB,IAAI,OAAO;YACT,OAAO,CAAC,IAAI,CACV,sCAAsC,kBAAkB,2BAA2B,CACpF,CAAA;QACH,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;YAC1B,MAAM,cAAc,GAA8B,CAAC,EACjD,QAAQ,EACR,WAAW,GACZ,EAAE,EAAE,CAAC,CACJ,8BACE,eAAK,SAAS,EAAC,YAAY,qCACL,kBAAkB,oCAA+B,GAAG,EACvE,WAAW,EAAE,GAAG,IAAI,EAAE,eAAW,WAAW,EAAE,OAAO,IAAI,EAAE,IACxD,EACL,QAAQ,IACR,CACJ,CAAA;YACD,cAAc,CAAC,WAAW,GAAG,wBAAwB,CAAA;YACrD,OAAO,cAAc,CAAA;QACvB,CAAC;QACD,MAAM,cAAc,GAA8B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAA;QAC3E,cAAc,CAAC,WAAW,GAAG,wBAAwB,CAAA;QACrD,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,uBAAuB;IACvB;;;;SAIK;IACL,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,eAAe,gBAAgB,CAAA;AAQ/B,MAAM,UAAU,2BAA2B,CACzC,MAA6C;IAE7C,OAAO,MAAM,EAAE,WAAW,IAAI,wBAAwB,CAAA;AACxD,CAAC"}
@@ -1,4 +1,4 @@
1
- import { isContentType } from '../../utilities.js';
1
+ import { isContentType, isNotNullOrUndefined } from '../../utilities.js';
2
2
  import { isContentLink, isInlineContentLink } from '@remkoj/optimizely-graph-client';
3
3
  /**
4
4
  * Test if the Node within VisualBuilder is an Element
@@ -63,20 +63,13 @@ export const defaultPropsFactory = (node) => {
63
63
  return [contentLink, contentType, node.key || undefined, node.component, layoutData];
64
64
  };
65
65
  export const defaultNodePropsFactory = (node) => {
66
+ const componentMainName = node.type ? (node.layoutType === 'experience' ? node.type + "Node" : node.type) : undefined;
66
67
  const componentTypes = [
67
- // New style logic
68
- node.template && [node.template, ucFirst(node.type), ucFirst(node.layoutType), "Content"].filter(x => x),
69
- [ucFirst(node.type), ucFirst(node.layoutType), "Content"].filter(x => x),
70
- node.template && [node.template, ucFirst(node.layoutType), "Content"].filter(x => x),
71
- node.template && [node.template, "Styles", ucFirst(node.layoutType), "Content"].filter(x => x),
72
- node.template && [node.template, ucFirst(node.layoutType), "Nodes", "Content"].filter(x => x),
73
- // Old style logic
74
- [node.template, ucFirst(node.type), ucFirst(node.layoutType), "Component", "Content"].filter(x => x),
75
- (node.template && node.type) ? [node.type ? ucFirst(node.type) : null, ucFirst(node.layoutType), "Component", "Content"].filter(x => x) : null,
76
- // Fallback
77
- ["Node", "Content"],
78
- ["Node", "Component", "Content"]
79
- ].filter(x => x);
68
+ componentMainName ? [componentMainName] : undefined,
69
+ node.template ? [node.template] : undefined,
70
+ [ucFirst(node.layoutType) + 'Node'],
71
+ ['Node']
72
+ ].filter(isNotNullOrUndefined);
80
73
  const contentLink = { key: node.key ?? '', isInline: true };
81
74
  const componentData = { __name: node.name, ...node.component };
82
75
  const layoutData = {
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/components/visual-builder/functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/components/visual-builder/functions.ts"],"names":[],"mappings":"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"}
@@ -27,11 +27,11 @@ export function OptimizelyComposition({ node, leafPropsFactory = defaultPropsFac
27
27
  throw new Error('🟡 [VisualBuilder] [OptimizelyComposition] The factory must be defined within the Context');
28
28
  const [contentLink, contentTypes, nodeId, fragmentData, layoutProps] = nodePropsFactory(node);
29
29
  const firstExistingType = contentTypes
30
- .map((ct) => factory.has([...ct].reverse()))
30
+ .map((ct) => factory.has(Array.isArray(ct) ? [...ct].reverse() : ct))
31
31
  .indexOf(true);
32
32
  const contentType = contentTypes[firstExistingType];
33
33
  if (!contentType)
34
- throw new Error(`🟡 [VisualBuilder] [OptimizelyComposition] The factory must have a definition for one of these types: ${contentTypes.map((x) => x.join('/')).join(', ')}`);
34
+ throw new Error(`🟡 [VisualBuilder] [OptimizelyComposition] The factory must have a definition for one of these types: ${contentTypes.map((x) => Array.isArray(x) ? x.join('/') : x).join(', ')}`);
35
35
  return (_jsx(CmsContent, { contentType: contentType, contentLink: contentLink, fragmentData: fragmentData, layoutProps: layoutProps, editorComponentId: nodeId || contentLink.key || undefined, noDataLoad: true, ctx: ctx, children: (node.nodes ?? []).map((child) => {
36
36
  const childKey = child.key ? child.key : `vb::${JSON.stringify(child)}`;
37
37
  return (_jsx(OptimizelyComposition, { node: child, leafPropsFactory: leafPropsFactory, nodePropsFactory: nodePropsFactory, ctx: ctx, cmsContent: CmsContent }, childKey));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/visual-builder/index.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,gBAAgB,CAAA;AAIvB;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,EACpC,IAAI,EACJ,gBAAgB,GAAG,mBAAmB,EACtC,gBAAgB,GAAG,uBAAuB,EAC1C,GAAG,EACH,UAAU,EAAE,UAAU,GACS;IAC/B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,GAAG,CAAA;IAEhC,qBAAqB;IACrB,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B;;;aAGK;QACL,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,CAAC,GACjE,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACxB,OAAO,CACL,KAAC,UAAU,IACT,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,MAAM,IAAI,WAAW,CAAC,GAAG,IAAI,SAAS,EACzD,GAAG,EAAE,GAAG,GACR,CACH,CAAA;IACH,CAAC;IAED,QAAQ;IACR;;;SAGK;IAEL,6BAA6B;IAC7B,IAAI,CAAC,OAAO;QACV,MAAM,IAAI,KAAK,CACb,2FAA2F,CAC5F,CAAA;IAEH,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,CAAC,GAClE,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACxB,MAAM,iBAAiB,GAAG,YAAY;SACnC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;SAC3C,OAAO,CAAC,IAAI,CAAC,CAAA;IAChB,MAAM,WAAW,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAA;IACnD,IAAI,CAAC,WAAW;QACd,MAAM,IAAI,KAAK,CACb,yGAAyG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC3J,CAAA;IAEH,OAAO,CACL,KAAC,UAAU,IACT,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,MAAM,IAAI,WAAW,CAAC,GAAG,IAAI,SAAS,EACzD,UAAU,QACV,GAAG,EAAE,GAAG,YAEP,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAA;YACvE,OAAO,CACL,KAAC,qBAAqB,IAEpB,IAAI,EAAE,KAAK,EACX,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,IALjB,QAAQ,CAMb,CACH,CAAA;QACH,CAAC,CAAC,GACS,CACd,CAAA;AACH,CAAC;AAED,eAAe,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/visual-builder/index.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,gBAAgB,CAAA;AAIvB;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,EACpC,IAAI,EACJ,gBAAgB,GAAG,mBAAmB,EACtC,gBAAgB,GAAG,uBAAuB,EAC1C,GAAG,EACH,UAAU,EAAE,UAAU,GACS;IAC/B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,GAAG,CAAA;IAEhC,qBAAqB;IACrB,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B;;;aAGK;QACL,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,CAAC,GACjE,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACxB,OAAO,CACL,KAAC,UAAU,IACT,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,MAAM,IAAI,WAAW,CAAC,GAAG,IAAI,SAAS,EACzD,GAAG,EAAE,GAAG,GACR,CACH,CAAA;IACH,CAAC;IAED,QAAQ;IACR;;;SAGK;IAEL,6BAA6B;IAC7B,IAAI,CAAC,OAAO;QACV,MAAM,IAAI,KAAK,CACb,2FAA2F,CAC5F,CAAA;IAEH,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,CAAC,GAClE,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACxB,MAAM,iBAAiB,GAAG,YAAY;SACnC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACpE,OAAO,CAAC,IAAI,CAAC,CAAA;IAChB,MAAM,WAAW,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAA;IACnD,IAAI,CAAC,WAAW;QACd,MAAM,IAAI,KAAK,CACb,yGAAyG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClL,CAAA;IAEH,OAAO,CACL,KAAC,UAAU,IACT,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,MAAM,IAAI,WAAW,CAAC,GAAG,IAAI,SAAS,EACzD,UAAU,QACV,GAAG,EAAE,GAAG,YAEP,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAA;YACvE,OAAO,CACL,KAAC,qBAAqB,IAEpB,IAAI,EAAE,KAAK,EACX,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,IALjB,QAAQ,CAMb,CACH,CAAA;QACH,CAAC,CAAC,GACS,CACd,CAAA;AACH,CAAC;AAED,eAAe,qBAAqB,CAAA"}
@@ -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
  }
@@ -15,6 +15,15 @@ export class DefaultComponentFactory {
15
15
  */
16
16
  constructor(initialComponents) {
17
17
  this.registry = new Map();
18
+ /**
19
+ * A list of interfaces to ignore when resolving components. Adjust this
20
+ * list if you're experiencing issues with resolving components due to
21
+ * contracts. Values **must be** provided lowercase and without leading
22
+ * underscore. For example `_Item` must be provided as `item`.
23
+ *
24
+ * The default value includes the common ones for SaaS CMS.
25
+ */
26
+ this.ignoredContracts = ['item', 'assetitem', 'imageitem', 'content'];
18
27
  // Resolve debug mode
19
28
  try {
20
29
  this.dbg = process.env.OPTIMIZELY_DEBUG == '1';
@@ -26,26 +35,27 @@ export class DefaultComponentFactory {
26
35
  if (initialComponents)
27
36
  this.registerAll(initialComponents);
28
37
  }
29
- register(type, component, useSuspense = false, loader) {
30
- const registryKey = processComponentTypeHandle(type);
31
- this.registry.set(registryKey, { type, component, useSuspense, loader });
38
+ register(type, component, useSuspense = false, loader, variant = 'default') {
39
+ const registryKey = this.processComponentTypeHandle(type, variant);
40
+ if (this.dbg)
41
+ console.log(`➕ [DefaultComponentFactory] Registering ${registryKey}`);
42
+ this.registry.set(registryKey, { type: registryKey, component, useSuspense, loader, variant });
32
43
  }
33
44
  registerAll(components) {
34
- components.forEach((c) => {
35
- const registryKey = processComponentTypeHandle(c.type);
36
- this.registry.set(registryKey, c);
37
- });
45
+ components.forEach(c => this.register(c.type, c.component, c.useSuspense, c.loader, c.variant));
38
46
  }
39
- has(type) {
40
- const registryKey = processComponentTypeHandle(type);
47
+ has(type, variant = 'default') {
48
+ const registryKey = this.processComponentTypeHandle(type, variant);
49
+ if (this.dbg)
50
+ console.log(`🔎 [DefaultComponentFactory] Checking for ${registryKey} - ${this.registry.has(registryKey) ? 'YES' : 'NO'}`);
41
51
  return this.registry.has(registryKey);
42
52
  }
43
- resolve(type) {
44
- const registryKey = processComponentTypeHandle(type);
53
+ resolve(type, variant = 'default') {
54
+ const registryKey = this.processComponentTypeHandle(type, variant);
45
55
  const entry = this.registry.get(registryKey);
46
56
  if (!entry) {
47
57
  if (this.dbg)
48
- console.warn(`⚡ [DefaultComponentFactory] Unable to resolve ${registryKey}`);
58
+ console.warn(`❌ [DefaultComponentFactory] Unable to resolve ${registryKey}, this will prevent the item from rendering`);
49
59
  return undefined; // The key is not registered in the factory
50
60
  }
51
61
  if (entry.useSuspense != true)
@@ -64,23 +74,32 @@ export class DefaultComponentFactory {
64
74
  });
65
75
  }
66
76
  remove(type) {
67
- const registryKey = processComponentTypeHandle(type);
77
+ const registryKey = this.processComponentTypeHandle(type);
68
78
  if (this.dbg)
69
79
  console.log(`🔎 [DefaultComponentFactory] Removing ${registryKey}`);
70
80
  if (!this.registry.has(registryKey))
71
81
  return true;
72
82
  return this.registry.delete(registryKey);
73
83
  }
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}`);
84
+ /**
85
+ * Process the component variant handle into
86
+ *
87
+ * @param handle
88
+ * @param variant
89
+ * @returns
90
+ */
91
+ processComponentTypeHandle(handle, variant) {
92
+ let handleToProcess = typeof handle === 'string' ? handle.split(MERGE_SYMBOL) : [...handle];
93
+ if (Array.isArray(handleToProcess) && handleToProcess.every((s) => typeof s === 'string')) {
94
+ const offset = (['component', 'page', 'experience'].includes(handleToProcess.at(handleToProcess.length - 3)?.toLowerCase() ?? '') &&
95
+ !['row', 'column', 'section', 'experience', 'media'].includes(handleToProcess.at(handleToProcess.length - 2)?.toLowerCase() ?? '')) ? 1 : 0;
96
+ const typeName = handleToProcess.at(handleToProcess.length - (1 + offset));
97
+ const prefix = handleToProcess.at(handleToProcess.length - (2 + offset)) === 'RichText' ? 'RichText/' : '';
98
+ const actualVariant = offset > 0 ? handleToProcess.at(handleToProcess.length - 1) ?? variant ?? 'default' : variant ?? 'default';
99
+ const newHandle = prefix + typeName + '/' + actualVariant;
100
+ return newHandle;
101
+ }
102
+ throw new Error(`Invalid component type handle: ${typeof handle}`);
103
+ }
85
104
  }
86
105
  //# 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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"}
@@ -25,18 +25,31 @@ 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;
28
32
  };
29
33
  /**
30
34
  * Component Factory
31
35
  */
32
36
  export interface ComponentFactory {
37
+ /**
38
+ * A list of interfaces to ignore when resolving components. Adjust this
39
+ * list if you're experiencing issues with resolving components due to
40
+ * contracts. Values **must be** provided lowercase and without leading
41
+ * underscore. For example `_Item` must be provided as `item`.
42
+ *
43
+ * The default value includes the common ones for SaaS CMS.
44
+ */
45
+ ignoredContracts: string[];
33
46
  /**
34
47
  * Check if the component type has been registered within the factory
35
48
  *
36
49
  * @param type The component type to check for
37
50
  * @returns Whether or not the type exists within the factory
38
51
  */
39
- has(type: ComponentTypeHandle): boolean;
52
+ has(type: ComponentTypeHandle, variant?: string): boolean;
40
53
  /**
41
54
  * Register an individual component. When the component type has already
42
55
  * been registered it will be updated.
@@ -45,8 +58,9 @@ export interface ComponentFactory {
45
58
  * @param component The component to bind to the type
46
59
  * @param useSuspense If set to 'true' the registered component will be wrapped in <Suspense />
47
60
  * @param loader The component to use as "loading" state by the <Suspense />
61
+ * @param variant The specific variant of the component (for example 'header', 'footer', 'menu')
48
62
  */
49
- register(type: ComponentTypeHandle, component: ComponentType, useSuspense?: boolean, loader?: ComponentType): void;
63
+ register(type: ComponentTypeHandle, component: ComponentType, useSuspense?: boolean, loader?: ComponentType, variant?: string): void;
50
64
  /**
51
65
  * Register all components provided through the dictionary. When the
52
66
  * component type has already been registered it will be updated.
@@ -59,17 +73,18 @@ export interface ComponentFactory {
59
73
  * the implemenation supports it.
60
74
  *
61
75
  * @param type The component type to remove
76
+ * @param variant The variant of the component type, will remove all if not specified
62
77
  * @returns `true` If the component was not found or removed, `false`
63
78
  * otherwise
64
79
  */
65
- remove?: (type: ComponentTypeHandle) => boolean;
80
+ remove?: (type: ComponentTypeHandle, variant?: string) => boolean;
66
81
  /**
67
82
  * Resolve a component type
68
83
  *
69
84
  * @param type The type to search the component for
70
85
  * @returns The component that was resolved for the provided type
71
86
  */
72
- resolve(type: ComponentTypeHandle): ComponentType | undefined;
87
+ resolve(type: ComponentTypeHandle, variant?: string): ComponentType | undefined;
73
88
  /**
74
89
  * Retrieve the registered components as a dictionary that can be used to
75
90
  * 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"}
@@ -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,7 +1,7 @@
1
1
  {
2
2
  "name": "@remkoj/optimizely-cms-react",
3
3
  "license": "Apache-2.0",
4
- "version": "6.0.0-pre12",
4
+ "version": "6.0.0-pre14",
5
5
  "repository": "https://github.com/remkoj/optimizely-dxp-clients.git",
6
6
  "author": "Remko Jantzen <693172+remkoj@users.noreply.github.com>",
7
7
  "homepage": "https://github.com/remkoj/optimizely-dxp-clients/tree/main/packages/optimizely-cms-react",
@@ -27,24 +27,24 @@
27
27
  }
28
28
  },
29
29
  "devDependencies": {
30
- "@remkoj/optimizely-graph-client": "6.0.0-pre12",
30
+ "@remkoj/optimizely-graph-client": "6.0.0-pre14",
31
31
  "@types/crypto-js": "^4.2.2",
32
- "@types/node": "^22.18.13",
33
- "@types/react": "^19.2.2",
34
- "@types/react-dom": "^19.2.2",
32
+ "@types/node": "^22.19.6",
33
+ "@types/react": "^19.2.8",
34
+ "@types/react-dom": "^19.2.3",
35
35
  "prop-types": "^15.8.1",
36
- "react": "^19.2.0",
37
- "react-dom": "^19.2.0",
36
+ "react": "^19.2.3",
37
+ "react-dom": "^19.2.3",
38
38
  "scheduler": "^0.27.0",
39
39
  "typescript": "^5.9.3"
40
40
  },
41
41
  "dependencies": {
42
42
  "@graphql-typed-document-node/core": "^3.2.0",
43
- "@remkoj/optimizely-graph-client": "6.0.0-pre12",
43
+ "@remkoj/optimizely-graph-client": "6.0.0-pre14",
44
44
  "crypto-js": "^4.2.0",
45
45
  "entities": "^7.0.0",
46
- "graphql": "^16.11.0",
47
- "graphql-request": "^7.3.1"
46
+ "graphql": "^16.12.0",
47
+ "graphql-request": "^7.4.0"
48
48
  },
49
49
  "peerDependencies": {
50
50
  "react": "^19",
@@ -56,5 +56,5 @@
56
56
  "watch": "tsc --watch",
57
57
  "recompile": "tsc --build --clean && tsc --build --force"
58
58
  },
59
- "stableVersion": "5.1.0"
59
+ "stableVersion": "5.2.0"
60
60
  }