@measured/puck 0.18.0-canary.cfe4ca8 → 0.18.0-canary.d211707
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/index.css +1 -1
- package/dist/index.d.mts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +204 -129
- package/dist/index.mjs +195 -120
- package/package.json +1 -1
package/dist/index.js
CHANGED
@@ -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);
|
@@ -5043,27 +5069,33 @@ var DragDropContextClient = ({
|
|
5043
5069
|
const [pathData, setPathData] = (0, import_react31.useState)();
|
5044
5070
|
const dragMode = (0, import_react31.useRef)(null);
|
5045
5071
|
const registerPath = (0, import_react31.useCallback)(
|
5046
|
-
(selector) => {
|
5047
|
-
const item = getItem(selector, data);
|
5048
|
-
if (!item) {
|
5049
|
-
return;
|
5050
|
-
}
|
5072
|
+
(id2, selector, label) => {
|
5051
5073
|
const [area] = getZoneId(selector.zone);
|
5052
5074
|
setPathData((latestPathData = {}) => {
|
5053
5075
|
const parentPathData = latestPathData[area] || { path: [] };
|
5054
5076
|
return __spreadProps(__spreadValues({}, latestPathData), {
|
5055
|
-
[
|
5077
|
+
[id2]: {
|
5056
5078
|
path: [
|
5057
5079
|
...parentPathData.path,
|
5058
5080
|
...selector.zone ? [selector.zone] : []
|
5059
5081
|
],
|
5060
|
-
label
|
5082
|
+
label
|
5061
5083
|
}
|
5062
5084
|
});
|
5063
5085
|
});
|
5064
5086
|
},
|
5065
5087
|
[data, setPathData]
|
5066
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
|
+
);
|
5067
5099
|
const initialSelector = (0, import_react31.useRef)(void 0);
|
5068
5100
|
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { id, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
5069
5101
|
dragListenerContext.Provider,
|
@@ -5260,6 +5292,7 @@ var DragDropContextClient = ({
|
|
5260
5292
|
areaId: "root",
|
5261
5293
|
depth: 0,
|
5262
5294
|
registerPath,
|
5295
|
+
unregisterPath,
|
5263
5296
|
pathData,
|
5264
5297
|
path: []
|
5265
5298
|
},
|
@@ -5408,7 +5441,7 @@ Drawer.Item = DrawerItem;
|
|
5408
5441
|
|
5409
5442
|
// components/Puck/index.tsx
|
5410
5443
|
init_react_import();
|
5411
|
-
var
|
5444
|
+
var import_react50 = require("react");
|
5412
5445
|
|
5413
5446
|
// components/SidebarSection/index.tsx
|
5414
5447
|
init_react_import();
|
@@ -5604,33 +5637,58 @@ init_react_import();
|
|
5604
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" };
|
5605
5638
|
|
5606
5639
|
// components/Puck/components/Fields/index.tsx
|
5607
|
-
var
|
5640
|
+
var import_react37 = require("react");
|
5641
|
+
|
5642
|
+
// lib/use-resolved-fields.ts
|
5643
|
+
init_react_import();
|
5644
|
+
var import_react36 = require("react");
|
5608
5645
|
|
5609
5646
|
// lib/use-parent.ts
|
5610
5647
|
init_react_import();
|
5611
5648
|
var import_react34 = require("react");
|
5612
|
-
var
|
5649
|
+
var getParent = (itemSelector, pathData, data) => {
|
5613
5650
|
var _a;
|
5614
|
-
|
5615
|
-
const
|
5616
|
-
const
|
5617
|
-
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);
|
5618
5654
|
const lastItem = breadcrumbs[breadcrumbs.length - 1];
|
5619
|
-
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;
|
5620
5656
|
return parent || null;
|
5621
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
|
+
};
|
5622
5669
|
|
5623
|
-
//
|
5624
|
-
|
5625
|
-
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
|
5626
5689
|
var defaultPageFields = {
|
5627
5690
|
title: { type: "text" }
|
5628
5691
|
};
|
5629
|
-
var DefaultFields = ({
|
5630
|
-
children
|
5631
|
-
}) => {
|
5632
|
-
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_jsx_runtime27.Fragment, { children });
|
5633
|
-
};
|
5634
5692
|
var useResolvedFields = () => {
|
5635
5693
|
var _a, _b;
|
5636
5694
|
const { selectedItem, state, config } = useAppContext();
|
@@ -5638,20 +5696,21 @@ var useResolvedFields = () => {
|
|
5638
5696
|
const { data } = state;
|
5639
5697
|
const rootFields = ((_a = config.root) == null ? void 0 : _a.fields) || defaultPageFields;
|
5640
5698
|
const componentConfig = selectedItem ? config.components[selectedItem.type] : null;
|
5641
|
-
const defaultFields = (0,
|
5699
|
+
const defaultFields = (0, import_react36.useMemo)(
|
5642
5700
|
() => (selectedItem ? componentConfig == null ? void 0 : componentConfig.fields : rootFields) || {},
|
5643
5701
|
[selectedItem, rootFields, componentConfig == null ? void 0 : componentConfig.fields]
|
5644
5702
|
);
|
5645
5703
|
const rootProps = data.root.props || data.root;
|
5646
|
-
const [lastSelectedData, setLastSelectedData] = (0,
|
5647
|
-
const [resolvedFields, setResolvedFields] = (0,
|
5648
|
-
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);
|
5649
5708
|
const defaultResolveFields = (_componentData, _params) => defaultFields;
|
5650
5709
|
const componentData = selectedItem ? selectedItem : { props: rootProps, readOnly: data.root.readOnly };
|
5651
5710
|
const hasComponentResolver = selectedItem && (componentConfig == null ? void 0 : componentConfig.resolveFields);
|
5652
5711
|
const hasRootResolver = !selectedItem && ((_b = config.root) == null ? void 0 : _b.resolveFields);
|
5653
5712
|
const hasResolver = hasComponentResolver || hasRootResolver;
|
5654
|
-
const resolveFields = (0,
|
5713
|
+
const resolveFields = (0, import_react36.useCallback)(
|
5655
5714
|
(..._0) => __async(void 0, [..._0], function* (fields = {}) {
|
5656
5715
|
var _a2;
|
5657
5716
|
const lastData = ((_a2 = lastSelectedData.props) == null ? void 0 : _a2.id) === componentData.props.id ? lastSelectedData : null;
|
@@ -5663,7 +5722,7 @@ var useResolvedFields = () => {
|
|
5663
5722
|
{
|
5664
5723
|
changed,
|
5665
5724
|
fields,
|
5666
|
-
lastFields:
|
5725
|
+
lastFields: lastFields.current,
|
5667
5726
|
lastData,
|
5668
5727
|
appState: state,
|
5669
5728
|
parent
|
@@ -5674,7 +5733,7 @@ var useResolvedFields = () => {
|
|
5674
5733
|
return yield config.root.resolveFields(componentData, {
|
5675
5734
|
changed,
|
5676
5735
|
fields,
|
5677
|
-
lastFields:
|
5736
|
+
lastFields: lastFields.current,
|
5678
5737
|
lastData,
|
5679
5738
|
appState: state,
|
5680
5739
|
parent
|
@@ -5683,39 +5742,55 @@ var useResolvedFields = () => {
|
|
5683
5742
|
return defaultResolveFields(componentData, {
|
5684
5743
|
changed,
|
5685
5744
|
fields,
|
5686
|
-
lastFields:
|
5745
|
+
lastFields: lastFields.current,
|
5687
5746
|
lastData
|
5688
5747
|
});
|
5689
5748
|
}),
|
5690
|
-
[data, config, componentData, selectedItem,
|
5749
|
+
[data, config, componentData, selectedItem, state, parent]
|
5691
5750
|
);
|
5692
|
-
const
|
5693
|
-
(0, import_react35.useEffect)(() => {
|
5694
|
-
setHasParent(!!parent);
|
5695
|
-
}, [parent]);
|
5696
|
-
(0, import_react35.useEffect)(() => {
|
5751
|
+
const triggerResolver = (0, import_react36.useCallback)(() => {
|
5697
5752
|
var _a2, _b2;
|
5698
|
-
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) {
|
5699
5754
|
if (hasResolver) {
|
5700
5755
|
setFieldsLoading(true);
|
5701
5756
|
resolveFields(defaultFields).then((fields) => {
|
5702
5757
|
setResolvedFields(fields || {});
|
5758
|
+
lastFields.current = fields;
|
5703
5759
|
setFieldsLoading(false);
|
5704
5760
|
});
|
5705
5761
|
return;
|
5706
5762
|
}
|
5707
5763
|
}
|
5708
5764
|
setResolvedFields(defaultFields);
|
5709
|
-
}, [
|
5710
|
-
|
5711
|
-
defaultFields,
|
5765
|
+
}, [defaultFields, state.ui.itemSelector, hasResolver, parent]);
|
5766
|
+
useOnValueChange(
|
5712
5767
|
state.ui.itemSelector,
|
5713
|
-
|
5714
|
-
|
5715
|
-
|
5716
|
-
|
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
|
+
}, []);
|
5717
5783
|
return [resolvedFields, fieldsLoading];
|
5718
5784
|
};
|
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
|
+
};
|
5719
5794
|
var Fields = ({ wrapFields = true }) => {
|
5720
5795
|
var _a, _b;
|
5721
5796
|
const {
|
@@ -5734,7 +5809,7 @@ var Fields = ({ wrapFields = true }) => {
|
|
5734
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;
|
5735
5810
|
const isLoading = fieldsResolving || componentResolving;
|
5736
5811
|
const rootProps = data.root.props || data.root;
|
5737
|
-
const Wrapper = (0,
|
5812
|
+
const Wrapper = (0, import_react37.useMemo)(() => overrides.fields || DefaultFields, [overrides]);
|
5738
5813
|
return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
5739
5814
|
"form",
|
5740
5815
|
{
|
@@ -5855,7 +5930,7 @@ init_react_import();
|
|
5855
5930
|
|
5856
5931
|
// lib/use-component-list.tsx
|
5857
5932
|
init_react_import();
|
5858
|
-
var
|
5933
|
+
var import_react38 = require("react");
|
5859
5934
|
|
5860
5935
|
// components/ComponentList/index.tsx
|
5861
5936
|
init_react_import();
|
@@ -5922,8 +5997,8 @@ ComponentList.Item = ComponentListItem;
|
|
5922
5997
|
// lib/use-component-list.tsx
|
5923
5998
|
var import_jsx_runtime29 = require("react/jsx-runtime");
|
5924
5999
|
var useComponentList = (config, ui) => {
|
5925
|
-
const [componentList, setComponentList] = (0,
|
5926
|
-
(0,
|
6000
|
+
const [componentList, setComponentList] = (0, import_react38.useState)();
|
6001
|
+
(0, import_react38.useEffect)(() => {
|
5927
6002
|
var _a, _b, _c;
|
5928
6003
|
if (Object.keys(ui.componentList).length > 0) {
|
5929
6004
|
const matchedComponents = [];
|
@@ -5992,22 +6067,22 @@ var useComponentList = (config, ui) => {
|
|
5992
6067
|
};
|
5993
6068
|
|
5994
6069
|
// components/Puck/components/Components/index.tsx
|
5995
|
-
var
|
6070
|
+
var import_react39 = require("react");
|
5996
6071
|
var import_jsx_runtime30 = require("react/jsx-runtime");
|
5997
6072
|
var Components = () => {
|
5998
6073
|
const { config, state, overrides } = useAppContext();
|
5999
6074
|
const componentList = useComponentList(config, state.ui);
|
6000
|
-
const Wrapper = (0,
|
6075
|
+
const Wrapper = (0, import_react39.useMemo)(() => overrides.components || "div", [overrides]);
|
6001
6076
|
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Wrapper, { children: componentList ? componentList : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(ComponentList, { id: "all" }) });
|
6002
6077
|
};
|
6003
6078
|
|
6004
6079
|
// components/Puck/components/Preview/index.tsx
|
6005
6080
|
init_react_import();
|
6006
|
-
var
|
6081
|
+
var import_react41 = require("react");
|
6007
6082
|
|
6008
6083
|
// components/AutoFrame/index.tsx
|
6009
6084
|
init_react_import();
|
6010
|
-
var
|
6085
|
+
var import_react40 = require("react");
|
6011
6086
|
var import_object_hash = __toESM(require("object-hash"));
|
6012
6087
|
var import_react_dom3 = require("react-dom");
|
6013
6088
|
var import_jsx_runtime31 = require("react/jsx-runtime");
|
@@ -6053,7 +6128,7 @@ var CopyHostStyles = ({
|
|
6053
6128
|
onStylesLoaded = () => null
|
6054
6129
|
}) => {
|
6055
6130
|
const { document: doc, window: win } = useFrame();
|
6056
|
-
(0,
|
6131
|
+
(0, import_react40.useEffect)(() => {
|
6057
6132
|
if (!win || !doc) {
|
6058
6133
|
return () => {
|
6059
6134
|
};
|
@@ -6212,8 +6287,8 @@ var CopyHostStyles = ({
|
|
6212
6287
|
}, []);
|
6213
6288
|
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_jsx_runtime31.Fragment, { children });
|
6214
6289
|
};
|
6215
|
-
var autoFrameContext = (0,
|
6216
|
-
var useFrame = () => (0,
|
6290
|
+
var autoFrameContext = (0, import_react40.createContext)({});
|
6291
|
+
var useFrame = () => (0, import_react40.useContext)(autoFrameContext);
|
6217
6292
|
function AutoFrame(_a) {
|
6218
6293
|
var _b = _a, {
|
6219
6294
|
children,
|
@@ -6230,10 +6305,10 @@ function AutoFrame(_a) {
|
|
6230
6305
|
"onStylesLoaded",
|
6231
6306
|
"frameRef"
|
6232
6307
|
]);
|
6233
|
-
const [loaded, setLoaded] = (0,
|
6234
|
-
const [ctx, setCtx] = (0,
|
6235
|
-
const [mountTarget, setMountTarget] = (0,
|
6236
|
-
(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)(() => {
|
6237
6312
|
var _a2;
|
6238
6313
|
if (frameRef.current) {
|
6239
6314
|
setCtx({
|
@@ -6327,7 +6402,7 @@ var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
6327
6402
|
var getClassName23 = get_class_name_factory_default("PuckPreview", styles_module_default18);
|
6328
6403
|
var useBubbleIframeEvents = (ref) => {
|
6329
6404
|
const { status } = useAppContext();
|
6330
|
-
(0,
|
6405
|
+
(0, import_react41.useEffect)(() => {
|
6331
6406
|
var _a;
|
6332
6407
|
if (ref.current && status === "READY") {
|
6333
6408
|
const iframe = ref.current;
|
@@ -6366,7 +6441,7 @@ var useBubbleIframeEvents = (ref) => {
|
|
6366
6441
|
};
|
6367
6442
|
var Preview2 = ({ id = "puck-preview" }) => {
|
6368
6443
|
const { config, dispatch, state, setStatus, iframe, overrides } = useAppContext();
|
6369
|
-
const Page = (0,
|
6444
|
+
const Page = (0, import_react41.useCallback)(
|
6370
6445
|
(pageProps) => {
|
6371
6446
|
var _a, _b;
|
6372
6447
|
return ((_a = config.root) == null ? void 0 : _a.render) ? (_b = config.root) == null ? void 0 : _b.render(__spreadValues({
|
@@ -6375,9 +6450,9 @@ var Preview2 = ({ id = "puck-preview" }) => {
|
|
6375
6450
|
},
|
6376
6451
|
[config.root]
|
6377
6452
|
);
|
6378
|
-
const Frame = (0,
|
6453
|
+
const Frame = (0, import_react41.useMemo)(() => overrides.iframe, [overrides]);
|
6379
6454
|
const rootProps = state.data.root.props || state.data.root;
|
6380
|
-
const ref = (0,
|
6455
|
+
const ref = (0, import_react41.useRef)(null);
|
6381
6456
|
useBubbleIframeEvents(ref);
|
6382
6457
|
const inner = state.ui.previewMode === "edit" ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
6383
6458
|
Page,
|
@@ -6474,7 +6549,7 @@ var scrollIntoView = (el) => {
|
|
6474
6549
|
};
|
6475
6550
|
|
6476
6551
|
// components/LayerTree/index.tsx
|
6477
|
-
var
|
6552
|
+
var import_react42 = require("react");
|
6478
6553
|
|
6479
6554
|
// lib/is-child-of-zone.ts
|
6480
6555
|
init_react_import();
|
@@ -6520,7 +6595,7 @@ var LayerTree = ({
|
|
6520
6595
|
label
|
6521
6596
|
}) => {
|
6522
6597
|
const zones = data.zones || {};
|
6523
|
-
const ctx = (0,
|
6598
|
+
const ctx = (0, import_react42.useContext)(dropZoneContext);
|
6524
6599
|
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
|
6525
6600
|
label && /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName24("zoneTitle"), children: [
|
6526
6601
|
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName24("zoneIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Layers, { size: "16" }) }),
|
@@ -6627,13 +6702,13 @@ var LayerTree = ({
|
|
6627
6702
|
};
|
6628
6703
|
|
6629
6704
|
// components/Puck/components/Outline/index.tsx
|
6630
|
-
var
|
6705
|
+
var import_react43 = require("react");
|
6631
6706
|
var import_jsx_runtime35 = require("react/jsx-runtime");
|
6632
6707
|
var Outline = () => {
|
6633
6708
|
const { dispatch, state, overrides, config } = useAppContext();
|
6634
6709
|
const { data, ui } = state;
|
6635
6710
|
const { itemSelector } = ui;
|
6636
|
-
const setItemSelector = (0,
|
6711
|
+
const setItemSelector = (0, import_react43.useCallback)(
|
6637
6712
|
(newItemSelector) => {
|
6638
6713
|
dispatch({
|
6639
6714
|
type: "setUi",
|
@@ -6642,7 +6717,7 @@ var Outline = () => {
|
|
6642
6717
|
},
|
6643
6718
|
[]
|
6644
6719
|
);
|
6645
|
-
const Wrapper = (0,
|
6720
|
+
const Wrapper = (0, import_react43.useMemo)(() => overrides.outline || "div", [overrides]);
|
6646
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: [
|
6647
6722
|
(ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId]) && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
6648
6723
|
LayerTree,
|
@@ -6756,19 +6831,19 @@ function usePuckHistory({
|
|
6756
6831
|
|
6757
6832
|
// lib/use-history-store.ts
|
6758
6833
|
init_react_import();
|
6759
|
-
var
|
6834
|
+
var import_react44 = require("react");
|
6760
6835
|
var import_use_debounce3 = require("use-debounce");
|
6761
6836
|
var EMPTY_HISTORY_INDEX = 0;
|
6762
6837
|
function useHistoryStore(initialHistory) {
|
6763
6838
|
var _a, _b;
|
6764
|
-
const [histories, setHistories] = (0,
|
6839
|
+
const [histories, setHistories] = (0, import_react44.useState)(
|
6765
6840
|
(_a = initialHistory == null ? void 0 : initialHistory.histories) != null ? _a : []
|
6766
6841
|
);
|
6767
6842
|
const updateHistories = (histories2) => {
|
6768
6843
|
setHistories(histories2);
|
6769
6844
|
setIndex(histories2.length - 1);
|
6770
6845
|
};
|
6771
|
-
const [index, setIndex] = (0,
|
6846
|
+
const [index, setIndex] = (0, import_react44.useState)(
|
6772
6847
|
(_b = initialHistory == null ? void 0 : initialHistory.index) != null ? _b : EMPTY_HISTORY_INDEX
|
6773
6848
|
);
|
6774
6849
|
const hasPast = index > EMPTY_HISTORY_INDEX;
|
@@ -6928,11 +7003,11 @@ var getBox = function getBox2(el) {
|
|
6928
7003
|
};
|
6929
7004
|
|
6930
7005
|
// components/Puck/components/Canvas/index.tsx
|
6931
|
-
var
|
7006
|
+
var import_react46 = require("react");
|
6932
7007
|
|
6933
7008
|
// components/ViewportControls/index.tsx
|
6934
7009
|
init_react_import();
|
6935
|
-
var
|
7010
|
+
var import_react45 = require("react");
|
6936
7011
|
|
6937
7012
|
// css-module:/home/runner/work/puck/puck/packages/core/components/ViewportControls/styles.module.css#css-module
|
6938
7013
|
init_react_import();
|
@@ -6955,8 +7030,8 @@ var ViewportButton = ({
|
|
6955
7030
|
onClick
|
6956
7031
|
}) => {
|
6957
7032
|
const { state } = useAppContext();
|
6958
|
-
const [isActive, setIsActive] = (0,
|
6959
|
-
(0,
|
7033
|
+
const [isActive, setIsActive] = (0, import_react45.useState)(false);
|
7034
|
+
(0, import_react45.useEffect)(() => {
|
6960
7035
|
setIsActive(width === state.ui.viewports.current.width);
|
6961
7036
|
}, [width, state.ui.viewports.current.width]);
|
6962
7037
|
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: getClassNameButton({ isActive }), children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
@@ -6992,7 +7067,7 @@ var ViewportControls = ({
|
|
6992
7067
|
const defaultsContainAutoZoom = defaultZoomOptions.find(
|
6993
7068
|
(option) => option.value === autoZoom
|
6994
7069
|
);
|
6995
|
-
const zoomOptions = (0,
|
7070
|
+
const zoomOptions = (0, import_react45.useMemo)(
|
6996
7071
|
() => [
|
6997
7072
|
...defaultZoomOptions,
|
6998
7073
|
...defaultsContainAutoZoom ? [] : [
|
@@ -7115,17 +7190,17 @@ var Canvas = () => {
|
|
7115
7190
|
const { status, iframe } = useAppContext();
|
7116
7191
|
const { dispatch, state, overrides, setUi, zoomConfig, setZoomConfig } = useAppContext();
|
7117
7192
|
const { ui } = state;
|
7118
|
-
const frameRef = (0,
|
7119
|
-
const [showTransition, setShowTransition] = (0,
|
7120
|
-
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)(() => {
|
7121
7196
|
const PuckDefault = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_jsx_runtime37.Fragment, { children });
|
7122
7197
|
return PuckDefault;
|
7123
7198
|
}, []);
|
7124
|
-
const CustomPreview = (0,
|
7199
|
+
const CustomPreview = (0, import_react46.useMemo)(
|
7125
7200
|
() => overrides.preview || defaultRender,
|
7126
7201
|
[overrides]
|
7127
7202
|
);
|
7128
|
-
const getFrameDimensions = (0,
|
7203
|
+
const getFrameDimensions = (0, import_react46.useCallback)(() => {
|
7129
7204
|
if (frameRef.current) {
|
7130
7205
|
const frame = frameRef.current;
|
7131
7206
|
const box = getBox(frame);
|
@@ -7133,7 +7208,7 @@ var Canvas = () => {
|
|
7133
7208
|
}
|
7134
7209
|
return { width: 0, height: 0 };
|
7135
7210
|
}, [frameRef]);
|
7136
|
-
const resetAutoZoom = (0,
|
7211
|
+
const resetAutoZoom = (0, import_react46.useCallback)(
|
7137
7212
|
(ui2 = state.ui) => {
|
7138
7213
|
if (frameRef.current) {
|
7139
7214
|
setZoomConfig(
|
@@ -7143,11 +7218,11 @@ var Canvas = () => {
|
|
7143
7218
|
},
|
7144
7219
|
[frameRef, zoomConfig, state.ui]
|
7145
7220
|
);
|
7146
|
-
(0,
|
7221
|
+
(0, import_react46.useEffect)(() => {
|
7147
7222
|
setShowTransition(false);
|
7148
7223
|
resetAutoZoom();
|
7149
7224
|
}, [frameRef, ui.leftSideBarVisible, ui.rightSideBarVisible]);
|
7150
|
-
(0,
|
7225
|
+
(0, import_react46.useEffect)(() => {
|
7151
7226
|
const { height: frameHeight } = getFrameDimensions();
|
7152
7227
|
if (ui.viewports.current.height === "auto") {
|
7153
7228
|
setZoomConfig(__spreadProps(__spreadValues({}, zoomConfig), {
|
@@ -7155,13 +7230,13 @@ var Canvas = () => {
|
|
7155
7230
|
}));
|
7156
7231
|
}
|
7157
7232
|
}, [zoomConfig.zoom]);
|
7158
|
-
(0,
|
7233
|
+
(0, import_react46.useEffect)(() => {
|
7159
7234
|
if (ZOOM_ON_CHANGE) {
|
7160
7235
|
setShowTransition(true);
|
7161
7236
|
resetAutoZoom(ui);
|
7162
7237
|
}
|
7163
7238
|
}, [ui.viewports.current.width]);
|
7164
|
-
(0,
|
7239
|
+
(0, import_react46.useEffect)(() => {
|
7165
7240
|
const cb = () => {
|
7166
7241
|
setShowTransition(false);
|
7167
7242
|
resetAutoZoom();
|
@@ -7171,8 +7246,8 @@ var Canvas = () => {
|
|
7171
7246
|
window.removeEventListener("resize", cb);
|
7172
7247
|
};
|
7173
7248
|
}, []);
|
7174
|
-
const [showLoader, setShowLoader] = (0,
|
7175
|
-
(0,
|
7249
|
+
const [showLoader, setShowLoader] = (0, import_react46.useState)(false);
|
7250
|
+
(0, import_react46.useEffect)(() => {
|
7176
7251
|
setTimeout(() => {
|
7177
7252
|
setShowLoader(true);
|
7178
7253
|
}, 500);
|
@@ -7250,7 +7325,7 @@ var Canvas = () => {
|
|
7250
7325
|
|
7251
7326
|
// lib/use-loaded-overrides.ts
|
7252
7327
|
init_react_import();
|
7253
|
-
var
|
7328
|
+
var import_react47 = require("react");
|
7254
7329
|
|
7255
7330
|
// lib/load-overrides.ts
|
7256
7331
|
init_react_import();
|
@@ -7289,7 +7364,7 @@ var useLoadedOverrides = ({
|
|
7289
7364
|
overrides,
|
7290
7365
|
plugins
|
7291
7366
|
}) => {
|
7292
|
-
return (0,
|
7367
|
+
return (0, import_react47.useMemo)(() => {
|
7293
7368
|
return loadOverrides({ overrides, plugins });
|
7294
7369
|
}, [plugins, overrides]);
|
7295
7370
|
};
|
@@ -7301,14 +7376,14 @@ var DefaultOverride = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime38
|
|
7301
7376
|
|
7302
7377
|
// lib/use-inject-css.ts
|
7303
7378
|
init_react_import();
|
7304
|
-
var
|
7379
|
+
var import_react48 = require("react");
|
7305
7380
|
var styles = ``;
|
7306
7381
|
var useInjectStyleSheet = (initialStyles, iframeEnabled) => {
|
7307
|
-
const [el, setEl] = (0,
|
7308
|
-
(0,
|
7382
|
+
const [el, setEl] = (0, import_react48.useState)();
|
7383
|
+
(0, import_react48.useEffect)(() => {
|
7309
7384
|
setEl(document.createElement("style"));
|
7310
7385
|
}, []);
|
7311
|
-
(0,
|
7386
|
+
(0, import_react48.useEffect)(() => {
|
7312
7387
|
var _a;
|
7313
7388
|
if (!el || typeof window === "undefined") {
|
7314
7389
|
return;
|
@@ -7328,10 +7403,10 @@ var useInjectGlobalCss = (iframeEnabled) => {
|
|
7328
7403
|
|
7329
7404
|
// lib/use-preview-mode-hotkeys.ts
|
7330
7405
|
init_react_import();
|
7331
|
-
var
|
7406
|
+
var import_react49 = require("react");
|
7332
7407
|
var import_react_hotkeys_hook2 = require("react-hotkeys-hook");
|
7333
7408
|
var usePreviewModeHotkeys = (dispatch, iframeEnabled) => {
|
7334
|
-
const toggleInteractive = (0,
|
7409
|
+
const toggleInteractive = (0, import_react49.useCallback)(() => {
|
7335
7410
|
dispatch({
|
7336
7411
|
type: "setUi",
|
7337
7412
|
ui: (ui) => ({
|
@@ -7383,7 +7458,7 @@ function Puck({
|
|
7383
7458
|
waitForStyles: true
|
7384
7459
|
}, _iframe);
|
7385
7460
|
useInjectGlobalCss(iframe.enabled);
|
7386
|
-
const [generatedAppState] = (0,
|
7461
|
+
const [generatedAppState] = (0, import_react50.useState)(() => {
|
7387
7462
|
var _a2, _b2, _c, _d, _e, _f, _g, _h, _i;
|
7388
7463
|
const initial = __spreadValues(__spreadValues({}, defaultAppState.ui), initialUi);
|
7389
7464
|
let clientUiState = {};
|
@@ -7455,14 +7530,14 @@ function Puck({
|
|
7455
7530
|
histories,
|
7456
7531
|
index: initialHistoryIndex
|
7457
7532
|
});
|
7458
|
-
const [reducer] = (0,
|
7533
|
+
const [reducer] = (0, import_react50.useState)(
|
7459
7534
|
() => createReducer({
|
7460
7535
|
config,
|
7461
7536
|
record: historyStore.record,
|
7462
7537
|
onAction
|
7463
7538
|
})
|
7464
7539
|
);
|
7465
|
-
const [appState, dispatch] = (0,
|
7540
|
+
const [appState, dispatch] = (0, import_react50.useReducer)(
|
7466
7541
|
reducer,
|
7467
7542
|
flushZones(initialAppState)
|
7468
7543
|
);
|
@@ -7473,14 +7548,14 @@ function Puck({
|
|
7473
7548
|
historyStore,
|
7474
7549
|
iframeEnabled: (_a = _iframe == null ? void 0 : _iframe.enabled) != null ? _a : true
|
7475
7550
|
});
|
7476
|
-
const [menuOpen, setMenuOpen] = (0,
|
7551
|
+
const [menuOpen, setMenuOpen] = (0, import_react50.useState)(false);
|
7477
7552
|
const { itemSelector, leftSideBarVisible, rightSideBarVisible } = ui;
|
7478
7553
|
const selectedItem = itemSelector ? getItem(itemSelector, data) : null;
|
7479
|
-
(0,
|
7554
|
+
(0, import_react50.useEffect)(() => {
|
7480
7555
|
if (onChange) onChange(data);
|
7481
7556
|
}, [data]);
|
7482
7557
|
const rootProps = data.root.props || data.root;
|
7483
|
-
const toggleSidebars = (0,
|
7558
|
+
const toggleSidebars = (0, import_react50.useCallback)(
|
7484
7559
|
(sidebar) => {
|
7485
7560
|
const widerViewport = window.matchMedia("(min-width: 638px)").matches;
|
7486
7561
|
const sideBarVisible = sidebar === "left" ? leftSideBarVisible : rightSideBarVisible;
|
@@ -7494,7 +7569,7 @@ function Puck({
|
|
7494
7569
|
},
|
7495
7570
|
[dispatch, leftSideBarVisible, rightSideBarVisible]
|
7496
7571
|
);
|
7497
|
-
(0,
|
7572
|
+
(0, import_react50.useEffect)(() => {
|
7498
7573
|
if (!window.matchMedia("(min-width: 638px)").matches) {
|
7499
7574
|
dispatch({
|
7500
7575
|
type: "setUi",
|
@@ -7517,7 +7592,7 @@ function Puck({
|
|
7517
7592
|
window.removeEventListener("resize", handleResize);
|
7518
7593
|
};
|
7519
7594
|
}, []);
|
7520
|
-
const defaultHeaderRender = (0,
|
7595
|
+
const defaultHeaderRender = (0, import_react50.useMemo)(() => {
|
7521
7596
|
if (renderHeader) {
|
7522
7597
|
console.warn(
|
7523
7598
|
"`renderHeader` is deprecated. Please use `overrides.header` and the `usePuck` hook instead"
|
@@ -7531,7 +7606,7 @@ function Puck({
|
|
7531
7606
|
}
|
7532
7607
|
return DefaultOverride;
|
7533
7608
|
}, [renderHeader]);
|
7534
|
-
const defaultHeaderActionsRender = (0,
|
7609
|
+
const defaultHeaderActionsRender = (0, import_react50.useMemo)(() => {
|
7535
7610
|
if (renderHeaderActions) {
|
7536
7611
|
console.warn(
|
7537
7612
|
"`renderHeaderActions` is deprecated. Please use `overrides.headerActions` and the `usePuck` hook instead."
|
@@ -7548,20 +7623,20 @@ function Puck({
|
|
7548
7623
|
overrides,
|
7549
7624
|
plugins
|
7550
7625
|
});
|
7551
|
-
const CustomPuck = (0,
|
7626
|
+
const CustomPuck = (0, import_react50.useMemo)(
|
7552
7627
|
() => loadedOverrides.puck || DefaultOverride,
|
7553
7628
|
[loadedOverrides]
|
7554
7629
|
);
|
7555
|
-
const CustomHeader = (0,
|
7630
|
+
const CustomHeader = (0, import_react50.useMemo)(
|
7556
7631
|
() => loadedOverrides.header || defaultHeaderRender,
|
7557
7632
|
[loadedOverrides]
|
7558
7633
|
);
|
7559
|
-
const CustomHeaderActions = (0,
|
7634
|
+
const CustomHeaderActions = (0, import_react50.useMemo)(
|
7560
7635
|
() => loadedOverrides.headerActions || defaultHeaderActionsRender,
|
7561
7636
|
[loadedOverrides]
|
7562
7637
|
);
|
7563
|
-
const [mounted, setMounted] = (0,
|
7564
|
-
(0,
|
7638
|
+
const [mounted, setMounted] = (0, import_react50.useState)(false);
|
7639
|
+
(0, import_react50.useEffect)(() => {
|
7565
7640
|
setMounted(true);
|
7566
7641
|
}, []);
|
7567
7642
|
const selectedComponentConfig = selectedItem && config.components[selectedItem.type];
|