@measured/puck 0.16.0-canary.96ee704 → 0.16.0-canary.9e7d06f
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/actions-Dyg9ei4T.d.mts +433 -0
- package/dist/actions-Dyg9ei4T.d.ts +433 -0
- package/dist/{chunk-TM7CT64S.mjs → chunk-LM7YWFFF.mjs} +3 -2
- package/dist/index.css +25 -9
- package/dist/index.d.mts +34 -180
- package/dist/index.d.ts +34 -180
- package/dist/index.js +221 -130
- package/dist/index.mjs +218 -129
- package/dist/rsc.d.mts +1 -1
- package/dist/rsc.d.ts +1 -1
- package/dist/rsc.js +3 -2
- package/dist/rsc.mjs +1 -1
- package/package.json +8 -6
- package/dist/Config-CkVFT1_w.d.mts +0 -276
- package/dist/Config-CkVFT1_w.d.ts +0 -276
package/dist/index.mjs
CHANGED
@@ -8,7 +8,7 @@ import {
|
|
8
8
|
init_react_import,
|
9
9
|
rootDroppableId,
|
10
10
|
setupZone
|
11
|
-
} from "./chunk-
|
11
|
+
} from "./chunk-LM7YWFFF.mjs";
|
12
12
|
|
13
13
|
// ../../node_modules/classnames/index.js
|
14
14
|
var require_classnames = __commonJS({
|
@@ -65,46 +65,73 @@ var require_classnames = __commonJS({
|
|
65
65
|
// index.ts
|
66
66
|
init_react_import();
|
67
67
|
|
68
|
+
// types/API/index.ts
|
69
|
+
init_react_import();
|
70
|
+
|
71
|
+
// types/API/Viewports.ts
|
72
|
+
init_react_import();
|
73
|
+
|
74
|
+
// types/index.ts
|
75
|
+
init_react_import();
|
76
|
+
|
77
|
+
// types/API/Overrides.ts
|
78
|
+
init_react_import();
|
79
|
+
var overrideKeys = [
|
80
|
+
"header",
|
81
|
+
"headerActions",
|
82
|
+
"fields",
|
83
|
+
"fieldLabel",
|
84
|
+
"components",
|
85
|
+
"componentItem",
|
86
|
+
"outline",
|
87
|
+
"puck",
|
88
|
+
"preview"
|
89
|
+
];
|
90
|
+
|
91
|
+
// types/AppState.tsx
|
92
|
+
init_react_import();
|
93
|
+
|
68
94
|
// types/Config.tsx
|
69
95
|
init_react_import();
|
70
96
|
|
71
|
-
// types/
|
97
|
+
// types/Data.tsx
|
72
98
|
init_react_import();
|
73
99
|
|
74
100
|
// types/Fields.ts
|
75
101
|
init_react_import();
|
76
102
|
|
103
|
+
// types/Props.tsx
|
104
|
+
init_react_import();
|
105
|
+
|
106
|
+
// types/Utils.tsx
|
107
|
+
init_react_import();
|
108
|
+
|
77
109
|
// components/ActionBar/index.tsx
|
78
110
|
init_react_import();
|
79
111
|
|
80
112
|
// lib/get-class-name-factory.ts
|
81
113
|
init_react_import();
|
82
114
|
var import_classnames = __toESM(require_classnames());
|
83
|
-
var getClassNameFactory = (rootClass, styles, { baseClass
|
84
|
-
let descendant = false;
|
85
|
-
let modifiers = false;
|
115
|
+
var getClassNameFactory = (rootClass, styles, config = { baseClass: "" }) => (options = {}) => {
|
86
116
|
if (typeof options === "string") {
|
87
|
-
descendant = options;
|
88
|
-
} else if (typeof options === "object") {
|
89
|
-
modifiers = options;
|
90
|
-
}
|
91
|
-
if (descendant) {
|
117
|
+
const descendant = options;
|
92
118
|
const style = styles[`${rootClass}-${descendant}`];
|
93
119
|
if (style) {
|
94
|
-
return baseClass + styles[`${rootClass}-${descendant}`] || "";
|
120
|
+
return config.baseClass + styles[`${rootClass}-${descendant}`] || "";
|
95
121
|
}
|
96
122
|
return "";
|
97
|
-
} else if (
|
123
|
+
} else if (typeof options === "object") {
|
124
|
+
const modifiers = options;
|
98
125
|
const prefixedModifiers = {};
|
99
126
|
for (let modifier in modifiers) {
|
100
127
|
prefixedModifiers[styles[`${rootClass}--${modifier}`]] = modifiers[modifier];
|
101
128
|
}
|
102
129
|
const c = styles[rootClass];
|
103
|
-
return baseClass + (0, import_classnames.default)(__spreadValues({
|
130
|
+
return config.baseClass + (0, import_classnames.default)(__spreadValues({
|
104
131
|
[c]: !!c
|
105
132
|
}, prefixedModifiers));
|
106
133
|
} else {
|
107
|
-
return baseClass + styles[rootClass] || "";
|
134
|
+
return config.baseClass + styles[rootClass] || "";
|
108
135
|
}
|
109
136
|
};
|
110
137
|
var get_class_name_factory_default = getClassNameFactory;
|
@@ -127,7 +154,16 @@ var Action = ({
|
|
127
154
|
children,
|
128
155
|
label,
|
129
156
|
onClick
|
130
|
-
}) => /* @__PURE__ */ jsx(
|
157
|
+
}) => /* @__PURE__ */ jsx(
|
158
|
+
"button",
|
159
|
+
{
|
160
|
+
type: "button",
|
161
|
+
className: getClassName("action"),
|
162
|
+
onClick,
|
163
|
+
title: label,
|
164
|
+
children
|
165
|
+
}
|
166
|
+
);
|
131
167
|
ActionBar.Action = Action;
|
132
168
|
|
133
169
|
// components/AutoField/index.tsx
|
@@ -562,14 +598,14 @@ import {
|
|
562
598
|
|
563
599
|
// lib/get-item.ts
|
564
600
|
init_react_import();
|
565
|
-
|
601
|
+
function getItem(selector, data, dynamicProps = {}) {
|
566
602
|
if (!selector.zone || selector.zone === rootDroppableId) {
|
567
603
|
const item2 = data.content[selector.index];
|
568
604
|
return (item2 == null ? void 0 : item2.props) ? __spreadProps(__spreadValues({}, item2), { props: dynamicProps[item2.props.id] || item2.props }) : void 0;
|
569
605
|
}
|
570
606
|
const item = setupZone(data, selector.zone).zones[selector.zone][selector.index];
|
571
607
|
return (item == null ? void 0 : item.props) ? __spreadProps(__spreadValues({}, item), { props: dynamicProps[item.props.id] || item.props }) : void 0;
|
572
|
-
}
|
608
|
+
}
|
573
609
|
|
574
610
|
// components/ViewportControls/default-viewports.ts
|
575
611
|
init_react_import();
|
@@ -583,7 +619,7 @@ var defaultViewports = [
|
|
583
619
|
import { UAParser } from "ua-parser-js";
|
584
620
|
import { jsx as jsx4 } from "react/jsx-runtime";
|
585
621
|
var defaultAppState = {
|
586
|
-
data: { content: [], root: {
|
622
|
+
data: { content: [], root: {} },
|
587
623
|
ui: {
|
588
624
|
leftSideBarVisible: true,
|
589
625
|
rightSideBarVisible: true,
|
@@ -1322,6 +1358,7 @@ var ExternalInput = ({
|
|
1322
1358
|
value && /* @__PURE__ */ jsx14(
|
1323
1359
|
"button",
|
1324
1360
|
{
|
1361
|
+
type: "button",
|
1325
1362
|
className: getClassName10("detachButton"),
|
1326
1363
|
onClick: () => {
|
1327
1364
|
onChange(null);
|
@@ -1378,7 +1415,7 @@ var ExternalInput = ({
|
|
1378
1415
|
}
|
1379
1416
|
) })
|
1380
1417
|
] })
|
1381
|
-
] }) : /* @__PURE__ */ jsx14(Heading, { rank: 2, size: "xs", children: field.placeholder || "Select data" }) }),
|
1418
|
+
] }) : /* @__PURE__ */ jsx14(Heading, { rank: "2", size: "xs", children: field.placeholder || "Select data" }) }),
|
1382
1419
|
/* @__PURE__ */ jsxs7("div", { className: getClassNameModal("grid"), children: [
|
1383
1420
|
hasFilterFields && /* @__PURE__ */ jsx14("div", { className: getClassNameModal("filters"), children: hasFilterFields && Object.keys(filterFields).map((fieldName) => {
|
1384
1421
|
const filterField = filterFields[fieldName];
|
@@ -2811,6 +2848,7 @@ var SidebarSection = ({
|
|
2811
2848
|
/* @__PURE__ */ jsx26(
|
2812
2849
|
"button",
|
2813
2850
|
{
|
2851
|
+
type: "button",
|
2814
2852
|
className: getClassName19("breadcrumbLabel"),
|
2815
2853
|
onClick: () => setUi({ itemSelector: breadcrumb.selector }),
|
2816
2854
|
children: breadcrumb.label
|
@@ -2818,7 +2856,7 @@ var SidebarSection = ({
|
|
2818
2856
|
),
|
2819
2857
|
/* @__PURE__ */ jsx26(ChevronRight, { size: 16 })
|
2820
2858
|
] }, i)) : null,
|
2821
|
-
/* @__PURE__ */ jsx26("div", { className: getClassName19("heading"), children: /* @__PURE__ */ jsx26(Heading, { rank: 2, size: "xs", children: title }) })
|
2859
|
+
/* @__PURE__ */ jsx26("div", { className: getClassName19("heading"), children: /* @__PURE__ */ jsx26(Heading, { rank: "2", size: "xs", children: title }) })
|
2822
2860
|
] }) }),
|
2823
2861
|
/* @__PURE__ */ jsx26("div", { className: getClassName19("content"), children }),
|
2824
2862
|
isLoading && /* @__PURE__ */ jsx26("div", { className: getClassName19("loadingOverlay"), children: /* @__PURE__ */ jsx26(Loader, { size: 32 }) })
|
@@ -2851,7 +2889,7 @@ var remove = (list, index) => {
|
|
2851
2889
|
|
2852
2890
|
// lib/reduce-related-zones.ts
|
2853
2891
|
init_react_import();
|
2854
|
-
|
2892
|
+
function reduceRelatedZones(item, data, fn) {
|
2855
2893
|
return __spreadProps(__spreadValues({}, data), {
|
2856
2894
|
zones: Object.keys(data.zones || {}).reduce(
|
2857
2895
|
(acc, key) => {
|
@@ -2865,28 +2903,34 @@ var reduceRelatedZones = (item, data, fn) => {
|
|
2865
2903
|
{}
|
2866
2904
|
)
|
2867
2905
|
});
|
2868
|
-
}
|
2906
|
+
}
|
2869
2907
|
var findRelatedByZoneId = (zoneId, data) => {
|
2870
2908
|
const [zoneParentId] = getZoneId(zoneId);
|
2871
|
-
return (data.zones[zoneId] || []).reduce(
|
2872
|
-
|
2873
|
-
|
2874
|
-
|
2875
|
-
|
2876
|
-
|
2877
|
-
|
2909
|
+
return (data.zones[zoneId] || []).reduce(
|
2910
|
+
(acc, zoneItem) => {
|
2911
|
+
const related = findRelatedByItem(zoneItem, data);
|
2912
|
+
if (zoneItem.props.id === zoneParentId) {
|
2913
|
+
return __spreadProps(__spreadValues(__spreadValues({}, acc), related), { [zoneId]: zoneItem });
|
2914
|
+
}
|
2915
|
+
return __spreadValues(__spreadValues({}, acc), related);
|
2916
|
+
},
|
2917
|
+
{}
|
2918
|
+
);
|
2878
2919
|
};
|
2879
2920
|
var findRelatedByItem = (item, data) => {
|
2880
|
-
return Object.keys(data.zones || {}).reduce(
|
2881
|
-
|
2882
|
-
|
2883
|
-
|
2884
|
-
|
2885
|
-
|
2886
|
-
|
2887
|
-
|
2888
|
-
|
2889
|
-
|
2921
|
+
return Object.keys(data.zones || {}).reduce(
|
2922
|
+
(acc, zoneId) => {
|
2923
|
+
const [zoneParentId] = getZoneId(zoneId);
|
2924
|
+
if (item.props.id === zoneParentId) {
|
2925
|
+
const related = findRelatedByZoneId(zoneId, data);
|
2926
|
+
return __spreadProps(__spreadValues(__spreadValues({}, acc), related), {
|
2927
|
+
[zoneId]: data.zones[zoneId]
|
2928
|
+
});
|
2929
|
+
}
|
2930
|
+
return acc;
|
2931
|
+
},
|
2932
|
+
{}
|
2933
|
+
);
|
2890
2934
|
};
|
2891
2935
|
var removeRelatedZones = (item, data) => {
|
2892
2936
|
const newData = __spreadValues({}, data);
|
@@ -2896,7 +2940,7 @@ var removeRelatedZones = (item, data) => {
|
|
2896
2940
|
});
|
2897
2941
|
return newData;
|
2898
2942
|
};
|
2899
|
-
|
2943
|
+
function duplicateRelatedZones(item, data, newId) {
|
2900
2944
|
return reduceRelatedZones(item, data, (acc, key, zone) => {
|
2901
2945
|
const dupedZone = zone.map((zoneItem) => __spreadProps(__spreadValues({}, zoneItem), {
|
2902
2946
|
props: __spreadProps(__spreadValues({}, zoneItem.props), { id: generateId(zoneItem.type) })
|
@@ -2911,7 +2955,7 @@ var duplicateRelatedZones = (item, data, newId) => {
|
|
2911
2955
|
[`${newId}:${zoneId}`]: dupedZone
|
2912
2956
|
});
|
2913
2957
|
});
|
2914
|
-
}
|
2958
|
+
}
|
2915
2959
|
|
2916
2960
|
// reducer/data.ts
|
2917
2961
|
var zoneCache = {};
|
@@ -2935,7 +2979,7 @@ var replaceAction = (data, action) => {
|
|
2935
2979
|
})
|
2936
2980
|
});
|
2937
2981
|
};
|
2938
|
-
|
2982
|
+
function insertAction(data, action, config) {
|
2939
2983
|
const emptyComponentData = {
|
2940
2984
|
type: action.componentType,
|
2941
2985
|
props: __spreadProps(__spreadValues({}, config.components[action.componentType].defaultProps || {}), {
|
@@ -2961,8 +3005,8 @@ var insertAction = (data, action, config) => {
|
|
2961
3005
|
)
|
2962
3006
|
})
|
2963
3007
|
});
|
2964
|
-
}
|
2965
|
-
|
3008
|
+
}
|
3009
|
+
function reduceData(data, action, config) {
|
2966
3010
|
if (action.type === "insert") {
|
2967
3011
|
return insertAction(data, action, config);
|
2968
3012
|
}
|
@@ -3111,7 +3155,7 @@ var reduceData = (data, action, config) => {
|
|
3111
3155
|
return __spreadValues(__spreadValues({}, data), action.data(data));
|
3112
3156
|
}
|
3113
3157
|
return data;
|
3114
|
-
}
|
3158
|
+
}
|
3115
3159
|
|
3116
3160
|
// reducer/state.ts
|
3117
3161
|
init_react_import();
|
@@ -3129,7 +3173,7 @@ var reduceUi = (ui, action) => {
|
|
3129
3173
|
init_react_import();
|
3130
3174
|
|
3131
3175
|
// reducer/index.ts
|
3132
|
-
|
3176
|
+
function storeInterceptor(reducer, record, onAction) {
|
3133
3177
|
return (state, action) => {
|
3134
3178
|
const newAppState = reducer(state, action);
|
3135
3179
|
const isValidType = ![
|
@@ -3145,7 +3189,7 @@ var storeInterceptor = (reducer, record, onAction) => {
|
|
3145
3189
|
onAction == null ? void 0 : onAction(action, newAppState, state);
|
3146
3190
|
return newAppState;
|
3147
3191
|
};
|
3148
|
-
}
|
3192
|
+
}
|
3149
3193
|
var setAction = (state, action) => {
|
3150
3194
|
if (typeof action.state === "object") {
|
3151
3195
|
return __spreadValues(__spreadValues({}, state), action.state);
|
@@ -3260,28 +3304,30 @@ var applyDynamicProps = (data, dynamicProps, rootData) => {
|
|
3260
3304
|
// lib/resolve-root-data.ts
|
3261
3305
|
init_react_import();
|
3262
3306
|
var cache3 = {};
|
3263
|
-
|
3264
|
-
|
3265
|
-
|
3266
|
-
if (((
|
3267
|
-
|
3307
|
+
function resolveRootData(data, config) {
|
3308
|
+
return __async(this, null, function* () {
|
3309
|
+
var _a, _b, _c, _d, _e;
|
3310
|
+
if (((_a = config.root) == null ? void 0 : _a.resolveData) && data.root.props) {
|
3311
|
+
if (((_b = cache3.lastChange) == null ? void 0 : _b.original) === data.root) {
|
3312
|
+
return cache3.lastChange.resolved;
|
3313
|
+
}
|
3314
|
+
const changed = getChanged(data.root, (_c = cache3.lastChange) == null ? void 0 : _c.original);
|
3315
|
+
const rootWithProps = data.root;
|
3316
|
+
const resolvedRoot = yield (_e = config.root) == null ? void 0 : _e.resolveData(rootWithProps, {
|
3317
|
+
changed,
|
3318
|
+
lastData: ((_d = cache3.lastChange) == null ? void 0 : _d.original) || {}
|
3319
|
+
});
|
3320
|
+
cache3.lastChange = {
|
3321
|
+
original: data.root,
|
3322
|
+
resolved: resolvedRoot
|
3323
|
+
};
|
3324
|
+
return __spreadProps(__spreadValues(__spreadValues({}, data.root), resolvedRoot), {
|
3325
|
+
props: __spreadValues(__spreadValues({}, data.root.props), resolvedRoot.props)
|
3326
|
+
});
|
3268
3327
|
}
|
3269
|
-
|
3270
|
-
|
3271
|
-
|
3272
|
-
changed,
|
3273
|
-
lastData: ((_d = cache3.lastChange) == null ? void 0 : _d.original) || {}
|
3274
|
-
});
|
3275
|
-
cache3.lastChange = {
|
3276
|
-
original: data.root,
|
3277
|
-
resolved: resolvedRoot
|
3278
|
-
};
|
3279
|
-
return __spreadProps(__spreadValues(__spreadValues({}, data.root), resolvedRoot), {
|
3280
|
-
props: __spreadValues(__spreadValues({}, data.root.props), resolvedRoot.props)
|
3281
|
-
});
|
3282
|
-
}
|
3283
|
-
return data.root;
|
3284
|
-
});
|
3328
|
+
return data.root;
|
3329
|
+
});
|
3330
|
+
}
|
3285
3331
|
|
3286
3332
|
// lib/use-resolved-data.ts
|
3287
3333
|
var useResolvedData = (appState, config, dispatch) => {
|
@@ -3386,15 +3432,14 @@ var styles_module_default14 = { "MenuBar": "_MenuBar_8pf8c_1", "MenuBar--menuOpe
|
|
3386
3432
|
// components/MenuBar/index.tsx
|
3387
3433
|
import { Fragment as Fragment12, jsx as jsx27, jsxs as jsxs14 } from "react/jsx-runtime";
|
3388
3434
|
var getClassName20 = get_class_name_factory_default("MenuBar", styles_module_default14);
|
3389
|
-
|
3435
|
+
function MenuBar({
|
3390
3436
|
appState,
|
3391
|
-
data = { content: [], root: {} },
|
3392
3437
|
dispatch,
|
3393
3438
|
menuOpen = false,
|
3394
3439
|
onPublish,
|
3395
3440
|
renderHeaderActions,
|
3396
3441
|
setMenuOpen
|
3397
|
-
})
|
3442
|
+
}) {
|
3398
3443
|
const {
|
3399
3444
|
history: { back, forward, historyStore }
|
3400
3445
|
} = useAppContext();
|
@@ -3425,7 +3470,7 @@ var MenuBar = ({
|
|
3425
3470
|
] })
|
3426
3471
|
}
|
3427
3472
|
);
|
3428
|
-
}
|
3473
|
+
}
|
3429
3474
|
|
3430
3475
|
// css-module:/home/runner/work/puck/puck/packages/core/components/Puck/styles.module.css#css-module
|
3431
3476
|
init_react_import();
|
@@ -3458,9 +3503,7 @@ var useResolvedFields = () => {
|
|
3458
3503
|
const componentConfig = selectedItem ? config.components[selectedItem.type] : null;
|
3459
3504
|
const defaultFields = selectedItem ? componentConfig == null ? void 0 : componentConfig.fields : rootFields;
|
3460
3505
|
const rootProps = data.root.props || data.root;
|
3461
|
-
const [lastSelectedData, setLastSelectedData] = useState14(
|
3462
|
-
{}
|
3463
|
-
);
|
3506
|
+
const [lastSelectedData, setLastSelectedData] = useState14({});
|
3464
3507
|
const [resolvedFields, setResolvedFields] = useState14(defaultFields || {});
|
3465
3508
|
const [fieldsLoading, setFieldsLoading] = useState14(false);
|
3466
3509
|
const defaultResolveFields = (_componentData, _params) => defaultFields;
|
@@ -3623,7 +3666,7 @@ var Fields = () => {
|
|
3623
3666
|
`${selectedItem.props.id}_${fieldName}`
|
3624
3667
|
);
|
3625
3668
|
} else {
|
3626
|
-
const
|
3669
|
+
const readOnly = data.root.readOnly || {};
|
3627
3670
|
return /* @__PURE__ */ jsx28(
|
3628
3671
|
AutoFieldPrivate,
|
3629
3672
|
{
|
@@ -3695,6 +3738,7 @@ var ComponentList = ({
|
|
3695
3738
|
title && /* @__PURE__ */ jsxs16(
|
3696
3739
|
"button",
|
3697
3740
|
{
|
3741
|
+
type: "button",
|
3698
3742
|
className: getClassName22("title"),
|
3699
3743
|
onClick: () => setUi({
|
3700
3744
|
componentList: __spreadProps(__spreadValues({}, state.ui.componentList), {
|
@@ -4084,13 +4128,9 @@ var Preview = ({ id = "puck-preview" }) => {
|
|
4084
4128
|
const Page = useCallback7(
|
4085
4129
|
(pageProps) => {
|
4086
4130
|
var _a, _b;
|
4087
|
-
return ((_a = config.root) == null ? void 0 : _a.render) ? (_b = config.root) == null ? void 0 : _b.render(
|
4131
|
+
return ((_a = config.root) == null ? void 0 : _a.render) ? (_b = config.root) == null ? void 0 : _b.render(__spreadValues({
|
4088
4132
|
id: "puck-root"
|
4089
|
-
}, pageProps), {
|
4090
|
-
editMode: true,
|
4091
|
-
// DEPRECATED
|
4092
|
-
puck: { renderDropZone: DropZone, isEditing: true }
|
4093
|
-
})) : /* @__PURE__ */ jsx33(Fragment15, { children: pageProps.children });
|
4133
|
+
}, pageProps)) : /* @__PURE__ */ jsx33(Fragment15, { children: pageProps.children });
|
4094
4134
|
},
|
4095
4135
|
[config.root]
|
4096
4136
|
);
|
@@ -4114,14 +4154,28 @@ var Preview = ({ id = "puck-preview" }) => {
|
|
4114
4154
|
setStatus("READY");
|
4115
4155
|
},
|
4116
4156
|
children: /* @__PURE__ */ jsx33(autoFrameContext.Consumer, { children: ({ document: document2 }) => {
|
4117
|
-
const inner = /* @__PURE__ */ jsx33(
|
4157
|
+
const inner = /* @__PURE__ */ jsx33(
|
4158
|
+
Page,
|
4159
|
+
__spreadProps(__spreadValues({}, rootProps), {
|
4160
|
+
puck: { renderDropZone: DropZone, isEditing: true },
|
4161
|
+
editMode: true,
|
4162
|
+
children: /* @__PURE__ */ jsx33(DropZone, { zone: rootDroppableId })
|
4163
|
+
})
|
4164
|
+
);
|
4118
4165
|
if (Frame) {
|
4119
4166
|
return /* @__PURE__ */ jsx33(Frame, { document: document2, children: inner });
|
4120
4167
|
}
|
4121
4168
|
return inner;
|
4122
4169
|
} })
|
4123
4170
|
}
|
4124
|
-
) : /* @__PURE__ */ jsx33("div", { id: "preview-frame", className: getClassName23("frame"), children: /* @__PURE__ */ jsx33(
|
4171
|
+
) : /* @__PURE__ */ jsx33("div", { id: "preview-frame", className: getClassName23("frame"), children: /* @__PURE__ */ jsx33(
|
4172
|
+
Page,
|
4173
|
+
__spreadProps(__spreadValues({}, rootProps), {
|
4174
|
+
puck: { renderDropZone: DropZone, isEditing: true },
|
4175
|
+
editMode: true,
|
4176
|
+
children: /* @__PURE__ */ jsx33(DropZone, { zone: rootDroppableId })
|
4177
|
+
})
|
4178
|
+
) })
|
4125
4179
|
}
|
4126
4180
|
);
|
4127
4181
|
};
|
@@ -4235,6 +4289,7 @@ var LayerTree = ({
|
|
4235
4289
|
/* @__PURE__ */ jsx34("div", { className: getClassNameLayer("inner"), children: /* @__PURE__ */ jsxs17(
|
4236
4290
|
"button",
|
4237
4291
|
{
|
4292
|
+
type: "button",
|
4238
4293
|
className: getClassNameLayer("clickable"),
|
4239
4294
|
onClick: () => {
|
4240
4295
|
if (isSelected) {
|
@@ -4362,14 +4417,14 @@ function usePuckHistory({
|
|
4362
4417
|
if (historyStore.hasPast) {
|
4363
4418
|
dispatch({
|
4364
4419
|
type: "set",
|
4365
|
-
state: ((_a = historyStore.prevHistory) == null ? void 0 : _a.
|
4420
|
+
state: ((_a = historyStore.prevHistory) == null ? void 0 : _a.state) || initialAppState
|
4366
4421
|
});
|
4367
4422
|
historyStore.back();
|
4368
4423
|
}
|
4369
4424
|
};
|
4370
4425
|
const forward = () => {
|
4371
4426
|
if (historyStore.nextHistory) {
|
4372
|
-
dispatch({ type: "set", state: historyStore.nextHistory.
|
4427
|
+
dispatch({ type: "set", state: historyStore.nextHistory.state });
|
4373
4428
|
historyStore.forward();
|
4374
4429
|
}
|
4375
4430
|
};
|
@@ -4377,7 +4432,7 @@ function usePuckHistory({
|
|
4377
4432
|
var _a;
|
4378
4433
|
dispatch({
|
4379
4434
|
type: "set",
|
4380
|
-
state: ((_a = histories[histories.length - 1]) == null ? void 0 : _a.
|
4435
|
+
state: ((_a = histories[histories.length - 1]) == null ? void 0 : _a.state) || initialAppState
|
4381
4436
|
});
|
4382
4437
|
historyStore.setHistories(histories);
|
4383
4438
|
};
|
@@ -4386,7 +4441,7 @@ function usePuckHistory({
|
|
4386
4441
|
if (historyStore.histories.length > index) {
|
4387
4442
|
dispatch({
|
4388
4443
|
type: "set",
|
4389
|
-
state: ((_a = historyStore.histories[index]) == null ? void 0 : _a.
|
4444
|
+
state: ((_a = historyStore.histories[index]) == null ? void 0 : _a.state) || initialAppState
|
4390
4445
|
});
|
4391
4446
|
historyStore.setHistoryIndex(index);
|
4392
4447
|
}
|
@@ -4407,7 +4462,7 @@ function usePuckHistory({
|
|
4407
4462
|
init_react_import();
|
4408
4463
|
import { useState as useState17 } from "react";
|
4409
4464
|
import { useDebouncedCallback as useDebouncedCallback2 } from "use-debounce";
|
4410
|
-
var EMPTY_HISTORY_INDEX =
|
4465
|
+
var EMPTY_HISTORY_INDEX = 0;
|
4411
4466
|
function useHistoryStore(initialHistory) {
|
4412
4467
|
var _a, _b;
|
4413
4468
|
const [histories, setHistories] = useState17(
|
@@ -4425,9 +4480,9 @@ function useHistoryStore(initialHistory) {
|
|
4425
4480
|
const currentHistory = histories[index];
|
4426
4481
|
const nextHistory = hasFuture ? histories[index + 1] : null;
|
4427
4482
|
const prevHistory = hasPast ? histories[index - 1] : null;
|
4428
|
-
const record = useDebouncedCallback2((
|
4483
|
+
const record = useDebouncedCallback2((state) => {
|
4429
4484
|
const history = {
|
4430
|
-
|
4485
|
+
state,
|
4431
4486
|
id: generateId("history")
|
4432
4487
|
};
|
4433
4488
|
updateHistories([...histories.slice(0, index + 1), history]);
|
@@ -4730,7 +4785,7 @@ var ViewportControls = ({
|
|
4730
4785
|
|
4731
4786
|
// css-module:/home/runner/work/puck/puck/packages/core/components/Puck/components/Canvas/styles.module.css#css-module
|
4732
4787
|
init_react_import();
|
4733
|
-
var styles_module_default21 = { "PuckCanvas": "
|
4788
|
+
var styles_module_default21 = { "PuckCanvas": "_PuckCanvas_esbg1_1", "PuckCanvas-controls": "_PuckCanvas-controls_esbg1_16", "PuckCanvas-inner": "_PuckCanvas-inner_esbg1_21", "PuckCanvas-root": "_PuckCanvas-root_esbg1_32", "PuckCanvas--ready": "_PuckCanvas--ready_esbg1_56", "PuckCanvas-loader": "_PuckCanvas-loader_esbg1_60", "PuckCanvas--showLoader": "_PuckCanvas--showLoader_esbg1_70" };
|
4734
4789
|
|
4735
4790
|
// lib/get-zoom-config.ts
|
4736
4791
|
init_react_import();
|
@@ -4810,6 +4865,12 @@ var Canvas = () => {
|
|
4810
4865
|
}));
|
4811
4866
|
}
|
4812
4867
|
}, [zoomConfig.zoom]);
|
4868
|
+
useEffect16(() => {
|
4869
|
+
if (ZOOM_ON_CHANGE) {
|
4870
|
+
setShowTransition(true);
|
4871
|
+
resetAutoZoom(ui);
|
4872
|
+
}
|
4873
|
+
}, [ui.viewports.current.width]);
|
4813
4874
|
useEffect16(() => {
|
4814
4875
|
const observer = new ResizeObserver(() => {
|
4815
4876
|
setShowTransition(false);
|
@@ -4822,11 +4883,18 @@ var Canvas = () => {
|
|
4822
4883
|
observer.disconnect();
|
4823
4884
|
};
|
4824
4885
|
}, []);
|
4886
|
+
const [showLoader, setShowLoader] = useState19(false);
|
4887
|
+
useEffect16(() => {
|
4888
|
+
setTimeout(() => {
|
4889
|
+
setShowLoader(true);
|
4890
|
+
}, 500);
|
4891
|
+
}, []);
|
4825
4892
|
return /* @__PURE__ */ jsxs20(
|
4826
4893
|
"div",
|
4827
4894
|
{
|
4828
4895
|
className: getClassName26({
|
4829
|
-
ready: status === "READY" || !iframe.enabled
|
4896
|
+
ready: status === "READY" || !iframe.enabled,
|
4897
|
+
showLoader
|
4830
4898
|
}),
|
4831
4899
|
onClick: () => dispatch({
|
4832
4900
|
type: "setUi",
|
@@ -4859,21 +4927,24 @@ var Canvas = () => {
|
|
4859
4927
|
}
|
4860
4928
|
}
|
4861
4929
|
) }),
|
4862
|
-
/* @__PURE__ */
|
4863
|
-
|
4864
|
-
|
4865
|
-
|
4866
|
-
|
4867
|
-
|
4868
|
-
|
4869
|
-
|
4870
|
-
|
4871
|
-
|
4872
|
-
|
4873
|
-
|
4874
|
-
|
4875
|
-
|
4876
|
-
|
4930
|
+
/* @__PURE__ */ jsxs20("div", { className: getClassName26("inner"), ref: frameRef, children: [
|
4931
|
+
/* @__PURE__ */ jsx37(
|
4932
|
+
"div",
|
4933
|
+
{
|
4934
|
+
className: getClassName26("root"),
|
4935
|
+
style: {
|
4936
|
+
width: iframe.enabled ? ui.viewports.current.width : "100%",
|
4937
|
+
height: zoomConfig.rootHeight,
|
4938
|
+
transform: iframe.enabled ? `scale(${zoomConfig.zoom})` : void 0,
|
4939
|
+
transition: showTransition ? "width 150ms ease-out, height 150ms ease-out, transform 150ms ease-out" : "",
|
4940
|
+
overflow: iframe.enabled ? void 0 : "auto"
|
4941
|
+
},
|
4942
|
+
suppressHydrationWarning: true,
|
4943
|
+
children: /* @__PURE__ */ jsx37(CustomPreview, { children: /* @__PURE__ */ jsx37(Preview, {}) })
|
4944
|
+
}
|
4945
|
+
),
|
4946
|
+
/* @__PURE__ */ jsx37("div", { className: getClassName26("loader"), children: /* @__PURE__ */ jsx37(Loader, { size: 24 }) })
|
4947
|
+
] })
|
4877
4948
|
]
|
4878
4949
|
}
|
4879
4950
|
);
|
@@ -4898,7 +4969,10 @@ var insertComponent = (componentType, zone, index, {
|
|
4898
4969
|
const insertedData = insertAction(state.data, insertActionData, config);
|
4899
4970
|
dispatch(__spreadProps(__spreadValues({}, insertActionData), {
|
4900
4971
|
// Dispatch insert rather set, as user's may rely on this via onAction
|
4901
|
-
|
4972
|
+
// We must always record history here so the insert is added to user history
|
4973
|
+
// If the user has defined a resolveData method, they will end up with 2 history
|
4974
|
+
// entries on insert - one for the initial insert, and one when the data resolves
|
4975
|
+
recordHistory: true
|
4902
4976
|
}));
|
4903
4977
|
const itemSelector = {
|
4904
4978
|
index,
|
@@ -4923,7 +4997,8 @@ var loadOverrides = ({
|
|
4923
4997
|
}) => {
|
4924
4998
|
const collected = __spreadValues({}, overrides);
|
4925
4999
|
plugins == null ? void 0 : plugins.forEach((plugin) => {
|
4926
|
-
Object.keys(plugin.overrides).forEach((
|
5000
|
+
Object.keys(plugin.overrides).forEach((_overridesType) => {
|
5001
|
+
const overridesType = _overridesType;
|
4927
5002
|
if (overridesType === "fieldTypes") {
|
4928
5003
|
const fieldTypes = plugin.overrides.fieldTypes;
|
4929
5004
|
Object.keys(fieldTypes).forEach((fieldType) => {
|
@@ -4963,7 +5038,7 @@ var getLayoutClassName = get_class_name_factory_default("PuckLayout", styles_mod
|
|
4963
5038
|
function Puck({
|
4964
5039
|
children,
|
4965
5040
|
config,
|
4966
|
-
data: initialData
|
5041
|
+
data: initialData,
|
4967
5042
|
ui: initialUi,
|
4968
5043
|
onChange,
|
4969
5044
|
onPublish,
|
@@ -4980,15 +5055,11 @@ function Puck({
|
|
4980
5055
|
enabled: true
|
4981
5056
|
},
|
4982
5057
|
dnd,
|
4983
|
-
initialHistory
|
5058
|
+
initialHistory: _initialHistory
|
4984
5059
|
}) {
|
4985
5060
|
var _a;
|
4986
|
-
const
|
4987
|
-
|
4988
|
-
() => createReducer({ config, record: historyStore.record, onAction })
|
4989
|
-
);
|
4990
|
-
const [initialAppState] = useState20(() => {
|
4991
|
-
var _a2, _b, _c, _d, _e, _f, _g;
|
5061
|
+
const [generatedAppState] = useState20(() => {
|
5062
|
+
var _a2, _b, _c, _d, _e, _f, _g, _h, _i;
|
4992
5063
|
const initial = __spreadValues(__spreadValues({}, defaultAppState.ui), initialUi);
|
4993
5064
|
let clientUiState = {};
|
4994
5065
|
if (typeof window !== "undefined") {
|
@@ -5008,20 +5079,20 @@ function Puck({
|
|
5008
5079
|
clientUiState = {
|
5009
5080
|
viewports: __spreadProps(__spreadValues({}, initial.viewports), {
|
5010
5081
|
current: __spreadProps(__spreadValues({}, initial.viewports.current), {
|
5011
|
-
height: ((_b = (_a2 = initialUi == null ? void 0 : initialUi.viewports) == null ? void 0 : _a2.current) == null ? void 0 : _b.height) || viewports[closestViewport].height || "auto",
|
5012
|
-
width: ((
|
5082
|
+
height: ((_b = (_a2 = initialUi == null ? void 0 : initialUi.viewports) == null ? void 0 : _a2.current) == null ? void 0 : _b.height) || ((_c = viewports[closestViewport]) == null ? void 0 : _c.height) || "auto",
|
5083
|
+
width: ((_e = (_d = initialUi == null ? void 0 : initialUi.viewports) == null ? void 0 : _d.current) == null ? void 0 : _e.width) || ((_f = viewports[closestViewport]) == null ? void 0 : _f.width)
|
5013
5084
|
})
|
5014
5085
|
})
|
5015
5086
|
};
|
5016
5087
|
}
|
5017
5088
|
}
|
5018
|
-
if (Object.keys((initialData == null ? void 0 : initialData.root) || {}).length > 0 && !((
|
5089
|
+
if (Object.keys((initialData == null ? void 0 : initialData.root) || {}).length > 0 && !((_g = initialData == null ? void 0 : initialData.root) == null ? void 0 : _g.props)) {
|
5019
5090
|
console.error(
|
5020
5091
|
"Warning: Defining props on `root` is deprecated. Please use `root.props`, or republish this page to migrate automatically."
|
5021
5092
|
);
|
5022
5093
|
}
|
5023
|
-
const rootProps2 = ((
|
5024
|
-
const defaultedRootProps = __spreadValues(__spreadValues({}, (
|
5094
|
+
const rootProps2 = ((_h = initialData == null ? void 0 : initialData.root) == null ? void 0 : _h.props) || (initialData == null ? void 0 : initialData.root) || {};
|
5095
|
+
const defaultedRootProps = __spreadValues(__spreadValues({}, (_i = config.root) == null ? void 0 : _i.defaultProps), rootProps2);
|
5025
5096
|
return __spreadProps(__spreadValues({}, defaultAppState), {
|
5026
5097
|
data: __spreadProps(__spreadValues({}, initialData), {
|
5027
5098
|
root: __spreadProps(__spreadValues({}, initialData == null ? void 0 : initialData.root), { props: defaultedRootProps }),
|
@@ -5045,6 +5116,27 @@ function Puck({
|
|
5045
5116
|
})
|
5046
5117
|
});
|
5047
5118
|
});
|
5119
|
+
const { appendData = true } = _initialHistory || {};
|
5120
|
+
const histories = [
|
5121
|
+
...(_initialHistory == null ? void 0 : _initialHistory.histories) || [],
|
5122
|
+
...appendData ? [{ state: generatedAppState }] : []
|
5123
|
+
].map((history2) => __spreadProps(__spreadValues({}, history2), {
|
5124
|
+
// Inject default data to enable partial history injections
|
5125
|
+
state: __spreadValues(__spreadValues({}, generatedAppState), history2.state)
|
5126
|
+
}));
|
5127
|
+
const initialHistoryIndex = (_initialHistory == null ? void 0 : _initialHistory.index) || histories.length - 1;
|
5128
|
+
const initialAppState = histories[initialHistoryIndex].state;
|
5129
|
+
const historyStore = useHistoryStore({
|
5130
|
+
histories,
|
5131
|
+
index: initialHistoryIndex
|
5132
|
+
});
|
5133
|
+
const [reducer] = useState20(
|
5134
|
+
() => createReducer({
|
5135
|
+
config,
|
5136
|
+
record: historyStore.record,
|
5137
|
+
onAction
|
5138
|
+
})
|
5139
|
+
);
|
5048
5140
|
const [appState, dispatch] = useReducer(
|
5049
5141
|
reducer,
|
5050
5142
|
flushZones(initialAppState)
|
@@ -5313,7 +5405,7 @@ function Puck({
|
|
5313
5405
|
}
|
5314
5406
|
)
|
5315
5407
|
] }),
|
5316
|
-
/* @__PURE__ */ jsx38("div", { className: getLayoutClassName("headerTitle"), children: /* @__PURE__ */ jsxs21(Heading, { rank: 2, size: "xs", children: [
|
5408
|
+
/* @__PURE__ */ jsx38("div", { className: getLayoutClassName("headerTitle"), children: /* @__PURE__ */ jsxs21(Heading, { rank: "2", size: "xs", children: [
|
5317
5409
|
headerTitle || rootProps.title || "Page",
|
5318
5410
|
headerPath && /* @__PURE__ */ jsxs21(Fragment19, { children: [
|
5319
5411
|
" ",
|
@@ -5341,7 +5433,6 @@ function Puck({
|
|
5341
5433
|
MenuBar,
|
5342
5434
|
{
|
5343
5435
|
appState,
|
5344
|
-
data,
|
5345
5436
|
dispatch,
|
5346
5437
|
onPublish,
|
5347
5438
|
menuOpen,
|
@@ -5397,10 +5488,7 @@ Puck.Preview = Preview;
|
|
5397
5488
|
// components/Render/index.tsx
|
5398
5489
|
init_react_import();
|
5399
5490
|
import { jsx as jsx39 } from "react/jsx-runtime";
|
5400
|
-
function Render({
|
5401
|
-
config,
|
5402
|
-
data
|
5403
|
-
}) {
|
5491
|
+
function Render({ config, data }) {
|
5404
5492
|
var _a;
|
5405
5493
|
const defaultedData = __spreadProps(__spreadValues({}, data), {
|
5406
5494
|
root: data.root || {},
|
@@ -5580,6 +5668,7 @@ export {
|
|
5580
5668
|
Render,
|
5581
5669
|
dropZoneContext,
|
5582
5670
|
migrate,
|
5671
|
+
overrideKeys,
|
5583
5672
|
resolveAllData,
|
5584
5673
|
transformProps,
|
5585
5674
|
usePuck
|