@measured/puck-plugin-heading-analyzer 0.16.0-canary.c7007ac → 0.16.0-canary.cad95b8

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.js CHANGED
@@ -51483,7 +51483,7 @@ var require_dist = __commonJS({
51483
51483
  var HostPortal = 4;
51484
51484
  var HostComponent = 5;
51485
51485
  var HostText = 6;
51486
- var Fragment19 = 7;
51486
+ var Fragment20 = 7;
51487
51487
  var Mode = 8;
51488
51488
  var ContextConsumer = 9;
51489
51489
  var ContextProvider = 10;
@@ -52639,7 +52639,7 @@ var require_dist = __commonJS({
52639
52639
  return "DehydratedFragment";
52640
52640
  case ForwardRef:
52641
52641
  return getWrappedName$1(type, type.render, "ForwardRef");
52642
- case Fragment19:
52642
+ case Fragment20:
52643
52643
  return "Fragment";
52644
52644
  case HostComponent:
52645
52645
  return type;
@@ -62290,7 +62290,7 @@ var require_dist = __commonJS({
62290
62290
  }
62291
62291
  }
62292
62292
  function updateFragment2(returnFiber, current2, fragment, lanes, key) {
62293
- if (current2 === null || current2.tag !== Fragment19) {
62293
+ if (current2 === null || current2.tag !== Fragment20) {
62294
62294
  var created = createFiberFromFragment(fragment, returnFiber.mode, lanes, key);
62295
62295
  created.return = returnFiber;
62296
62296
  return created;
@@ -62693,7 +62693,7 @@ var require_dist = __commonJS({
62693
62693
  if (child.key === key) {
62694
62694
  var elementType = element.type;
62695
62695
  if (elementType === REACT_FRAGMENT_TYPE) {
62696
- if (child.tag === Fragment19) {
62696
+ if (child.tag === Fragment20) {
62697
62697
  deleteRemainingChildren(returnFiber, child.sibling);
62698
62698
  var existing = useFiber(child, element.props.children);
62699
62699
  existing.return = returnFiber;
@@ -66868,7 +66868,7 @@ var require_dist = __commonJS({
66868
66868
  var _resolvedProps2 = workInProgress2.elementType === type ? _unresolvedProps2 : resolveDefaultProps(type, _unresolvedProps2);
66869
66869
  return updateForwardRef(current2, workInProgress2, type, _resolvedProps2, renderLanes2);
66870
66870
  }
66871
- case Fragment19:
66871
+ case Fragment20:
66872
66872
  return updateFragment(current2, workInProgress2, renderLanes2);
66873
66873
  case Mode:
66874
66874
  return updateMode(current2, workInProgress2, renderLanes2);
@@ -67140,7 +67140,7 @@ var require_dist = __commonJS({
67140
67140
  case SimpleMemoComponent:
67141
67141
  case FunctionComponent:
67142
67142
  case ForwardRef:
67143
- case Fragment19:
67143
+ case Fragment20:
67144
67144
  case Mode:
67145
67145
  case Profiler:
67146
67146
  case ContextConsumer:
@@ -71391,7 +71391,7 @@ var require_dist = __commonJS({
71391
71391
  return fiber;
71392
71392
  }
71393
71393
  function createFiberFromFragment(elements, mode, lanes, key) {
71394
- var fiber = createFiber(Fragment19, elements, key, mode);
71394
+ var fiber = createFiber(Fragment20, elements, key, mode);
71395
71395
  fiber.lanes = lanes;
71396
71396
  return fiber;
71397
71397
  }
@@ -72510,6 +72510,8 @@ var require_dist = __commonJS({
72510
72510
  });
72511
72511
  var core_exports = {};
72512
72512
  __export2(core_exports, {
72513
+ Action: () => Action,
72514
+ ActionBar: () => ActionBar,
72513
72515
  AutoField: () => AutoField,
72514
72516
  AutoFieldPrivate: () => AutoFieldPrivate,
72515
72517
  Button: () => Button,
@@ -72564,12 +72566,30 @@ var require_dist = __commonJS({
72564
72566
  };
72565
72567
  var get_class_name_factory_default2 = getClassNameFactory2;
72566
72568
  init_react_import2();
72567
- var styles_module_default5 = { "Input": "_Input_3pq3z_1", "Input-label": "_Input-label_3pq3z_26", "Input-labelIcon": "_Input-labelIcon_3pq3z_35", "Input-disabledIcon": "_Input-disabledIcon_3pq3z_42", "Input-input": "_Input-input_3pq3z_47", "Input--readOnly": "_Input--readOnly_3pq3z_91", "Input-radioGroupItems": "_Input-radioGroupItems_3pq3z_102", "Input-radio": "_Input-radio_3pq3z_102", "Input-radioInner": "_Input-radioInner_3pq3z_119", "Input-radioInput": "_Input-radioInput_3pq3z_164" };
72569
+ var styles_module_default5 = { "ActionBarComponent": "_ActionBarComponent_8nyey_1", "ActionBarComponent-actionsLabel": "_ActionBarComponent-actionsLabel_8nyey_15", "ActionBarComponent-action": "_ActionBarComponent-action_8nyey_15" };
72570
+ var import_jsx_runtime9 = require("react/jsx-runtime");
72571
+ var getClassName6 = get_class_name_factory_default2("ActionBarComponent", styles_module_default5);
72572
+ var ActionBar = ({
72573
+ label,
72574
+ children
72575
+ }) => /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: getClassName6(), children: [
72576
+ label && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: getClassName6("actionsLabel"), children: label }),
72577
+ children
72578
+ ] });
72579
+ var Action = ({
72580
+ children,
72581
+ label,
72582
+ onClick
72583
+ }) => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("button", { className: getClassName6("action"), onClick, title: label, children });
72584
+ ActionBar.Action = Action;
72585
+ init_react_import2();
72586
+ init_react_import2();
72587
+ var styles_module_default22 = { "Input": "_Input_3pq3z_1", "Input-label": "_Input-label_3pq3z_26", "Input-labelIcon": "_Input-labelIcon_3pq3z_35", "Input-disabledIcon": "_Input-disabledIcon_3pq3z_42", "Input-input": "_Input-input_3pq3z_47", "Input--readOnly": "_Input--readOnly_3pq3z_91", "Input-radioGroupItems": "_Input-radioGroupItems_3pq3z_102", "Input-radio": "_Input-radio_3pq3z_102", "Input-radioInner": "_Input-radioInner_3pq3z_119", "Input-radioInput": "_Input-radioInput_3pq3z_164" };
72568
72588
  var import_react112 = require("react");
72569
72589
  init_react_import2();
72570
72590
  init_react_import2();
72571
72591
  init_react_import2();
72572
- var styles_module_default22 = { "ArrayField": "_ArrayField_1go19_5", "ArrayField--isDraggingFrom": "_ArrayField--isDraggingFrom_1go19_13", "ArrayField-addButton": "_ArrayField-addButton_1go19_18", "ArrayField--hasItems": "_ArrayField--hasItems_1go19_33", "ArrayFieldItem": "_ArrayFieldItem_1go19_63", "ArrayFieldItem--isDragging": "_ArrayFieldItem--isDragging_1go19_71", "ArrayFieldItem--isExpanded": "_ArrayFieldItem--isExpanded_1go19_81", "ArrayFieldItem-summary": "_ArrayFieldItem-summary_1go19_97", "ArrayField--addDisabled": "_ArrayField--addDisabled_1go19_128", "ArrayFieldItem-body": "_ArrayFieldItem-body_1go19_164", "ArrayFieldItem-fieldset": "_ArrayFieldItem-fieldset_1go19_173", "ArrayFieldItem-rhs": "_ArrayFieldItem-rhs_1go19_181", "ArrayFieldItem-actions": "_ArrayFieldItem-actions_1go19_187" };
72592
+ var styles_module_default32 = { "ArrayField": "_ArrayField_1go19_5", "ArrayField--isDraggingFrom": "_ArrayField--isDraggingFrom_1go19_13", "ArrayField-addButton": "_ArrayField-addButton_1go19_18", "ArrayField--hasItems": "_ArrayField--hasItems_1go19_33", "ArrayFieldItem": "_ArrayFieldItem_1go19_63", "ArrayFieldItem--isDragging": "_ArrayFieldItem--isDragging_1go19_71", "ArrayFieldItem--isExpanded": "_ArrayFieldItem--isExpanded_1go19_81", "ArrayFieldItem-summary": "_ArrayFieldItem-summary_1go19_97", "ArrayField--addDisabled": "_ArrayField--addDisabled_1go19_128", "ArrayFieldItem-body": "_ArrayFieldItem-body_1go19_164", "ArrayFieldItem-fieldset": "_ArrayFieldItem-fieldset_1go19_173", "ArrayFieldItem-rhs": "_ArrayFieldItem-rhs_1go19_181", "ArrayFieldItem-actions": "_ArrayFieldItem-actions_1go19_187" };
72573
72593
  init_react_import2();
72574
72594
  init_react_import2();
72575
72595
  var import_react22 = require("react");
@@ -72799,9 +72819,9 @@ var require_dist = __commonJS({
72799
72819
  return result;
72800
72820
  };
72801
72821
  init_react_import2();
72802
- var styles_module_default32 = { "Loader": "_Loader_nacdm_13", "loader-animation": "_loader-animation_nacdm_1" };
72803
- var import_jsx_runtime9 = require("react/jsx-runtime");
72804
- var getClassName6 = get_class_name_factory_default2("Loader", styles_module_default32);
72822
+ var styles_module_default42 = { "Loader": "_Loader_nacdm_13", "loader-animation": "_loader-animation_nacdm_1" };
72823
+ var import_jsx_runtime22 = require("react/jsx-runtime");
72824
+ var getClassName22 = get_class_name_factory_default2("Loader", styles_module_default42);
72805
72825
  var Loader2 = (_a3) => {
72806
72826
  var _b2 = _a3, {
72807
72827
  color,
@@ -72810,10 +72830,10 @@ var require_dist = __commonJS({
72810
72830
  "color",
72811
72831
  "size"
72812
72832
  ]);
72813
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
72833
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
72814
72834
  "span",
72815
72835
  __spreadValues2({
72816
- className: getClassName6(),
72836
+ className: getClassName22(),
72817
72837
  style: {
72818
72838
  width: size,
72819
72839
  height: size,
@@ -72823,8 +72843,8 @@ var require_dist = __commonJS({
72823
72843
  }, props)
72824
72844
  );
72825
72845
  };
72826
- var import_jsx_runtime22 = require("react/jsx-runtime");
72827
- var getClassName22 = get_class_name_factory_default2("IconButton", IconButton_module_default);
72846
+ var import_jsx_runtime32 = require("react/jsx-runtime");
72847
+ var getClassName32 = get_class_name_factory_default2("IconButton", IconButton_module_default);
72828
72848
  var IconButton = ({
72829
72849
  children,
72830
72850
  href,
@@ -72839,10 +72859,10 @@ var require_dist = __commonJS({
72839
72859
  }) => {
72840
72860
  const [loading, setLoading] = (0, import_react32.useState)(false);
72841
72861
  const ElementType = href ? "a" : "button";
72842
- const el = /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
72862
+ const el = /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
72843
72863
  ElementType,
72844
72864
  {
72845
- className: getClassName22({
72865
+ className: getClassName32({
72846
72866
  primary: variant === "primary",
72847
72867
  secondary: variant === "secondary",
72848
72868
  disabled,
@@ -72863,11 +72883,11 @@ var require_dist = __commonJS({
72863
72883
  href,
72864
72884
  title,
72865
72885
  children: [
72866
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: getClassName22("title"), children: title }),
72886
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: getClassName32("title"), children: title }),
72867
72887
  children,
72868
- loading && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_jsx_runtime22.Fragment, { children: [
72888
+ loading && /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment, { children: [
72869
72889
  "\xA0\xA0",
72870
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Loader2, { size: 14 })
72890
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Loader2, { size: 14 })
72871
72891
  ] })
72872
72892
  ]
72873
72893
  }
@@ -72906,7 +72926,7 @@ var require_dist = __commonJS({
72906
72926
  { width: 1280, height: "auto", icon: "Monitor", label: "Large" }
72907
72927
  ];
72908
72928
  var import_ua_parser_js2 = require_ua_parser();
72909
- var import_jsx_runtime32 = require("react/jsx-runtime");
72929
+ var import_jsx_runtime42 = require("react/jsx-runtime");
72910
72930
  var defaultAppState2 = {
72911
72931
  data: { content: [], root: { props: {} } },
72912
72932
  ui: {
@@ -72946,7 +72966,8 @@ var require_dist = __commonJS({
72946
72966
  status: "LOADING",
72947
72967
  setStatus: () => null,
72948
72968
  iframe: {},
72949
- safariFallbackMode: false
72969
+ safariFallbackMode: false,
72970
+ globalPermissions: {}
72950
72971
  };
72951
72972
  var appContext2 = (0, import_react42.createContext)(defaultContext2);
72952
72973
  var AppProvider = ({
@@ -72976,7 +72997,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
72976
72997
  setSafariFallbackMode(true);
72977
72998
  }
72978
72999
  }, []);
72979
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
73000
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
72980
73001
  appContext2.Provider,
72981
73002
  {
72982
73003
  value: __spreadProps2(__spreadValues2({}, value), {
@@ -73005,7 +73026,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73005
73026
  }
73006
73027
  });
73007
73028
  }
73008
- var import_jsx_runtime42 = require("react/jsx-runtime");
73029
+ var import_jsx_runtime52 = require("react/jsx-runtime");
73009
73030
  var defaultProvided = {
73010
73031
  droppableProps: {
73011
73032
  "data-rfd-droppable-context-id": "",
@@ -73020,15 +73041,15 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73020
73041
  draggingFromThisWith: null,
73021
73042
  isUsingPlaceholder: false
73022
73043
  };
73023
- var DefaultDroppable = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_jsx_runtime42.Fragment, { children: children(defaultProvided, defaultSnapshot) });
73044
+ var DefaultDroppable = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_jsx_runtime52.Fragment, { children: children(defaultProvided, defaultSnapshot) });
73024
73045
  var Droppable2 = (props) => {
73025
73046
  const { status } = useAppContext2();
73026
73047
  const El = status !== "LOADING" ? import_dnd.Droppable : DefaultDroppable;
73027
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(El, __spreadValues2({}, props));
73048
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(El, __spreadValues2({}, props));
73028
73049
  };
73029
73050
  init_react_import2();
73030
73051
  var import_dnd2 = (init_dnd_esm(), __toCommonJS(dnd_esm_exports));
73031
- var import_jsx_runtime52 = require("react/jsx-runtime");
73052
+ var import_jsx_runtime62 = require("react/jsx-runtime");
73032
73053
  var defaultProvided2 = {
73033
73054
  draggableProps: {
73034
73055
  "data-rfd-draggable-context-id": "",
@@ -73052,7 +73073,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73052
73073
  type: "",
73053
73074
  source: { droppableId: "", index: 0 }
73054
73075
  };
73055
- var DefaultDraggable = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_jsx_runtime52.Fragment, { children: children(defaultProvided2, defaultSnapshot2, defaultRubric) });
73076
+ var DefaultDraggable = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_jsx_runtime62.Fragment, { children: children(defaultProvided2, defaultSnapshot2, defaultRubric) });
73056
73077
  var Draggable2 = ({
73057
73078
  className,
73058
73079
  children,
@@ -73064,22 +73085,23 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73064
73085
  }) => {
73065
73086
  const { status } = useAppContext2();
73066
73087
  const El = status !== "LOADING" ? import_dnd2.Draggable : DefaultDraggable;
73067
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(El, { draggableId: id, index, isDragDisabled, children: (provided, snapshot) => {
73088
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(El, { draggableId: id, index, isDragDisabled, children: (provided, snapshot) => {
73068
73089
  var _a3;
73069
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_jsx_runtime52.Fragment, { children: [
73070
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
73090
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_jsx_runtime62.Fragment, { children: [
73091
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
73071
73092
  "div",
73072
73093
  __spreadProps2(__spreadValues2(__spreadValues2({
73073
73094
  className: className && className(provided, snapshot),
73074
73095
  ref: provided.innerRef
73075
73096
  }, provided.draggableProps), provided.dragHandleProps), {
73076
73097
  style: __spreadProps2(__spreadValues2({}, provided.draggableProps.style), {
73077
- transform: snapshot.isDragging || !disableAnimations ? (_a3 = provided.draggableProps.style) == null ? void 0 : _a3.transform : "translate(0px, 0px)"
73098
+ transform: snapshot.isDragging || !disableAnimations ? (_a3 = provided.draggableProps.style) == null ? void 0 : _a3.transform : "translate(0px, 0px)",
73099
+ cursor: isDragDisabled ? "no-drop" : "grab"
73078
73100
  }),
73079
73101
  children: children(provided, snapshot)
73080
73102
  })
73081
73103
  ),
73082
- showShadow && snapshot.isDragging && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
73104
+ showShadow && snapshot.isDragging && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
73083
73105
  "div",
73084
73106
  {
73085
73107
  className: className && className(provided, snapshot),
@@ -73093,22 +73115,22 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73093
73115
  var import_react52 = require("react");
73094
73116
  init_react_import2();
73095
73117
  init_react_import2();
73096
- var styles_module_default42 = { "DragIcon": "_DragIcon_1p5wn_1" };
73097
- var import_jsx_runtime62 = require("react/jsx-runtime");
73098
- var getClassName32 = get_class_name_factory_default2("DragIcon", styles_module_default42);
73099
- var DragIcon = () => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: getClassName32(), children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("svg", { viewBox: "0 0 20 20", width: "12", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("path", { d: "M7 2a2 2 0 1 0 .001 4.001A2 2 0 0 0 7 2zm0 6a2 2 0 1 0 .001 4.001A2 2 0 0 0 7 8zm0 6a2 2 0 1 0 .001 4.001A2 2 0 0 0 7 14zm6-8a2 2 0 1 0-.001-4.001A2 2 0 0 0 13 6zm0 2a2 2 0 1 0 .001 4.001A2 2 0 0 0 13 8zm0 6a2 2 0 1 0 .001 4.001A2 2 0 0 0 13 14z" }) }) });
73118
+ var styles_module_default52 = { "DragIcon": "_DragIcon_17p8x_1", "DragIcon--disabled": "_DragIcon--disabled_17p8x_8" };
73119
+ var import_jsx_runtime72 = require("react/jsx-runtime");
73120
+ var getClassName42 = get_class_name_factory_default2("DragIcon", styles_module_default52);
73121
+ var DragIcon = ({ isDragDisabled }) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { className: getClassName42({ disabled: isDragDisabled }), children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("svg", { viewBox: "0 0 20 20", width: "12", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: "M7 2a2 2 0 1 0 .001 4.001A2 2 0 0 0 7 2zm0 6a2 2 0 1 0 .001 4.001A2 2 0 0 0 7 8zm0 6a2 2 0 1 0 .001 4.001A2 2 0 0 0 7 14zm6-8a2 2 0 1 0-.001-4.001A2 2 0 0 0 13 6zm0 2a2 2 0 1 0 .001 4.001A2 2 0 0 0 13 8zm0 6a2 2 0 1 0 .001 4.001A2 2 0 0 0 13 14z" }) }) });
73100
73122
  init_react_import2();
73101
73123
  var import_dnd3 = (init_dnd_esm(), __toCommonJS(dnd_esm_exports));
73102
- var import_jsx_runtime72 = require("react/jsx-runtime");
73103
- var DefaultDragDropContext = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_jsx_runtime72.Fragment, { children });
73124
+ var import_jsx_runtime82 = require("react/jsx-runtime");
73125
+ var DefaultDragDropContext = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_jsx_runtime82.Fragment, { children });
73104
73126
  var DragDropContext2 = (props) => {
73105
73127
  const { status } = useAppContext2();
73106
73128
  const El = status !== "LOADING" ? import_dnd3.DragDropContext : DefaultDragDropContext;
73107
- return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(El, __spreadValues2({}, props));
73129
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(El, __spreadValues2({}, props));
73108
73130
  };
73109
- var import_jsx_runtime82 = require("react/jsx-runtime");
73110
- var getClassName42 = get_class_name_factory_default2("ArrayField", styles_module_default22);
73111
- var getClassNameItem3 = get_class_name_factory_default2("ArrayFieldItem", styles_module_default22);
73131
+ var import_jsx_runtime92 = require("react/jsx-runtime");
73132
+ var getClassName52 = get_class_name_factory_default2("ArrayField", styles_module_default32);
73133
+ var getClassNameItem3 = get_class_name_factory_default2("ArrayFieldItem", styles_module_default32);
73112
73134
  var ArrayField = ({
73113
73135
  field,
73114
73136
  onChange,
@@ -73117,7 +73139,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73117
73139
  label,
73118
73140
  readOnly,
73119
73141
  id,
73120
- Label = (props) => /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", __spreadValues2({}, props))
73142
+ Label = (props) => /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("div", __spreadValues2({}, props))
73121
73143
  }) => {
73122
73144
  const { state, setUi, selectedItem } = useAppContext2();
73123
73145
  const readOnlyFields = (selectedItem == null ? void 0 : selectedItem.readOnly) || {};
@@ -73180,14 +73202,14 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73180
73202
  return null;
73181
73203
  }
73182
73204
  const addDisabled = field.max !== void 0 && localState.arrayState.items.length >= field.max || readOnly;
73183
- return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
73205
+ return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
73184
73206
  Label,
73185
73207
  {
73186
73208
  label: label || name,
73187
- icon: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(List, { size: 16 }),
73209
+ icon: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(List, { size: 16 }),
73188
73210
  el: "div",
73189
73211
  readOnly,
73190
- children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
73212
+ children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
73191
73213
  DragDropContext2,
73192
73214
  {
73193
73215
  onDragEnd: (event) => {
@@ -73214,12 +73236,12 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73214
73236
  });
73215
73237
  }
73216
73238
  },
73217
- children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Droppable2, { droppableId: "array", isDropDisabled: readOnly, children: (provided, snapshot) => {
73218
- return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
73239
+ children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Droppable2, { droppableId: "array", isDropDisabled: readOnly, children: (provided, snapshot) => {
73240
+ return /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(
73219
73241
  "div",
73220
73242
  __spreadProps2(__spreadValues2({}, provided.droppableProps), {
73221
73243
  ref: provided.innerRef,
73222
- className: getClassName42({
73244
+ className: getClassName52({
73223
73245
  isDraggingFrom: !!snapshot.draggingFromThisWith,
73224
73246
  hasItems: Array.isArray(value) && value.length > 0,
73225
73247
  addDisabled
@@ -73236,7 +73258,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73236
73258
  localState.arrayState.items.map((item, i2) => {
73237
73259
  const { _arrayId = `${id}-${i2}`, _originalIndex = i2 } = item;
73238
73260
  const data = Array.from(localState.value || [])[i2] || {};
73239
- return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
73261
+ return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
73240
73262
  Draggable2,
73241
73263
  {
73242
73264
  id: _arrayId,
@@ -73247,8 +73269,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73247
73269
  readOnly
73248
73270
  }),
73249
73271
  isDragDisabled: readOnly || !hovering,
73250
- children: () => /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(import_jsx_runtime82.Fragment, { children: [
73251
- /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
73272
+ children: () => /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(import_jsx_runtime92.Fragment, { children: [
73273
+ /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(
73252
73274
  "div",
73253
73275
  {
73254
73276
  onClick: () => {
@@ -73269,8 +73291,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73269
73291
  className: getClassNameItem3("summary"),
73270
73292
  children: [
73271
73293
  field.getItemSummary ? field.getItemSummary(data, i2) : `Item #${_originalIndex}`,
73272
- /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: getClassNameItem3("rhs"), children: [
73273
- !readOnly && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: getClassNameItem3("actions"), children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: getClassNameItem3("action"), children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
73294
+ /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)("div", { className: getClassNameItem3("rhs"), children: [
73295
+ !readOnly && /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("div", { className: getClassNameItem3("actions"), children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("div", { className: getClassNameItem3("action"), children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
73274
73296
  IconButton,
73275
73297
  {
73276
73298
  type: "button",
@@ -73293,20 +73315,20 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73293
73315
  );
73294
73316
  },
73295
73317
  title: "Delete",
73296
- children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Trash, { size: 16 })
73318
+ children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Trash, { size: 16 })
73297
73319
  }
73298
73320
  ) }) }),
73299
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(DragIcon, {}) })
73321
+ /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(DragIcon, {}) })
73300
73322
  ] })
73301
73323
  ]
73302
73324
  }
73303
73325
  ),
73304
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: getClassNameItem3("body"), children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("fieldset", { className: getClassNameItem3("fieldset"), children: Object.keys(field.arrayFields).map(
73326
+ /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("div", { className: getClassNameItem3("body"), children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("fieldset", { className: getClassNameItem3("fieldset"), children: Object.keys(field.arrayFields).map(
73305
73327
  (fieldName) => {
73306
73328
  const subField = field.arrayFields[fieldName];
73307
73329
  const subFieldName = `${name}[${i2}].${fieldName}`;
73308
73330
  const wildcardFieldName = `${name}[*].${fieldName}`;
73309
- return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
73331
+ return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
73310
73332
  AutoFieldPrivate,
73311
73333
  {
73312
73334
  name: subFieldName,
@@ -73334,11 +73356,11 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73334
73356
  );
73335
73357
  }),
73336
73358
  provided.placeholder,
73337
- !addDisabled && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
73359
+ !addDisabled && /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
73338
73360
  "button",
73339
73361
  {
73340
73362
  type: "button",
73341
- className: getClassName42("addButton"),
73363
+ className: getClassName52("addButton"),
73342
73364
  onClick: () => {
73343
73365
  const existingValue = value || [];
73344
73366
  const newValue = [
@@ -73348,7 +73370,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73348
73370
  const newArrayState = regenerateArrayState(newValue);
73349
73371
  onChange(newValue, mapArrayStateToUi(newArrayState));
73350
73372
  },
73351
- children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Plus, { size: 21 })
73373
+ children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Plus, { size: 21 })
73352
73374
  }
73353
73375
  )
73354
73376
  ]
@@ -73361,8 +73383,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73361
73383
  );
73362
73384
  };
73363
73385
  init_react_import2();
73364
- var import_jsx_runtime92 = require("react/jsx-runtime");
73365
- var getClassName52 = get_class_name_factory_default2("Input", styles_module_default5);
73386
+ var import_jsx_runtime10 = require("react/jsx-runtime");
73387
+ var getClassName62 = get_class_name_factory_default2("Input", styles_module_default22);
73366
73388
  var DefaultField = ({
73367
73389
  field,
73368
73390
  onChange,
@@ -73373,19 +73395,19 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73373
73395
  Label,
73374
73396
  id
73375
73397
  }) => {
73376
- return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
73398
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
73377
73399
  Label,
73378
73400
  {
73379
73401
  label: label || name,
73380
- icon: /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(import_jsx_runtime92.Fragment, { children: [
73381
- field.type === "text" && /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Type, { size: 16 }),
73382
- field.type === "number" && /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Hash, { size: 16 })
73402
+ icon: /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_jsx_runtime10.Fragment, { children: [
73403
+ field.type === "text" && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Type, { size: 16 }),
73404
+ field.type === "number" && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Hash, { size: 16 })
73383
73405
  ] }),
73384
73406
  readOnly,
73385
- children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
73407
+ children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
73386
73408
  "input",
73387
73409
  {
73388
- className: getClassName52("input"),
73410
+ className: getClassName62("input"),
73389
73411
  autoComplete: "off",
73390
73412
  type: field.type,
73391
73413
  name,
@@ -73412,14 +73434,14 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73412
73434
  init_react_import2();
73413
73435
  var import_react82 = require("react");
73414
73436
  init_react_import2();
73415
- var styles_module_default52 = { "ExternalInput-actions": "_ExternalInput-actions_19obq_1", "ExternalInput-button": "_ExternalInput-button_19obq_5", "ExternalInput--dataSelected": "_ExternalInput--dataSelected_19obq_25", "ExternalInput-detachButton": "_ExternalInput-detachButton_19obq_32", "ExternalInputModal": "_ExternalInputModal_19obq_74", "ExternalInputModal-grid": "_ExternalInputModal-grid_19obq_84", "ExternalInputModal--filtersToggled": "_ExternalInputModal--filtersToggled_19obq_95", "ExternalInputModal-filters": "_ExternalInputModal-filters_19obq_100", "ExternalInputModal-masthead": "_ExternalInputModal-masthead_19obq_119", "ExternalInputModal-tableWrapper": "_ExternalInputModal-tableWrapper_19obq_128", "ExternalInputModal-table": "_ExternalInputModal-table_19obq_128", "ExternalInputModal-thead": "_ExternalInputModal-thead_19obq_144", "ExternalInputModal-th": "_ExternalInputModal-th_19obq_144", "ExternalInputModal-td": "_ExternalInputModal-td_19obq_159", "ExternalInputModal-tr": "_ExternalInputModal-tr_19obq_164", "ExternalInputModal-tbody": "_ExternalInputModal-tbody_19obq_171", "ExternalInputModal--hasData": "_ExternalInputModal--hasData_19obq_197", "ExternalInputModal-loadingBanner": "_ExternalInputModal-loadingBanner_19obq_201", "ExternalInputModal--isLoading": "_ExternalInputModal--isLoading_19obq_218", "ExternalInputModal-searchForm": "_ExternalInputModal-searchForm_19obq_222", "ExternalInputModal-search": "_ExternalInputModal-search_19obq_222", "ExternalInputModal-searchIcon": "_ExternalInputModal-searchIcon_19obq_259", "ExternalInputModal-searchIconText": "_ExternalInputModal-searchIconText_19obq_284", "ExternalInputModal-searchInput": "_ExternalInputModal-searchInput_19obq_294", "ExternalInputModal-searchActions": "_ExternalInputModal-searchActions_19obq_308", "ExternalInputModal-searchActionIcon": "_ExternalInputModal-searchActionIcon_19obq_321", "ExternalInputModal-footer": "_ExternalInputModal-footer_19obq_325" };
73437
+ var styles_module_default6 = { "ExternalInput-actions": "_ExternalInput-actions_19obq_1", "ExternalInput-button": "_ExternalInput-button_19obq_5", "ExternalInput--dataSelected": "_ExternalInput--dataSelected_19obq_25", "ExternalInput-detachButton": "_ExternalInput-detachButton_19obq_32", "ExternalInputModal": "_ExternalInputModal_19obq_74", "ExternalInputModal-grid": "_ExternalInputModal-grid_19obq_84", "ExternalInputModal--filtersToggled": "_ExternalInputModal--filtersToggled_19obq_95", "ExternalInputModal-filters": "_ExternalInputModal-filters_19obq_100", "ExternalInputModal-masthead": "_ExternalInputModal-masthead_19obq_119", "ExternalInputModal-tableWrapper": "_ExternalInputModal-tableWrapper_19obq_128", "ExternalInputModal-table": "_ExternalInputModal-table_19obq_128", "ExternalInputModal-thead": "_ExternalInputModal-thead_19obq_144", "ExternalInputModal-th": "_ExternalInputModal-th_19obq_144", "ExternalInputModal-td": "_ExternalInputModal-td_19obq_159", "ExternalInputModal-tr": "_ExternalInputModal-tr_19obq_164", "ExternalInputModal-tbody": "_ExternalInputModal-tbody_19obq_171", "ExternalInputModal--hasData": "_ExternalInputModal--hasData_19obq_197", "ExternalInputModal-loadingBanner": "_ExternalInputModal-loadingBanner_19obq_201", "ExternalInputModal--isLoading": "_ExternalInputModal--isLoading_19obq_218", "ExternalInputModal-searchForm": "_ExternalInputModal-searchForm_19obq_222", "ExternalInputModal-search": "_ExternalInputModal-search_19obq_222", "ExternalInputModal-searchIcon": "_ExternalInputModal-searchIcon_19obq_259", "ExternalInputModal-searchIconText": "_ExternalInputModal-searchIconText_19obq_284", "ExternalInputModal-searchInput": "_ExternalInputModal-searchInput_19obq_294", "ExternalInputModal-searchActions": "_ExternalInputModal-searchActions_19obq_308", "ExternalInputModal-searchActionIcon": "_ExternalInputModal-searchActionIcon_19obq_321", "ExternalInputModal-footer": "_ExternalInputModal-footer_19obq_325" };
73416
73438
  init_react_import2();
73417
73439
  var import_react62 = require("react");
73418
73440
  init_react_import2();
73419
- var styles_module_default6 = { "Modal": "_Modal_ikbaj_1", "Modal--isOpen": "_Modal--isOpen_ikbaj_15", "Modal-inner": "_Modal-inner_ikbaj_19" };
73441
+ var styles_module_default7 = { "Modal": "_Modal_ikbaj_1", "Modal--isOpen": "_Modal--isOpen_ikbaj_15", "Modal-inner": "_Modal-inner_ikbaj_19" };
73420
73442
  var import_react_dom3 = __toESM2(require_react_dom2());
73421
- var import_jsx_runtime10 = require("react/jsx-runtime");
73422
- var getClassName62 = get_class_name_factory_default2("Modal", styles_module_default6);
73443
+ var import_jsx_runtime11 = require("react/jsx-runtime");
73444
+ var getClassName7 = get_class_name_factory_default2("Modal", styles_module_default7);
73423
73445
  var Modal = ({
73424
73446
  children,
73425
73447
  onClose,
@@ -73430,13 +73452,13 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73430
73452
  setRootEl(document.getElementById("puck-portal-root"));
73431
73453
  }, []);
73432
73454
  if (!rootEl) {
73433
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", {});
73455
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", {});
73434
73456
  }
73435
73457
  return (0, import_react_dom3.createPortal)(
73436
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: getClassName62({ isOpen }), onClick: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
73458
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: getClassName7({ isOpen }), onClick: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
73437
73459
  "div",
73438
73460
  {
73439
- className: getClassName62("inner"),
73461
+ className: getClassName7("inner"),
73440
73462
  onClick: (e2) => e2.stopPropagation(),
73441
73463
  children
73442
73464
  }
@@ -73446,15 +73468,15 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73446
73468
  };
73447
73469
  init_react_import2();
73448
73470
  init_react_import2();
73449
- var styles_module_default7 = { "Heading": "_Heading_qxrry_1", "Heading--xxxxl": "_Heading--xxxxl_qxrry_12", "Heading--xxxl": "_Heading--xxxl_qxrry_18", "Heading--xxl": "_Heading--xxl_qxrry_22", "Heading--xl": "_Heading--xl_qxrry_26", "Heading--l": "_Heading--l_qxrry_30", "Heading--m": "_Heading--m_qxrry_34", "Heading--s": "_Heading--s_qxrry_38", "Heading--xs": "_Heading--xs_qxrry_42" };
73450
- var import_jsx_runtime11 = require("react/jsx-runtime");
73451
- var getClassName7 = get_class_name_factory_default2("Heading", styles_module_default7);
73471
+ var styles_module_default8 = { "Heading": "_Heading_qxrry_1", "Heading--xxxxl": "_Heading--xxxxl_qxrry_12", "Heading--xxxl": "_Heading--xxxl_qxrry_18", "Heading--xxl": "_Heading--xxl_qxrry_22", "Heading--xl": "_Heading--xl_qxrry_26", "Heading--l": "_Heading--l_qxrry_30", "Heading--m": "_Heading--m_qxrry_34", "Heading--s": "_Heading--s_qxrry_38", "Heading--xs": "_Heading--xs_qxrry_42" };
73472
+ var import_jsx_runtime12 = require("react/jsx-runtime");
73473
+ var getClassName8 = get_class_name_factory_default2("Heading", styles_module_default8);
73452
73474
  var Heading2 = ({ children, rank, size = "m" }) => {
73453
73475
  const Tag = rank ? `h${rank}` : "span";
73454
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
73476
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
73455
73477
  Tag,
73456
73478
  {
73457
- className: getClassName7({
73479
+ className: getClassName8({
73458
73480
  [size]: true
73459
73481
  }),
73460
73482
  children
@@ -73466,8 +73488,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73466
73488
  var import_react72 = require("react");
73467
73489
  init_react_import2();
73468
73490
  var Button_module_default = { "Button": "_Button_1t64k_1", "Button--medium": "_Button--medium_1t64k_29", "Button--large": "_Button--large_1t64k_37", "Button-icon": "_Button-icon_1t64k_44", "Button--primary": "_Button--primary_1t64k_48", "Button--secondary": "_Button--secondary_1t64k_67", "Button--flush": "_Button--flush_1t64k_84", "Button--disabled": "_Button--disabled_1t64k_88", "Button--fullWidth": "_Button--fullWidth_1t64k_95", "Button-spinner": "_Button-spinner_1t64k_100" };
73469
- var import_jsx_runtime12 = require("react/jsx-runtime");
73470
- var getClassName8 = get_class_name_factory_default2("Button", Button_module_default);
73491
+ var import_jsx_runtime13 = require("react/jsx-runtime");
73492
+ var getClassName9 = get_class_name_factory_default2("Button", Button_module_default);
73471
73493
  var Button = ({
73472
73494
  children,
73473
73495
  href,
@@ -73485,10 +73507,10 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73485
73507
  const [loading, setLoading] = (0, import_react72.useState)(loadingProp);
73486
73508
  (0, import_react72.useEffect)(() => setLoading(loadingProp), [loadingProp]);
73487
73509
  const ElementType = href ? "a" : type ? "button" : "span";
73488
- const el = /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
73510
+ const el = /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
73489
73511
  ElementType,
73490
73512
  {
73491
- className: getClassName8({
73513
+ className: getClassName9({
73492
73514
  primary: variant === "primary",
73493
73515
  secondary: variant === "secondary",
73494
73516
  disabled,
@@ -73509,17 +73531,17 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73509
73531
  rel: newTab ? "noreferrer" : void 0,
73510
73532
  href,
73511
73533
  children: [
73512
- icon && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: getClassName8("icon"), children: icon }),
73534
+ icon && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: getClassName9("icon"), children: icon }),
73513
73535
  children,
73514
- loading && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: getClassName8("spinner"), children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Loader2, { size: 14 }) })
73536
+ loading && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: getClassName9("spinner"), children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Loader2, { size: 14 }) })
73515
73537
  ]
73516
73538
  }
73517
73539
  );
73518
73540
  return el;
73519
73541
  };
73520
- var import_jsx_runtime13 = require("react/jsx-runtime");
73521
- var getClassName9 = get_class_name_factory_default2("ExternalInput", styles_module_default52);
73522
- var getClassNameModal = get_class_name_factory_default2("ExternalInputModal", styles_module_default52);
73542
+ var import_jsx_runtime14 = require("react/jsx-runtime");
73543
+ var getClassName10 = get_class_name_factory_default2("ExternalInput", styles_module_default6);
73544
+ var getClassNameModal = get_class_name_factory_default2("ExternalInputModal", styles_module_default6);
73523
73545
  var dataCache = {};
73524
73546
  var ExternalInput = ({
73525
73547
  field,
@@ -73570,40 +73592,40 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73570
73592
  (0, import_react82.useEffect)(() => {
73571
73593
  search(searchQuery, filters);
73572
73594
  }, []);
73573
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
73595
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
73574
73596
  "div",
73575
73597
  {
73576
- className: getClassName9({
73598
+ className: getClassName10({
73577
73599
  dataSelected: !!value,
73578
73600
  modalVisible: isOpen
73579
73601
  }),
73580
73602
  id,
73581
73603
  children: [
73582
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: getClassName9("actions"), children: [
73583
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
73604
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: getClassName10("actions"), children: [
73605
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
73584
73606
  "button",
73585
73607
  {
73586
73608
  type: "button",
73587
73609
  onClick: () => setOpen(true),
73588
- className: getClassName9("button"),
73589
- children: value ? field.getItemSummary ? field.getItemSummary(value) : "External item" : /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
73590
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Link, { size: "16" }),
73591
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { children: field.placeholder })
73610
+ className: getClassName10("button"),
73611
+ children: value ? field.getItemSummary ? field.getItemSummary(value) : "External item" : /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_jsx_runtime14.Fragment, { children: [
73612
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Link, { size: "16" }),
73613
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { children: field.placeholder })
73592
73614
  ] })
73593
73615
  }
73594
73616
  ),
73595
- value && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
73617
+ value && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
73596
73618
  "button",
73597
73619
  {
73598
- className: getClassName9("detachButton"),
73620
+ className: getClassName10("detachButton"),
73599
73621
  onClick: () => {
73600
73622
  onChange(null);
73601
73623
  },
73602
- children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Unlock, { size: 16 })
73624
+ children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Unlock, { size: 16 })
73603
73625
  }
73604
73626
  )
73605
73627
  ] }),
73606
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Modal, { onClose: () => setOpen(false), isOpen, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
73628
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Modal, { onClose: () => setOpen(false), isOpen, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
73607
73629
  "form",
73608
73630
  {
73609
73631
  className: getClassNameModal({
@@ -73617,11 +73639,11 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73617
73639
  search(searchQuery, filters);
73618
73640
  },
73619
73641
  children: [
73620
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: getClassNameModal("masthead"), children: field.showSearch ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: getClassNameModal("searchForm"), children: [
73621
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("label", { className: getClassNameModal("search"), children: [
73622
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: getClassNameModal("searchIconText"), children: "Search" }),
73623
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: getClassNameModal("searchIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Search, { size: "18" }) }),
73624
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
73642
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: getClassNameModal("masthead"), children: field.showSearch ? /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: getClassNameModal("searchForm"), children: [
73643
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("label", { className: getClassNameModal("search"), children: [
73644
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: getClassNameModal("searchIconText"), children: "Search" }),
73645
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: getClassNameModal("searchIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Search, { size: "18" }) }),
73646
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
73625
73647
  "input",
73626
73648
  {
73627
73649
  className: getClassNameModal("searchInput"),
@@ -73636,9 +73658,9 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73636
73658
  }
73637
73659
  )
73638
73660
  ] }),
73639
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: getClassNameModal("searchActions"), children: [
73640
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Button, { type: "submit", loading: isLoading, fullWidth: true, children: "Search" }),
73641
- hasFilterFields && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: getClassNameModal("searchActionIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
73661
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: getClassNameModal("searchActions"), children: [
73662
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Button, { type: "submit", loading: isLoading, fullWidth: true, children: "Search" }),
73663
+ hasFilterFields && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: getClassNameModal("searchActionIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
73642
73664
  IconButton,
73643
73665
  {
73644
73666
  title: "Toggle filters",
@@ -73647,15 +73669,15 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73647
73669
  e2.stopPropagation();
73648
73670
  setFiltersToggled(!filtersToggled);
73649
73671
  },
73650
- children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(SlidersHorizontal, { size: 20 })
73672
+ children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(SlidersHorizontal, { size: 20 })
73651
73673
  }
73652
73674
  ) })
73653
73675
  ] })
73654
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Heading2, { rank: 2, size: "xs", children: field.placeholder || "Select data" }) }),
73655
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: getClassNameModal("grid"), children: [
73656
- hasFilterFields && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: getClassNameModal("filters"), children: hasFilterFields && Object.keys(filterFields).map((fieldName) => {
73676
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Heading2, { rank: 2, size: "xs", children: field.placeholder || "Select data" }) }),
73677
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: getClassNameModal("grid"), children: [
73678
+ hasFilterFields && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: getClassNameModal("filters"), children: hasFilterFields && Object.keys(filterFields).map((fieldName) => {
73657
73679
  const filterField = filterFields[fieldName];
73658
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
73680
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
73659
73681
  AutoFieldPrivate,
73660
73682
  {
73661
73683
  field: filterField,
@@ -73672,9 +73694,9 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73672
73694
  fieldName
73673
73695
  );
73674
73696
  }) }),
73675
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: getClassNameModal("tableWrapper"), children: [
73676
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("table", { className: getClassNameModal("table"), children: [
73677
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("thead", { className: getClassNameModal("thead"), children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("tr", { className: getClassNameModal("tr"), children: keys.map((key) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
73697
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: getClassNameModal("tableWrapper"), children: [
73698
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("table", { className: getClassNameModal("table"), children: [
73699
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("thead", { className: getClassNameModal("thead"), children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("tr", { className: getClassNameModal("tr"), children: keys.map((key) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
73678
73700
  "th",
73679
73701
  {
73680
73702
  className: getClassNameModal("th"),
@@ -73683,8 +73705,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73683
73705
  },
73684
73706
  key
73685
73707
  )) }) }),
73686
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("tbody", { className: getClassNameModal("tbody"), children: mappedData.map((item, i2) => {
73687
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
73708
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("tbody", { className: getClassNameModal("tbody"), children: mappedData.map((item, i2) => {
73709
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
73688
73710
  "tr",
73689
73711
  {
73690
73712
  style: { whiteSpace: "nowrap" },
@@ -73693,16 +73715,16 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73693
73715
  onChange(mapProp(data[i2]));
73694
73716
  setOpen(false);
73695
73717
  },
73696
- children: keys.map((key) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("td", { className: getClassNameModal("td"), children: item[key] }, key))
73718
+ children: keys.map((key) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("td", { className: getClassNameModal("td"), children: item[key] }, key))
73697
73719
  },
73698
73720
  i2
73699
73721
  );
73700
73722
  }) })
73701
73723
  ] }),
73702
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: getClassNameModal("loadingBanner"), children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Loader2, { size: 24 }) })
73724
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: getClassNameModal("loadingBanner"), children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Loader2, { size: 24 }) })
73703
73725
  ] })
73704
73726
  ] }),
73705
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: getClassNameModal("footer"), children: [
73727
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: getClassNameModal("footer"), children: [
73706
73728
  mappedData.length,
73707
73729
  " result",
73708
73730
  mappedData.length === 1 ? "" : "s"
@@ -73714,7 +73736,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73714
73736
  }
73715
73737
  );
73716
73738
  };
73717
- var import_jsx_runtime14 = require("react/jsx-runtime");
73739
+ var import_jsx_runtime15 = require("react/jsx-runtime");
73718
73740
  var ExternalField = ({
73719
73741
  field,
73720
73742
  onChange,
@@ -73737,7 +73759,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73737
73759
  if (field.type !== "external") {
73738
73760
  return null;
73739
73761
  }
73740
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Label, { label: label || name, icon: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Link, { size: 16 }), el: "div", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
73762
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Label, { label: label || name, icon: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Link, { size: 16 }), el: "div", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
73741
73763
  ExternalInput,
73742
73764
  {
73743
73765
  name,
@@ -73759,8 +73781,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73759
73781
  ) });
73760
73782
  };
73761
73783
  init_react_import2();
73762
- var import_jsx_runtime15 = require("react/jsx-runtime");
73763
- var getClassName10 = get_class_name_factory_default2("Input", styles_module_default5);
73784
+ var import_jsx_runtime16 = require("react/jsx-runtime");
73785
+ var getClassName11 = get_class_name_factory_default2("Input", styles_module_default22);
73764
73786
  var RadioField = ({
73765
73787
  field,
73766
73788
  onChange,
@@ -73774,23 +73796,23 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73774
73796
  if (field.type !== "radio" || !field.options) {
73775
73797
  return null;
73776
73798
  }
73777
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
73799
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
73778
73800
  Label,
73779
73801
  {
73780
- icon: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(CheckCircle, { size: 16 }),
73802
+ icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(CheckCircle, { size: 16 }),
73781
73803
  label: label || name,
73782
73804
  readOnly,
73783
73805
  el: "div",
73784
- children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: getClassName10("radioGroupItems"), id, children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
73806
+ children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: getClassName11("radioGroupItems"), id, children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
73785
73807
  "label",
73786
73808
  {
73787
- className: getClassName10("radio"),
73809
+ className: getClassName11("radio"),
73788
73810
  children: [
73789
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
73811
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
73790
73812
  "input",
73791
73813
  {
73792
73814
  type: "radio",
73793
- className: getClassName10("radioInput"),
73815
+ className: getClassName11("radioInput"),
73794
73816
  value: option.value,
73795
73817
  name,
73796
73818
  onChange: (e2) => {
@@ -73804,7 +73826,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73804
73826
  checked: value === option.value
73805
73827
  }
73806
73828
  ),
73807
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: getClassName10("radioInner"), children: option.label || option.value })
73829
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: getClassName11("radioInner"), children: option.label || option.value })
73808
73830
  ]
73809
73831
  },
73810
73832
  option.label + option.value
@@ -73813,8 +73835,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73813
73835
  );
73814
73836
  };
73815
73837
  init_react_import2();
73816
- var import_jsx_runtime16 = require("react/jsx-runtime");
73817
- var getClassName11 = get_class_name_factory_default2("Input", styles_module_default5);
73838
+ var import_jsx_runtime17 = require("react/jsx-runtime");
73839
+ var getClassName12 = get_class_name_factory_default2("Input", styles_module_default22);
73818
73840
  var SelectField = ({
73819
73841
  field,
73820
73842
  onChange,
@@ -73828,17 +73850,17 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73828
73850
  if (field.type !== "select" || !field.options) {
73829
73851
  return null;
73830
73852
  }
73831
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
73853
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
73832
73854
  Label,
73833
73855
  {
73834
73856
  label: label || name,
73835
- icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(ChevronDown, { size: 16 }),
73857
+ icon: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ChevronDown, { size: 16 }),
73836
73858
  readOnly,
73837
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
73859
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
73838
73860
  "select",
73839
73861
  {
73840
73862
  id,
73841
- className: getClassName11("input"),
73863
+ className: getClassName12("input"),
73842
73864
  disabled: readOnly,
73843
73865
  onChange: (e2) => {
73844
73866
  if (e2.currentTarget.value === "true" || e2.currentTarget.value === "false") {
@@ -73848,7 +73870,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73848
73870
  onChange(e2.currentTarget.value);
73849
73871
  },
73850
73872
  value,
73851
- children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
73873
+ children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
73852
73874
  "option",
73853
73875
  {
73854
73876
  label: option.label,
@@ -73862,8 +73884,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73862
73884
  );
73863
73885
  };
73864
73886
  init_react_import2();
73865
- var import_jsx_runtime17 = require("react/jsx-runtime");
73866
- var getClassName12 = get_class_name_factory_default2("Input", styles_module_default5);
73887
+ var import_jsx_runtime18 = require("react/jsx-runtime");
73888
+ var getClassName13 = get_class_name_factory_default2("Input", styles_module_default22);
73867
73889
  var TextareaField = ({
73868
73890
  onChange,
73869
73891
  readOnly,
@@ -73873,11 +73895,11 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73873
73895
  Label,
73874
73896
  id
73875
73897
  }) => {
73876
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Label, { label: label || name, icon: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Type, { size: 16 }), readOnly, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
73898
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Label, { label: label || name, icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Type, { size: 16 }), readOnly, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
73877
73899
  "textarea",
73878
73900
  {
73879
73901
  id,
73880
- className: getClassName12("input"),
73902
+ className: getClassName13("input"),
73881
73903
  autoComplete: "off",
73882
73904
  name,
73883
73905
  value: typeof value === "undefined" ? "" : value,
@@ -73891,9 +73913,9 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73891
73913
  var import_use_debounce = (init_index_module(), __toCommonJS(index_module_exports));
73892
73914
  init_react_import2();
73893
73915
  init_react_import2();
73894
- var styles_module_default8 = { "ObjectField": "_ObjectField_1ua3y_5", "ObjectField-fieldset": "_ObjectField-fieldset_1ua3y_13" };
73895
- var import_jsx_runtime18 = require("react/jsx-runtime");
73896
- var getClassName13 = get_class_name_factory_default2("ObjectField", styles_module_default8);
73916
+ var styles_module_default9 = { "ObjectField": "_ObjectField_1ua3y_5", "ObjectField-fieldset": "_ObjectField-fieldset_1ua3y_13" };
73917
+ var import_jsx_runtime19 = require("react/jsx-runtime");
73918
+ var getClassName14 = get_class_name_factory_default2("ObjectField", styles_module_default9);
73897
73919
  var ObjectField = ({
73898
73920
  field,
73899
73921
  onChange,
@@ -73910,18 +73932,18 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73910
73932
  }
73911
73933
  const readOnlyFields = (selectedItem == null ? void 0 : selectedItem.readOnly) || {};
73912
73934
  const data = value || {};
73913
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
73935
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
73914
73936
  Label,
73915
73937
  {
73916
73938
  label: label || name,
73917
- icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(MoreVertical, { size: 16 }),
73939
+ icon: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(MoreVertical, { size: 16 }),
73918
73940
  el: "div",
73919
73941
  readOnly,
73920
- children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: getClassName13(), children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("fieldset", { className: getClassName13("fieldset"), children: Object.keys(field.objectFields).map((fieldName) => {
73942
+ children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: getClassName14(), children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("fieldset", { className: getClassName14("fieldset"), children: Object.keys(field.objectFields).map((fieldName) => {
73921
73943
  const subField = field.objectFields[fieldName];
73922
73944
  const subFieldName = `${name}.${fieldName}`;
73923
73945
  const wildcardFieldName = `${name}.${fieldName}`;
73924
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
73946
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
73925
73947
  AutoFieldPrivate,
73926
73948
  {
73927
73949
  name: subFieldName,
@@ -73957,8 +73979,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73957
73979
  const [id] = (0, import_react102.useState)(generateId());
73958
73980
  return id;
73959
73981
  };
73960
- var import_jsx_runtime19 = require("react/jsx-runtime");
73961
- var getClassName14 = get_class_name_factory_default2("Input", styles_module_default5);
73982
+ var import_jsx_runtime20 = require("react/jsx-runtime");
73983
+ var getClassName15 = get_class_name_factory_default2("Input", styles_module_default22);
73962
73984
  var FieldLabel = ({
73963
73985
  children,
73964
73986
  icon,
@@ -73968,11 +73990,11 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73968
73990
  className
73969
73991
  }) => {
73970
73992
  const El = el;
73971
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(El, { className, children: [
73972
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: getClassName14("label"), children: [
73973
- icon ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: getClassName14("labelIcon"), children: icon }) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_jsx_runtime19.Fragment, {}),
73993
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(El, { className, children: [
73994
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: getClassName15("label"), children: [
73995
+ icon ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassName15("labelIcon"), children: icon }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_jsx_runtime20.Fragment, {}),
73974
73996
  label,
73975
- readOnly && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: getClassName14("disabledIcon"), title: "Read-only", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Lock, { size: "12" }) })
73997
+ readOnly && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassName15("disabledIcon"), title: "Read-only", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Lock, { size: "12" }) })
73976
73998
  ] }),
73977
73999
  children
73978
74000
  ] });
@@ -73990,14 +74012,14 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
73990
74012
  [overrides]
73991
74013
  );
73992
74014
  if (!label) {
73993
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_jsx_runtime19.Fragment, { children });
74015
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_jsx_runtime20.Fragment, { children });
73994
74016
  }
73995
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
74017
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
73996
74018
  Wrapper,
73997
74019
  {
73998
74020
  label,
73999
74021
  icon,
74000
- className: getClassName14({ readOnly }),
74022
+ className: getClassName15({ readOnly }),
74001
74023
  readOnly,
74002
74024
  el,
74003
74025
  children
@@ -74041,11 +74063,11 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74041
74063
  return null;
74042
74064
  }
74043
74065
  const CustomField = field.render;
74044
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: getClassName14(), children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(CustomField, __spreadValues2({}, mergedProps)) });
74066
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassName15(), children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(CustomField, __spreadValues2({}, mergedProps)) });
74045
74067
  }
74046
74068
  const children = defaultFields[field.type](mergedProps);
74047
74069
  const Render2 = render[field.type];
74048
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Render2, __spreadProps2(__spreadValues2({}, mergedProps), { children }));
74070
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Render2, __spreadProps2(__spreadValues2({}, mergedProps), { children }));
74049
74071
  }
74050
74072
  function AutoFieldPrivate(props) {
74051
74073
  const { value, onChange } = props;
@@ -74068,55 +74090,68 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74068
74090
  value: localValue,
74069
74091
  onChange: onChangeLocal
74070
74092
  };
74071
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(AutoFieldInternal, __spreadValues2(__spreadValues2({}, props), localProps));
74093
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(AutoFieldInternal, __spreadValues2(__spreadValues2({}, props), localProps));
74072
74094
  }
74073
- var DefaultLabel = (props) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", __spreadValues2({}, props));
74095
+ var DefaultLabel = (props) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", __spreadValues2({}, props));
74074
74096
  function AutoField(props) {
74075
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(AutoFieldInternal, __spreadProps2(__spreadValues2({}, props), { Label: DefaultLabel }));
74097
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(AutoFieldInternal, __spreadProps2(__spreadValues2({}, props), { Label: DefaultLabel }));
74076
74098
  }
74077
74099
  init_react_import2();
74078
74100
  init_react_import2();
74079
- var styles_module_default9 = { "Drawer": "_Drawer_6zh0b_1", "DrawerItem-default": "_DrawerItem-default_6zh0b_5", "DrawerItem-draggableWrapper": "_DrawerItem-draggableWrapper_6zh0b_5", "DrawerItem": "_DrawerItem_6zh0b_5", "DrawerItem-draggable": "_DrawerItem-draggable_6zh0b_5", "Drawer--isDraggingFrom": "_Drawer--isDraggingFrom_6zh0b_31", "DrawerItem-name": "_DrawerItem-name_6zh0b_47" };
74101
+ var styles_module_default10 = { "Drawer": "_Drawer_4yfqn_1", "DrawerItem--disabled": "_DrawerItem--disabled_4yfqn_5", "DrawerItem-default": "_DrawerItem-default_4yfqn_11", "DrawerItem-draggableWrapper": "_DrawerItem-draggableWrapper_4yfqn_11", "DrawerItem": "_DrawerItem_4yfqn_5", "DrawerItem-draggable": "_DrawerItem-draggable_4yfqn_11", "Drawer--isDraggingFrom": "_Drawer--isDraggingFrom_4yfqn_36", "DrawerItem-name": "_DrawerItem-name_4yfqn_54" };
74080
74102
  var import_react122 = require("react");
74081
- var import_jsx_runtime20 = require("react/jsx-runtime");
74082
- var getClassName15 = get_class_name_factory_default2("Drawer", styles_module_default9);
74083
- var getClassNameItem22 = get_class_name_factory_default2("DrawerItem", styles_module_default9);
74103
+ var import_jsx_runtime21 = require("react/jsx-runtime");
74104
+ var getClassName16 = get_class_name_factory_default2("Drawer", styles_module_default10);
74105
+ var getClassNameItem22 = get_class_name_factory_default2("DrawerItem", styles_module_default10);
74084
74106
  var drawerContext = (0, import_react122.createContext)({
74085
74107
  droppableId: ""
74086
74108
  });
74087
74109
  var DrawerDraggable = ({
74088
74110
  children,
74089
74111
  id,
74090
- index
74091
- }) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
74092
- Draggable2,
74093
- {
74094
- id,
74095
- index,
74096
- showShadow: true,
74097
- disableAnimations: true,
74098
- className: () => getClassNameItem22(),
74099
- children: () => children
74100
- },
74101
- id
74102
- );
74112
+ index,
74113
+ isDragDisabled
74114
+ }) => {
74115
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
74116
+ Draggable2,
74117
+ {
74118
+ id,
74119
+ index,
74120
+ isDragDisabled,
74121
+ showShadow: true,
74122
+ disableAnimations: true,
74123
+ className: () => getClassNameItem22({ disabled: isDragDisabled }),
74124
+ children: () => children
74125
+ },
74126
+ id
74127
+ );
74128
+ };
74103
74129
  var DrawerItem = ({
74104
74130
  name,
74105
74131
  children,
74106
74132
  id,
74107
74133
  label,
74108
- index
74134
+ index,
74135
+ isDragDisabled
74109
74136
  }) => {
74110
74137
  const ctx = (0, import_react122.useContext)(drawerContext);
74111
74138
  const resolvedId = `${ctx.droppableId}::${id || name}`;
74112
74139
  const CustomInner = (0, import_react122.useMemo)(
74113
- () => children || (({ children: children2, name: name2 }) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassNameItem22("default"), children: children2 })),
74140
+ () => children || (({ children: children2, name: name2 }) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassNameItem22("default"), children: children2 })),
74114
74141
  [children]
74115
74142
  );
74116
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DrawerDraggable, { id: resolvedId, index, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(CustomInner, { name, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassNameItem22("draggableWrapper"), children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: getClassNameItem22("draggable"), children: [
74117
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassNameItem22("name"), children: label != null ? label : name }),
74118
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassNameItem22("icon"), children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DragIcon, {}) })
74119
- ] }) }) }) });
74143
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
74144
+ DrawerDraggable,
74145
+ {
74146
+ id: resolvedId,
74147
+ index,
74148
+ isDragDisabled,
74149
+ children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(CustomInner, { name, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassNameItem22("draggableWrapper"), children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: getClassNameItem22("draggable"), children: [
74150
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassNameItem22("name"), children: label != null ? label : name }),
74151
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassNameItem22("icon"), children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DragIcon, { isDragDisabled }) })
74152
+ ] }) }) })
74153
+ }
74154
+ );
74120
74155
  };
