@remkoj/optimizely-cms-react 5.1.5 → 6.0.0-pre10

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 (50) hide show
  1. package/dist/components/cms-content/get-content-type.js +8 -17
  2. package/dist/components/cms-content/get-content-type.js.map +1 -1
  3. package/dist/components/cms-content/get-content.js +41 -59
  4. package/dist/components/cms-content/get-content.js.map +1 -1
  5. package/dist/components/cms-content/resolve-component.js +9 -4
  6. package/dist/components/cms-content/resolve-component.js.map +1 -1
  7. package/dist/components/cms-content/rsc.js +3 -5
  8. package/dist/components/cms-content/rsc.js.map +1 -1
  9. package/dist/components/cms-content-area/index.js +3 -3
  10. package/dist/components/cms-content-area/index.js.map +1 -1
  11. package/dist/components/cms-editable/index.js +7 -5
  12. package/dist/components/cms-editable/index.js.map +1 -1
  13. package/dist/components/rich-text/components.d.ts +1 -1
  14. package/dist/components/rich-text/index.d.ts +2 -1
  15. package/dist/components/rich-text/index.js +6 -3
  16. package/dist/components/rich-text/index.js.map +1 -1
  17. package/dist/components/rsc-components.d.ts +31 -0
  18. package/dist/components/rsc-components.js +53 -0
  19. package/dist/components/rsc-components.js.map +1 -0
  20. package/dist/components/rsc.d.ts +2 -45
  21. package/dist/components/rsc.js +1 -51
  22. package/dist/components/rsc.js.map +1 -1
  23. package/dist/components/type-utils.d.ts +1 -1
  24. package/dist/components/visual-builder/functions.js +1 -1
  25. package/dist/components/visual-builder/functions.js.map +1 -1
  26. package/dist/components/visual-builder/index.js +9 -5
  27. package/dist/components/visual-builder/index.js.map +1 -1
  28. package/dist/components/visual-builder/types.d.ts +2 -1
  29. package/dist/context/client.js +5 -2
  30. package/dist/context/client.js.map +1 -1
  31. package/dist/context/rsc.d.ts +1 -1
  32. package/dist/context/rsc.js +14 -43
  33. package/dist/context/rsc.js.map +1 -1
  34. package/dist/context/shared.js +2 -1
  35. package/dist/context/shared.js.map +1 -1
  36. package/dist/context/types.d.ts +3 -11
  37. package/dist/factory/default.js +0 -5
  38. package/dist/factory/default.js.map +1 -1
  39. package/dist/factory/types.d.ts +1 -1
  40. package/dist/rsc.d.ts +1 -0
  41. package/dist/rsc.js +1 -0
  42. package/dist/rsc.js.map +1 -1
  43. package/dist/types.d.ts +5 -3
  44. package/dist/utilities.d.ts +54 -4
  45. package/dist/utilities.js +100 -7
  46. package/dist/utilities.js.map +1 -1
  47. package/package.json +23 -25
  48. package/dist/components.d.ts +0 -29
  49. package/dist/components.js +0 -24
  50. package/dist/components.js.map +0 -1
@@ -1,53 +1,10 @@
1
1
  import 'server-only';
2
- import { type ReactNode, type ComponentType } from 'react';
3
- import { type PropsWithContext, type PropsWithOptionalContext } from '../context/types.js';
4
- import { type CmsContentAreaComponent } from './cms-content-area/index.js';
5
- import { type CmsEditableComponent } from './cms-editable/index.js';
6
- import { type CmsContentComponent } from './cms-content/rsc.js';
7
- import { type OptimizelyCompositionComponent } from './visual-builder/index.js';
8
- import { type RichTextComponent } from './rich-text/index.js';
9
2
  export type { BaseStyleDefinition, ElementStyleDefinition, LayoutProps, LayoutPropsSetting, LayoutPropsSettingChoices, LayoutPropsSettingKeys, LayoutPropsSettingValues, NodeStyleDefinition, StyleDefinition, StyleSetting, } from './cms-styles/index.js';
10
3
  export { extractSettings, readSetting } from './cms-styles/index.js';
11
4
  export * from './cms-styles/index.js';
12
5
  export { isNode, isComponentNode, isComponentNodeOfType, isStructureNode, isElementNode, } from './visual-builder/functions.js';
