@uniformdev/canvas-next-rsc 19.207.1-alpha.28 → 19.209.0
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/dist/{UniformComposition-B8budr-b.d.mts → UniformComposition-IWWzoI_H.d.mts} +15 -0
- package/dist/{UniformComposition-B8budr-b.d.ts → UniformComposition-IWWzoI_H.d.ts} +15 -0
- package/dist/component.d.mts +1 -1
- package/dist/component.d.ts +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.esm.js +63 -17
- package/dist/index.js +93 -47
- package/dist/index.mjs +63 -17
- package/package.json +11 -11
|
@@ -28,11 +28,22 @@ type UniformCompositionProps = PageParameters & {
|
|
|
28
28
|
* Function to map composition components to React components.
|
|
29
29
|
*/
|
|
30
30
|
resolveComponent: ResolveComponentFunction;
|
|
31
|
+
/**
|
|
32
|
+
* Function to map empty placeholders to React components.
|
|
33
|
+
*/
|
|
34
|
+
resolveEmptyPlaceholder?: ResolveEmptyPlaceholderFunction;
|
|
31
35
|
} & (UniformStaticCompositionProps | UniformServerCompositionProps);
|
|
32
36
|
declare const UniformComposition: React.FC<UniformCompositionProps>;
|
|
33
37
|
type ResolveComponentFunction = (options: {
|
|
34
38
|
component: ComponentInstance;
|
|
35
39
|
}) => ResolveComponentResult;
|
|
40
|
+
type ResolveEmptyPlaceholderFunction = (options: ResolveEmptyPlaceholderOptions) => ResolveEmptyPlaceholderResult;
|
|
41
|
+
type ResolveEmptyPlaceholderOptions = {
|
|
42
|
+
parentComponent: ComponentInstance | undefined;
|
|
43
|
+
component: ComponentInstance;
|
|
44
|
+
slotName: string;
|
|
45
|
+
slotIndex: number;
|
|
46
|
+
};
|
|
36
47
|
type ResolveComponentResult = {
|
|
37
48
|
component: ComponentType<ComponentProps<any, any>> | null;
|
|
38
49
|
includeContext?: boolean;
|
|
@@ -40,6 +51,9 @@ type ResolveComponentResult = {
|
|
|
40
51
|
fallback: ComponentType<any> | undefined;
|
|
41
52
|
};
|
|
42
53
|
};
|
|
54
|
+
type ResolveEmptyPlaceholderResult = {
|
|
55
|
+
component: ComponentType<ComponentProps<any, any>> | null;
|
|
56
|
+
};
|
|
43
57
|
declare const resolveComposition: (props: Omit<ResolveComponentsOptions, "slotName" | "slotIndex" | "target"> & {
|
|
44
58
|
composition: ComponentInstance;
|
|
45
59
|
compositionContext: CompositionContext;
|
|
@@ -60,6 +74,7 @@ type ResolveComponentsOptions = {
|
|
|
60
74
|
slotName: string | undefined;
|
|
61
75
|
slotIndex: number | undefined;
|
|
62
76
|
resolveComponent: ResolveComponentFunction;
|
|
77
|
+
resolveEmptyPlaceholder: ResolveEmptyPlaceholderFunction | undefined;
|
|
63
78
|
compositionContext: CompositionContext;
|
|
64
79
|
mode: UniformCompositionProps['mode'];
|
|
65
80
|
};
|
|
@@ -28,11 +28,22 @@ type UniformCompositionProps = PageParameters & {
|
|
|
28
28
|
* Function to map composition components to React components.
|
|
29
29
|
*/
|
|
30
30
|
resolveComponent: ResolveComponentFunction;
|
|
31
|
+
/**
|
|
32
|
+
* Function to map empty placeholders to React components.
|
|
33
|
+
*/
|
|
34
|
+
resolveEmptyPlaceholder?: ResolveEmptyPlaceholderFunction;
|
|
31
35
|
} & (UniformStaticCompositionProps | UniformServerCompositionProps);
|
|
32
36
|
declare const UniformComposition: React.FC<UniformCompositionProps>;
|
|
33
37
|
type ResolveComponentFunction = (options: {
|
|
34
38
|
component: ComponentInstance;
|
|
35
39
|
}) => ResolveComponentResult;
|
|
40
|
+
type ResolveEmptyPlaceholderFunction = (options: ResolveEmptyPlaceholderOptions) => ResolveEmptyPlaceholderResult;
|
|
41
|
+
type ResolveEmptyPlaceholderOptions = {
|
|
42
|
+
parentComponent: ComponentInstance | undefined;
|
|
43
|
+
component: ComponentInstance;
|
|
44
|
+
slotName: string;
|
|
45
|
+
slotIndex: number;
|
|
46
|
+
};
|
|
36
47
|
type ResolveComponentResult = {
|
|
37
48
|
component: ComponentType<ComponentProps<any, any>> | null;
|
|
38
49
|
includeContext?: boolean;
|
|
@@ -40,6 +51,9 @@ type ResolveComponentResult = {
|
|
|
40
51
|
fallback: ComponentType<any> | undefined;
|
|
41
52
|
};
|
|
42
53
|
};
|
|
54
|
+
type ResolveEmptyPlaceholderResult = {
|
|
55
|
+
component: ComponentType<ComponentProps<any, any>> | null;
|
|
56
|
+
};
|
|
43
57
|
declare const resolveComposition: (props: Omit<ResolveComponentsOptions, "slotName" | "slotIndex" | "target"> & {
|
|
44
58
|
composition: ComponentInstance;
|
|
45
59
|
compositionContext: CompositionContext;
|
|
@@ -60,6 +74,7 @@ type ResolveComponentsOptions = {
|
|
|
60
74
|
slotName: string | undefined;
|
|
61
75
|
slotIndex: number | undefined;
|
|
62
76
|
resolveComponent: ResolveComponentFunction;
|
|
77
|
+
resolveEmptyPlaceholder: ResolveEmptyPlaceholderFunction | undefined;
|
|
63
78
|
compositionContext: CompositionContext;
|
|
64
79
|
mode: UniformCompositionProps['mode'];
|
|
65
80
|
};
|
package/dist/component.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ComponentProps, CompositionContext, SlotDefinition } from '@uniformdev/canvas-next-rsc-shared';
|
|
2
2
|
export { ComponentProps, CompositionContext } from '@uniformdev/canvas-next-rsc-shared';
|
|
3
3
|
import React__default, { PropsWithChildren, ReactNode, Key } from 'react';
|
|
4
|
-
export { R as ResolveComponentFunction, a as ResolveComponentResult } from './UniformComposition-
|
|
4
|
+
export { R as ResolveComponentFunction, a as ResolveComponentResult } from './UniformComposition-IWWzoI_H.mjs';
|
|
5
5
|
import { ComponentInstance } from '@uniformdev/canvas';
|
|
6
6
|
import { RichTextNode } from '@uniformdev/richtext';
|
|
7
7
|
import { PureUniformTextProps } from '@uniformdev/canvas-react/core';
|
package/dist/component.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ComponentProps, CompositionContext, SlotDefinition } from '@uniformdev/canvas-next-rsc-shared';
|
|
2
2
|
export { ComponentProps, CompositionContext } from '@uniformdev/canvas-next-rsc-shared';
|
|
3
3
|
import React__default, { PropsWithChildren, ReactNode, Key } from 'react';
|
|
4
|
-
export { R as ResolveComponentFunction, a as ResolveComponentResult } from './UniformComposition-
|
|
4
|
+
export { R as ResolveComponentFunction, a as ResolveComponentResult } from './UniformComposition-IWWzoI_H.js';
|
|
5
5
|
import { ComponentInstance } from '@uniformdev/canvas';
|
|
6
6
|
import { RichTextNode } from '@uniformdev/richtext';
|
|
7
7
|
import { PureUniformTextProps } from '@uniformdev/canvas-react/core';
|
package/dist/index.d.mts
CHANGED
|
@@ -5,8 +5,8 @@ import { ManifestClient } from '@uniformdev/context/api';
|
|
|
5
5
|
import { ProjectMapClient, ProjectMapNode } from '@uniformdev/project-map';
|
|
6
6
|
import { ContextState, ContextOptions } from '@uniformdev/context';
|
|
7
7
|
import React__default, { PropsWithChildren } from 'react';
|
|
8
|
-
import { U as UniformCompositionProps } from './UniformComposition-
|
|
9
|
-
export { b as UniformComposition, r as resolveComposition } from './UniformComposition-
|
|
8
|
+
import { U as UniformCompositionProps } from './UniformComposition-IWWzoI_H.mjs';
|
|
9
|
+
export { b as UniformComposition, r as resolveComposition } from './UniformComposition-IWWzoI_H.mjs';
|
|
10
10
|
import { ClientContextComponent } from '@uniformdev/canvas-next-rsc-client';
|
|
11
11
|
|
|
12
12
|
type GetCanvasClientOptions = {
|
package/dist/index.d.ts
CHANGED
|
@@ -5,8 +5,8 @@ import { ManifestClient } from '@uniformdev/context/api';
|
|
|
5
5
|
import { ProjectMapClient, ProjectMapNode } from '@uniformdev/project-map';
|
|
6
6
|
import { ContextState, ContextOptions } from '@uniformdev/context';
|
|
7
7
|
import React__default, { PropsWithChildren } from 'react';
|
|
8
|
-
import { U as UniformCompositionProps } from './UniformComposition-
|
|
9
|
-
export { b as UniformComposition, r as resolveComposition } from './UniformComposition-
|
|
8
|
+
import { U as UniformCompositionProps } from './UniformComposition-IWWzoI_H.js';
|
|
9
|
+
export { b as UniformComposition, r as resolveComposition } from './UniformComposition-IWWzoI_H.js';
|
|
10
10
|
import { ClientContextComponent } from '@uniformdev/canvas-next-rsc-client';
|
|
11
11
|
|
|
12
12
|
type GetCanvasClientOptions = {
|
package/dist/index.esm.js
CHANGED
|
@@ -679,6 +679,24 @@ var PersonalizeServer = (props) => {
|
|
|
679
679
|
return createElement(Fragment, void 0, [...components, eventElement]);
|
|
680
680
|
};
|
|
681
681
|
|
|
682
|
+
// src/components/PersonalizeServerHybrid.tsx
|
|
683
|
+
import { PersonalizeClient as PersonalizeClient2 } from "@uniformdev/canvas-next-rsc-client";
|
|
684
|
+
import { runPersonalization as runPersonalization3 } from "@uniformdev/canvas-next-rsc-shared";
|
|
685
|
+
import React5 from "react";
|
|
686
|
+
var PersonalizeServerHybrid = (props) => {
|
|
687
|
+
const { indexes } = runPersonalization3(props);
|
|
688
|
+
return /* @__PURE__ */ React5.createElement(
|
|
689
|
+
PersonalizeClient2,
|
|
690
|
+
{
|
|
691
|
+
component: props.component,
|
|
692
|
+
count: props.count,
|
|
693
|
+
slots: props.slots,
|
|
694
|
+
trackingEventName: props.trackingEventName,
|
|
695
|
+
indexes
|
|
696
|
+
}
|
|
697
|
+
);
|
|
698
|
+
};
|
|
699
|
+
|
|
682
700
|
// src/components/TestServer.ts
|
|
683
701
|
import { CANVAS_TEST_SLOT } from "@uniformdev/canvas";
|
|
684
702
|
import {
|
|
@@ -689,9 +707,9 @@ import { createElement as createElement2, Fragment as Fragment2 } from "react";
|
|
|
689
707
|
|
|
690
708
|
// src/components/ContextTestTransfer.tsx
|
|
691
709
|
import { ClientContextTestTransfer } from "@uniformdev/canvas-next-rsc-client";
|
|
692
|
-
import
|
|
710
|
+
import React6 from "react";
|
|
693
711
|
var ContextTestTransfer = ({ event }) => {
|
|
694
|
-
return /* @__PURE__ */
|
|
712
|
+
return /* @__PURE__ */ React6.createElement(ClientContextTestTransfer, { ts: (/* @__PURE__ */ new Date()).valueOf(), event });
|
|
695
713
|
};
|
|
696
714
|
|
|
697
715
|
// src/components/TestServer.ts
|
|
@@ -718,7 +736,7 @@ import {
|
|
|
718
736
|
evaluateNodeVisibilityParameter
|
|
719
737
|
} from "@uniformdev/canvas";
|
|
720
738
|
import { VisibilityRulesWrapperClient } from "@uniformdev/canvas-next-rsc-client";
|
|
721
|
-
import
|
|
739
|
+
import React7 from "react";
|
|
722
740
|
var VisibilityRulesWrapper = (props) => {
|
|
723
741
|
const { context, ...rest } = props;
|
|
724
742
|
let isVisible = null;
|
|
@@ -729,12 +747,13 @@ var VisibilityRulesWrapper = (props) => {
|
|
|
729
747
|
parameter: props.parameter
|
|
730
748
|
});
|
|
731
749
|
}
|
|
732
|
-
return /* @__PURE__ */
|
|
750
|
+
return /* @__PURE__ */ React7.createElement(VisibilityRulesWrapperClient, { ...rest, initialIsVisible: isVisible });
|
|
733
751
|
};
|
|
734
752
|
|
|
735
753
|
// src/components/UniformComposition.ts
|
|
736
754
|
var UniformComposition = async ({
|
|
737
755
|
resolveComponent,
|
|
756
|
+
resolveEmptyPlaceholder,
|
|
738
757
|
route,
|
|
739
758
|
...props
|
|
740
759
|
}) => {
|
|
@@ -789,7 +808,8 @@ var UniformComposition = async ({
|
|
|
789
808
|
resolveComponent,
|
|
790
809
|
serverContext,
|
|
791
810
|
compositionContext,
|
|
792
|
-
mode: props.mode
|
|
811
|
+
mode: props.mode,
|
|
812
|
+
resolveEmptyPlaceholder
|
|
793
813
|
});
|
|
794
814
|
let transfer = null;
|
|
795
815
|
if (props.mode === "server") {
|
|
@@ -842,7 +862,7 @@ var resolveSystemComponent = ({
|
|
|
842
862
|
let resolved = null;
|
|
843
863
|
let suspense = void 0;
|
|
844
864
|
if (component.type === CANVAS_PERSONALIZE_TYPE) {
|
|
845
|
-
resolved = server ?
|
|
865
|
+
resolved = server ? resolveServerPersonalizeComponent({ config }) : PersonalizeClientWrapper;
|
|
846
866
|
suspense = server && ((_a = config.ppr) == null ? void 0 : _a.personalizationSuspense);
|
|
847
867
|
}
|
|
848
868
|
if (component.type === CANVAS_TEST_TYPE) {
|
|
@@ -854,10 +874,15 @@ var resolveSystemComponent = ({
|
|
|
854
874
|
suspense
|
|
855
875
|
};
|
|
856
876
|
};
|
|
877
|
+
var resolveServerPersonalizeComponent = ({ config }) => {
|
|
878
|
+
var _a;
|
|
879
|
+
return ((_a = config.evaluation) == null ? void 0 : _a.personalization) === "hybrid" ? PersonalizeServerHybrid : PersonalizeServer;
|
|
880
|
+
};
|
|
857
881
|
var resolveSlots = ({
|
|
858
882
|
component,
|
|
859
883
|
root,
|
|
860
884
|
resolveComponent,
|
|
885
|
+
resolveEmptyPlaceholder,
|
|
861
886
|
serverContext,
|
|
862
887
|
compositionContext,
|
|
863
888
|
mode
|
|
@@ -877,7 +902,8 @@ var resolveSlots = ({
|
|
|
877
902
|
resolveComponent,
|
|
878
903
|
serverContext,
|
|
879
904
|
compositionContext,
|
|
880
|
-
mode
|
|
905
|
+
mode,
|
|
906
|
+
resolveEmptyPlaceholder
|
|
881
907
|
});
|
|
882
908
|
if (resolved) {
|
|
883
909
|
slots[slotName] = {
|
|
@@ -908,6 +934,7 @@ var resolveComponents = ({
|
|
|
908
934
|
slotName,
|
|
909
935
|
slotIndex,
|
|
910
936
|
resolveComponent,
|
|
937
|
+
resolveEmptyPlaceholder,
|
|
911
938
|
compositionContext,
|
|
912
939
|
mode
|
|
913
940
|
}) => {
|
|
@@ -933,11 +960,29 @@ var resolveComponents = ({
|
|
|
933
960
|
component,
|
|
934
961
|
server: isServer
|
|
935
962
|
});
|
|
963
|
+
const isPlaceholder = isComponentPlaceholderId(component == null ? void 0 : component._id);
|
|
964
|
+
let resolveResult = null;
|
|
965
|
+
if (isPlaceholder && resolveEmptyPlaceholder) {
|
|
966
|
+
const resolvedPlaceholder = resolveEmptyPlaceholder({
|
|
967
|
+
parentComponent: parent,
|
|
968
|
+
component,
|
|
969
|
+
slotName,
|
|
970
|
+
slotIndex: componentIndex
|
|
971
|
+
});
|
|
972
|
+
if (resolvedPlaceholder) {
|
|
973
|
+
resolveResult = {
|
|
974
|
+
component: resolvedPlaceholder.component
|
|
975
|
+
};
|
|
976
|
+
}
|
|
977
|
+
}
|
|
978
|
+
if (!resolveResult) {
|
|
979
|
+
resolveResult = resolveComponent({ component });
|
|
980
|
+
}
|
|
936
981
|
const {
|
|
937
982
|
component: regularComponent,
|
|
938
983
|
includeContext,
|
|
939
984
|
suspense: componentSuspense
|
|
940
|
-
} =
|
|
985
|
+
} = resolveResult || {
|
|
941
986
|
component: null
|
|
942
987
|
};
|
|
943
988
|
if (!systemComponent && !regularComponent) {
|
|
@@ -949,6 +994,7 @@ var resolveComponents = ({
|
|
|
949
994
|
resolveComponent,
|
|
950
995
|
serverContext,
|
|
951
996
|
compositionContext,
|
|
997
|
+
resolveEmptyPlaceholder,
|
|
952
998
|
mode
|
|
953
999
|
});
|
|
954
1000
|
const resolvedComponent = systemComponent || regularComponent;
|
|
@@ -998,13 +1044,13 @@ var resolveComponents = ({
|
|
|
998
1044
|
if (tagElement) {
|
|
999
1045
|
elements.push(tagElement);
|
|
1000
1046
|
}
|
|
1001
|
-
const
|
|
1002
|
-
if (!
|
|
1047
|
+
const isPlaceholder2 = isComponentPlaceholderId(component == null ? void 0 : component._id);
|
|
1048
|
+
if (!isPlaceholder2 || compositionContext.previewMode === "editor") {
|
|
1003
1049
|
childNode = createElement3(
|
|
1004
1050
|
PureContextualEditingComponentWrapper,
|
|
1005
1051
|
{
|
|
1006
1052
|
key: `${slotName}-${componentIndex}-wrapper`,
|
|
1007
|
-
isPlaceholder,
|
|
1053
|
+
isPlaceholder: isPlaceholder2,
|
|
1008
1054
|
parentComponent: parent,
|
|
1009
1055
|
component,
|
|
1010
1056
|
slotName,
|
|
@@ -1069,7 +1115,7 @@ import {
|
|
|
1069
1115
|
UniformScript
|
|
1070
1116
|
} from "@uniformdev/canvas-next-rsc-client";
|
|
1071
1117
|
import { Suspense as Suspense2 } from "react";
|
|
1072
|
-
import
|
|
1118
|
+
import React8 from "react";
|
|
1073
1119
|
var UniformContext = async ({
|
|
1074
1120
|
clientContextComponent,
|
|
1075
1121
|
children
|
|
@@ -1083,7 +1129,7 @@ var UniformContext = async ({
|
|
|
1083
1129
|
const disableDevTools = ((_a = serverConfig2.context) == null ? void 0 : _a.disableDevTools) || false;
|
|
1084
1130
|
const defaultConsent = serverConfig2.defaultConsent || false;
|
|
1085
1131
|
const experimentalQuirkSerialization = ((_b = serverConfig2.experimental) == null ? void 0 : _b.quirkSerialization) || false;
|
|
1086
|
-
return /* @__PURE__ */
|
|
1132
|
+
return /* @__PURE__ */ React8.createElement(React8.Fragment, null, children, /* @__PURE__ */ React8.createElement(
|
|
1087
1133
|
ContextComponent,
|
|
1088
1134
|
{
|
|
1089
1135
|
manifest,
|
|
@@ -1091,16 +1137,16 @@ var UniformContext = async ({
|
|
|
1091
1137
|
defaultConsent,
|
|
1092
1138
|
experimentalQuirkSerialization
|
|
1093
1139
|
}
|
|
1094
|
-
), /* @__PURE__ */
|
|
1140
|
+
), /* @__PURE__ */ React8.createElement(Suspense2, { fallback: /* @__PURE__ */ React8.createElement(React8.Fragment, null) }, /* @__PURE__ */ React8.createElement(UniformScript, null)));
|
|
1095
1141
|
};
|
|
1096
1142
|
|
|
1097
1143
|
// src/components/UniformPlayground.tsx
|
|
1098
1144
|
import { CANVAS_DRAFT_STATE as CANVAS_DRAFT_STATE3, CANVAS_EDITOR_STATE as CANVAS_EDITOR_STATE3 } from "@uniformdev/canvas";
|
|
1099
1145
|
import { notFound as notFound2 } from "next/navigation";
|
|
1100
|
-
import
|
|
1146
|
+
import React9 from "react";
|
|
1101
1147
|
var UniformPlayground = async ({ searchParams, ...rest }) => {
|
|
1102
1148
|
if (!isDraftModeEnabled({ searchParams })) {
|
|
1103
|
-
return /* @__PURE__ */
|
|
1149
|
+
return /* @__PURE__ */ React9.createElement("div", null, /* @__PURE__ */ React9.createElement("h1", null, "Playground is only available in draft mode"));
|
|
1104
1150
|
}
|
|
1105
1151
|
const id = searchParams["id"];
|
|
1106
1152
|
if (!id) {
|
|
@@ -1131,7 +1177,7 @@ var UniformPlayground = async ({ searchParams, ...rest }) => {
|
|
|
1131
1177
|
if (!composition) {
|
|
1132
1178
|
notFound2();
|
|
1133
1179
|
}
|
|
1134
|
-
return /* @__PURE__ */
|
|
1180
|
+
return /* @__PURE__ */ React9.createElement(
|
|
1135
1181
|
UniformComposition,
|
|
1136
1182
|
{
|
|
1137
1183
|
mode: "server",
|
package/dist/index.js
CHANGED
|
@@ -472,12 +472,12 @@ async function generateStaticParams() {
|
|
|
472
472
|
|
|
473
473
|
// src/components/UniformComposition.ts
|
|
474
474
|
var import_canvas8 = require("@uniformdev/canvas");
|
|
475
|
-
var
|
|
476
|
-
var
|
|
475
|
+
var import_canvas_next_rsc_client8 = require("@uniformdev/canvas-next-rsc-client");
|
|
476
|
+
var import_canvas_next_rsc_shared7 = require("@uniformdev/canvas-next-rsc-shared");
|
|
477
477
|
var import_core = require("@uniformdev/canvas-react/core");
|
|
478
478
|
var import_headers3 = require("next/headers");
|
|
479
479
|
var import_navigation = require("next/navigation");
|
|
480
|
-
var
|
|
480
|
+
var import_react10 = require("react");
|
|
481
481
|
|
|
482
482
|
// src/context/createServerUniformContext.ts
|
|
483
483
|
var import_canvas_next_rsc_shared = require("@uniformdev/canvas-next-rsc-shared");
|
|
@@ -711,17 +711,35 @@ var PersonalizeServer = (props) => {
|
|
|
711
711
|
return (0, import_react5.createElement)(import_react5.Fragment, void 0, [...components, eventElement]);
|
|
712
712
|
};
|
|
713
713
|
|
|
714
|
+
// src/components/PersonalizeServerHybrid.tsx
|
|
715
|
+
var import_canvas_next_rsc_client5 = require("@uniformdev/canvas-next-rsc-client");
|
|
716
|
+
var import_canvas_next_rsc_shared5 = require("@uniformdev/canvas-next-rsc-shared");
|
|
717
|
+
var import_react6 = __toESM(require("react"));
|
|
718
|
+
var PersonalizeServerHybrid = (props) => {
|
|
719
|
+
const { indexes } = (0, import_canvas_next_rsc_shared5.runPersonalization)(props);
|
|
720
|
+
return /* @__PURE__ */ import_react6.default.createElement(
|
|
721
|
+
import_canvas_next_rsc_client5.PersonalizeClient,
|
|
722
|
+
{
|
|
723
|
+
component: props.component,
|
|
724
|
+
count: props.count,
|
|
725
|
+
slots: props.slots,
|
|
726
|
+
trackingEventName: props.trackingEventName,
|
|
727
|
+
indexes
|
|
728
|
+
}
|
|
729
|
+
);
|
|
730
|
+
};
|
|
731
|
+
|
|
714
732
|
// src/components/TestServer.ts
|
|
715
733
|
var import_canvas6 = require("@uniformdev/canvas");
|
|
716
|
-
var
|
|
734
|
+
var import_canvas_next_rsc_shared6 = require("@uniformdev/canvas-next-rsc-shared");
|
|
717
735
|
var import_cache2 = require("next/cache");
|
|
718
|
-
var
|
|
736
|
+
var import_react8 = require("react");
|
|
719
737
|
|
|
720
738
|
// src/components/ContextTestTransfer.tsx
|
|
721
|
-
var
|
|
722
|
-
var
|
|
739
|
+
var import_canvas_next_rsc_client6 = require("@uniformdev/canvas-next-rsc-client");
|
|
740
|
+
var import_react7 = __toESM(require("react"));
|
|
723
741
|
var ContextTestTransfer = ({ event }) => {
|
|
724
|
-
return /* @__PURE__ */
|
|
742
|
+
return /* @__PURE__ */ import_react7.default.createElement(import_canvas_next_rsc_client6.ClientContextTestTransfer, { ts: (/* @__PURE__ */ new Date()).valueOf(), event });
|
|
725
743
|
};
|
|
726
744
|
|
|
727
745
|
// src/components/TestServer.ts
|
|
@@ -730,22 +748,22 @@ var TestServer = async (props) => {
|
|
|
730
748
|
if ((_a = getServerConfig().ppr) == null ? void 0 : _a.testSuspense) {
|
|
731
749
|
(0, import_cache2.unstable_noStore)();
|
|
732
750
|
}
|
|
733
|
-
const { index, event } = (0,
|
|
751
|
+
const { index, event } = (0, import_canvas_next_rsc_shared6.runTest)(props);
|
|
734
752
|
if (index === null || event === null) {
|
|
735
753
|
return null;
|
|
736
754
|
}
|
|
737
755
|
const component = typeof index === "number" ? (_d = (_c = (_b = props.slots) == null ? void 0 : _b[import_canvas6.CANVAS_TEST_SLOT]) == null ? void 0 : _c.items[index]) != null ? _d : null : null;
|
|
738
|
-
const eventElement = (0,
|
|
756
|
+
const eventElement = (0, import_react8.createElement)(ContextTestTransfer, {
|
|
739
757
|
event,
|
|
740
758
|
key: `${props.slotName}-${props.slotIndex}-server-transfer`
|
|
741
759
|
});
|
|
742
|
-
return (0,
|
|
760
|
+
return (0, import_react8.createElement)(import_react8.Fragment, void 0, [component, eventElement]);
|
|
743
761
|
};
|
|
744
762
|
|
|
745
763
|
// src/components/VisibilityRulesWrapper.tsx
|
|
746
764
|
var import_canvas7 = require("@uniformdev/canvas");
|
|
747
|
-
var
|
|
748
|
-
var
|
|
765
|
+
var import_canvas_next_rsc_client7 = require("@uniformdev/canvas-next-rsc-client");
|
|
766
|
+
var import_react9 = __toESM(require("react"));
|
|
749
767
|
var VisibilityRulesWrapper = (props) => {
|
|
750
768
|
const { context, ...rest } = props;
|
|
751
769
|
let isVisible = null;
|
|
@@ -756,12 +774,13 @@ var VisibilityRulesWrapper = (props) => {
|
|
|
756
774
|
parameter: props.parameter
|
|
757
775
|
});
|
|
758
776
|
}
|
|
759
|
-
return /* @__PURE__ */
|
|
777
|
+
return /* @__PURE__ */ import_react9.default.createElement(import_canvas_next_rsc_client7.VisibilityRulesWrapperClient, { ...rest, initialIsVisible: isVisible });
|
|
760
778
|
};
|
|
761
779
|
|
|
762
780
|
// src/components/UniformComposition.ts
|
|
763
781
|
var UniformComposition = async ({
|
|
764
782
|
resolveComponent,
|
|
783
|
+
resolveEmptyPlaceholder,
|
|
765
784
|
route,
|
|
766
785
|
...props
|
|
767
786
|
}) => {
|
|
@@ -775,7 +794,7 @@ var UniformComposition = async ({
|
|
|
775
794
|
});
|
|
776
795
|
searchParams = props.searchParams;
|
|
777
796
|
}
|
|
778
|
-
const { value: path } = (0,
|
|
797
|
+
const { value: path } = (0, import_canvas_next_rsc_shared7.resolvePath)(props);
|
|
779
798
|
if (!route || route.type === "notFound") {
|
|
780
799
|
(0, import_navigation.notFound)();
|
|
781
800
|
}
|
|
@@ -816,13 +835,14 @@ var UniformComposition = async ({
|
|
|
816
835
|
resolveComponent,
|
|
817
836
|
serverContext,
|
|
818
837
|
compositionContext,
|
|
819
|
-
mode: props.mode
|
|
838
|
+
mode: props.mode,
|
|
839
|
+
resolveEmptyPlaceholder
|
|
820
840
|
});
|
|
821
841
|
let transfer = null;
|
|
822
842
|
if (props.mode === "server") {
|
|
823
843
|
const headersValue = (0, import_headers3.headers)();
|
|
824
844
|
const missingQuirkValue = "unknown";
|
|
825
|
-
transfer = (0,
|
|
845
|
+
transfer = (0, import_react10.createElement)(ContextUpdateTransfer, {
|
|
826
846
|
serverContext,
|
|
827
847
|
update: {
|
|
828
848
|
params: props.params,
|
|
@@ -842,11 +862,11 @@ var UniformComposition = async ({
|
|
|
842
862
|
}
|
|
843
863
|
});
|
|
844
864
|
} else if (props.mode === "static") {
|
|
845
|
-
transfer = (0,
|
|
865
|
+
transfer = (0, import_react10.createElement)(ContextUpdateTrigger, {
|
|
846
866
|
path
|
|
847
867
|
});
|
|
848
868
|
}
|
|
849
|
-
return (0,
|
|
869
|
+
return (0, import_react10.createElement)(import_react10.Fragment, void 0, transfer, resolved);
|
|
850
870
|
};
|
|
851
871
|
var isServerComponent = ({
|
|
852
872
|
component,
|
|
@@ -869,11 +889,11 @@ var resolveSystemComponent = ({
|
|
|
869
889
|
let resolved = null;
|
|
870
890
|
let suspense = void 0;
|
|
871
891
|
if (component.type === import_canvas8.CANVAS_PERSONALIZE_TYPE) {
|
|
872
|
-
resolved = server ?
|
|
892
|
+
resolved = server ? resolveServerPersonalizeComponent({ config }) : PersonalizeClientWrapper;
|
|
873
893
|
suspense = server && ((_a = config.ppr) == null ? void 0 : _a.personalizationSuspense);
|
|
874
894
|
}
|
|
875
895
|
if (component.type === import_canvas8.CANVAS_TEST_TYPE) {
|
|
876
|
-
resolved = server ? TestServer :
|
|
896
|
+
resolved = server ? TestServer : import_canvas_next_rsc_client8.TestClient;
|
|
877
897
|
suspense = server && ((_b = config.ppr) == null ? void 0 : _b.testSuspense);
|
|
878
898
|
}
|
|
879
899
|
return {
|
|
@@ -881,10 +901,15 @@ var resolveSystemComponent = ({
|
|
|
881
901
|
suspense
|
|
882
902
|
};
|
|
883
903
|
};
|
|
904
|
+
var resolveServerPersonalizeComponent = ({ config }) => {
|
|
905
|
+
var _a;
|
|
906
|
+
return ((_a = config.evaluation) == null ? void 0 : _a.personalization) === "hybrid" ? PersonalizeServerHybrid : PersonalizeServer;
|
|
907
|
+
};
|
|
884
908
|
var resolveSlots = ({
|
|
885
909
|
component,
|
|
886
910
|
root,
|
|
887
911
|
resolveComponent,
|
|
912
|
+
resolveEmptyPlaceholder,
|
|
888
913
|
serverContext,
|
|
889
914
|
compositionContext,
|
|
890
915
|
mode
|
|
@@ -904,7 +929,8 @@ var resolveSlots = ({
|
|
|
904
929
|
resolveComponent,
|
|
905
930
|
serverContext,
|
|
906
931
|
compositionContext,
|
|
907
|
-
mode
|
|
932
|
+
mode,
|
|
933
|
+
resolveEmptyPlaceholder
|
|
908
934
|
});
|
|
909
935
|
if (resolved) {
|
|
910
936
|
slots[slotName] = {
|
|
@@ -935,6 +961,7 @@ var resolveComponents = ({
|
|
|
935
961
|
slotName,
|
|
936
962
|
slotIndex,
|
|
937
963
|
resolveComponent,
|
|
964
|
+
resolveEmptyPlaceholder,
|
|
938
965
|
compositionContext,
|
|
939
966
|
mode
|
|
940
967
|
}) => {
|
|
@@ -960,11 +987,29 @@ var resolveComponents = ({
|
|
|
960
987
|
component,
|
|
961
988
|
server: isServer
|
|
962
989
|
});
|
|
990
|
+
const isPlaceholder = (0, import_canvas8.isComponentPlaceholderId)(component == null ? void 0 : component._id);
|
|
991
|
+
let resolveResult = null;
|
|
992
|
+
if (isPlaceholder && resolveEmptyPlaceholder) {
|
|
993
|
+
const resolvedPlaceholder = resolveEmptyPlaceholder({
|
|
994
|
+
parentComponent: parent,
|
|
995
|
+
component,
|
|
996
|
+
slotName,
|
|
997
|
+
slotIndex: componentIndex
|
|
998
|
+
});
|
|
999
|
+
if (resolvedPlaceholder) {
|
|
1000
|
+
resolveResult = {
|
|
1001
|
+
component: resolvedPlaceholder.component
|
|
1002
|
+
};
|
|
1003
|
+
}
|
|
1004
|
+
}
|
|
1005
|
+
if (!resolveResult) {
|
|
1006
|
+
resolveResult = resolveComponent({ component });
|
|
1007
|
+
}
|
|
963
1008
|
const {
|
|
964
1009
|
component: regularComponent,
|
|
965
1010
|
includeContext,
|
|
966
1011
|
suspense: componentSuspense
|
|
967
|
-
} =
|
|
1012
|
+
} = resolveResult || {
|
|
968
1013
|
component: null
|
|
969
1014
|
};
|
|
970
1015
|
if (!systemComponent && !regularComponent) {
|
|
@@ -976,6 +1021,7 @@ var resolveComponents = ({
|
|
|
976
1021
|
resolveComponent,
|
|
977
1022
|
serverContext,
|
|
978
1023
|
compositionContext,
|
|
1024
|
+
resolveEmptyPlaceholder,
|
|
979
1025
|
mode
|
|
980
1026
|
});
|
|
981
1027
|
const resolvedComponent = systemComponent || regularComponent;
|
|
@@ -998,20 +1044,20 @@ var resolveComponents = ({
|
|
|
998
1044
|
};
|
|
999
1045
|
let element = null;
|
|
1000
1046
|
if (wrapInSuspense) {
|
|
1001
|
-
element = (0,
|
|
1002
|
-
|
|
1047
|
+
element = (0, import_react10.createElement)(
|
|
1048
|
+
import_react10.Suspense,
|
|
1003
1049
|
{
|
|
1004
1050
|
key,
|
|
1005
|
-
fallback: typeof wrapInSuspense === "boolean" || typeof (wrapInSuspense == null ? void 0 : wrapInSuspense.fallback) === "undefined" ? void 0 : (0,
|
|
1051
|
+
fallback: typeof wrapInSuspense === "boolean" || typeof (wrapInSuspense == null ? void 0 : wrapInSuspense.fallback) === "undefined" ? void 0 : (0, import_react10.createElement)(wrapInSuspense.fallback)
|
|
1006
1052
|
},
|
|
1007
|
-
(0,
|
|
1053
|
+
(0, import_react10.createElement)(resolvedComponent, componentProps)
|
|
1008
1054
|
);
|
|
1009
1055
|
} else {
|
|
1010
|
-
element = (0,
|
|
1056
|
+
element = (0, import_react10.createElement)(resolvedComponent, { ...componentProps, key });
|
|
1011
1057
|
}
|
|
1012
1058
|
let tagElement = null;
|
|
1013
1059
|
if (enrichmentTags == null ? void 0 : enrichmentTags.length) {
|
|
1014
|
-
tagElement = (0,
|
|
1060
|
+
tagElement = (0, import_react10.createElement)(ContextUpdateTransfer, {
|
|
1015
1061
|
key: `${slotName}-${componentIndex}-tags`,
|
|
1016
1062
|
update: {
|
|
1017
1063
|
enrichments: enrichmentTags
|
|
@@ -1025,13 +1071,13 @@ var resolveComponents = ({
|
|
|
1025
1071
|
if (tagElement) {
|
|
1026
1072
|
elements.push(tagElement);
|
|
1027
1073
|
}
|
|
1028
|
-
const
|
|
1029
|
-
if (!
|
|
1030
|
-
childNode = (0,
|
|
1074
|
+
const isPlaceholder2 = (0, import_canvas8.isComponentPlaceholderId)(component == null ? void 0 : component._id);
|
|
1075
|
+
if (!isPlaceholder2 || compositionContext.previewMode === "editor") {
|
|
1076
|
+
childNode = (0, import_react10.createElement)(
|
|
1031
1077
|
import_core.PureContextualEditingComponentWrapper,
|
|
1032
1078
|
{
|
|
1033
1079
|
key: `${slotName}-${componentIndex}-wrapper`,
|
|
1034
|
-
isPlaceholder,
|
|
1080
|
+
isPlaceholder: isPlaceholder2,
|
|
1035
1081
|
parentComponent: parent,
|
|
1036
1082
|
component,
|
|
1037
1083
|
slotName,
|
|
@@ -1047,8 +1093,8 @@ var resolveComponents = ({
|
|
|
1047
1093
|
if (tagElement) {
|
|
1048
1094
|
elements.push(tagElement);
|
|
1049
1095
|
}
|
|
1050
|
-
childNode = (0,
|
|
1051
|
-
|
|
1096
|
+
childNode = (0, import_react10.createElement)(
|
|
1097
|
+
import_canvas_next_rsc_client8.ClientContextualEditingComponentWrapper,
|
|
1052
1098
|
{
|
|
1053
1099
|
key: `${slotName}-${componentIndex}-wrapper`,
|
|
1054
1100
|
isPlaceholder: false,
|
|
@@ -1069,7 +1115,7 @@ var resolveComponents = ({
|
|
|
1069
1115
|
childNode = elements;
|
|
1070
1116
|
}
|
|
1071
1117
|
if (visibilityRules) {
|
|
1072
|
-
childNode = (0,
|
|
1118
|
+
childNode = (0, import_react10.createElement)(
|
|
1073
1119
|
VisibilityRulesWrapper,
|
|
1074
1120
|
{
|
|
1075
1121
|
key: `${slotName}-${componentIndex}-visibility`,
|
|
@@ -1079,8 +1125,8 @@ var resolveComponents = ({
|
|
|
1079
1125
|
childNode
|
|
1080
1126
|
);
|
|
1081
1127
|
}
|
|
1082
|
-
return (0,
|
|
1083
|
-
|
|
1128
|
+
return (0, import_react10.createElement)(
|
|
1129
|
+
import_react10.Fragment,
|
|
1084
1130
|
{
|
|
1085
1131
|
key: !isRoot ? `${slotName}-${componentIndex}` : void 0
|
|
1086
1132
|
},
|
|
@@ -1091,9 +1137,9 @@ var resolveComponents = ({
|
|
|
1091
1137
|
};
|
|
1092
1138
|
|
|
1093
1139
|
// src/components/UniformContext.tsx
|
|
1094
|
-
var
|
|
1095
|
-
var
|
|
1096
|
-
var
|
|
1140
|
+
var import_canvas_next_rsc_client9 = require("@uniformdev/canvas-next-rsc-client");
|
|
1141
|
+
var import_react11 = require("react");
|
|
1142
|
+
var import_react12 = __toESM(require("react"));
|
|
1097
1143
|
var UniformContext = async ({
|
|
1098
1144
|
clientContextComponent,
|
|
1099
1145
|
children
|
|
@@ -1102,12 +1148,12 @@ var UniformContext = async ({
|
|
|
1102
1148
|
const manifest = await getManifest({
|
|
1103
1149
|
searchParams: {}
|
|
1104
1150
|
});
|
|
1105
|
-
const ContextComponent = clientContextComponent ||
|
|
1151
|
+
const ContextComponent = clientContextComponent || import_canvas_next_rsc_client9.DefaultUniformClientContext;
|
|
1106
1152
|
const serverConfig2 = getServerConfig();
|
|
1107
1153
|
const disableDevTools = ((_a = serverConfig2.context) == null ? void 0 : _a.disableDevTools) || false;
|
|
1108
1154
|
const defaultConsent = serverConfig2.defaultConsent || false;
|
|
1109
1155
|
const experimentalQuirkSerialization = ((_b = serverConfig2.experimental) == null ? void 0 : _b.quirkSerialization) || false;
|
|
1110
|
-
return /* @__PURE__ */
|
|
1156
|
+
return /* @__PURE__ */ import_react12.default.createElement(import_react12.default.Fragment, null, children, /* @__PURE__ */ import_react12.default.createElement(
|
|
1111
1157
|
ContextComponent,
|
|
1112
1158
|
{
|
|
1113
1159
|
manifest,
|
|
@@ -1115,16 +1161,16 @@ var UniformContext = async ({
|
|
|
1115
1161
|
defaultConsent,
|
|
1116
1162
|
experimentalQuirkSerialization
|
|
1117
1163
|
}
|
|
1118
|
-
), /* @__PURE__ */
|
|
1164
|
+
), /* @__PURE__ */ import_react12.default.createElement(import_react11.Suspense, { fallback: /* @__PURE__ */ import_react12.default.createElement(import_react12.default.Fragment, null) }, /* @__PURE__ */ import_react12.default.createElement(import_canvas_next_rsc_client9.UniformScript, null)));
|
|
1119
1165
|
};
|
|
1120
1166
|
|
|
1121
1167
|
// src/components/UniformPlayground.tsx
|
|
1122
1168
|
var import_canvas9 = require("@uniformdev/canvas");
|
|
1123
1169
|
var import_navigation2 = require("next/navigation");
|
|
1124
|
-
var
|
|
1170
|
+
var import_react13 = __toESM(require("react"));
|
|
1125
1171
|
var UniformPlayground = async ({ searchParams, ...rest }) => {
|
|
1126
1172
|
if (!isDraftModeEnabled({ searchParams })) {
|
|
1127
|
-
return /* @__PURE__ */
|
|
1173
|
+
return /* @__PURE__ */ import_react13.default.createElement("div", null, /* @__PURE__ */ import_react13.default.createElement("h1", null, "Playground is only available in draft mode"));
|
|
1128
1174
|
}
|
|
1129
1175
|
const id = searchParams["id"];
|
|
1130
1176
|
if (!id) {
|
|
@@ -1155,7 +1201,7 @@ var UniformPlayground = async ({ searchParams, ...rest }) => {
|
|
|
1155
1201
|
if (!composition) {
|
|
1156
1202
|
(0, import_navigation2.notFound)();
|
|
1157
1203
|
}
|
|
1158
|
-
return /* @__PURE__ */
|
|
1204
|
+
return /* @__PURE__ */ import_react13.default.createElement(
|
|
1159
1205
|
UniformComposition,
|
|
1160
1206
|
{
|
|
1161
1207
|
mode: "server",
|
package/dist/index.mjs
CHANGED
|
@@ -679,6 +679,24 @@ var PersonalizeServer = (props) => {
|
|
|
679
679
|
return createElement(Fragment, void 0, [...components, eventElement]);
|
|
680
680
|
};
|
|
681
681
|
|
|
682
|
+
// src/components/PersonalizeServerHybrid.tsx
|
|
683
|
+
import { PersonalizeClient as PersonalizeClient2 } from "@uniformdev/canvas-next-rsc-client";
|
|
684
|
+
import { runPersonalization as runPersonalization3 } from "@uniformdev/canvas-next-rsc-shared";
|
|
685
|
+
import React5 from "react";
|
|
686
|
+
var PersonalizeServerHybrid = (props) => {
|
|
687
|
+
const { indexes } = runPersonalization3(props);
|
|
688
|
+
return /* @__PURE__ */ React5.createElement(
|
|
689
|
+
PersonalizeClient2,
|
|
690
|
+
{
|
|
691
|
+
component: props.component,
|
|
692
|
+
count: props.count,
|
|
693
|
+
slots: props.slots,
|
|
694
|
+
trackingEventName: props.trackingEventName,
|
|
695
|
+
indexes
|
|
696
|
+
}
|
|
697
|
+
);
|
|
698
|
+
};
|
|
699
|
+
|
|
682
700
|
// src/components/TestServer.ts
|
|
683
701
|
import { CANVAS_TEST_SLOT } from "@uniformdev/canvas";
|
|
684
702
|
import {
|
|
@@ -689,9 +707,9 @@ import { createElement as createElement2, Fragment as Fragment2 } from "react";
|
|
|
689
707
|
|
|
690
708
|
// src/components/ContextTestTransfer.tsx
|
|
691
709
|
import { ClientContextTestTransfer } from "@uniformdev/canvas-next-rsc-client";
|
|
692
|
-
import
|
|
710
|
+
import React6 from "react";
|
|
693
711
|
var ContextTestTransfer = ({ event }) => {
|
|
694
|
-
return /* @__PURE__ */
|
|
712
|
+
return /* @__PURE__ */ React6.createElement(ClientContextTestTransfer, { ts: (/* @__PURE__ */ new Date()).valueOf(), event });
|
|
695
713
|
};
|
|
696
714
|
|
|
697
715
|
// src/components/TestServer.ts
|
|
@@ -718,7 +736,7 @@ import {
|
|
|
718
736
|
evaluateNodeVisibilityParameter
|
|
719
737
|
} from "@uniformdev/canvas";
|
|
720
738
|
import { VisibilityRulesWrapperClient } from "@uniformdev/canvas-next-rsc-client";
|
|
721
|
-
import
|
|
739
|
+
import React7 from "react";
|
|
722
740
|
var VisibilityRulesWrapper = (props) => {
|
|
723
741
|
const { context, ...rest } = props;
|
|
724
742
|
let isVisible = null;
|
|
@@ -729,12 +747,13 @@ var VisibilityRulesWrapper = (props) => {
|
|
|
729
747
|
parameter: props.parameter
|
|
730
748
|
});
|
|
731
749
|
}
|
|
732
|
-
return /* @__PURE__ */
|
|
750
|
+
return /* @__PURE__ */ React7.createElement(VisibilityRulesWrapperClient, { ...rest, initialIsVisible: isVisible });
|
|
733
751
|
};
|
|
734
752
|
|
|
735
753
|
// src/components/UniformComposition.ts
|
|
736
754
|
var UniformComposition = async ({
|
|
737
755
|
resolveComponent,
|
|
756
|
+
resolveEmptyPlaceholder,
|
|
738
757
|
route,
|
|
739
758
|
...props
|
|
740
759
|
}) => {
|
|
@@ -789,7 +808,8 @@ var UniformComposition = async ({
|
|
|
789
808
|
resolveComponent,
|
|
790
809
|
serverContext,
|
|
791
810
|
compositionContext,
|
|
792
|
-
mode: props.mode
|
|
811
|
+
mode: props.mode,
|
|
812
|
+
resolveEmptyPlaceholder
|
|
793
813
|
});
|
|
794
814
|
let transfer = null;
|
|
795
815
|
if (props.mode === "server") {
|
|
@@ -842,7 +862,7 @@ var resolveSystemComponent = ({
|
|
|
842
862
|
let resolved = null;
|
|
843
863
|
let suspense = void 0;
|
|
844
864
|
if (component.type === CANVAS_PERSONALIZE_TYPE) {
|
|
845
|
-
resolved = server ?
|
|
865
|
+
resolved = server ? resolveServerPersonalizeComponent({ config }) : PersonalizeClientWrapper;
|
|
846
866
|
suspense = server && ((_a = config.ppr) == null ? void 0 : _a.personalizationSuspense);
|
|
847
867
|
}
|
|
848
868
|
if (component.type === CANVAS_TEST_TYPE) {
|
|
@@ -854,10 +874,15 @@ var resolveSystemComponent = ({
|
|
|
854
874
|
suspense
|
|
855
875
|
};
|
|
856
876
|
};
|
|
877
|
+
var resolveServerPersonalizeComponent = ({ config }) => {
|
|
878
|
+
var _a;
|
|
879
|
+
return ((_a = config.evaluation) == null ? void 0 : _a.personalization) === "hybrid" ? PersonalizeServerHybrid : PersonalizeServer;
|
|
880
|
+
};
|
|
857
881
|
var resolveSlots = ({
|
|
858
882
|
component,
|
|
859
883
|
root,
|
|
860
884
|
resolveComponent,
|
|
885
|
+
resolveEmptyPlaceholder,
|
|
861
886
|
serverContext,
|
|
862
887
|
compositionContext,
|
|
863
888
|
mode
|
|
@@ -877,7 +902,8 @@ var resolveSlots = ({
|
|
|
877
902
|
resolveComponent,
|
|
878
903
|
serverContext,
|
|
879
904
|
compositionContext,
|
|
880
|
-
mode
|
|
905
|
+
mode,
|
|
906
|
+
resolveEmptyPlaceholder
|
|
881
907
|
});
|
|
882
908
|
if (resolved) {
|
|
883
909
|
slots[slotName] = {
|
|
@@ -908,6 +934,7 @@ var resolveComponents = ({
|
|
|
908
934
|
slotName,
|
|
909
935
|
slotIndex,
|
|
910
936
|
resolveComponent,
|
|
937
|
+
resolveEmptyPlaceholder,
|
|
911
938
|
compositionContext,
|
|
912
939
|
mode
|
|
913
940
|
}) => {
|
|
@@ -933,11 +960,29 @@ var resolveComponents = ({
|
|
|
933
960
|
component,
|
|
934
961
|
server: isServer
|
|
935
962
|
});
|
|
963
|
+
const isPlaceholder = isComponentPlaceholderId(component == null ? void 0 : component._id);
|
|
964
|
+
let resolveResult = null;
|
|
965
|
+
if (isPlaceholder && resolveEmptyPlaceholder) {
|
|
966
|
+
const resolvedPlaceholder = resolveEmptyPlaceholder({
|
|
967
|
+
parentComponent: parent,
|
|
968
|
+
component,
|
|
969
|
+
slotName,
|
|
970
|
+
slotIndex: componentIndex
|
|
971
|
+
});
|
|
972
|
+
if (resolvedPlaceholder) {
|
|
973
|
+
resolveResult = {
|
|
974
|
+
component: resolvedPlaceholder.component
|
|
975
|
+
};
|
|
976
|
+
}
|
|
977
|
+
}
|
|
978
|
+
if (!resolveResult) {
|
|
979
|
+
resolveResult = resolveComponent({ component });
|
|
980
|
+
}
|
|
936
981
|
const {
|
|
937
982
|
component: regularComponent,
|
|
938
983
|
includeContext,
|
|
939
984
|
suspense: componentSuspense
|
|
940
|
-
} =
|
|
985
|
+
} = resolveResult || {
|
|
941
986
|
component: null
|
|
942
987
|
};
|
|
943
988
|
if (!systemComponent && !regularComponent) {
|
|
@@ -949,6 +994,7 @@ var resolveComponents = ({
|
|
|
949
994
|
resolveComponent,
|
|
950
995
|
serverContext,
|
|
951
996
|
compositionContext,
|
|
997
|
+
resolveEmptyPlaceholder,
|
|
952
998
|
mode
|
|
953
999
|
});
|
|
954
1000
|
const resolvedComponent = systemComponent || regularComponent;
|
|
@@ -998,13 +1044,13 @@ var resolveComponents = ({
|
|
|
998
1044
|
if (tagElement) {
|
|
999
1045
|
elements.push(tagElement);
|
|
1000
1046
|
}
|
|
1001
|
-
const
|
|
1002
|
-
if (!
|
|
1047
|
+
const isPlaceholder2 = isComponentPlaceholderId(component == null ? void 0 : component._id);
|
|
1048
|
+
if (!isPlaceholder2 || compositionContext.previewMode === "editor") {
|
|
1003
1049
|
childNode = createElement3(
|
|
1004
1050
|
PureContextualEditingComponentWrapper,
|
|
1005
1051
|
{
|
|
1006
1052
|
key: `${slotName}-${componentIndex}-wrapper`,
|
|
1007
|
-
isPlaceholder,
|
|
1053
|
+
isPlaceholder: isPlaceholder2,
|
|
1008
1054
|
parentComponent: parent,
|
|
1009
1055
|
component,
|
|
1010
1056
|
slotName,
|
|
@@ -1069,7 +1115,7 @@ import {
|
|
|
1069
1115
|
UniformScript
|
|
1070
1116
|
} from "@uniformdev/canvas-next-rsc-client";
|
|
1071
1117
|
import { Suspense as Suspense2 } from "react";
|
|
1072
|
-
import
|
|
1118
|
+
import React8 from "react";
|
|
1073
1119
|
var UniformContext = async ({
|
|
1074
1120
|
clientContextComponent,
|
|
1075
1121
|
children
|
|
@@ -1083,7 +1129,7 @@ var UniformContext = async ({
|
|
|
1083
1129
|
const disableDevTools = ((_a = serverConfig2.context) == null ? void 0 : _a.disableDevTools) || false;
|
|
1084
1130
|
const defaultConsent = serverConfig2.defaultConsent || false;
|
|
1085
1131
|
const experimentalQuirkSerialization = ((_b = serverConfig2.experimental) == null ? void 0 : _b.quirkSerialization) || false;
|
|
1086
|
-
return /* @__PURE__ */
|
|
1132
|
+
return /* @__PURE__ */ React8.createElement(React8.Fragment, null, children, /* @__PURE__ */ React8.createElement(
|
|
1087
1133
|
ContextComponent,
|
|
1088
1134
|
{
|
|
1089
1135
|
manifest,
|
|
@@ -1091,16 +1137,16 @@ var UniformContext = async ({
|
|
|
1091
1137
|
defaultConsent,
|
|
1092
1138
|
experimentalQuirkSerialization
|
|
1093
1139
|
}
|
|
1094
|
-
), /* @__PURE__ */
|
|
1140
|
+
), /* @__PURE__ */ React8.createElement(Suspense2, { fallback: /* @__PURE__ */ React8.createElement(React8.Fragment, null) }, /* @__PURE__ */ React8.createElement(UniformScript, null)));
|
|
1095
1141
|
};
|
|
1096
1142
|
|
|
1097
1143
|
// src/components/UniformPlayground.tsx
|
|
1098
1144
|
import { CANVAS_DRAFT_STATE as CANVAS_DRAFT_STATE3, CANVAS_EDITOR_STATE as CANVAS_EDITOR_STATE3 } from "@uniformdev/canvas";
|
|
1099
1145
|
import { notFound as notFound2 } from "next/navigation";
|
|
1100
|
-
import
|
|
1146
|
+
import React9 from "react";
|
|
1101
1147
|
var UniformPlayground = async ({ searchParams, ...rest }) => {
|
|
1102
1148
|
if (!isDraftModeEnabled({ searchParams })) {
|
|
1103
|
-
return /* @__PURE__ */
|
|
1149
|
+
return /* @__PURE__ */ React9.createElement("div", null, /* @__PURE__ */ React9.createElement("h1", null, "Playground is only available in draft mode"));
|
|
1104
1150
|
}
|
|
1105
1151
|
const id = searchParams["id"];
|
|
1106
1152
|
if (!id) {
|
|
@@ -1131,7 +1177,7 @@ var UniformPlayground = async ({ searchParams, ...rest }) => {
|
|
|
1131
1177
|
if (!composition) {
|
|
1132
1178
|
notFound2();
|
|
1133
1179
|
}
|
|
1134
|
-
return /* @__PURE__ */
|
|
1180
|
+
return /* @__PURE__ */ React9.createElement(
|
|
1135
1181
|
UniformComposition,
|
|
1136
1182
|
{
|
|
1137
1183
|
mode: "server",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uniformdev/canvas-next-rsc",
|
|
3
|
-
"version": "19.
|
|
3
|
+
"version": "19.209.0",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "tsup",
|
|
@@ -61,15 +61,15 @@
|
|
|
61
61
|
"react-dom": "18.3.1"
|
|
62
62
|
},
|
|
63
63
|
"dependencies": {
|
|
64
|
-
"@uniformdev/canvas": "19.
|
|
65
|
-
"@uniformdev/canvas-next-rsc-client": "^19.
|
|
66
|
-
"@uniformdev/canvas-next-rsc-shared": "^19.
|
|
67
|
-
"@uniformdev/canvas-react": "19.
|
|
68
|
-
"@uniformdev/context": "19.
|
|
69
|
-
"@uniformdev/project-map": "19.
|
|
70
|
-
"@uniformdev/redirect": "19.
|
|
71
|
-
"@uniformdev/richtext": "19.
|
|
72
|
-
"@uniformdev/webhooks": "19.
|
|
64
|
+
"@uniformdev/canvas": "19.209.0",
|
|
65
|
+
"@uniformdev/canvas-next-rsc-client": "^19.209.0",
|
|
66
|
+
"@uniformdev/canvas-next-rsc-shared": "^19.209.0",
|
|
67
|
+
"@uniformdev/canvas-react": "19.209.0",
|
|
68
|
+
"@uniformdev/context": "19.209.0",
|
|
69
|
+
"@uniformdev/project-map": "19.209.0",
|
|
70
|
+
"@uniformdev/redirect": "19.209.0",
|
|
71
|
+
"@uniformdev/richtext": "19.209.0",
|
|
72
|
+
"@uniformdev/webhooks": "19.209.0",
|
|
73
73
|
"@vercel/edge-config": "^0.4.0",
|
|
74
74
|
"encoding": "^0.1.13",
|
|
75
75
|
"server-only": "^0.0.1",
|
|
@@ -86,5 +86,5 @@
|
|
|
86
86
|
"publishConfig": {
|
|
87
87
|
"access": "public"
|
|
88
88
|
},
|
|
89
|
-
"gitHead": "
|
|
89
|
+
"gitHead": "8e4f9dd23cb5dd695511f73714b3ef055acf1955"
|
|
90
90
|
}
|