@measured/puck 0.18.0-canary.01d9695 → 0.18.0-canary.01f089b
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 +45 -48
- package/dist/index.d.mts +5 -2
- package/dist/index.d.ts +5 -2
- package/dist/index.js +221 -143
- package/dist/index.mjs +212 -134
- package/package.json +1 -1
package/dist/index.js
CHANGED
@@ -308,7 +308,7 @@ init_react_import();
|
|
308
308
|
|
309
309
|
// css-module:/home/runner/work/puck/puck/packages/core/components/AutoField/styles.module.css#css-module
|
310
310
|
init_react_import();
|
311
|
-
var styles_module_default2 = { "InputWrapper": "
|
311
|
+
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" };
|
312
312
|
|
313
313
|
// components/AutoField/index.tsx
|
314
314
|
var import_react20 = require("react");
|
@@ -1697,12 +1697,13 @@ var DefaultField = ({
|
|
1697
1697
|
field,
|
1698
1698
|
onChange,
|
1699
1699
|
readOnly,
|
1700
|
-
value,
|
1700
|
+
value: _value,
|
1701
1701
|
name,
|
1702
1702
|
label,
|
1703
1703
|
Label: Label2,
|
1704
1704
|
id
|
1705
1705
|
}) => {
|
1706
|
+
const value = _value;
|
1706
1707
|
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
1707
1708
|
Label2,
|
1708
1709
|
{
|
@@ -1720,7 +1721,7 @@ var DefaultField = ({
|
|
1720
1721
|
type: field.type,
|
1721
1722
|
title: label || name,
|
1722
1723
|
name,
|
1723
|
-
value:
|
1724
|
+
value: (value == null ? void 0 : value.toString) ? value.toString() : "",
|
1724
1725
|
onChange: (e) => {
|
1725
1726
|
if (field.type === "number") {
|
1726
1727
|
const numberValue = Number(e.currentTarget.value);
|
@@ -3255,13 +3256,19 @@ var DraggableComponent = ({
|
|
3255
3256
|
}
|
3256
3257
|
}, [ref.current]);
|
3257
3258
|
(0, import_react23.useEffect)(() => {
|
3258
|
-
|
3259
|
-
|
3259
|
+
ctx == null ? void 0 : ctx.registerPath(
|
3260
|
+
id,
|
3261
|
+
{
|
3260
3262
|
index,
|
3261
3263
|
zone: zoneCompound
|
3262
|
-
}
|
3263
|
-
|
3264
|
-
|
3264
|
+
},
|
3265
|
+
componentType
|
3266
|
+
);
|
3267
|
+
return () => {
|
3268
|
+
var _a;
|
3269
|
+
(_a = ctx == null ? void 0 : ctx.unregisterPath) == null ? void 0 : _a.call(ctx, id);
|
3270
|
+
};
|
3271
|
+
}, [id, zoneCompound, index, componentType]);
|
3265
3272
|
const CustomActionBar = (0, import_react23.useMemo)(
|
3266
3273
|
() => overrides.actionBar || DefaultActionBar,
|
3267
3274
|
[overrides.actionBar]
|
@@ -3581,9 +3588,20 @@ var useContentWithPreview = (content, zoneCompound) => {
|
|
3581
3588
|
};
|
3582
3589
|
}
|
3583
3590
|
);
|
3591
|
+
const {
|
3592
|
+
state: {
|
3593
|
+
ui: { isDragging }
|
3594
|
+
}
|
3595
|
+
} = useAppContext();
|
3584
3596
|
const [contentWithPreview, setContentWithPreview] = (0, import_react27.useState)(content);
|
3597
|
+
const [localPreview, setLocalPreview] = (0, import_react27.useState)(
|
3598
|
+
preview
|
3599
|
+
);
|
3585
3600
|
const updateContent = useRenderedCallback(
|
3586
|
-
(content2, preview2) => {
|
3601
|
+
(content2, preview2, isDragging2) => {
|
3602
|
+
if (isDragging2 && !previewExists) {
|
3603
|
+
return;
|
3604
|
+
}
|
3587
3605
|
if (preview2) {
|
3588
3606
|
if (preview2.type === "insert") {
|
3589
3607
|
setContentWithPreview(
|
@@ -3613,13 +3631,14 @@ var useContentWithPreview = (content, zoneCompound) => {
|
|
3613
3631
|
previewExists ? content2.filter((item) => item.props.id !== draggedItemId) : content2
|
3614
3632
|
);
|
3615
3633
|
}
|
3634
|
+
setLocalPreview(preview2);
|
3616
3635
|
},
|
3617
3636
|
[draggedItemId, previewExists]
|
3618
3637
|
);
|
3619
3638
|
(0, import_react27.useEffect)(() => {
|
3620
|
-
updateContent(content, preview);
|
3621
|
-
}, [content, preview]);
|
3622
|
-
return contentWithPreview;
|
3639
|
+
updateContent(content, preview, isDragging);
|
3640
|
+
}, [content, preview, isDragging]);
|
3641
|
+
return [contentWithPreview, localPreview];
|
3623
3642
|
};
|
3624
3643
|
|
3625
3644
|
// components/DropZone/lib/use-drag-axis.ts
|
@@ -3699,8 +3718,7 @@ var DropZoneEdit = (0, import_react29.forwardRef)(
|
|
3699
3718
|
isDeepestZone,
|
3700
3719
|
inNextDeepestArea,
|
3701
3720
|
draggedComponentType,
|
3702
|
-
userIsDragging
|
3703
|
-
preview
|
3721
|
+
userIsDragging
|
3704
3722
|
} = useContextStore(ZoneStoreContext, (s) => {
|
3705
3723
|
var _a, _b, _c;
|
3706
3724
|
return {
|
@@ -3708,8 +3726,7 @@ var DropZoneEdit = (0, import_react29.forwardRef)(
|
|
3708
3726
|
inNextDeepestArea: s.nextAreaDepthIndex[areaId || ""],
|
3709
3727
|
draggedItemId: (_b = s.draggedItem) == null ? void 0 : _b.id,
|
3710
3728
|
draggedComponentType: (_c = s.draggedItem) == null ? void 0 : _c.data.componentType,
|
3711
|
-
userIsDragging: !!s.draggedItem
|
3712
|
-
preview: s.previewIndex[zoneCompound]
|
3729
|
+
userIsDragging: !!s.draggedItem
|
3713
3730
|
};
|
3714
3731
|
});
|
3715
3732
|
const { itemSelector } = appContext2.state.ui;
|
@@ -3775,7 +3792,10 @@ var DropZoneEdit = (0, import_react29.forwardRef)(
|
|
3775
3792
|
if (isEnabled) {
|
3776
3793
|
isEnabled = acceptsTarget(draggedComponentType);
|
3777
3794
|
}
|
3778
|
-
const contentWithPreview = useContentWithPreview(
|
3795
|
+
const [contentWithPreview, preview] = useContentWithPreview(
|
3796
|
+
content,
|
3797
|
+
zoneCompound
|
3798
|
+
);
|
3779
3799
|
const isDropEnabled = isEnabled && (preview ? contentWithPreview.length === 1 : contentWithPreview.length === 0);
|
3780
3800
|
const droppableConfig = {
|
3781
3801
|
id: zoneCompound,
|
@@ -3817,10 +3837,9 @@ var DropZoneEdit = (0, import_react29.forwardRef)(
|
|
3817
3837
|
},
|
3818
3838
|
"data-testid": `dropzone:${zoneCompound}`,
|
3819
3839
|
"data-puck-dropzone": zoneCompound,
|
3820
|
-
"data-puck-dnd": zoneCompound,
|
3821
3840
|
style: __spreadProps(__spreadValues({}, style), {
|
3822
3841
|
"--min-empty-height": `${minEmptyHeight}px`,
|
3823
|
-
backgroundColor: RENDER_DEBUG ? getRandomColor() : void 0
|
3842
|
+
backgroundColor: RENDER_DEBUG ? getRandomColor() : style == null ? void 0 : style.backgroundColor
|
3824
3843
|
}),
|
3825
3844
|
children: contentWithPreview.map((item, i) => {
|
3826
3845
|
var _a, _b, _c, _d, _e, _f, _g;
|
@@ -4099,6 +4118,13 @@ var getPointerCollisions = (position, manager) => {
|
|
4099
4118
|
if (elements) {
|
4100
4119
|
for (let i = 0; i < elements.length; i++) {
|
4101
4120
|
const element = elements[i];
|
4121
|
+
const dropzoneId = element.getAttribute("data-puck-dropzone");
|
4122
|
+
if (dropzoneId) {
|
4123
|
+
const droppable = manager.registry.droppables.get(dropzoneId);
|
4124
|
+
if (droppable) {
|
4125
|
+
candidates.push(droppable);
|
4126
|
+
}
|
4127
|
+
}
|
4102
4128
|
const id = element.getAttribute("data-puck-dnd");
|
4103
4129
|
if (id) {
|
4104
4130
|
const droppable = manager.registry.droppables.get(id);
|
@@ -4507,6 +4533,11 @@ var reduceUi = (ui, action) => {
|
|
4507
4533
|
itemSelector: { index: action.sourceIndex + 1, zone: action.sourceZone }
|
4508
4534
|
});
|
4509
4535
|
}
|
4536
|
+
if (action.type === "remove") {
|
4537
|
+
return __spreadProps(__spreadValues({}, ui), {
|
4538
|
+
itemSelector: null
|
4539
|
+
});
|
4540
|
+
}
|
4510
4541
|
return ui;
|
4511
4542
|
};
|
4512
4543
|
|
@@ -5038,27 +5069,33 @@ var DragDropContextClient = ({
|
|
5038
5069
|
const [pathData, setPathData] = (0, import_react31.useState)();
|
5039
5070
|
const dragMode = (0, import_react31.useRef)(null);
|
5040
5071
|
const registerPath = (0, import_react31.useCallback)(
|
5041
|
-
(selector) => {
|
5042
|
-
const item = getItem(selector, data);
|
5043
|
-
if (!item) {
|
5044
|
-
return;
|
5045
|
-
}
|
5072
|
+
(id2, selector, label) => {
|
5046
5073
|
const [area] = getZoneId(selector.zone);
|
5047
5074
|
setPathData((latestPathData = {}) => {
|
5048
5075
|
const parentPathData = latestPathData[area] || { path: [] };
|
5049
5076
|
return __spreadProps(__spreadValues({}, latestPathData), {
|
5050
|
-
[
|
5077
|
+
[id2]: {
|
5051
5078
|
path: [
|
5052
5079
|
...parentPathData.path,
|
5053
5080
|
...selector.zone ? [selector.zone] : []
|
5054
5081
|
],
|
5055
|
-
label
|
5082
|
+
label
|
5056
5083
|
}
|
5057
5084
|
});
|
5058
5085
|
});
|
5059
5086
|
},
|
5060
5087
|
[data, setPathData]
|
5061
5088
|
);
|
5089
|
+
const unregisterPath = (0, import_react31.useCallback)(
|
5090
|
+
(id2) => {
|
5091
|
+
setPathData((latestPathData = {}) => {
|
5092
|
+
const newPathData = __spreadValues({}, latestPathData);
|
5093
|
+
delete newPathData[id2];
|
5094
|
+
return newPathData;
|
5095
|
+
});
|
5096
|
+
},
|
5097
|
+
[data, setPathData]
|
5098
|
+
);
|
5062
5099
|
const initialSelector = (0, import_react31.useRef)(void 0);
|
5063
5100
|
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { id, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
5064
5101
|
dragListenerContext.Provider,
|
@@ -5255,6 +5292,7 @@ var DragDropContextClient = ({
|
|
5255
5292
|
areaId: "root",
|
5256
5293
|
depth: 0,
|
5257
5294
|
registerPath,
|
5295
|
+
unregisterPath,
|
5258
5296
|
pathData,
|
5259
5297
|
path: []
|
5260
5298
|
},
|
@@ -5403,7 +5441,7 @@ Drawer.Item = DrawerItem;
|
|
5403
5441
|
|
5404
5442
|
// components/Puck/index.tsx
|
5405
5443
|
init_react_import();
|
5406
|
-
var
|
5444
|
+
var import_react50 = require("react");
|
5407
5445
|
|
5408
5446
|
// components/SidebarSection/index.tsx
|
5409
5447
|
init_react_import();
|
@@ -5596,36 +5634,61 @@ init_react_import();
|
|
5596
5634
|
|
5597
5635
|
// css-module:/home/runner/work/puck/puck/packages/core/components/Puck/components/Fields/styles.module.css#css-module
|
5598
5636
|
init_react_import();
|
5599
|
-
var styles_module_default16 = { "PuckFields": "
|
5637
|
+
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" };
|
5600
5638
|
|
5601
5639
|
// components/Puck/components/Fields/index.tsx
|
5602
|
-
var
|
5640
|
+
var import_react37 = require("react");
|
5641
|
+
|
5642
|
+
// lib/use-resolved-fields.ts
|
5643
|
+
init_react_import();
|
5644
|
+
var import_react36 = require("react");
|
5603
5645
|
|
5604
5646
|
// lib/use-parent.ts
|
5605
5647
|
init_react_import();
|
5606
5648
|
var import_react34 = require("react");
|
5607
|
-
var
|
5649
|
+
var getParent = (itemSelector, pathData, data) => {
|
5608
5650
|
var _a;
|
5609
|
-
|
5610
|
-
const
|
5611
|
-
const
|
5612
|
-
const breadcrumbs = convertPathDataToBreadcrumbs(item, pathData, state.data);
|
5651
|
+
if (!itemSelector) return null;
|
5652
|
+
const item = getItem(itemSelector, data);
|
5653
|
+
const breadcrumbs = convertPathDataToBreadcrumbs(item, pathData, data);
|
5613
5654
|
const lastItem = breadcrumbs[breadcrumbs.length - 1];
|
5614
|
-
const parent = (lastItem == null ? void 0 : lastItem.selector) ? (_a = getItem(lastItem.selector,
|
5655
|
+
const parent = (lastItem == null ? void 0 : lastItem.selector) ? (_a = getItem(lastItem.selector, data)) != null ? _a : null : null;
|
5615
5656
|
return parent || null;
|
5616
5657
|
};
|
5658
|
+
var useGetParent = () => {
|
5659
|
+
const { state } = useAppContext();
|
5660
|
+
const { pathData } = (0, import_react34.useContext)(dropZoneContext) || {};
|
5661
|
+
return (0, import_react34.useCallback)(
|
5662
|
+
() => getParent(state.ui.itemSelector, pathData, state.data),
|
5663
|
+
[state.ui.itemSelector, pathData, state.data]
|
5664
|
+
);
|
5665
|
+
};
|
5666
|
+
var useParent = () => {
|
5667
|
+
return useGetParent()();
|
5668
|
+
};
|
5617
5669
|
|
5618
|
-
//
|
5619
|
-
|
5620
|
-
var
|
5670
|
+
// lib/use-on-value-change.ts
|
5671
|
+
init_react_import();
|
5672
|
+
var import_react35 = require("react");
|
5673
|
+
function useOnValueChange(value, onChange, compare = Object.is, deps = []) {
|
5674
|
+
const tracked = (0, import_react35.useRef)(value);
|
5675
|
+
(0, import_react35.useEffect)(() => {
|
5676
|
+
const oldValue = tracked.current;
|
5677
|
+
if (!compare(value, oldValue)) {
|
5678
|
+
tracked.current = value;
|
5679
|
+
onChange(value, oldValue);
|
5680
|
+
}
|
5681
|
+
}, [onChange, compare, value, ...deps]);
|
5682
|
+
}
|
5683
|
+
|
5684
|
+
// lib/selector-is.ts
|
5685
|
+
init_react_import();
|
5686
|
+
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);
|
5687
|
+
|
5688
|
+
// lib/use-resolved-fields.ts
|
5621
5689
|
var defaultPageFields = {
|
5622
5690
|
title: { type: "text" }
|
5623
5691
|
};
|
5624
|
-
var DefaultFields = ({
|
5625
|
-
children
|
5626
|
-
}) => {
|
5627
|
-
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_jsx_runtime27.Fragment, { children });
|
5628
|
-
};
|
5629
5692
|
var useResolvedFields = () => {
|
5630
5693
|
var _a, _b;
|
5631
5694
|
const { selectedItem, state, config } = useAppContext();
|
@@ -5633,20 +5696,21 @@ var useResolvedFields = () => {
|
|
5633
5696
|
const { data } = state;
|
5634
5697
|
const rootFields = ((_a = config.root) == null ? void 0 : _a.fields) || defaultPageFields;
|
5635
5698
|
const componentConfig = selectedItem ? config.components[selectedItem.type] : null;
|
5636
|
-
const defaultFields = (0,
|
5699
|
+
const defaultFields = (0, import_react36.useMemo)(
|
5637
5700
|
() => (selectedItem ? componentConfig == null ? void 0 : componentConfig.fields : rootFields) || {},
|
5638
5701
|
[selectedItem, rootFields, componentConfig == null ? void 0 : componentConfig.fields]
|
5639
5702
|
);
|
5640
5703
|
const rootProps = data.root.props || data.root;
|
5641
|
-
const [lastSelectedData, setLastSelectedData] = (0,
|
5642
|
-
const [resolvedFields, setResolvedFields] = (0,
|
5643
|
-
const [fieldsLoading, setFieldsLoading] = (0,
|
5704
|
+
const [lastSelectedData, setLastSelectedData] = (0, import_react36.useState)({});
|
5705
|
+
const [resolvedFields, setResolvedFields] = (0, import_react36.useState)(defaultFields);
|
5706
|
+
const [fieldsLoading, setFieldsLoading] = (0, import_react36.useState)(false);
|
5707
|
+
const lastFields = (0, import_react36.useRef)(defaultFields);
|
5644
5708
|
const defaultResolveFields = (_componentData, _params) => defaultFields;
|
5645
5709
|
const componentData = selectedItem ? selectedItem : { props: rootProps, readOnly: data.root.readOnly };
|
5646
5710
|
const hasComponentResolver = selectedItem && (componentConfig == null ? void 0 : componentConfig.resolveFields);
|
5647
5711
|
const hasRootResolver = !selectedItem && ((_b = config.root) == null ? void 0 : _b.resolveFields);
|
5648
5712
|
const hasResolver = hasComponentResolver || hasRootResolver;
|
5649
|
-
const resolveFields = (0,
|
5713
|
+
const resolveFields = (0, import_react36.useCallback)(
|
5650
5714
|
(..._0) => __async(void 0, [..._0], function* (fields = {}) {
|
5651
5715
|
var _a2;
|
5652
5716
|
const lastData = ((_a2 = lastSelectedData.props) == null ? void 0 : _a2.id) === componentData.props.id ? lastSelectedData : null;
|
@@ -5658,7 +5722,7 @@ var useResolvedFields = () => {
|
|
5658
5722
|
{
|
5659
5723
|
changed,
|
5660
5724
|
fields,
|
5661
|
-
lastFields:
|
5725
|
+
lastFields: lastFields.current,
|
5662
5726
|
lastData,
|
5663
5727
|
appState: state,
|
5664
5728
|
parent
|
@@ -5669,7 +5733,7 @@ var useResolvedFields = () => {
|
|
5669
5733
|
return yield config.root.resolveFields(componentData, {
|
5670
5734
|
changed,
|
5671
5735
|
fields,
|
5672
|
-
lastFields:
|
5736
|
+
lastFields: lastFields.current,
|
5673
5737
|
lastData,
|
5674
5738
|
appState: state,
|
5675
5739
|
parent
|
@@ -5678,40 +5742,56 @@ var useResolvedFields = () => {
|
|
5678
5742
|
return defaultResolveFields(componentData, {
|
5679
5743
|
changed,
|
5680
5744
|
fields,
|
5681
|
-
lastFields:
|
5745
|
+
lastFields: lastFields.current,
|
5682
5746
|
lastData
|
5683
5747
|
});
|
5684
5748
|
}),
|
5685
|
-
[data, config, componentData, selectedItem,
|
5749
|
+
[data, config, componentData, selectedItem, state, parent]
|
5686
5750
|
);
|
5687
|
-
const
|
5688
|
-
(0, import_react35.useEffect)(() => {
|
5689
|
-
setHasParent(!!parent);
|
5690
|
-
}, [parent]);
|
5691
|
-
(0, import_react35.useEffect)(() => {
|
5751
|
+
const triggerResolver = (0, import_react36.useCallback)(() => {
|
5692
5752
|
var _a2, _b2;
|
5693
|
-
if (!((_a2 = state.ui.itemSelector) == null ? void 0 : _a2.zone) || ((_b2 = state.ui.itemSelector) == null ? void 0 : _b2.zone) === "default-zone" ||
|
5753
|
+
if (!((_a2 = state.ui.itemSelector) == null ? void 0 : _a2.zone) || ((_b2 = state.ui.itemSelector) == null ? void 0 : _b2.zone) === "default-zone" || parent) {
|
5694
5754
|
if (hasResolver) {
|
5695
5755
|
setFieldsLoading(true);
|
5696
5756
|
resolveFields(defaultFields).then((fields) => {
|
5697
5757
|
setResolvedFields(fields || {});
|
5758
|
+
lastFields.current = fields;
|
5698
5759
|
setFieldsLoading(false);
|
5699
5760
|
});
|
5700
|
-
|
5701
|
-
setResolvedFields(defaultFields);
|
5761
|
+
return;
|
5702
5762
|
}
|
5703
5763
|
}
|
5704
|
-
|
5705
|
-
|
5706
|
-
|
5764
|
+
setResolvedFields(defaultFields);
|
5765
|
+
}, [defaultFields, state.ui.itemSelector, hasResolver, parent]);
|
5766
|
+
useOnValueChange(
|
5707
5767
|
state.ui.itemSelector,
|
5708
|
-
|
5709
|
-
|
5710
|
-
|
5711
|
-
|
5768
|
+
() => {
|
5769
|
+
lastFields.current = defaultFields;
|
5770
|
+
},
|
5771
|
+
selectorIs
|
5772
|
+
);
|
5773
|
+
useOnValueChange(
|
5774
|
+
{ data, parent, itemSelector: state.ui.itemSelector },
|
5775
|
+
() => {
|
5776
|
+
triggerResolver();
|
5777
|
+
},
|
5778
|
+
(a, b) => JSON.stringify(a) === JSON.stringify(b)
|
5779
|
+
);
|
5780
|
+
(0, import_react36.useEffect)(() => {
|
5781
|
+
triggerResolver();
|
5782
|
+
}, []);
|
5712
5783
|
return [resolvedFields, fieldsLoading];
|
5713
5784
|
};
|
5714
|
-
|
5785
|
+
|
5786
|
+
// components/Puck/components/Fields/index.tsx
|
5787
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
5788
|
+
var getClassName21 = get_class_name_factory_default("PuckFields", styles_module_default16);
|
5789
|
+
var DefaultFields = ({
|
5790
|
+
children
|
5791
|
+
}) => {
|
5792
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_jsx_runtime27.Fragment, { children });
|
5793
|
+
};
|
5794
|
+
var Fields = ({ wrapFields = true }) => {
|
5715
5795
|
var _a, _b;
|
5716
5796
|
const {
|
5717
5797
|
selectedItem,
|
@@ -5729,11 +5809,11 @@ var Fields = () => {
|
|
5729
5809
|
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;
|
5730
5810
|
const isLoading = fieldsResolving || componentResolving;
|
5731
5811
|
const rootProps = data.root.props || data.root;
|
5732
|
-
const Wrapper = (0,
|
5812
|
+
const Wrapper = (0, import_react37.useMemo)(() => overrides.fields || DefaultFields, [overrides]);
|
5733
5813
|
return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
5734
5814
|
"form",
|
5735
5815
|
{
|
5736
|
-
className: getClassName21(),
|
5816
|
+
className: getClassName21({ wrapFields }),
|
5737
5817
|
onSubmit: (e) => {
|
5738
5818
|
e.preventDefault();
|
5739
5819
|
},
|
@@ -5809,7 +5889,7 @@ var Fields = () => {
|
|
5809
5889
|
item: selectedItem
|
5810
5890
|
});
|
5811
5891
|
const id = `${selectedItem.props.id}_${field.type}_${fieldName}`;
|
5812
|
-
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
5892
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: getClassName21("field"), children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
5813
5893
|
AutoFieldPrivate,
|
5814
5894
|
{
|
5815
5895
|
field,
|
@@ -5818,16 +5898,15 @@ var Fields = () => {
|
|
5818
5898
|
readOnly: !edit || readOnly[fieldName],
|
5819
5899
|
value: selectedItem.props[fieldName],
|
5820
5900
|
onChange
|
5821
|
-
}
|
5822
|
-
|
5823
|
-
);
|
5901
|
+
}
|
5902
|
+
) }, id);
|
5824
5903
|
} else {
|
5825
5904
|
const readOnly = data.root.readOnly || {};
|
5826
5905
|
const { edit } = getPermissions({
|
5827
5906
|
root: true
|
5828
5907
|
});
|
5829
5908
|
const id = `root_${field.type}_${fieldName}`;
|
5830
|
-
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
5909
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: getClassName21("field"), children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
5831
5910
|
AutoFieldPrivate,
|
5832
5911
|
{
|
5833
5912
|
field,
|
@@ -5836,9 +5915,8 @@ var Fields = () => {
|
|
5836
5915
|
readOnly: !edit || readOnly[fieldName],
|
5837
5916
|
value: rootProps[fieldName],
|
5838
5917
|
onChange
|
5839
|
-
}
|
5840
|
-
|
5841
|
-
);
|
5918
|
+
}
|
5919
|
+
) }, id);
|
5842
5920
|
}
|
5843
5921
|
}) }),
|
5844
5922
|
isLoading && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: getClassName21("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: getClassName21("loadingOverlayInner"), children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Loader, { size: 16 }) }) })
|
@@ -5852,7 +5930,7 @@ init_react_import();
|
|
5852
5930
|
|
5853
5931
|
// lib/use-component-list.tsx
|
5854
5932
|
init_react_import();
|
5855
|
-
var
|
5933
|
+
var import_react38 = require("react");
|
5856
5934
|
|
5857
5935
|
// components/ComponentList/index.tsx
|
5858
5936
|
init_react_import();
|
@@ -5919,8 +5997,8 @@ ComponentList.Item = ComponentListItem;
|
|
5919
5997
|
// lib/use-component-list.tsx
|
5920
5998
|
var import_jsx_runtime29 = require("react/jsx-runtime");
|
5921
5999
|
var useComponentList = (config, ui) => {
|
5922
|
-
const [componentList, setComponentList] = (0,
|
5923
|
-
(0,
|
6000
|
+
const [componentList, setComponentList] = (0, import_react38.useState)();
|
6001
|
+
(0, import_react38.useEffect)(() => {
|
5924
6002
|
var _a, _b, _c;
|
5925
6003
|
if (Object.keys(ui.componentList).length > 0) {
|
5926
6004
|
const matchedComponents = [];
|
@@ -5989,22 +6067,22 @@ var useComponentList = (config, ui) => {
|
|
5989
6067
|
};
|
5990
6068
|
|
5991
6069
|
// components/Puck/components/Components/index.tsx
|
5992
|
-
var
|
6070
|
+
var import_react39 = require("react");
|
5993
6071
|
var import_jsx_runtime30 = require("react/jsx-runtime");
|
5994
6072
|
var Components = () => {
|
5995
6073
|
const { config, state, overrides } = useAppContext();
|
5996
6074
|
const componentList = useComponentList(config, state.ui);
|
5997
|
-
const Wrapper = (0,
|
6075
|
+
const Wrapper = (0, import_react39.useMemo)(() => overrides.components || "div", [overrides]);
|
5998
6076
|
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Wrapper, { children: componentList ? componentList : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(ComponentList, { id: "all" }) });
|
5999
6077
|
};
|
6000
6078
|
|
6001
6079
|
// components/Puck/components/Preview/index.tsx
|
6002
6080
|
init_react_import();
|
6003
|
-
var
|
6081
|
+
var import_react41 = require("react");
|
6004
6082
|
|
6005
6083
|
// components/AutoFrame/index.tsx
|
6006
6084
|
init_react_import();
|
6007
|
-
var
|
6085
|
+
var import_react40 = require("react");
|
6008
6086
|
var import_object_hash = __toESM(require("object-hash"));
|
6009
6087
|
var import_react_dom3 = require("react-dom");
|
6010
6088
|
var import_jsx_runtime31 = require("react/jsx-runtime");
|
@@ -6050,7 +6128,7 @@ var CopyHostStyles = ({
|
|
6050
6128
|
onStylesLoaded = () => null
|
6051
6129
|
}) => {
|
6052
6130
|
const { document: doc, window: win } = useFrame();
|
6053
|
-
(0,
|
6131
|
+
(0, import_react40.useEffect)(() => {
|
6054
6132
|
if (!win || !doc) {
|
6055
6133
|
return () => {
|
6056
6134
|
};
|
@@ -6209,8 +6287,8 @@ var CopyHostStyles = ({
|
|
6209
6287
|
}, []);
|
6210
6288
|
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_jsx_runtime31.Fragment, { children });
|
6211
6289
|
};
|
6212
|
-
var autoFrameContext = (0,
|
6213
|
-
var useFrame = () => (0,
|
6290
|
+
var autoFrameContext = (0, import_react40.createContext)({});
|
6291
|
+
var useFrame = () => (0, import_react40.useContext)(autoFrameContext);
|
6214
6292
|
function AutoFrame(_a) {
|
6215
6293
|
var _b = _a, {
|
6216
6294
|
children,
|
@@ -6227,10 +6305,10 @@ function AutoFrame(_a) {
|
|
6227
6305
|
"onStylesLoaded",
|
6228
6306
|
"frameRef"
|
6229
6307
|
]);
|
6230
|
-
const [loaded, setLoaded] = (0,
|
6231
|
-
const [ctx, setCtx] = (0,
|
6232
|
-
const [mountTarget, setMountTarget] = (0,
|
6233
|
-
(0,
|
6308
|
+
const [loaded, setLoaded] = (0, import_react40.useState)(false);
|
6309
|
+
const [ctx, setCtx] = (0, import_react40.useState)({});
|
6310
|
+
const [mountTarget, setMountTarget] = (0, import_react40.useState)();
|
6311
|
+
(0, import_react40.useEffect)(() => {
|
6234
6312
|
var _a2;
|
6235
6313
|
if (frameRef.current) {
|
6236
6314
|
setCtx({
|
@@ -6324,7 +6402,7 @@ var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
6324
6402
|
var getClassName23 = get_class_name_factory_default("PuckPreview", styles_module_default18);
|
6325
6403
|
var useBubbleIframeEvents = (ref) => {
|
6326
6404
|
const { status } = useAppContext();
|
6327
|
-
(0,
|
6405
|
+
(0, import_react41.useEffect)(() => {
|
6328
6406
|
var _a;
|
6329
6407
|
if (ref.current && status === "READY") {
|
6330
6408
|
const iframe = ref.current;
|
@@ -6363,7 +6441,7 @@ var useBubbleIframeEvents = (ref) => {
|
|
6363
6441
|
};
|
6364
6442
|
var Preview2 = ({ id = "puck-preview" }) => {
|
6365
6443
|
const { config, dispatch, state, setStatus, iframe, overrides } = useAppContext();
|
6366
|
-
const Page = (0,
|
6444
|
+
const Page = (0, import_react41.useCallback)(
|
6367
6445
|
(pageProps) => {
|
6368
6446
|
var _a, _b;
|
6369
6447
|
return ((_a = config.root) == null ? void 0 : _a.render) ? (_b = config.root) == null ? void 0 : _b.render(__spreadValues({
|
@@ -6372,9 +6450,9 @@ var Preview2 = ({ id = "puck-preview" }) => {
|
|
6372
6450
|
},
|
6373
6451
|
[config.root]
|
6374
6452
|
);
|
6375
|
-
const Frame = (0,
|
6453
|
+
const Frame = (0, import_react41.useMemo)(() => overrides.iframe, [overrides]);
|
6376
6454
|
const rootProps = state.data.root.props || state.data.root;
|
6377
|
-
const ref = (0,
|
6455
|
+
const ref = (0, import_react41.useRef)(null);
|
6378
6456
|
useBubbleIframeEvents(ref);
|
6379
6457
|
const inner = state.ui.previewMode === "edit" ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
6380
6458
|
Page,
|
@@ -6471,7 +6549,7 @@ var scrollIntoView = (el) => {
|
|
6471
6549
|
};
|
6472
6550
|
|
6473
6551
|
// components/LayerTree/index.tsx
|
6474
|
-
var
|
6552
|
+
var import_react42 = require("react");
|
6475
6553
|
|
6476
6554
|
// lib/is-child-of-zone.ts
|
6477
6555
|
init_react_import();
|
@@ -6517,7 +6595,7 @@ var LayerTree = ({
|
|
6517
6595
|
label
|
6518
6596
|
}) => {
|
6519
6597
|
const zones = data.zones || {};
|
6520
|
-
const ctx = (0,
|
6598
|
+
const ctx = (0, import_react42.useContext)(dropZoneContext);
|
6521
6599
|
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
|
6522
6600
|
label && /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName24("zoneTitle"), children: [
|
6523
6601
|
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName24("zoneIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Layers, { size: "16" }) }),
|
@@ -6624,13 +6702,13 @@ var LayerTree = ({
|
|
6624
6702
|
};
|
6625
6703
|
|
6626
6704
|
// components/Puck/components/Outline/index.tsx
|
6627
|
-
var
|
6705
|
+
var import_react43 = require("react");
|
6628
6706
|
var import_jsx_runtime35 = require("react/jsx-runtime");
|
6629
6707
|
var Outline = () => {
|
6630
6708
|
const { dispatch, state, overrides, config } = useAppContext();
|
6631
6709
|
const { data, ui } = state;
|
6632
6710
|
const { itemSelector } = ui;
|
6633
|
-
const setItemSelector = (0,
|
6711
|
+
const setItemSelector = (0, import_react43.useCallback)(
|
6634
6712
|
(newItemSelector) => {
|
6635
6713
|
dispatch({
|
6636
6714
|
type: "setUi",
|
@@ -6639,7 +6717,7 @@ var Outline = () => {
|
|
6639
6717
|
},
|
6640
6718
|
[]
|
6641
6719
|
);
|
6642
|
-
const Wrapper = (0,
|
6720
|
+
const Wrapper = (0, import_react43.useMemo)(() => overrides.outline || "div", [overrides]);
|
6643
6721
|
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Wrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(dropZoneContext.Consumer, { children: (ctx) => /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
|
6644
6722
|
(ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId]) && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
6645
6723
|
LayerTree,
|
@@ -6753,19 +6831,19 @@ function usePuckHistory({
|
|
6753
6831
|
|
6754
6832
|
// lib/use-history-store.ts
|
6755
6833
|
init_react_import();
|
6756
|
-
var
|
6834
|
+
var import_react44 = require("react");
|
6757
6835
|
var import_use_debounce3 = require("use-debounce");
|
6758
6836
|
var EMPTY_HISTORY_INDEX = 0;
|
6759
6837
|
function useHistoryStore(initialHistory) {
|
6760
6838
|
var _a, _b;
|
6761
|
-
const [histories, setHistories] = (0,
|
6839
|
+
const [histories, setHistories] = (0, import_react44.useState)(
|
6762
6840
|
(_a = initialHistory == null ? void 0 : initialHistory.histories) != null ? _a : []
|
6763
6841
|
);
|
6764
6842
|
const updateHistories = (histories2) => {
|
6765
6843
|
setHistories(histories2);
|
6766
6844
|
setIndex(histories2.length - 1);
|
6767
6845
|
};
|
6768
|
-
const [index, setIndex] = (0,
|
6846
|
+
const [index, setIndex] = (0, import_react44.useState)(
|
6769
6847
|
(_b = initialHistory == null ? void 0 : initialHistory.index) != null ? _b : EMPTY_HISTORY_INDEX
|
6770
6848
|
);
|
6771
6849
|
const hasPast = index > EMPTY_HISTORY_INDEX;
|
@@ -6925,11 +7003,11 @@ var getBox = function getBox2(el) {
|
|
6925
7003
|
};
|
6926
7004
|
|
6927
7005
|
// components/Puck/components/Canvas/index.tsx
|
6928
|
-
var
|
7006
|
+
var import_react46 = require("react");
|
6929
7007
|
|
6930
7008
|
// components/ViewportControls/index.tsx
|
6931
7009
|
init_react_import();
|
6932
|
-
var
|
7010
|
+
var import_react45 = require("react");
|
6933
7011
|
|
6934
7012
|
// css-module:/home/runner/work/puck/puck/packages/core/components/ViewportControls/styles.module.css#css-module
|
6935
7013
|
init_react_import();
|
@@ -6952,8 +7030,8 @@ var ViewportButton = ({
|
|
6952
7030
|
onClick
|
6953
7031
|
}) => {
|
6954
7032
|
const { state } = useAppContext();
|
6955
|
-
const [isActive, setIsActive] = (0,
|
6956
|
-
(0,
|
7033
|
+
const [isActive, setIsActive] = (0, import_react45.useState)(false);
|
7034
|
+
(0, import_react45.useEffect)(() => {
|
6957
7035
|
setIsActive(width === state.ui.viewports.current.width);
|
6958
7036
|
}, [width, state.ui.viewports.current.width]);
|
6959
7037
|
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: getClassNameButton({ isActive }), children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
@@ -6989,7 +7067,7 @@ var ViewportControls = ({
|
|
6989
7067
|
const defaultsContainAutoZoom = defaultZoomOptions.find(
|
6990
7068
|
(option) => option.value === autoZoom
|
6991
7069
|
);
|
6992
|
-
const zoomOptions = (0,
|
7070
|
+
const zoomOptions = (0, import_react45.useMemo)(
|
6993
7071
|
() => [
|
6994
7072
|
...defaultZoomOptions,
|
6995
7073
|
...defaultsContainAutoZoom ? [] : [
|
@@ -7112,17 +7190,17 @@ var Canvas = () => {
|
|
7112
7190
|
const { status, iframe } = useAppContext();
|
7113
7191
|
const { dispatch, state, overrides, setUi, zoomConfig, setZoomConfig } = useAppContext();
|
7114
7192
|
const { ui } = state;
|
7115
|
-
const frameRef = (0,
|
7116
|
-
const [showTransition, setShowTransition] = (0,
|
7117
|
-
const defaultRender = (0,
|
7193
|
+
const frameRef = (0, import_react46.useRef)(null);
|
7194
|
+
const [showTransition, setShowTransition] = (0, import_react46.useState)(false);
|
7195
|
+
const defaultRender = (0, import_react46.useMemo)(() => {
|
7118
7196
|
const PuckDefault = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_jsx_runtime37.Fragment, { children });
|
7119
7197
|
return PuckDefault;
|
7120
7198
|
}, []);
|
7121
|
-
const CustomPreview = (0,
|
7199
|
+
const CustomPreview = (0, import_react46.useMemo)(
|
7122
7200
|
() => overrides.preview || defaultRender,
|
7123
7201
|
[overrides]
|
7124
7202
|
);
|
7125
|
-
const getFrameDimensions = (0,
|
7203
|
+
const getFrameDimensions = (0, import_react46.useCallback)(() => {
|
7126
7204
|
if (frameRef.current) {
|
7127
7205
|
const frame = frameRef.current;
|
7128
7206
|
const box = getBox(frame);
|
@@ -7130,7 +7208,7 @@ var Canvas = () => {
|
|
7130
7208
|
}
|
7131
7209
|
return { width: 0, height: 0 };
|
7132
7210
|
}, [frameRef]);
|
7133
|
-
const resetAutoZoom = (0,
|
7211
|
+
const resetAutoZoom = (0, import_react46.useCallback)(
|
7134
7212
|
(ui2 = state.ui) => {
|
7135
7213
|
if (frameRef.current) {
|
7136
7214
|
setZoomConfig(
|
@@ -7140,11 +7218,11 @@ var Canvas = () => {
|
|
7140
7218
|
},
|
7141
7219
|
[frameRef, zoomConfig, state.ui]
|
7142
7220
|
);
|
7143
|
-
(0,
|
7221
|
+
(0, import_react46.useEffect)(() => {
|
7144
7222
|
setShowTransition(false);
|
7145
7223
|
resetAutoZoom();
|
7146
7224
|
}, [frameRef, ui.leftSideBarVisible, ui.rightSideBarVisible]);
|
7147
|
-
(0,
|
7225
|
+
(0, import_react46.useEffect)(() => {
|
7148
7226
|
const { height: frameHeight } = getFrameDimensions();
|
7149
7227
|
if (ui.viewports.current.height === "auto") {
|
7150
7228
|
setZoomConfig(__spreadProps(__spreadValues({}, zoomConfig), {
|
@@ -7152,13 +7230,13 @@ var Canvas = () => {
|
|
7152
7230
|
}));
|
7153
7231
|
}
|
7154
7232
|
}, [zoomConfig.zoom]);
|
7155
|
-
(0,
|
7233
|
+
(0, import_react46.useEffect)(() => {
|
7156
7234
|
if (ZOOM_ON_CHANGE) {
|
7157
7235
|
setShowTransition(true);
|
7158
7236
|
resetAutoZoom(ui);
|
7159
7237
|
}
|
7160
7238
|
}, [ui.viewports.current.width]);
|
7161
|
-
(0,
|
7239
|
+
(0, import_react46.useEffect)(() => {
|
7162
7240
|
const cb = () => {
|
7163
7241
|
setShowTransition(false);
|
7164
7242
|
resetAutoZoom();
|
@@ -7168,8 +7246,8 @@ var Canvas = () => {
|
|
7168
7246
|
window.removeEventListener("resize", cb);
|
7169
7247
|
};
|
7170
7248
|
}, []);
|
7171
|
-
const [showLoader, setShowLoader] = (0,
|
7172
|
-
(0,
|
7249
|
+
const [showLoader, setShowLoader] = (0, import_react46.useState)(false);
|
7250
|
+
(0, import_react46.useEffect)(() => {
|
7173
7251
|
setTimeout(() => {
|
7174
7252
|
setShowLoader(true);
|
7175
7253
|
}, 500);
|
@@ -7247,7 +7325,7 @@ var Canvas = () => {
|
|
7247
7325
|
|
7248
7326
|
// lib/use-loaded-overrides.ts
|
7249
7327
|
init_react_import();
|
7250
|
-
var
|
7328
|
+
var import_react47 = require("react");
|
7251
7329
|
|
7252
7330
|
// lib/load-overrides.ts
|
7253
7331
|
init_react_import();
|
@@ -7286,7 +7364,7 @@ var useLoadedOverrides = ({
|
|
7286
7364
|
overrides,
|
7287
7365
|
plugins
|
7288
7366
|
}) => {
|
7289
|
-
return (0,
|
7367
|
+
return (0, import_react47.useMemo)(() => {
|
7290
7368
|
return loadOverrides({ overrides, plugins });
|
7291
7369
|
}, [plugins, overrides]);
|
7292
7370
|
};
|
@@ -7298,14 +7376,14 @@ var DefaultOverride = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime38
|
|
7298
7376
|
|
7299
7377
|
// lib/use-inject-css.ts
|
7300
7378
|
init_react_import();
|
7301
|
-
var
|
7379
|
+
var import_react48 = require("react");
|
7302
7380
|
var styles = ``;
|
7303
7381
|
var useInjectStyleSheet = (initialStyles, iframeEnabled) => {
|
7304
|
-
const [el, setEl] = (0,
|
7305
|
-
(0,
|
7382
|
+
const [el, setEl] = (0, import_react48.useState)();
|
7383
|
+
(0, import_react48.useEffect)(() => {
|
7306
7384
|
setEl(document.createElement("style"));
|
7307
7385
|
}, []);
|
7308
|
-
(0,
|
7386
|
+
(0, import_react48.useEffect)(() => {
|
7309
7387
|
var _a;
|
7310
7388
|
if (!el || typeof window === "undefined") {
|
7311
7389
|
return;
|
@@ -7325,10 +7403,10 @@ var useInjectGlobalCss = (iframeEnabled) => {
|
|
7325
7403
|
|
7326
7404
|
// lib/use-preview-mode-hotkeys.ts
|
7327
7405
|
init_react_import();
|
7328
|
-
var
|
7406
|
+
var import_react49 = require("react");
|
7329
7407
|
var import_react_hotkeys_hook2 = require("react-hotkeys-hook");
|
7330
7408
|
var usePreviewModeHotkeys = (dispatch, iframeEnabled) => {
|
7331
|
-
const toggleInteractive = (0,
|
7409
|
+
const toggleInteractive = (0, import_react49.useCallback)(() => {
|
7332
7410
|
dispatch({
|
7333
7411
|
type: "setUi",
|
7334
7412
|
ui: (ui) => ({
|
@@ -7380,7 +7458,7 @@ function Puck({
|
|
7380
7458
|
waitForStyles: true
|
7381
7459
|
}, _iframe);
|
7382
7460
|
useInjectGlobalCss(iframe.enabled);
|
7383
|
-
const [generatedAppState] = (0,
|
7461
|
+
const [generatedAppState] = (0, import_react50.useState)(() => {
|
7384
7462
|
var _a2, _b2, _c, _d, _e, _f, _g, _h, _i;
|
7385
7463
|
const initial = __spreadValues(__spreadValues({}, defaultAppState.ui), initialUi);
|
7386
7464
|
let clientUiState = {};
|
@@ -7452,14 +7530,14 @@ function Puck({
|
|
7452
7530
|
histories,
|
7453
7531
|
index: initialHistoryIndex
|
7454
7532
|
});
|
7455
|
-
const [reducer] = (0,
|
7533
|
+
const [reducer] = (0, import_react50.useState)(
|
7456
7534
|
() => createReducer({
|
7457
7535
|
config,
|
7458
7536
|
record: historyStore.record,
|
7459
7537
|
onAction
|
7460
7538
|
})
|
7461
7539
|
);
|
7462
|
-
const [appState, dispatch] = (0,
|
7540
|
+
const [appState, dispatch] = (0, import_react50.useReducer)(
|
7463
7541
|
reducer,
|
7464
7542
|
flushZones(initialAppState)
|
7465
7543
|
);
|
@@ -7470,14 +7548,14 @@ function Puck({
|
|
7470
7548
|
historyStore,
|
7471
7549
|
iframeEnabled: (_a = _iframe == null ? void 0 : _iframe.enabled) != null ? _a : true
|
7472
7550
|
});
|
7473
|
-
const [menuOpen, setMenuOpen] = (0,
|
7551
|
+
const [menuOpen, setMenuOpen] = (0, import_react50.useState)(false);
|
7474
7552
|
const { itemSelector, leftSideBarVisible, rightSideBarVisible } = ui;
|
7475
7553
|
const selectedItem = itemSelector ? getItem(itemSelector, data) : null;
|
7476
|
-
(0,
|
7554
|
+
(0, import_react50.useEffect)(() => {
|
7477
7555
|
if (onChange) onChange(data);
|
7478
7556
|
}, [data]);
|
7479
7557
|
const rootProps = data.root.props || data.root;
|
7480
|
-
const toggleSidebars = (0,
|
7558
|
+
const toggleSidebars = (0, import_react50.useCallback)(
|
7481
7559
|
(sidebar) => {
|
7482
7560
|
const widerViewport = window.matchMedia("(min-width: 638px)").matches;
|
7483
7561
|
const sideBarVisible = sidebar === "left" ? leftSideBarVisible : rightSideBarVisible;
|
@@ -7491,7 +7569,7 @@ function Puck({
|
|
7491
7569
|
},
|
7492
7570
|
[dispatch, leftSideBarVisible, rightSideBarVisible]
|
7493
7571
|
);
|
7494
|
-
(0,
|
7572
|
+
(0, import_react50.useEffect)(() => {
|
7495
7573
|
if (!window.matchMedia("(min-width: 638px)").matches) {
|
7496
7574
|
dispatch({
|
7497
7575
|
type: "setUi",
|
@@ -7514,7 +7592,7 @@ function Puck({
|
|
7514
7592
|
window.removeEventListener("resize", handleResize);
|
7515
7593
|
};
|
7516
7594
|
}, []);
|
7517
|
-
const defaultHeaderRender = (0,
|
7595
|
+
const defaultHeaderRender = (0, import_react50.useMemo)(() => {
|
7518
7596
|
if (renderHeader) {
|
7519
7597
|
console.warn(
|
7520
7598
|
"`renderHeader` is deprecated. Please use `overrides.header` and the `usePuck` hook instead"
|
@@ -7528,7 +7606,7 @@ function Puck({
|
|
7528
7606
|
}
|
7529
7607
|
return DefaultOverride;
|
7530
7608
|
}, [renderHeader]);
|
7531
|
-
const defaultHeaderActionsRender = (0,
|
7609
|
+
const defaultHeaderActionsRender = (0, import_react50.useMemo)(() => {
|
7532
7610
|
if (renderHeaderActions) {
|
7533
7611
|
console.warn(
|
7534
7612
|
"`renderHeaderActions` is deprecated. Please use `overrides.headerActions` and the `usePuck` hook instead."
|
@@ -7545,20 +7623,20 @@ function Puck({
|
|
7545
7623
|
overrides,
|
7546
7624
|
plugins
|
7547
7625
|
});
|
7548
|
-
const CustomPuck = (0,
|
7626
|
+
const CustomPuck = (0, import_react50.useMemo)(
|
7549
7627
|
() => loadedOverrides.puck || DefaultOverride,
|
7550
7628
|
[loadedOverrides]
|
7551
7629
|
);
|
7552
|
-
const CustomHeader = (0,
|
7630
|
+
const CustomHeader = (0, import_react50.useMemo)(
|
7553
7631
|
() => loadedOverrides.header || defaultHeaderRender,
|
7554
7632
|
[loadedOverrides]
|
7555
7633
|
);
|
7556
|
-
const CustomHeaderActions = (0,
|
7634
|
+
const CustomHeaderActions = (0, import_react50.useMemo)(
|
7557
7635
|
() => loadedOverrides.headerActions || defaultHeaderActionsRender,
|
7558
7636
|
[loadedOverrides]
|
7559
7637
|
);
|
7560
|
-
const [mounted, setMounted] = (0,
|
7561
|
-
(0,
|
7638
|
+
const [mounted, setMounted] = (0, import_react50.useState)(false);
|
7639
|
+
(0, import_react50.useEffect)(() => {
|
7562
7640
|
setMounted(true);
|
7563
7641
|
}, []);
|
7564
7642
|
const selectedComponentConfig = selectedItem && config.components[selectedItem.type];
|