13
- /**
14
- * Fallback while RSC hasn't been moved from Canary to Main
15
- */
16
- type ReactServerComponentType<P = any> = ComponentType<P> | ((props: P) => Promise<ReactNode>);
17
- /**
18
- * Wrapper function to turn context dependant components into easy to use
19
- * server components
20
- *
21
- * @param component The component where the `ctx` parameter must be fulfilled
22
- * @returns The component, without CTX parameter
23
- */
24
- export declare function serverContextAware<P extends PropsWithContext>(component: ReactServerComponentType<P>): ComponentType<PropsWithOptionalContext<Omit<P, 'ctx'>>>;
25
- /**
26
- * Client side Optimizely CMS Editable
27
- */
28
- export declare const CmsEditable: CmsEditableComponent;
29
- /**
30
- * Client side Optimizely CMS Content, leveraging the CMS Context to load the
31
- * content type and content data when needed
32
- */
33
- export declare const CmsContent: CmsContentComponent;
34
- export type { CmsContentComponent, CmsContentProps } from './cms-content/rsc.js';
35
- /**
36
- * Client side Optimizely CMS Content Area, leveraging the CMS Context to infer
37
- * the connection to Optimizely Graph and component dictionary.
38
- */
39
- export declare const CmsContentArea: CmsContentAreaComponent;
40
- export type { CmsContentAreaClassMapper, CmsContentAreaComponent, CmsContentAreaProps, ContentAreaItemDefinition, } from './cms-content-area/index.js';
41
- /**
42
- * Client side Optimizely Composition (e.g. Visual Builder), leveraging the CMS
43
- * Context to infer the connection to Optimizely Graph and component
44
- * dictionary.
45
- */
46
- export declare const OptimizelyComposition: OptimizelyCompositionComponent;
47
- /**
48
- * Client side renderer for Rich Text
49
- */
50
- export declare const RichText: RichTextComponent;
6
+ export type { CompositionNode, CompositionNodeBase, CompositionComponentNode, CompositionStructureNode, CompositionComponentType, LeafPropsFactory, NodePropsFactory, } from './visual-builder/types.js';
7
+ export { StructureNodeTypes, } from './visual-builder/types.js';
51
8
  export type { RichTextComponent, RichTextProps, RichTextNode, StringNode, TypedNode, NodeInput, } from './rich-text/index.js';
52
9
  export { DefaultComponents as RichTextComponentDictionary, createHtmlComponent, } from './rich-text/components.js';
53
10
  export { isNodeInput, isNonEmptyString, isRichTextNode, isStringNode, isText, isTypedNode, } from './rich-text/utils.js';
@@ -1,59 +1,9 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
1
  import 'server-only';
3
- import { getServerContext } from '../context/rsc.js';
4
- import { cmsContentAware } from './cms-content/utils.js';
5
- import { CmsContentArea as BaseContentArea, } from './cms-content-area/index.js'; // Both RSC & Client capable
6
- import { CmsEditable as BaseEditable, } from './cms-editable/index.js'; // Both RSC & Client capable
7
- import { CmsContent as BaseCmsContent, } from './cms-content/rsc.js'; // Different components for RSC & Client
8
- import { OptimizelyComposition as BaseOptimizelyComposition, } from './visual-builder/index.js'; // Both RSC & Client capable
9
- import { RichText as BaseRichText, } from './rich-text/index.js';
10
2
  export { extractSettings, readSetting } from './cms-styles/index.js';
11
3
  export * from './cms-styles/index.js';
12
4
  // Visual Builder items
13
5
  export { isNode, isComponentNode, isComponentNodeOfType, isStructureNode, isElementNode, } from './visual-builder/functions.js';
14
- /**
15
- * Wrapper function to turn context dependant components into easy to use
16
- * server components
17
- *
18
- * @param component The component where the `ctx` parameter must be fulfilled
19
- * @returns The component, without CTX parameter
20
- */
21
- export function serverContextAware(component) {
22
- const BaseComponent = component;
23
- const ServerContextInjector = ({ ctx, ...props }) => {
24
- if (!ctx)
25
- console.error(`🔴 [ServerContextAware] Context for context aware component ${BaseComponent.displayName ?? BaseComponent.name ?? '[ANONYMOUS]'} is not defined!`);
26
- const cmpCtx = ctx || getServerContext();
27
- const componentProps = { ...props, ctx: cmpCtx };
28
- return _jsx(BaseComponent, { ...componentProps });
29
- };
30
- ServerContextInjector.displayName = 'Server Context Injector';
31
- return ServerContextInjector;
32
- }
33
- /**
34
- * Client side Optimizely CMS Editable
35
- */
36
- export const CmsEditable = serverContextAware(BaseEditable);
37
- /**
38
- * Client side Optimizely CMS Content, leveraging the CMS Context to load the
39
- * content type and content data when needed
40
- */
41
- export const CmsContent = serverContextAware(BaseCmsContent);
42
- /**
43
- * Client side Optimizely CMS Content Area, leveraging the CMS Context to infer
44
- * the connection to Optimizely Graph and component dictionary.
45
- */
46
- export const CmsContentArea = cmsContentAware(serverContextAware(BaseContentArea), CmsContent);
47
- /**
48
- * Client side Optimizely Composition (e.g. Visual Builder), leveraging the CMS
49
- * Context to infer the connection to Optimizely Graph and component
50
- * dictionary.
51
- */
52
- export const OptimizelyComposition = cmsContentAware(serverContextAware(BaseOptimizelyComposition), CmsContent);
53
- /**
54
- * Client side renderer for Rich Text
55
- */
56
- export const RichText = serverContextAware(BaseRichText);
6
+ export { StructureNodeTypes, } from './visual-builder/types.js';
57
7
  export { DefaultComponents as RichTextComponentDictionary, createHtmlComponent, } from './rich-text/components.js';
