@measured/puck 0.19.0-canary.896a6279 → 0.19.0-canary.91cb9cee

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/rsc.mjs CHANGED
@@ -1,114 +1,18 @@
1
1
  import {
2
- SlotRenderPure,
3
- __spreadProps,
4
- __spreadValues,
2
+ Render,
5
3
  init_react_import,
4
+ migrate,
6
5
  resolveAllData,
7
- rootAreaId,
8
- rootDroppableId,
9
- rootZone,
10
- setupZone,
11
6
  transformProps,
12
- useSlots
13
- } from "./chunk-LT6HN46T.mjs";
7
+ walkTree
8
+ } from "./chunk-GL73J54P.mjs";
14
9
 
15
10
  // rsc.tsx
16
11
  init_react_import();
17
-
18
- // components/ServerRender/index.tsx
19
- init_react_import();
20
- import { Fragment, jsx } from "react/jsx-runtime";
21
- function DropZoneRender({
22
- zone,
23
- data,
24
- areaId = "root",
25
- config,
26
- metadata = {}
27
- }) {
28
- let zoneCompound = rootDroppableId;
29
- let content = (data == null ? void 0 : data.content) || [];
30
- if (!data || !config) {
31
- return null;
32
- }
33
- if (areaId !== rootAreaId && zone !== rootZone) {
34
- zoneCompound = `${areaId}:${zone}`;
35
- content = setupZone(data, zoneCompound).zones[zoneCompound];
36
- }
37
- return /* @__PURE__ */ jsx(Fragment, { children: content.map((item) => {
38
- const Component = config.components[item.type];
39
- const props = __spreadProps(__spreadValues({}, item.props), {
40
- puck: {
41
- renderDropZone: ({ zone: zone2 }) => /* @__PURE__ */ jsx(
42
- DropZoneRender,
43
- {
44
- zone: zone2,
45
- data,
46
- areaId: item.props.id,
47
- config,
48
- metadata
49
- }
50
- ),
51
- metadata
52
- }
53
- });
54
- const propsWithSlots = useSlots(config.root, props, (props2) => /* @__PURE__ */ jsx(SlotRenderPure, __spreadProps(__spreadValues({}, props2), { config, metadata })));
55
- if (Component) {
56
- return /* @__PURE__ */ jsx(Component.render, __spreadValues({}, propsWithSlots), item.props.id);
57
- }
58
- return null;
59
- }) });
60
- }
61
- function Render({
62
- config,
63
- data,
64
- metadata = {}
65
- }) {
66
- var _a;
67
- const rootProps = data.root.props || data.root;
68
- const title = rootProps.title || "";
69
- const props = __spreadProps(__spreadValues({}, rootProps), {
70
- puck: {
71
- renderDropZone: ({ zone }) => /* @__PURE__ */ jsx(
72
- DropZoneRender,
73
- {
74
- zone,
75
- data,
76
- config,
77
- metadata
78
- }
79
- ),
80
- isEditing: false,
81
- dragRef: null,
82
- metadata
83
- },
84
- title,
85
- editMode: false,
86
- id: "puck-root"
87
- });
88
- const propsWithSlots = useSlots(config.root, props, (props2) => /* @__PURE__ */ jsx(SlotRenderPure, __spreadProps(__spreadValues({}, props2), { config, metadata })));
89
- if ((_a = config.root) == null ? void 0 : _a.render) {
90
- return /* @__PURE__ */ jsx(config.root.render, __spreadProps(__spreadValues({}, propsWithSlots), { children: /* @__PURE__ */ jsx(
91
- DropZoneRender,
92
- {
93
- config,
94
- data,
95
- zone: rootZone,
96
- metadata
97
- }
98
- ) }));
99
- }
100
- return /* @__PURE__ */ jsx(
101
- DropZoneRender,
102
- {
103
- config,
104
- data,
105
- zone: rootZone,
106
- metadata
107
- }
108
- );
109
- }
110
12
  export {
111
13
  Render,
14
+ migrate,
112
15
  resolveAllData,
113
- transformProps
16
+ transformProps,
17
+ walkTree
114
18
  };
@@ -1,4 +1,4 @@
1
- import { CSSProperties, ReactElement, JSX, ReactNode } from 'react';
1
+ import { CSSProperties, ReactElement, ReactNode, JSX } from 'react';
2
2
 
