@measured/puck 0.21.0-canary.a3dabae1 → 0.21.0-canary.a62292fd

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/Editor-F2LSS6SE.css +403 -0
  2. package/dist/Editor-O447AVCX.mjs +204 -0
  3. package/dist/Render-OFE6QLI2.mjs +55 -0
  4. package/dist/Render-QEMDIDQC.css +101 -0
  5. package/dist/{walk-tree-Cvtjzg9C.d.mts → actions-ONhOkrvf.d.mts} +270 -95
  6. package/dist/{walk-tree-Cvtjzg9C.d.ts → actions-ONhOkrvf.d.ts} +270 -95
  7. package/dist/chunk-2Q4PACDA.mjs +111 -0
  8. package/dist/chunk-62AAYNXG.mjs +63 -0
  9. package/dist/{chunk-V2FU5KB6.mjs → chunk-7GESFTRA.mjs} +5544 -8012
  10. package/dist/chunk-BSDEIOEK.mjs +706 -0
  11. package/dist/chunk-CSSRLPHM.mjs +11 -0
  12. package/dist/chunk-DAQLMM2T.mjs +1722 -0
  13. package/dist/chunk-M6W7YEVX.mjs +95 -0
  14. package/dist/chunk-NLUHDYVR.mjs +416 -0
  15. package/dist/chunk-PLXSMBAA.mjs +53 -0
  16. package/dist/chunk-QAWJTCV5.mjs +33 -0
  17. package/dist/chunk-QBGM4ELA.mjs +528 -0
  18. package/dist/chunk-T3WX7XJ6.mjs +132 -0
  19. package/dist/chunk-V5I7CVLT.mjs +103 -0
  20. package/dist/chunk-Y2EFNT5P.mjs +108 -0
  21. package/dist/chunk-Y656T6AQ.mjs +419 -0
  22. package/dist/full-2GJTAAZE.css +301 -0
  23. package/dist/full-BEMDJKDS.mjs +93 -0
  24. package/dist/index-BEoNHRI1.d.ts +116 -0
  25. package/dist/index-DfxZ7tZF.d.mts +116 -0
  26. package/dist/index.css +640 -761
  27. package/dist/index.d.mts +95 -123
  28. package/dist/index.d.ts +95 -123
  29. package/dist/index.js +8032 -5511
  30. package/dist/index.mjs +28 -15
  31. package/dist/internal.d.mts +27 -0
  32. package/dist/internal.d.ts +27 -0
  33. package/dist/internal.js +908 -0
  34. package/dist/internal.mjs +13 -0
  35. package/dist/loaded-JU3A7Y4L.mjs +57 -0
  36. package/dist/loaded-N3FYGF2Y.mjs +57 -0
  37. package/dist/loaded-OBY7OMS6.mjs +60 -0
  38. package/dist/loaded-RVWBFK7L.css +87 -0
  39. package/dist/no-external.css +640 -761
  40. package/dist/no-external.d.mts +19 -2
  41. package/dist/no-external.d.ts +19 -2
  42. package/dist/no-external.js +8023 -5502
  43. package/dist/no-external.mjs +28 -15
  44. package/dist/rsc.css +101 -0
  45. package/dist/rsc.d.mts +17 -2
  46. package/dist/rsc.d.ts +17 -2
  47. package/dist/rsc.js +437 -57
  48. package/dist/rsc.mjs +18 -9
  49. package/dist/walk-tree-CdriEzFJ.d.mts +29 -0
  50. package/dist/walk-tree-DHbAZ4wF.d.ts +29 -0
  51. package/package.json +31 -4
  52. package/dist/chunk-C24EBUN6.mjs +0 -971