74121
74156
  var Drawer = ({
74122
74157
  children,
@@ -74124,28 +74159,28 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74124
74159
  direction = "vertical"
74125
74160
  }) => {
74126
74161
  const droppableId = `component-list:${_droppableId}`;
74127
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(drawerContext.Provider, { value: { droppableId }, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Droppable2, { droppableId, isDropDisabled: true, direction, children: (provided, snapshot) => /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
74162
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(drawerContext.Provider, { value: { droppableId }, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Droppable2, { droppableId, isDropDisabled: true, direction, children: (provided, snapshot) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
74128
74163
  "div",
74129
74164
  __spreadProps2(__spreadValues2({}, provided.droppableProps), {
74130
74165
  ref: provided.innerRef,
74131
- className: getClassName15({
74166
+ className: getClassName16({
74132
74167
  isDraggingFrom: !!snapshot.draggingFromThisWith
74133
74168
  }),
74134
74169
  children: [
74135
74170
  children,
74136
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { style: { display: "none" }, children: provided.placeholder })
74171
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { style: { display: "none" }, children: provided.placeholder })
74137
74172
  ]
74138
74173
  })
74139
74174
  ) }) });
74140
74175
  };
74141
74176
  Drawer.Item = DrawerItem;
74142
74177
  init_react_import2();
74143
- var import_react16 = require("react");
74178
+ var import_react17 = require("react");
74144
74179
  init_react_import2();
74145
- var import_react14 = require("react");
74180
+ var import_react15 = require("react");
74146
74181
  var import_dnd4 = (init_dnd_esm(), __toCommonJS(dnd_esm_exports));
74147
74182
  init_react_import2();
74148
- var styles_module_default10 = { "DraggableComponent": "_DraggableComponent_59z7f_1", "DraggableComponent--isDragging": "_DraggableComponent--isDragging_59z7f_11", "DraggableComponent-contents": "_DraggableComponent-contents_59z7f_16", "DraggableComponent-overlay": "_DraggableComponent-overlay_59z7f_29", "DraggableComponent-loadingOverlay": "_DraggableComponent-loadingOverlay_59z7f_49", "DraggableComponent--isLocked": "_DraggableComponent--isLocked_59z7f_65", "DraggableComponent--forceHover": "_DraggableComponent--forceHover_59z7f_71", "DraggableComponent--isSelected": "_DraggableComponent--isSelected_59z7f_76", "DraggableComponent--indicativeHover": "_DraggableComponent--indicativeHover_59z7f_81", "DraggableComponent-actionsOverlay": "_DraggableComponent-actionsOverlay_59z7f_97", "DraggableComponent-actions": "_DraggableComponent-actions_59z7f_97", "DraggableComponent-actionsLabel": "_DraggableComponent-actionsLabel_59z7f_127", "DraggableComponent-action": "_DraggableComponent-action_59z7f_97" };
74183
+ var styles_module_default11 = { "DraggableComponent": "_DraggableComponent_1bhad_1", "DraggableComponent--isDragging": "_DraggableComponent--isDragging_1bhad_11", "DraggableComponent-contents": "_DraggableComponent-contents_1bhad_16", "DraggableComponent-overlay": "_DraggableComponent-overlay_1bhad_29", "DraggableComponent-loadingOverlay": "_DraggableComponent-loadingOverlay_1bhad_49", "DraggableComponent--isLocked": "_DraggableComponent--isLocked_1bhad_65", "DraggableComponent--forceHover": "_DraggableComponent--forceHover_1bhad_71", "DraggableComponent--isSelected": "_DraggableComponent--isSelected_1bhad_76", "DraggableComponent--indicativeHover": "_DraggableComponent--indicativeHover_1bhad_81", "DraggableComponent-actionsOverlay": "_DraggableComponent-actionsOverlay_1bhad_97", "DraggableComponent-actions": "_DraggableComponent-actions_1bhad_97" };
74149
74184
  init_react_import2();
74150
74185
  var import_react132 = require("react");
74151
74186
  var useModifierHeld = (modifier) => {
@@ -74180,12 +74215,81 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74180
74215
  "iPod"
74181
74216
  ].includes(navigator.platform) || // iPad on iOS 13 detection
74182
74217
  navigator.userAgent.includes("Mac") && "ontouchend" in document;
74183
- var import_jsx_runtime21 = require("react/jsx-runtime");
74184
- var getClassName16 = get_class_name_factory_default2("DraggableComponent", styles_module_default10);
74218
+ init_react_import2();
74219
+ var import_jsx_runtime222 = require("react/jsx-runtime");
74220
+ var DefaultOverride = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(import_jsx_runtime222.Fragment, { children });
74221
+ init_react_import2();
74222
+ var import_react14 = require("react");
74223
+ init_react_import2();
74224
+ var loadOverrides = ({
74225
+ overrides,
74226
+ plugins
74227
+ }) => {
74228
+ const collected = __spreadValues2({}, overrides);
74229
+ plugins.forEach((plugin) => {
74230
+ Object.keys(plugin.overrides).forEach((overridesType) => {
74231
+ if (overridesType === "fieldTypes") {
74232
+ const fieldTypes = plugin.overrides.fieldTypes;
74233
+ Object.keys(fieldTypes).forEach((fieldType) => {
74234
+ collected.fieldTypes = collected.fieldTypes || {};
74235
+ const childNode2 = collected.fieldTypes[fieldType];
74236
+ const Comp2 = (props) => fieldTypes[fieldType](__spreadProps2(__spreadValues2({}, props), {
74237
+ children: childNode2 ? childNode2(props) : props.children
74238
+ }));
74239
+ collected.fieldTypes[fieldType] = Comp2;
74240
+ });
74241
+ return;
74242
+ }
74243
+ const childNode = collected[overridesType];
74244
+ const Comp = (props) => plugin.overrides[overridesType](__spreadProps2(__spreadValues2({}, props), {
74245
+ children: childNode ? childNode(props) : props.children
74246
+ }));
74247
+ collected[overridesType] = Comp;
74248
+ });
74249
+ });
74250
+ return collected;
74251
+ };
74252
+ var useLoadedOverrides = ({
74253
+ overrides,
74254
+ plugins
74255
+ }) => {
74256
+ return (0, import_react14.useMemo)(() => {
74257
+ return loadOverrides({ overrides, plugins });
74258
+ }, [plugins, overrides]);
74259
+ };
74260
+ init_react_import2();
74261
+ var getPermissions = ({
74262
+ selectedItem,
74263
+ type,
74264
+ globalPermissions,
74265
+ config
74266
+ }) => {
74267
+ const componentType = type || selectedItem && selectedItem.type || "";
74268
+ let componentPermissions = getInitialPermissions({
74269
+ componentType,
74270
+ config,
74271
+ globalPermissions
74272
+ });
74273
+ return componentPermissions;
74274
+ };
74275
+ var getInitialPermissions = ({
74276
+ componentType,
74277
+ globalPermissions,
74278
+ config
74279
+ }) => {
74280
+ var _a3;
74281
+ return __spreadValues2(__spreadValues2({}, globalPermissions), (_a3 = config.components[componentType]) == null ? void 0 : _a3.permissions);
74282
+ };
74283
+ var import_jsx_runtime23 = require("react/jsx-runtime");
74284
+ var getClassName17 = get_class_name_factory_default2("DraggableComponent", styles_module_default11);
74185
74285
  var space2 = 8;
74186
74286
  var actionsOverlayTop = space2 * 6.5;
74187
74287
  var actionsTop = -(actionsOverlayTop - 8);
74188
74288
  var actionsRight = space2;
74289
+ var DefaultActionBar = ({
74290
+ label,
74291
+ children
74292
+ }) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(ActionBar, { label, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DefaultOverride, { children }) });
74189
74293
  var DraggableComponent = ({
74190
74294
  children,
74191
74295
  id,
@@ -74208,30 +74312,50 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74208
74312
  indicativeHover = false,
74209
74313
  style: style2
74210
74314
  }) => {
74211
- const { zoomConfig } = useAppContext2();
74315
+ const {
74316
+ zoomConfig,
74317
+ status,
74318
+ overrides,
74319
+ plugins,
74320
+ selectedItem,
74321
+ config,
74322
+ globalPermissions
74323
+ } = useAppContext2();
74212
74324
  const isModifierHeld = useModifierHeld("Alt");
74213
- const { status } = useAppContext2();
74214
74325
  const El = status !== "LOADING" ? import_dnd4.Draggable : DefaultDraggable;
74215
- (0, import_react14.useEffect)(onMount, []);
74216
- const [disableSecondaryAnimation, setDisableSecondaryAnimation] = (0, import_react14.useState)(false);
74217
- (0, import_react14.useEffect)(() => {
74326
+ (0, import_react15.useEffect)(onMount, []);
74327
+ const [disableSecondaryAnimation, setDisableSecondaryAnimation] = (0, import_react15.useState)(false);
74328
+ (0, import_react15.useEffect)(() => {
74218
74329
  if (isIos()) {
74219
74330
  setDisableSecondaryAnimation(true);
74220
74331
  }
74221
74332
  }, []);
74222
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
74333
+ const loadedOverrides = useLoadedOverrides({
74334
+ overrides,
74335
+ plugins
74336
+ });
74337
+ const CustomActionBar = (0, import_react15.useMemo)(
74338
+ () => loadedOverrides.actionBar || DefaultActionBar,
74339
+ [loadedOverrides]
74340
+ );
74341
+ const permissions = selectedItem && getPermissions({
74342
+ selectedItem,
74343
+ globalPermissions: globalPermissions || {},
74344
+ config
74345
+ });
74346
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
74223
74347
  El,
74224
74348
  {
74225
74349
  draggableId: id,
74226
74350
  index,
74227
74351
  isDragDisabled,
74228
74352
  disableSecondaryAnimation,
74229
- children: (provided, snapshot) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
74353
+ children: (provided, snapshot) => /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
74230
74354
  "div",
74231
74355
  __spreadProps2(__spreadValues2(__spreadValues2({
74232
74356
  ref: provided.innerRef
74233
74357
  }, provided.draggableProps), provided.dragHandleProps), {
74234
- className: getClassName16({
74358
+ className: getClassName17({
74235
74359
  isSelected,
74236
74360
  isModifierHeld,
74237
74361
  isDragging: snapshot.isDragging,
@@ -74240,7 +74364,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74240
74364
  indicativeHover
74241
74365
  }),
74242
74366
  style: __spreadProps2(__spreadValues2(__spreadValues2({}, style2), provided.draggableProps.style), {
74243
- cursor: isModifierHeld ? "initial" : "grab"
74367
+ cursor: isModifierHeld || isDragDisabled ? "initial" : "grab"
74244
74368
  }),
74245
74369
  onMouseOver,
74246
74370
  onMouseOut,
@@ -74249,34 +74373,33 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74249
74373
  onClick,
74250
74374
  children: [
74251
74375
  debug,
74252
- isLoading && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassName16("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Loader2, {}) }),
74253
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
74376
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: getClassName17("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Loader2, {}) }),
74377
+ isSelected && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
74254
74378
  "div",
74255
74379
  {
74256
- className: getClassName16("actionsOverlay"),
74380
+ className: getClassName17("actionsOverlay"),
74257
74381
  style: {
74258
74382
  top: actionsOverlayTop / zoomConfig.zoom
74259
74383
  },
74260
- children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
74384
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
74261
74385
  "div",
74262
74386
  {
74263
- className: getClassName16("actions"),
74387
+ className: getClassName17("actions"),
74264
74388
  style: {
74265
74389
  transform: `scale(${1 / zoomConfig.zoom}`,
74266
74390
  top: actionsTop / zoomConfig.zoom,
74267
74391
  right: actionsRight / zoomConfig.zoom
74268
74392
  },
74269
- children: [
74270
- label && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassName16("actionsLabel"), children: label }),
74271
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("button", { className: getClassName16("action"), onClick: onDuplicate, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Copy, { size: 16 }) }),
74272
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("button", { className: getClassName16("action"), onClick: onDelete, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Trash, { size: 16 }) })
74273
- ]
74393
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(CustomActionBar, { label, children: [
74394
+ permissions && permissions.duplicate && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(ActionBar.Action, { onClick: onDuplicate, label: "Duplicate", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Copy, { size: 16 }) }),
74395
+ permissions && permissions.delete && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(ActionBar.Action, { onClick: onDelete, label: "Delete", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Trash, { size: 16 }) })
74396
+ ] })
74274
74397
  }
74275
74398
  )
74276
74399
  }
74277
74400
  ),
74278
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassName16("overlay") }),
74279
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassName16("contents"), children })
74401
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: getClassName17("overlay") }),
74402
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: getClassName17("contents"), children })
74280
74403
  ]