3
3
  type ItemSelector = {
4
4
  index: number;
@@ -23,6 +23,7 @@ type FieldOptions = Array<FieldOption> | ReadonlyArray<FieldOption>;
23
23
  type BaseField = {
24
24
  label?: string;
25
25
  labelIcon?: ReactElement;
26
+ metadata?: Metadata;
26
27
  };
27
28
  type TextField = BaseField & {
28
29
  type: "text";
@@ -109,19 +110,22 @@ type ExternalField<Props extends {
109
110
  filterFields?: Record<string, Field>;
110
111
  initialFilters?: Record<string, any>;
111
112
  };
112
- type CustomField<Props extends any = {}> = BaseField & {
113
+ type CustomFieldRender<Value extends any> = (props: {
114
+ field: CustomField<Value>;
115
+ name: string;
116
+ id: string;
117
+ value: Value;
118
+ onChange: (value: Value) => void;
119
+ readOnly?: boolean;
120
+ }) => ReactElement;
121
+ type CustomField<Value extends any> = BaseField & {
113
122
  type: "custom";
114
- render: (props: {
115
- field: CustomField<Props>;
116
- name: string;
117
- id: string;
118
- value: Props;
119
- onChange: (value: Props) => void;
120
- readOnly?: boolean;
121
- }) => ReactElement;
123
+ render: CustomFieldRender<Value>;
122
124
  };
123
125
  type SlotField = BaseField & {
124
126
  type: "slot";
127
+ allow?: string[];
128
+ disallow?: string[];
125
129
  };
126
130
  type Field<Props extends any = any> = TextField | NumberField | TextareaField | SelectField | RadioField | ArrayField<Props extends {
127
131
  [key: string]: any;
@@ -143,12 +147,12 @@ type FieldProps<F = Field<any>, ValueType = any> = {
143
147
  readOnly?: boolean;
144
148
  };
145
149
 
146
- type PuckComponent<Props> = (props: WithId<WithPuckProps<Props>>) => JSX.Element;
150
+ type PuckComponent<Props> = (props: WithId<WithPuckProps<{
151
+ [PropName in keyof Props]: Props[PropName] extends Slot ? (props?: Omit<DropZoneProps, "zone">) => ReactNode : Props[PropName];
152
+ }>>) => JSX.Element;
147
153
  type ResolveDataTrigger = "insert" | "replace" | "load" | "force";
148
154
  type ComponentConfig<RenderProps extends DefaultComponentProps = DefaultComponentProps, FieldProps extends DefaultComponentProps = RenderProps, DataShape = Omit<ComponentData<FieldProps>, "type">> = {
149
- render: PuckComponent<{
150
- [PropName in keyof RenderProps]: RenderProps[PropName] extends Slot ? (props?: Omit<DropZoneProps, "zone">) => ReactNode : RenderProps[PropName];
151
- }>;
155
+ render: PuckComponent<RenderProps>;
152
156
  label?: string;
153
157
  defaultProps?: FieldProps;
154
158
  fields?: Fields<FieldProps>;
@@ -187,6 +191,7 @@ type ComponentConfig<RenderProps extends DefaultComponentProps = DefaultComponen
187
191
  appState: AppState;
188
192
  lastData: DataShape | null;
189
193
  }) => Promise<Partial<Permissions>> | Partial<Permissions>;
194
+ metadata?: Metadata;
190
195
  };
191
196
  type RootConfig<RootProps extends DefaultComponentProps = any> = Partial<ComponentConfig<WithChildren<RootProps>, AsFieldProps<RootProps>, RootData<AsFieldProps<RootProps>>>>;
192
197
  type Category<ComponentName> = {
@@ -250,22 +255,28 @@ type BaseData<Props extends {
250
255
  readOnly?: Partial<Record<keyof Props, boolean>>;
251
256
  };
252
257
  type RootDataWithProps<Props extends DefaultComponentProps = DefaultRootFieldProps> = BaseData<Props> & {
253
- props: Props;
258
+ props: WithSlotProps<Props>;
254
259
  };
255
260
  type RootDataWithoutProps<Props extends DefaultComponentProps = DefaultRootFieldProps> = Props;
256
261
  type RootData<Props extends DefaultComponentProps = DefaultRootFieldProps> = Partial<RootDataWithProps<AsFieldProps<Props>>> & Partial<RootDataWithoutProps<Props>>;
257
262
  type ComponentData<Props extends DefaultComponentProps = DefaultComponentProps, Name = string> = {
258
263
  type: Name;
259
- props: WithId<Props>;
264
+ props: WithId<WithSlotProps<Props>>;
265
+ } & BaseData<Props>;
266
+ type ComponentDataOptionalId<Props extends DefaultComponentProps = DefaultComponentProps, Name = string> = {
267
+ type: Name;
268
+ props: Props & {
269
+ id?: string;
270
+ };
260
271
  } & BaseData<Props>;
261
272
  type MappedItem = ComponentData;
262
273
  type ComponentDataMap<Props extends Record<string, DefaultComponentProps> = DefaultComponentProps> = {
263
274
  [K in keyof Props]: ComponentData<Props[K], K extends string ? K : never>;
264
275
  }[keyof Props];
265
276
  type Content<PropsMap extends {
266
- [key: string]: any;
277
+ [key: string]: DefaultComponentProps;
267
278
  } = {
268
- [key: string]: any;
279
+ [key: string]: DefaultComponentProps;
269
280
  }> = ComponentDataMap<PropsMap>[];
270
281
  type Data<Props extends DefaultComponentProps = DefaultComponentProps, RootProps extends DefaultComponentProps = DefaultRootFieldProps> = {
271
282
  root: RootData<RootProps>;
@@ -441,7 +452,16 @@ type InitialHistoryNoAppend<AS = Partial<AppState>> = {
441
452
  appendData?: false;
442
453
  };
443
454
  type InitialHistory<AS = Partial<AppState>> = InitialHistoryAppend<AS> | InitialHistoryNoAppend<AS>;
444
- type Slot = Content;
455
+ type Slot<Props extends {
456
+ [key: string]: DefaultComponentProps;
457
+ } = {
458
+ [key: string]: DefaultComponentProps;
459
+ }> = {
460
+ [K in keyof Props]: ComponentDataOptionalId<Props[K], K extends string ? K : never>;
461
+ }[keyof Props][];
462
+ type WithSlotProps<Props extends DefaultComponentProps = DefaultComponentProps, SlotProps extends DefaultComponentProps = Props> = Props extends any ? any : {
463
+ [PropName in keyof Props]: Props[PropName] extends Slot<SlotProps> ? Content<SlotProps> : Props[PropName];
464
+ };
445
465
 
446
466
  type InsertAction = {
447
467
  type: "insert";
@@ -509,6 +529,8 @@ type PuckAction = {
509
529
  recordHistory?: boolean;
510
530
  } & (ReorderAction | InsertAction | MoveAction | ReplaceAction | ReplaceRootAction | RemoveAction | DuplicateAction | SetAction | SetDataAction | SetUiAction | RegisterZoneAction | UnregisterZoneAction);
511
531
 
532
+ declare function migrate(data: Data, config?: Config): Data;
533
+
512
534
  type PropTransform<Props extends DefaultComponentProps = DefaultComponentProps, RootProps extends DefaultComponentProps = DefaultRootFieldProps> = Partial<{
513
535
  [ComponentName in keyof Props]: (props: Props[ComponentName] & {
514
536
  [key: string]: any;
@@ -518,8 +540,14 @@ type PropTransform<Props extends DefaultComponentProps = DefaultComponentProps,
518
540
  [key: string]: any;
519
541
  }) => RootProps;
520
542
  }>;
521
- declare function transformProps<Props extends DefaultComponentProps = DefaultComponentProps, RootProps extends DefaultComponentProps = DefaultRootFieldProps>(data: Partial<Data>, propTransforms: PropTransform<Props, RootProps>): Data;
543
+ declare function transformProps<Props extends DefaultComponentProps = DefaultComponentProps, RootProps extends DefaultComponentProps = DefaultRootFieldProps>(data: Partial<Data>, propTransforms: PropTransform<Props, RootProps>, config?: Config): Data;
522
544
 
523
545
  declare function resolveAllData<Props extends DefaultComponentProps = DefaultComponentProps, RootProps extends Record<string, any> = DefaultRootFieldProps>(data: Partial<Data>, config: Config, metadata?: Metadata, onResolveStart?: (item: ComponentData) => void, onResolveEnd?: (item: ComponentData) => void): Promise<Data<Props, RootProps>>;
524
546
 
525
- export { type PuckContext as $, type AppState as A, type BaseData as B, type Config as C, type DropZoneProps as D, type BaseField as E, type Fields as F, type TextareaField as G, type History as H, type IframeConfig as I, type SelectField as J, type RadioField as K, type ArrayField as L, type Metadata as M, type NumberField as N, type Overrides as O, type Permissions as P, type ObjectField as Q, type RootDataWithProps as R, type Slot as S, type TextField as T, type UserGenerics as U, type Viewports as V, type Adaptor as W, type ExternalFieldWithAdaptor as X, type ExternalField as Y, type CustomField as Z, type SlotField as _, type ComponentData as a, type DefaultRootFieldProps as a0, type DefaultRootRenderProps as a1, type DefaultRootProps as a2, type DefaultComponentProps as a3, type WithId as a4, type WithPuckProps as a5, type AsFieldProps as a6, type WithChildren as a7, type ExtractPropsFromConfig as a8, type ExtractRootPropsFromConfig as a9, transformProps as aa, resolveAllData as ab, type PuckAction as b, type ResolveDataTrigger as c, type Plugin as d, type UiState as e, type ComponentConfig as f, type FieldProps as g, type Field as h, type Data as i, type OnAction as j, type InitialHistory as k, type Direction as l, type DragAxis as m, type Viewport as n, overrideKeys as o, type OverrideKey as p, type FieldRenderFunctions as q, type ItemWithId as r, type ArrayState as s, type PuckComponent as t, type RootConfig as u, type RootDataWithoutProps as v, type RootData as w, type MappedItem as x, type ComponentDataMap as y, type Content as z };
547
+ type WalkTreeOptions = {
548
+ parentId: string;
549
+ propName: string;
550
+ };
551
+ declare function walkTree<T extends ComponentData | RootData | G["UserData"], UserConfig extends Config = Config, G extends UserGenerics<UserConfig> = UserGenerics<UserConfig>>(data: T, config: UserConfig, callbackFn: (data: Content, options: WalkTreeOptions) => Content | null | void): T;
552
+
553
+ export { type ExternalFieldWithAdaptor as $, type AppState as A, type BaseData as B, type ComponentData as C, type DropZoneProps as D, type MappedItem as E, type Fields as F, type ComponentDataMap as G, type History as H, type IframeConfig as I, type Content as J, type BaseField as K, type TextareaField as L, type Metadata as M, type NumberField as N, type Overrides as O, type Permissions as P, type SelectField as Q, type RootDataWithProps as R, type Slot as S, type TextField as T, type UserGenerics as U, type Viewports as V, type WithSlotProps as W, type RadioField as X, type ArrayField as Y, type ObjectField as Z, type Adaptor as _, type Config as a, type ExternalField as a0, type CustomFieldRender as a1, type CustomField as a2, type SlotField as a3, type PuckContext as a4, type DefaultRootFieldProps as a5, type DefaultRootRenderProps as a6, type DefaultRootProps as a7, type DefaultComponentProps as a8, type WithId as a9, type WithPuckProps as aa, type AsFieldProps as ab, type WithChildren as ac, type ExtractPropsFromConfig as ad, type ExtractRootPropsFromConfig as ae, migrate as af, transformProps as ag, resolveAllData as ah, type PuckAction as b, type ResolveDataTrigger as c, type Plugin as d, type UiState as e, type ComponentConfig as f, type Field as g, type FieldProps as h, type Data as i, type OnAction as j, type InitialHistory as k, type ItemSelector as l, type Direction as m, type DragAxis as n, type Viewport as o, overrideKeys as p, type OverrideKey as q, type FieldRenderFunctions as r, type ItemWithId as s, type ArrayState as t, type PuckComponent as u, type RootConfig as v, walkTree as w, type RootDataWithoutProps as x, type RootData as y, type ComponentDataOptionalId as z };
@@ -1,4 +1,4 @@
1
- import { CSSProperties, ReactElement, JSX, ReactNode } from 'react';
1
+ import { CSSProperties, ReactElement, ReactNode, JSX } from 'react';
2
2
 
3
3
  type ItemSelector = {
4
4
  index: number;
@@ -23,6 +23,7 @@ type FieldOptions = Array<FieldOption> | ReadonlyArray<FieldOption>;
23
23
  type BaseField = {
24
24
  label?: string;
25
25
  labelIcon?: ReactElement;
26
+ metadata?: Metadata;
26
27
  };
27
28
  type TextField = BaseField & {
28
29
  type: "text";
@@ -109,19 +110,22 @@ type ExternalField<Props extends {
109
110
  filterFields?: Record<string, Field>;
110
111
  initialFilters?: Record<string, any>;
111
112
  };
112
- type CustomField<Props extends any = {}> = BaseField & {
113
+ type CustomFieldRender<Value extends any> = (props: {
114
+ field: CustomField<Value>;
115
+ name: string;
116
+ id: string;
117
+ value: Value;
118
+ onChange: (value: Value) => void;
119
+ readOnly?: boolean;
120
+ }) => ReactElement;
121
+ type CustomField<Value extends any> = BaseField & {
113
122
  type: "custom";
114
- render: (props: {
115
- field: CustomField<Props>;
116
- name: string;
117
- id: string;
118
- value: Props;
119
- onChange: (value: Props) => void;
120
- readOnly?: boolean;
121
- }) => ReactElement;
123
+ render: CustomFieldRender<Value>;
122
124
  };
123
125
  type SlotField = BaseField & {
124
126
  type: "slot";
127
+ allow?: string[];
128
+ disallow?: string[];
125
129
  };
126
130
  type Field<Props extends any = any> = TextField | NumberField | TextareaField | SelectField | RadioField | ArrayField<Props extends {
127
131
  [key: string]: any;
@@ -143,12 +147,12 @@ type FieldProps<F = Field<any>, ValueType = any> = {
143
147
  readOnly?: boolean;
144
148
  };
145
149
 
146
- type PuckComponent<Props> = (props: WithId<WithPuckProps<Props>>) => JSX.Element;
150
+ type PuckComponent<Props> = (props: WithId<WithPuckProps<{
151
+ [PropName in keyof Props]: Props[PropName] extends Slot ? (props?: Omit<DropZoneProps, "zone">) => ReactNode : Props[PropName];
152
+ }>>) => JSX.Element;
147
153
  type ResolveDataTrigger = "insert" | "replace" | "load" | "force";
148
154
  type ComponentConfig<RenderProps extends DefaultComponentProps = DefaultComponentProps, FieldProps extends DefaultComponentProps = RenderProps, DataShape = Omit<ComponentData<FieldProps>, "type">> = {
149
- render: PuckComponent<{
150
- [PropName in keyof RenderProps]: RenderProps[PropName] extends Slot ? (props?: Omit<DropZoneProps, "zone">) => ReactNode : RenderProps[PropName];
151
- }>;
155
+ render: PuckComponent<RenderProps>;
152
156
  label?: string;
153
157
  defaultProps?: FieldProps;
154
158
  fields?: Fields<FieldProps>;
@@ -187,6 +191,7 @@ type ComponentConfig<RenderProps extends DefaultComponentProps = DefaultComponen
187
191
  appState: AppState;
188
192
  lastData: DataShape | null;
189
193
  }) => Promise<Partial<Permissions>> | Partial<Permissions>;
194
+ metadata?: Metadata;
190
195
  };
191
196
  type RootConfig<RootProps extends DefaultComponentProps = any> = Partial<ComponentConfig<WithChildren<RootProps>, AsFieldProps<RootProps>, RootData<AsFieldProps<RootProps>>>>;
192
197
  type Category<ComponentName> = {
@@ -250,22 +255,28 @@ type BaseData<Props extends {
250
255
  readOnly?: Partial<Record<keyof Props, boolean>>;
251
256
  };
252
257
  type RootDataWithProps<Props extends DefaultComponentProps = DefaultRootFieldProps> = BaseData<Props> & {
253
- props: Props;
258
+ props: WithSlotProps<Props>;
254
259
  };
255
260
  type RootDataWithoutProps<Props extends DefaultComponentProps = DefaultRootFieldProps> = Props;
256
261
  type RootData<Props extends DefaultComponentProps = DefaultRootFieldProps> = Partial<RootDataWithProps<AsFieldProps<Props>>> & Partial<RootDataWithoutProps<Props>>;
257
262
  type ComponentData<Props extends DefaultComponentProps = DefaultComponentProps, Name = string> = {
258
263
  type: Name;
259
- props: WithId<Props>;
264
+ props: WithId<WithSlotProps<Props>>;
265
+ } & BaseData<Props>;
266
+ type ComponentDataOptionalId<Props extends DefaultComponentProps = DefaultComponentProps, Name = string> = {
267
+ type: Name;
268
+ props: Props & {
269
+ id?: string;
270
+ };
260
271
  } & BaseData<Props>;
261
272
  type MappedItem = ComponentData;
262
273
  type ComponentDataMap<Props extends Record<string, DefaultComponentProps> = DefaultComponentProps> = {
263
274
  [K in keyof Props]: ComponentData<Props[K], K extends string ? K : never>;
264
275
  }[keyof Props];
265
276
  type Content<PropsMap extends {
266
- [key: string]: any;
277
+ [key: string]: DefaultComponentProps;
267
278
  } = {
268
- [key: string]: any;
279
+ [key: string]: DefaultComponentProps;
269
280
  }> = ComponentDataMap<PropsMap>[];
270
281
  type Data<Props extends DefaultComponentProps = DefaultComponentProps, RootProps extends DefaultComponentProps = DefaultRootFieldProps> = {
271
282
  root: RootData<RootProps>;
@@ -441,7 +452,16 @@ type InitialHistoryNoAppend<AS = Partial<AppState>> = {
441
452
  appendData?: false;
442
453
  };
443
454
  type InitialHistory<AS = Partial<AppState>> = InitialHistoryAppend<AS> | InitialHistoryNoAppend<AS>;
444
- type Slot = Content;
455
+ type Slot<Props extends {
456
+ [key: string]: DefaultComponentProps;
457
+ } = {
458
+ [key: string]: DefaultComponentProps;
459
+ }> = {
460
+ [K in keyof Props]: ComponentDataOptionalId<Props[K], K extends string ? K : never>;
461
+ }[keyof Props][];
462
+ type WithSlotProps<Props extends DefaultComponentProps = DefaultComponentProps, SlotProps extends DefaultComponentProps = Props> = Props extends any ? any : {
463
+ [PropName in keyof Props]: Props[PropName] extends Slot<SlotProps> ? Content<SlotProps> : Props[PropName];
464
+ };
445
465
 
446
466
  type InsertAction = {
447
467
  type: "insert";
@@ -509,6 +529,8 @@ type PuckAction = {
509
529
  recordHistory?: boolean;
510
530
  } & (ReorderAction | InsertAction | MoveAction | ReplaceAction | ReplaceRootAction | RemoveAction | DuplicateAction | SetAction | SetDataAction | SetUiAction | RegisterZoneAction | UnregisterZoneAction);
511
531
 
532
+ declare function migrate(data: Data, config?: Config): Data;
533
+
512
534
  type PropTransform<Props extends DefaultComponentProps = DefaultComponentProps, RootProps extends DefaultComponentProps = DefaultRootFieldProps> = Partial<{
513
535
  [ComponentName in keyof Props]: (props: Props[ComponentName] & {
514
536
  [key: string]: any;
@@ -518,8 +540,14 @@ type PropTransform<Props extends DefaultComponentProps = DefaultComponentProps,
518
540
  [key: string]: any;
519
541
  }) => RootProps;
520
542
  }>;
521
- declare function transformProps<Props extends DefaultComponentProps = DefaultComponentProps, RootProps extends DefaultComponentProps = DefaultRootFieldProps>(data: Partial<Data>, propTransforms: PropTransform<Props, RootProps>): Data;
543
+ declare function transformProps<Props extends DefaultComponentProps = DefaultComponentProps, RootProps extends DefaultComponentProps = DefaultRootFieldProps>(data: Partial<Data>, propTransforms: PropTransform<Props, RootProps>, config?: Config): Data;
522
544
 
523
545
  declare function resolveAllData<Props extends DefaultComponentProps = DefaultComponentProps, RootProps extends Record<string, any> = DefaultRootFieldProps>(data: Partial<Data>, config: Config, metadata?: Metadata, onResolveStart?: (item: ComponentData) => void, onResolveEnd?: (item: ComponentData) => void): Promise<Data<Props, RootProps>>;
524
546
 
525
- export { type PuckContext as $, type AppState as A, type BaseData as B, type Config as C, type DropZoneProps as D, type BaseField as E, type Fields as F, type TextareaField as G, type History as H, type IframeConfig as I, type SelectField as J, type RadioField as K, type ArrayField as L, type Metadata as M, type NumberField as N, type Overrides as O, type Permissions as P, type ObjectField as Q, type RootDataWithProps as R, type Slot as S, type TextField as T, type UserGenerics as U, type Viewports as V, type Adaptor as W, type ExternalFieldWithAdaptor as X, type ExternalField as Y, type CustomField as Z, type SlotField as _, type ComponentData as a, type DefaultRootFieldProps as a0, type DefaultRootRenderProps as a1, type DefaultRootProps as a2, type DefaultComponentProps as a3, type WithId as a4, type WithPuckProps as a5, type AsFieldProps as a6, type WithChildren as a7, type ExtractPropsFromConfig as a8, type ExtractRootPropsFromConfig as a9, transformProps as aa, resolveAllData as ab, type PuckAction as b, type ResolveDataTrigger as c, type Plugin as d, type UiState as e, type ComponentConfig as f, type FieldProps as g, type Field as h, type Data as i, type OnAction as j, type InitialHistory as k, type Direction as l, type DragAxis as m, type Viewport as n, overrideKeys as o, type OverrideKey as p, type FieldRenderFunctions as q, type ItemWithId as r, type ArrayState as s, type PuckComponent as t, type RootConfig as u, type RootDataWithoutProps as v, type RootData as w, type MappedItem as x, type ComponentDataMap as y, type Content as z };
547
+ type WalkTreeOptions = {
548
+ parentId: string;
549
+ propName: string;
550
+ };
551
+ declare function walkTree<T extends ComponentData | RootData | G["UserData"], UserConfig extends Config = Config, G extends UserGenerics<UserConfig> = UserGenerics<UserConfig>>(data: T, config: UserConfig, callbackFn: (data: Content, options: WalkTreeOptions) => Content | null | void): T;
552
+
553
+ export { type ExternalFieldWithAdaptor as $, type AppState as A, type BaseData as B, type ComponentData as C, type DropZoneProps as D, type MappedItem as E, type Fields as F, type ComponentDataMap as G, type History as H, type IframeConfig as I, type Content as J, type BaseField as K, type TextareaField as L, type Metadata as M, type NumberField as N, type Overrides as O, type Permissions as P, type SelectField as Q, type RootDataWithProps as R, type Slot as S, type TextField as T, type UserGenerics as U, type Viewports as V, type WithSlotProps as W, type RadioField as X, type ArrayField as Y, type ObjectField as Z, type Adaptor as _, type Config as a, type ExternalField as a0, type CustomFieldRender as a1, type CustomField as a2, type SlotField as a3, type PuckContext as a4, type DefaultRootFieldProps as a5, type DefaultRootRenderProps as a6, type DefaultRootProps as a7, type DefaultComponentProps as a8, type WithId as a9, type WithPuckProps as aa, type AsFieldProps as ab, type WithChildren as ac, type ExtractPropsFromConfig as ad, type ExtractRootPropsFromConfig as ae, migrate as af, transformProps as ag, resolveAllData as ah, type PuckAction as b, type ResolveDataTrigger as c, type Plugin as d, type UiState as e, type ComponentConfig as f, type Field as g, type FieldProps as h, type Data as i, type OnAction as j, type InitialHistory as k, type ItemSelector as l, type Direction as m, type DragAxis as n, type Viewport as o, overrideKeys as p, type OverrideKey as q, type FieldRenderFunctions as r, type ItemWithId as s, type ArrayState as t, type PuckComponent as u, type RootConfig as v, walkTree as w, type RootDataWithoutProps as x, type RootData as y, type ComponentDataOptionalId as z };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@measured/puck",
3
- "version": "0.19.0-canary.896a6279",
4
- "author": "Measured Corporation Ltd <hello@measured.co>",
3
+ "version": "0.19.0-canary.91cb9cee",
4
+ "author": "Chris Villa <chris@puckeditor.com>",
5
5
  "repository": "measuredco/puck",
6
6
  "bugs": "https://github.com/measuredco/puck/issues",
7
7
  "homepage": "https://puckeditor.com",
@@ -69,8 +69,8 @@
69
69
  "typescript": "^5.5.4"
70
70
  },
71
71
  "dependencies": {
72
- "@dnd-kit/helpers": "0.0.7-beta-20250130032138",
73
- "@dnd-kit/react": "0.0.7-beta-20250130032138",
72
+ "@dnd-kit/helpers": "0.1.18-beta-20250525014052",
73
+ "@dnd-kit/react": "0.1.18-beta-20250525014052",
74
74
  "deep-diff": "^1.0.2",
75
75
  "fast-deep-equal": "^3.1.3",
76
76
  "object-hash": "^3.0.0",