58
8
  export { isNodeInput, isNonEmptyString, isRichTextNode, isStringNode, isText, isTypedNode, } from './rich-text/utils.js';
59
9
  //# sourceMappingURL=rsc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rsc.js","sourceRoot":"","sources":["../../src/components/rsc.tsx"],"names":[],"mappings":";AAAA,OAAO,aAAa,CAAA;AAMpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,OAAO,EACL,cAAc,IAAI,eAAe,GAElC,MAAM,6BAA6B,CAAA,CAAC,4BAA4B;AACjE,OAAO,EACL,WAAW,IAAI,YAAY,GAE5B,MAAM,yBAAyB,CAAA,CAAC,4BAA4B;AAC7D,OAAO,EACL,UAAU,IAAI,cAAc,GAG7B,MAAM,sBAAsB,CAAA,CAAC,wCAAwC;AACtE,OAAO,EACL,qBAAqB,IAAI,yBAAyB,GAEnD,MAAM,2BAA2B,CAAA,CAAC,4BAA4B;AAC/D,OAAO,EACL,QAAQ,IAAI,YAAY,GAEzB,MAAM,sBAAsB,CAAA;AAe7B,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACpE,cAAc,uBAAuB,CAAA;AAErC,uBAAuB;AACvB,OAAO,EACL,MAAM,EACN,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,aAAa,GACd,MAAM,+BAA+B,CAAA;AAStC;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,SAAsC;IAEtC,MAAM,aAAa,GAAG,SAA6B,CAAA;IAEnD,MAAM,qBAAqB,GAEvB,CAAC,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;QACxB,IAAI,CAAC,GAAG;YACN,OAAO,CAAC,KAAK,CACX,+DAA+D,aAAa,CAAC,WAAW,IAAI,aAAa,CAAC,IAAI,IAAI,aAAa,kBAAkB,CAClJ,CAAA;QACH,MAAM,MAAM,GAAG,GAAG,IAAI,gBAAgB,EAAE,CAAA;QACxC,MAAM,cAAc,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,MAAM,EAAO,CAAA;QACrD,OAAO,KAAC,aAAa,OAAK,cAAc,GAAI,CAAA;IAC9C,CAAC,CAAA;IACD,qBAAqB,CAAC,WAAW,GAAG,yBAAyB,CAAA;IAC7D,OAAO,qBAAqB,CAAA;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,kBAAkB,CAC3C,YAAY,CACW,CAAA;AAEzB;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,kBAAkB,CAC1C,cAAoD,CAC9B,CAAA;AAGxB;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,eAAe,CAC3C,kBAAkB,CAAC,eAAe,CAAC,EACnC,UAAU,CACgB,CAAA;AAQ5B;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,eAAe,CAClD,kBAAkB,CAAC,yBAAyB,CAAC,EAC7C,UAAU,CACuB,CAAA;AAEnC;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,YAAY,CAAsB,CAAA;AAS7E,OAAO,EACL,iBAAiB,IAAI,2BAA2B,EAChD,mBAAmB,GACpB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,MAAM,EACN,WAAW,GACZ,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"rsc.js","sourceRoot":"","sources":["../../src/components/rsc.tsx"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAepB,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACpE,cAAc,uBAAuB,CAAA;AAErC,uBAAuB;AACvB,OAAO,EACL,MAAM,EACN,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,aAAa,GACd,MAAM,+BAA+B,CAAA;AAYtC,OAAO,EACL,kBAAkB,GACnB,MAAM,2BAA2B,CAAA;AAUlC,OAAO,EACL,iBAAiB,IAAI,2BAA2B,EAChD,mBAAmB,GACpB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,MAAM,EACN,WAAW,GACZ,MAAM,sBAAsB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import type { GenericContext } from "../rsc.js";