74281
74404
  })
74282
74405
  )
@@ -74285,9 +74408,9 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74285
74408
  );
74286
74409
  };
74287
74410
  init_react_import2();
74288
- var styles_module_default11 = { "DropZone": "_DropZone_djoti_1", "DropZone-content": "_DropZone-content_djoti_10", "DropZone--userIsDragging": "_DropZone--userIsDragging_djoti_15", "DropZone--draggingOverArea": "_DropZone--draggingOverArea_djoti_19", "DropZone--draggingNewComponent": "_DropZone--draggingNewComponent_djoti_20", "DropZone--isAreaSelected": "_DropZone--isAreaSelected_djoti_26", "DropZone--hoveringOverArea": "_DropZone--hoveringOverArea_djoti_27", "DropZone--isDisabled": "_DropZone--isDisabled_djoti_28", "DropZone--isRootZone": "_DropZone--isRootZone_djoti_29", "DropZone--hasChildren": "_DropZone--hasChildren_djoti_30", "DropZone--isDestination": "_DropZone--isDestination_djoti_40", "DropZone-item": "_DropZone-item_djoti_52", "DropZone-hitbox": "_DropZone-hitbox_djoti_56" };
74411
+ var styles_module_default12 = { "DropZone": "_DropZone_djoti_1", "DropZone-content": "_DropZone-content_djoti_10", "DropZone--userIsDragging": "_DropZone--userIsDragging_djoti_15", "DropZone--draggingOverArea": "_DropZone--draggingOverArea_djoti_19", "DropZone--draggingNewComponent": "_DropZone--draggingNewComponent_djoti_20", "DropZone--isAreaSelected": "_DropZone--isAreaSelected_djoti_26", "DropZone--hoveringOverArea": "_DropZone--hoveringOverArea_djoti_27", "DropZone--isDisabled": "_DropZone--isDisabled_djoti_28", "DropZone--isRootZone": "_DropZone--isRootZone_djoti_29", "DropZone--hasChildren": "_DropZone--hasChildren_djoti_30", "DropZone--isDestination": "_DropZone--isDestination_djoti_40", "DropZone-item": "_DropZone-item_djoti_52", "DropZone-hitbox": "_DropZone-hitbox_djoti_56" };
74289
74412
  init_react_import2();