package/dist/index.d.mts CHANGED
@@ -1,123 +1,37 @@
1
- import { H as History, P as Permissions, a as ComponentData, C as Config, U as UserGenerics, 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 FieldTransforms, h as Field, i as FieldProps, D as DropZoneProps, j as Data, k as OnAction, l as InitialHistory, n as ItemSelector, o as PluginInternal } from './walk-tree-Cvtjzg9C.mjs';
2
- export { a8 as Adaptor, a6 as ArrayField, E as ArrayState, al as AsFieldProps, Q as BaseData, a0 as BaseField, _ as ComponentDataMap, Y as ComponentDataOptionalId, $ as Content, ac as CustomField, ab as CustomFieldRender, ai as DefaultComponentProps, L as DefaultComponents, af as DefaultRootFieldProps, ah as DefaultRootProps, ag as DefaultRootRenderProps, p as Direction, q as DragAxis, aa as ExternalField, a9 as ExternalFieldWithAdaptor, N as ExtractConfigParams, an as ExtractField, z as FieldRenderFunctions, v as FieldTransformFn, u as FieldTransformFnParams, B as ItemWithId, Z as MappedItem, a2 as NumberField, a7 as ObjectField, y as OverrideKey, J as PuckComponent, ae as PuckContext, a5 as RadioField, K as RootConfig, X as RootData, T as RootDataWithoutProps, a4 as SelectField, S as Slot, G as SlotComponent, ad as SlotField, a1 as TextField, a3 as TextareaField, s as Viewport, am as WithChildren, aj as WithId, ak as WithPuckProps, W as WithSlotProps, m as migrate, x as overrideKeys, r as resolveAllData, t as transformProps, w as walkTree } from './walk-tree-Cvtjzg9C.mjs';
1
+ import { p as Field, q as FieldProps, r as DropZoneProps, C as Config, U as UserGenerics, D as Data, l as UiState, O as OnAction, g as Permissions, j as Plugin, k as Overrides, n as FieldTransforms, a as PuckAction, V as Viewports, I as IframeConfig, s as InitialHistory, M as Metadata, t as ItemSelector, c as ComponentData } from './actions-ONhOkrvf.mjs';
2
+ export { af as Adaptor, A as AppState, ad as ArrayField, L as ArrayState, aq as AsFieldProps, $ as BaseData, a7 as BaseField, ah as CacheOpts, m as ComponentConfig, T as ComponentConfigExtensions, _ as ComponentConfigParams, a3 as ComponentDataMap, a1 as ComponentDataOptionalId, a5 as ComponentMetadata, Z as ConfigParams, b as Content, ak as CustomField, aj as CustomFieldRender, e as DefaultComponentProps, d as DefaultComponents, f as DefaultRootFieldProps, ao as DefaultRootProps, an as DefaultRootRenderProps, w as Direction, x as DragAxis, ai as ExternalField, ag as ExternalFieldWithAdaptor, Y as ExtractConfigParams, as as ExtractField, a6 as FieldMetadata, J as FieldRenderFunctions, B as FieldTransformFn, z as FieldTransformFnParams, F as Fields, H as History, K as ItemWithId, a2 as MappedItem, a9 as NumberField, ae as ObjectField, G as OverrideKey, Q as PuckComponent, am as PuckContext, a4 as PuckMetadata, ac as RadioField, i as ResolveDataTrigger, v as RichText, o as RichtextField, X as RootConfig, R as RootData, h as RootDataWithProps, a0 as RootDataWithoutProps, ab as SelectField, S as Slot, N as SlotComponent, al as SlotField, a8 as TextField, aa as TextareaField, y as Viewport, ar as WithChildren, W as WithId, ap as WithPuckProps, u as WithSlotProps, E as overrideKeys } from './actions-ONhOkrvf.mjs';
3
+ export { m as migrate, r as resolveAllData, t as transformProps, w as walkTree } from './walk-tree-CdriEzFJ.mjs';
3
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
5
  import * as react from 'react';