2
- import type { PropsWithChildren } from "react";
2
+ import type { PropsWithChildren, JSX } from "react";
3
3
  /**
4
4
  * Define an element as a React Component, React ExoticComponent or string name
5
5
  * representing a HTML Element (e.g. "div", "a", etc...), this value can be used
@@ -78,7 +78,7 @@ export const defaultNodePropsFactory = (node) => {
78
78
  ["Node", "Component", "Content"]
79
79
  ].filter(x => x);
80
80
  const contentLink = { key: node.key ?? '', isInline: true };
81
- const componentData = { __name: node.name };
81
+ const componentData = { __name: node.name, ...node.component };
82
82
  const layoutData = {
83
83
  type: node.type,
84
84
  layoutType: node.layoutType,
@@ -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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"}
@@ -10,17 +10,21 @@ export function OptimizelyComposition({ node, leafPropsFactory = defaultPropsFac
10
10
  const { factory, isDebug } = ctx;
11
11
  // Render the element
12
12
  if (isComponentNode(node)) {
13
- if (isDebug)
14
- console.log(`⚪ [VisualBuilder] Rendering element node ${JSON.stringify(node)}`);
13
+ /*if (isDebug)
14
+ console.log(
15
+ `⚪ [VisualBuilder] Rendering element node ${JSON.stringify(node)}`
16
+ )*/
15
17
  const [contentLink, contentType, nodeId, fragmentData, layoutProps] = leafPropsFactory(node);
16
18
  return (_jsx(CmsContent, { contentLink: contentLink, contentType: contentType, fragmentData: fragmentData, layoutProps: layoutProps, editorComponentId: nodeId || contentLink.key || undefined, ctx: ctx }));
17
19
  }
18
20
  // Debug
19
- if (isDebug)
20
- console.log(`⚪ [VisualBuilder] Rendering structure node ${JSON.stringify(node)}`);
21
+ /*if (isDebug)
22
+ console.log(
23
+ `⚪ [VisualBuilder] Rendering structure node ${JSON.stringify(node)}`
24
+ )*/
21
25
  // Ensure we've got a factory
22
26
  if (!factory)
23
- throw new Error('🟡 [VisualBuilder] [OptimizelyComposition] The factory must be defined within the serverContext');
27
+ throw new Error('🟡 [VisualBuilder] [OptimizelyComposition] The factory must be defined within the Context');
24
28
  const [contentLink, contentTypes, nodeId, fragmentData, layoutProps] = nodePropsFactory(node);
25
29
  const firstExistingType = contentTypes
26
30
  .map((ct) => factory.has([...ct].reverse()))
@@ -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,IAAI,OAAO;YACT,OAAO,CAAC,GAAG,CACT,4CAA4C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CACnE,CAAA;QACH,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,IAAI,OAAO;QACT,OAAO,CAAC,GAAG,CACT,8CAA8C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CACrE,CAAA;IAEH,6BAA6B;IAC7B,IAAI,CAAC,OAAO;QACV,MAAM,IAAI,KAAK,CACb,iGAAiG,CAClG,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,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,4 +1,4 @@
1
- import { type ComponentType, type PropsWithChildren } from "react";
1
+ import { type ComponentType, type PropsWithChildren, type JSX } from "react";
2
2
  import { type InlineContentLinkWithLocale, type ContentLinkWithLocale } from "@remkoj/optimizely-graph-client";
3
3
  import { type ContentType } from "../../types.js";
4
4
  import { type PropsWithContext, type PropsWithOptionalContext } from "../../context/types.js";
@@ -22,6 +22,7 @@ export type CompositionNodeBase = {
22
22
  export type CompositionStructureNode = CompositionNodeBase & {
23
23
  layoutType: "experience" | "section" | "row" | "column";
24
24
  nodes?: Array<CompositionNode>;
25
+ component?: Record<string, any>;
25
26
  };
26
27
  export type CompositionComponentNode<E extends Record<string, any> = Record<string, any>> = CompositionNodeBase & {
27
28
  layoutType: "component";
@@ -13,8 +13,11 @@ export var OptimizelyCmsMode;
13
13
  })(OptimizelyCmsMode || (OptimizelyCmsMode = {}));
