@uniformdev/canvas-next-rsc 19.208.0 → 19.209.1

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.
@@ -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
  };
@@ -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-B8budr-b.mjs';
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';
@@ -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-B8budr-b.js';
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-B8budr-b.mjs';
9
- export { b as UniformComposition, r as resolveComposition } from './UniformComposition-B8budr-b.mjs';
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-B8budr-b.js';
9
- export { b as UniformComposition, r as resolveComposition } from './UniformComposition-B8budr-b.js';
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
@@ -419,6 +419,7 @@ async function generateStaticParams() {
419
419
 
420
420
  // src/components/UniformComposition.ts
421
421
  import {
422
+ CANVAS_CONTEXTUAL_EDITING_PARAM,
422
423
  CANVAS_DRAFT_STATE as CANVAS_DRAFT_STATE2,
423
424
  CANVAS_EDITOR_STATE as CANVAS_EDITOR_STATE2,
424
425
  CANVAS_ENRICHMENT_TAG_PARAM,
@@ -753,6 +754,7 @@ var VisibilityRulesWrapper = (props) => {
753
754
  // src/components/UniformComposition.ts
754
755
  var UniformComposition = async ({
755
756
  resolveComponent,
757
+ resolveEmptyPlaceholder,
756
758
  route,
757
759
  ...props
758
760
  }) => {
@@ -777,13 +779,16 @@ var UniformComposition = async ({
777
779
  const state = route.compositionApiResponse.state;
778
780
  if (state === CANVAS_DRAFT_STATE2 || state === CANVAS_EDITOR_STATE2) {
779
781
  walkNodeTree(route.compositionApiResponse.composition, (node) => {
782
+ var _a, _b;
780
783
  if (node.type === "component" && node.node.parameters) {
784
+ const contextualEditing = node.node.parameters[CANVAS_CONTEXTUAL_EDITING_PARAM];
785
+ const editableFields = (_b = (_a = contextualEditing == null ? void 0 : contextualEditing.value) == null ? void 0 : _a.editableParameters) != null ? _b : [];
781
786
  Object.keys(node.node.parameters).forEach((key) => {
782
787
  const parameter = node.node.parameters[key];
783
788
  if (parameter.type === "text") {
784
789
  const contextualParameter = parameter;
785
790
  contextualParameter._contextualEditing = {
786
- isEditable: true
791
+ isEditable: editableFields.includes(key)
787
792
  };
788
793
  }
789
794
  });
@@ -807,7 +812,8 @@ var UniformComposition = async ({
807
812
  resolveComponent,
808
813
  serverContext,
809
814
  compositionContext,
810
- mode: props.mode
815
+ mode: props.mode,
816
+ resolveEmptyPlaceholder
811
817
  });
812
818
  let transfer = null;
813
819
  if (props.mode === "server") {
@@ -880,6 +886,7 @@ var resolveSlots = ({
880
886
  component,
881
887
  root,
882
888
  resolveComponent,
889
+ resolveEmptyPlaceholder,
883
890
  serverContext,
884
891
  compositionContext,
885
892
  mode
@@ -899,7 +906,8 @@ var resolveSlots = ({
899
906
  resolveComponent,
900
907
  serverContext,
901
908
  compositionContext,
902
- mode
909
+ mode,
910
+ resolveEmptyPlaceholder
903
911
  });
904
912
  if (resolved) {
905
913
  slots[slotName] = {
@@ -930,6 +938,7 @@ var resolveComponents = ({
930
938
  slotName,
931
939
  slotIndex,
932
940
  resolveComponent,
941
+ resolveEmptyPlaceholder,
933
942
  compositionContext,
934
943
  mode
935
944
  }) => {
@@ -955,11 +964,29 @@ var resolveComponents = ({
955
964
  component,
956
965
  server: isServer
957
966
  });
967
+ const isPlaceholder = isComponentPlaceholderId(component == null ? void 0 : component._id);
968
+ let resolveResult = null;
969
+ if (isPlaceholder && resolveEmptyPlaceholder) {
970
+ const resolvedPlaceholder = resolveEmptyPlaceholder({
971
+ parentComponent: parent,
972
+ component,
973
+ slotName,
974
+ slotIndex: componentIndex
975
+ });
976
+ if (resolvedPlaceholder) {
977
+ resolveResult = {
978
+ component: resolvedPlaceholder.component
979
+ };
980
+ }
981
+ }
982
+ if (!resolveResult) {
983
+ resolveResult = resolveComponent({ component });
984
+ }
958
985
  const {
959
986
  component: regularComponent,
960
987
  includeContext,
961
988
  suspense: componentSuspense
962
- } = resolveComponent({ component }) || {
989
+ } = resolveResult || {
963
990
  component: null
964
991
  };
965
992
  if (!systemComponent && !regularComponent) {
@@ -971,6 +998,7 @@ var resolveComponents = ({
971
998
  resolveComponent,
972
999
  serverContext,
973
1000
  compositionContext,
1001
+ resolveEmptyPlaceholder,
974
1002
  mode
975
1003
  });
976
1004
  const resolvedComponent = systemComponent || regularComponent;
@@ -1020,13 +1048,13 @@ var resolveComponents = ({
1020
1048
  if (tagElement) {
1021
1049
  elements.push(tagElement);
1022
1050
  }
1023
- const isPlaceholder = isComponentPlaceholderId(component == null ? void 0 : component._id);
1024
- if (!isPlaceholder || compositionContext.previewMode === "editor") {
1051
+ const isPlaceholder2 = isComponentPlaceholderId(component == null ? void 0 : component._id);
1052
+ if (!isPlaceholder2 || compositionContext.previewMode === "editor") {
1025
1053
  childNode = createElement3(
1026
1054
  PureContextualEditingComponentWrapper,
1027
1055
  {
1028
1056
  key: `${slotName}-${componentIndex}-wrapper`,
1029
- isPlaceholder,
1057
+ isPlaceholder: isPlaceholder2,
1030
1058
  parentComponent: parent,
1031
1059
  component,
1032
1060
  slotName,
package/dist/index.js CHANGED
@@ -780,6 +780,7 @@ var VisibilityRulesWrapper = (props) => {
780
780
  // src/components/UniformComposition.ts
781
781
  var UniformComposition = async ({
782
782
  resolveComponent,
783
+ resolveEmptyPlaceholder,
783
784
  route,
784
785
  ...props
785
786
  }) => {
@@ -804,13 +805,16 @@ var UniformComposition = async ({
804
805
  const state = route.compositionApiResponse.state;
805
806
  if (state === import_canvas8.CANVAS_DRAFT_STATE || state === import_canvas8.CANVAS_EDITOR_STATE) {
806
807
  (0, import_canvas8.walkNodeTree)(route.compositionApiResponse.composition, (node) => {
808
+ var _a, _b;
807
809
  if (node.type === "component" && node.node.parameters) {
810
+ const contextualEditing = node.node.parameters[import_canvas8.CANVAS_CONTEXTUAL_EDITING_PARAM];
811
+ const editableFields = (_b = (_a = contextualEditing == null ? void 0 : contextualEditing.value) == null ? void 0 : _a.editableParameters) != null ? _b : [];
808
812
  Object.keys(node.node.parameters).forEach((key) => {
809
813
  const parameter = node.node.parameters[key];
810
814
  if (parameter.type === "text") {
811
815
  const contextualParameter = parameter;
812
816
  contextualParameter._contextualEditing = {
813
- isEditable: true
817
+ isEditable: editableFields.includes(key)
814
818
  };
815
819
  }
816
820
  });
@@ -834,7 +838,8 @@ var UniformComposition = async ({
834
838
  resolveComponent,
835
839
  serverContext,
836
840
  compositionContext,
837
- mode: props.mode
841
+ mode: props.mode,
842
+ resolveEmptyPlaceholder
838
843
  });
839
844
  let transfer = null;
840
845
  if (props.mode === "server") {
@@ -907,6 +912,7 @@ var resolveSlots = ({
907
912
  component,
908
913
  root,
909
914
  resolveComponent,
915
+ resolveEmptyPlaceholder,
910
916
  serverContext,
911
917
  compositionContext,
912
918
  mode
@@ -926,7 +932,8 @@ var resolveSlots = ({
926
932
  resolveComponent,
927
933
  serverContext,
928
934
  compositionContext,
929
- mode
935
+ mode,
936
+ resolveEmptyPlaceholder
930
937
  });
931
938
  if (resolved) {
932
939
  slots[slotName] = {
@@ -957,6 +964,7 @@ var resolveComponents = ({
957
964
  slotName,
958
965
  slotIndex,
959
966
  resolveComponent,
967
+ resolveEmptyPlaceholder,
960
968
  compositionContext,
961
969
  mode
962
970
  }) => {
@@ -982,11 +990,29 @@ var resolveComponents = ({
982
990
  component,
983
991
  server: isServer
984
992
  });
993
+ const isPlaceholder = (0, import_canvas8.isComponentPlaceholderId)(component == null ? void 0 : component._id);
994
+ let resolveResult = null;
995
+ if (isPlaceholder && resolveEmptyPlaceholder) {
996
+ const resolvedPlaceholder = resolveEmptyPlaceholder({
997
+ parentComponent: parent,
998
+ component,
999
+ slotName,
1000
+ slotIndex: componentIndex
1001
+ });
1002
+ if (resolvedPlaceholder) {
1003
+ resolveResult = {
1004
+ component: resolvedPlaceholder.component
1005
+ };
1006
+ }
1007
+ }
1008
+ if (!resolveResult) {
1009
+ resolveResult = resolveComponent({ component });
1010
+ }
985
1011
  const {
986
1012
  component: regularComponent,
987
1013
  includeContext,
988
1014
  suspense: componentSuspense
989
- } = resolveComponent({ component }) || {
1015
+ } = resolveResult || {
990
1016
  component: null
991
1017
  };
992
1018
  if (!systemComponent && !regularComponent) {
@@ -998,6 +1024,7 @@ var resolveComponents = ({
998
1024
  resolveComponent,
999
1025
  serverContext,
1000
1026
  compositionContext,
1027
+ resolveEmptyPlaceholder,
1001
1028
  mode
1002
1029
  });
1003
1030
  const resolvedComponent = systemComponent || regularComponent;
@@ -1047,13 +1074,13 @@ var resolveComponents = ({
1047
1074
  if (tagElement) {
1048
1075
  elements.push(tagElement);
1049
1076
  }
1050
- const isPlaceholder = (0, import_canvas8.isComponentPlaceholderId)(component == null ? void 0 : component._id);
1051
- if (!isPlaceholder || compositionContext.previewMode === "editor") {
1077
+ const isPlaceholder2 = (0, import_canvas8.isComponentPlaceholderId)(component == null ? void 0 : component._id);
1078
+ if (!isPlaceholder2 || compositionContext.previewMode === "editor") {
1052
1079
  childNode = (0, import_react10.createElement)(
1053
1080
  import_core.PureContextualEditingComponentWrapper,
1054
1081
  {
1055
1082
  key: `${slotName}-${componentIndex}-wrapper`,
1056
- isPlaceholder,
1083
+ isPlaceholder: isPlaceholder2,
1057
1084
  parentComponent: parent,
1058
1085
  component,
1059
1086
  slotName,
package/dist/index.mjs CHANGED
@@ -419,6 +419,7 @@ async function generateStaticParams() {
419
419
 
420
420
  // src/components/UniformComposition.ts
421
421
  import {
422
+ CANVAS_CONTEXTUAL_EDITING_PARAM,
422
423
  CANVAS_DRAFT_STATE as CANVAS_DRAFT_STATE2,
423
424
  CANVAS_EDITOR_STATE as CANVAS_EDITOR_STATE2,
424
425
  CANVAS_ENRICHMENT_TAG_PARAM,
@@ -753,6 +754,7 @@ var VisibilityRulesWrapper = (props) => {
753
754
  // src/components/UniformComposition.ts
754
755
  var UniformComposition = async ({
755
756
  resolveComponent,
757
+ resolveEmptyPlaceholder,
756
758
  route,
757
759
  ...props
758
760
  }) => {
@@ -777,13 +779,16 @@ var UniformComposition = async ({
777
779
  const state = route.compositionApiResponse.state;
778
780
  if (state === CANVAS_DRAFT_STATE2 || state === CANVAS_EDITOR_STATE2) {
779
781
  walkNodeTree(route.compositionApiResponse.composition, (node) => {
782
+ var _a, _b;
780
783
  if (node.type === "component" && node.node.parameters) {
784
+ const contextualEditing = node.node.parameters[CANVAS_CONTEXTUAL_EDITING_PARAM];
785
+ const editableFields = (_b = (_a = contextualEditing == null ? void 0 : contextualEditing.value) == null ? void 0 : _a.editableParameters) != null ? _b : [];
781
786
  Object.keys(node.node.parameters).forEach((key) => {
782
787
  const parameter = node.node.parameters[key];
783
788
  if (parameter.type === "text") {
784
789
  const contextualParameter = parameter;
785
790
  contextualParameter._contextualEditing = {
786
- isEditable: true
791
+ isEditable: editableFields.includes(key)
787
792
  };
788
793
  }
789
794
  });
@@ -807,7 +812,8 @@ var UniformComposition = async ({
807
812
  resolveComponent,
808
813
  serverContext,
809
814
  compositionContext,
810
- mode: props.mode
815
+ mode: props.mode,
816
+ resolveEmptyPlaceholder
811
817
  });
812
818
  let transfer = null;
813
819
  if (props.mode === "server") {
@@ -880,6 +886,7 @@ var resolveSlots = ({
880
886
  component,
881
887
  root,
882
888
  resolveComponent,
889
+ resolveEmptyPlaceholder,
883
890
  serverContext,
884
891
  compositionContext,
885
892
  mode
@@ -899,7 +906,8 @@ var resolveSlots = ({
899
906
  resolveComponent,
900
907
  serverContext,
901
908
  compositionContext,
902
- mode
909
+ mode,
910
+ resolveEmptyPlaceholder
903
911
  });
904
912
  if (resolved) {
905
913
  slots[slotName] = {
@@ -930,6 +938,7 @@ var resolveComponents = ({
930
938
  slotName,
931
939
  slotIndex,
932
940
  resolveComponent,
941
+ resolveEmptyPlaceholder,
933
942
  compositionContext,
934
943
  mode
935
944
  }) => {
@@ -955,11 +964,29 @@ var resolveComponents = ({
955
964
  component,
956
965
  server: isServer
957
966
  });
967
+ const isPlaceholder = isComponentPlaceholderId(component == null ? void 0 : component._id);
968
+ let resolveResult = null;
969
+ if (isPlaceholder && resolveEmptyPlaceholder) {
970
+ const resolvedPlaceholder = resolveEmptyPlaceholder({
971
+ parentComponent: parent,
972
+ component,
973
+ slotName,
974
+ slotIndex: componentIndex
975
+ });
976
+ if (resolvedPlaceholder) {
977
+ resolveResult = {
978
+ component: resolvedPlaceholder.component
979
+ };
980
+ }
981
+ }
982
+ if (!resolveResult) {
983
+ resolveResult = resolveComponent({ component });
984
+ }
958
985
  const {
959
986
  component: regularComponent,
960
987
  includeContext,
961
988
  suspense: componentSuspense
962
- } = resolveComponent({ component }) || {
989
+ } = resolveResult || {
963
990
  component: null
964
991
  };
965
992
  if (!systemComponent && !regularComponent) {
@@ -971,6 +998,7 @@ var resolveComponents = ({
971
998
  resolveComponent,
972
999
  serverContext,
973
1000
  compositionContext,
1001
+ resolveEmptyPlaceholder,
974
1002
  mode
975
1003
  });
976
1004
  const resolvedComponent = systemComponent || regularComponent;
@@ -1020,13 +1048,13 @@ var resolveComponents = ({
1020
1048
  if (tagElement) {
1021
1049
  elements.push(tagElement);
1022
1050
  }
1023
- const isPlaceholder = isComponentPlaceholderId(component == null ? void 0 : component._id);
1024
- if (!isPlaceholder || compositionContext.previewMode === "editor") {
1051
+ const isPlaceholder2 = isComponentPlaceholderId(component == null ? void 0 : component._id);
1052
+ if (!isPlaceholder2 || compositionContext.previewMode === "editor") {
1025
1053
  childNode = createElement3(
1026
1054
  PureContextualEditingComponentWrapper,
1027
1055
  {
1028
1056
  key: `${slotName}-${componentIndex}-wrapper`,
1029
- isPlaceholder,
1057
+ isPlaceholder: isPlaceholder2,
1030
1058
  parentComponent: parent,
1031
1059
  component,
1032
1060
  slotName,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniformdev/canvas-next-rsc",
3
- "version": "19.208.0",
3
+ "version": "19.209.1",
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.208.0",
65
- "@uniformdev/canvas-next-rsc-client": "^19.208.0",
66
- "@uniformdev/canvas-next-rsc-shared": "^19.208.0",
67
- "@uniformdev/canvas-react": "19.208.0",
68
- "@uniformdev/context": "19.208.0",
69
- "@uniformdev/project-map": "19.208.0",
70
- "@uniformdev/redirect": "19.208.0",
71
- "@uniformdev/richtext": "19.208.0",
72
- "@uniformdev/webhooks": "19.208.0",
64
+ "@uniformdev/canvas": "19.209.1",
65
+ "@uniformdev/canvas-next-rsc-client": "^19.209.1",
66
+ "@uniformdev/canvas-next-rsc-shared": "^19.209.1",
67
+ "@uniformdev/canvas-react": "19.209.1",
68
+ "@uniformdev/context": "19.209.1",
69
+ "@uniformdev/project-map": "19.209.1",
70
+ "@uniformdev/redirect": "19.209.1",
71
+ "@uniformdev/richtext": "19.209.1",
72
+ "@uniformdev/webhooks": "19.209.1",
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": "9b96344a84cc37c1c54f9164b89ca7697611a2c0"
89
+ "gitHead": "4dd40ad208d31d9c446a01434e804a0d47a562a9"
90
90
  }