5
- import react__default, { ReactNode, SyntheticEvent, ReactElement, CSSProperties } from 'react';
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
- hideOverlay: () => void;
26
- showOverlay: () => void;
27
- };
28
- type PuckNodeInstance = {
29
- id: string;
30
- methods: NodeMethods;
31
- element: HTMLElement | null;
32
- };
33
- type NodesSlice = {
34
- nodes: Record<string, PuckNodeInstance | undefined>;
35
- registerNode: (id: string, node: Partial<PuckNodeInstance>) => void;
36
- unregisterNode: (id: string, node?: Partial<PuckNodeInstance>) => void;
37
- };
38
-
39
- type PermissionsArgs<UserConfig extends Config = Config, G extends UserGenerics<UserConfig> = UserGenerics<UserConfig>> = {
40
- item?: G["UserComponentData"] | null;
41
- type?: keyof G["UserProps"];
42
- root?: boolean;
43
- };
44
- type GetPermissions<UserConfig extends Config = Config> = (params?: PermissionsArgs<UserConfig>) => Permissions;
45
- type ResolvePermissions<UserConfig extends Config = Config> = (params?: PermissionsArgs<UserConfig>, force?: boolean) => void;
46
- type RefreshPermissions<UserConfig extends Config = Config> = (params?: PermissionsArgs<UserConfig>, force?: boolean) => void;
47
- type Cache = Record<string, {
48
- lastPermissions: Partial<Permissions>;
49
- lastData: ComponentData | null;
50
- }>;
51
- type PermissionsSlice = {
52
- cache: Cache;
53
- globalPermissions: Permissions;
54
- resolvedPermissions: Record<string, Partial<Permissions> | undefined>;
55
- getPermissions: GetPermissions<Config>;
56
- resolvePermissions: ResolvePermissions<Config>;
57
- refreshPermissions: RefreshPermissions<Config>;
58
- };
59
-
60
- type ComponentOrRootData = Omit<ComponentData<any>, "type">;
61
- type FieldsSlice = {
62
- fields: Fields | Partial<Fields>;
63
- loading: boolean;
64
- lastResolvedData: Partial<ComponentOrRootData>;
65
- id: string | undefined;
66
- };
67
-
68
- type Status = "LOADING" | "MOUNTED" | "READY";
69
- type ZoomConfig = {
70
- autoZoom: number;
71
- rootHeight: number;
72
- zoom: number;
73
- };
74
- type ComponentState = Record<string, {
75
- loadingCount: number;
76
- }>;
77
- type AppStore<UserConfig extends Config = Config, G extends UserGenerics<UserConfig> = UserGenerics<UserConfig>> = {
78
- instanceId: string;
79
- state: G["UserAppState"];
80
- dispatch: (action: PuckAction) => void;
81
- config: UserConfig;
82
- componentState: ComponentState;
83
- setComponentState: (componentState: ComponentState) => void;
84
- setComponentLoading: (id: string, loading?: boolean, defer?: number) => () => void;
85
- unsetComponentLoading: (id: string) => void;
86
- pendingLoadTimeouts: Record<string, NodeJS.Timeout>;
87
- resolveComponentData: <T extends ComponentData | RootDataWithProps>(componentData: T, trigger: ResolveDataTrigger) => Promise<{
88
- node: T;
89
- didChange: boolean;
90
- }>;
91
- resolveAndCommitData: () => void;
92
- plugins: Plugin[];
93
- overrides: Partial<Overrides>;
94
- viewports: Viewports;
95
- zoomConfig: ZoomConfig;
96
- setZoomConfig: (zoomConfig: ZoomConfig) => void;
97
- status: Status;
98
- setStatus: (status: Status) => void;
99
- iframe: IframeConfig;
100
- selectedItem?: G["UserData"]["content"][0] | null;
101
- setUi: (ui: Partial<UiState>, recordHistory?: boolean) => void;
102
- getComponentConfig: (type?: string) => ComponentConfig | null | undefined;
103
- onAction?: (action: PuckAction, newState: AppState, state: AppState) => void;
104
- metadata: Metadata;
105
- fields: FieldsSlice;
106
- history: HistorySlice;
107
- nodes: NodesSlice;
108
- permissions: PermissionsSlice;
109
- fieldTransforms: FieldTransforms;
110
- };
6
+ import react__default, { ReactNode, SyntheticEvent, ReactElement } from 'react';
7
+ import { A as AppStore, G as GetPermissions, R as RefreshPermissions, H as HistorySlice } from './index-DfxZ7tZF.mjs';
8
+ import '@tiptap/react';
9
+ import '@tiptap/extension-blockquote';
10
+ import '@tiptap/extension-bold';
11
+ import '@tiptap/extension-code';
12
+ import '@tiptap/extension-code-block';
13
+ import '@tiptap/extension-hard-break';
14
+ import '@tiptap/extension-heading';
15
+ import '@tiptap/extension-horizontal-rule';
16
+ import '@tiptap/extension-italic';
17
+ import '@tiptap/extension-link';
18
+ import '@tiptap/extension-list';
19
+ import '@tiptap/extension-paragraph';
20
+ import '@tiptap/extension-strike';
21
+ import '@tiptap/extension-text-align';
22
+ import '@tiptap/extension-underline';
111
23
 