74290
- var import_react15 = require("react");
74413
+ var import_react16 = require("react");
74291
74414
  var import_use_debounce2 = (init_index_module(), __toCommonJS(index_module_exports));
74292
74415
  init_react_import2();
74293
74416
  var getZoneId2 = (zoneCompound) => {
@@ -74299,30 +74422,30 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74299
74422
  }
74300
74423
  return [rootDroppableId2, zoneCompound];
74301
74424
  };
74302
- var import_jsx_runtime222 = require("react/jsx-runtime");
74303
- var dropZoneContext2 = (0, import_react15.createContext)(null);
74425
+ var import_jsx_runtime24 = require("react/jsx-runtime");
74426
+ var dropZoneContext2 = (0, import_react16.createContext)(null);
74304
74427
  var DropZoneProvider = ({
74305
74428
  children,
74306
74429
  value
74307
74430
  }) => {
74308
- const [hoveringArea, setHoveringArea] = (0, import_react15.useState)(null);
74309
- const [hoveringZone, setHoveringZone] = (0, import_react15.useState)(
74431
+ const [hoveringArea, setHoveringArea] = (0, import_react16.useState)(null);
74432
+ const [hoveringZone, setHoveringZone] = (0, import_react16.useState)(
74310
74433
  rootDroppableId2
74311
74434
  );
74312
- const [hoveringComponent, setHoveringComponent] = (0, import_react15.useState)();
74435
+ const [hoveringComponent, setHoveringComponent] = (0, import_react16.useState)();
74313
74436
  const [hoveringAreaDb] = (0, import_use_debounce2.useDebounce)(hoveringArea, 75, { leading: false });
74314
- const [areasWithZones, setAreasWithZones] = (0, import_react15.useState)(
74437
+ const [areasWithZones, setAreasWithZones] = (0, import_react16.useState)(
74315
74438
  {}
74316
74439
  );
74317
- const [activeZones, setActiveZones] = (0, import_react15.useState)({});
74440
+ const [activeZones, setActiveZones] = (0, import_react16.useState)({});
74318
74441
  const { dispatch = null } = value ? value : {};
74319
- const registerZoneArea = (0, import_react15.useCallback)(
74442
+ const registerZoneArea = (0, import_react16.useCallback)(
74320
74443
  (area) => {
74321
74444
  setAreasWithZones((latest) => __spreadProps2(__spreadValues2({}, latest), { [area]: true }));
74322
74445
  },
74323
74446
  [setAreasWithZones]
74324
74447
  );
74325
- const registerZone = (0, import_react15.useCallback)(
74448
+ const registerZone = (0, import_react16.useCallback)(
74326
74449
  (zoneCompound) => {
74327
74450
  if (!dispatch) {
74328
74451
  return;
@@ -74335,7 +74458,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74335
74458
  },
74336
74459
  [setActiveZones, dispatch]
74337
74460
  );
74338
- const unregisterZone = (0, import_react15.useCallback)(
74461
+ const unregisterZone = (0, import_react16.useCallback)(
74339
74462
  (zoneCompound) => {
74340
74463
  if (!dispatch) {
74341
74464
  return;
@@ -74350,8 +74473,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74350
74473
  },
74351
74474
  [setActiveZones, dispatch]
74352
74475
  );
74353
- const [pathData, setPathData] = (0, import_react15.useState)();
74354
- const registerPath = (0, import_react15.useCallback)(
74476
+ const [pathData, setPathData] = (0, import_react16.useState)();
74477
+ const registerPath = (0, import_react16.useCallback)(
74355
74478
  (selector) => {
74356
74479
  if (!(value == null ? void 0 : value.data)) {
74357
74480
  return;
@@ -74376,8 +74499,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74376
74499
  },
74377
74500
  [value, setPathData]
74378
74501
  );
74379
- const [zoneWillDrag, setZoneWillDrag] = (0, import_react15.useState)("");
74380
- return /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(import_jsx_runtime222.Fragment, { children: value && /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(
74502
+ const [zoneWillDrag, setZoneWillDrag] = (0, import_react16.useState)("");
74503
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, { children: value && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
74381
74504
  dropZoneContext2.Provider,
74382
74505
  {
74383
74506
  value: __spreadValues2({
@@ -74401,12 +74524,12 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74401
74524
  }
74402
74525
  ) });
74403
74526
  };
74404
- var import_jsx_runtime23 = require("react/jsx-runtime");
74405
- var getClassName17 = get_class_name_factory_default2("DropZone", styles_module_default11);
74527
+ var import_jsx_runtime25 = require("react/jsx-runtime");
74528
+ var getClassName18 = get_class_name_factory_default2("DropZone", styles_module_default12);
74406
74529
  function DropZoneEdit({ zone, allow, disallow, style: style2 }) {
74407
74530
  var _a3;
74408
74531
  const appContext22 = useAppContext2();
74409
- const ctx = (0, import_react16.useContext)(dropZoneContext2);
74532
+ const ctx = (0, import_react17.useContext)(dropZoneContext2);
74410
74533
  const {
74411
74534
  // These all need setting via context
74412
74535
  data,
@@ -74425,12 +74548,12 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74425
74548
  } = ctx || {};
74426
74549
  let content = data.content || [];
74427
74550
  let zoneCompound = rootDroppableId2;
74428
- (0, import_react16.useEffect)(() => {
74551
+ (0, import_react17.useEffect)(() => {
74429
74552
  if (areaId && registerZoneArea) {
74430
74553
  registerZoneArea(areaId);
74431
74554
  }
74432
74555
  }, [areaId]);
74433
- (0, import_react16.useEffect)(() => {
74556
+ (0, import_react17.useEffect)(() => {
74434
74557
  if (ctx == null ? void 0 : ctx.registerZone) {
74435
74558
  ctx == null ? void 0 : ctx.registerZone(zoneCompound);
74436
74559
  }
@@ -74456,7 +74579,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74456
74579
  const draggingOverArea = userIsDragging && zoneArea === draggedSourceArea;
74457
74580
  const draggingNewComponent = draggedSourceId == null ? void 0 : draggedSourceId.startsWith("component-list");
74458
74581
  if (!(ctx == null ? void 0 : ctx.config) || !ctx.setHoveringArea || !ctx.setHoveringZone || !ctx.setHoveringComponent || !ctx.setItemSelector || !ctx.registerPath || !ctx.dispatch) {
74459
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { children: "DropZone requires context to work." });
74582
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { children: "DropZone requires context to work." });
74460
74583
  }
74461
74584
  const {
74462
74585
  hoveringArea = "root",
@@ -74497,10 +74620,10 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74497
74620
  }
74498
74621
  const selectedItem = itemSelector ? getItem2(itemSelector, data) : null;
74499
74622
  const isAreaSelected = selectedItem && zoneArea === selectedItem.props.id;
74500
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
74623
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
74501
74624
  "div",
74502
74625
  {
74503
- className: getClassName17({
74626
+ className: getClassName18({
74504
74627
  isRootZone,
74505
74628
  userIsDragging,
74506
74629
  draggingOverArea,
@@ -74514,17 +74637,17 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74514
74637
  onMouseUp: () => {
74515
74638
  setZoneWillDrag("");
74516
74639
  },
74517
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
74640
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
74518
74641
  Droppable2,
74519
74642
  {
74520
74643
  droppableId: zoneCompound,
74521
74644
  direction: "vertical",
74522
74645
  isDropDisabled: !isEnabled,
74523
74646
  children: (provided, snapshot) => {
74524
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
74647
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
74525
74648
  "div",
74526
74649
  __spreadProps2(__spreadValues2({}, (provided || { droppableProps: {} }).droppableProps), {
74527
- className: getClassName17("content"),
74650
+ className: getClassName18("content"),
74528
74651
  ref: provided == null ? void 0 : provided.innerRef,
74529
74652
  style: style2,
74530
74653
  id: zoneCompound,
@@ -74551,25 +74674,33 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74551
74674
  "draggable-"
74552
74675
  )[1] === componentId;
74553
74676
  const containsZone = areasWithZones ? areasWithZones[componentId] : false;
74554
- const Render2 = config.components[item.type] ? config.components[item.type].render : () => /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { style: { padding: 48, textAlign: "center" }, children: [
74677
+ const Render2 = config.components[item.type] ? config.components[item.type].render : () => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { style: { padding: 48, textAlign: "center" }, children: [
74555
74678
  "No configuration for ",
74556
74679
  item.type
74557
74680
  ] });
74558
74681
  const componentConfig = config.components[item.type];
74559
74682
  const label = (_b2 = componentConfig == null ? void 0 : componentConfig["label"]) != null ? _b2 : item.type.toString();
74560
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
74683
+ const canDrag = getPermissions({
74684
+ selectedItem: getItem2(
74685
+ { index: i2, zone: zoneCompound },
74686
+ appContext22.state.data
74687
+ ),
74688
+ config: appContext22.config,
74689
+ globalPermissions: appContext22.globalPermissions || {}
74690
+ }).drag;
74691
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
74561
74692
  "div",
74562
74693
  {
74563
- className: getClassName17("item"),
74694
+ className: getClassName18("item"),
74564
74695
  style: { zIndex: isDragging2 ? 1 : void 0 },
74565
74696
  children: [
74566
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
74697
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
74567
74698
  DropZoneProvider,
74568
74699
  {
74569
74700
  value: __spreadProps2(__spreadValues2({}, ctx), {
74570
74701
  areaId: componentId
74571
74702
  }),
74572
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
74703
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
74573
74704
  DraggableComponent,
74574
74705
  {
74575
74706
  label,
@@ -74578,6 +74709,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74578
74709
  isSelected,
74579
74710
  isLocked: userIsDragging,
74580
74711
  forceHover: hoveringComponent === componentId && !userIsDragging,
74712
+ isDragDisabled: !canDrag,
74581
74713
  indicativeHover: userIsDragging && containsZone && hoveringArea === componentId,
74582
74714
  isLoading: (_c = appContext22.componentState[componentId]) == null ? void 0 : _c.loading,
74583
74715
  onMount: () => {
@@ -74636,15 +74768,15 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74636
74768
  style: {
74637
74769
  pointerEvents: userIsDragging && draggingNewComponent ? "all" : void 0
74638
74770
  },
74639
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: getClassName17("renderWrapper"), children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Render2, __spreadValues2({}, defaultedProps)) })
74771
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: getClassName18("renderWrapper"), children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Render2, __spreadValues2({}, defaultedProps)) })
74640
74772
  }
74641
74773
  )
74642
74774
  }
74643
74775
  ),
74644
- userIsDragging && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
74776
+ userIsDragging && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
74645
74777
  "div",
74646
74778
  {
74647
- className: getClassName17("hitbox"),
74779
+ className: getClassName18("hitbox"),
74648
74780
  onMouseOver: (e2) => {
74649
74781
  e2.stopPropagation();
74650
74782
  setHoveringArea(zoneArea);
@@ -74658,7 +74790,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74658
74790
  );
74659
74791
  }),
74660
74792
  provided == null ? void 0 : provided.placeholder,
74661
- (snapshot == null ? void 0 : snapshot.isDraggingOver) && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
74793
+ (snapshot == null ? void 0 : snapshot.isDraggingOver) && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
74662
74794
  "div",
74663
74795
  {
74664
74796
  "data-puck-placeholder": true,
@@ -74679,7 +74811,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74679
74811
  );
74680
74812
  }
74681
74813
  function DropZoneRender({ zone }) {
74682
- const ctx = (0, import_react16.useContext)(dropZoneContext2);
74814
+ const ctx = (0, import_react17.useContext)(dropZoneContext2);
74683
74815
  const { data, areaId = "root", config } = ctx || {};
74684
74816
  let zoneCompound = rootDroppableId2;
74685
74817
  let content = (data == null ? void 0 : data.content) || [];
@@ -74690,14 +74822,14 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74690
74822
  zoneCompound = `${areaId}:${zone}`;
74691
74823
  content = setupZone2(data, zoneCompound).zones[zoneCompound];
74692
74824
  }
74693
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_jsx_runtime23.Fragment, { children: content.map((item) => {
74825
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_jsx_runtime25.Fragment, { children: content.map((item) => {
74694
74826
  const Component = config.components[item.type];
74695
74827
  if (Component) {
74696
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
74828
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
74697
74829
  DropZoneProvider,
74698
74830
  {
74699
74831
  value: { data, config, areaId: item.props.id },
74700
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
74832
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
74701
74833
  Component.render,
74702
74834
  __spreadProps2(__spreadValues2({}, item.props), {
74703
74835
  puck: { renderDropZone: DropZone }
@@ -74711,16 +74843,16 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74711
74843
  }) });
74712
74844
  }
74713
74845
  function DropZone(props) {
74714
- const ctx = (0, import_react16.useContext)(dropZoneContext2);
74846
+ const ctx = (0, import_react17.useContext)(dropZoneContext2);
74715
74847
  if ((ctx == null ? void 0 : ctx.mode) === "edit") {
74716
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DropZoneEdit, __spreadValues2({}, props));
74848
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(DropZoneEdit, __spreadValues2({}, props));
74717
74849
  }
74718
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DropZoneRender, __spreadValues2({}, props));
74850
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(DropZoneRender, __spreadValues2({}, props));
74719
74851
  }
74720
74852
  init_react_import2();
74721
- var import_react30 = require("react");
74853
+ var import_react31 = require("react");
74722
74854
  init_react_import2();
74723
- var import_react17 = require("react");
74855
+ var import_react18 = require("react");
74724
74856
  init_react_import2();
74725
74857
  var getFrame3 = () => {
74726
74858
  let frame = document.querySelector("#preview-frame");
@@ -74731,7 +74863,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74731
74863
  };
74732
74864
  var usePlaceholderStyle = () => {
74733
74865
  const queryAttr = "data-rfd-drag-handle-draggable-id";
74734
- const [placeholderStyle, setPlaceholderStyle] = (0, import_react17.useState)();
74866
+ const [placeholderStyle, setPlaceholderStyle] = (0, import_react18.useState)();
74735
74867
  const onDragStartOrUpdate = (draggedItem) => {
74736
74868
  var _a3;
74737
74869
  const draggableId = draggedItem.draggableId;
@@ -74776,9 +74908,9 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74776
74908
  };
74777
74909
  init_react_import2();
74778
74910
  init_react_import2();
74779
- var styles_module_default12 = { "SidebarSection": "_SidebarSection_125qe_1", "SidebarSection-title": "_SidebarSection-title_125qe_12", "SidebarSection--noBorderTop": "_SidebarSection--noBorderTop_125qe_20", "SidebarSection-content": "_SidebarSection-content_125qe_24", "SidebarSection--noPadding": "_SidebarSection--noPadding_125qe_28", "SidebarSection-breadcrumbLabel": "_SidebarSection-breadcrumbLabel_125qe_41", "SidebarSection-breadcrumbs": "_SidebarSection-breadcrumbs_125qe_70", "SidebarSection-breadcrumb": "_SidebarSection-breadcrumb_125qe_41", "SidebarSection-heading": "_SidebarSection-heading_125qe_82", "SidebarSection-loadingOverlay": "_SidebarSection-loadingOverlay_125qe_86" };
74911
+ var styles_module_default13 = { "SidebarSection": "_SidebarSection_125qe_1", "SidebarSection-title": "_SidebarSection-title_125qe_12", "SidebarSection--noBorderTop": "_SidebarSection--noBorderTop_125qe_20", "SidebarSection-content": "_SidebarSection-content_125qe_24", "SidebarSection--noPadding": "_SidebarSection--noPadding_125qe_28", "SidebarSection-breadcrumbLabel": "_SidebarSection-breadcrumbLabel_125qe_41", "SidebarSection-breadcrumbs": "_SidebarSection-breadcrumbs_125qe_70", "SidebarSection-breadcrumb": "_SidebarSection-breadcrumb_125qe_41", "SidebarSection-heading": "_SidebarSection-heading_125qe_82", "SidebarSection-loadingOverlay": "_SidebarSection-loadingOverlay_125qe_86" };
74780
74912
  init_react_import2();
74781
- var import_react18 = require("react");
74913
+ var import_react19 = require("react");
74782
74914
  var convertPathDataToBreadcrumbs2 = (selectedItem, pathData, data) => {
74783
74915
  const id = selectedItem ? selectedItem == null ? void 0 : selectedItem.props.id : "";
74784
74916
  const currentPathData = pathData && id && pathData[id] ? __spreadValues2({}, pathData[id]) : { label: "Page", path: [] };
@@ -74828,8 +74960,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74828
74960
  state: { data },
74829
74961
  selectedItem
74830
74962
  } = useAppContext2();
74831
- const dzContext = (0, import_react18.useContext)(dropZoneContext2);
74832
- return (0, import_react18.useMemo)(() => {
74963
+ const dzContext = (0, import_react19.useContext)(dropZoneContext2);
74964
+ return (0, import_react19.useMemo)(() => {
74833
74965
  const breadcrumbs = convertPathDataToBreadcrumbs2(
74834
74966
  selectedItem,
74835
74967
  dzContext == null ? void 0 : dzContext.pathData,
@@ -74841,8 +74973,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74841
74973
  return breadcrumbs;
74842
74974
  }, [selectedItem, dzContext == null ? void 0 : dzContext.pathData, renderCount]);
74843
74975
  };
74844
- var import_jsx_runtime24 = require("react/jsx-runtime");
74845
- var getClassName18 = get_class_name_factory_default2("SidebarSection", styles_module_default12);
74976
+ var import_jsx_runtime26 = require("react/jsx-runtime");
74977
+ var getClassName19 = get_class_name_factory_default2("SidebarSection", styles_module_default13);
74846
74978
  var SidebarSection2 = ({
74847
74979
  children,
74848
74980
  title,
@@ -74854,28 +74986,28 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74854
74986
  }) => {
74855
74987
  const { setUi } = useAppContext2();
74856
74988
  const breadcrumbs = useBreadcrumbs2(1);
74857
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
74989
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
74858
74990
  "div",
74859
74991
  {
74860
- className: getClassName18({ noBorderTop, noPadding }),
74992
+ className: getClassName19({ noBorderTop, noPadding }),
74861
74993
  style: { background },
74862
74994
  children: [
74863
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: getClassName18("title"), children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: getClassName18("breadcrumbs"), children: [
74864
- showBreadcrumbs ? breadcrumbs.map((breadcrumb, i2) => /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: getClassName18("breadcrumb"), children: [
74865
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
74995
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: getClassName19("title"), children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: getClassName19("breadcrumbs"), children: [
74996
+ showBreadcrumbs ? breadcrumbs.map((breadcrumb, i2) => /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: getClassName19("breadcrumb"), children: [
74997
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
74866
74998
  "button",
74867
74999
  {
74868
- className: getClassName18("breadcrumbLabel"),
75000
+ className: getClassName19("breadcrumbLabel"),
74869
75001
  onClick: () => setUi({ itemSelector: breadcrumb.selector }),
74870
75002
  children: breadcrumb.label
74871
75003
  }
74872
75004
  ),
74873
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(ChevronRight2, { size: 16 })
75005
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(ChevronRight2, { size: 16 })
74874
75006
  ] }, i2)) : null,
74875
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: getClassName18("heading"), children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Heading2, { rank: 2, size: "xs", children: title }) })
75007
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: getClassName19("heading"), children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Heading2, { rank: 2, size: "xs", children: title }) })
74876
75008
  ] }) }),
74877
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: getClassName18("content"), children }),
74878
- isLoading && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: getClassName18("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Loader2, { size: 32 }) })
75009
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: getClassName19("content"), children }),
75010
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: getClassName19("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Loader2, { size: 32 }) })
74879
75011
  ]
74880
75012
  }
74881
75013
  );
@@ -74977,34 +75109,37 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74977
75109
  })
74978
75110
  });
74979
75111
  };
74980
- var reduceData = (data, action, config) => {
74981
- if (action.type === "insert") {
74982
- const emptyComponentData = {
74983
- type: action.componentType,
74984
- props: __spreadProps2(__spreadValues2({}, config.components[action.componentType].defaultProps || {}), {
74985
- id: generateId(action.componentType)
74986
- })
74987
- };
74988
- if (action.destinationZone === rootDroppableId2) {
74989
- return __spreadProps2(__spreadValues2({}, data), {
74990
- content: insert(
74991
- data.content,
74992
- action.destinationIndex,
74993
- emptyComponentData
74994
- )
74995
- });
74996
- }
74997
- const newData = setupZone2(data, action.destinationZone);
75112
+ var insertAction = (data, action, config) => {
75113
+ const emptyComponentData = {
75114
+ type: action.componentType,
75115
+ props: __spreadProps2(__spreadValues2({}, config.components[action.componentType].defaultProps || {}), {
75116
+ id: action.id || generateId(action.componentType)
75117
+ })
75118
+ };
75119
+ if (action.destinationZone === rootDroppableId2) {
74998
75120
  return __spreadProps2(__spreadValues2({}, data), {
74999
- zones: __spreadProps2(__spreadValues2({}, newData.zones), {
75000
- [action.destinationZone]: insert(
75001
- newData.zones[action.destinationZone],
75002
- action.destinationIndex,
75003
- emptyComponentData
75004
- )
75005
- })
75121
+ content: insert(
75122
+ data.content,
75123
+ action.destinationIndex,
75124
+ emptyComponentData
75125
+ )
75006
75126
  });
75007
75127
  }
75128
+ const newData = setupZone2(data, action.destinationZone);
75129
+ return __spreadProps2(__spreadValues2({}, data), {
75130
+ zones: __spreadProps2(__spreadValues2({}, newData.zones), {
75131
+ [action.destinationZone]: insert(
75132
+ newData.zones[action.destinationZone],
75133
+ action.destinationIndex,
75134
+ emptyComponentData
75135
+ )
75136
+ })
75137
+ });
75138
+ };
75139
+ var reduceData = (data, action, config) => {
75140
+ if (action.type === "insert") {
75141
+ return insertAction(data, action, config);
75142
+ }
75008
75143
  if (action.type === "duplicate") {
75009
75144
  const item = getItem2(
75010
75145
  { index: action.sourceIndex, zone: action.sourceZone },
@@ -75219,7 +75354,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75219
75354
  return appState;
75220
75355
  };
75221
75356
  init_react_import2();
75222
- var import_react19 = require("react");
75357
+ var import_react20 = require("react");
75223
75358
  init_react_import2();
75224
75359
  init_react_import2();
75225
75360
  var getChanged = (newItem, oldItem) => {
@@ -75316,13 +75451,13 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75316
75451
  return data.root;
75317
75452
  });
75318
75453
  var useResolvedData = (appState, config, dispatch) => {
75319
- const [{ resolverKey, newAppState }, setResolverState] = (0, import_react19.useState)({
75454
+ const [{ resolverKey, newAppState }, setResolverState] = (0, import_react20.useState)({
75320
75455
  resolverKey: 0,
75321
75456
  newAppState: appState
75322
75457
  });
75323
- const [componentState, setComponentState] = (0, import_react19.useState)({});
75458
+ const [componentState, setComponentState] = (0, import_react20.useState)({});
75324
75459
  const deferredSetStates = {};
75325
- const setComponentLoading = (0, import_react19.useCallback)(
75460
+ const setComponentLoading = (0, import_react20.useCallback)(
75326
75461
  (id, loading, defer2 = 0) => {
75327
75462
  if (deferredSetStates[id]) {
75328
75463
  clearTimeout(deferredSetStates[id]);
@@ -75392,10 +75527,10 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75392
75527
  });
75393
75528
  yield Promise.all(promises);
75394
75529
  });
75395
- (0, import_react19.useEffect)(() => {
75530
+ (0, import_react20.useEffect)(() => {
75396
75531
  runResolvers();
75397
75532
  }, [resolverKey]);
75398
- const resolveData = (0, import_react19.useCallback)((newAppState2 = appState) => {
75533
+ const resolveData = (0, import_react20.useCallback)((newAppState2 = appState) => {
75399
75534
  setResolverState((curr) => ({
75400
75535
  resolverKey: curr.resolverKey + 1,
75401
75536
  newAppState: newAppState2
@@ -75408,9 +75543,9 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75408
75543
  };
75409
75544
  init_react_import2();
75410
75545
  init_react_import2();
75411
- var styles_module_default13 = { "MenuBar": "_MenuBar_8pf8c_1", "MenuBar--menuOpen": "_MenuBar--menuOpen_8pf8c_14", "MenuBar-inner": "_MenuBar-inner_8pf8c_29", "MenuBar-history": "_MenuBar-history_8pf8c_45" };
75412
- var import_jsx_runtime25 = require("react/jsx-runtime");
75413
- var getClassName19 = get_class_name_factory_default2("MenuBar", styles_module_default13);
75546
+ var styles_module_default14 = { "MenuBar": "_MenuBar_8pf8c_1", "MenuBar--menuOpen": "_MenuBar--menuOpen_8pf8c_14", "MenuBar-inner": "_MenuBar-inner_8pf8c_29", "MenuBar-history": "_MenuBar-history_8pf8c_45" };
75547
+ var import_jsx_runtime27 = require("react/jsx-runtime");
75548
+ var getClassName20 = get_class_name_factory_default2("MenuBar", styles_module_default14);
75414
75549
  var MenuBar = ({
75415
75550
  appState,
75416
75551
  data = { content: [], root: {} },
@@ -75424,10 +75559,10 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75424
75559
  history: { back, forward, historyStore }
75425
75560
  } = useAppContext2();
75426
75561
  const { hasFuture = false, hasPast = false } = historyStore || {};
75427
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
75562
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
75428
75563
  "div",
75429
75564
  {
75430
- className: getClassName19({ menuOpen }),
75565
+ className: getClassName20({ menuOpen }),
75431
75566
  onClick: (event) => {
75432
75567
  var _a3;
75433
75568
  const element = event.target;
@@ -75438,24 +75573,12 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75438
75573
  setMenuOpen(false);
75439
75574
  }
75440
75575
  },
75441
- children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: getClassName19("inner"), children: [
75442
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: getClassName19("history"), children: [
75443
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(IconButton, { title: "undo", disabled: !hasPast, onClick: back, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
75444
- Undo2,
75445
- {
75446
- size: 21,
75447
- stroke: hasPast ? "var(--puck-color-black)" : "var(--puck-color-grey-08)"
75448
- }
75449
- ) }),
75450
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(IconButton, { title: "redo", disabled: !hasFuture, onClick: forward, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
75451
- Redo2,
75452
- {
75453
- size: 21,
75454
- stroke: hasFuture ? "var(--puck-color-black)" : "var(--puck-color-grey-08)"
75455
- }
75456
- ) })
75576
+ children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: getClassName20("inner"), children: [
75577
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: getClassName20("history"), children: [
75578
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(IconButton, { title: "undo", disabled: !hasPast, onClick: back, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Undo2, { size: 21 }) }),
75579
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(IconButton, { title: "redo", disabled: !hasFuture, onClick: forward, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Redo2, { size: 21 }) })
75457
75580
  ] }),
75458
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_jsx_runtime25.Fragment, { children: renderHeaderActions && renderHeaderActions({
75581
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_jsx_runtime27.Fragment, { children: renderHeaderActions && renderHeaderActions({
75459
75582
  state: appState,
75460
75583
  dispatch
75461
75584
  }) })
@@ -75464,20 +75587,20 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75464
75587
  );
75465
75588
  };
75466
75589
  init_react_import2();
75467
- var styles_module_default14 = { "Puck": "_Puck_1g88c_19", "Puck-portal": "_Puck-portal_1g88c_24", "PuckLayout": "_PuckLayout_1g88c_31", "PuckLayout-inner": "_PuckLayout-inner_1g88c_39", "PuckLayout--mounted": "_PuckLayout--mounted_1g88c_51", "PuckLayout--leftSideBarVisible": "_PuckLayout--leftSideBarVisible_1g88c_55", "PuckLayout--rightSideBarVisible": "_PuckLayout--rightSideBarVisible_1g88c_61", "PuckLayout-mounted": "_PuckLayout-mounted_1g88c_75", "PuckLayout-header": "_PuckLayout-header_1g88c_116", "PuckLayout-headerInner": "_PuckLayout-headerInner_1g88c_125", "PuckLayout-headerToggle": "_PuckLayout-headerToggle_1g88c_135", "PuckLayout-rightSideBarToggle": "_PuckLayout-rightSideBarToggle_1g88c_142", "PuckLayout-leftSideBarToggle": "_PuckLayout-leftSideBarToggle_1g88c_143", "PuckLayout-headerTitle": "_PuckLayout-headerTitle_1g88c_147", "PuckLayout-headerPath": "_PuckLayout-headerPath_1g88c_151", "PuckLayout-headerTools": "_PuckLayout-headerTools_1g88c_158", "PuckLayout-menuButton": "_PuckLayout-menuButton_1g88c_164", "PuckLayout--menuOpen": "_PuckLayout--menuOpen_1g88c_169", "PuckLayout-leftSideBar": "_PuckLayout-leftSideBar_1g88c_143", "PuckLayout-rightSideBar": "_PuckLayout-rightSideBar_1g88c_142" };
75590
+ var styles_module_default15 = { "Puck": "_Puck_1g88c_19", "Puck-portal": "_Puck-portal_1g88c_24", "PuckLayout": "_PuckLayout_1g88c_31", "PuckLayout-inner": "_PuckLayout-inner_1g88c_39", "PuckLayout--mounted": "_PuckLayout--mounted_1g88c_51", "PuckLayout--leftSideBarVisible": "_PuckLayout--leftSideBarVisible_1g88c_55", "PuckLayout--rightSideBarVisible": "_PuckLayout--rightSideBarVisible_1g88c_61", "PuckLayout-mounted": "_PuckLayout-mounted_1g88c_75", "PuckLayout-header": "_PuckLayout-header_1g88c_116", "PuckLayout-headerInner": "_PuckLayout-headerInner_1g88c_125", "PuckLayout-headerToggle": "_PuckLayout-headerToggle_1g88c_135", "PuckLayout-rightSideBarToggle": "_PuckLayout-rightSideBarToggle_1g88c_142", "PuckLayout-leftSideBarToggle": "_PuckLayout-leftSideBarToggle_1g88c_143", "PuckLayout-headerTitle": "_PuckLayout-headerTitle_1g88c_147", "PuckLayout-headerPath": "_PuckLayout-headerPath_1g88c_151", "PuckLayout-headerTools": "_PuckLayout-headerTools_1g88c_158", "PuckLayout-menuButton": "_PuckLayout-menuButton_1g88c_164", "PuckLayout--menuOpen": "_PuckLayout--menuOpen_1g88c_169", "PuckLayout-leftSideBar": "_PuckLayout-leftSideBar_1g88c_143", "PuckLayout-rightSideBar": "_PuckLayout-rightSideBar_1g88c_142" };
75468
75591
  init_react_import2();
75469
75592
  init_react_import2();
75470
- var styles_module_default15 = { "PuckFields": "_PuckFields_jp3lw_1", "PuckFields--isLoading": "_PuckFields--isLoading_jp3lw_6", "PuckFields-loadingOverlay": "_PuckFields-loadingOverlay_jp3lw_10", "PuckFields-loadingOverlayInner": "_PuckFields-loadingOverlayInner_jp3lw_25" };
75471
- var import_react20 = require("react");
75472
- var import_jsx_runtime26 = require("react/jsx-runtime");
75473
- var getClassName20 = get_class_name_factory_default2("PuckFields", styles_module_default15);
75593
+ 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" };
75594
+ var import_react21 = require("react");
75595
+ var import_jsx_runtime28 = require("react/jsx-runtime");
75596
+ var getClassName21 = get_class_name_factory_default2("PuckFields", styles_module_default16);
75474
75597
  var defaultPageFields = {
75475
75598
  title: { type: "text" }
75476
75599
  };
75477
75600
  var DefaultFields = ({
75478
75601
  children
75479
75602
  }) => {
75480
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_jsx_runtime26.Fragment, { children });
75603
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_jsx_runtime28.Fragment, { children });
75481
75604
  };
75482
75605
  var useResolvedFields = () => {
75483
75606
  var _a3;
@@ -75487,14 +75610,14 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75487
75610
  const componentConfig = selectedItem ? config.components[selectedItem.type] : null;
75488
75611
  const defaultFields = selectedItem ? componentConfig == null ? void 0 : componentConfig.fields : rootFields;
75489
75612
  const rootProps = data.root.props || data.root;
75490
- const [lastSelectedData, setLastSelectedData] = (0, import_react20.useState)(
75613
+ const [lastSelectedData, setLastSelectedData] = (0, import_react21.useState)(
75491
75614
  {}
75492
75615
  );
75493
- const [resolvedFields, setResolvedFields] = (0, import_react20.useState)(defaultFields || {});
75494
- const [fieldsLoading, setFieldsLoading] = (0, import_react20.useState)(false);
75616
+ const [resolvedFields, setResolvedFields] = (0, import_react21.useState)(defaultFields || {});
75617
+ const [fieldsLoading, setFieldsLoading] = (0, import_react21.useState)(false);
75495
75618
  const defaultResolveFields = (_componentData, _params) => defaultFields;
75496
75619
  const componentData = selectedItem ? selectedItem : { props: rootProps, readOnly: data.root.readOnly };
75497
- const resolveFields = (0, import_react20.useCallback)(
75620
+ const resolveFields = (0, import_react21.useCallback)(
75498
75621
  (..._0) => __async2(void 0, [..._0], function* (fields = {}) {
75499
75622
  var _a22, _b2, _c;
75500
75623
  const lastData = ((_a22 = lastSelectedData.props) == null ? void 0 : _a22.id) === componentData.props.id ? lastSelectedData : {};
@@ -75530,7 +75653,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75530
75653
  }),
75531
75654
  [data, config, componentData, selectedItem, resolvedFields, state]
75532
75655
  );
75533
- (0, import_react20.useEffect)(() => {
75656
+ (0, import_react21.useEffect)(() => {
75534
75657
  setFieldsLoading(true);
75535
75658
  resolveFields(defaultFields).then((fields) => {
75536
75659
  setResolvedFields(fields || {});
@@ -75548,7 +75671,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75548
75671
  config,
75549
75672
  resolveData,
75550
75673
  componentState,
75551
- overrides
75674
+ overrides,
75675
+ globalPermissions
75552
75676
  } = useAppContext2();
75553
75677
  const { data, ui } = state;
75554
75678
  const { itemSelector } = ui;
@@ -75556,16 +75680,16 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75556
75680
  const componentResolving = selectedItem ? (_a3 = componentState[selectedItem == null ? void 0 : selectedItem.props.id]) == null ? void 0 : _a3.loading : (_b2 = componentState["puck-root"]) == null ? void 0 : _b2.loading;
75557
75681
  const isLoading = fieldsResolving || componentResolving;
75558
75682
  const rootProps = data.root.props || data.root;
75559
- const Wrapper = (0, import_react20.useMemo)(() => overrides.fields || DefaultFields, [overrides]);
75560
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
75683
+ const Wrapper = (0, import_react21.useMemo)(() => overrides.fields || DefaultFields, [overrides]);
75684
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
75561
75685
  "form",
75562
75686
  {
75563
- className: getClassName20(),
75687
+ className: getClassName21(),
75564
75688
  onSubmit: (e2) => {
75565
75689
  e2.preventDefault();
75566
75690
  },
75567
75691
  children: [
75568
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Wrapper, { isLoading, itemSelector, children: Object.keys(fields).map((fieldName) => {
75692
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Wrapper, { isLoading, itemSelector, children: Object.keys(fields).map((fieldName) => {
75569
75693
  const field = fields[fieldName];
75570
75694
  if (!(field == null ? void 0 : field.type)) return null;
75571
75695
  const onChange = (value, updatedUi) => {
@@ -75632,13 +75756,18 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75632
75756
  };
75633
75757
  if (selectedItem && itemSelector) {
75634
75758
  const { readOnly = {} } = selectedItem;
75635
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
75759
+ const { edit } = getPermissions({
75760
+ selectedItem,
75761
+ config,
75762
+ globalPermissions: globalPermissions || {}
75763
+ });
75764
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
75636
75765
  AutoFieldPrivate,
75637
75766
  {
75638
75767
  field,
75639
75768
  name: fieldName,
75640
75769
  id: `${selectedItem.props.id}_${fieldName}`,
75641
- readOnly: readOnly[fieldName],
75770
+ readOnly: !edit || readOnly[fieldName],
75642
75771
  value: selectedItem.props[fieldName],
75643
75772
  onChange
75644
75773
  },
@@ -75646,7 +75775,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75646
75775
  );
75647
75776
  } else {
75648
75777
  const { readOnly = {} } = data.root;
75649
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
75778
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
75650
75779
  AutoFieldPrivate,
75651
75780
  {
75652
75781
  field,
@@ -75660,26 +75789,40 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75660
75789
  );
75661
75790
  }
75662
75791
  }) }),
75663
- isLoading && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: getClassName20("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: getClassName20("loadingOverlayInner"), children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Loader2, { size: 16 }) }) })
75792
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: getClassName21("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: getClassName21("loadingOverlayInner"), children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Loader2, { size: 16 }) }) })
75664
75793
  ]
75665
75794
  }
75666
75795
  );
75667
75796
  };
75668
75797
  init_react_import2();
75669
75798
  init_react_import2();
75670
- var import_react21 = require("react");
75799
+ var import_react222 = require("react");
75671
75800
  init_react_import2();
75672
75801
  init_react_import2();
75673
- var styles_module_default16 = { "ComponentList": "_ComponentList_odh9d_1", "ComponentList--isExpanded": "_ComponentList--isExpanded_odh9d_5", "ComponentList-content": "_ComponentList-content_odh9d_9", "ComponentList-title": "_ComponentList-title_odh9d_17", "ComponentList-titleIcon": "_ComponentList-titleIcon_odh9d_53" };
75674
- var import_jsx_runtime27 = require("react/jsx-runtime");
75675
- var getClassName21 = get_class_name_factory_default2("ComponentList", styles_module_default16);
75802
+ var styles_module_default17 = { "ComponentList": "_ComponentList_odh9d_1", "ComponentList--isExpanded": "_ComponentList--isExpanded_odh9d_5", "ComponentList-content": "_ComponentList-content_odh9d_9", "ComponentList-title": "_ComponentList-title_odh9d_17", "ComponentList-titleIcon": "_ComponentList-titleIcon_odh9d_53" };
75803
+ var import_jsx_runtime29 = require("react/jsx-runtime");
75804
+ var getClassName222 = get_class_name_factory_default2("ComponentList", styles_module_default17);
75676
75805
  var ComponentListItem = ({
75677
75806
  name,
75678
75807
  label,
75679
75808
  index
75680
75809
  }) => {
75681
- const { overrides } = useAppContext2();
75682
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Drawer.Item, { label, name, index, children: overrides.componentItem });
75810
+ const { overrides, config, globalPermissions } = useAppContext2();
75811
+ const canInsert = getPermissions({
75812
+ type: name,
75813
+ config,
75814
+ globalPermissions: globalPermissions || {}
75815
+ }).insert;
75816
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
75817
+ Drawer.Item,
75818
+ {
75819
+ label,
75820
+ name,
75821
+ index,
75822
+ isDragDisabled: !canInsert,
75823
+ children: overrides.componentItem
75824
+ }
75825
+ );
75683
75826
  };
75684
75827
  var ComponentList = ({
75685
75828
  children,
@@ -75688,11 +75831,11 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75688
75831
  }) => {
75689
75832
  const { config, state, setUi } = useAppContext2();
75690
75833
  const { expanded = true } = state.ui.componentList[id] || {};
75691
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: getClassName21({ isExpanded: expanded }), children: [
75692
- title && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
75834
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: getClassName222({ isExpanded: expanded }), children: [
75835
+ title && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
75693
75836
  "button",
75694
75837
  {
75695
- className: getClassName21("title"),
75838
+ className: getClassName222("title"),
75696
75839
  onClick: () => setUi({
75697
75840
  componentList: __spreadProps2(__spreadValues2({}, state.ui.componentList), {
75698
75841
  [id]: __spreadProps2(__spreadValues2({}, state.ui.componentList[id]), {
@@ -75702,14 +75845,14 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75702
75845
  }),
75703
75846
  title: expanded ? `Collapse${title ? ` ${title}` : ""}` : `Expand${title ? ` ${title}` : ""}`,
75704
75847
  children: [
75705
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { children: title }),
75706
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: getClassName21("titleIcon"), children: expanded ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(ChevronUp, { size: 12 }) : /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(ChevronDown, { size: 12 }) })
75848
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { children: title }),
75849
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: getClassName222("titleIcon"), children: expanded ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ChevronUp, { size: 12 }) : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ChevronDown, { size: 12 }) })
75707
75850
  ]
75708
75851
  }
75709
75852
  ),
75710
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: getClassName21("content"), children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Drawer, { droppableId: title, children: children || Object.keys(config.components).map((componentKey, i2) => {
75853
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: getClassName222("content"), children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Drawer, { droppableId: title, children: children || Object.keys(config.components).map((componentKey, i2) => {
75711
75854
  var _a3;
75712
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
75855
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
75713
75856
  ComponentListItem,
75714
75857
  {
75715
75858
  label: (_a3 = config.components[componentKey]["label"]) != null ? _a3 : componentKey,
@@ -75722,10 +75865,10 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75722
75865
  ] });
75723
75866
  };
75724
75867
  ComponentList.Item = ComponentListItem;
75725
- var import_jsx_runtime28 = require("react/jsx-runtime");
75868
+ var import_jsx_runtime30 = require("react/jsx-runtime");
75726
75869
  var useComponentList = (config, ui) => {
75727
- const [componentList, setComponentList] = (0, import_react21.useState)();
75728
- (0, import_react21.useEffect)(() => {
75870
+ const [componentList, setComponentList] = (0, import_react222.useState)();
75871
+ (0, import_react222.useEffect)(() => {
75729
75872
  var _a3, _b2, _c;
75730
75873
  if (Object.keys(ui.componentList).length > 0) {
75731
75874
  const matchedComponents = [];
@@ -75735,7 +75878,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75735
75878
  if (category.visible === false || !category.components) {
75736
75879
  return null;
75737
75880
  }
75738
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
75881
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
75739
75882
  ComponentList,
75740
75883
  {
75741
75884
  id: categoryKey,
@@ -75744,7 +75887,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75744
75887
  var _a22;
75745
75888
  matchedComponents.push(componentName);
75746
75889
  const componentConf = config.components[componentName] || {};
75747
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
75890
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
75748
75891
  ComponentList.Item,
75749
75892
  {
75750
75893
  label: (_a22 = componentConf["label"]) != null ? _a22 : componentName,
@@ -75764,7 +75907,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75764
75907
  );
75765
75908
  if (remainingComponents.length > 0 && !((_a3 = ui.componentList.other) == null ? void 0 : _a3.components) && ((_b2 = ui.componentList.other) == null ? void 0 : _b2.visible) !== false) {
75766
75909
  _componentList.push(
75767
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
75910
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
75768
75911
  ComponentList,
75769
75912
  {
75770
75913
  id: "other",
@@ -75772,7 +75915,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75772
75915
  children: remainingComponents.map((componentName, i2) => {
75773
75916
  var _a22;
75774
75917
  const componentConf = config.components[componentName] || {};
75775
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
75918
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
75776
75919
  ComponentList.Item,
75777
75920
  {
75778
75921
  name: componentName,
@@ -75792,21 +75935,21 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75792
75935
  }, [config.categories, config.components, ui.componentList]);
75793
75936
  return componentList;
75794
75937
  };
75795
- var import_react222 = require("react");
75796
- var import_jsx_runtime29 = require("react/jsx-runtime");
75938
+ var import_react23 = require("react");
75939
+ var import_jsx_runtime31 = require("react/jsx-runtime");
75797
75940
  var Components = () => {
75798
75941
  const { config, state, overrides } = useAppContext2();
75799
75942
  const componentList = useComponentList(config, state.ui);
75800
- const Wrapper = (0, import_react222.useMemo)(() => overrides.components || "div", [overrides]);
75801
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Wrapper, { children: componentList ? componentList : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ComponentList, { id: "all" }) });
75943
+ const Wrapper = (0, import_react23.useMemo)(() => overrides.components || "div", [overrides]);
75944
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Wrapper, { children: componentList ? componentList : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(ComponentList, { id: "all" }) });
75802
75945
  };
75803
75946
  init_react_import2();
75804
- var import_react24 = require("react");
75947
+ var import_react25 = require("react");
75805
75948
  init_react_import2();
75806
- var import_react23 = __toESM2(require("react"));
75949
+ var import_react24 = __toESM2(require("react"));
75807
75950
  var import_react_frame_component = __toESM2(require_lib());
75808
75951
  var import_object_hash = __toESM2(require_object_hash());
75809
- var import_jsx_runtime30 = require("react/jsx-runtime");
75952
+ var import_jsx_runtime322 = require("react/jsx-runtime");
75810
75953
  var styleSelector = 'style, link[rel="stylesheet"]';
75811
75954
  var collectStyles = (doc) => {
75812
75955
  const collected = [];
@@ -75849,7 +75992,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75849
75992
  onStylesLoaded = () => null
75850
75993
  }) => {
75851
75994
  const { document: doc, window: win } = (0, import_react_frame_component.useFrame)();
75852
- (0, import_react23.useEffect)(() => {
75995
+ (0, import_react24.useEffect)(() => {
75853
75996
  if (!win || !doc) {
75854
75997
  return () => {
75855
75998
  };
@@ -76006,23 +76149,23 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76006
76149
  observer.disconnect();
76007
76150
  };
76008
76151
  }, []);
76009
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_jsx_runtime30.Fragment, { children });
76152
+ return /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(import_jsx_runtime322.Fragment, { children });
76010
76153
  };
76011
- var AutoFrameComponent = import_react23.default.forwardRef(
76154
+ var AutoFrameComponent = import_react24.default.forwardRef(
76012
76155
  function(_a3, ref2) {
76013
76156
  var _b2 = _a3, { children, debug, onStylesLoaded } = _b2, props = __objRest2(_b2, ["children", "debug", "onStylesLoaded"]);
76014
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_react_frame_component.default, __spreadProps2(__spreadValues2({}, props), { ref: ref2, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(CopyHostStyles, { debug, onStylesLoaded, children }) }));
76157
+ return /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(import_react_frame_component.default, __spreadProps2(__spreadValues2({}, props), { ref: ref2, children: /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(CopyHostStyles, { debug, onStylesLoaded, children }) }));
76015
76158
  }
76016
76159
  );
76017
76160
  AutoFrameComponent.displayName = "AutoFrameComponent";
76018
76161
  var AutoFrame_default = AutoFrameComponent;
76019
76162
  init_react_import2();
76020
- var styles_module_default17 = { "PuckPreview": "_PuckPreview_rxwlr_1", "PuckPreview-frame": "_PuckPreview-frame_rxwlr_5" };
76021
- var import_jsx_runtime31 = require("react/jsx-runtime");
76022
- var getClassName222 = get_class_name_factory_default2("PuckPreview", styles_module_default17);
76163
+ var styles_module_default18 = { "PuckPreview": "_PuckPreview_rxwlr_1", "PuckPreview-frame": "_PuckPreview-frame_rxwlr_5" };
76164
+ var import_jsx_runtime33 = require("react/jsx-runtime");
76165
+ var getClassName23 = get_class_name_factory_default2("PuckPreview", styles_module_default18);
76023
76166
  var Preview = ({ id = "puck-preview" }) => {
76024
76167
  const { config, dispatch, state, setStatus, iframe } = useAppContext2();
76025
- const Page = (0, import_react24.useCallback)(
76168
+ const Page = (0, import_react25.useCallback)(
76026
76169
  (pageProps) => {
76027
76170
  var _a3, _b2;
76028
76171
  return ((_a3 = config.root) == null ? void 0 : _a3.render) ? (_b2 = config.root) == null ? void 0 : _b2.render(__spreadProps2(__spreadValues2({
@@ -76031,33 +76174,33 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76031
76174
  editMode: true,
76032
76175
  // DEPRECATED
76033
76176
  puck: { renderDropZone: DropZone, isEditing: true }
76034
- })) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_jsx_runtime31.Fragment, { children: pageProps.children });
76177
+ })) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_jsx_runtime33.Fragment, { children: pageProps.children });
76035
76178
  },
76036
76179
  [config.root]
76037
76180
  );
76038
76181
  const rootProps = state.data.root.props || state.data.root;
76039
- const ref2 = (0, import_react24.useRef)(null);
76040
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
76182
+ const ref2 = (0, import_react25.useRef)(null);
76183
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
76041
76184
  "div",
76042
76185
  {
76043
- className: getClassName222(),
76186
+ className: getClassName23(),
76044
76187
  id,
76045
76188
  onClick: () => {
76046
76189
  dispatch({ type: "setUi", ui: __spreadProps2(__spreadValues2({}, state.ui), { itemSelector: null }) });
76047
76190
  },
76048
- children: iframe.enabled ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
76191
+ children: iframe.enabled ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
76049
76192
  AutoFrame_default,
76050
76193
  {
76051
76194
  id: "preview-frame",
76052
- className: getClassName222("frame"),
76195
+ className: getClassName23("frame"),
76053
76196
  "data-rfd-iframe": true,
76054
76197
  ref: ref2,
76055
76198
  onStylesLoaded: () => {
76056
76199
  setStatus("READY");
76057
76200
  },
76058
- children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Page, __spreadProps2(__spreadValues2({ dispatch, state }, rootProps), { children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(DropZone, { zone: rootDroppableId2 }) }))
76201
+ children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Page, __spreadProps2(__spreadValues2({ dispatch, state }, rootProps), { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(DropZone, { zone: rootDroppableId2 }) }))
76059
76202
  }
76060
- ) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { id: "preview-frame", className: getClassName222("frame"), children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Page, __spreadProps2(__spreadValues2({ dispatch, state }, rootProps), { children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(DropZone, { zone: rootDroppableId2 }) })) })
76203
+ ) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { id: "preview-frame", className: getClassName23("frame"), children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Page, __spreadProps2(__spreadValues2({ dispatch, state }, rootProps), { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(DropZone, { zone: rootDroppableId2 }) })) })
76061
76204
  }
76062
76205
  );
76063
76206
  };
@@ -76079,7 +76222,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76079
76222
  };
76080
76223
  init_react_import2();
76081
76224
  init_react_import2();
76082
- var styles_module_default18 = { "LayerTree": "_LayerTree_1pgw8_1", "LayerTree-zoneTitle": "_LayerTree-zoneTitle_1pgw8_11", "LayerTree-helper": "_LayerTree-helper_1pgw8_17", "Layer": "_Layer_1pgw8_1", "Layer-inner": "_Layer-inner_1pgw8_29", "Layer--containsZone": "_Layer--containsZone_1pgw8_35", "Layer-clickable": "_Layer-clickable_1pgw8_39", "Layer--isSelected": "_Layer--isSelected_1pgw8_61", "Layer-chevron": "_Layer-chevron_1pgw8_77", "Layer--childIsSelected": "_Layer--childIsSelected_1pgw8_78", "Layer-zones": "_Layer-zones_1pgw8_82", "Layer-title": "_Layer-title_1pgw8_96", "Layer-name": "_Layer-name_1pgw8_105", "Layer-icon": "_Layer-icon_1pgw8_111", "Layer-zoneIcon": "_Layer-zoneIcon_1pgw8_116" };
76225
+ var styles_module_default19 = { "LayerTree": "_LayerTree_1pgw8_1", "LayerTree-zoneTitle": "_LayerTree-zoneTitle_1pgw8_11", "LayerTree-helper": "_LayerTree-helper_1pgw8_17", "Layer": "_Layer_1pgw8_1", "Layer-inner": "_Layer-inner_1pgw8_29", "Layer--containsZone": "_Layer--containsZone_1pgw8_35", "Layer-clickable": "_Layer-clickable_1pgw8_39", "Layer--isSelected": "_Layer--isSelected_1pgw8_61", "Layer-chevron": "_Layer-chevron_1pgw8_77", "Layer--childIsSelected": "_Layer--childIsSelected_1pgw8_78", "Layer-zones": "_Layer-zones_1pgw8_82", "Layer-title": "_Layer-title_1pgw8_96", "Layer-name": "_Layer-name_1pgw8_105", "Layer-icon": "_Layer-icon_1pgw8_111", "Layer-zoneIcon": "_Layer-zoneIcon_1pgw8_116" };
76083
76226
  init_react_import2();
76084
76227
  var scrollIntoView2 = (el) => {
76085
76228
  const oldStyle = __spreadValues2({}, el.style);
@@ -76089,7 +76232,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76089
76232
  el.style.scrollMargin = oldStyle.scrollMargin || "";
76090
76233
  }
76091
76234
  };
76092
- var import_react25 = require("react");
76235
+ var import_react26 = require("react");
76093
76236
  init_react_import2();
76094
76237
  var isChildOfZone = (item, maybeChild, ctx) => {
76095
76238
  var _a3;
@@ -76099,9 +76242,9 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76099
76242
  return area === item.props.id;
76100
76243
  })) : false;
76101
76244
  };
76102
- var import_jsx_runtime322 = require("react/jsx-runtime");
76103
- var getClassName23 = get_class_name_factory_default2("LayerTree", styles_module_default18);
76104
- var getClassNameLayer = get_class_name_factory_default2("Layer", styles_module_default18);
76245
+ var import_jsx_runtime34 = require("react/jsx-runtime");
76246
+ var getClassName24 = get_class_name_factory_default2("LayerTree", styles_module_default19);
76247
+ var getClassNameLayer = get_class_name_factory_default2("Layer", styles_module_default19);
76105
76248
  var LayerTree = ({
76106
76249
  data,
76107
76250
  config,
@@ -76112,15 +76255,15 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76112
76255
  label
76113
76256
  }) => {
76114
76257
  const zones = data.zones || {};
76115
- const ctx = (0, import_react25.useContext)(dropZoneContext2);
76116
- return /* @__PURE__ */ (0, import_jsx_runtime322.jsxs)(import_jsx_runtime322.Fragment, { children: [
76117
- label && /* @__PURE__ */ (0, import_jsx_runtime322.jsxs)("div", { className: getClassName23("zoneTitle"), children: [
76118
- /* @__PURE__ */ (0, import_jsx_runtime322.jsx)("div", { className: getClassName23("zoneIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(Layers, { size: "16" }) }),
76258
+ const ctx = (0, import_react26.useContext)(dropZoneContext2);
76259
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
76260
+ label && /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName24("zoneTitle"), children: [
76261
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName24("zoneIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Layers, { size: "16" }) }),
76119
76262
  " ",
76120
76263
  label
76121
76264
  ] }),
76122
- /* @__PURE__ */ (0, import_jsx_runtime322.jsxs)("ul", { className: getClassName23(), children: [
76123
- zoneContent.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime322.jsx)("div", { className: getClassName23("helper"), children: "No items" }),
76265
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("ul", { className: getClassName24(), children: [
76266
+ zoneContent.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName24("helper"), children: "No items" }),
76124
76267
  zoneContent.map((item, i2) => {
76125
76268
  var _a3;
76126
76269
  const isSelected = (itemSelector == null ? void 0 : itemSelector.index) === i2 && (itemSelector.zone === zone || itemSelector.zone === rootDroppableId2 && !zone);
@@ -76138,7 +76281,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76138
76281
  const childIsSelected = isChildOfZone(item, selectedItem, ctx);
76139
76282
  const componentConfig = config.components[item.type];
76140
76283
  const label2 = (_a3 = componentConfig == null ? void 0 : componentConfig["label"]) != null ? _a3 : item.type.toString();
76141
- return /* @__PURE__ */ (0, import_jsx_runtime322.jsxs)(
76284
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
76142
76285
  "li",
76143
76286
  {
76144
76287
  className: getClassNameLayer({
@@ -76148,7 +76291,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76148
76291
  childIsSelected
76149
76292
  }),
76150
76293
  children: [
76151
- /* @__PURE__ */ (0, import_jsx_runtime322.jsx)("div", { className: getClassNameLayer("inner"), children: /* @__PURE__ */ (0, import_jsx_runtime322.jsxs)(
76294
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassNameLayer("inner"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
76152
76295
  "button",
76153
76296
  {
76154
76297
  className: getClassNameLayer("clickable"),
@@ -76180,22 +76323,22 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76180
76323
  setHoveringComponent(null);
76181
76324
  },
76182
76325
  children: [
76183
- containsZone && /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(
76326
+ containsZone && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
76184
76327
  "div",
76185
76328
  {
76186
76329
  className: getClassNameLayer("chevron"),
76187
76330
  title: isSelected ? "Collapse" : "Expand",
76188
- children: /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(ChevronDown, { size: "12" })
76331
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ChevronDown, { size: "12" })
76189
76332
  }
76190
76333
  ),
76191
- /* @__PURE__ */ (0, import_jsx_runtime322.jsxs)("div", { className: getClassNameLayer("title"), children: [
76192
- /* @__PURE__ */ (0, import_jsx_runtime322.jsx)("div", { className: getClassNameLayer("icon"), children: item.type === "Text" || item.type === "Heading" ? /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(Type, { size: "16" }) : /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(LayoutGrid, { size: "16" }) }),
76193
- /* @__PURE__ */ (0, import_jsx_runtime322.jsx)("div", { className: getClassNameLayer("name"), children: label2 })
76334
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassNameLayer("title"), children: [
76335
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassNameLayer("icon"), children: item.type === "Text" || item.type === "Heading" ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Type, { size: "16" }) : /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(LayoutGrid, { size: "16" }) }),
76336
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassNameLayer("name"), children: label2 })
76194
76337
  ] })
76195
76338
  ]
76196
76339
  }
76197
76340
  ) }),
76198
- containsZone && Object.keys(zonesForItem).map((zoneKey, idx) => /* @__PURE__ */ (0, import_jsx_runtime322.jsx)("div", { className: getClassNameLayer("zones"), children: /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(
76341
+ containsZone && Object.keys(zonesForItem).map((zoneKey, idx) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassNameLayer("zones"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
76199
76342
  LayerTree,
76200
76343
  {
76201
76344
  config,
@@ -76215,13 +76358,13 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76215
76358
  ] })
76216
76359
  ] });
76217
76360
  };
76218
- var import_react26 = require("react");
76219
- var import_jsx_runtime33 = require("react/jsx-runtime");
76361
+ var import_react27 = require("react");
76362
+ var import_jsx_runtime35 = require("react/jsx-runtime");
76220
76363
  var Outline = () => {
76221
76364
  const { dispatch, state, overrides, config } = useAppContext2();
76222
76365
  const { data, ui } = state;
76223
76366
  const { itemSelector } = ui;
76224
- const setItemSelector = (0, import_react26.useCallback)(
76367
+ const setItemSelector = (0, import_react27.useCallback)(
76225
76368
  (newItemSelector) => {
76226
76369
  dispatch({
76227
76370
  type: "setUi",
@@ -76230,9 +76373,9 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76230
76373
  },
76231
76374
  []
76232
76375
  );
76233
- const Wrapper = (0, import_react26.useMemo)(() => overrides.outline || "div", [overrides]);
76234
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Wrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(dropZoneContext2.Consumer, { children: (ctx) => /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_jsx_runtime33.Fragment, { children: [
76235
- (ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId2]) && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
76376
+ const Wrapper = (0, import_react27.useMemo)(() => overrides.outline || "div", [overrides]);
76377
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Wrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(dropZoneContext2.Consumer, { children: (ctx) => /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
76378
+ (ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId2]) && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
76236
76379
  LayerTree,
76237
76380
  {
76238
76381
  config,
@@ -76245,7 +76388,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76245
76388
  ),
76246
76389
  Object.entries(findZonesForArea(data, "root")).map(
76247
76390
  ([zoneKey, zone]) => {
76248
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
76391
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
76249
76392
  LayerTree,
76250
76393
  {
76251
76394
  config,
@@ -76263,35 +76406,6 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76263
76406
  ] }) }) });
76264
76407
  };
76265
76408
  init_react_import2();
76266
- var loadOverrides = ({
76267
- overrides,
76268
- plugins
76269
- }) => {
76270
- const collected = __spreadValues2({}, overrides);
76271
- plugins.forEach((plugin) => {
76272
- Object.keys(plugin.overrides).forEach((overridesType) => {
76273
- if (overridesType === "fieldTypes") {
76274
- const fieldTypes = plugin.overrides.fieldTypes;
76275
- Object.keys(fieldTypes).forEach((fieldType) => {
76276
- collected.fieldTypes = collected.fieldTypes || {};
76277
- const childNode2 = collected.fieldTypes[fieldType];
76278
- const Comp2 = (props) => fieldTypes[fieldType](__spreadProps2(__spreadValues2({}, props), {
76279
- children: childNode2 ? childNode2(props) : props.children
76280
- }));
76281
- collected.fieldTypes[fieldType] = Comp2;
76282
- });
76283
- return;
76284
- }
76285
- const childNode = collected[overridesType];
76286
- const Comp = (props) => plugin.overrides[overridesType](__spreadProps2(__spreadValues2({}, props), {
76287
- children: childNode ? childNode(props) : props.children
76288
- }));
76289
- collected[overridesType] = Comp;
76290
- });
76291
- });
76292
- return collected;
76293
- };
76294
- init_react_import2();
76295
76409
  var import_react_hotkeys_hook = (init_react_hotkeys_hook_esm(), __toCommonJS(react_hotkeys_hook_esm_exports));
76296
76410
  function usePuckHistory({
76297
76411
  dispatch,
@@ -76344,19 +76458,19 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76344
76458
  };
76345
76459
  }
76346
76460
  init_react_import2();
76347
- var import_react27 = require("react");
76461
+ var import_react28 = require("react");
76348
76462
  var import_use_debounce3 = (init_index_module(), __toCommonJS(index_module_exports));
76349
76463
  var EMPTY_HISTORY_INDEX = -1;
76350
76464
  function useHistoryStore(initialHistory) {
76351
76465
  var _a3, _b2;
76352
- const [histories, setHistories] = (0, import_react27.useState)(
76466
+ const [histories, setHistories] = (0, import_react28.useState)(
76353
76467
  (_a3 = initialHistory == null ? void 0 : initialHistory.histories) != null ? _a3 : []
76354
76468
  );
76355
76469
  const updateHistories = (histories2) => {
76356
76470
  setHistories(histories2);
76357
76471
  setIndex(histories2.length - 1);
76358
76472
  };
76359
- const [index, setIndex] = (0, import_react27.useState)(
76473
+ const [index, setIndex] = (0, import_react28.useState)(
76360
76474
  (_b2 = initialHistory == null ? void 0 : initialHistory.index) != null ? _b2 : EMPTY_HISTORY_INDEX
76361
76475
  );
76362
76476
  const hasPast = index > EMPTY_HISTORY_INDEX;
@@ -76506,19 +76620,19 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76506
76620
  var styles = window.getComputedStyle(el);
76507
76621
  return calculateBox3(borderBox, styles);
76508
76622
  };
76509
- var import_react29 = require("react");
76623
+ var import_react30 = require("react");
76510
76624
  init_react_import2();
76511
- var import_react28 = require("react");
76625
+ var import_react29 = require("react");
76512
76626
  init_react_import2();
76513
- var styles_module_default19 = { "ViewportControls": "_ViewportControls_g1wgg_1", "ViewportControls-divider": "_ViewportControls-divider_g1wgg_15", "ViewportControls-zoomSelect": "_ViewportControls-zoomSelect_g1wgg_21", "ViewportButton--isActive": "_ViewportButton--isActive_g1wgg_34", "ViewportButton-inner": "_ViewportButton-inner_g1wgg_34" };
76514
- var import_jsx_runtime34 = require("react/jsx-runtime");
76627
+ var styles_module_default20 = { "ViewportControls": "_ViewportControls_g1wgg_1", "ViewportControls-divider": "_ViewportControls-divider_g1wgg_15", "ViewportControls-zoomSelect": "_ViewportControls-zoomSelect_g1wgg_21", "ViewportButton--isActive": "_ViewportButton--isActive_g1wgg_34", "ViewportButton-inner": "_ViewportButton-inner_g1wgg_34" };
76628
+ var import_jsx_runtime36 = require("react/jsx-runtime");
76515
76629
  var icons = {
76516
- Smartphone: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Smartphone, { size: 16 }),
76517
- Tablet: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Tablet, { size: 16 }),
76518
- Monitor: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Monitor, { size: 16 })
76630
+ Smartphone: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Smartphone, { size: 16 }),
76631
+ Tablet: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Tablet, { size: 16 }),
76632
+ Monitor: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Monitor, { size: 16 })
76519
76633
  };
76520
- var getClassName24 = get_class_name_factory_default2("ViewportControls", styles_module_default19);
76521
- var getClassNameButton = get_class_name_factory_default2("ViewportButton", styles_module_default19);
76634
+ var getClassName25 = get_class_name_factory_default2("ViewportControls", styles_module_default20);
76635
+ var getClassNameButton = get_class_name_factory_default2("ViewportButton", styles_module_default20);
76522
76636
  var ViewportButton = ({
76523
76637
  children,
76524
76638
  height = "auto",
@@ -76527,11 +76641,11 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76527
76641
  onClick
76528
76642
  }) => {
76529
76643
  const { state } = useAppContext2();
76530
- const [isActive2, setIsActive] = (0, import_react28.useState)(false);
76531
- (0, import_react28.useEffect)(() => {
76644
+ const [isActive2, setIsActive] = (0, import_react29.useState)(false);
76645
+ (0, import_react29.useEffect)(() => {
76532
76646
  setIsActive(width === state.ui.viewports.current.width);
76533
76647
  }, [width, state.ui.viewports.current.width]);
76534
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: getClassNameButton({ isActive: isActive2 }), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
76648
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: getClassNameButton({ isActive: isActive2 }), children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
76535
76649
  IconButton,
76536
76650
  {
76537
76651
  title,
@@ -76540,7 +76654,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76540
76654
  e2.stopPropagation();
76541
76655
  onClick({ width, height });
76542
76656
  },
76543
- children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: getClassNameButton("inner"), children })
76657
+ children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: getClassNameButton("inner"), children })
76544
76658
  }
76545
76659
  ) });
76546
76660
  };
@@ -76564,7 +76678,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76564
76678
  const defaultsContainAutoZoom = defaultZoomOptions.find(
76565
76679
  (option) => option.value === autoZoom
76566
76680
  );
76567
- const zoomOptions = (0, import_react28.useMemo)(
76681
+ const zoomOptions = (0, import_react29.useMemo)(
76568
76682
  () => [
76569
76683
  ...defaultZoomOptions,
76570
76684
  ...defaultsContainAutoZoom ? [] : [
@@ -76576,8 +76690,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76576
76690
  ].filter((a2) => a2.value <= autoZoom).sort((a2, b) => a2.value > b.value ? 1 : -1),
76577
76691
  [autoZoom]
76578
76692
  );
76579
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName24(), children: [
76580
- viewports.map((viewport, i2) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
76693
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: getClassName25(), children: [
76694
+ viewports.map((viewport, i2) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
76581
76695
  ViewportButton,
76582
76696
  {
76583
76697
  height: viewport.height,
@@ -76588,8 +76702,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76588
76702
  },
76589
76703
  i2
76590
76704
  )),
76591
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName24("divider") }),
76592
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
76705
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: getClassName25("divider") }),
76706
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
76593
76707
  IconButton,
76594
76708
  {
76595
76709
  title: "Zoom viewport out",
@@ -76603,10 +76717,10 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76603
76717
  )].value
76604
76718
  );
76605
76719
  },
76606
- children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ZoomOut, { size: 16 })
76720
+ children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ZoomOut, { size: 16 })
76607
76721
  }
76608
76722
  ),
76609
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
76723
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
76610
76724
  IconButton,
76611
76725
  {
76612
76726
  title: "Zoom viewport in",
@@ -76620,19 +76734,19 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76620
76734
  )].value
76621
76735
  );
76622
76736
  },
76623
- children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ZoomIn, { size: 16 })
76737
+ children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ZoomIn, { size: 16 })
76624
76738
  }
76625
76739
  ),
76626
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName24("divider") }),
76627
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
76740
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: getClassName25("divider") }),
76741
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
76628
76742
  "select",
76629
76743
  {
76630
- className: getClassName24("zoomSelect"),
76744
+ className: getClassName25("zoomSelect"),
76631
76745
  value: zoom.toString(),
76632
76746
  onChange: (e2) => {
76633
76747
  onZoom(parseFloat(e2.currentTarget.value));
76634
76748
  },
76635
- children: zoomOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
76749
+ children: zoomOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
76636
76750
  "option",
76637
76751
  {
76638
76752
  value: option.value,
@@ -76645,7 +76759,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76645
76759
  ] });
76646
76760
  };
76647
76761
  init_react_import2();
76648
- var styles_module_default20 = { "PuckCanvas": "_PuckCanvas_6zd4y_1", "PuckCanvas-controls": "_PuckCanvas-controls_6zd4y_16", "PuckCanvas-inner": "_PuckCanvas-inner_6zd4y_21", "PuckCanvas-root": "_PuckCanvas-root_6zd4y_32", "PuckCanvas--ready": "_PuckCanvas--ready_6zd4y_56" };
76762
+ var styles_module_default21 = { "PuckCanvas": "_PuckCanvas_6zd4y_1", "PuckCanvas-controls": "_PuckCanvas-controls_6zd4y_16", "PuckCanvas-inner": "_PuckCanvas-inner_6zd4y_21", "PuckCanvas-root": "_PuckCanvas-root_6zd4y_32", "PuckCanvas--ready": "_PuckCanvas--ready_6zd4y_56" };
76649
76763
  init_react_import2();
76650
76764
  var RESET_ZOOM_SMALLER_THAN_FRAME = true;
76651
76765
  var getZoomConfig = (uiViewport, frame, zoom) => {
@@ -76674,24 +76788,24 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76674
76788
  }
76675
76789
  return { autoZoom, rootHeight, zoom };
76676
76790
  };
