@measured/puck 0.21.0-canary.38e79ba8 → 0.21.0-canary.501341c5

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-bsPSSmt9.d.mts → actions-CJibIB0m.d.mts} +204 -30
  6. package/dist/{walk-tree-bsPSSmt9.d.ts → actions-CJibIB0m.d.ts} +204 -30
  7. package/dist/chunk-2Q4PACDA.mjs +111 -0
  8. package/dist/chunk-62AAYNXG.mjs +63 -0
  9. package/dist/chunk-BSDEIOEK.mjs +706 -0
  10. package/dist/chunk-CSSRLPHM.mjs +11 -0
  11. package/dist/chunk-DAQLMM2T.mjs +1722 -0
  12. package/dist/chunk-M6W7YEVX.mjs +95 -0
  13. package/dist/chunk-NLUHDYVR.mjs +416 -0
  14. package/dist/chunk-PLXSMBAA.mjs +53 -0
  15. package/dist/chunk-QAWJTCV5.mjs +33 -0
  16. package/dist/chunk-QBGM4ELA.mjs +528 -0
  17. package/dist/chunk-T3WX7XJ6.mjs +132 -0
  18. package/dist/chunk-V5I7CVLT.mjs +103 -0
  19. package/dist/chunk-Y2EFNT5P.mjs +108 -0
  20. package/dist/chunk-Y656T6AQ.mjs +419 -0
  21. package/dist/{chunk-CISJM3HZ.mjs → chunk-Z476VA6G.mjs} +1176 -2860
  22. package/dist/full-2GJTAAZE.css +301 -0
  23. package/dist/full-BEMDJKDS.mjs +93 -0
  24. package/dist/index-Bss1jupB.d.ts +116 -0
  25. package/dist/index-DOcD_H3b.d.mts +116 -0
  26. package/dist/index.css +278 -22
  27. package/dist/index.d.mts +94 -113
  28. package/dist/index.d.ts +94 -113
  29. package/dist/index.js +5870 -2561
  30. package/dist/index.mjs +28 -9
  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 +278 -22
  40. package/dist/no-external.d.mts +19 -2
  41. package/dist/no-external.d.ts +19 -2
  42. package/dist/no-external.js +5870 -2561
  43. package/dist/no-external.mjs +28 -9
  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 +407 -21
  48. package/dist/rsc.mjs +18 -9
  49. package/dist/walk-tree-BL55zQ9b.d.ts +29 -0
  50. package/dist/walk-tree-BYuI81Ik.d.mts +29 -0
  51. package/package.json +31 -4
  52. package/dist/chunk-JA7SEUEH.mjs +0 -966