112
24
  declare const ActionBar: {
113
25
  ({ label, children, }: {
114
26
  label?: string;
115
27
  children?: ReactNode;
116
28
  }): react_jsx_runtime.JSX.Element;
117
- Action: ({ children, label, onClick, }: {
29
+ Action: ({ children, label, onClick, active, disabled, }: {
118
30
  children: ReactNode;
119
31
  label?: string;
120
32
  onClick: (e: SyntheticEvent) => void;
33
+ active?: boolean;
34
+ disabled?: boolean;
121
35
  }) => react_jsx_runtime.JSX.Element;
122
36
  Label: ({ label }: {
123
37
  label: string;
@@ -125,11 +39,14 @@ declare const ActionBar: {
125
39
  Group: ({ children }: {
126
40
  children: ReactNode;
127
41
  }) => react_jsx_runtime.JSX.Element;
42
+ Separator: () => react_jsx_runtime.JSX.Element;
128
43
  };
129
- declare const Action: ({ children, label, onClick, }: {
44
+ declare const Action: ({ children, label, onClick, active, disabled, }: {
130
45
  children: ReactNode;
131
46
  label?: string;
132
47
  onClick: (e: SyntheticEvent) => void;
48
+ active?: boolean;
49
+ disabled?: boolean;
133
50
  }) => react_jsx_runtime.JSX.Element;
134
51
  declare const Group: ({ children }: {
135
52
  children: ReactNode;
@@ -137,6 +54,7 @@ declare const Group: ({ children }: {
137
54
  declare const Label: ({ label }: {
138
55
  label: string;
139
56
  }) => react_jsx_runtime.JSX.Element;
57
+ declare const Separator: () => react_jsx_runtime.JSX.Element;
140
58
 
141
59
  declare const FieldLabel: ({ children, icon, label, el, readOnly, className, }: {
142
60
  children?: ReactNode;
@@ -185,11 +103,11 @@ declare const Drawer: {
185
103
 
186
104
  declare const DropZone: react.ForwardRefExoticComponent<DropZoneProps & react.RefAttributes<HTMLDivElement>>;
187
105
 
188
- declare const IconButton: ({ children, href, onClick, variant, type, disabled, tabIndex, newTab, fullWidth, title, }: {
106
+ declare const IconButton: ({ active, children, href, onClick, type, disabled, tabIndex, newTab, fullWidth, title, }: {
107
+ active?: boolean;
189
108
  children: ReactNode;
190
109
  href?: string;
191
110
  onClick?: (e: SyntheticEvent) => void | Promise<void>;
192
- variant?: "primary" | "secondary";
193
111
  type?: "button" | "submit" | "reset";
194
112
  disabled?: boolean;
195
113
  tabIndex?: number;
@@ -228,8 +146,6 @@ type PuckProps<UserConfig extends Config = Config, G extends UserGenerics<UserCo
228
146
  };
229
147
  initialHistory?: InitialHistory;
230
148
  metadata?: Metadata;
231
- height?: CSSProperties["height"];
232
- _experimentalFullScreenCanvas?: boolean;
233
149
  };
234
150
  declare function Puck<UserConfig extends Config = Config, G extends UserGenerics<UserConfig> = UserGenerics<UserConfig>>(props: PuckProps<UserConfig>): react_jsx_runtime.JSX.Element;
235
151
  declare namespace Puck {
@@ -254,6 +170,69 @@ declare function Render<UserConfig extends Config = Config, G extends UserGeneri
254
170
  metadata?: Metadata;
255
171
  }): react_jsx_runtime.JSX.Element;
256
172
 
173
+ declare function AlignLeft(): react_jsx_runtime.JSX.Element;
174
+
175
+ declare function AlignCenter(): react_jsx_runtime.JSX.Element;
176
+
177
+ declare function AlignRight(): react_jsx_runtime.JSX.Element;
178
+
179
+ declare function AlignJustify(): react_jsx_runtime.JSX.Element;
180
+
181
+ declare function Bold(): react_jsx_runtime.JSX.Element;
182
+
183
+ declare function Italic(): react_jsx_runtime.JSX.Element;
184
+
185
+ declare function Underline(): react_jsx_runtime.JSX.Element;
186
+
187
+ declare function Strikethrough(): react_jsx_runtime.JSX.Element;
188
+
189
+ declare function InlineCode(): react_jsx_runtime.JSX.Element;
190
+
191
+ declare function BulletList(): react_jsx_runtime.JSX.Element;
192
+
193
+ declare function OrderedList(): react_jsx_runtime.JSX.Element;
194
+
195
+ declare function CodeBlock(): react_jsx_runtime.JSX.Element;
196
+
197
+ declare function Blockquote(): react_jsx_runtime.JSX.Element;
198
+
199
+ declare function HorizontalRule(): react_jsx_runtime.JSX.Element;
200
+
201
+ declare function Control({ icon, disabled, active, onClick, title, }: {
202
+ icon: ReactNode;
203
+ disabled?: boolean;
204
+ active?: boolean;
205
+ onClick: (e: SyntheticEvent) => any;
206
+ title: string;
207
+ }): react_jsx_runtime.JSX.Element;
208
+
209
+ declare const RichTextMenu: {
210
+ ({ children }: {
211
+ children: ReactNode;
212
+ }): react_jsx_runtime.JSX.Element;
213
+ Group: ({ children }: {
214
+ children: ReactNode;
215
+ }) => react_jsx_runtime.JSX.Element;
216
+ Control: typeof Control;
217
+ AlignCenter: typeof AlignCenter;
218
+ AlignJustify: typeof AlignJustify;
219
+ AlignLeft: typeof AlignLeft;
220
+ AlignRight: typeof AlignRight;
221
+ AlignSelect: () => react_jsx_runtime.JSX.Element;
222
+ Blockquote: typeof Blockquote;
223
+ Bold: typeof Bold;
224
+ BulletList: typeof BulletList;
225
+ CodeBlock: typeof CodeBlock;
226
+ HeadingSelect: () => react_jsx_runtime.JSX.Element;
227
+ HorizontalRule: typeof HorizontalRule;
228
+ InlineCode: typeof InlineCode;
229
+ Italic: typeof Italic;
230
+ ListSelect: () => react_jsx_runtime.JSX.Element;
231
+ OrderedList: typeof OrderedList;
232
+ Strikethrough: typeof Strikethrough;
233
+ Underline: typeof Underline;
234
+ };
235
+
257
236
  declare const registerOverlayPortal: (el: HTMLElement | null | undefined, opts?: {
258
237
  disableDrag?: boolean;
259
238
  disableDragOnFocus?: boolean;
@@ -274,6 +253,7 @@ type UsePuckData<UserConfig extends Config = Config, G extends UserGenerics<User
274
253
  getItemBySelector: (selector: ItemSelector) => G["UserComponentData"] | undefined;
275
254
  getItemById: (id: string) => G["UserComponentData"] | undefined;
276
255
  getSelectorForId: (id: string) => Required<ItemSelector> | undefined;
256
+ getParentById: (id: string) => ComponentData | undefined;
277
257
  history: {
278
258
  back: HistorySlice["back"];
279
259
  forward: HistorySlice["forward"];
@@ -305,12 +285,4 @@ declare function usePuck<UserConfig extends Config = Config>(): UsePuckStore<Use
305
285
  */
306
286
  declare function useGetPuck(): () => UsePuckStore<Config>;
307
287
 
308
- declare const blocksPlugin: () => Plugin;
309
-
310
- declare const fieldsPlugin: (params?: {
311
- mobileOnly?: boolean;
312
- }) => PluginInternal;
313
-
314
- declare const outlinePlugin: () => Plugin;
315
-
316
- export { Action, ActionBar, AppState, AutoField, Button, ComponentConfig, ComponentData, Config, Data, Drawer, DropZone, Field, FieldLabel, FieldProps, FieldTransforms, Fields, Group, History, IconButton, IframeConfig, InitialHistory, Label, Metadata, OnAction, Overrides, Permissions, Plugin, Puck, PuckAction, type PuckApi, Render, ResolveDataTrigger, RootDataWithProps, UiState, type UsePuckData, UserGenerics, Viewports, blocksPlugin, createUsePuck, fieldsPlugin, outlinePlugin, registerOverlayPortal, renderContext, setDeep, useGetPuck, usePuck };
288
+ export { Action, ActionBar, AutoField, Button, ComponentData, Config, Data, Drawer, DropZone, Field, FieldLabel, FieldProps, FieldTransforms, Group, IconButton, IframeConfig, InitialHistory, Label, Metadata, OnAction, Overrides, Permissions, Plugin, Puck, PuckAction, type PuckApi, Render, RichTextMenu, Separator, UiState, type UsePuckData, UserGenerics, Viewports, createUsePuck, registerOverlayPortal, renderContext, setDeep, useGetPuck, usePuck };
package/dist/index.d.ts CHANGED
@@ -1,123 +1,37 @@
1
- import { H as History, P as Permissions, a as ComponentData, C as Config, U as UserGenerics, 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 FieldTransforms, h as Field, i as FieldProps, D as DropZoneProps, j as Data, k as OnAction, l as InitialHistory, n as ItemSelector, o as PluginInternal } from './walk-tree-Cvtjzg9C.js';
2
- export { a8 as Adaptor, a6 as ArrayField, E as ArrayState, al as AsFieldProps, Q as BaseData, a0 as BaseField, _ as ComponentDataMap, Y as ComponentDataOptionalId, $ as Content, ac as CustomField, ab as CustomFieldRender, ai as DefaultComponentProps, L as DefaultComponents, af as DefaultRootFieldProps, ah as DefaultRootProps, ag as DefaultRootRenderProps, p as Direction, q as DragAxis, aa as ExternalField, a9 as ExternalFieldWithAdaptor, N as ExtractConfigParams, an as ExtractField, z as FieldRenderFunctions, v as FieldTransformFn, u as FieldTransformFnParams, B as ItemWithId, Z as MappedItem, a2 as NumberField, a7 as ObjectField, y as OverrideKey, J as PuckComponent, ae as PuckContext, a5 as RadioField, K as RootConfig, X as RootData, T as RootDataWithoutProps, a4 as SelectField, S as Slot, G as SlotComponent, ad as SlotField, a1 as TextField, a3 as TextareaField, s as Viewport, am as WithChildren, aj as WithId, ak as WithPuckProps, W as WithSlotProps, m as migrate, x as overrideKeys, r as resolveAllData, t as transformProps, w as walkTree } from './walk-tree-Cvtjzg9C.js';
1
+ import { p as Field, q as FieldProps, r as DropZoneProps, C as Config, U as UserGenerics, D as Data, l as UiState, O as OnAction, g as Permissions, j as Plugin, k as Overrides, n as FieldTransforms, a as PuckAction, V as Viewports, I as IframeConfig, s as InitialHistory, M as Metadata, t as ItemSelector, c as ComponentData } from './actions-ONhOkrvf.js';
2
+ export { af as Adaptor, A as AppState, ad as ArrayField, L as ArrayState, aq as AsFieldProps, $ as BaseData, a7 as BaseField, ah as CacheOpts, m as ComponentConfig, T as ComponentConfigExtensions, _ as ComponentConfigParams, a3 as ComponentDataMap, a1 as ComponentDataOptionalId, a5 as ComponentMetadata, Z as ConfigParams, b as Content, ak as CustomField, aj as CustomFieldRender, e as DefaultComponentProps, d as DefaultComponents, f as DefaultRootFieldProps, ao as DefaultRootProps, an as DefaultRootRenderProps, w as Direction, x as DragAxis, ai as ExternalField, ag as ExternalFieldWithAdaptor, Y as ExtractConfigParams, as as ExtractField, a6 as FieldMetadata, J as FieldRenderFunctions, B as FieldTransformFn, z as FieldTransformFnParams, F as Fields, H as History, K as ItemWithId, a2 as MappedItem, a9 as NumberField, ae as ObjectField, G as OverrideKey, Q as PuckComponent, am as PuckContext, a4 as PuckMetadata, ac as RadioField, i as ResolveDataTrigger, v as RichText, o as RichtextField, X as RootConfig, R as RootData, h as RootDataWithProps, a0 as RootDataWithoutProps, ab as SelectField, S as Slot, N as SlotComponent, al as SlotField, a8 as TextField, aa as TextareaField, y as Viewport, ar as WithChildren, W as WithId, ap as WithPuckProps, u as WithSlotProps, E as overrideKeys } from './actions-ONhOkrvf.js';
3
+ export { m as migrate, r as resolveAllData, t as transformProps, w as walkTree } from './walk-tree-DHbAZ4wF.js';
3
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
5
  import * as react from 'react';
5
- import react__default, { ReactNode, SyntheticEvent, ReactElement, CSSProperties } from 'react';
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
- hideOverlay: () => void;
26
- showOverlay: () => void;
27
- };
28
- type PuckNodeInstance = {
29
- id: string;
30
- methods: NodeMethods;
31
- element: HTMLElement | null;
32
- };
33
- type NodesSlice = {
34
- nodes: Record<string, PuckNodeInstance | undefined>;
35
- registerNode: (id: string, node: Partial<PuckNodeInstance>) => void;
36
- unregisterNode: (id: string, node?: Partial<PuckNodeInstance>) => void;
37
- };
38
-
39
- type PermissionsArgs<UserConfig extends Config = Config, G extends UserGenerics<UserConfig> = UserGenerics<UserConfig>> = {
40
- item?: G["UserComponentData"] | null;
41
- type?: keyof G["UserProps"];
42
- root?: boolean;
43
- };
44
- type GetPermissions<UserConfig extends Config = Config> = (params?: PermissionsArgs<UserConfig>) => Permissions;
45
- type ResolvePermissions<UserConfig extends Config = Config> = (params?: PermissionsArgs<UserConfig>, force?: boolean) => void;
46
- type RefreshPermissions<UserConfig extends Config = Config> = (params?: PermissionsArgs<UserConfig>, force?: boolean) => void;
47
- type Cache = Record<string, {
48
- lastPermissions: Partial<Permissions>;
49
- lastData: ComponentData | null;
50
- }>;
51
- type PermissionsSlice = {
52
- cache: Cache;
53
- globalPermissions: Permissions;
54
- resolvedPermissions: Record<string, Partial<Permissions> | undefined>;
55
- getPermissions: GetPermissions<Config>;
56
- resolvePermissions: ResolvePermissions<Config>;
57
- refreshPermissions: RefreshPermissions<Config>;
58
- };
59
-
60
- type ComponentOrRootData = Omit<ComponentData<any>, "type">;
61
- type FieldsSlice = {
62
- fields: Fields | Partial<Fields>;
63
- loading: boolean;
64
- lastResolvedData: Partial<ComponentOrRootData>;
65
- id: string | undefined;
66
- };
67
-
68
- type Status = "LOADING" | "MOUNTED" | "READY";
69
- type ZoomConfig = {
70
- autoZoom: number;
71
- rootHeight: number;
72
- zoom: number;
73
- };
74
- type ComponentState = Record<string, {
75
- loadingCount: number;
76
- }>;
77
- type AppStore<UserConfig extends Config = Config, G extends UserGenerics<UserConfig> = UserGenerics<UserConfig>> = {
78
- instanceId: string;
79
- state: G["UserAppState"];
80
- dispatch: (action: PuckAction) => void;
81
- config: UserConfig;
82
- componentState: ComponentState;
83
- setComponentState: (componentState: ComponentState) => void;
84
- setComponentLoading: (id: string, loading?: boolean, defer?: number) => () => void;
85
- unsetComponentLoading: (id: string) => void;
86
- pendingLoadTimeouts: Record<string, NodeJS.Timeout>;
87
- resolveComponentData: <T extends ComponentData | RootDataWithProps>(componentData: T, trigger: ResolveDataTrigger) => Promise<{
88
- node: T;
89
- didChange: boolean;
90
- }>;
91
- resolveAndCommitData: () => void;
92
- plugins: Plugin[];
93
- overrides: Partial<Overrides>;
94
- viewports: Viewports;
95
- zoomConfig: ZoomConfig;
96
- setZoomConfig: (zoomConfig: ZoomConfig) => void;
97
- status: Status;
98
- setStatus: (status: Status) => void;
99
- iframe: IframeConfig;
100
- selectedItem?: G["UserData"]["content"][0] | null;
101
- setUi: (ui: Partial<UiState>, recordHistory?: boolean) => void;
102
- getComponentConfig: (type?: string) => ComponentConfig | null | undefined;
103
- onAction?: (action: PuckAction, newState: AppState, state: AppState) => void;
104
- metadata: Metadata;
105
- fields: FieldsSlice;
106
- history: HistorySlice;
107
- nodes: NodesSlice;
108
- permissions: PermissionsSlice;
109
- fieldTransforms: FieldTransforms;
110
- };
6
+ import react__default, { ReactNode, SyntheticEvent, ReactElement } from 'react';
7
+ import { A as AppStore, G as GetPermissions, R as RefreshPermissions, H as HistorySlice } from './index-BEoNHRI1.js';
8
+ import '@tiptap/react';
9
+ import '@tiptap/extension-blockquote';
10
+ import '@tiptap/extension-bold';
11
+ import '@tiptap/extension-code';
12
+ import '@tiptap/extension-code-block';
13
+ import '@tiptap/extension-hard-break';
14
+ import '@tiptap/extension-heading';
15
+ import '@tiptap/extension-horizontal-rule';
16
+ import '@tiptap/extension-italic';
17
+ import '@tiptap/extension-link';
18
+ import '@tiptap/extension-list';
19
+ import '@tiptap/extension-paragraph';
20
+ import '@tiptap/extension-strike';
21
+ import '@tiptap/extension-text-align';
22
+ import '@tiptap/extension-underline';
111
23
 
112
24
  declare const ActionBar: {
113
25
  ({ label, children, }: {
114
26
  label?: string;
115
27
  children?: ReactNode;
116
28
  }): react_jsx_runtime.JSX.Element;
117
- Action: ({ children, label, onClick, }: {
29
+ Action: ({ children, label, onClick, active, disabled, }: {
118
30
  children: ReactNode;
119
31
  label?: string;
120
32
  onClick: (e: SyntheticEvent) => void;
33
+ active?: boolean;
34
+ disabled?: boolean;
121
35
  }) => react_jsx_runtime.JSX.Element;
122
36
  Label: ({ label }: {
123
37
  label: string;
@@ -125,11 +39,14 @@ declare const ActionBar: {
125
39
  Group: ({ children }: {
126
40
  children: ReactNode;
127
41
  }) => react_jsx_runtime.JSX.Element;
42
+ Separator: () => react_jsx_runtime.JSX.Element;
128
43
  };
129
- declare const Action: ({ children, label, onClick, }: {
44
+ declare const Action: ({ children, label, onClick, active, disabled, }: {
130
45
  children: ReactNode;
131
46
  label?: string;
132
47
  onClick: (e: SyntheticEvent) => void;
48
+ active?: boolean;
49
+ disabled?: boolean;
133
50
  }) => react_jsx_runtime.JSX.Element;
134
51
  declare const Group: ({ children }: {
135
52
  children: ReactNode;
@@ -137,6 +54,7 @@ declare const Group: ({ children }: {
137
54
  declare const Label: ({ label }: {
138
55
  label: string;
139
56
  }) => react_jsx_runtime.JSX.Element;
57
+ declare const Separator: () => react_jsx_runtime.JSX.Element;
140
58
 
141
59
  declare const FieldLabel: ({ children, icon, label, el, readOnly, className, }: {
142
60
  children?: ReactNode;
@@ -185,11 +103,11 @@ declare const Drawer: {
185
103
 
186
104
  declare const DropZone: react.ForwardRefExoticComponent<DropZoneProps & react.RefAttributes<HTMLDivElement>>;
187
105
 
188
- declare const IconButton: ({ children, href, onClick, variant, type, disabled, tabIndex, newTab, fullWidth, title, }: {
106
+ declare const IconButton: ({ active, children, href, onClick, type, disabled, tabIndex, newTab, fullWidth, title, }: {
107
+ active?: boolean;
189
108
  children: ReactNode;
190
109
  href?: string;
191
110
  onClick?: (e: SyntheticEvent) => void | Promise<void>;
192
- variant?: "primary" | "secondary";
193
111
  type?: "button" | "submit" | "reset";
194
112
  disabled?: boolean;
195
113
  tabIndex?: number;
@@ -228,8 +146,6 @@ type PuckProps<UserConfig extends Config = Config, G extends UserGenerics<UserCo
228
146
  };
229
147
  initialHistory?: InitialHistory;
230
148
  metadata?: Metadata;
231
- height?: CSSProperties["height"];
232
- _experimentalFullScreenCanvas?: boolean;
233
149
  };
234
150
  declare function Puck<UserConfig extends Config = Config, G extends UserGenerics<UserConfig> = UserGenerics<UserConfig>>(props: PuckProps<UserConfig>): react_jsx_runtime.JSX.Element;
235
151
  declare namespace Puck {
@@ -254,6 +170,69 @@ declare function Render<UserConfig extends Config = Config, G extends UserGeneri
254
170
  metadata?: Metadata;
255
171
  }): react_jsx_runtime.JSX.Element;
256
172
 
173
+ declare function AlignLeft(): react_jsx_runtime.JSX.Element;
174
+
175
+ declare function AlignCenter(): react_jsx_runtime.JSX.Element;
176
+
177
+ declare function AlignRight(): react_jsx_runtime.JSX.Element;
178
+
179
+ declare function AlignJustify(): react_jsx_runtime.JSX.Element;
180
+
181
+ declare function Bold(): react_jsx_runtime.JSX.Element;
182
+
183
+ declare function Italic(): react_jsx_runtime.JSX.Element;
184
+
185
+ declare function Underline(): react_jsx_runtime.JSX.Element;
186
+
187
+ declare function Strikethrough(): react_jsx_runtime.JSX.Element;
188
+
189
+ declare function InlineCode(): react_jsx_runtime.JSX.Element;
190
+
191
+ declare function BulletList(): react_jsx_runtime.JSX.Element;
192
+
193
+ declare function OrderedList(): react_jsx_runtime.JSX.Element;
194
+
195
+ declare function CodeBlock(): react_jsx_runtime.JSX.Element;
196
+
197
+ declare function Blockquote(): react_jsx_runtime.JSX.Element;
198
+
199
+ declare function HorizontalRule(): react_jsx_runtime.JSX.Element;
200
+
201
+ declare function Control({ icon, disabled, active, onClick, title, }: {
202
+ icon: ReactNode;
203
+ disabled?: boolean;
204
+ active?: boolean;
205
+ onClick: (e: SyntheticEvent) => any;
206
+ title: string;
207
+ }): react_jsx_runtime.JSX.Element;
208
+
209
+ declare const RichTextMenu: {
210
+ ({ children }: {
211
+ children: ReactNode;
212
+ }): react_jsx_runtime.JSX.Element;
213
+ Group: ({ children }: {
214
+ children: ReactNode;
215
+ }) => react_jsx_runtime.JSX.Element;
216
+ Control: typeof Control;
217
+ AlignCenter: typeof AlignCenter;
218
+ AlignJustify: typeof AlignJustify;
219
+ AlignLeft: typeof AlignLeft;
220
+ AlignRight: typeof AlignRight;
221
+ AlignSelect: () => react_jsx_runtime.JSX.Element;
222
+ Blockquote: typeof Blockquote;
223
+ Bold: typeof Bold;
224
+ BulletList: typeof BulletList;
225
+ CodeBlock: typeof CodeBlock;
226
+ HeadingSelect: () => react_jsx_runtime.JSX.Element;
227
+ HorizontalRule: typeof HorizontalRule;
228
+ InlineCode: typeof InlineCode;
229
+ Italic: typeof Italic;
230
+ ListSelect: () => react_jsx_runtime.JSX.Element;
231
+ OrderedList: typeof OrderedList;
232
+ Strikethrough: typeof Strikethrough;
233
+ Underline: typeof Underline;
234
+ };
235
+
257
236
  declare const registerOverlayPortal: (el: HTMLElement | null | undefined, opts?: {
258
237
  disableDrag?: boolean;
259
238
  disableDragOnFocus?: boolean;
@@ -274,6 +253,7 @@ type UsePuckData<UserConfig extends Config = Config, G extends UserGenerics<User
274
253
  getItemBySelector: (selector: ItemSelector) => G["UserComponentData"] | undefined;
275
254
  getItemById: (id: string) => G["UserComponentData"] | undefined;
276
255
  getSelectorForId: (id: string) => Required<ItemSelector> | undefined;
256
+ getParentById: (id: string) => ComponentData | undefined;
277
257
  history: {
278
258
  back: HistorySlice["back"];
279
259
  forward: HistorySlice["forward"];
@@ -305,12 +285,4 @@ declare function usePuck<UserConfig extends Config = Config>(): UsePuckStore<Use
305
285
  */
306
286
  declare function useGetPuck(): () => UsePuckStore<Config>;
307
287
 
308
- declare const blocksPlugin: () => Plugin;
309
-
310
- declare const fieldsPlugin: (params?: {
311
- mobileOnly?: boolean;
312
- }) => PluginInternal;
313
-
314
- declare const outlinePlugin: () => Plugin;
315
-
316
- export { Action, ActionBar, AppState, AutoField, Button, ComponentConfig, ComponentData, Config, Data, Drawer, DropZone, Field, FieldLabel, FieldProps, FieldTransforms, Fields, Group, History, IconButton, IframeConfig, InitialHistory, Label, Metadata, OnAction, Overrides, Permissions, Plugin, Puck, PuckAction, type PuckApi, Render, ResolveDataTrigger, RootDataWithProps, UiState, type UsePuckData, UserGenerics, Viewports, blocksPlugin, createUsePuck, fieldsPlugin, outlinePlugin, registerOverlayPortal, renderContext, setDeep, useGetPuck, usePuck };
288
+ export { Action, ActionBar, AutoField, Button, ComponentData, Config, Data, Drawer, DropZone, Field, FieldLabel, FieldProps, FieldTransforms, Group, IconButton, IframeConfig, InitialHistory, Label, Metadata, OnAction, Overrides, Permissions, Plugin, Puck, PuckAction, type PuckApi, Render, RichTextMenu, Separator, UiState, type UsePuckData, UserGenerics, Viewports, createUsePuck, registerOverlayPortal, renderContext, setDeep, useGetPuck, usePuck };