76677
- var import_jsx_runtime35 = require("react/jsx-runtime");
76678
- var getClassName25 = get_class_name_factory_default2("PuckCanvas", styles_module_default20);
76791
+ var import_jsx_runtime37 = require("react/jsx-runtime");
76792
+ var getClassName26 = get_class_name_factory_default2("PuckCanvas", styles_module_default21);
76679
76793
  var ZOOM_ON_CHANGE = true;
76680
76794
  var Canvas = () => {
76681
76795
  const { status, iframe } = useAppContext2();
76682
76796
  const { dispatch, state, overrides, setUi, zoomConfig, setZoomConfig } = useAppContext2();
76683
76797
  const { ui } = state;
76684
- const frameRef = (0, import_react29.useRef)(null);
76685
- const [showTransition, setShowTransition] = (0, import_react29.useState)(false);
76686
- const defaultRender = (0, import_react29.useMemo)(() => {
76687
- const PuckDefault = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_jsx_runtime35.Fragment, { children });
76798
+ const frameRef = (0, import_react30.useRef)(null);
76799
+ const [showTransition, setShowTransition] = (0, import_react30.useState)(false);
76800
+ const defaultRender = (0, import_react30.useMemo)(() => {
76801
+ const PuckDefault = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_jsx_runtime37.Fragment, { children });
76688
76802
  return PuckDefault;
76689
76803
  }, []);
76690
- const CustomPreview = (0, import_react29.useMemo)(
76804
+ const CustomPreview = (0, import_react30.useMemo)(
76691
76805
  () => overrides.preview || defaultRender,
76692
76806
  [overrides]
76693
76807
  );
76694
- const getFrameDimensions = (0, import_react29.useCallback)(() => {
76808
+ const getFrameDimensions = (0, import_react30.useCallback)(() => {
76695
76809
  if (frameRef.current) {
76696
76810
  const frame = frameRef.current;
76697
76811
  const box = getBox3(frame);
@@ -76699,7 +76813,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76699
76813
  }
76700
76814
  return { width: 0, height: 0 };
76701
76815
  }, [frameRef]);
76702
- const resetAutoZoom = (0, import_react29.useCallback)(
76816
+ const resetAutoZoom = (0, import_react30.useCallback)(
76703
76817
  (ui2 = state.ui) => {
76704
76818
  if (frameRef.current) {
76705
76819
  setZoomConfig(
@@ -76709,11 +76823,11 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76709
76823
  },
76710
76824
  [frameRef, zoomConfig, state.ui]
76711
76825
  );
76712
- (0, import_react29.useEffect)(() => {
76826
+ (0, import_react30.useEffect)(() => {
76713
76827
  setShowTransition(false);
76714
76828
  resetAutoZoom();
76715
76829
  }, [frameRef, ui.leftSideBarVisible, ui.rightSideBarVisible]);
76716
- (0, import_react29.useEffect)(() => {
76830
+ (0, import_react30.useEffect)(() => {
76717
76831
  const { height: frameHeight } = getFrameDimensions();
76718
76832
  if (ui.viewports.current.height === "auto") {
76719
76833
  setZoomConfig(__spreadProps2(__spreadValues2({}, zoomConfig), {
@@ -76721,7 +76835,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76721
76835
  }));
76722
76836
  }
76723
76837
  }, [zoomConfig.zoom]);
76724
- (0, import_react29.useEffect)(() => {
76838
+ (0, import_react30.useEffect)(() => {
76725
76839
  const observer = new ResizeObserver(() => {
76726
76840
  setShowTransition(false);
76727
76841
  resetAutoZoom();
@@ -76733,10 +76847,10 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76733
76847
  observer.disconnect();
76734
76848
  };
76735
76849
  }, []);
76736
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
76850
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
76737
76851
  "div",
76738
76852
  {
76739
- className: getClassName25({
76853
+ className: getClassName26({
76740
76854
  ready: status === "READY" || !iframe.enabled
76741
76855
  }),
76742
76856
  onClick: () => dispatch({
@@ -76745,7 +76859,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76745
76859
  recordHistory: true
76746
76860
  }),
76747
76861
  children: [
76748
- ui.viewports.controlsVisible && iframe.enabled && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: getClassName25("controls"), children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
76862
+ ui.viewports.controlsVisible && iframe.enabled && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: getClassName26("controls"), children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
76749
76863
  ViewportControls,
76750
76864
  {
76751
76865
  autoZoom: zoomConfig.autoZoom,
@@ -76770,10 +76884,10 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76770
76884
  }
76771
76885
  }
76772
76886
  ) }),
76773
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: getClassName25("inner"), ref: frameRef, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
76887
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: getClassName26("inner"), ref: frameRef, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
76774
76888
  "div",
76775
76889
  {
76776
- className: getClassName25("root"),
76890
+ className: getClassName26("root"),
76777
76891
  style: {
76778
76892
  width: iframe.enabled ? ui.viewports.current.width : "100%",
76779
76893
  height: zoomConfig.rootHeight,
@@ -76782,16 +76896,46 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76782
76896
  overflow: iframe.enabled ? void 0 : "auto"
76783
76897
  },
76784
76898
  suppressHydrationWarning: true,
76785
- children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CustomPreview, { children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Preview, {}) })
76899
+ children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(CustomPreview, { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Preview, {}) })
76786
76900
  }
76787
76901
  ) })
76788
76902
  ]
76789
76903
  }
76790
76904
  );
76791
76905
  };
76792
- var import_jsx_runtime36 = require("react/jsx-runtime");
76793
- var getClassName26 = get_class_name_factory_default2("Puck", styles_module_default14);
76794
- var getLayoutClassName = get_class_name_factory_default2("PuckLayout", styles_module_default14);
76906
+ init_react_import2();
76907
+ var insertComponent = (componentType, zone, index, {
76908
+ config,
76909
+ dispatch,
76910
+ resolveData,
76911
+ state
76912
+ }) => {
76913
+ const id = generateId(componentType);
76914
+ const insertActionData = {
76915
+ type: "insert",
76916
+ componentType,
76917
+ destinationIndex: index,
76918
+ destinationZone: zone,
76919
+ id
76920
+ };
76921
+ const insertedData = insertAction(state.data, insertActionData, config);
76922
+ dispatch(__spreadProps2(__spreadValues2({}, insertActionData), {
76923
+ // Dispatch insert rather set, as user's may rely on this via onAction
76924
+ recordHistory: false
76925
+ }));
76926
+ const itemSelector = {
76927
+ index,
76928
+ zone
76929
+ };
76930
+ dispatch({ type: "setUi", ui: { itemSelector } });
76931
+ resolveData({
76932
+ data: insertedData,
76933
+ ui: __spreadProps2(__spreadValues2({}, state.ui), { itemSelector })
76934
+ });
76935
+ };
76936
+ var import_jsx_runtime38 = require("react/jsx-runtime");
76937
+ var getClassName27 = get_class_name_factory_default2("Puck", styles_module_default15);
76938
+ var getLayoutClassName = get_class_name_factory_default2("PuckLayout", styles_module_default15);
76795
76939
  function Puck({
76796
76940
  children,
76797
76941
  config,
@@ -76800,6 +76944,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76800
76944
  onChange,
76801
76945
  onPublish,
76802
76946
  onAction,
76947
+ permissions = {},
76803
76948
  plugins = [],
76804
76949
  overrides = {},
76805
76950
  renderHeader,
@@ -76815,10 +76960,10 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76815
76960
  }) {
76816
76961
  var _a3;
76817
76962
  const historyStore = useHistoryStore(initialHistory);
76818
- const [reducer2] = (0, import_react30.useState)(
76963
+ const [reducer2] = (0, import_react31.useState)(
76819
76964
  () => createReducer({ config, record: historyStore.record, onAction })
76820
76965
  );
76821
- const [initialAppState] = (0, import_react30.useState)(() => {
76966
+ const [initialAppState] = (0, import_react31.useState)(() => {
76822
76967
  var _a22, _b2, _c, _d, _e, _f, _g;
76823
76968
  const initial = __spreadValues2(__spreadValues2({}, defaultAppState2.ui), initialUi);
76824
76969
  let clientUiState = {};
@@ -76876,7 +77021,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76876
77021
  })
76877
77022
  });
76878
77023
  });
76879
- const [appState, dispatch] = (0, import_react30.useReducer)(
77024
+ const [appState, dispatch] = (0, import_react31.useReducer)(
76880
77025
  reducer2,
76881
77026
  flushZones(initialAppState)
76882
77027
  );
@@ -76887,9 +77032,9 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76887
77032
  config,
76888
77033
  dispatch
76889
77034
  );
76890
- const [menuOpen, setMenuOpen] = (0, import_react30.useState)(false);
77035
+ const [menuOpen, setMenuOpen] = (0, import_react31.useState)(false);
76891
77036
  const { itemSelector, leftSideBarVisible, rightSideBarVisible } = ui;
76892
- const setItemSelector = (0, import_react30.useCallback)(
77037
+ const setItemSelector = (0, import_react31.useCallback)(
76893
77038
  (newItemSelector) => {
76894
77039
  if (newItemSelector === itemSelector) return;
76895
77040
  dispatch({
@@ -76901,13 +77046,13 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76901
77046
  [itemSelector]
76902
77047
  );
76903
77048
  const selectedItem = itemSelector ? getItem2(itemSelector, data) : null;
76904
- (0, import_react30.useEffect)(() => {
77049
+ (0, import_react31.useEffect)(() => {
76905
77050
  if (onChange) onChange(data);
76906
77051
  }, [data]);
76907
77052
  const { onDragStartOrUpdate, placeholderStyle } = usePlaceholderStyle();
76908
- const [draggedItem, setDraggedItem] = (0, import_react30.useState)();
77053
+ const [draggedItem, setDraggedItem] = (0, import_react31.useState)();
76909
77054
  const rootProps = data.root.props || data.root;
76910
- const toggleSidebars = (0, import_react30.useCallback)(
77055
+ const toggleSidebars = (0, import_react31.useCallback)(
76911
77056
  (sidebar) => {
76912
77057
  const widerViewport = window.matchMedia("(min-width: 638px)").matches;
76913
77058
  const sideBarVisible = sidebar === "left" ? leftSideBarVisible : rightSideBarVisible;
@@ -76921,7 +77066,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76921
77066
  },
76922
77067
  [dispatch, leftSideBarVisible, rightSideBarVisible]
76923
77068
  );
76924
- (0, import_react30.useEffect)(() => {
77069
+ (0, import_react31.useEffect)(() => {
76925
77070
  if (!window.matchMedia("(min-width: 638px)").matches) {
76926
77071
  dispatch({
76927
77072
  type: "setUi",
@@ -76944,11 +77089,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76944
77089
  window.removeEventListener("resize", handleResize);
76945
77090
  };
76946
77091
  }, []);
76947
- const defaultRender = (0, import_react30.useMemo)(() => {
76948
- const PuckDefault = ({ children: children2 }) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_jsx_runtime36.Fragment, { children: children2 });
76949
- return PuckDefault;
76950
- }, []);
76951
- const defaultHeaderRender = (0, import_react30.useMemo)(() => {
77092
+ const defaultHeaderRender = (0, import_react31.useMemo)(() => {
76952
77093
  if (renderHeader) {
76953
77094
  console.warn(
76954
77095
  "`renderHeader` is deprecated. Please use `overrides.header` and the `usePuck` hook instead"
@@ -76956,48 +77097,49 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76956
77097
  const RenderHeader = (_a22) => {
76957
77098
  var _b2 = _a22, { actions } = _b2, props = __objRest2(_b2, ["actions"]);
76958
77099
  const Comp = renderHeader;
76959
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Comp, __spreadProps2(__spreadValues2({}, props), { dispatch, state: appState, children: actions }));
77100
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Comp, __spreadProps2(__spreadValues2({}, props), { dispatch, state: appState, children: actions }));
76960
77101
  };
76961
77102
  return RenderHeader;
76962
77103
  }
76963
- return defaultRender;
77104
+ return DefaultOverride;
76964
77105
  }, [renderHeader]);
76965
- const defaultHeaderActionsRender = (0, import_react30.useMemo)(() => {
77106
+ const defaultHeaderActionsRender = (0, import_react31.useMemo)(() => {
76966
77107
  if (renderHeaderActions) {
76967
77108
  console.warn(
76968
77109
  "`renderHeaderActions` is deprecated. Please use `overrides.headerActions` and the `usePuck` hook instead."
76969
77110
  );
76970
77111
  const RenderHeader = (props) => {
76971
77112
  const Comp = renderHeaderActions;
76972
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Comp, __spreadProps2(__spreadValues2({}, props), { dispatch, state: appState }));
77113
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Comp, __spreadProps2(__spreadValues2({}, props), { dispatch, state: appState }));
76973
77114
  };
76974
77115
  return RenderHeader;
76975
77116
  }
76976
- return defaultRender;
77117
+ return DefaultOverride;
76977
77118
  }, [renderHeader]);
76978
- const loadedOverrides = (0, import_react30.useMemo)(() => {
76979
- return loadOverrides({ overrides, plugins });
76980
- }, [plugins]);
76981
- const CustomPuck = (0, import_react30.useMemo)(
76982
- () => loadedOverrides.puck || defaultRender,
77119
+ const loadedOverrides = useLoadedOverrides({
77120
+ overrides,
77121
+ plugins
77122
+ });
77123
+ const CustomPuck = (0, import_react31.useMemo)(
77124
+ () => loadedOverrides.puck || DefaultOverride,
76983
77125
  [loadedOverrides]
76984
77126
  );
76985
- const CustomHeader = (0, import_react30.useMemo)(
77127
+ const CustomHeader = (0, import_react31.useMemo)(
76986
77128
  () => loadedOverrides.header || defaultHeaderRender,
76987
77129
  [loadedOverrides]
76988
77130
  );
76989
- const CustomHeaderActions = (0, import_react30.useMemo)(
77131
+ const CustomHeaderActions = (0, import_react31.useMemo)(
76990
77132
  () => loadedOverrides.headerActions || defaultHeaderActionsRender,
76991
77133
  [loadedOverrides]
76992
77134
  );
76993
- const [mounted, setMounted] = (0, import_react30.useState)(false);
76994
- (0, import_react30.useEffect)(() => {
77135
+ const [mounted, setMounted] = (0, import_react31.useState)(false);
77136
+ (0, import_react31.useEffect)(() => {
76995
77137
  setMounted(true);
76996
77138
  }, []);
76997
77139
  const selectedComponentConfig = selectedItem && config.components[selectedItem.type];
76998
77140
  const selectedComponentLabel = selectedItem ? (_a3 = selectedComponentConfig == null ? void 0 : selectedComponentConfig["label"]) != null ? _a3 : selectedItem.type.toString() : "";
76999
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: `Puck ${getClassName26()}`, children: [
77000
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
77141
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: `Puck ${getClassName27()}`, children: [
77142
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
77001
77143
  AppProvider,
77002
77144
  {
77003
77145
  value: {
@@ -77010,9 +77152,16 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
77010
77152
  overrides: loadedOverrides,
77011
77153
  history,
77012
77154
  viewports,
77013
- iframe
77155
+ iframe,
77156
+ globalPermissions: __spreadValues2({
77157
+ delete: true,
77158
+ drag: true,
77159
+ duplicate: true,
77160
+ insert: true,
77161
+ edit: true
77162
+ }, permissions)
77014
77163
  },
77015
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
77164
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
77016
77165
  DragDropContext2,
77017
77166
  {
77018
77167
  autoScrollerOptions: { disabled: dnd == null ? void 0 : dnd.disableAutoScroll },
@@ -77033,16 +77182,12 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
77033
77182
  }
77034
77183
  if (droppedItem.source.droppableId.startsWith("component-list") && droppedItem.destination) {
77035
77184
  const [_, componentType] = droppedItem.draggableId.split("::");
77036
- dispatch({
77037
- type: "insert",
77038
- componentType: componentType || droppedItem.draggableId,
77039
- destinationIndex: droppedItem.destination.index,
77040
- destinationZone: droppedItem.destination.droppableId
77041
- });
77042
- setItemSelector({
77043
- index: droppedItem.destination.index,
77044
- zone: droppedItem.destination.droppableId
77045
- });
77185
+ insertComponent(
77186
+ componentType || droppedItem.draggableId,
77187
+ droppedItem.destination.droppableId,
77188
+ droppedItem.destination.index,
77189
+ { config, dispatch, resolveData, state: appState }
77190
+ );
77046
77191
  return;
77047
77192
  } else {
77048
77193
  const { source, destination } = droppedItem;
@@ -77068,7 +77213,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
77068
77213
  });
77069
77214
  }
77070
77215
  },
77071
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
77216
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
77072
77217
  DropZoneProvider,
77073
77218
  {
77074
77219
  value: {
@@ -77082,7 +77227,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
77082
77227
  mode: "edit",
77083
77228
  areaId: "root"
77084
77229
  },
77085
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(CustomPuck, { children: children || /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
77230
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(CustomPuck, { children: children || /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
77086
77231
  "div",
77087
77232
  {
77088
77233
  className: getLayoutClassName({
@@ -77091,64 +77236,64 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
77091
77236
  mounted,
77092
77237
  rightSideBarVisible
77093
77238
  }),
77094
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: getLayoutClassName("inner"), children: [
77095
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
77239
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: getLayoutClassName("inner"), children: [
77240
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
77096
77241
  CustomHeader,
77097
77242
  {
77098
- actions: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_jsx_runtime36.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(CustomHeaderActions, { children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
77243
+ actions: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_jsx_runtime38.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(CustomHeaderActions, { children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
77099
77244
  Button,
77100
77245
  {
77101
77246
  onClick: () => {
77102
77247
  onPublish && onPublish(data);
77103
77248
  },
77104
- icon: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Globe, { size: "14px" }),
77249
+ icon: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Globe, { size: "14px" }),
77105
77250
  children: "Publish"
77106
77251
  }
77107
77252
  ) }) }),
77108
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("header", { className: getLayoutClassName("header"), children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: getLayoutClassName("headerInner"), children: [
77109
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: getLayoutClassName("headerToggle"), children: [
77110
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
77253
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("header", { className: getLayoutClassName("header"), children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: getLayoutClassName("headerInner"), children: [
77254
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: getLayoutClassName("headerToggle"), children: [
77255
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
77111
77256
  "div",
77112
77257
  {
77113
77258
  className: getLayoutClassName(
77114
77259
  "leftSideBarToggle"
77115
77260
  ),
77116
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
77261
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
77117
77262
  IconButton,
77118
77263
  {
77119
77264
  onClick: () => {
77120
77265
  toggleSidebars("left");
77121
77266
  },
77122
77267
  title: "Toggle left sidebar",
77123
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(PanelLeft, { focusable: "false" })
77268
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(PanelLeft, { focusable: "false" })
77124
77269
  }
77125
77270
  )
77126
77271
  }
77127
77272
  ),
77128
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
77273
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
77129
77274
  "div",
77130
77275
  {
77131
77276
  className: getLayoutClassName(
77132
77277
  "rightSideBarToggle"
77133
77278
  ),
77134
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
77279
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
77135
77280
  IconButton,
77136
77281
  {
77137
77282
  onClick: () => {
77138
77283
  toggleSidebars("right");
77139
77284
  },
77140
77285
  title: "Toggle right sidebar",
77141
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(PanelRight, { focusable: "false" })
77286
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(PanelRight, { focusable: "false" })
77142
77287
  }
77143
77288
  )
77144
77289
  }
77145
77290
  )
77146
77291
  ] }),
77147
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: getLayoutClassName("headerTitle"), children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(Heading2, { rank: 2, size: "xs", children: [
77292
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: getLayoutClassName("headerTitle"), children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(Heading2, { rank: 2, size: "xs", children: [
77148
77293
  headerTitle || rootProps.title || "Page",
77149
- headerPath && /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_jsx_runtime36.Fragment, { children: [
77294
+ headerPath && /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_jsx_runtime38.Fragment, { children: [
77150
77295
  " ",
77151
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
77296
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
77152
77297
  "code",
77153
77298
  {
77154
77299
  className: getLayoutClassName("headerPath"),
@@ -77157,18 +77302,18 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
77157
77302
  )
77158
77303
  ] })
77159
77304
  ] }) }),
77160
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: getLayoutClassName("headerTools"), children: [
77161
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: getLayoutClassName("menuButton"), children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
77305
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: getLayoutClassName("headerTools"), children: [
77306
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: getLayoutClassName("menuButton"), children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
77162
77307
  IconButton,
77163
77308
  {
77164
77309
  onClick: () => {
77165
77310
  return setMenuOpen(!menuOpen);
77166
77311
  },
77167
77312
  title: "Toggle menu bar",
77168
- children: menuOpen ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ChevronUp, { focusable: "false" }) : /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ChevronDown, { focusable: "false" })
77313
+ children: menuOpen ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ChevronUp, { focusable: "false" }) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ChevronDown, { focusable: "false" })
77169
77314
  }
77170
77315
  ) }),
77171
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
77316
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
77172
77317
  MenuBar,
77173
77318
  {
77174
77319
  appState,
@@ -77176,13 +77321,13 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
77176
77321
  dispatch,
77177
77322
  onPublish,
77178
77323
  menuOpen,
77179
- renderHeaderActions: () => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(CustomHeaderActions, { children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
77324
+ renderHeaderActions: () => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(CustomHeaderActions, { children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
77180
77325
  Button,
77181
77326
  {
77182
77327
  onClick: () => {
77183
77328
  onPublish && onPublish(data);
77184
77329
  },
77185
- icon: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Globe, { size: "14px" }),
77330
+ icon: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Globe, { size: "14px" }),
77186
77331
  children: "Publish"
77187
77332
  }
77188
77333
  ) }),
@@ -77193,19 +77338,19 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
77193
77338
  ] }) })
77194
77339
  }
77195
77340
  ),
77196
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: getLayoutClassName("leftSideBar"), children: [
77197
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(SidebarSection2, { title: "Components", noBorderTop: true, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Components, {}) }),
77198
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(SidebarSection2, { title: "Outline", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Outline, {}) })
77341
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: getLayoutClassName("leftSideBar"), children: [
77342
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(SidebarSection2, { title: "Components", noBorderTop: true, children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Components, {}) }),
77343
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(SidebarSection2, { title: "Outline", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Outline, {}) })
77199
77344
  ] }),
77200
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Canvas, {}),
77201
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: getLayoutClassName("rightSideBar"), children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
77345
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Canvas, {}),
77346
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: getLayoutClassName("rightSideBar"), children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
77202
77347
  SidebarSection2,
77203
77348
  {
77204
77349
  noPadding: true,
77205
77350
  noBorderTop: true,
77206
77351
  showBreadcrumbs: true,
77207
77352
  title: selectedItem ? selectedComponentLabel : "Page",
77208
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Fields, {})
77353
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Fields, {})
77209
77354
  }
77210
77355
  ) })
77211
77356
  ] })
@@ -77217,7 +77362,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
77217
77362
  )
77218
77363
  }
