@measured/puck 0.18.0-canary.007a413 → 0.18.0-canary.00f3e0f
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/README.md +3 -3
- package/dist/index.css +44 -47
- package/dist/index.d.mts +5 -2
- package/dist/index.d.ts +5 -2
- package/dist/index.js +231 -151
- package/dist/index.mjs +222 -142
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
@@ -205,7 +205,7 @@ init_react_import();
|
|
205
205
|
|
206
206
|
// css-module:/home/runner/work/puck/puck/packages/core/components/AutoField/styles.module.css#css-module
|
207
207
|
init_react_import();
|
208
|
-
var styles_module_default2 = { "InputWrapper": "
|
208
|
+
var styles_module_default2 = { "InputWrapper": "_InputWrapper_1h1p1_1", "Input-label": "_Input-label_1h1p1_5", "Input-labelIcon": "_Input-labelIcon_1h1p1_14", "Input-disabledIcon": "_Input-disabledIcon_1h1p1_21", "Input-input": "_Input-input_1h1p1_26", "Input": "_Input_1h1p1_1", "Input--readOnly": "_Input--readOnly_1h1p1_70", "Input-radioGroupItems": "_Input-radioGroupItems_1h1p1_81", "Input-radio": "_Input-radio_1h1p1_81", "Input-radioInner": "_Input-radioInner_1h1p1_98", "Input-radioInput": "_Input-radioInput_1h1p1_143" };
|
209
209
|
|
210
210
|
// components/AutoField/index.tsx
|
211
211
|
import {
|
@@ -1504,12 +1504,13 @@ var DefaultField = ({
|
|
1504
1504
|
field,
|
1505
1505
|
onChange,
|
1506
1506
|
readOnly,
|
1507
|
-
value,
|
1507
|
+
value: _value,
|
1508
1508
|
name,
|
1509
1509
|
label,
|
1510
1510
|
Label: Label2,
|
1511
1511
|
id
|
1512
1512
|
}) => {
|
1513
|
+
const value = _value;
|
1513
1514
|
return /* @__PURE__ */ jsx9(
|
1514
1515
|
Label2,
|
1515
1516
|
{
|
@@ -1527,7 +1528,7 @@ var DefaultField = ({
|
|
1527
1528
|
type: field.type,
|
1528
1529
|
title: label || name,
|
1529
1530
|
name,
|
1530
|
-
value:
|
1531
|
+
value: (value == null ? void 0 : value.toString) ? value.toString() : "",
|
1531
1532
|
onChange: (e) => {
|
1532
1533
|
if (field.type === "number") {
|
1533
1534
|
const numberValue = Number(e.currentTarget.value);
|
@@ -2436,7 +2437,7 @@ import {
|
|
2436
2437
|
useContext as useContext7,
|
2437
2438
|
useEffect as useEffect15,
|
2438
2439
|
useId,
|
2439
|
-
useRef as
|
2440
|
+
useRef as useRef3,
|
2440
2441
|
useState as useState17
|
2441
2442
|
} from "react";
|
2442
2443
|
import { AutoScroller, defaultPreset } from "@dnd-kit/dom";
|
@@ -2449,7 +2450,7 @@ import {
|
|
2449
2450
|
useContext as useContext6,
|
2450
2451
|
useEffect as useEffect14,
|
2451
2452
|
useMemo as useMemo8,
|
2452
|
-
useRef as
|
2453
|
+
useRef as useRef2
|
2453
2454
|
} from "react";
|
2454
2455
|
|
2455
2456
|
// components/DraggableComponent/index.tsx
|
@@ -2459,7 +2460,7 @@ import {
|
|
2459
2460
|
useContext as useContext5,
|
2460
2461
|
useEffect as useEffect10,
|
2461
2462
|
useMemo as useMemo7,
|
2462
|
-
useRef
|
2463
|
+
useRef,
|
2463
2464
|
useState as useState13
|
2464
2465
|
} from "react";
|
2465
2466
|
|
@@ -3047,7 +3048,7 @@ var DraggableComponent = ({
|
|
3047
3048
|
}
|
3048
3049
|
});
|
3049
3050
|
const thisIsDragging = status === "dragging";
|
3050
|
-
const ref =
|
3051
|
+
const ref = useRef(null);
|
3051
3052
|
const refSetter = useCallback7(
|
3052
3053
|
(el) => {
|
3053
3054
|
sortableRef(el);
|
@@ -3098,13 +3099,19 @@ var DraggableComponent = ({
|
|
3098
3099
|
}
|
3099
3100
|
}, [ref.current]);
|
3100
3101
|
useEffect10(() => {
|
3101
|
-
|
3102
|
-
|
3102
|
+
ctx == null ? void 0 : ctx.registerPath(
|
3103
|
+
id,
|
3104
|
+
{
|
3103
3105
|
index,
|
3104
3106
|
zone: zoneCompound
|
3105
|
-
}
|
3106
|
-
|
3107
|
-
|
3107
|
+
},
|
3108
|
+
componentType
|
3109
|
+
);
|
3110
|
+
return () => {
|
3111
|
+
var _a;
|
3112
|
+
(_a = ctx == null ? void 0 : ctx.unregisterPath) == null ? void 0 : _a.call(ctx, id);
|
3113
|
+
};
|
3114
|
+
}, [id, zoneCompound, index, componentType]);
|
3108
3115
|
const CustomActionBar = useMemo7(
|
3109
3116
|
() => overrides.actionBar || DefaultActionBar,
|
3110
3117
|
[overrides.actionBar]
|
@@ -3424,9 +3431,20 @@ var useContentWithPreview = (content, zoneCompound) => {
|
|
3424
3431
|
};
|
3425
3432
|
}
|
3426
3433
|
);
|
3434
|
+
const {
|
3435
|
+
state: {
|
3436
|
+
ui: { isDragging }
|
3437
|
+
}
|
3438
|
+
} = useAppContext();
|
3427
3439
|
const [contentWithPreview, setContentWithPreview] = useState15(content);
|
3440
|
+
const [localPreview, setLocalPreview] = useState15(
|
3441
|
+
preview
|
3442
|
+
);
|
3428
3443
|
const updateContent = useRenderedCallback(
|
3429
|
-
(content2, preview2) => {
|
3444
|
+
(content2, preview2, isDragging2) => {
|
3445
|
+
if (isDragging2 && !previewExists) {
|
3446
|
+
return;
|
3447
|
+
}
|
3430
3448
|
if (preview2) {
|
3431
3449
|
if (preview2.type === "insert") {
|
3432
3450
|
setContentWithPreview(
|
@@ -3456,13 +3474,14 @@ var useContentWithPreview = (content, zoneCompound) => {
|
|
3456
3474
|
previewExists ? content2.filter((item) => item.props.id !== draggedItemId) : content2
|
3457
3475
|
);
|
3458
3476
|
}
|
3477
|
+
setLocalPreview(preview2);
|
3459
3478
|
},
|
3460
3479
|
[draggedItemId, previewExists]
|
3461
3480
|
);
|
3462
3481
|
useEffect12(() => {
|
3463
|
-
updateContent(content, preview);
|
3464
|
-
}, [content, preview]);
|
3465
|
-
return contentWithPreview;
|
3482
|
+
updateContent(content, preview, isDragging);
|
3483
|
+
}, [content, preview, isDragging]);
|
3484
|
+
return [contentWithPreview, localPreview];
|
3466
3485
|
};
|
3467
3486
|
|
3468
3487
|
// components/DropZone/lib/use-drag-axis.ts
|
@@ -3506,6 +3525,7 @@ import { Fragment as Fragment6, jsx as jsx22, jsxs as jsxs10 } from "react/jsx-r
|
|
3506
3525
|
var getClassName17 = get_class_name_factory_default("DropZone", styles_module_default12);
|
3507
3526
|
var getRandomColor = () => `#${Math.floor(Math.random() * 16777215).toString(16)}`;
|
3508
3527
|
var RENDER_DEBUG = false;
|
3528
|
+
var DropZoneEditPure = (props) => /* @__PURE__ */ jsx22(DropZoneEdit, __spreadValues({}, props));
|
3509
3529
|
var DropZoneEdit = forwardRef3(
|
3510
3530
|
function DropZoneEditInternal({
|
3511
3531
|
zone,
|
@@ -3541,8 +3561,7 @@ var DropZoneEdit = forwardRef3(
|
|
3541
3561
|
isDeepestZone,
|
3542
3562
|
inNextDeepestArea,
|
3543
3563
|
draggedComponentType,
|
3544
|
-
userIsDragging
|
3545
|
-
preview
|
3564
|
+
userIsDragging
|
3546
3565
|
} = useContextStore(ZoneStoreContext, (s) => {
|
3547
3566
|
var _a, _b, _c;
|
3548
3567
|
return {
|
@@ -3550,8 +3569,7 @@ var DropZoneEdit = forwardRef3(
|
|
3550
3569
|
inNextDeepestArea: s.nextAreaDepthIndex[areaId || ""],
|
3551
3570
|
draggedItemId: (_b = s.draggedItem) == null ? void 0 : _b.id,
|
3552
3571
|
draggedComponentType: (_c = s.draggedItem) == null ? void 0 : _c.data.componentType,
|
3553
|
-
userIsDragging: !!s.draggedItem
|
3554
|
-
preview: s.previewIndex[zoneCompound]
|
3572
|
+
userIsDragging: !!s.draggedItem
|
3555
3573
|
};
|
3556
3574
|
});
|
3557
3575
|
const { itemSelector } = appContext2.state.ui;
|
@@ -3576,7 +3594,7 @@ var DropZoneEdit = forwardRef3(
|
|
3576
3594
|
}
|
3577
3595
|
return data.content || [];
|
3578
3596
|
}, [data, zoneCompound]);
|
3579
|
-
const ref =
|
3597
|
+
const ref = useRef2(null);
|
3580
3598
|
const acceptsTarget = useCallback10(
|
3581
3599
|
(componentType) => {
|
3582
3600
|
if (!componentType) {
|
@@ -3617,7 +3635,10 @@ var DropZoneEdit = forwardRef3(
|
|
3617
3635
|
if (isEnabled) {
|
3618
3636
|
isEnabled = acceptsTarget(draggedComponentType);
|
3619
3637
|
}
|
3620
|
-
const contentWithPreview = useContentWithPreview(
|
3638
|
+
const [contentWithPreview, preview] = useContentWithPreview(
|
3639
|
+
content,
|
3640
|
+
zoneCompound
|
3641
|
+
);
|
3621
3642
|
const isDropEnabled = isEnabled && (preview ? contentWithPreview.length === 1 : contentWithPreview.length === 0);
|
3622
3643
|
const droppableConfig = {
|
3623
3644
|
id: zoneCompound,
|
@@ -3659,16 +3680,15 @@ var DropZoneEdit = forwardRef3(
|
|
3659
3680
|
},
|
3660
3681
|
"data-testid": `dropzone:${zoneCompound}`,
|
3661
3682
|
"data-puck-dropzone": zoneCompound,
|
3662
|
-
"data-puck-dnd": zoneCompound,
|
3663
3683
|
style: __spreadProps(__spreadValues({}, style), {
|
3664
3684
|
"--min-empty-height": `${minEmptyHeight}px`,
|
3665
|
-
backgroundColor: RENDER_DEBUG ? getRandomColor() : void 0
|
3685
|
+
backgroundColor: RENDER_DEBUG ? getRandomColor() : style == null ? void 0 : style.backgroundColor
|
3666
3686
|
}),
|
3667
3687
|
children: contentWithPreview.map((item, i) => {
|
3668
|
-
var _a, _b, _c, _d, _e;
|
3688
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
3669
3689
|
const componentId = item.props.id;
|
3670
3690
|
const puckProps = {
|
3671
|
-
renderDropZone:
|
3691
|
+
renderDropZone: DropZoneEditPure,
|
3672
3692
|
isEditing: true,
|
3673
3693
|
dragRef: null
|
3674
3694
|
};
|
@@ -3685,13 +3705,13 @@ var DropZoneEdit = forwardRef3(
|
|
3685
3705
|
const componentConfig = config.components[item.type];
|
3686
3706
|
let componentType = item.type;
|
3687
3707
|
let label = (_b = componentConfig == null ? void 0 : componentConfig["label"]) != null ? _b : item.type.toString();
|
3688
|
-
if (item.type === "preview"
|
3708
|
+
if (item.type === "preview") {
|
3689
3709
|
let Preview4 = function() {
|
3690
3710
|
return /* @__PURE__ */ jsx22(DrawerItemInner, { name: label, children: appContext2.overrides.componentItem });
|
3691
3711
|
};
|
3692
3712
|
var Preview3 = Preview4;
|
3693
|
-
componentType = preview.componentType;
|
3694
|
-
label = (
|
3713
|
+
componentType = (_c = preview == null ? void 0 : preview.componentType) != null ? _c : "__preview";
|
3714
|
+
label = (_f = (_e = (_d = config.components[componentType]) == null ? void 0 : _d.label) != null ? _e : componentType) != null ? _f : "Preview";
|
3695
3715
|
Render2 = Preview4;
|
3696
3716
|
}
|
3697
3717
|
return /* @__PURE__ */ jsx22(
|
@@ -3706,7 +3726,7 @@ var DropZoneEdit = forwardRef3(
|
|
3706
3726
|
zoneCompound,
|
3707
3727
|
depth: depth + 1,
|
3708
3728
|
index: i,
|
3709
|
-
isLoading: ((
|
3729
|
+
isLoading: ((_g = appContext2.componentState[componentId]) == null ? void 0 : _g.loadingCount) > 0,
|
3710
3730
|
isSelected,
|
3711
3731
|
label,
|
3712
3732
|
isEnabled,
|
@@ -3731,6 +3751,7 @@ var DropZoneEdit = forwardRef3(
|
|
3731
3751
|
);
|
3732
3752
|
}
|
3733
3753
|
);
|
3754
|
+
var DropZoneRenderPure = (props) => /* @__PURE__ */ jsx22(DropZoneRender, __spreadValues({}, props));
|
3734
3755
|
var DropZoneRender = forwardRef3(
|
3735
3756
|
function DropZoneRenderInternal({ className, style, zone }, ref) {
|
3736
3757
|
const ctx = useContext6(dropZoneContext);
|
@@ -3771,7 +3792,7 @@ var DropZoneRender = forwardRef3(
|
|
3771
3792
|
Component.render,
|
3772
3793
|
__spreadProps(__spreadValues({}, item.props), {
|
3773
3794
|
puck: {
|
3774
|
-
renderDropZone:
|
3795
|
+
renderDropZone: DropZoneRenderPure
|
3775
3796
|
}
|
3776
3797
|
})
|
3777
3798
|
)
|
@@ -3940,6 +3961,13 @@ var getPointerCollisions = (position, manager) => {
|
|
3940
3961
|
if (elements) {
|
3941
3962
|
for (let i = 0; i < elements.length; i++) {
|
3942
3963
|
const element = elements[i];
|
3964
|
+
const dropzoneId = element.getAttribute("data-puck-dropzone");
|
3965
|
+
if (dropzoneId) {
|
3966
|
+
const droppable = manager.registry.droppables.get(dropzoneId);
|
3967
|
+
if (droppable) {
|
3968
|
+
candidates.push(droppable);
|
3969
|
+
}
|
3970
|
+
}
|
3943
3971
|
const id = element.getAttribute("data-puck-dnd");
|
3944
3972
|
if (id) {
|
3945
3973
|
const droppable = manager.registry.droppables.get(id);
|
@@ -4348,6 +4376,11 @@ var reduceUi = (ui, action) => {
|
|
4348
4376
|
itemSelector: { index: action.sourceIndex + 1, zone: action.sourceZone }
|
4349
4377
|
});
|
4350
4378
|
}
|
4379
|
+
if (action.type === "remove") {
|
4380
|
+
return __spreadProps(__spreadValues({}, ui), {
|
4381
|
+
itemSelector: null
|
4382
|
+
});
|
4383
|
+
}
|
4351
4384
|
return ui;
|
4352
4385
|
};
|
4353
4386
|
|
@@ -4727,7 +4760,7 @@ function useDragListener(type, fn, deps = []) {
|
|
4727
4760
|
}
|
4728
4761
|
var AREA_CHANGE_DEBOUNCE_MS = 100;
|
4729
4762
|
var useTempDisableFallback = (timeout3) => {
|
4730
|
-
const lastFallbackDisable =
|
4763
|
+
const lastFallbackDisable = useRef3(null);
|
4731
4764
|
return useCallback11((manager) => {
|
4732
4765
|
collisionStore.setState({ fallbackEnabled: false });
|
4733
4766
|
const fallbackId = generateId();
|
@@ -4747,7 +4780,7 @@ var DragDropContextClient = ({
|
|
4747
4780
|
const { state, config, dispatch, resolveData } = useAppContext();
|
4748
4781
|
const id = useId();
|
4749
4782
|
const { data } = state;
|
4750
|
-
const debouncedParamsRef =
|
4783
|
+
const debouncedParamsRef = useRef3(null);
|
4751
4784
|
const tempDisableFallback = useTempDisableFallback(100);
|
4752
4785
|
const [zoneStore] = useState17(
|
4753
4786
|
() => createStore3(() => ({
|
@@ -4886,30 +4919,36 @@ var DragDropContextClient = ({
|
|
4886
4919
|
]);
|
4887
4920
|
const [dragListeners, setDragListeners] = useState17({});
|
4888
4921
|
const [pathData, setPathData] = useState17();
|
4889
|
-
const dragMode =
|
4922
|
+
const dragMode = useRef3(null);
|
4890
4923
|
const registerPath = useCallback11(
|
4891
|
-
(selector) => {
|
4892
|
-
const item = getItem(selector, data);
|
4893
|
-
if (!item) {
|
4894
|
-
return;
|
4895
|
-
}
|
4924
|
+
(id2, selector, label) => {
|
4896
4925
|
const [area] = getZoneId(selector.zone);
|
4897
4926
|
setPathData((latestPathData = {}) => {
|
4898
4927
|
const parentPathData = latestPathData[area] || { path: [] };
|
4899
4928
|
return __spreadProps(__spreadValues({}, latestPathData), {
|
4900
|
-
[
|
4929
|
+
[id2]: {
|
4901
4930
|
path: [
|
4902
4931
|
...parentPathData.path,
|
4903
4932
|
...selector.zone ? [selector.zone] : []
|
4904
4933
|
],
|
4905
|
-
label
|
4934
|
+
label
|
4906
4935
|
}
|
4907
4936
|
});
|
4908
4937
|
});
|
4909
4938
|
},
|
4910
4939
|
[data, setPathData]
|
4911
4940
|
);
|
4912
|
-
const
|
4941
|
+
const unregisterPath = useCallback11(
|
4942
|
+
(id2) => {
|
4943
|
+
setPathData((latestPathData = {}) => {
|
4944
|
+
const newPathData = __spreadValues({}, latestPathData);
|
4945
|
+
delete newPathData[id2];
|
4946
|
+
return newPathData;
|
4947
|
+
});
|
4948
|
+
},
|
4949
|
+
[data, setPathData]
|
4950
|
+
);
|
4951
|
+
const initialSelector = useRef3(void 0);
|
4913
4952
|
return /* @__PURE__ */ jsx23("div", { id, children: /* @__PURE__ */ jsx23(
|
4914
4953
|
dragListenerContext.Provider,
|
4915
4954
|
{
|
@@ -5105,6 +5144,7 @@ var DragDropContextClient = ({
|
|
5105
5144
|
areaId: "root",
|
5106
5145
|
depth: 0,
|
5107
5146
|
registerPath,
|
5147
|
+
unregisterPath,
|
5108
5148
|
pathData,
|
5109
5149
|
path: []
|
5110
5150
|
},
|
@@ -5254,9 +5294,9 @@ Drawer.Item = DrawerItem;
|
|
5254
5294
|
// components/Puck/index.tsx
|
5255
5295
|
init_react_import();
|
5256
5296
|
import {
|
5257
|
-
useCallback as
|
5258
|
-
useEffect as
|
5259
|
-
useMemo as
|
5297
|
+
useCallback as useCallback18,
|
5298
|
+
useEffect as useEffect24,
|
5299
|
+
useMemo as useMemo19,
|
5260
5300
|
useReducer,
|
5261
5301
|
useState as useState26
|
5262
5302
|
} from "react";
|
@@ -5452,36 +5492,61 @@ init_react_import();
|
|
5452
5492
|
|
5453
5493
|
// css-module:/home/runner/work/puck/puck/packages/core/components/Puck/components/Fields/styles.module.css#css-module
|
5454
5494
|
init_react_import();
|
5455
|
-
var styles_module_default16 = { "PuckFields": "
|
5495
|
+
var styles_module_default16 = { "PuckFields": "_PuckFields_10bh7_1", "PuckFields--isLoading": "_PuckFields--isLoading_10bh7_6", "PuckFields-loadingOverlay": "_PuckFields-loadingOverlay_10bh7_10", "PuckFields-loadingOverlayInner": "_PuckFields-loadingOverlayInner_10bh7_25", "PuckFields-field": "_PuckFields-field_10bh7_32", "PuckFields--wrapFields": "_PuckFields--wrapFields_10bh7_36" };
|
5456
5496
|
|
5457
5497
|
// components/Puck/components/Fields/index.tsx
|
5458
|
-
import {
|
5498
|
+
import { useMemo as useMemo12 } from "react";
|
5499
|
+
|
5500
|
+
// lib/use-resolved-fields.ts
|
5501
|
+
init_react_import();
|
5502
|
+
import { useCallback as useCallback13, useEffect as useEffect17, useMemo as useMemo11, useRef as useRef5, useState as useState19 } from "react";
|
5459
5503
|
|
5460
5504
|
// lib/use-parent.ts
|
5461
5505
|
init_react_import();
|
5462
|
-
import { useContext as useContext9 } from "react";
|
5463
|
-
var
|
5506
|
+
import { useCallback as useCallback12, useContext as useContext9 } from "react";
|
5507
|
+
var getParent = (itemSelector, pathData, data) => {
|
5464
5508
|
var _a;
|
5465
|
-
|
5466
|
-
const
|
5467
|
-
const
|
5468
|
-
const breadcrumbs = convertPathDataToBreadcrumbs(item, pathData, state.data);
|
5509
|
+
if (!itemSelector) return null;
|
5510
|
+
const item = getItem(itemSelector, data);
|
5511
|
+
const breadcrumbs = convertPathDataToBreadcrumbs(item, pathData, data);
|
5469
5512
|
const lastItem = breadcrumbs[breadcrumbs.length - 1];
|
5470
|
-
const parent = (lastItem == null ? void 0 : lastItem.selector) ? (_a = getItem(lastItem.selector,
|
5513
|
+
const parent = (lastItem == null ? void 0 : lastItem.selector) ? (_a = getItem(lastItem.selector, data)) != null ? _a : null : null;
|
5471
5514
|
return parent || null;
|
5472
5515
|
};
|
5516
|
+
var useGetParent = () => {
|
5517
|
+
const { state } = useAppContext();
|
5518
|
+
const { pathData } = useContext9(dropZoneContext) || {};
|
5519
|
+
return useCallback12(
|
5520
|
+
() => getParent(state.ui.itemSelector, pathData, state.data),
|
5521
|
+
[state.ui.itemSelector, pathData, state.data]
|
5522
|
+
);
|
5523
|
+
};
|
5524
|
+
var useParent = () => {
|
5525
|
+
return useGetParent()();
|
5526
|
+
};
|
5473
5527
|
|
5474
|
-
//
|
5475
|
-
|
5476
|
-
|
5528
|
+
// lib/use-on-value-change.ts
|
5529
|
+
init_react_import();
|
5530
|
+
import { useRef as useRef4, useEffect as useEffect16 } from "react";
|
5531
|
+
function useOnValueChange(value, onChange, compare = Object.is, deps = []) {
|
5532
|
+
const tracked = useRef4(value);
|
5533
|
+
useEffect16(() => {
|
5534
|
+
const oldValue = tracked.current;
|
5535
|
+
if (!compare(value, oldValue)) {
|
5536
|
+
tracked.current = value;
|
5537
|
+
onChange(value, oldValue);
|
5538
|
+
}
|
5539
|
+
}, [onChange, compare, value, ...deps]);
|
5540
|
+
}
|
5541
|
+
|
5542
|
+
// lib/selector-is.ts
|
5543
|
+
init_react_import();
|
5544
|
+
var selectorIs = (a, b) => (a == null ? void 0 : a.zone) === (b == null ? void 0 : b.zone) && (a == null ? void 0 : a.index) === (b == null ? void 0 : b.index);
|
5545
|
+
|
5546
|
+
// lib/use-resolved-fields.ts
|
5477
5547
|
var defaultPageFields = {
|
5478
5548
|
title: { type: "text" }
|
5479
5549
|
};
|
5480
|
-
var DefaultFields = ({
|
5481
|
-
children
|
5482
|
-
}) => {
|
5483
|
-
return /* @__PURE__ */ jsx27(Fragment8, { children });
|
5484
|
-
};
|
5485
5550
|
var useResolvedFields = () => {
|
5486
5551
|
var _a, _b;
|
5487
5552
|
const { selectedItem, state, config } = useAppContext();
|
@@ -5497,12 +5562,13 @@ var useResolvedFields = () => {
|
|
5497
5562
|
const [lastSelectedData, setLastSelectedData] = useState19({});
|
5498
5563
|
const [resolvedFields, setResolvedFields] = useState19(defaultFields);
|
5499
5564
|
const [fieldsLoading, setFieldsLoading] = useState19(false);
|
5565
|
+
const lastFields = useRef5(defaultFields);
|
5500
5566
|
const defaultResolveFields = (_componentData, _params) => defaultFields;
|
5501
5567
|
const componentData = selectedItem ? selectedItem : { props: rootProps, readOnly: data.root.readOnly };
|
5502
5568
|
const hasComponentResolver = selectedItem && (componentConfig == null ? void 0 : componentConfig.resolveFields);
|
5503
5569
|
const hasRootResolver = !selectedItem && ((_b = config.root) == null ? void 0 : _b.resolveFields);
|
5504
5570
|
const hasResolver = hasComponentResolver || hasRootResolver;
|
5505
|
-
const resolveFields =
|
5571
|
+
const resolveFields = useCallback13(
|
5506
5572
|
(..._0) => __async(void 0, [..._0], function* (fields = {}) {
|
5507
5573
|
var _a2;
|
5508
5574
|
const lastData = ((_a2 = lastSelectedData.props) == null ? void 0 : _a2.id) === componentData.props.id ? lastSelectedData : null;
|
@@ -5514,7 +5580,7 @@ var useResolvedFields = () => {
|
|
5514
5580
|
{
|
5515
5581
|
changed,
|
5516
5582
|
fields,
|
5517
|
-
lastFields:
|
5583
|
+
lastFields: lastFields.current,
|
5518
5584
|
lastData,
|
5519
5585
|
appState: state,
|
5520
5586
|
parent
|
@@ -5525,7 +5591,7 @@ var useResolvedFields = () => {
|
|
5525
5591
|
return yield config.root.resolveFields(componentData, {
|
5526
5592
|
changed,
|
5527
5593
|
fields,
|
5528
|
-
lastFields:
|
5594
|
+
lastFields: lastFields.current,
|
5529
5595
|
lastData,
|
5530
5596
|
appState: state,
|
5531
5597
|
parent
|
@@ -5534,40 +5600,56 @@ var useResolvedFields = () => {
|
|
5534
5600
|
return defaultResolveFields(componentData, {
|
5535
5601
|
changed,
|
5536
5602
|
fields,
|
5537
|
-
lastFields:
|
5603
|
+
lastFields: lastFields.current,
|
5538
5604
|
lastData
|
5539
5605
|
});
|
5540
5606
|
}),
|
5541
|
-
[data, config, componentData, selectedItem,
|
5607
|
+
[data, config, componentData, selectedItem, state, parent]
|
5542
5608
|
);
|
5543
|
-
const
|
5544
|
-
|
5545
|
-
|
5546
|
-
}, [parent]);
|
5547
|
-
useEffect16(() => {
|
5548
|
-
var _a2;
|
5549
|
-
if (!((_a2 = state.ui.itemSelector) == null ? void 0 : _a2.zone) || hasParent) {
|
5609
|
+
const triggerResolver = useCallback13(() => {
|
5610
|
+
var _a2, _b2;
|
5611
|
+
if (!((_a2 = state.ui.itemSelector) == null ? void 0 : _a2.zone) || ((_b2 = state.ui.itemSelector) == null ? void 0 : _b2.zone) === "default-zone" || parent) {
|
5550
5612
|
if (hasResolver) {
|
5551
5613
|
setFieldsLoading(true);
|
5552
5614
|
resolveFields(defaultFields).then((fields) => {
|
5553
5615
|
setResolvedFields(fields || {});
|
5616
|
+
lastFields.current = fields;
|
5554
5617
|
setFieldsLoading(false);
|
5555
5618
|
});
|
5556
|
-
|
5557
|
-
setResolvedFields(defaultFields);
|
5619
|
+
return;
|
5558
5620
|
}
|
5559
5621
|
}
|
5560
|
-
|
5561
|
-
|
5562
|
-
|
5622
|
+
setResolvedFields(defaultFields);
|
5623
|
+
}, [defaultFields, state.ui.itemSelector, hasResolver, parent]);
|
5624
|
+
useOnValueChange(
|
5563
5625
|
state.ui.itemSelector,
|
5564
|
-
|
5565
|
-
|
5566
|
-
|
5567
|
-
|
5626
|
+
() => {
|
5627
|
+
lastFields.current = defaultFields;
|
5628
|
+
},
|
5629
|
+
selectorIs
|
5630
|
+
);
|
5631
|
+
useOnValueChange(
|
5632
|
+
{ data, parent, itemSelector: state.ui.itemSelector },
|
5633
|
+
() => {
|
5634
|
+
triggerResolver();
|
5635
|
+
},
|
5636
|
+
(a, b) => JSON.stringify(a) === JSON.stringify(b)
|
5637
|
+
);
|
5638
|
+
useEffect17(() => {
|
5639
|
+
triggerResolver();
|
5640
|
+
}, []);
|
5568
5641
|
return [resolvedFields, fieldsLoading];
|
5569
5642
|
};
|
5570
|
-
|
5643
|
+
|
5644
|
+
// components/Puck/components/Fields/index.tsx
|
5645
|
+
import { Fragment as Fragment8, jsx as jsx27, jsxs as jsxs14 } from "react/jsx-runtime";
|
5646
|
+
var getClassName21 = get_class_name_factory_default("PuckFields", styles_module_default16);
|
5647
|
+
var DefaultFields = ({
|
5648
|
+
children
|
5649
|
+
}) => {
|
5650
|
+
return /* @__PURE__ */ jsx27(Fragment8, { children });
|
5651
|
+
};
|
5652
|
+
var Fields = ({ wrapFields = true }) => {
|
5571
5653
|
var _a, _b;
|
5572
5654
|
const {
|
5573
5655
|
selectedItem,
|
@@ -5585,11 +5667,11 @@ var Fields = () => {
|
|
5585
5667
|
const componentResolving = selectedItem ? ((_a = componentState[selectedItem == null ? void 0 : selectedItem.props.id]) == null ? void 0 : _a.loadingCount) > 0 : ((_b = componentState["puck-root"]) == null ? void 0 : _b.loadingCount) > 0;
|
5586
5668
|
const isLoading = fieldsResolving || componentResolving;
|
5587
5669
|
const rootProps = data.root.props || data.root;
|
5588
|
-
const Wrapper =
|
5670
|
+
const Wrapper = useMemo12(() => overrides.fields || DefaultFields, [overrides]);
|
5589
5671
|
return /* @__PURE__ */ jsxs14(
|
5590
5672
|
"form",
|
5591
5673
|
{
|
5592
|
-
className: getClassName21(),
|
5674
|
+
className: getClassName21({ wrapFields }),
|
5593
5675
|
onSubmit: (e) => {
|
5594
5676
|
e.preventDefault();
|
5595
5677
|
},
|
@@ -5665,7 +5747,7 @@ var Fields = () => {
|
|
5665
5747
|
item: selectedItem
|
5666
5748
|
});
|
5667
5749
|
const id = `${selectedItem.props.id}_${field.type}_${fieldName}`;
|
5668
|
-
return /* @__PURE__ */ jsx27(
|
5750
|
+
return /* @__PURE__ */ jsx27("div", { className: getClassName21("field"), children: /* @__PURE__ */ jsx27(
|
5669
5751
|
AutoFieldPrivate,
|
5670
5752
|
{
|
5671
5753
|
field,
|
@@ -5674,16 +5756,15 @@ var Fields = () => {
|
|
5674
5756
|
readOnly: !edit || readOnly[fieldName],
|
5675
5757
|
value: selectedItem.props[fieldName],
|
5676
5758
|
onChange
|
5677
|
-
}
|
5678
|
-
|
5679
|
-
);
|
5759
|
+
}
|
5760
|
+
) }, id);
|
5680
5761
|
} else {
|
5681
5762
|
const readOnly = data.root.readOnly || {};
|
5682
5763
|
const { edit } = getPermissions({
|
5683
5764
|
root: true
|
5684
5765
|
});
|
5685
5766
|
const id = `root_${field.type}_${fieldName}`;
|
5686
|
-
return /* @__PURE__ */ jsx27(
|
5767
|
+
return /* @__PURE__ */ jsx27("div", { className: getClassName21("field"), children: /* @__PURE__ */ jsx27(
|
5687
5768
|
AutoFieldPrivate,
|
5688
5769
|
{
|
5689
5770
|
field,
|
@@ -5692,9 +5773,8 @@ var Fields = () => {
|
|
5692
5773
|
readOnly: !edit || readOnly[fieldName],
|
5693
5774
|
value: rootProps[fieldName],
|
5694
5775
|
onChange
|
5695
|
-
}
|
5696
|
-
|
5697
|
-
);
|
5776
|
+
}
|
5777
|
+
) }, id);
|
5698
5778
|
}
|
5699
5779
|
}) }),
|
5700
5780
|
isLoading && /* @__PURE__ */ jsx27("div", { className: getClassName21("loadingOverlay"), children: /* @__PURE__ */ jsx27("div", { className: getClassName21("loadingOverlayInner"), children: /* @__PURE__ */ jsx27(Loader, { size: 16 }) }) })
|
@@ -5708,7 +5788,7 @@ init_react_import();
|
|
5708
5788
|
|
5709
5789
|
// lib/use-component-list.tsx
|
5710
5790
|
init_react_import();
|
5711
|
-
import { useEffect as
|
5791
|
+
import { useEffect as useEffect18, useState as useState20 } from "react";
|
5712
5792
|
|
5713
5793
|
// components/ComponentList/index.tsx
|
5714
5794
|
init_react_import();
|
@@ -5776,7 +5856,7 @@ ComponentList.Item = ComponentListItem;
|
|
5776
5856
|
import { jsx as jsx29 } from "react/jsx-runtime";
|
5777
5857
|
var useComponentList = (config, ui) => {
|
5778
5858
|
const [componentList, setComponentList] = useState20();
|
5779
|
-
|
5859
|
+
useEffect18(() => {
|
5780
5860
|
var _a, _b, _c;
|
5781
5861
|
if (Object.keys(ui.componentList).length > 0) {
|
5782
5862
|
const matchedComponents = [];
|
@@ -5845,25 +5925,25 @@ var useComponentList = (config, ui) => {
|
|
5845
5925
|
};
|
5846
5926
|
|
5847
5927
|
// components/Puck/components/Components/index.tsx
|
5848
|
-
import { useMemo as
|
5928
|
+
import { useMemo as useMemo13 } from "react";
|
5849
5929
|
import { jsx as jsx30 } from "react/jsx-runtime";
|
5850
5930
|
var Components = () => {
|
5851
5931
|
const { config, state, overrides } = useAppContext();
|
5852
5932
|
const componentList = useComponentList(config, state.ui);
|
5853
|
-
const Wrapper =
|
5933
|
+
const Wrapper = useMemo13(() => overrides.components || "div", [overrides]);
|
5854
5934
|
return /* @__PURE__ */ jsx30(Wrapper, { children: componentList ? componentList : /* @__PURE__ */ jsx30(ComponentList, { id: "all" }) });
|
5855
5935
|
};
|
5856
5936
|
|
5857
5937
|
// components/Puck/components/Preview/index.tsx
|
5858
5938
|
init_react_import();
|
5859
|
-
import { useCallback as
|
5939
|
+
import { useCallback as useCallback14, useEffect as useEffect20, useRef as useRef7, useMemo as useMemo14 } from "react";
|
5860
5940
|
|
5861
5941
|
// components/AutoFrame/index.tsx
|
5862
5942
|
init_react_import();
|
5863
5943
|
import {
|
5864
5944
|
createContext as createContext5,
|
5865
5945
|
useContext as useContext10,
|
5866
|
-
useEffect as
|
5946
|
+
useEffect as useEffect19,
|
5867
5947
|
useState as useState21
|
5868
5948
|
} from "react";
|
5869
5949
|
import hash from "object-hash";
|
@@ -5911,7 +5991,7 @@ var CopyHostStyles = ({
|
|
5911
5991
|
onStylesLoaded = () => null
|
5912
5992
|
}) => {
|
5913
5993
|
const { document: doc, window: win } = useFrame();
|
5914
|
-
|
5994
|
+
useEffect19(() => {
|
5915
5995
|
if (!win || !doc) {
|
5916
5996
|
return () => {
|
5917
5997
|
};
|
@@ -6091,7 +6171,7 @@ function AutoFrame(_a) {
|
|
6091
6171
|
const [loaded, setLoaded] = useState21(false);
|
6092
6172
|
const [ctx, setCtx] = useState21({});
|
6093
6173
|
const [mountTarget, setMountTarget] = useState21();
|
6094
|
-
|
6174
|
+
useEffect19(() => {
|
6095
6175
|
var _a2;
|
6096
6176
|
if (frameRef.current) {
|
6097
6177
|
setCtx({
|
@@ -6185,7 +6265,7 @@ import { Fragment as Fragment10, jsx as jsx33 } from "react/jsx-runtime";
|
|
6185
6265
|
var getClassName23 = get_class_name_factory_default("PuckPreview", styles_module_default18);
|
6186
6266
|
var useBubbleIframeEvents = (ref) => {
|
6187
6267
|
const { status } = useAppContext();
|
6188
|
-
|
6268
|
+
useEffect20(() => {
|
6189
6269
|
var _a;
|
6190
6270
|
if (ref.current && status === "READY") {
|
6191
6271
|
const iframe = ref.current;
|
@@ -6224,7 +6304,7 @@ var useBubbleIframeEvents = (ref) => {
|
|
6224
6304
|
};
|
6225
6305
|
var Preview2 = ({ id = "puck-preview" }) => {
|
6226
6306
|
const { config, dispatch, state, setStatus, iframe, overrides } = useAppContext();
|
6227
|
-
const Page =
|
6307
|
+
const Page = useCallback14(
|
6228
6308
|
(pageProps) => {
|
6229
6309
|
var _a, _b;
|
6230
6310
|
return ((_a = config.root) == null ? void 0 : _a.render) ? (_b = config.root) == null ? void 0 : _b.render(__spreadValues({
|
@@ -6233,9 +6313,9 @@ var Preview2 = ({ id = "puck-preview" }) => {
|
|
6233
6313
|
},
|
6234
6314
|
[config.root]
|
6235
6315
|
);
|
6236
|
-
const Frame =
|
6316
|
+
const Frame = useMemo14(() => overrides.iframe, [overrides]);
|
6237
6317
|
const rootProps = state.data.root.props || state.data.root;
|
6238
|
-
const ref =
|
6318
|
+
const ref = useRef7(null);
|
6239
6319
|
useBubbleIframeEvents(ref);
|
6240
6320
|
const inner = state.ui.previewMode === "edit" ? /* @__PURE__ */ jsx33(
|
6241
6321
|
Page,
|
@@ -6485,13 +6565,13 @@ var LayerTree = ({
|
|
6485
6565
|
};
|
6486
6566
|
|
6487
6567
|
// components/Puck/components/Outline/index.tsx
|
6488
|
-
import { useCallback as
|
6568
|
+
import { useCallback as useCallback15, useMemo as useMemo15 } from "react";
|
6489
6569
|
import { Fragment as Fragment12, jsx as jsx35, jsxs as jsxs17 } from "react/jsx-runtime";
|
6490
6570
|
var Outline = () => {
|
6491
6571
|
const { dispatch, state, overrides, config } = useAppContext();
|
6492
6572
|
const { data, ui } = state;
|
6493
6573
|
const { itemSelector } = ui;
|
6494
|
-
const setItemSelector =
|
6574
|
+
const setItemSelector = useCallback15(
|
6495
6575
|
(newItemSelector) => {
|
6496
6576
|
dispatch({
|
6497
6577
|
type: "setUi",
|
@@ -6500,7 +6580,7 @@ var Outline = () => {
|
|
6500
6580
|
},
|
6501
6581
|
[]
|
6502
6582
|
);
|
6503
|
-
const Wrapper =
|
6583
|
+
const Wrapper = useMemo15(() => overrides.outline || "div", [overrides]);
|
6504
6584
|
return /* @__PURE__ */ jsx35(Wrapper, { children: /* @__PURE__ */ jsx35(dropZoneContext.Consumer, { children: (ctx) => /* @__PURE__ */ jsxs17(Fragment12, { children: [
|
6505
6585
|
(ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId]) && /* @__PURE__ */ jsx35(
|
6506
6586
|
LayerTree,
|
@@ -6787,16 +6867,16 @@ var getBox = function getBox2(el) {
|
|
6787
6867
|
|
6788
6868
|
// components/Puck/components/Canvas/index.tsx
|
6789
6869
|
import {
|
6790
|
-
useCallback as
|
6791
|
-
useEffect as
|
6792
|
-
useMemo as
|
6793
|
-
useRef as
|
6870
|
+
useCallback as useCallback16,
|
6871
|
+
useEffect as useEffect22,
|
6872
|
+
useMemo as useMemo17,
|
6873
|
+
useRef as useRef8,
|
6794
6874
|
useState as useState24
|
6795
6875
|
} from "react";
|
6796
6876
|
|
6797
6877
|
// components/ViewportControls/index.tsx
|
6798
6878
|
init_react_import();
|
6799
|
-
import { useEffect as
|
6879
|
+
import { useEffect as useEffect21, useMemo as useMemo16, useState as useState23 } from "react";
|
6800
6880
|
|
6801
6881
|
// css-module:/home/runner/work/puck/puck/packages/core/components/ViewportControls/styles.module.css#css-module
|
6802
6882
|
init_react_import();
|
@@ -6820,7 +6900,7 @@ var ViewportButton = ({
|
|
6820
6900
|
}) => {
|
6821
6901
|
const { state } = useAppContext();
|
6822
6902
|
const [isActive, setIsActive] = useState23(false);
|
6823
|
-
|
6903
|
+
useEffect21(() => {
|
6824
6904
|
setIsActive(width === state.ui.viewports.current.width);
|
6825
6905
|
}, [width, state.ui.viewports.current.width]);
|
6826
6906
|
return /* @__PURE__ */ jsx36("span", { className: getClassNameButton({ isActive }), children: /* @__PURE__ */ jsx36(
|
@@ -6856,7 +6936,7 @@ var ViewportControls = ({
|
|
6856
6936
|
const defaultsContainAutoZoom = defaultZoomOptions.find(
|
6857
6937
|
(option) => option.value === autoZoom
|
6858
6938
|
);
|
6859
|
-
const zoomOptions =
|
6939
|
+
const zoomOptions = useMemo16(
|
6860
6940
|
() => [
|
6861
6941
|
...defaultZoomOptions,
|
6862
6942
|
...defaultsContainAutoZoom ? [] : [
|
@@ -6979,17 +7059,17 @@ var Canvas = () => {
|
|
6979
7059
|
const { status, iframe } = useAppContext();
|
6980
7060
|
const { dispatch, state, overrides, setUi, zoomConfig, setZoomConfig } = useAppContext();
|
6981
7061
|
const { ui } = state;
|
6982
|
-
const frameRef =
|
7062
|
+
const frameRef = useRef8(null);
|
6983
7063
|
const [showTransition, setShowTransition] = useState24(false);
|
6984
|
-
const defaultRender =
|
7064
|
+
const defaultRender = useMemo17(() => {
|
6985
7065
|
const PuckDefault = ({ children }) => /* @__PURE__ */ jsx37(Fragment13, { children });
|
6986
7066
|
return PuckDefault;
|
6987
7067
|
}, []);
|
6988
|
-
const CustomPreview =
|
7068
|
+
const CustomPreview = useMemo17(
|
6989
7069
|
() => overrides.preview || defaultRender,
|
6990
7070
|
[overrides]
|
6991
7071
|
);
|
6992
|
-
const getFrameDimensions =
|
7072
|
+
const getFrameDimensions = useCallback16(() => {
|
6993
7073
|
if (frameRef.current) {
|
6994
7074
|
const frame = frameRef.current;
|
6995
7075
|
const box = getBox(frame);
|
@@ -6997,7 +7077,7 @@ var Canvas = () => {
|
|
6997
7077
|
}
|
6998
7078
|
return { width: 0, height: 0 };
|
6999
7079
|
}, [frameRef]);
|
7000
|
-
const resetAutoZoom =
|
7080
|
+
const resetAutoZoom = useCallback16(
|
7001
7081
|
(ui2 = state.ui) => {
|
7002
7082
|
if (frameRef.current) {
|
7003
7083
|
setZoomConfig(
|
@@ -7007,11 +7087,11 @@ var Canvas = () => {
|
|
7007
7087
|
},
|
7008
7088
|
[frameRef, zoomConfig, state.ui]
|
7009
7089
|
);
|
7010
|
-
|
7090
|
+
useEffect22(() => {
|
7011
7091
|
setShowTransition(false);
|
7012
7092
|
resetAutoZoom();
|
7013
7093
|
}, [frameRef, ui.leftSideBarVisible, ui.rightSideBarVisible]);
|
7014
|
-
|
7094
|
+
useEffect22(() => {
|
7015
7095
|
const { height: frameHeight } = getFrameDimensions();
|
7016
7096
|
if (ui.viewports.current.height === "auto") {
|
7017
7097
|
setZoomConfig(__spreadProps(__spreadValues({}, zoomConfig), {
|
@@ -7019,13 +7099,13 @@ var Canvas = () => {
|
|
7019
7099
|
}));
|
7020
7100
|
}
|
7021
7101
|
}, [zoomConfig.zoom]);
|
7022
|
-
|
7102
|
+
useEffect22(() => {
|
7023
7103
|
if (ZOOM_ON_CHANGE) {
|
7024
7104
|
setShowTransition(true);
|
7025
7105
|
resetAutoZoom(ui);
|
7026
7106
|
}
|
7027
7107
|
}, [ui.viewports.current.width]);
|
7028
|
-
|
7108
|
+
useEffect22(() => {
|
7029
7109
|
const cb = () => {
|
7030
7110
|
setShowTransition(false);
|
7031
7111
|
resetAutoZoom();
|
@@ -7036,7 +7116,7 @@ var Canvas = () => {
|
|
7036
7116
|
};
|
7037
7117
|
}, []);
|
7038
7118
|
const [showLoader, setShowLoader] = useState24(false);
|
7039
|
-
|
7119
|
+
useEffect22(() => {
|
7040
7120
|
setTimeout(() => {
|
7041
7121
|
setShowLoader(true);
|
7042
7122
|
}, 500);
|
@@ -7114,7 +7194,7 @@ var Canvas = () => {
|
|
7114
7194
|
|
7115
7195
|
// lib/use-loaded-overrides.ts
|
7116
7196
|
init_react_import();
|
7117
|
-
import { useMemo as
|
7197
|
+
import { useMemo as useMemo18 } from "react";
|
7118
7198
|
|
7119
7199
|
// lib/load-overrides.ts
|
7120
7200
|
init_react_import();
|
@@ -7153,7 +7233,7 @@ var useLoadedOverrides = ({
|
|
7153
7233
|
overrides,
|
7154
7234
|
plugins
|
7155
7235
|
}) => {
|
7156
|
-
return
|
7236
|
+
return useMemo18(() => {
|
7157
7237
|
return loadOverrides({ overrides, plugins });
|
7158
7238
|
}, [plugins, overrides]);
|
7159
7239
|
};
|
@@ -7165,14 +7245,14 @@ var DefaultOverride = ({ children }) => /* @__PURE__ */ jsx38(Fragment14, { chil
|
|
7165
7245
|
|
7166
7246
|
// lib/use-inject-css.ts
|
7167
7247
|
init_react_import();
|
7168
|
-
import { useEffect as
|
7248
|
+
import { useEffect as useEffect23, useState as useState25 } from "react";
|
7169
7249
|
var styles = ``;
|
7170
7250
|
var useInjectStyleSheet = (initialStyles, iframeEnabled) => {
|
7171
7251
|
const [el, setEl] = useState25();
|
7172
|
-
|
7252
|
+
useEffect23(() => {
|
7173
7253
|
setEl(document.createElement("style"));
|
7174
7254
|
}, []);
|
7175
|
-
|
7255
|
+
useEffect23(() => {
|
7176
7256
|
var _a;
|
7177
7257
|
if (!el || typeof window === "undefined") {
|
7178
7258
|
return;
|
@@ -7192,10 +7272,10 @@ var useInjectGlobalCss = (iframeEnabled) => {
|
|
7192
7272
|
|
7193
7273
|
// lib/use-preview-mode-hotkeys.ts
|
7194
7274
|
init_react_import();
|
7195
|
-
import { useCallback as
|
7275
|
+
import { useCallback as useCallback17 } from "react";
|
7196
7276
|
import { useHotkeys as useHotkeys2 } from "react-hotkeys-hook";
|
7197
7277
|
var usePreviewModeHotkeys = (dispatch, iframeEnabled) => {
|
7198
|
-
const toggleInteractive =
|
7278
|
+
const toggleInteractive = useCallback17(() => {
|
7199
7279
|
dispatch({
|
7200
7280
|
type: "setUi",
|
7201
7281
|
ui: (ui) => ({
|
@@ -7340,11 +7420,11 @@ function Puck({
|
|
7340
7420
|
const [menuOpen, setMenuOpen] = useState26(false);
|
7341
7421
|
const { itemSelector, leftSideBarVisible, rightSideBarVisible } = ui;
|
7342
7422
|
const selectedItem = itemSelector ? getItem(itemSelector, data) : null;
|
7343
|
-
|
7423
|
+
useEffect24(() => {
|
7344
7424
|
if (onChange) onChange(data);
|
7345
7425
|
}, [data]);
|
7346
7426
|
const rootProps = data.root.props || data.root;
|
7347
|
-
const toggleSidebars =
|
7427
|
+
const toggleSidebars = useCallback18(
|
7348
7428
|
(sidebar) => {
|
7349
7429
|
const widerViewport = window.matchMedia("(min-width: 638px)").matches;
|
7350
7430
|
const sideBarVisible = sidebar === "left" ? leftSideBarVisible : rightSideBarVisible;
|
@@ -7358,7 +7438,7 @@ function Puck({
|
|
7358
7438
|
},
|
7359
7439
|
[dispatch, leftSideBarVisible, rightSideBarVisible]
|
7360
7440
|
);
|
7361
|
-
|
7441
|
+
useEffect24(() => {
|
7362
7442
|
if (!window.matchMedia("(min-width: 638px)").matches) {
|
7363
7443
|
dispatch({
|
7364
7444
|
type: "setUi",
|
@@ -7381,7 +7461,7 @@ function Puck({
|
|
7381
7461
|
window.removeEventListener("resize", handleResize);
|
7382
7462
|
};
|
7383
7463
|
}, []);
|
7384
|
-
const defaultHeaderRender =
|
7464
|
+
const defaultHeaderRender = useMemo19(() => {
|
7385
7465
|
if (renderHeader) {
|
7386
7466
|
console.warn(
|
7387
7467
|
"`renderHeader` is deprecated. Please use `overrides.header` and the `usePuck` hook instead"
|
@@ -7395,7 +7475,7 @@ function Puck({
|
|
7395
7475
|
}
|
7396
7476
|
return DefaultOverride;
|
7397
7477
|
}, [renderHeader]);
|
7398
|
-
const defaultHeaderActionsRender =
|
7478
|
+
const defaultHeaderActionsRender = useMemo19(() => {
|
7399
7479
|
if (renderHeaderActions) {
|
7400
7480
|
console.warn(
|
7401
7481
|
"`renderHeaderActions` is deprecated. Please use `overrides.headerActions` and the `usePuck` hook instead."
|
@@ -7412,20 +7492,20 @@ function Puck({
|
|
7412
7492
|
overrides,
|
7413
7493
|
plugins
|
7414
7494
|
});
|
7415
|
-
const CustomPuck =
|
7495
|
+
const CustomPuck = useMemo19(
|
7416
7496
|
() => loadedOverrides.puck || DefaultOverride,
|
7417
7497
|
[loadedOverrides]
|
7418
7498
|
);
|
7419
|
-
const CustomHeader =
|
7499
|
+
const CustomHeader = useMemo19(
|
7420
7500
|
() => loadedOverrides.header || defaultHeaderRender,
|
7421
7501
|
[loadedOverrides]
|
7422
7502
|
);
|
7423
|
-
const CustomHeaderActions =
|
7503
|
+
const CustomHeaderActions = useMemo19(
|
7424
7504
|
() => loadedOverrides.headerActions || defaultHeaderActionsRender,
|
7425
7505
|
[loadedOverrides]
|
7426
7506
|
);
|
7427
7507
|
const [mounted, setMounted] = useState26(false);
|
7428
|
-
|
7508
|
+
useEffect24(() => {
|
7429
7509
|
setMounted(true);
|
7430
7510
|
}, []);
|
7431
7511
|
const selectedComponentConfig = selectedItem && config.components[selectedItem.type];
|