@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/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": "_InputWrapper_1l5m8_1", "Input": "_Input_1l5m8_1", "Input-label": "_Input-label_1l5m8_26", "Input-labelIcon": "_Input-labelIcon_1l5m8_35", "Input-disabledIcon": "_Input-disabledIcon_1l5m8_42", "Input-input": "_Input-input_1l5m8_47", "Input--readOnly": "_Input--readOnly_1l5m8_91", "Input-radioGroupItems": "_Input-radioGroupItems_1l5m8_102", "Input-radio": "_Input-radio_1l5m8_102", "Input-radioInner": "_Input-radioInner_1l5m8_119", "Input-radioInput": "_Input-radioInput_1l5m8_164" };
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: typeof value === "undefined" ? "" : value.toString(),
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
- if (isSelected) {
3259
- ctx == null ? void 0 : ctx.registerPath({
3259
+ ctx == null ? void 0 : ctx.registerPath(
3260
+ id,
3261
+ {
3260
3262
  index,
3261
3263
  zone: zoneCompound
3262
- });
3263
- }
3264
- }, [isSelected]);
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(content, zoneCompound);
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
- [item.props.id]: {
5077
+ [id2]: {
5051
5078
  path: [
5052
5079
  ...parentPathData.path,
5053
5080
  ...selector.zone ? [selector.zone] : []
5054
5081
  ],
5055
- label: item.type
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 import_react48 = require("react");
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": "_PuckFields_jp3lw_1", "PuckFields--isLoading": "_PuckFields--isLoading_jp3lw_6", "PuckFields-loadingOverlay": "_PuckFields-loadingOverlay_jp3lw_10", "PuckFields-loadingOverlayInner": "_PuckFields-loadingOverlayInner_jp3lw_25" };
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 import_react35 = require("react");
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 useParent = (itemSelector) => {
5649
+ var getParent = (itemSelector, pathData, data) => {
5608
5650
  var _a;
5609
- const { selectedItem, state } = useAppContext();
5610
- const { pathData } = (0, import_react34.useContext)(dropZoneContext) || {};
5611
- const item = itemSelector ? getItem(itemSelector, state.data) : selectedItem;
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, state.data)) != null ? _a : null : null;
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
- // components/Puck/components/Fields/index.tsx
5619
- var import_jsx_runtime27 = require("react/jsx-runtime");
5620
- var getClassName21 = get_class_name_factory_default("PuckFields", styles_module_default16);
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, import_react35.useMemo)(
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, import_react35.useState)({});
5642
- const [resolvedFields, setResolvedFields] = (0, import_react35.useState)(defaultFields);
5643
- const [fieldsLoading, setFieldsLoading] = (0, import_react35.useState)(false);
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, import_react35.useCallback)(
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: resolvedFields,
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: resolvedFields,
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: resolvedFields,
5745
+ lastFields: lastFields.current,
5682
5746
  lastData
5683
5747
  });
5684
5748
  }),
5685
- [data, config, componentData, selectedItem, resolvedFields, state, parent]
5749
+ [data, config, componentData, selectedItem, state, parent]
5686
5750
  );
5687
- const [hasParent, setHasParent] = (0, import_react35.useState)(false);
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" || hasParent) {
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
- } else {
5701
- setResolvedFields(defaultFields);
5761
+ return;
5702
5762
  }
5703
5763
  }