77219
77364
  ),
77220
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { id: "puck-portal-root", className: getClassName26("portal") })
77365
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { id: "puck-portal-root", className: getClassName27("portal") })
77221
77366
  ] });
77222
77367
  }
77223
77368
  Puck.Components = Components;
@@ -77225,7 +77370,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
77225
77370
  Puck.Outline = Outline;
77226
77371
  Puck.Preview = Preview;
77227
77372
  init_react_import2();
77228
- var import_jsx_runtime37 = require("react/jsx-runtime");
77373
+ var import_jsx_runtime39 = require("react/jsx-runtime");
77229
77374
  function Render({
77230
77375
  config,
77231
77376
  data
@@ -77238,7 +77383,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
77238
77383
  const rootProps = defaultedData.root.props || defaultedData.root;
77239
77384
  const title = (rootProps == null ? void 0 : rootProps.title) || "";
77240
77385
  if ((_a3 = config.root) == null ? void 0 : _a3.render) {
77241
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DropZoneProvider, { value: { data: defaultedData, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
77386
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(DropZoneProvider, { value: { data: defaultedData, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
77242
77387
  config.root.render,
77243
77388
  __spreadProps2(__spreadValues2({}, rootProps), {
77244
77389
  puck: {
@@ -77248,11 +77393,11 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
77248
77393
  title,
77249
77394
  editMode: false,
77250
77395
  id: "puck-root",
77251
- children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DropZone, { zone: rootDroppableId2 })
77396
+ children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(DropZone, { zone: rootDroppableId2 })
77252
77397
  })
77253
77398
  ) });
77254
77399
  }
77255
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DropZoneProvider, { value: { data: defaultedData, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DropZone, { zone: rootDroppableId2 }) });
77400
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(DropZoneProvider, { value: { data: defaultedData, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(DropZone, { zone: rootDroppableId2 }) });
77256
77401
  }
77257
77402
  init_react_import2();
77258
77403
  var migrations = [
@@ -77348,12 +77493,24 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
77348
77493
  config,
77349
77494
  history,
77350
77495
  dispatch,
77351
- selectedItem
77496
+ selectedItem: currentItem,
77497
+ globalPermissions
77352
77498
  } = useAppContext2();
77353
77499
  return {
77354
77500
  appState,
77355
77501
  config,
77356
77502
  dispatch,
77503
+ getPermissions: ({
77504
+ item,
77505
+ type
77506
+ } = {}) => {
77507
+ return getPermissions({
77508
+ selectedItem: item || currentItem,
77509
+ type,
77510
+ globalPermissions: globalPermissions || {},
77511
+ config
77512
+ });
77513
+ },
77357
77514
  history: {
77358
77515
  back: history.back,
77359
77516
  forward: history.forward,
@@ -77365,7 +77522,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
77365
77522
  index: history.historyStore.index,
77366
77523
  historyStore: history.historyStore
77367
77524
  },
77368
- selectedItem: selectedItem || null
77525
+ selectedItem: currentItem || null
77369
77526
  };
77370
77527
  };
77371
77528
  }
@@ -77666,7 +77823,8 @@ var defaultContext = {
77666
77823
  status: "LOADING",
77667
77824
  setStatus: () => null,
77668
77825
  iframe: {},
77669
- safariFallbackMode: false
77826
+ safariFallbackMode: false,
77827
+ globalPermissions: {}
77670
77828
  };
77671
77829
  var appContext = (0, import_react10.createContext)(defaultContext);
77672
77830
  function useAppContext() {