@measured/puck 0.19.0-canary.0308d24 → 0.19.0-canary.036267f6

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/index.css CHANGED
@@ -1250,57 +1250,55 @@ textarea._Input-input_g5w3n_26 {
1250
1250
  }
1251
1251
 
1252
1252
  /* css-module:/home/runner/work/puck/puck/packages/core/components/DropZone/styles.module.css/#css-module-data */
1253
- ._DropZone_kmkdc_1 {
1253
+ ._DropZone_3dmev_1 {
1254
1254
  --resize-animation-ms: 150ms;
1255
1255
  position: relative;
1256
1256
  height: 100%;
1257
+ min-height: var(--min-empty-height);
1257
1258
  outline-offset: -2px;
1258
1259
  width: 100%;
1259
1260
  }
1260
- ._DropZone--isActive_kmkdc_10 {
1261
- min-height: var(--min-empty-height);
1262
- }
1263
- ._DropZone--hasChildren_kmkdc_14 {
1261
+ ._DropZone--hasChildren_3dmev_11 {
1264
1262
  min-height: 0;
1265
1263
  }
1266
- ._DropZone--isActive_kmkdc_10._DropZone_kmkdc_1:empty {
1264
+ ._DropZone_3dmev_1:empty {
1267
1265
  min-height: var(--min-empty-height);
1268
1266
  }
1269
- ._DropZone_kmkdc_1:not(._DropZone--userIsDragging_kmkdc_22) {
1267
+ ._DropZone_3dmev_1:not(._DropZone--userIsDragging_3dmev_19) {
1270
1268
  transition: min-height var(--resize-animation-ms) ease-in;
1271
1269
  }
1272
- ._DropZone--isAreaSelected_kmkdc_26,
1273
- ._DropZone--hoveringOverArea_kmkdc_27:not(._DropZone--isRootZone_kmkdc_27) {
1270
+ ._DropZone--isAreaSelected_3dmev_23,
1271
+ ._DropZone--hoveringOverArea_3dmev_24:not(._DropZone--isRootZone_3dmev_24) {
1274
1272
  background: color-mix(in srgb, var(--puck-color-azure-09) 30%, transparent);
1275
1273
  outline: 2px dashed var(--puck-color-azure-08);
1276
1274
  }
1277
- ._DropZone_kmkdc_1:empty {
1275
+ ._DropZone_3dmev_1:empty {
1278
1276
  background: color-mix(in srgb, var(--puck-color-azure-09) 30%, transparent);
1279
1277
  outline: 2px dashed var(--puck-color-azure-08);
1280
1278
  }
1281
- ._DropZone--isDestination_kmkdc_37 {
1279
+ ._DropZone--isDestination_3dmev_34 {
1282
1280
  outline: 2px dashed var(--puck-color-azure-04) !important;
1283
1281
  }
1284
- ._DropZone--isDestination_kmkdc_37:not(._DropZone--isRootZone_kmkdc_27) {
1282
+ ._DropZone--isDestination_3dmev_34:not(._DropZone--isRootZone_3dmev_24) {
1285
1283
  background: color-mix(in srgb, var(--puck-color-azure-09) 30%, transparent) !important;
1286
1284
  }
1287
- ._DropZone-item_kmkdc_49 {
1285
+ ._DropZone-item_3dmev_46 {
1288
1286
  position: relative;
1289
1287
  }
1290
- ._DropZone-hitbox_kmkdc_53 {
1288
+ ._DropZone-hitbox_3dmev_50 {
1291
1289
  position: absolute;
1292
1290
  bottom: -12px;
1293
1291
  height: 24px;
1294
1292
  width: 100%;
1295
1293
  z-index: 1;
1296
1294
  }
1297
- ._DropZone--isEnabled_kmkdc_61._DropZone--userIsDragging_kmkdc_22 {
1295
+ ._DropZone--isEnabled_3dmev_58._DropZone--userIsDragging_3dmev_19 {
1298
1296
  outline: 2px dashed var(--puck-color-azure-06);
1299
1297
  }
1300
- ._DropZone_kmkdc_1 > *:not([data-puck-component]) {
1298
+ ._DropZone_3dmev_1 > *:not([data-puck-component]) {
1301
1299
  opacity: 0;
1302
1300
  }
1303
- body:has(._DropZone--isAnimating_kmkdc_70:empty) [data-puck-overlay] {
1301
+ body:has(._DropZone--isAnimating_3dmev_67:empty) [data-puck-overlay] {
1304
1302
  opacity: 0 !important;
1305
1303
  }
1306
1304
 
package/dist/index.d.mts CHANGED
@@ -1,9 +1,109 @@
1
- import { F as FieldProps, a as Field, D as DropZoneProps, C as Config, U as UserGenerics, b as Data, c as UiState, O as OnAction, P as Permissions, d as Plugin, e as Overrides, f as PuckAction, V as Viewports, I as IframeConfig, g as InitialHistory, M as Metadata, H as History, h as ComponentData, i as Fields, A as AppState, j as ComponentConfig } from './resolve-all-data-3XjIPfNh.mjs';
2
- export { K as Adaptor, G as ArrayField, r as ArrayState, a2 as AsFieldProps, B as BaseData, y as BaseField, w as ComponentDataMap, x as Content, W as CustomField, $ as DefaultComponentProps, Y as DefaultRootFieldProps, _ as DefaultRootProps, Z as DefaultRootRenderProps, k as Direction, l as DragAxis, Q as ExternalField, L as ExternalFieldWithAdaptor, a4 as ExtractPropsFromConfig, a5 as ExtractRootPropsFromConfig, p as FieldRenderFunctions, q as ItemWithId, v as MappedItem, N as NumberField, J as ObjectField, n as OverrideKey, s as PuckComponent, X as PuckContext, E as RadioField, u as RootData, R as RootDataWithProps, t as RootDataWithoutProps, S as SelectField, T as TextField, z as TextareaField, m as Viewport, a3 as WithChildren, a0 as WithId, a1 as WithPuckProps, o as overrideKeys, a7 as resolveAllData, a6 as transformProps } from './resolve-all-data-3XjIPfNh.mjs';
1
+ import { H as History, C as Config, P as Permissions, U as UserGenerics, a as ComponentData, F as Fields, b as PuckAction, R as RootDataWithProps, c as ResolveDataTrigger, d as Plugin, O as Overrides, V as Viewports, I as IframeConfig, e as UiState, f as ComponentConfig, A as AppState, M as Metadata, g as FieldProps, h as Field, D as DropZoneProps, i as Data, j as OnAction, k as InitialHistory } from './resolve-all-data-Cs8PfTrg.mjs';
2
+ export { W as Adaptor, L as ArrayField, s as ArrayState, a6 as AsFieldProps, B as BaseData, E as BaseField, y as ComponentDataMap, z as Content, Z as CustomField, a3 as DefaultComponentProps, a0 as DefaultRootFieldProps, a2 as DefaultRootProps, a1 as DefaultRootRenderProps, l as Direction, m as DragAxis, Y as ExternalField, X as ExternalFieldWithAdaptor, a8 as ExtractPropsFromConfig, a9 as ExtractRootPropsFromConfig, q as FieldRenderFunctions, r as ItemWithId, x as MappedItem, N as NumberField, Q as ObjectField, p as OverrideKey, t as PuckComponent, $ as PuckContext, K as RadioField, u as RootConfig, w as RootData, v as RootDataWithoutProps, J as SelectField, S as Slot, _ as SlotField, T as TextField, G as TextareaField, n as Viewport, a7 as WithChildren, a4 as WithId, a5 as WithPuckProps, o as overrideKeys, ab as resolveAllData, aa as transformProps } from './resolve-all-data-Cs8PfTrg.mjs';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import * as react from 'react';
5
5
  import react__default, { ReactNode, SyntheticEvent, ReactElement } from 'react';
6
6
 
7
+ type HistorySlice<D = any> = {
8
+ index: number;
9
+ hasPast: () => boolean;
10
+ hasFuture: () => boolean;
11
+ histories: History<D>[];
12
+ record: (data: D) => void;
13
+ back: VoidFunction;
14
+ forward: VoidFunction;
15
+ currentHistory: () => History;
16
+ nextHistory: () => History<D> | null;
17
+ prevHistory: () => History<D> | null;
18
+ setHistories: (histories: History[]) => void;
19
+ setHistoryIndex: (index: number) => void;
20
+ initialAppState: D;
21
+ };
22
+
23
+ type NodeMethods = {
24
+ sync: () => void;
25
+ };
26
+ type PuckNodeInstance = {
27
+ id: string;
28
+ methods: NodeMethods;
29
+ element: HTMLElement | null;
30
+ };
31
+ type NodesSlice = {
32
+ nodes: Record<string, PuckNodeInstance | undefined>;
33
+ registerNode: (id: string, node: Partial<PuckNodeInstance>) => void;
34
+ unregisterNode: (id: string, node?: Partial<PuckNodeInstance>) => void;
35
+ };
36
+
37
+ type PermissionsArgs<UserConfig extends Config = Config, G extends UserGenerics<UserConfig> = UserGenerics<UserConfig>> = {
38
+ item?: G["UserComponentData"] | null;
39
+ type?: keyof G["UserProps"];
40
+ root?: boolean;
41
+ };
42
+ type GetPermissions<UserConfig extends Config = Config> = (params?: PermissionsArgs<UserConfig>) => Permissions;
43
+ type ResolvePermissions<UserConfig extends Config = Config> = (params?: PermissionsArgs<UserConfig>, force?: boolean) => void;
44
+ type RefreshPermissions<UserConfig extends Config = Config> = (params?: PermissionsArgs<UserConfig>, force?: boolean) => void;
45
+ type Cache = Record<string, {
46
+ lastPermissions: Partial<Permissions>;
47
+ lastData: ComponentData | null;
48
+ }>;
49
+ type PermissionsSlice = {
50
+ cache: Cache;
51
+ globalPermissions: Permissions;
52
+ resolvedPermissions: Record<string, Partial<Permissions> | undefined>;
53
+ getPermissions: GetPermissions<Config>;
54
+ resolvePermissions: ResolvePermissions<Config>;
55
+ refreshPermissions: RefreshPermissions<Config>;
56
+ };
57
+
58
+ type ComponentOrRootData = Omit<ComponentData<any>, "type">;
59
+ type FieldsSlice = {
60
+ fields: Fields | Partial<Fields>;
61
+ loading: boolean;
62
+ lastResolvedData: Partial<ComponentOrRootData>;
63
+ };
64
+
65
+ type Status = "LOADING" | "MOUNTED" | "READY";
66
+ type ZoomConfig = {
67
+ autoZoom: number;
68
+ rootHeight: number;
69
+ zoom: number;
70
+ };
71
+ type ComponentState = Record<string, {
72
+ loadingCount: number;
73
+ }>;
74
+ type AppStore<UserConfig extends Config = Config, G extends UserGenerics<UserConfig> = UserGenerics<UserConfig>> = {
75
+ state: G["UserAppState"];
76
+ dispatch: (action: PuckAction) => void;
77
+ config: UserConfig;
78
+ componentState: ComponentState;
79
+ setComponentState: (componentState: ComponentState) => void;
80
+ setComponentLoading: (id: string, loading?: boolean, defer?: number) => void;
81
+ unsetComponentLoading: (id: string) => void;
82
+ pendingComponentLoads: Record<string, NodeJS.Timeout>;
83
+ resolveComponentData: <T extends ComponentData | RootDataWithProps>(componentData: T, trigger: ResolveDataTrigger) => Promise<{
84
+ node: T;
85
+ didChange: boolean;
86
+ }>;
87
+ resolveAndCommitData: () => void;
88
+ plugins: Plugin[];
89
+ overrides: Partial<Overrides>;
90
+ viewports: Viewports;
91
+ zoomConfig: ZoomConfig;
92
+ setZoomConfig: (zoomConfig: ZoomConfig) => void;
93
+ status: Status;
94
+ setStatus: (status: Status) => void;
95
+ iframe: IframeConfig;
96
+ selectedItem?: G["UserData"]["content"][0] | null;
97
+ setUi: (ui: Partial<UiState>, recordHistory?: boolean) => void;
98
+ getComponentConfig: (type?: string) => ComponentConfig | null | undefined;
99
+ onAction?: (action: PuckAction, newState: AppState, state: AppState) => void;
100
+ metadata: Metadata;
101
+ fields: FieldsSlice;
102
+ history: HistorySlice;
103
+ nodes: NodesSlice;
104
+ permissions: PermissionsSlice;
105
+ };
106
+
7
107
  declare const ActionBar: {
8
108
  ({ label, children, }: {
9
109
  label?: string;
@@ -42,7 +142,7 @@ declare const FieldLabel: ({ children, icon, label, el, readOnly, className, }:
42
142
  className?: string;
43
143
  }) => react_jsx_runtime.JSX.Element;
44
144
  type FieldNoLabel<Props extends any = any> = Omit<Field<Props>, "label">;
45
- declare function AutoField<ValueType = any, FieldType extends FieldNoLabel<ValueType> = FieldNoLabel<ValueType>>(props: FieldProps<FieldType, ValueType>): react_jsx_runtime.JSX.Element;
145
+ declare function AutoField<ValueType = any, FieldType extends FieldNoLabel<ValueType> = FieldNoLabel<ValueType>>(props: FieldProps<FieldType, ValueType>): react_jsx_runtime.JSX.Element | null;
46
146
 
47
147
  declare const Button: ({ children, href, onClick, variant, type, disabled, tabIndex, newTab, fullWidth, icon, size, loading: loadingProp, ...props }: {
48
148
  children: ReactNode;
@@ -148,107 +248,6 @@ declare function Render<UserConfig extends Config = Config, G extends UserGeneri
148
248
 
149
249
  declare function migrate(data: Data): Data;
150
250
 
151
- type HistorySlice<D = any> = {
152
- index: number;
153
- hasPast: () => boolean;
154
- hasFuture: () => boolean;
155
- histories: History<D>[];
156
- record: (data: D) => void;
157
- back: VoidFunction;
158
- forward: VoidFunction;
159
- currentHistory: () => History;
160
- nextHistory: () => History<D> | null;
161
- prevHistory: () => History<D> | null;
162
- setHistories: (histories: History[]) => void;
163
- setHistoryIndex: (index: number) => void;
164
- initialAppState: D;
165
- };
166
-
167
- type NodeMethods = {
168
- sync: () => void;
169
- };
170
- type PuckNode = {
171
- id: string;
172
- methods: NodeMethods;
173
- data: ComponentData;
174
- parentId: string | null;
175
- zone: string;
176
- path: string[];
177
- index: number;
178
- element: HTMLElement | null;
179
- };
180
- type NodesSlice = {
181
- nodes: Record<string, PuckNode | undefined>;
182
- registerNode: (id: string, node: Partial<PuckNode>) => void;
183
- unregisterNode: (id: string, node?: Partial<PuckNode>) => void;
184
- };
185
-
186
- type PermissionsArgs<UserConfig extends Config = Config, G extends UserGenerics<UserConfig> = UserGenerics<UserConfig>> = {
187
- item?: G["UserComponentData"] | null;
188
- type?: keyof G["UserProps"];
189
- root?: boolean;
190
- };
191
- type GetPermissions<UserConfig extends Config = Config> = (params?: PermissionsArgs<UserConfig>) => Permissions;
192
- type ResolvePermissions<UserConfig extends Config = Config> = (params?: PermissionsArgs<UserConfig>, force?: boolean) => void;
193
- type RefreshPermissions<UserConfig extends Config = Config> = (params?: PermissionsArgs<UserConfig>, force?: boolean) => void;
194
- type Cache = Record<string, {
195
- lastPermissions: Partial<Permissions>;
196
- lastData: ComponentData | null;
197
- }>;
198
- type PermissionsSlice = {
199
- cache: Cache;
200
- globalPermissions: Permissions;
201
- resolvedPermissions: Record<string, Partial<Permissions> | undefined>;
202
- getPermissions: GetPermissions<Config>;
203
- resolvePermissions: ResolvePermissions<Config>;
204
- refreshPermissions: RefreshPermissions<Config>;
205
- };
206
-
207
- type ComponentOrRootData = Omit<ComponentData<any>, "type">;
208
- type FieldsSlice = {
209
- fields: Fields | Partial<Fields>;
210
- loading: boolean;
211
- lastResolvedData: Partial<ComponentOrRootData>;
212
- };
213
-
214
- type Status = "LOADING" | "MOUNTED" | "READY";
215
- type ZoomConfig = {
216
- autoZoom: number;
217
- rootHeight: number;
218
- zoom: number;
219
- };
220
- type ComponentState = Record<string, {
221
- loadingCount: number;
222
- }>;
223
- type AppStore<UserConfig extends Config = Config, G extends UserGenerics<UserConfig> = UserGenerics<UserConfig>> = {
224
- state: G["UserAppState"];
225
- dispatch: (action: PuckAction) => void;
226
- config: UserConfig;
227
- componentState: ComponentState;
228
- setComponentState: (componentState: ComponentState) => void;
229
- setComponentLoading: (id: string) => void;
230
- unsetComponentLoading: (id: string) => void;
231
- resolveDataRuns: number;
232
- resolveData: (newAppState: AppState) => void;
233
- plugins: Plugin[];
234
- overrides: Partial<Overrides>;
235
- viewports: Viewports;
236
- zoomConfig: ZoomConfig;
237
- setZoomConfig: (zoomConfig: ZoomConfig) => void;
238
- status: Status;
239
- setStatus: (status: Status) => void;
240
- iframe: IframeConfig;
241
- selectedItem?: G["UserData"]["content"][0] | null;
242
- setUi: (ui: Partial<UiState>, recordHistory?: boolean) => void;
243
- getComponentConfig: (type?: string) => ComponentConfig | null | undefined;
244
- onAction?: (action: PuckAction, newState: AppState, state: AppState) => void;
245
- metadata: Metadata;
246
- fields: FieldsSlice;
247
- history: HistorySlice;
248
- nodes: NodesSlice;
249
- permissions: PermissionsSlice;
250
- };
251
-
252
251
  type WithGet<T> = T & {
253
252
  get: () => T;
254
253
  };
@@ -283,4 +282,4 @@ type UsePuckStore<UserConfig extends Config = Config> = WithGet<UsePuckData<User
283
282
  declare function createUsePuck<UserConfig extends Config = Config>(): <T = UsePuckData<UserConfig, UserGenerics<UserConfig>>>(selector: (state: UsePuckStore<UserConfig>) => T) => T;
284
283
  declare function usePuck<UserConfig extends Config = Config>(): UsePuckStore<UserConfig>;
285
284
 
286
- export { Action, ActionBar, AppState, AutoField, Button, ComponentConfig, ComponentData, Config, Data, Drawer, DropZone, Field, FieldLabel, FieldProps, Fields, Group, History, IconButton, IframeConfig, InitialHistory, Label, Metadata, OnAction, Overrides, Permissions, Plugin, Puck, PuckAction, Render, UiState, type UsePuckData, UserGenerics, Viewports, createUsePuck, migrate, renderContext, usePuck };
285
+ export { Action, ActionBar, AppState, AutoField, Button, ComponentConfig, ComponentData, Config, Data, Drawer, DropZone, Field, FieldLabel, FieldProps, Fields, Group, History, IconButton, IframeConfig, InitialHistory, Label, Metadata, OnAction, Overrides, Permissions, Plugin, Puck, PuckAction, Render, ResolveDataTrigger, RootDataWithProps, UiState, type UsePuckData, UserGenerics, Viewports, createUsePuck, migrate, renderContext, usePuck };
package/dist/index.d.ts CHANGED
@@ -1,9 +1,109 @@
1
- import { F as FieldProps, a as Field, D as DropZoneProps, C as Config, U as UserGenerics, b as Data, c as UiState, O as OnAction, P as Permissions, d as Plugin, e as Overrides, f as PuckAction, V as Viewports, I as IframeConfig, g as InitialHistory, M as Metadata, H as History, h as ComponentData, i as Fields, A as AppState, j as ComponentConfig } from './resolve-all-data-3XjIPfNh.js';
2
- export { K as Adaptor, G as ArrayField, r as ArrayState, a2 as AsFieldProps, B as BaseData, y as BaseField, w as ComponentDataMap, x as Content, W as CustomField, $ as DefaultComponentProps, Y as DefaultRootFieldProps, _ as DefaultRootProps, Z as DefaultRootRenderProps, k as Direction, l as DragAxis, Q as ExternalField, L as ExternalFieldWithAdaptor, a4 as ExtractPropsFromConfig, a5 as ExtractRootPropsFromConfig, p as FieldRenderFunctions, q as ItemWithId, v as MappedItem, N as NumberField, J as ObjectField, n as OverrideKey, s as PuckComponent, X as PuckContext, E as RadioField, u as RootData, R as RootDataWithProps, t as RootDataWithoutProps, S as SelectField, T as TextField, z as TextareaField, m as Viewport, a3 as WithChildren, a0 as WithId, a1 as WithPuckProps, o as overrideKeys, a7 as resolveAllData, a6 as transformProps } from './resolve-all-data-3XjIPfNh.js';
1
+ import { H as History, C as Config, P as Permissions, U as UserGenerics, a as ComponentData, F as Fields, b as PuckAction, R as RootDataWithProps, c as ResolveDataTrigger, d as Plugin, O as Overrides, V as Viewports, I as IframeConfig, e as UiState, f as ComponentConfig, A as AppState, M as Metadata, g as FieldProps, h as Field, D as DropZoneProps, i as Data, j as OnAction, k as InitialHistory } from './resolve-all-data-Cs8PfTrg.js';
2
+ export { W as Adaptor, L as ArrayField, s as ArrayState, a6 as AsFieldProps, B as BaseData, E as BaseField, y as ComponentDataMap, z as Content, Z as CustomField, a3 as DefaultComponentProps, a0 as DefaultRootFieldProps, a2 as DefaultRootProps, a1 as DefaultRootRenderProps, l as Direction, m as DragAxis, Y as ExternalField, X as ExternalFieldWithAdaptor, a8 as ExtractPropsFromConfig, a9 as ExtractRootPropsFromConfig, q as FieldRenderFunctions, r as ItemWithId, x as MappedItem, N as NumberField, Q as ObjectField, p as OverrideKey, t as PuckComponent, $ as PuckContext, K as RadioField, u as RootConfig, w as RootData, v as RootDataWithoutProps, J as SelectField, S as Slot, _ as SlotField, T as TextField, G as TextareaField, n as Viewport, a7 as WithChildren, a4 as WithId, a5 as WithPuckProps, o as overrideKeys, ab as resolveAllData, aa as transformProps } from './resolve-all-data-Cs8PfTrg.js';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import * as react from 'react';
5
5
  import react__default, { ReactNode, SyntheticEvent, ReactElement } from 'react';
6
6
 
7
+ type HistorySlice<D = any> = {
8
+ index: number;
9
+ hasPast: () => boolean;
10
+ hasFuture: () => boolean;
11
+ histories: History<D>[];
12
+ record: (data: D) => void;
13
+ back: VoidFunction;
14
+ forward: VoidFunction;
15
+ currentHistory: () => History;
16
+ nextHistory: () => History<D> | null;
17
+ prevHistory: () => History<D> | null;
18
+ setHistories: (histories: History[]) => void;
19
+ setHistoryIndex: (index: number) => void;
20
+ initialAppState: D;
21
+ };
22
+
23
+ type NodeMethods = {
24
+ sync: () => void;
25
+ };
26
+ type PuckNodeInstance = {
27
+ id: string;
28
+ methods: NodeMethods;
29
+ element: HTMLElement | null;
30
+ };
31
+ type NodesSlice = {
32
+ nodes: Record<string, PuckNodeInstance | undefined>;
33
+ registerNode: (id: string, node: Partial<PuckNodeInstance>) => void;
34
+ unregisterNode: (id: string, node?: Partial<PuckNodeInstance>) => void;
35
+ };
36
+
37
+ type PermissionsArgs<UserConfig extends Config = Config, G extends UserGenerics<UserConfig> = UserGenerics<UserConfig>> = {
38
+ item?: G["UserComponentData"] | null;
39
+ type?: keyof G["UserProps"];
40
+ root?: boolean;
41
+ };
42
+ type GetPermissions<UserConfig extends Config = Config> = (params?: PermissionsArgs<UserConfig>) => Permissions;
43
+ type ResolvePermissions<UserConfig extends Config = Config> = (params?: PermissionsArgs<UserConfig>, force?: boolean) => void;
44
+ type RefreshPermissions<UserConfig extends Config = Config> = (params?: PermissionsArgs<UserConfig>, force?: boolean) => void;
45
+ type Cache = Record<string, {
46
+ lastPermissions: Partial<Permissions>;
47
+ lastData: ComponentData | null;
48
+ }>;
49
+ type PermissionsSlice = {
50
+ cache: Cache;
51
+ globalPermissions: Permissions;
52
+ resolvedPermissions: Record<string, Partial<Permissions> | undefined>;
53
+ getPermissions: GetPermissions<Config>;
54
+ resolvePermissions: ResolvePermissions<Config>;
55
+ refreshPermissions: RefreshPermissions<Config>;
56
+ };
57
+
58
+ type ComponentOrRootData = Omit<ComponentData<any>, "type">;
59
+ type FieldsSlice = {
60
+ fields: Fields | Partial<Fields>;
61
+ loading: boolean;
62
+ lastResolvedData: Partial<ComponentOrRootData>;
63
+ };
64
+
65
+ type Status = "LOADING" | "MOUNTED" | "READY";
66
+ type ZoomConfig = {
67
+ autoZoom: number;
68
+ rootHeight: number;
69
+ zoom: number;
70
+ };
71
+ type ComponentState = Record<string, {
72
+ loadingCount: number;
73
+ }>;
74
+ type AppStore<UserConfig extends Config = Config, G extends UserGenerics<UserConfig> = UserGenerics<UserConfig>> = {
75
+ state: G["UserAppState"];
76
+ dispatch: (action: PuckAction) => void;
77
+ config: UserConfig;
78
+ componentState: ComponentState;
79
+ setComponentState: (componentState: ComponentState) => void;
80
+ setComponentLoading: (id: string, loading?: boolean, defer?: number) => void;
81
+ unsetComponentLoading: (id: string) => void;
82
+ pendingComponentLoads: Record<string, NodeJS.Timeout>;
83
+ resolveComponentData: <T extends ComponentData | RootDataWithProps>(componentData: T, trigger: ResolveDataTrigger) => Promise<{
84
+ node: T;
85
+ didChange: boolean;
86
+ }>;
87
+ resolveAndCommitData: () => void;
88
+ plugins: Plugin[];
89
+ overrides: Partial<Overrides>;
90
+ viewports: Viewports;
91
+ zoomConfig: ZoomConfig;
92
+ setZoomConfig: (zoomConfig: ZoomConfig) => void;
93
+ status: Status;
94
+ setStatus: (status: Status) => void;
95
+ iframe: IframeConfig;
96
+ selectedItem?: G["UserData"]["content"][0] | null;
97
+ setUi: (ui: Partial<UiState>, recordHistory?: boolean) => void;
98
+ getComponentConfig: (type?: string) => ComponentConfig | null | undefined;
99
+ onAction?: (action: PuckAction, newState: AppState, state: AppState) => void;
100
+ metadata: Metadata;
101
+ fields: FieldsSlice;
102
+ history: HistorySlice;
103
+ nodes: NodesSlice;
104
+ permissions: PermissionsSlice;
105
+ };
106
+
7
107
  declare const ActionBar: {
8
108
  ({ label, children, }: {
9
109
  label?: string;
@@ -42,7 +142,7 @@ declare const FieldLabel: ({ children, icon, label, el, readOnly, className, }:
42
142
  className?: string;
43
143
  }) => react_jsx_runtime.JSX.Element;
44
144
  type FieldNoLabel<Props extends any = any> = Omit<Field<Props>, "label">;
45
- declare function AutoField<ValueType = any, FieldType extends FieldNoLabel<ValueType> = FieldNoLabel<ValueType>>(props: FieldProps<FieldType, ValueType>): react_jsx_runtime.JSX.Element;
145
+ declare function AutoField<ValueType = any, FieldType extends FieldNoLabel<ValueType> = FieldNoLabel<ValueType>>(props: FieldProps<FieldType, ValueType>): react_jsx_runtime.JSX.Element | null;
46
146
 
47
147
  declare const Button: ({ children, href, onClick, variant, type, disabled, tabIndex, newTab, fullWidth, icon, size, loading: loadingProp, ...props }: {
48
148
  children: ReactNode;
@@ -148,107 +248,6 @@ declare function Render<UserConfig extends Config = Config, G extends UserGeneri
148
248
 
149
249
  declare function migrate(data: Data): Data;
150
250
 
151
- type HistorySlice<D = any> = {
152
- index: number;
153
- hasPast: () => boolean;
154
- hasFuture: () => boolean;
155
- histories: History<D>[];
156
- record: (data: D) => void;
157
- back: VoidFunction;
158
- forward: VoidFunction;
159
- currentHistory: () => History;
160
- nextHistory: () => History<D> | null;
161
- prevHistory: () => History<D> | null;
162
- setHistories: (histories: History[]) => void;
163
- setHistoryIndex: (index: number) => void;
164
- initialAppState: D;
165
- };
166
-
167
- type NodeMethods = {
168
- sync: () => void;
169
- };
170
- type PuckNode = {
171
- id: string;
172
- methods: NodeMethods;
173
- data: ComponentData;
174
- parentId: string | null;
175
- zone: string;
176
- path: string[];
177
- index: number;
178
- element: HTMLElement | null;
179
- };
180
- type NodesSlice = {
181
- nodes: Record<string, PuckNode | undefined>;
182
- registerNode: (id: string, node: Partial<PuckNode>) => void;
183
- unregisterNode: (id: string, node?: Partial<PuckNode>) => void;
184
- };
185
-
186
- type PermissionsArgs<UserConfig extends Config = Config, G extends UserGenerics<UserConfig> = UserGenerics<UserConfig>> = {
187
- item?: G["UserComponentData"] | null;
188
- type?: keyof G["UserProps"];
189
- root?: boolean;
190
- };
191
- type GetPermissions<UserConfig extends Config = Config> = (params?: PermissionsArgs<UserConfig>) => Permissions;
192
- type ResolvePermissions<UserConfig extends Config = Config> = (params?: PermissionsArgs<UserConfig>, force?: boolean) => void;
193
- type RefreshPermissions<UserConfig extends Config = Config> = (params?: PermissionsArgs<UserConfig>, force?: boolean) => void;
194
- type Cache = Record<string, {
195
- lastPermissions: Partial<Permissions>;
196
- lastData: ComponentData | null;
197
- }>;
198
- type PermissionsSlice = {
199
- cache: Cache;
200
- globalPermissions: Permissions;
201
- resolvedPermissions: Record<string, Partial<Permissions> | undefined>;
202
- getPermissions: GetPermissions<Config>;
203
- resolvePermissions: ResolvePermissions<Config>;
204
- refreshPermissions: RefreshPermissions<Config>;
205
- };
206
-
207
- type ComponentOrRootData = Omit<ComponentData<any>, "type">;
208
- type FieldsSlice = {
209
- fields: Fields | Partial<Fields>;
210
- loading: boolean;
211
- lastResolvedData: Partial<ComponentOrRootData>;
212
- };
213
-
214
- type Status = "LOADING" | "MOUNTED" | "READY";
215
- type ZoomConfig = {
216
- autoZoom: number;
217
- rootHeight: number;
218
- zoom: number;
219
- };
220
- type ComponentState = Record<string, {
221
- loadingCount: number;
222
- }>;
223
- type AppStore<UserConfig extends Config = Config, G extends UserGenerics<UserConfig> = UserGenerics<UserConfig>> = {
224
- state: G["UserAppState"];
225
- dispatch: (action: PuckAction) => void;
226
- config: UserConfig;
227
- componentState: ComponentState;
228
- setComponentState: (componentState: ComponentState) => void;
229
- setComponentLoading: (id: string) => void;
230
- unsetComponentLoading: (id: string) => void;
231
- resolveDataRuns: number;
232
- resolveData: (newAppState: AppState) => void;
233
- plugins: Plugin[];
234
- overrides: Partial<Overrides>;
235
- viewports: Viewports;
236
- zoomConfig: ZoomConfig;
237
- setZoomConfig: (zoomConfig: ZoomConfig) => void;
238
- status: Status;
239
- setStatus: (status: Status) => void;
240
- iframe: IframeConfig;
241
- selectedItem?: G["UserData"]["content"][0] | null;
242
- setUi: (ui: Partial<UiState>, recordHistory?: boolean) => void;
243
- getComponentConfig: (type?: string) => ComponentConfig | null | undefined;
244
- onAction?: (action: PuckAction, newState: AppState, state: AppState) => void;
245
- metadata: Metadata;
246
- fields: FieldsSlice;
247
- history: HistorySlice;
248
- nodes: NodesSlice;
249
- permissions: PermissionsSlice;
250
- };
251
-
252
251
  type WithGet<T> = T & {
253
252
  get: () => T;
254
253
  };
@@ -283,4 +282,4 @@ type UsePuckStore<UserConfig extends Config = Config> = WithGet<UsePuckData<User
283
282
  declare function createUsePuck<UserConfig extends Config = Config>(): <T = UsePuckData<UserConfig, UserGenerics<UserConfig>>>(selector: (state: UsePuckStore<UserConfig>) => T) => T;
284
283
  declare function usePuck<UserConfig extends Config = Config>(): UsePuckStore<UserConfig>;
285
284
 
286
- export { Action, ActionBar, AppState, AutoField, Button, ComponentConfig, ComponentData, Config, Data, Drawer, DropZone, Field, FieldLabel, FieldProps, Fields, Group, History, IconButton, IframeConfig, InitialHistory, Label, Metadata, OnAction, Overrides, Permissions, Plugin, Puck, PuckAction, Render, UiState, type UsePuckData, UserGenerics, Viewports, createUsePuck, migrate, renderContext, usePuck };
285
+ export { Action, ActionBar, AppState, AutoField, Button, ComponentConfig, ComponentData, Config, Data, Drawer, DropZone, Field, FieldLabel, FieldProps, Fields, Group, History, IconButton, IframeConfig, InitialHistory, Label, Metadata, OnAction, Overrides, Permissions, Plugin, Puck, PuckAction, Render, ResolveDataTrigger, RootDataWithProps, UiState, type UsePuckData, UserGenerics, Viewports, createUsePuck, migrate, renderContext, usePuck };