@@ -0,0 +1,301 @@
1
+ /* css-module:/home/runner/work/puck/puck/packages/core/components/RichTextMenu/styles.module.css/#css-module-data */
2
+ ._RichTextMenu_k97eh_1 {
3
+ display: flex;
4
+ flex-direction: row;
5
+ flex-wrap: nowrap;
6
+ }
7
+ ._RichTextMenu--form_k97eh_7 {
8
+ border-top-left-radius: 4px;
9
+ border-top-right-radius: 4px;
10
+ padding: 6px 6px;
11
+ background-color: var(--puck-color-grey-12);
12
+ position: relative;
13
+ scrollbar-width: none;
14
+ overflow-x: auto;
15
+ }
16
+ ._RichTextMenu-group_k97eh_17 {
17
+ display: flex;
18
+ align-items: space-between;
19
+ flex-direction: row;
20
+ flex-wrap: nowrap;
21
+ padding-inline: 6px;
22
+ gap: 2px;
23
+ position: relative;
24
+ }
25
+ ._RichTextMenu-group_k97eh_17:first-of-type {
26
+ padding-left: 0;
27
+ }
28
+ ._RichTextMenu-group_k97eh_17:last-of-type {
29
+ padding-right: 0;
30
+ }
31
+ ._RichTextMenu--inline_k97eh_35 ._RichTextMenu-group_k97eh_17 {
32
+ color: var(--puck-color-grey-08);
33
+ gap: 0px;
34
+ flex-wrap: nowrap;
35
+ }
36
+ ._RichTextMenu-group_k97eh_17 + ._RichTextMenu-group_k97eh_17 {
37
+ border-left: 1px solid var(--puck-color-grey-10);
38
+ }
39
+ ._RichTextMenu--inline_k97eh_35 ._RichTextMenu-group_k97eh_17 + ._RichTextMenu-group_k97eh_17 {
40
+ border-left: 0.5px solid var(--puck-color-grey-05);
41
+ }
42
+
43
+ /* css-module:/home/runner/work/puck/puck/packages/core/components/IconButton/IconButton.module.css/#css-module-data */
44
+ ._IconButton_ffob9_1 {
45
+ align-items: center;
46
+ background: transparent;
47
+ border: none;
48
+ border-radius: 4px;
49
+ color: currentColor;
50
+ display: flex;
51
+ font-family: var(--puck-font-family);
52
+ justify-content: center;
53
+ padding: 4px;
54
+ transition: background-color 50ms ease-in, color 50ms ease-in;
55
+ }
56
+ ._IconButton--active_ffob9_14 {
57
+ color: var(--puck-color-azure-04);
58
+ }
59
+ ._IconButton_ffob9_1:focus-visible {
60
+ outline: 2px solid var(--puck-color-azure-05);
61
+ outline-offset: -2px;
62
+ }
63
+ @media (hover: hover) and (pointer: fine) {
64
+ ._IconButton_ffob9_1:hover:not(._IconButton--disabled_ffob9_24) {
65
+ background: var(--puck-color-grey-10);
66
+ color: var(--puck-color-azure-04);
67
+ cursor: pointer;
68
+ transition: none;
69
+ }
70
+ }
71
+ ._IconButton_ffob9_1:active {
72
+ background: var(--puck-color-azure-11);
73
+ transition: none;
74
+ }
75
+ ._IconButton-title_ffob9_37 {
76
+ clip: rect(0 0 0 0);
77
+ clip-path: inset(100%);
78
+ height: 1px;
79
+ overflow: hidden;
80
+ position: absolute;
81
+ white-space: nowrap;
82
+ width: 1px;
83
+ }
84
+ ._IconButton--disabled_ffob9_24 {
85
+ color: var(--puck-color-grey-07);
86
+ }
87
+
88
+ /* css-module:/home/runner/work/puck/puck/packages/core/components/Loader/styles.module.css/#css-module-data */
89
+ @keyframes _loader-animation_nacdm_1 {
90
+ 0% {
91
+ transform: rotate(0deg) scale(1);
92
+ }
93
+ 50% {
94
+ transform: rotate(180deg) scale(0.8);
95
+ }
96
+ 100% {
97
+ transform: rotate(360deg) scale(1);
98
+ }
99
+ }
100
+ ._Loader_nacdm_13 {
101
+ background: transparent;
102
+ border-radius: 100%;
103
+ border: 2px solid currentColor;
104
+ border-bottom-color: transparent;
105
+ display: inline-block;
106
+ animation: _loader-animation_nacdm_1 1s 0s infinite linear;
107
+ animation-fill-mode: both;
108
+ }
109
+
110
+ /* css-module:/home/runner/work/puck/puck/packages/core/components/ActionBar/styles.module.css/#css-module-data */
111
+ ._ActionBar_1nmyk_1 {
112
+ align-items: center;
113
+ cursor: default;
114
+ display: flex;
115
+ width: auto;
116
+ padding: 4px;
117
+ padding-inline-start: 0;
118
+ padding-inline-end: 0;
119
+ border-top-left-radius: 8px;
120
+ border-top-right-radius: 8px;
121
+ border-radius: 8px;
122
+ background: var(--puck-color-grey-01);
123
+ color: var(--puck-color-white);
124
+ font-family: var(--puck-font-family);
125
+ min-height: 26px;
126
+ }
127
+ ._ActionBar-label_1nmyk_18 {
128
+ color: var(--puck-color-grey-08);
129
+ font-size: var(--puck-font-size-xxxs);
130
+ font-weight: 500;
131
+ padding-inline-start: 8px;
132
+ padding-inline-end: 8px;
133
+ margin-inline-start: 4px;
134
+ margin-inline-end: 4px;
135
+ text-overflow: ellipsis;
136
+ white-space: nowrap;
137
+ }
138
+ ._ActionBarAction_1nmyk_30 + ._ActionBar-label_1nmyk_18 {
139
+ padding-inline-start: 0;
140
+ }
141
+ ._ActionBar-label_1nmyk_18 + ._ActionBarAction_1nmyk_30 {
142
+ margin-inline-start: -4px;
143
+ }
144
+ ._ActionBar-group_1nmyk_38 {
145
+ align-items: center;
146
+ border-inline-start: 0.5px solid var(--puck-color-grey-05);
147
+ display: flex;
148
+ height: 100%;
149
+ padding-inline-start: 4px;
150
+ padding-inline-end: 4px;
151
+ }
152
+ ._ActionBar-group_1nmyk_38:first-of-type {
153
+ border-inline-start: 0;
154
+ }
155
+ ._ActionBar-group_1nmyk_38:empty {
156
+ display: none;
157
+ }
158
+ ._ActionBarAction_1nmyk_30 {
159
+ background: transparent;
160
+ border: none;
161
+ color: var(--puck-color-grey-08);
162
+ cursor: pointer;
163
+ padding: 6px;
164
+ margin-inline-start: 4px;
165
+ margin-inline-end: 4px;
166
+ border-radius: 4px;
167
+ overflow: hidden;
168
+ display: flex;
169
+ align-items: center;
170
+ justify-content: center;
171
+ transition: color 50ms ease-in;
172
+ }
173
+ ._ActionBarAction--disabled_1nmyk_71 {
174
+ cursor: auto;
175
+ color: var(--puck-color-grey-06);
176
+ }
177
+ ._ActionBarAction_1nmyk_30 svg {
178
+ max-width: none !important;
179
+ }
180
+ ._ActionBarAction_1nmyk_30:focus-visible {
181
+ outline: 2px solid var(--puck-color-azure-05);
182
+ outline-offset: -2px;
183
+ }
184
+ @media (hover: hover) and (pointer: fine) {
185
+ ._ActionBarAction_1nmyk_30:hover:not(._ActionBarAction--disabled_1nmyk_71) {
186
+ color: var(--puck-color-azure-06);
187
+ transition: none;
188
+ }
189
+ }
190
+ ._ActionBarAction_1nmyk_30:active:not(._ActionBarAction--disabled_1nmyk_71),
191
+ ._ActionBarAction--active_1nmyk_93 {
192
+ color: var(--puck-color-azure-07);
193
+ transition: none;
194
+ }
195
+ ._ActionBar-group_1nmyk_38 * {
196
+ margin: 0;
197
+ }
198
+ ._ActionBar-separator_1nmyk_102 {
199
+ background: var(--puck-color-grey-05);
200
+ margin-inline: 4px;
201
+ width: 0.5px;
202
+ height: 100%;
203
+ }
204
+
205
+ /* css-module:/home/runner/work/puck/puck/packages/core/components/RichTextMenu/components/Control/styles.module.css/#css-module-data */
206
+ ._Control_1aveu_1 .lucide {
207
+ height: 18px;
208
+ width: 18px;
209
+ }
210
+ ._Control--inline_1aveu_6 .lucide {
211
+ height: 16px;
212
+ width: 16px;
213
+ }
214
+
215
+ /* css-module:/home/runner/work/puck/puck/packages/core/components/Select/styles.module.css/#css-module-data */
216
+ ._Select_xjbef_1 {
217
+ position: relative;
218
+ z-index: 1;
219
+ }
220
+ ._Select-button_xjbef_6 {
221
+ align-items: center;
222
+ background: transparent;
223
+ border: none;
224
+ border-radius: 4px;
225
+ display: flex;
226
+ justify-content: center;
227
+ gap: 0px;
228
+ height: 100%;
229
+ padding: 4px;
230
+ padding-right: 2px;
231
+ }
232
+ ._Select--hasOptions_xjbef_19 ._Select-button_xjbef_6 {
233
+ color: currentColor;
234
+ }
235
+ ._Select--hasOptions_xjbef_19:not(._Select--disabled_xjbef_23) ._Select-button_xjbef_6 {
236
+ cursor: pointer;
237
+ }
238
+ ._Select-buttonIcon_xjbef_27 {
239
+ align-items: center;
240
+ display: flex;
241
+ justify-content: center;
242
+ }
243
+ ._Select--standalone_xjbef_33 ._Select-buttonIcon_xjbef_27 .lucide {
244
+ height: 18px;
245
+ width: 18px;
246
+ }
247
+ ._Select--actionBar_xjbef_38 ._Select-buttonIcon_xjbef_27 .lucide {
248
+ height: 16px;
249
+ width: 16px;
250
+ }
251
+ ._Select--hasOptions_xjbef_19:not(._Select--disabled_xjbef_23) ._Select-button_xjbef_6:hover,
252
+ ._Select--hasValue_xjbef_44 ._Select-button_xjbef_6 {
253
+ background: var(--puck-color-grey-10);
254
+ color: var(--puck-color-azure-04);
255
+ }
256
+ ._Select--disabled_xjbef_23 ._Select-button_xjbef_6 {
257
+ color: var(--puck-color-grey-07);
258
+ }
259
+ ._Select--actionBar_xjbef_38 {
260
+ &._Select--hasOptions_xjbef_19 ._Select-button_xjbef_6:hover,
261
+ &._Select--hasValue_xjbef_44 ._Select-button_xjbef_6 {
262
+ background: none;
263
+ color: var(--puck-color-azure-07);
264
+ }
265
+ }
266
+ ._Select-items_xjbef_61 {
267
+ background: white;
268
+ border: 1px solid var(--puck-color-grey-09);
269
+ border-radius: 8px;
270
+ margin: 10px 8px;
271
+ margin-left: 0;
272
+ padding: 4px;
273
+ z-index: 2;
274
+ list-style: none;
275
+ }
276
+ ._SelectItem_xjbef_72 {
277
+ background: transparent;
278
+ border-radius: 4px;
279
+ border: none;
280
+ color: var(--puck-color-grey-04);
281
+ cursor: pointer;
282
+ display: flex;
283
+ gap: 8px;
284
+ align-items: center;
285
+ font-size: var(--puck-font-size-xxs);
286
+ margin: 0;
287
+ padding: 8px 12px;
288
+ width: 100%;
289
+ }
290
+ ._SelectItem--isSelected_xjbef_87 {
291
+ background: var(--puck-color-azure-11);
292
+ color: var(--puck-color-azure-04);
293
+ font-weight: 500;
294
+ }
295
+ ._SelectItem--isSelected_xjbef_87 ._SelectItem-icon_xjbef_93 {
296
+ color: var(--puck-color-azure-04);
297
+ }
298
+ ._SelectItem_xjbef_72:hover {
299
+ background: var(--puck-color-azure-11);
300
+ color: var(--puck-color-azure-04);
301
+ }
@@ -0,0 +1,93 @@
1
+ import {
2
+ LoadedRichTextMenuInner
3
+ } from "./chunk-BSDEIOEK.mjs";
4
+ import "./chunk-PLXSMBAA.mjs";
5
+ import "./chunk-62AAYNXG.mjs";
6
+ import "./chunk-QAWJTCV5.mjs";
7
+ import "./chunk-DAQLMM2T.mjs";
8
+ import "./chunk-QBGM4ELA.mjs";
9
+ import "./chunk-T3WX7XJ6.mjs";
10
+ import "./chunk-Y2EFNT5P.mjs";
11
+ import "./chunk-NLUHDYVR.mjs";
12
+ import {
13
+ __spreadValues,
14
+ init_react_import
15
+ } from "./chunk-M6W7YEVX.mjs";
16
+
17
+ // components/RichTextMenu/full.tsx
18
+ init_react_import();
19
+ import { useEditorState } from "@tiptap/react";
20
+ import { useMemo } from "react";
21
+
22
+ // components/RichTextEditor/selector.ts
23
+ init_react_import();
24
+ var defaultEditorState = (ctx, readOnly) => {
25
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B;
26
+ const editor = ctx.editor;
27
+ if (!editor) return {};
28
+ const canChain = () => editor.can().chain();
29
+ return {
30
+ isAlignLeft: editor.isActive({ textAlign: "left" }),
31
+ canAlignLeft: !readOnly && ((_b = (_a = canChain()).setTextAlign) == null ? void 0 : _b.call(_a, "left").run()),
32
+ isAlignCenter: editor.isActive({ textAlign: "center" }),
33
+ canAlignCenter: !readOnly && ((_d = (_c = canChain()).setTextAlign) == null ? void 0 : _d.call(_c, "center").run()),
34
+ isAlignRight: editor.isActive({ textAlign: "right" }),
35
+ canAlignRight: !readOnly && ((_f = (_e = canChain()).setTextAlign) == null ? void 0 : _f.call(_e, "right").run()),
36
+ isAlignJustify: editor.isActive({ textAlign: "justify" }),
37
+ canAlignJustify: !readOnly && ((_h = (_g = canChain()).setTextAlign) == null ? void 0 : _h.call(_g, "justify").run()),
38
+ isBold: editor.isActive("bold"),
39
+ canBold: !readOnly && ((_j = (_i = canChain()).toggleBold) == null ? void 0 : _j.call(_i).run()),
40
+ isItalic: editor.isActive("italic"),
41
+ canItalic: !readOnly && ((_l = (_k = canChain()).toggleItalic) == null ? void 0 : _l.call(_k).run()),
42
+ isUnderline: editor.isActive("underline"),
43
+ canUnderline: !readOnly && ((_n = (_m = canChain()).toggleUnderline) == null ? void 0 : _n.call(_m).run()),
44
+ isStrike: editor.isActive("strike"),
45
+ canStrike: !readOnly && ((_p = (_o = canChain()).toggleStrike) == null ? void 0 : _p.call(_o).run()),
46
+ isInlineCode: editor.isActive("code"),
47
+ canInlineCode: !readOnly && ((_r = (_q = canChain()).toggleCode) == null ? void 0 : _r.call(_q).run()),
48
+ isBulletList: editor.isActive("bulletList"),
49
+ canBulletList: !readOnly && ((_t = (_s = canChain()).toggleBulletList) == null ? void 0 : _t.call(_s).run()),
50
+ isOrderedList: editor.isActive("orderedList"),
51
+ canOrderedList: !readOnly && ((_v = (_u = canChain()).toggleOrderedList) == null ? void 0 : _v.call(_u).run()),
52
+ isCodeBlock: editor.isActive("codeBlock"),
53
+ canCodeBlock: !readOnly && ((_x = (_w = canChain()).toggleCodeBlock) == null ? void 0 : _x.call(_w).run()),
54
+ isBlockquote: editor.isActive("blockquote"),
55
+ canBlockquote: !readOnly && ((_z = (_y = canChain()).toggleBlockquote) == null ? void 0 : _z.call(_y).run()),
56
+ canHorizontalRule: !readOnly && ((_B = (_A = canChain()).setHorizontalRule) == null ? void 0 : _B.call(_A).run())
57
+ };
58
+ };
59
+
60
+ // components/RichTextMenu/full.tsx
61
+ import { jsx } from "react/jsx-runtime";
62
+ var LoadedRichTextMenuFull = ({
63
+ editor,
64
+ field,
65
+ readOnly,
66
+ inline
67
+ }) => {
68
+ const { tiptap = {} } = field;
69
+ const { selector } = tiptap;
70
+ const resolvedSelector = useMemo(() => {
71
+ return (ctx) => __spreadValues(__spreadValues({}, defaultEditorState(ctx, readOnly)), selector ? selector(ctx, readOnly) : {});
72
+ }, [selector, readOnly]);
73
+ const editorState = useEditorState({
74
+ editor,
75
+ selector: resolvedSelector
76
+ });
77
+ if (!editor || !editorState) {
78
+ return null;
79
+ }
80
+ return /* @__PURE__ */ jsx(
81
+ LoadedRichTextMenuInner,
82
+ {
83
+ editor,
84
+ editorState,
85
+ field,
86
+ readOnly,
87
+ inline
88
+ }
89
+ );
90
+ };
91
+ export {
92
+ LoadedRichTextMenuFull
93
+ };
@@ -0,0 +1,116 @@
1
+ import { H as History, g as Permissions, c as ComponentData, C as Config, U as UserGenerics, F as Fields, a as PuckAction, h as RootDataWithProps, i as ResolveDataTrigger, j as Plugin, k as Overrides, V as Viewports, I as IframeConfig, l as UiState, m as ComponentConfig, A as AppState, M as Metadata, n as FieldTransforms, o as RichtextField } from './actions-CJibIB0m.js';
2
+ import { Editor } from '@tiptap/react';
3
+
4
+ type HistorySlice<D = any> = {
5
+ index: number;
6
+ hasPast: () => boolean;
7
+ hasFuture: () => boolean;
8
+ histories: History<D>[];
9
+ record: (data: D) => void;
10
+ back: VoidFunction;
11
+ forward: VoidFunction;
12
+ currentHistory: () => History;
13
+ nextHistory: () => History<D> | null;
14
+ prevHistory: () => History<D> | null;
15
+ setHistories: (histories: History[]) => void;
16
+ setHistoryIndex: (index: number) => void;
17
+ initialAppState: D;
18
+ };
19
+
20
+ type NodeMethods = {
21
+ sync: () => void;
22
+ hideOverlay: () => void;
23
+ showOverlay: () => void;
24
+ };
25
+ type PuckNodeInstance = {
26
+ id: string;
27
+ methods: NodeMethods;
28
+ element: HTMLElement | null;
29
+ };
30
+ type NodesSlice = {
31
+ nodes: Record<string, PuckNodeInstance | undefined>;
32
+ registerNode: (id: string, node: Partial<PuckNodeInstance>) => void;
33
+ unregisterNode: (id: string, node?: Partial<PuckNodeInstance>) => void;
34
+ };
35
+
36
+ type PermissionsArgs<UserConfig extends Config = Config, G extends UserGenerics<UserConfig> = UserGenerics<UserConfig>> = {
37
+ item?: G["UserComponentData"] | null;
38
+ type?: keyof G["UserProps"];
39
+ root?: boolean;
40
+ };
41
+ type GetPermissions<UserConfig extends Config = Config> = (params?: PermissionsArgs<UserConfig>) => Permissions;
42
+ type ResolvePermissions<UserConfig extends Config = Config> = (params?: PermissionsArgs<UserConfig>, force?: boolean) => void;
43
+ type RefreshPermissions<UserConfig extends Config = Config> = (params?: PermissionsArgs<UserConfig>, force?: boolean) => void;
44
+ type Cache = Record<string, {
45
+ lastPermissions: Partial<Permissions>;
46
+ lastData: ComponentData | null;
47
+ lastParentId: string | 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
+ id: string | undefined;
64
+ };
65
+
66
+ type Status = "LOADING" | "MOUNTED" | "READY";
67
+ type ZoomConfig = {
68
+ autoZoom: number;
69
+ rootHeight: number;
70
+ zoom: number;
71
+ };
72
+ type ComponentState = Record<string, {
73
+ loadingCount: number;
74
+ }>;
75
+ type AppStore<UserConfig extends Config = Config, G extends UserGenerics<UserConfig> = UserGenerics<UserConfig>> = {
76
+ state: G["UserAppState"];
77
+ dispatch: (action: PuckAction) => void;
78
+ config: UserConfig;
79
+ componentState: ComponentState;
80
+ setComponentState: (componentState: ComponentState) => void;
81
+ setComponentLoading: (id: string, loading?: boolean, defer?: number) => () => void;
82
+ unsetComponentLoading: (id: string) => void;
83
+ pendingLoadTimeouts: Record<string, NodeJS.Timeout>;
84
+ resolveComponentData: <T extends ComponentData | RootDataWithProps>(componentData: T, trigger: ResolveDataTrigger) => Promise<{
85
+ node: T;
86
+ didChange: boolean;
87
+ }>;
88
+ resolveAndCommitData: () => void;
89
+ plugins: Plugin[];
90
+ overrides: Partial<Overrides>;
91
+ viewports: Viewports;
92
+ zoomConfig: ZoomConfig;
93
+ setZoomConfig: (zoomConfig: ZoomConfig) => void;
94
+ status: Status;
95
+ setStatus: (status: Status) => void;
96
+ iframe: IframeConfig;
97
+ selectedItem?: G["UserData"]["content"][0] | null;
98
+ setUi: (ui: Partial<UiState>, recordHistory?: boolean) => void;
99
+ getComponentConfig: (type?: string) => ComponentConfig | null | undefined;
100
+ onAction?: (action: PuckAction, newState: AppState, state: AppState) => void;
101
+ metadata: Metadata;
102
+ fields: FieldsSlice;
103
+ history: HistorySlice;
104
+ nodes: NodesSlice;
105
+ permissions: PermissionsSlice;
106
+ fieldTransforms: FieldTransforms;
107
+ currentRichText?: {
108
+ inlineComponentId?: string;
109
+ inline: boolean;
110
+ field: RichtextField;
111
+ editor: Editor;
112
+ id: string;
113
+ } | null;
114
+ };
115
+
116
+ export type { AppStore as A, GetPermissions as G, HistorySlice as H, RefreshPermissions as R };
@@ -0,0 +1,116 @@
1
+ import { H as History, g as Permissions, c as ComponentData, C as Config, U as UserGenerics, F as Fields, a as PuckAction, h as RootDataWithProps, i as ResolveDataTrigger, j as Plugin, k as Overrides, V as Viewports, I as IframeConfig, l as UiState, m as ComponentConfig, A as AppState, M as Metadata, n as FieldTransforms, o as RichtextField } from './actions-CJibIB0m.mjs';
2
+ import { Editor } from '@tiptap/react';
3
+
4
+ type HistorySlice<D = any> = {
5
+ index: number;
6
+ hasPast: () => boolean;
7
+ hasFuture: () => boolean;
8
+ histories: History<D>[];
9
+ record: (data: D) => void;
10
+ back: VoidFunction;
11
+ forward: VoidFunction;
12
+ currentHistory: () => History;
13
+ nextHistory: () => History<D> | null;
14
+ prevHistory: () => History<D> | null;
15
+ setHistories: (histories: History[]) => void;
16
+ setHistoryIndex: (index: number) => void;
17
+ initialAppState: D;
18
+ };
19
+
20
+ type NodeMethods = {
21
+ sync: () => void;
22
+ hideOverlay: () => void;
23
+ showOverlay: () => void;
24
+ };
25
+ type PuckNodeInstance = {
26
+ id: string;
27
+ methods: NodeMethods;
28
+ element: HTMLElement | null;
29
+ };
30
+ type NodesSlice = {
31
+ nodes: Record<string, PuckNodeInstance | undefined>;
32
+ registerNode: (id: string, node: Partial<PuckNodeInstance>) => void;
33
+ unregisterNode: (id: string, node?: Partial<PuckNodeInstance>) => void;
34
+ };
35
+
36
+ type PermissionsArgs<UserConfig extends Config = Config, G extends UserGenerics<UserConfig> = UserGenerics<UserConfig>> = {
37
+ item?: G["UserComponentData"] | null;
38
+ type?: keyof G["UserProps"];
39
+ root?: boolean;
40
+ };
41
+ type GetPermissions<UserConfig extends Config = Config> = (params?: PermissionsArgs<UserConfig>) => Permissions;
42
+ type ResolvePermissions<UserConfig extends Config = Config> = (params?: PermissionsArgs<UserConfig>, force?: boolean) => void;
43
+ type RefreshPermissions<UserConfig extends Config = Config> = (params?: PermissionsArgs<UserConfig>, force?: boolean) => void;
44
+ type Cache = Record<string, {
45
+ lastPermissions: Partial<Permissions>;
46
+ lastData: ComponentData | null;
47
+ lastParentId: string | 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
+ id: string | undefined;
64
+ };
65
+
66
+ type Status = "LOADING" | "MOUNTED" | "READY";
67
+ type ZoomConfig = {
68
+ autoZoom: number;
69
+ rootHeight: number;
70
+ zoom: number;
71
+ };
72
+ type ComponentState = Record<string, {
73
+ loadingCount: number;
74
+ }>;
75
+ type AppStore<UserConfig extends Config = Config, G extends UserGenerics<UserConfig> = UserGenerics<UserConfig>> = {
76
+ state: G["UserAppState"];
77
+ dispatch: (action: PuckAction) => void;
78
+ config: UserConfig;
79
+ componentState: ComponentState;
80
+ setComponentState: (componentState: ComponentState) => void;
81
+ setComponentLoading: (id: string, loading?: boolean, defer?: number) => () => void;
82
+ unsetComponentLoading: (id: string) => void;
83
+ pendingLoadTimeouts: Record<string, NodeJS.Timeout>;
84
+ resolveComponentData: <T extends ComponentData | RootDataWithProps>(componentData: T, trigger: ResolveDataTrigger) => Promise<{
85
+ node: T;
86
+ didChange: boolean;
87
+ }>;
88
+ resolveAndCommitData: () => void;
89
+ plugins: Plugin[];
90
+ overrides: Partial<Overrides>;
91
+ viewports: Viewports;
92
+ zoomConfig: ZoomConfig;
93
+ setZoomConfig: (zoomConfig: ZoomConfig) => void;
94
+ status: Status;
95
+ setStatus: (status: Status) => void;
96
+ iframe: IframeConfig;
97
+ selectedItem?: G["UserData"]["content"][0] | null;
98
+ setUi: (ui: Partial<UiState>, recordHistory?: boolean) => void;
99
+ getComponentConfig: (type?: string) => ComponentConfig | null | undefined;
100
+ onAction?: (action: PuckAction, newState: AppState, state: AppState) => void;
101
+ metadata: Metadata;
102
+ fields: FieldsSlice;
103
+ history: HistorySlice;
104
+ nodes: NodesSlice;
105
+ permissions: PermissionsSlice;
106
+ fieldTransforms: FieldTransforms;
107
+ currentRichText?: {
108
+ inlineComponentId?: string;
109
+ inline: boolean;
110
+ field: RichtextField;
111
+ editor: Editor;
112
+ id: string;
113
+ } | null;
114
+ };
115
+
116
+ export type { AppStore as A, GetPermissions as G, HistorySlice as H, RefreshPermissions as R };