14
14
  export class ClientContextInstance {
15
15
  constructor(cfg, components) {
16
- if (cfg.clientConfig)
17
- this.client = createClient(cfg.clientConfig);
16
+ this.client = isOptiGraphClient(cfg.client)
17
+ ? cfg.client
18
+ : isOptiGraphConfig(cfg.client)
19
+ ? createClient(cfg.client)
20
+ : createClient();
18
21
  this.factory = new DefaultComponentFactory(components);
19
22
  this.inEditMode = cfg.inEditMode;
20
23
  this.inPreviewMode = cfg.inPreviewMode;
@@ -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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"}
@@ -48,7 +48,7 @@ export declare class ServerContext implements GenericContext {
48
48
  * @deprecated Use the context handed down through the CmsContentArea and CmsContent
49
49
  * components
50
50
  */
51
- export declare const getServerContext: () => ServerContext;
51
+ export declare const getServerContext: () => never;
52
52
  /**
53
53
  * Update the shared server context from the provided context. This is compatibility
54
54
  * method to ensure that the value returned by `getServerContext` can be retrieved and
@@ -1,6 +1,5 @@
1
1
  import 'server-only';
2
2
  import { createClient, isOptiGraphClient, } from '@remkoj/optimizely-graph-client';
3
- import React from 'react';
4
3
  import { DefaultComponentFactory, } from '../factory/index.js';
5
4
  import { isDebug, isDevelopment } from '../rsc-utilities.js';
6
5
  export * from './types.js';
@@ -90,20 +89,25 @@ export class ServerContext {
90
89
  setEditableContentIsExperience(isExperience) {
91
90
  this._editableIsExperience = isExperience;
92
91
  }
92
+ //private _hasWarned: boolean = false;
93
93
  toJSON(key) {
94
- if (this.isDebugOrDevelopment) {
95
- console.warn('🦺 [ServerContext] Converting Context to JSON, this is typically a side effect of the context being passed between Server & Client components');
96
- if (this.isDebug) {
97
- console.trace('The conversion happened here');
98
- }
99
- }
94
+ /*if (this.isDebugOrDevelopment) {
95
+ if (!this._hasWarned || this.isDebug) {
96
+ console.warn(
97
+ '🦺 [ServerContext] Converting Context to JSON, this is typically a side effect of the context being passed between Server & Client components', key
98
+ )
99
+ this._hasWarned = true
100
+ }
101
+ if (this.isDebug)
102
+ console.trace()
103
+ }*/
100
104
  return {
105
+ client: this.client?.toJSON(),
101
106
  inEditMode: this.inEditMode,
102
107
  inPreviewMode: this.inPreviewMode,
103
108
  isDebug: this.isDebug,
104
109
  isDebugOrDevelopment: this.isDebugOrDevelopment,
105
110
  isDevelopment: this.isDevelopment,
106
- clientConfig: this.client?.toJSON(),
107
111
  locale: this.locale,
108
112
  };
109
113
  }
@@ -121,9 +125,7 @@ export class ServerContext {
121
125
  * components
122
126
  */
123
127
  export const getServerContext = () => {
124
- if (isDebug())
125
- console.debug('🦺 [ServerContext] getServerContext has been deprecated, this provides an instance of the Server Context that is potentially shared between requests');
126
- return internalGetServerContext();
128
+ throw new Error('🦺 [ServerContext] getServerContext has been removed, due to potential leakage across requests');
127
129
  };
128
130
  /**
129
131
  * Update the shared server context from the provided context. This is compatibility
@@ -136,38 +138,7 @@ export const getServerContext = () => {
136
138
  * @returns The updated shared server context
137
139
  */
138
140
  export function updateSharedServerContext(currentCtx) {
139
- const serverCtx = internalGetServerContext();
140
- // Update component factory
141
- serverCtx.setComponentFactory(currentCtx.factory);
142
- // Update Optimizely Graph Client
143
- if (currentCtx.client)
144
- serverCtx.setOptimizelyGraphClient(currentCtx.client);
145
- // Update locale
146
- if (currentCtx.locale)
147
- serverCtx.setLocale(currentCtx.locale);
148
- // Update mode
149
- if (currentCtx.inEditMode)
150
- serverCtx.setMode('edit');
151
- else if (currentCtx.inPreviewMode)
152
- serverCtx.setMode('preview');
153
- else if (!currentCtx.inEditMode && !currentCtx.inPreviewMode)
154
- serverCtx.setMode('public');
155
- // Update editable content
156
- serverCtx.setEditableContentId(currentCtx.editableContent);
157
- return serverCtx;
141
+ throw new Error('🦺 [ServerContext] getServerContext has been removed, due to potential leakage across requests');
158
142
  }
159
- const cachePlaceholder = (factory) => {
160
- if (isDebug() || isDevelopment())
161
- console.warn('🚧 [React Context] Running client/server react code instead of server context, no cache() available.');
162
- return factory;
163
- };
164
- //@ts-ignore React.cache is only available in the react-server context
165
- const cache = (React.cache || cachePlaceholder);
166
- const internalGetServerContext = cache(() => {
167
- const ctx = new ServerContext({});
168
- if (ctx.isDebug)
169
- console.log('🦺 [ServerContext] Created new context');
170
- return ctx;
171
- });
172
143
  //#endregion
173
144
  //# sourceMappingURL=rsc.js.map
@@ -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,5 +1,6 @@
1
+ import { isOptiGraphConfig } from "@remkoj/optimizely-graph-client";
1
2
  export function isTransferrableContext(ctxIn) {
2
- return typeof (ctxIn) == 'object' && ctxIn != null && ctxIn.factory === undefined;
3
+ return typeof (ctxIn) == 'object' && ctxIn != null && ctxIn.factory === undefined && isOptiGraphConfig(ctxIn.client);
3
4
  }
4
5
  export function isGenericContext(ctxIn) {
5
6
  return typeof (ctxIn) == 'object' && ctxIn != null && typeof ctxIn.factory == 'object' && ctxIn.factory != null;
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/context/shared.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,sBAAsB,CAAC,KAA0B;IAC/D,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,QAAQ,IAAI,KAAK,IAAI,IAAI,IAAK,KAAwB,CAAC,OAAO,KAAK,SAAS,CAAA;AACvG,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAA0B;IACzD,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,QAAQ,IAAI,KAAK,IAAI,IAAI,IAAI,OAAQ,KAAwB,CAAC,OAAO,IAAI,QAAQ,IAAK,KAAwB,CAAC,OAAO,IAAI,IAAI,CAAA;AACzJ,CAAC"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/context/shared.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,MAAM,UAAU,sBAAsB,CAAC,KAA0B;IAC/D,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,QAAQ,IAAI,KAAK,IAAI,IAAI,IAAK,KAAwB,CAAC,OAAO,KAAK,SAAS,IAAI,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;AAC1I,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAA0B;IACzD,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,QAAQ,IAAI,KAAK,IAAI,IAAI,IAAI,OAAQ,KAAwB,CAAC,OAAO,IAAI,QAAQ,IAAK,KAAwB,CAAC,OAAO,IAAI,IAAI,CAAA;AACzJ,CAAC"}
@@ -16,17 +16,9 @@ export interface GenericContext {
16
16
  /**
17
17
  * The context information that can cross the React Server/Client boundary
18
18
  */
19
- export interface TransferrableContext {
20
- readonly clientConfig?: OptimizelyGraphConfig;
21
- readonly locale?: string;
22
- readonly inEditMode: boolean;
23
- readonly inPreviewMode: boolean;
24
- readonly isDevelopment: boolean;
25
- readonly isDebug: boolean;
26
- readonly isDebugOrDevelopment: boolean;
27
- readonly editableContent?: ContentLink | null;
28
- readonly editableContentIsExperience?: boolean;
29
- }
19
+ export type TransferrableContext = {
20
+ readonly client?: OptimizelyGraphConfig;
21
+ } & Readonly<Omit<GenericContext, 'client' | 'factory'>>;
30
22
  export type BaseContext = TransferrableContext | GenericContext;
31
23
  export type PropsWithContext<P = {}> = P & {
32
24
  ctx: GenericContext;
@@ -28,21 +28,16 @@ export class DefaultComponentFactory {
28
28
  }
29
29
  register(type, component, useSuspense = false, loader) {
30
30
  const registryKey = processComponentTypeHandle(type);
31
- if (this.dbg)
32
- console.log(`➕ [DefaultComponentFactory] Registering ${registryKey}`);
33
31
  this.registry.set(registryKey, { type, component, useSuspense, loader });
34
32
  }
35
33
  registerAll(components) {
36
34
  components.forEach((c) => {
37
35
  const registryKey = processComponentTypeHandle(c.type);
38
- if (this.dbg)
39
- console.log(`➕ [DefaultComponentFactory] Registering ${registryKey}`);
40
36
  this.registry.set(registryKey, c);
41
37
  });
42
38
  }
43
39
  has(type) {
44
40
  const registryKey = processComponentTypeHandle(type);
45
- //if (this.dbg) console.log(`🔎 [DefaultComponentFactory] Checking for ${ registryKey }`)
46
41
  return this.registry.has(registryKey);
47
42
  }
48
43
  resolve(type) {
@@ -1 +1 @@
1
- {"version":3,"file":"default.js","sourceRoot":"","sources":["../../src/factory/default.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAA;AAE/B,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAA;AAElD;;;GAGG;AACH,MAAM,OAAO,uBAAuB;IAIlC;;;;;OAKG;IACH,YAAmB,iBAA2C;QATtD,aAAQ,GAAG,IAAI,GAAG,EAAwC,CAAA;QAUhE,qBAAqB;QACrB,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAA;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,GAAG,GAAG,KAAK,CAAA;QAClB,CAAC;QAED,kCAAkC;QAClC,IAAI,iBAAiB;YAAE,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAA;IAC5D,CAAC;IAED,QAAQ,CACN,IAAyB,EACzB,SAAwB,EACxB,cAAuB,KAAK,EAC5B,MAAsB;QAEtB,MAAM,WAAW,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAA;QACpD,IAAI,IAAI,CAAC,GAAG;YACV,OAAO,CAAC,GAAG,CAAC,2CAA2C,WAAW,EAAE,CAAC,CAAA;QACvE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;IAC1E,CAAC;IAED,WAAW,CAAC,UAAmC;QAC7C,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACvB,MAAM,WAAW,GAAG,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACtD,IAAI,IAAI,CAAC,GAAG;gBACV,OAAO,CAAC,GAAG,CAAC,2CAA2C,WAAW,EAAE,CAAC,CAAA;YACvE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,IAAyB;QAC3B,MAAM,WAAW,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAA;QACpD,yFAAyF;QACzF,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IACvC,CAAC;IAED,OAAO,CAAC,IAAyB;QAC/B,MAAM,WAAW,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAA;QAEpD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,IAAI,CAAC,GAAG;gBACV,OAAO,CAAC,IAAI,CACV,iDAAiD,WAAW,EAAE,CAC/D,CAAA;YACH,OAAO,SAAS,CAAA,CAAC,2CAA2C;QAC9D,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC,SAAS,CAAA,CAAC,6DAA6D;QAEnH,6CAA6C;QAC7C,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,CAAA;QACtC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAA;QAChC,SAAS,SAAS,CAAC,KAA0B;YAC3C,OAAO,CACL,KAAC,QAAQ,IAAC,QAAQ,EAAE,WAAW,IAAI,KAAC,WAAW,OAAK,KAAK,GAAI,YAC3D,KAAC,cAAc,OAAK,KAAK,GAAI,GACpB,CACZ,CAAA;QACH,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO;QACL,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC9D,OAAO,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;QAChC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,CAAC,IAAyB;QAC9B,MAAM,WAAW,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAA;QACpD,IAAI,IAAI,CAAC,GAAG;YACV,OAAO,CAAC,GAAG,CAAC,yCAAyC,WAAW,EAAE,CAAC,CAAA;QACrE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC;YAAE,OAAO,IAAI,CAAA;QAChD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAC1C,CAAC;CACF;AAED,SAAS,0BAA0B,CAAC,MAA2B;IAC7D,IAAI,OAAO,MAAM,IAAI,QAAQ;QAC3B,OAAO,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAA;IACrD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC;QACpE,OAAO,MAAM;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iCAAiC;aACtF,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,SAAS,CAAC,CAAC,iCAAiC;aAC7E,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B;aAC3E,IAAI,CAAC,YAAY,CAAC,CAAA,CAAC,kCAAkC;IAC1D,MAAM,IAAI,KAAK,CAAC,kCAAkC,OAAO,MAAM,EAAE,CAAC,CAAA;AACpE,CAAC"}
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../../src/factory/default.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ComponentType as ReactComponentType, ExoticComponent as ReactExoticComponent } from "react";
1
+ import type { ComponentType as ReactComponentType, ExoticComponent as ReactExoticComponent, JSX } from "react";
2
2
  /**
3
3
  * Basic Component Type descriptor for the Component Factory
4
4
  */
package/dist/rsc.d.ts CHANGED
@@ -6,4 +6,5 @@ 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
+ export * from './components/rsc-components.js';
9
10
  export * from './rsc-utilities.js';
package/dist/rsc.js CHANGED
@@ -12,5 +12,6 @@ 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
+ export * from './components/rsc-components.js';
15
16
  export * from './rsc-utilities.js';
16
17
  //# 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,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,cAAc,gCAAgC,CAAA;AAC9C,cAAc,oBAAoB,CAAA"}
package/dist/types.d.ts CHANGED
@@ -4,6 +4,8 @@ import type { TypedDocumentNode } from '@graphql-typed-document-node/core';
4
4
  import type { ContentLinkWithLocale, ContentLink, InlineContentLinkWithLocale } from "@remkoj/optimizely-graph-client";
5
5
  import type { GenericContext } from "./context/types.js";
6
6
  import type { CmsEditableProps } from "./components/cms-editable/index.js";
7
+ import type { VariationInput } from "@remkoj/optimizely-graph-client/router";
8
+ export type { VariationInput } from "@remkoj/optimizely-graph-client/router";
7
9
  export type ContentType = string[];
8
10
  export type {
9
11
  /**
@@ -45,12 +47,11 @@ export type CmsComponentProps<T, L extends Record<string, any> = Record<string,
45
47
  */
46
48
  ctx?: GenericContext;
47
49
  }>;
48
- export type ContentQueryProps<LocaleType = string> = Omit<ContentLink, 'isInline'> & {
50
+ export type ContentQueryProps<LocaleType = string> = Omit<ContentLink, 'isInline' | 'variation'> & {
49
51
  locale?: Array<LocaleType> | LocaleType | null;
50
52
  path?: string | null;
51
53
  domain?: string | null;
52
- changeset?: string | null;
53
- variant?: string | null;
54
+ variation?: VariationInput | null;
54
55
  };
55
56
  /**
56
57
  * Extract the data type from a GraphQL Query
@@ -66,6 +67,7 @@ export type GetDataQueryResponseTemplate = {
66
67
  __typename?: string | null;
67
68
  _metadata?: {
68
69
  key?: string | null;
70
+ locale?: any | null;
69
71
  } | null;
70
72
  [key: string]: any;
71
73
  } | null;
@@ -1,9 +1,24 @@
1
1
  import type { ComponentType } from 'react';
2
2
  import type { DocumentNode } from 'graphql';
3
- import type { ContentLinkWithLocale, ContentLink } from '@remkoj/optimizely-graph-client';
4
- import type { ContentType, BaseCmsComponent, CmsComponentWithQuery, CmsComponentWithFragment, WithGqlFragment, ContentQueryProps } from './types.js';
3
+ import type { ContentLinkWithLocale, ContentLink, IOptiGraphClient, InlineContentLink } from '@remkoj/optimizely-graph-client';
4
+ import type { ContentType, BaseCmsComponent, CmsComponentWithQuery, CmsComponentWithFragment, WithGqlFragment, ContentQueryProps, CmsComponentProps } from './types.js';
5
5
  import type { ComponentFactory, ComponentTypeHandle } from './factory/types.js';
6
6
  export * from './components/rich-text/utils.js';
7
+ /**
8
+ * Safeguard filter to remove default properties from the CmsComponent, intended
9
+ * to prevent these properties to be passed to client components. It will also
10
+ * remove all properties where the name starts with a `_`.
11
+ *
12
+ * @param toFilter The object to filter the
13
+ * @returns W
14
+ */
15
+ export declare function filterCmsComponentProps<T extends object>(toFilter: T): Omit<T, keyof CmsComponentProps<any>>;
16
+ /**
17
+ *
18
+ *
19
+ * @param toTest
20
+ * @returns
21
+ */
7
22
  export declare function isNonEmptyString(toTest: any): toTest is string;
8
23
  export declare function isNotNullOrUndefined<T>(toTest?: T | null): toTest is T;
9
24
  export declare function isContentType(toTest: any): toTest is ContentType;
@@ -44,10 +59,36 @@ export declare function resolveComponentType(factory: ComponentFactory, type: Co
44
59
  export declare function isCmsComponentWithDataQuery<T = DocumentNode>(toTest?: BaseCmsComponent<T>): toTest is CmsComponentWithQuery<T>;
45
60
  export declare function isCmsComponentWithFragment<T = DocumentNode>(toTest?: BaseCmsComponent<T>): toTest is CmsComponentWithFragment<T>;
46
61
  export declare function validatesFragment<T extends ComponentType<any>>(toTest?: T): toTest is T & Pick<Required<WithGqlFragment<T, any>>, "validateFragment">;
47
- export declare function contentLinkToRequestVariables(contentLink: ContentLinkWithLocale): ContentQueryProps;
62
+ /**
63
+ * Take a ContentLink and transform it into the normalized set of request variables used query for content across
64
+ * multiple components.
65
+ *
66
+ * @param contentLink The contentlink to transform
67
+ * @param client If provided, the the configuration of the client is applied to the variables
68
+ * @returns The request variables to use for querying Optimizely Graph
69
+ */
70
+ export declare function contentLinkToRequestVariables(contentLink: ContentLinkWithLocale, client: IOptiGraphClient): ContentQueryProps;
71
+ /**
72
+ * Normalizes a string|null|undefined input to a non-empty string or undefined. This ensures that a
73
+ * non-empty string is considered insignificant and will not yield an empty result. When provided,
74
+ * the transformer function is applied *after* the non-empty check and the outcome of the transformer
75
+ * is returned.
76
+ *
77
+ * @param inputValue The current value to check
78
+ * @param transformer The transformer to apply to a non-empty string value
79
+ * @returns The output of the transformer when the input is a non-empty string, `undefined` otherwise
80
+ */
81
+ export declare function ifNonEmptyString<T = string>(inputValue?: string | null, transformer?: (iv: string) => T): T | undefined;
48
82
  export declare function toUniqueValues<R extends any>(value: R, index: number, array: Array<R>): value is R;
49
83
  export declare function trim<T extends string | null | undefined>(valueToTrim: T): T;
50
- export declare function getContentEditId(contentLink: ContentLink): string;
84
+ /**
85
+ * Extract the identifier needed for the edit HTML properties from the contentLink. This will ensure
86
+ * that inline content links don't output an identifier.
87
+ *
88
+ * @param contentLink
89
+ * @returns
90
+ */
91
+ export declare function getContentEditId(contentLink?: ContentLink | InlineContentLink | null): string | undefined;
51
92
  /**
52
93
  * Generate a pseudo-random identifier usable to satisfy the unique key
53
94
  * requirement for children within a React node. However this effectively will
@@ -61,3 +102,12 @@ export declare function getContentEditId(contentLink: ContentLink): string;
61
102
  * @returns The unique key
62
103
  */
63
104
  export declare function getRandomKey(prefix?: string): string;
105
+ /**
106
+ * Parse the provided string to determine if it's a valid positive (i.e. larger then 0) number,
107
+ * return the number if it is, `undefined` or the `defaultValue` otherwise.
108
+ *
109
+ * @param value
110
+ * @param defaultValue
111
+ * @returns
112
+ */
113
+ export declare function tryParsePositiveInt(value: string | undefined | null, defaultValue?: number): number | undefined;