5704
- }, [
5705
- data,
5706
- defaultFields,
5764
+ setResolvedFields(defaultFields);
5765
+ }, [defaultFields, state.ui.itemSelector, hasResolver, parent]);
5766
+ useOnValueChange(
5707
5767
  state.ui.itemSelector,
5708
- selectedItem,
5709
- hasResolver,
5710
- hasParent
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
- var Fields = () => {
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, import_react35.useMemo)(() => overrides.fields || DefaultFields, [overrides]);
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
- id
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
- id
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 import_react36 = require("react");
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, import_react36.useState)();
5923
- (0, import_react36.useEffect)(() => {
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 import_react37 = require("react");
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, import_react37.useMemo)(() => overrides.components || "div", [overrides]);
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 import_react39 = require("react");
6081
+ var import_react41 = require("react");
6004
6082
 
6005
6083
  // components/AutoFrame/index.tsx
6006
6084
  init_react_import();
6007
- var import_react38 = require("react");
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, import_react38.useEffect)(() => {
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, import_react38.createContext)({});
6213
- var useFrame = () => (0, import_react38.useContext)(autoFrameContext);
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, import_react38.useState)(false);
6231
- const [ctx, setCtx] = (0, import_react38.useState)({});
6232
- const [mountTarget, setMountTarget] = (0, import_react38.useState)();
6233
- (0, import_react38.useEffect)(() => {
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, import_react39.useEffect)(() => {
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, import_react39.useCallback)(
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, import_react39.useMemo)(() => overrides.iframe, [overrides]);
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, import_react39.useRef)(null);
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 import_react40 = require("react");
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, import_react40.useContext)(dropZoneContext);
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 import_react41 = require("react");
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, import_react41.useCallback)(
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, import_react41.useMemo)(() => overrides.outline || "div", [overrides]);
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 import_react42 = require("react");
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, import_react42.useState)(
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, import_react42.useState)(
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 import_react44 = require("react");
7006
+ var import_react46 = require("react");
6929
7007
 
6930
7008
  // components/ViewportControls/index.tsx
6931
7009
  init_react_import();
6932
- var import_react43 = require("react");
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, import_react43.useState)(false);
6956
- (0, import_react43.useEffect)(() => {
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, import_react43.useMemo)(
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, import_react44.useRef)(null);
7116
- const [showTransition, setShowTransition] = (0, import_react44.useState)(false);
7117
- const defaultRender = (0, import_react44.useMemo)(() => {
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, import_react44.useMemo)(
7199
+ const CustomPreview = (0, import_react46.useMemo)(
7122
7200
  () => overrides.preview || defaultRender,
7123
7201
  [overrides]
7124
7202
  );
7125
- const getFrameDimensions = (0, import_react44.useCallback)(() => {
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, import_react44.useCallback)(
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, import_react44.useEffect)(() => {
7221
+ (0, import_react46.useEffect)(() => {
7144
7222
  setShowTransition(false);
7145
7223
  resetAutoZoom();
7146
7224
  }, [frameRef, ui.leftSideBarVisible, ui.rightSideBarVisible]);
7147
- (0, import_react44.useEffect)(() => {
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, import_react44.useEffect)(() => {
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, import_react44.useEffect)(() => {
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, import_react44.useState)(false);
7172
- (0, import_react44.useEffect)(() => {
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 import_react45 = require("react");
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, import_react45.useMemo)(() => {
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 import_react46 = require("react");
7379
+ var import_react48 = require("react");
7302
7380
  var styles = ``;
7303
7381
  var useInjectStyleSheet = (initialStyles, iframeEnabled) => {
7304
- const [el, setEl] = (0, import_react46.useState)();
7305
- (0, import_react46.useEffect)(() => {
7382
+ const [el, setEl] = (0, import_react48.useState)();
7383
+ (0, import_react48.useEffect)(() => {
7306
7384
  setEl(document.createElement("style"));
7307
7385
  }, []);
7308
- (0, import_react46.useEffect)(() => {
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 import_react47 = require("react");
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, import_react47.useCallback)(() => {
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, import_react48.useState)(() => {
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, import_react48.useState)(
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, import_react48.useReducer)(
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, import_react48.useState)(false);
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, import_react48.useEffect)(() => {
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, import_react48.useCallback)(
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, import_react48.useEffect)(() => {
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, import_react48.useMemo)(() => {
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, import_react48.useMemo)(() => {
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, import_react48.useMemo)(
7626
+ const CustomPuck = (0, import_react50.useMemo)(
7549
7627
  () => loadedOverrides.puck || DefaultOverride,
7550
7628
  [loadedOverrides]
7551
7629
  );
7552
- const CustomHeader = (0, import_react48.useMemo)(
7630
+ const CustomHeader = (0, import_react50.useMemo)(
7553
7631
  () => loadedOverrides.header || defaultHeaderRender,
7554
7632
  [loadedOverrides]
7555
7633
  );
7556
- const CustomHeaderActions = (0, import_react48.useMemo)(
7634
+ const CustomHeaderActions = (0, import_react50.useMemo)(
7557
7635
  () => loadedOverrides.headerActions || defaultHeaderActionsRender,
7558
7636
  [loadedOverrides]
7559
7637
  );
7560
- const [mounted, setMounted] = (0, import_react48.useState)(false);
7561
- (0, import_react48.useEffect)(() => {
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];