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

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,134 @@ 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
+ init_react_import2();
74262
+ var getChanged = (newItem, oldItem) => {
74263
+ return newItem ? Object.keys(newItem.props || {}).reduce((acc, item) => {
74264
+ const newItemProps = (newItem == null ? void 0 : newItem.props) || {};
74265
+ const oldItemProps = (oldItem == null ? void 0 : oldItem.props) || {};
74266
+ return __spreadProps2(__spreadValues2({}, acc), {
74267
+ [item]: oldItemProps[item] !== newItemProps[item]
74268
+ });
74269
+ }, {}) : {};
74270
+ };
74271
+ init_react_import2();
74272
+ var resolvePermissions = ({
74273
+ selectedItem,
74274
+ config,
74275
+ changed,
74276
+ lastPermissions,
74277
+ initialPermissions,
74278
+ appState
74279
+ }) => {
74280
+ const componentConfig = selectedItem ? config.components[selectedItem.type] : null;
74281
+ if (selectedItem && (componentConfig == null ? void 0 : componentConfig.resolvePermissions)) {
74282
+ return componentConfig.resolvePermissions(selectedItem, {
74283
+ changed,
74284
+ lastPermissions,
74285
+ initialPermissions,
74286
+ appState
74287
+ });
74288
+ }
74289
+ return {};
74290
+ };
74291
+ var cache = { lastPermissions: {}, lastSelected: {} };
74292
+ var getPermissions = ({
74293
+ selectedItem,
74294
+ type,
74295
+ globalPermissions,
74296
+ config,
74297
+ appState
74298
+ }) => {
74299
+ const componentType = type || selectedItem && selectedItem.type || "";
74300
+ const componentId = selectedItem && selectedItem.props.id || "";
74301
+ let componentPermissions = getInitialPermissions({
74302
+ componentType,
74303
+ config,
74304
+ globalPermissions
74305
+ });
74306
+ const changed = getChanged(selectedItem, cache.lastSelected);
74307
+ if (Object.values(changed).some((el) => el === true)) {
74308
+ const resolvedPermissions = resolvePermissions({
74309
+ selectedItem,
74310
+ config,
74311
+ changed,
74312
+ lastPermissions: cache.lastPermissions[componentId] || componentPermissions,
74313
+ initialPermissions: componentPermissions,
74314
+ appState
74315
+ });
74316
+ if (resolvedPermissions !== void 0) {
74317
+ componentPermissions = __spreadValues2(__spreadValues2({}, componentPermissions), resolvedPermissions);
74318
+ }
74319
+ cache.lastSelected = selectedItem;
74320
+ cache.lastPermissions[componentId] = componentPermissions;
74321
+ return componentPermissions;
74322
+ }
74323
+ if (Object.keys(componentId && cache.lastPermissions[componentId]).length !== 0) {
74324
+ componentPermissions = cache.lastPermissions[componentId];
74325
+ }
74326
+ return componentPermissions;
74327
+ };
74328
+ var getInitialPermissions = ({
74329
+ componentType,
74330
+ globalPermissions,
74331
+ config
74332
+ }) => {
74333
+ var _a3;
74334
+ return __spreadValues2(__spreadValues2({}, globalPermissions), (_a3 = config.components[componentType]) == null ? void 0 : _a3.permissions);
74335
+ };
74336
+ var import_jsx_runtime23 = require("react/jsx-runtime");
74337
+ var getClassName17 = get_class_name_factory_default2("DraggableComponent", styles_module_default11);
74185
74338
  var space2 = 8;
74186
74339
  var actionsOverlayTop = space2 * 6.5;
74187
74340
  var actionsTop = -(actionsOverlayTop - 8);
74188
74341
  var actionsRight = space2;
74342
+ var DefaultActionBar = ({
74343
+ label,
74344
+ children
74345
+ }) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(ActionBar, { label, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DefaultOverride, { children }) });
74189
74346
  var DraggableComponent = ({
74190
74347
  children,
74191
74348
  id,
@@ -74208,30 +74365,52 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74208
74365
  indicativeHover = false,
74209
74366
  style: style2
74210
74367
  }) => {
74211
- const { zoomConfig } = useAppContext2();
74368
+ const {
74369
+ zoomConfig,
74370
+ status,
74371
+ overrides,
74372
+ plugins,
74373
+ selectedItem,
74374
+ config,
74375
+ globalPermissions,
74376
+ state
74377
+ } = useAppContext2();
74212
74378
  const isModifierHeld = useModifierHeld("Alt");
74213
- const { status } = useAppContext2();
74214
74379
  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)(() => {
74380
+ (0, import_react15.useEffect)(onMount, []);
74381
+ const [disableSecondaryAnimation, setDisableSecondaryAnimation] = (0, import_react15.useState)(false);
74382
+ (0, import_react15.useEffect)(() => {
74218
74383
  if (isIos()) {
74219
74384
  setDisableSecondaryAnimation(true);
74220
74385
  }
74221
74386
  }, []);
74222
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
74387
+ const loadedOverrides = useLoadedOverrides({
74388
+ overrides,
74389
+ plugins
74390
+ });
74391
+ const CustomActionBar = (0, import_react15.useMemo)(
74392
+ () => loadedOverrides.actionBar || DefaultActionBar,
74393
+ [loadedOverrides]
74394
+ );
74395
+ const permissions = selectedItem && getPermissions({
74396
+ selectedItem,
74397
+ globalPermissions: globalPermissions || {},
74398
+ config,
74399
+ appState: state
74400
+ });
74401
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
74223
74402
  El,
74224
74403
  {
74225
74404
  draggableId: id,
74226
74405
  index,
74227
74406
  isDragDisabled,
74228
74407
  disableSecondaryAnimation,
74229
- children: (provided, snapshot) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
74408
+ children: (provided, snapshot) => /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
74230
74409
  "div",
74231
74410
  __spreadProps2(__spreadValues2(__spreadValues2({
74232
74411
  ref: provided.innerRef
74233
74412
  }, provided.draggableProps), provided.dragHandleProps), {
74234
- className: getClassName16({
74413
+ className: getClassName17({
74235
74414
  isSelected,
74236
74415
  isModifierHeld,
74237
74416
  isDragging: snapshot.isDragging,
@@ -74240,7 +74419,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74240
74419
  indicativeHover
74241
74420
  }),
74242
74421
  style: __spreadProps2(__spreadValues2(__spreadValues2({}, style2), provided.draggableProps.style), {
74243
- cursor: isModifierHeld ? "initial" : "grab"
74422
+ cursor: isModifierHeld || isDragDisabled ? "initial" : "grab"
74244
74423
  }),
74245
74424
  onMouseOver,
74246
74425
  onMouseOut,
@@ -74249,34 +74428,33 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74249
74428
  onClick,
74250
74429
  children: [
74251
74430
  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)(
74431
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: getClassName17("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Loader2, {}) }),
74432
+ isSelected && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
74254
74433
  "div",
74255
74434
  {
74256
- className: getClassName16("actionsOverlay"),
74435
+ className: getClassName17("actionsOverlay"),
74257
74436
  style: {
74258
74437
  top: actionsOverlayTop / zoomConfig.zoom
74259
74438
  },
74260
- children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
74439
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
74261
74440
  "div",
74262
74441
  {
74263
- className: getClassName16("actions"),
74442
+ className: getClassName17("actions"),
74264
74443
  style: {
74265
74444
  transform: `scale(${1 / zoomConfig.zoom}`,
74266
74445
  top: actionsTop / zoomConfig.zoom,
74267
74446
  right: actionsRight / zoomConfig.zoom
74268
74447
  },
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
- ]
74448
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(CustomActionBar, { label, children: [
74449
+ 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 }) }),
74450
+ 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 }) })
74451
+ ] })
74274
74452
  }
74275
74453
  )
74276
74454
  }
74277
74455
  ),
74278
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassName16("overlay") }),
74279
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassName16("contents"), children })
74456
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: getClassName17("overlay") }),
74457
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: getClassName17("contents"), children })
74280
74458
  ]
74281
74459
  })
74282
74460
  )
@@ -74285,9 +74463,9 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74285
74463
  );
74286
74464
  };
74287
74465
  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" };
74466
+ 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
74467
  init_react_import2();
74290
- var import_react15 = require("react");
74468
+ var import_react16 = require("react");
74291
74469
  var import_use_debounce2 = (init_index_module(), __toCommonJS(index_module_exports));
74292
74470
  init_react_import2();
74293
74471
  var getZoneId2 = (zoneCompound) => {
@@ -74299,30 +74477,30 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74299
74477
  }
74300
74478
  return [rootDroppableId2, zoneCompound];
74301
74479
  };
74302
- var import_jsx_runtime222 = require("react/jsx-runtime");
74303
- var dropZoneContext2 = (0, import_react15.createContext)(null);
74480
+ var import_jsx_runtime24 = require("react/jsx-runtime");
74481
+ var dropZoneContext2 = (0, import_react16.createContext)(null);
74304
74482
  var DropZoneProvider = ({
74305
74483
  children,
74306
74484
  value
74307
74485
  }) => {
74308
- const [hoveringArea, setHoveringArea] = (0, import_react15.useState)(null);
74309
- const [hoveringZone, setHoveringZone] = (0, import_react15.useState)(
74486
+ const [hoveringArea, setHoveringArea] = (0, import_react16.useState)(null);
74487
+ const [hoveringZone, setHoveringZone] = (0, import_react16.useState)(
74310
74488
  rootDroppableId2
74311
74489
  );
74312
- const [hoveringComponent, setHoveringComponent] = (0, import_react15.useState)();
74490
+ const [hoveringComponent, setHoveringComponent] = (0, import_react16.useState)();
74313
74491
  const [hoveringAreaDb] = (0, import_use_debounce2.useDebounce)(hoveringArea, 75, { leading: false });
74314
- const [areasWithZones, setAreasWithZones] = (0, import_react15.useState)(
74492
+ const [areasWithZones, setAreasWithZones] = (0, import_react16.useState)(
74315
74493
  {}
74316
74494
  );
74317
- const [activeZones, setActiveZones] = (0, import_react15.useState)({});
74495
+ const [activeZones, setActiveZones] = (0, import_react16.useState)({});
74318
74496
  const { dispatch = null } = value ? value : {};
74319
- const registerZoneArea = (0, import_react15.useCallback)(
74497
+ const registerZoneArea = (0, import_react16.useCallback)(
74320
74498
  (area) => {
74321
74499
  setAreasWithZones((latest) => __spreadProps2(__spreadValues2({}, latest), { [area]: true }));
74322
74500
  },
74323
74501
  [setAreasWithZones]
74324
74502
  );
74325
- const registerZone = (0, import_react15.useCallback)(
74503
+ const registerZone = (0, import_react16.useCallback)(
74326
74504
  (zoneCompound) => {
74327
74505
  if (!dispatch) {
74328
74506
  return;
@@ -74335,7 +74513,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74335
74513
  },
74336
74514
  [setActiveZones, dispatch]
74337
74515
  );
74338
- const unregisterZone = (0, import_react15.useCallback)(
74516
+ const unregisterZone = (0, import_react16.useCallback)(
74339
74517
  (zoneCompound) => {
74340
74518
  if (!dispatch) {
74341
74519
  return;
@@ -74350,8 +74528,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74350
74528
  },
74351
74529
  [setActiveZones, dispatch]
74352
74530
  );
74353
- const [pathData, setPathData] = (0, import_react15.useState)();
74354
- const registerPath = (0, import_react15.useCallback)(
74531
+ const [pathData, setPathData] = (0, import_react16.useState)();
74532
+ const registerPath = (0, import_react16.useCallback)(
74355
74533
  (selector) => {
74356
74534
  if (!(value == null ? void 0 : value.data)) {
74357
74535
  return;
@@ -74376,8 +74554,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74376
74554
  },
74377
74555
  [value, setPathData]
74378
74556
  );
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)(
74557
+ const [zoneWillDrag, setZoneWillDrag] = (0, import_react16.useState)("");
74558
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, { children: value && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
74381
74559
  dropZoneContext2.Provider,
74382
74560
  {
74383
74561
  value: __spreadValues2({
@@ -74401,12 +74579,12 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74401
74579
  }
74402
74580
  ) });
74403
74581
  };
74404
- var import_jsx_runtime23 = require("react/jsx-runtime");
74405
- var getClassName17 = get_class_name_factory_default2("DropZone", styles_module_default11);
74582
+ var import_jsx_runtime25 = require("react/jsx-runtime");
74583
+ var getClassName18 = get_class_name_factory_default2("DropZone", styles_module_default12);
74406
74584
  function DropZoneEdit({ zone, allow, disallow, style: style2 }) {
74407
74585
  var _a3;
74408
74586
  const appContext22 = useAppContext2();
74409
- const ctx = (0, import_react16.useContext)(dropZoneContext2);
74587
+ const ctx = (0, import_react17.useContext)(dropZoneContext2);
74410
74588
  const {
74411
74589
  // These all need setting via context
74412
74590
  data,
@@ -74425,12 +74603,12 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74425
74603
  } = ctx || {};
74426
74604
  let content = data.content || [];
74427
74605
  let zoneCompound = rootDroppableId2;
74428
- (0, import_react16.useEffect)(() => {
74606
+ (0, import_react17.useEffect)(() => {
74429
74607
  if (areaId && registerZoneArea) {
74430
74608
  registerZoneArea(areaId);
74431
74609
  }
74432
74610
  }, [areaId]);
74433
- (0, import_react16.useEffect)(() => {
74611
+ (0, import_react17.useEffect)(() => {
74434
74612
  if (ctx == null ? void 0 : ctx.registerZone) {
74435
74613
  ctx == null ? void 0 : ctx.registerZone(zoneCompound);
74436
74614
  }
@@ -74456,7 +74634,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74456
74634
  const draggingOverArea = userIsDragging && zoneArea === draggedSourceArea;
74457
74635
  const draggingNewComponent = draggedSourceId == null ? void 0 : draggedSourceId.startsWith("component-list");
74458
74636
  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." });
74637
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { children: "DropZone requires context to work." });
74460
74638
  }
74461
74639
  const {
74462
74640
  hoveringArea = "root",
@@ -74497,10 +74675,10 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74497
74675
  }
74498
74676
  const selectedItem = itemSelector ? getItem2(itemSelector, data) : null;
74499
74677
  const isAreaSelected = selectedItem && zoneArea === selectedItem.props.id;
74500
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
74678
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
74501
74679
  "div",
74502
74680
  {
74503
- className: getClassName17({
74681
+ className: getClassName18({
74504
74682
  isRootZone,
74505
74683
  userIsDragging,
74506
74684
  draggingOverArea,
@@ -74514,17 +74692,17 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74514
74692
  onMouseUp: () => {
74515
74693
  setZoneWillDrag("");
74516
74694
  },
74517
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
74695
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
74518
74696
  Droppable2,
74519
74697
  {
74520
74698
  droppableId: zoneCompound,
74521
74699
  direction: "vertical",
74522
74700
  isDropDisabled: !isEnabled,
74523
74701
  children: (provided, snapshot) => {
74524
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
74702
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
74525
74703
  "div",
74526
74704
  __spreadProps2(__spreadValues2({}, (provided || { droppableProps: {} }).droppableProps), {
74527
- className: getClassName17("content"),
74705
+ className: getClassName18("content"),
74528
74706
  ref: provided == null ? void 0 : provided.innerRef,
74529
74707
  style: style2,
74530
74708
  id: zoneCompound,
@@ -74551,25 +74729,34 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74551
74729
  "draggable-"
74552
74730
  )[1] === componentId;
74553
74731
  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: [
74732
+ 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
74733
  "No configuration for ",
74556
74734
  item.type
74557
74735
  ] });
74558
74736
  const componentConfig = config.components[item.type];
74559
74737
  const label = (_b2 = componentConfig == null ? void 0 : componentConfig["label"]) != null ? _b2 : item.type.toString();
74560
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
74738
+ const canDrag = getPermissions({
74739
+ selectedItem: getItem2(
74740
+ { index: i2, zone: zoneCompound },
74741
+ appContext22.state.data
74742
+ ),
74743
+ config: appContext22.config,
74744
+ globalPermissions: appContext22.globalPermissions || {},
74745
+ appState: appContext22.state
74746
+ }).drag;
74747
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
74561
74748
  "div",
74562
74749
  {
74563
- className: getClassName17("item"),
74750
+ className: getClassName18("item"),
74564
74751
  style: { zIndex: isDragging2 ? 1 : void 0 },
74565
74752
  children: [
74566
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
74753
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
74567
74754
  DropZoneProvider,
74568
74755
  {
74569
74756
  value: __spreadProps2(__spreadValues2({}, ctx), {
74570
74757
  areaId: componentId
74571
74758
  }),
74572
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
74759
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
74573
74760
  DraggableComponent,
74574
74761
  {
74575
74762
  label,
@@ -74578,6 +74765,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74578
74765
  isSelected,
74579
74766
  isLocked: userIsDragging,
74580
74767
  forceHover: hoveringComponent === componentId && !userIsDragging,
74768
+ isDragDisabled: !canDrag,
74581
74769
  indicativeHover: userIsDragging && containsZone && hoveringArea === componentId,
74582
74770
  isLoading: (_c = appContext22.componentState[componentId]) == null ? void 0 : _c.loading,
74583
74771
  onMount: () => {
@@ -74636,15 +74824,15 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74636
74824
  style: {
74637
74825
  pointerEvents: userIsDragging && draggingNewComponent ? "all" : void 0
74638
74826
  },
74639
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: getClassName17("renderWrapper"), children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Render2, __spreadValues2({}, defaultedProps)) })
74827
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: getClassName18("renderWrapper"), children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Render2, __spreadValues2({}, defaultedProps)) })
74640
74828
  }
74641
74829
  )
74642
74830
  }
74643
74831
  ),
74644
- userIsDragging && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
74832
+ userIsDragging && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
74645
74833
  "div",
74646
74834
  {
74647
- className: getClassName17("hitbox"),
74835
+ className: getClassName18("hitbox"),
74648
74836
  onMouseOver: (e2) => {
74649
74837
  e2.stopPropagation();
74650
74838
  setHoveringArea(zoneArea);
@@ -74658,7 +74846,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74658
74846
  );
74659
74847
  }),
74660
74848
  provided == null ? void 0 : provided.placeholder,
74661
- (snapshot == null ? void 0 : snapshot.isDraggingOver) && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
74849
+ (snapshot == null ? void 0 : snapshot.isDraggingOver) && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
74662
74850
  "div",
74663
74851
  {
74664
74852
  "data-puck-placeholder": true,
@@ -74679,7 +74867,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74679
74867
  );
74680
74868
  }
74681
74869
  function DropZoneRender({ zone }) {
74682
- const ctx = (0, import_react16.useContext)(dropZoneContext2);
74870
+ const ctx = (0, import_react17.useContext)(dropZoneContext2);
74683
74871
  const { data, areaId = "root", config } = ctx || {};
74684
74872
  let zoneCompound = rootDroppableId2;
74685
74873
  let content = (data == null ? void 0 : data.content) || [];
@@ -74690,14 +74878,14 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74690
74878
  zoneCompound = `${areaId}:${zone}`;
74691
74879
  content = setupZone2(data, zoneCompound).zones[zoneCompound];
74692
74880
  }
74693
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_jsx_runtime23.Fragment, { children: content.map((item) => {
74881
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_jsx_runtime25.Fragment, { children: content.map((item) => {
74694
74882
  const Component = config.components[item.type];
74695
74883
  if (Component) {
74696
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
74884
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
74697
74885
  DropZoneProvider,
74698
74886
  {
74699
74887
  value: { data, config, areaId: item.props.id },
74700
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
74888
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
74701
74889
  Component.render,
74702
74890
  __spreadProps2(__spreadValues2({}, item.props), {
74703
74891
  puck: { renderDropZone: DropZone }
@@ -74711,16 +74899,16 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74711
74899
  }) });
74712
74900
  }
74713
74901
  function DropZone(props) {
74714
- const ctx = (0, import_react16.useContext)(dropZoneContext2);
74902
+ const ctx = (0, import_react17.useContext)(dropZoneContext2);
74715
74903
  if ((ctx == null ? void 0 : ctx.mode) === "edit") {
74716
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DropZoneEdit, __spreadValues2({}, props));
74904
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(DropZoneEdit, __spreadValues2({}, props));
74717
74905
  }
74718
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DropZoneRender, __spreadValues2({}, props));
74906
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(DropZoneRender, __spreadValues2({}, props));
74719
74907
  }
74720
74908
  init_react_import2();
74721
- var import_react30 = require("react");
74909
+ var import_react31 = require("react");
74722
74910
  init_react_import2();
74723
- var import_react17 = require("react");
74911
+ var import_react18 = require("react");
74724
74912
  init_react_import2();
74725
74913
  var getFrame3 = () => {
74726
74914
  let frame = document.querySelector("#preview-frame");
@@ -74731,7 +74919,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74731
74919
  };
74732
74920
  var usePlaceholderStyle = () => {
74733
74921
  const queryAttr = "data-rfd-drag-handle-draggable-id";
74734
- const [placeholderStyle, setPlaceholderStyle] = (0, import_react17.useState)();
74922
+ const [placeholderStyle, setPlaceholderStyle] = (0, import_react18.useState)();
74735
74923
  const onDragStartOrUpdate = (draggedItem) => {
74736
74924
  var _a3;
74737
74925
  const draggableId = draggedItem.draggableId;
@@ -74776,9 +74964,9 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74776
74964
  };
74777
74965
  init_react_import2();
74778
74966
  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" };
74967
+ 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
74968
  init_react_import2();
74781
- var import_react18 = require("react");
74969
+ var import_react19 = require("react");
74782
74970
  var convertPathDataToBreadcrumbs2 = (selectedItem, pathData, data) => {
74783
74971
  const id = selectedItem ? selectedItem == null ? void 0 : selectedItem.props.id : "";
74784
74972
  const currentPathData = pathData && id && pathData[id] ? __spreadValues2({}, pathData[id]) : { label: "Page", path: [] };
@@ -74828,8 +75016,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74828
75016
  state: { data },
74829
75017
  selectedItem
74830
75018
  } = useAppContext2();
74831
- const dzContext = (0, import_react18.useContext)(dropZoneContext2);
74832
- return (0, import_react18.useMemo)(() => {
75019
+ const dzContext = (0, import_react19.useContext)(dropZoneContext2);
75020
+ return (0, import_react19.useMemo)(() => {
74833
75021
  const breadcrumbs = convertPathDataToBreadcrumbs2(
74834
75022
  selectedItem,
74835
75023
  dzContext == null ? void 0 : dzContext.pathData,
@@ -74841,8 +75029,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74841
75029
  return breadcrumbs;
74842
75030
  }, [selectedItem, dzContext == null ? void 0 : dzContext.pathData, renderCount]);
74843
75031
  };
74844
- var import_jsx_runtime24 = require("react/jsx-runtime");
74845
- var getClassName18 = get_class_name_factory_default2("SidebarSection", styles_module_default12);
75032
+ var import_jsx_runtime26 = require("react/jsx-runtime");
75033
+ var getClassName19 = get_class_name_factory_default2("SidebarSection", styles_module_default13);
74846
75034
  var SidebarSection2 = ({
74847
75035
  children,
74848
75036
  title,
@@ -74854,28 +75042,28 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74854
75042
  }) => {
74855
75043
  const { setUi } = useAppContext2();
74856
75044
  const breadcrumbs = useBreadcrumbs2(1);
74857
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
75045
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
74858
75046
  "div",
74859
75047
  {
74860
- className: getClassName18({ noBorderTop, noPadding }),
75048
+ className: getClassName19({ noBorderTop, noPadding }),
74861
75049
  style: { background },
74862
75050
  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)(
75051
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: getClassName19("title"), children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: getClassName19("breadcrumbs"), children: [
75052
+ showBreadcrumbs ? breadcrumbs.map((breadcrumb, i2) => /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: getClassName19("breadcrumb"), children: [
75053
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
74866
75054
  "button",
74867
75055
  {
74868
- className: getClassName18("breadcrumbLabel"),
75056
+ className: getClassName19("breadcrumbLabel"),
74869
75057
  onClick: () => setUi({ itemSelector: breadcrumb.selector }),
74870
75058
  children: breadcrumb.label
74871
75059
  }
74872
75060
  ),
74873
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(ChevronRight2, { size: 16 })
75061
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(ChevronRight2, { size: 16 })
74874
75062
  ] }, 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 }) })
75063
+ /* @__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
75064
  ] }) }),
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 }) })
75065
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: getClassName19("content"), children }),
75066
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: getClassName19("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Loader2, { size: 32 }) })
74879
75067
  ]
74880
75068
  }
74881
75069
  );
@@ -74977,34 +75165,37 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74977
75165
  })
74978
75166
  });
74979
75167
  };
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);
75168
+ var insertAction = (data, action, config) => {
75169
+ const emptyComponentData = {
75170
+ type: action.componentType,
75171
+ props: __spreadProps2(__spreadValues2({}, config.components[action.componentType].defaultProps || {}), {
75172
+ id: action.id || generateId(action.componentType)
75173
+ })
75174
+ };
75175
+ if (action.destinationZone === rootDroppableId2) {
74998
75176
  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
- })
75177
+ content: insert(
75178
+ data.content,
75179
+ action.destinationIndex,
75180
+ emptyComponentData
75181
+ )
75006
75182
  });
75007
75183
  }
75184
+ const newData = setupZone2(data, action.destinationZone);
75185
+ return __spreadProps2(__spreadValues2({}, data), {
75186
+ zones: __spreadProps2(__spreadValues2({}, newData.zones), {
75187
+ [action.destinationZone]: insert(
75188
+ newData.zones[action.destinationZone],
75189
+ action.destinationIndex,
75190
+ emptyComponentData
75191
+ )
75192
+ })
75193
+ });
75194
+ };
75195
+ var reduceData = (data, action, config) => {
75196
+ if (action.type === "insert") {
75197
+ return insertAction(data, action, config);
75198
+ }
75008
75199
  if (action.type === "duplicate") {
75009
75200
  const item = getItem2(
75010
75201
  { index: action.sourceIndex, zone: action.sourceZone },
@@ -75219,19 +75410,9 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75219
75410
  return appState;
75220
75411
  };
75221
75412
  init_react_import2();
75222
- var import_react19 = require("react");
75223
- init_react_import2();
75413
+ var import_react20 = require("react");
75224
75414
  init_react_import2();
75225
- var getChanged = (newItem, oldItem) => {
75226
- return newItem ? Object.keys(newItem.props || {}).reduce((acc, item) => {
75227
- const newItemProps = (newItem == null ? void 0 : newItem.props) || {};
75228
- const oldItemProps = (oldItem == null ? void 0 : oldItem.props) || {};
75229
- return __spreadProps2(__spreadValues2({}, acc), {
75230
- [item]: oldItemProps[item] !== newItemProps[item]
75231
- });
75232
- }, {}) : {};
75233
- };
75234
- var cache = { lastChange: {} };
75415
+ var cache2 = { lastChange: {} };
75235
75416
  var resolveAllComponentData = (content, config, onResolveStart, onResolveEnd) => __async2(void 0, null, function* () {
75236
75417
  return yield Promise.all(
75237
75418
  content.map((item) => __async2(void 0, null, function* () {
@@ -75247,7 +75428,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75247
75428
  var resolveComponentData = (item, config, onResolveStart, onResolveEnd) => __async2(void 0, null, function* () {
75248
75429
  const configForItem = config.components[item.type];
75249
75430
  if (configForItem.resolveData) {
75250
- const { item: oldItem = {}, resolved = {} } = cache.lastChange[item.props.id] || {};
75431
+ const { item: oldItem = {}, resolved = {} } = cache2.lastChange[item.props.id] || {};
75251
75432
  if (item && item === oldItem) {
75252
75433
  return resolved;
75253
75434
  }
@@ -75264,7 +75445,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75264
75445
  if (Object.keys(newReadOnly).length) {
75265
75446
  resolvedItem.readOnly = newReadOnly;
75266
75447
  }
75267
- cache.lastChange[item.props.id] = {
75448
+ cache2.lastChange[item.props.id] = {
75268
75449
  item,
75269
75450
  resolved: resolvedItem
75270
75451
  };
@@ -75292,20 +75473,20 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75292
75473
  });
75293
75474
  };
75294
75475
  init_react_import2();
75295
- var cache2 = {};
75476
+ var cache3 = {};
75296
75477
  var resolveRootData = (data, config) => __async2(void 0, null, function* () {
75297
75478
  var _a3, _b2, _c, _d, _e;
75298
75479
  if (((_a3 = config.root) == null ? void 0 : _a3.resolveData) && data.root.props) {
75299
- if (((_b2 = cache2.lastChange) == null ? void 0 : _b2.original) === data.root) {
75300
- return cache2.lastChange.resolved;
75480
+ if (((_b2 = cache3.lastChange) == null ? void 0 : _b2.original) === data.root) {
75481
+ return cache3.lastChange.resolved;
75301
75482
  }
75302
- const changed = getChanged(data.root, (_c = cache2.lastChange) == null ? void 0 : _c.original);
75483
+ const changed = getChanged(data.root, (_c = cache3.lastChange) == null ? void 0 : _c.original);
75303
75484
  const rootWithProps = data.root;
75304
75485
  const resolvedRoot = yield (_e = config.root) == null ? void 0 : _e.resolveData(rootWithProps, {
75305
75486
  changed,
75306
- lastData: ((_d = cache2.lastChange) == null ? void 0 : _d.original) || {}
75487
+ lastData: ((_d = cache3.lastChange) == null ? void 0 : _d.original) || {}
75307
75488
  });
75308
- cache2.lastChange = {
75489
+ cache3.lastChange = {
75309
75490
  original: data.root,
75310
75491
  resolved: resolvedRoot
75311
75492
  };
@@ -75316,13 +75497,13 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75316
75497
  return data.root;
75317
75498
  });
75318
75499
  var useResolvedData = (appState, config, dispatch) => {
75319
- const [{ resolverKey, newAppState }, setResolverState] = (0, import_react19.useState)({
75500
+ const [{ resolverKey, newAppState }, setResolverState] = (0, import_react20.useState)({
75320
75501
  resolverKey: 0,
75321
75502
  newAppState: appState
75322
75503
  });
75323
- const [componentState, setComponentState] = (0, import_react19.useState)({});
75504
+ const [componentState, setComponentState] = (0, import_react20.useState)({});
75324
75505
  const deferredSetStates = {};
75325
- const setComponentLoading = (0, import_react19.useCallback)(
75506
+ const setComponentLoading = (0, import_react20.useCallback)(
75326
75507
  (id, loading, defer2 = 0) => {
75327
75508
  if (deferredSetStates[id]) {
75328
75509
  clearTimeout(deferredSetStates[id]);
@@ -75392,10 +75573,10 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75392
75573
  });
75393
75574
  yield Promise.all(promises);
75394
75575
  });
75395
- (0, import_react19.useEffect)(() => {
75576
+ (0, import_react20.useEffect)(() => {
75396
75577
  runResolvers();
75397
75578
  }, [resolverKey]);
75398
- const resolveData = (0, import_react19.useCallback)((newAppState2 = appState) => {
75579
+ const resolveData = (0, import_react20.useCallback)((newAppState2 = appState) => {
75399
75580
  setResolverState((curr) => ({
75400
75581
  resolverKey: curr.resolverKey + 1,
75401
75582
  newAppState: newAppState2
@@ -75408,9 +75589,9 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75408
75589
  };
75409
75590
  init_react_import2();
75410
75591
  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);
75592
+ 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" };
75593
+ var import_jsx_runtime27 = require("react/jsx-runtime");
75594
+ var getClassName20 = get_class_name_factory_default2("MenuBar", styles_module_default14);
75414
75595
  var MenuBar = ({
75415
75596
  appState,
75416
75597
  data = { content: [], root: {} },
@@ -75424,10 +75605,10 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75424
75605
  history: { back, forward, historyStore }
75425
75606
  } = useAppContext2();
75426
75607
  const { hasFuture = false, hasPast = false } = historyStore || {};
75427
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
75608
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
75428
75609
  "div",
75429
75610
  {
75430
- className: getClassName19({ menuOpen }),
75611
+ className: getClassName20({ menuOpen }),
75431
75612
  onClick: (event) => {
75432
75613
  var _a3;
75433
75614
  const element = event.target;
@@ -75438,24 +75619,12 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75438
75619
  setMenuOpen(false);
75439
75620
  }
75440
75621
  },
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
- ) })
75622
+ children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: getClassName20("inner"), children: [
75623
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: getClassName20("history"), children: [
75624
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(IconButton, { title: "undo", disabled: !hasPast, onClick: back, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Undo2, { size: 21 }) }),
75625
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(IconButton, { title: "redo", disabled: !hasFuture, onClick: forward, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Redo2, { size: 21 }) })
75457
75626
  ] }),
75458
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_jsx_runtime25.Fragment, { children: renderHeaderActions && renderHeaderActions({
75627
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_jsx_runtime27.Fragment, { children: renderHeaderActions && renderHeaderActions({
75459
75628
  state: appState,
75460
75629
  dispatch
75461
75630
  }) })
@@ -75464,20 +75633,20 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75464
75633
  );
75465
75634
  };
75466
75635
  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" };
75636
+ 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
75637
  init_react_import2();
75469
75638
  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);
75639
+ 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" };
75640
+ var import_react21 = require("react");
75641
+ var import_jsx_runtime28 = require("react/jsx-runtime");
75642
+ var getClassName21 = get_class_name_factory_default2("PuckFields", styles_module_default16);
75474
75643
  var defaultPageFields = {
75475
75644
  title: { type: "text" }
75476
75645
  };
75477
75646
  var DefaultFields = ({
75478
75647
  children
75479
75648
  }) => {
75480
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_jsx_runtime26.Fragment, { children });
75649
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_jsx_runtime28.Fragment, { children });
75481
75650
  };
75482
75651
  var useResolvedFields = () => {
75483
75652
  var _a3;
@@ -75487,14 +75656,14 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75487
75656
  const componentConfig = selectedItem ? config.components[selectedItem.type] : null;
75488
75657
  const defaultFields = selectedItem ? componentConfig == null ? void 0 : componentConfig.fields : rootFields;
75489
75658
  const rootProps = data.root.props || data.root;
75490
- const [lastSelectedData, setLastSelectedData] = (0, import_react20.useState)(
75659
+ const [lastSelectedData, setLastSelectedData] = (0, import_react21.useState)(
75491
75660
  {}
75492
75661
  );
75493
- const [resolvedFields, setResolvedFields] = (0, import_react20.useState)(defaultFields || {});
75494
- const [fieldsLoading, setFieldsLoading] = (0, import_react20.useState)(false);
75662
+ const [resolvedFields, setResolvedFields] = (0, import_react21.useState)(defaultFields || {});
75663
+ const [fieldsLoading, setFieldsLoading] = (0, import_react21.useState)(false);
75495
75664
  const defaultResolveFields = (_componentData, _params) => defaultFields;
75496
75665
  const componentData = selectedItem ? selectedItem : { props: rootProps, readOnly: data.root.readOnly };
75497
- const resolveFields = (0, import_react20.useCallback)(
75666
+ const resolveFields = (0, import_react21.useCallback)(
75498
75667
  (..._0) => __async2(void 0, [..._0], function* (fields = {}) {
75499
75668
  var _a22, _b2, _c;
75500
75669
  const lastData = ((_a22 = lastSelectedData.props) == null ? void 0 : _a22.id) === componentData.props.id ? lastSelectedData : {};
@@ -75530,7 +75699,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75530
75699
  }),
75531
75700
  [data, config, componentData, selectedItem, resolvedFields, state]
75532
75701
  );
75533
- (0, import_react20.useEffect)(() => {
75702
+ (0, import_react21.useEffect)(() => {
75534
75703
  setFieldsLoading(true);
75535
75704
  resolveFields(defaultFields).then((fields) => {
75536
75705
  setResolvedFields(fields || {});
@@ -75548,7 +75717,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75548
75717
  config,
75549
75718
  resolveData,
75550
75719
  componentState,
75551
- overrides
75720
+ overrides,
75721
+ globalPermissions
75552
75722
  } = useAppContext2();
75553
75723
  const { data, ui } = state;
75554
75724
  const { itemSelector } = ui;
@@ -75556,16 +75726,16 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75556
75726
  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
75727
  const isLoading = fieldsResolving || componentResolving;
75558
75728
  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)(
75729
+ const Wrapper = (0, import_react21.useMemo)(() => overrides.fields || DefaultFields, [overrides]);
75730
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
75561
75731
  "form",
75562
75732
  {
75563
- className: getClassName20(),
75733
+ className: getClassName21(),
75564
75734
  onSubmit: (e2) => {
75565
75735
  e2.preventDefault();
75566
75736
  },
75567
75737
  children: [
75568
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Wrapper, { isLoading, itemSelector, children: Object.keys(fields).map((fieldName) => {
75738
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Wrapper, { isLoading, itemSelector, children: Object.keys(fields).map((fieldName) => {
75569
75739
  const field = fields[fieldName];
75570
75740
  if (!(field == null ? void 0 : field.type)) return null;
75571
75741
  const onChange = (value, updatedUi) => {
@@ -75632,13 +75802,19 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75632
75802
  };
75633
75803
  if (selectedItem && itemSelector) {
75634
75804
  const { readOnly = {} } = selectedItem;
75635
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
75805
+ const { edit } = getPermissions({
75806
+ selectedItem,
75807
+ config,
75808
+ globalPermissions: globalPermissions || {},
75809
+ appState: state
75810
+ });
75811
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
75636
75812
  AutoFieldPrivate,
75637
75813
  {
75638
75814
  field,
75639
75815
  name: fieldName,
75640
75816
  id: `${selectedItem.props.id}_${fieldName}`,
75641
- readOnly: readOnly[fieldName],
75817
+ readOnly: !edit || readOnly[fieldName],
75642
75818
  value: selectedItem.props[fieldName],
75643
75819
  onChange
75644
75820
  },
@@ -75646,7 +75822,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75646
75822
  );
75647
75823
  } else {
75648
75824
  const { readOnly = {} } = data.root;
75649
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
75825
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
75650
75826
  AutoFieldPrivate,
75651
75827
  {
75652
75828
  field,
@@ -75660,26 +75836,41 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75660
75836
  );
75661
75837
  }
75662
75838
  }) }),
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 }) }) })
75839
+ 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
75840
  ]
75665
75841
  }
75666
75842
  );
75667
75843
  };
75668
75844
  init_react_import2();
75669
75845
  init_react_import2();
75670
- var import_react21 = require("react");
75846
+ var import_react222 = require("react");
75671
75847
  init_react_import2();
75672
75848
  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);
75849
+ 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" };
75850
+ var import_jsx_runtime29 = require("react/jsx-runtime");
75851
+ var getClassName222 = get_class_name_factory_default2("ComponentList", styles_module_default17);
75676
75852
  var ComponentListItem = ({
75677
75853
  name,
75678
75854
  label,
75679
75855
  index
75680
75856
  }) => {
75681
- const { overrides } = useAppContext2();
75682
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Drawer.Item, { label, name, index, children: overrides.componentItem });
75857
+ const { overrides, config, globalPermissions, state } = useAppContext2();
75858
+ const canInsert = getPermissions({
75859
+ type: name,
75860
+ config,
75861
+ globalPermissions: globalPermissions || {},
75862
+ appState: state
75863
+ }).insert;
75864
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
75865
+ Drawer.Item,
75866
+ {
75867
+ label,
75868
+ name,
75869
+ index,
75870
+ isDragDisabled: !canInsert,
75871
+ children: overrides.componentItem
75872
+ }
75873
+ );
75683
75874
  };
75684
75875
  var ComponentList = ({
75685
75876
  children,
@@ -75688,11 +75879,11 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75688
75879
  }) => {
75689
75880
  const { config, state, setUi } = useAppContext2();
75690
75881
  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)(
75882
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: getClassName222({ isExpanded: expanded }), children: [
75883
+ title && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
75693
75884
  "button",
75694
75885
  {
75695
- className: getClassName21("title"),
75886
+ className: getClassName222("title"),
75696
75887
  onClick: () => setUi({
75697
75888
  componentList: __spreadProps2(__spreadValues2({}, state.ui.componentList), {
75698
75889
  [id]: __spreadProps2(__spreadValues2({}, state.ui.componentList[id]), {
@@ -75702,14 +75893,14 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75702
75893
  }),
75703
75894
  title: expanded ? `Collapse${title ? ` ${title}` : ""}` : `Expand${title ? ` ${title}` : ""}`,
75704
75895
  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 }) })
75896
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { children: title }),
75897
+ /* @__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
75898
  ]
75708
75899
  }
75709
75900
  ),
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) => {
75901
+ /* @__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
75902
  var _a3;
75712
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
75903
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
75713
75904
  ComponentListItem,
75714
75905
  {
75715
75906
  label: (_a3 = config.components[componentKey]["label"]) != null ? _a3 : componentKey,
@@ -75722,10 +75913,10 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75722
75913
  ] });
75723
75914
  };
75724
75915
  ComponentList.Item = ComponentListItem;
75725
- var import_jsx_runtime28 = require("react/jsx-runtime");
75916
+ var import_jsx_runtime30 = require("react/jsx-runtime");
75726
75917
  var useComponentList = (config, ui) => {
75727
- const [componentList, setComponentList] = (0, import_react21.useState)();
75728
- (0, import_react21.useEffect)(() => {
75918
+ const [componentList, setComponentList] = (0, import_react222.useState)();
75919
+ (0, import_react222.useEffect)(() => {
75729
75920
  var _a3, _b2, _c;
75730
75921
  if (Object.keys(ui.componentList).length > 0) {
75731
75922
  const matchedComponents = [];
@@ -75735,7 +75926,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75735
75926
  if (category.visible === false || !category.components) {
75736
75927
  return null;
75737
75928
  }
75738
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
75929
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
75739
75930
  ComponentList,
75740
75931
  {
75741
75932
  id: categoryKey,
@@ -75744,7 +75935,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75744
75935
  var _a22;
75745
75936
  matchedComponents.push(componentName);
75746
75937
  const componentConf = config.components[componentName] || {};
75747
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
75938
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
75748
75939
  ComponentList.Item,
75749
75940
  {
75750
75941
  label: (_a22 = componentConf["label"]) != null ? _a22 : componentName,
@@ -75764,7 +75955,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75764
75955
  );
75765
75956
  if (remainingComponents.length > 0 && !((_a3 = ui.componentList.other) == null ? void 0 : _a3.components) && ((_b2 = ui.componentList.other) == null ? void 0 : _b2.visible) !== false) {
75766
75957
  _componentList.push(
75767
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
75958
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
75768
75959
  ComponentList,
75769
75960
  {
75770
75961
  id: "other",
@@ -75772,7 +75963,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75772
75963
  children: remainingComponents.map((componentName, i2) => {
75773
75964
  var _a22;
75774
75965
  const componentConf = config.components[componentName] || {};
75775
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
75966
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
75776
75967
  ComponentList.Item,
75777
75968
  {
75778
75969
  name: componentName,
@@ -75792,21 +75983,21 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75792
75983
  }, [config.categories, config.components, ui.componentList]);
75793
75984
  return componentList;
75794
75985
  };
75795
- var import_react222 = require("react");
75796
- var import_jsx_runtime29 = require("react/jsx-runtime");
75986
+ var import_react23 = require("react");
75987
+ var import_jsx_runtime31 = require("react/jsx-runtime");
75797
75988
  var Components = () => {
75798
75989
  const { config, state, overrides } = useAppContext2();
75799
75990
  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" }) });
75991
+ const Wrapper = (0, import_react23.useMemo)(() => overrides.components || "div", [overrides]);
75992
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Wrapper, { children: componentList ? componentList : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(ComponentList, { id: "all" }) });
75802
75993
  };
75803
75994
  init_react_import2();
75804
- var import_react24 = require("react");
75995
+ var import_react25 = require("react");
75805
75996
  init_react_import2();
75806
- var import_react23 = __toESM2(require("react"));
75997
+ var import_react24 = __toESM2(require("react"));
75807
75998
  var import_react_frame_component = __toESM2(require_lib());
75808
75999
  var import_object_hash = __toESM2(require_object_hash());
75809
- var import_jsx_runtime30 = require("react/jsx-runtime");
76000
+ var import_jsx_runtime322 = require("react/jsx-runtime");
75810
76001
  var styleSelector = 'style, link[rel="stylesheet"]';
75811
76002
  var collectStyles = (doc) => {
75812
76003
  const collected = [];
@@ -75849,7 +76040,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75849
76040
  onStylesLoaded = () => null
75850
76041
  }) => {
75851
76042
  const { document: doc, window: win } = (0, import_react_frame_component.useFrame)();
75852
- (0, import_react23.useEffect)(() => {
76043
+ (0, import_react24.useEffect)(() => {
75853
76044
  if (!win || !doc) {
75854
76045
  return () => {
75855
76046
  };
@@ -76006,23 +76197,24 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76006
76197
  observer.disconnect();
76007
76198
  };
76008
76199
  }, []);
76009
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_jsx_runtime30.Fragment, { children });
76200
+ return /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(import_jsx_runtime322.Fragment, { children });
76010
76201
  };
76011
- var AutoFrameComponent = import_react23.default.forwardRef(
76202
+ var AutoFrameComponent = import_react24.default.forwardRef(
76012
76203
  function(_a3, ref2) {
76013
76204
  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 }) }));
76205
+ 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
76206
  }
76016
76207
  );
76017
76208
  AutoFrameComponent.displayName = "AutoFrameComponent";
76018
76209
  var AutoFrame_default = AutoFrameComponent;
76019
76210
  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);
76211
+ var styles_module_default18 = { "PuckPreview": "_PuckPreview_rxwlr_1", "PuckPreview-frame": "_PuckPreview-frame_rxwlr_5" };
76212
+ var import_react_frame_component2 = require_lib();
76213
+ var import_jsx_runtime33 = require("react/jsx-runtime");
76214
+ var getClassName23 = get_class_name_factory_default2("PuckPreview", styles_module_default18);
76023
76215
  var Preview = ({ id = "puck-preview" }) => {
76024
- const { config, dispatch, state, setStatus, iframe } = useAppContext2();
76025
- const Page = (0, import_react24.useCallback)(
76216
+ const { config, dispatch, state, setStatus, iframe, overrides } = useAppContext2();
76217
+ const Page = (0, import_react25.useCallback)(
76026
76218
  (pageProps) => {
76027
76219
  var _a3, _b2;
76028
76220
  return ((_a3 = config.root) == null ? void 0 : _a3.render) ? (_b2 = config.root) == null ? void 0 : _b2.render(__spreadProps2(__spreadValues2({
@@ -76031,33 +76223,36 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76031
76223
  editMode: true,
76032
76224
  // DEPRECATED
76033
76225
  puck: { renderDropZone: DropZone, isEditing: true }
76034
- })) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_jsx_runtime31.Fragment, { children: pageProps.children });
76226
+ })) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_jsx_runtime33.Fragment, { children: pageProps.children });
76035
76227
  },
76036
76228
  [config.root]
76037
76229
  );
76230
+ const Frame2 = (0, import_react25.useMemo)(() => overrides.iframe || "div", [overrides]);
76038
76231
  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)(
76232
+ const ref2 = (0, import_react25.useRef)(null);
76233
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
76041
76234
  "div",
76042
76235
  {
76043
- className: getClassName222(),
76236
+ className: getClassName23(),
76044
76237
  id,
76045
76238
  onClick: () => {
76046
76239
  dispatch({ type: "setUi", ui: __spreadProps2(__spreadValues2({}, state.ui), { itemSelector: null }) });
76047
76240
  },
76048
- children: iframe.enabled ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
76241
+ children: iframe.enabled ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
76049
76242
  AutoFrame_default,
76050
76243
  {
76051
76244
  id: "preview-frame",
76052
- className: getClassName222("frame"),
76245
+ className: getClassName23("frame"),
76053
76246
  "data-rfd-iframe": true,
76054
76247
  ref: ref2,
76055
76248
  onStylesLoaded: () => {
76056
76249
  setStatus("READY");
76057
76250
  },
76058
- children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Page, __spreadProps2(__spreadValues2({ dispatch, state }, rootProps), { children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(DropZone, { zone: rootDroppableId2 }) }))
76251
+ children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_frame_component2.FrameContextConsumer, { children: ({ document: document2 }) => {
76252
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Frame2, { document: document2, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Page, __spreadProps2(__spreadValues2({ dispatch, state }, rootProps), { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(DropZone, { zone: rootDroppableId2 }) })) });
76253
+ } })
76059
76254
  }
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 }) })) })
76255
+ ) : /* @__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
76256
  }
76062
76257
  );
76063
76258
  };
@@ -76079,7 +76274,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76079
76274
  };
76080
76275
  init_react_import2();
76081
76276
  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" };
76277
+ 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
76278
  init_react_import2();
76084
76279
  var scrollIntoView2 = (el) => {
76085
76280
  const oldStyle = __spreadValues2({}, el.style);
@@ -76089,7 +76284,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76089
76284
  el.style.scrollMargin = oldStyle.scrollMargin || "";
76090
76285
  }
76091
76286
  };
76092
- var import_react25 = require("react");
76287
+ var import_react26 = require("react");
76093
76288
  init_react_import2();
76094
76289
  var isChildOfZone = (item, maybeChild, ctx) => {
76095
76290
  var _a3;
@@ -76099,9 +76294,9 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76099
76294
  return area === item.props.id;
76100
76295
  })) : false;
76101
76296
  };
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);
76297
+ var import_jsx_runtime34 = require("react/jsx-runtime");
76298
+ var getClassName24 = get_class_name_factory_default2("LayerTree", styles_module_default19);
76299
+ var getClassNameLayer = get_class_name_factory_default2("Layer", styles_module_default19);
76105
76300
  var LayerTree = ({
76106
76301
  data,
76107
76302
  config,
@@ -76112,15 +76307,15 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76112
76307
  label
76113
76308
  }) => {
76114
76309
  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" }) }),
76310
+ const ctx = (0, import_react26.useContext)(dropZoneContext2);
76311
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
76312
+ label && /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName24("zoneTitle"), children: [
76313
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName24("zoneIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Layers, { size: "16" }) }),
76119
76314
  " ",
76120
76315
  label
76121
76316
  ] }),
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" }),
76317
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("ul", { className: getClassName24(), children: [
76318
+ zoneContent.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName24("helper"), children: "No items" }),
76124
76319
  zoneContent.map((item, i2) => {
76125
76320
  var _a3;
76126
76321
  const isSelected = (itemSelector == null ? void 0 : itemSelector.index) === i2 && (itemSelector.zone === zone || itemSelector.zone === rootDroppableId2 && !zone);
@@ -76138,7 +76333,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76138
76333
  const childIsSelected = isChildOfZone(item, selectedItem, ctx);
76139
76334
  const componentConfig = config.components[item.type];
76140
76335
  const label2 = (_a3 = componentConfig == null ? void 0 : componentConfig["label"]) != null ? _a3 : item.type.toString();
76141
- return /* @__PURE__ */ (0, import_jsx_runtime322.jsxs)(
76336
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
76142
76337
  "li",
76143
76338
  {
76144
76339
  className: getClassNameLayer({
@@ -76148,7 +76343,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76148
76343
  childIsSelected
76149
76344
  }),
76150
76345
  children: [
76151
- /* @__PURE__ */ (0, import_jsx_runtime322.jsx)("div", { className: getClassNameLayer("inner"), children: /* @__PURE__ */ (0, import_jsx_runtime322.jsxs)(
76346
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassNameLayer("inner"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
76152
76347
  "button",
76153
76348
  {
76154
76349
  className: getClassNameLayer("clickable"),
@@ -76180,22 +76375,22 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76180
76375
  setHoveringComponent(null);
76181
76376
  },
76182
76377
  children: [
76183
- containsZone && /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(
76378
+ containsZone && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
76184
76379
  "div",
76185
76380
  {
76186
76381
  className: getClassNameLayer("chevron"),
76187
76382
  title: isSelected ? "Collapse" : "Expand",
76188
- children: /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(ChevronDown, { size: "12" })
76383
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ChevronDown, { size: "12" })
76189
76384
  }
76190
76385
  ),
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 })
76386
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassNameLayer("title"), children: [
76387
+ /* @__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" }) }),
76388
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassNameLayer("name"), children: label2 })
76194
76389
  ] })
76195
76390
  ]
76196
76391
  }
76197
76392
  ) }),
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)(
76393
+ 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
76394
  LayerTree,
76200
76395
  {
76201
76396
  config,
@@ -76215,13 +76410,13 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76215
76410
  ] })
76216
76411
  ] });
76217
76412
  };
76218
- var import_react26 = require("react");
76219
- var import_jsx_runtime33 = require("react/jsx-runtime");
76413
+ var import_react27 = require("react");
76414
+ var import_jsx_runtime35 = require("react/jsx-runtime");
76220
76415
  var Outline = () => {
76221
76416
  const { dispatch, state, overrides, config } = useAppContext2();
76222
76417
  const { data, ui } = state;
76223
76418
  const { itemSelector } = ui;
76224
- const setItemSelector = (0, import_react26.useCallback)(
76419
+ const setItemSelector = (0, import_react27.useCallback)(
76225
76420
  (newItemSelector) => {
76226
76421
  dispatch({
76227
76422
  type: "setUi",
@@ -76230,9 +76425,9 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76230
76425
  },
76231
76426
  []
76232
76427
  );
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)(
76428
+ const Wrapper = (0, import_react27.useMemo)(() => overrides.outline || "div", [overrides]);
76429
+ 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: [
76430
+ (ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId2]) && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
76236
76431
  LayerTree,
76237
76432
  {
76238
76433
  config,
@@ -76245,7 +76440,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76245
76440
  ),
76246
76441
  Object.entries(findZonesForArea(data, "root")).map(
76247
76442
  ([zoneKey, zone]) => {
76248
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
76443
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
76249
76444
  LayerTree,
76250
76445
  {
76251
76446
  config,
@@ -76263,35 +76458,6 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76263
76458
  ] }) }) });
76264
76459
  };
76265
76460
  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
76461
  var import_react_hotkeys_hook = (init_react_hotkeys_hook_esm(), __toCommonJS(react_hotkeys_hook_esm_exports));
76296
76462
  function usePuckHistory({
76297
76463
  dispatch,
@@ -76344,19 +76510,19 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76344
76510
  };
76345
76511
  }
76346
76512
  init_react_import2();
76347
- var import_react27 = require("react");
76513
+ var import_react28 = require("react");
76348
76514
  var import_use_debounce3 = (init_index_module(), __toCommonJS(index_module_exports));
76349
76515
  var EMPTY_HISTORY_INDEX = -1;
76350
76516
  function useHistoryStore(initialHistory) {
76351
76517
  var _a3, _b2;
76352
- const [histories, setHistories] = (0, import_react27.useState)(
76518
+ const [histories, setHistories] = (0, import_react28.useState)(
76353
76519
  (_a3 = initialHistory == null ? void 0 : initialHistory.histories) != null ? _a3 : []
76354
76520
  );
76355
76521
  const updateHistories = (histories2) => {
76356
76522
  setHistories(histories2);
76357
76523
  setIndex(histories2.length - 1);
76358
76524
  };
76359
- const [index, setIndex] = (0, import_react27.useState)(
76525
+ const [index, setIndex] = (0, import_react28.useState)(
76360
76526
  (_b2 = initialHistory == null ? void 0 : initialHistory.index) != null ? _b2 : EMPTY_HISTORY_INDEX
76361
76527
  );
76362
76528
  const hasPast = index > EMPTY_HISTORY_INDEX;
@@ -76506,19 +76672,19 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76506
76672
  var styles = window.getComputedStyle(el);
76507
76673
  return calculateBox3(borderBox, styles);
76508
76674
  };
76509
- var import_react29 = require("react");
76675
+ var import_react30 = require("react");
76510
76676
  init_react_import2();
76511
- var import_react28 = require("react");
76677
+ var import_react29 = require("react");
76512
76678
  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");
76679
+ 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" };
76680
+ var import_jsx_runtime36 = require("react/jsx-runtime");
76515
76681
  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 })
76682
+ Smartphone: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Smartphone, { size: 16 }),
76683
+ Tablet: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Tablet, { size: 16 }),
76684
+ Monitor: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Monitor, { size: 16 })
76519
76685
  };
76520
- var getClassName24 = get_class_name_factory_default2("ViewportControls", styles_module_default19);
76521
- var getClassNameButton = get_class_name_factory_default2("ViewportButton", styles_module_default19);
76686
+ var getClassName25 = get_class_name_factory_default2("ViewportControls", styles_module_default20);
76687
+ var getClassNameButton = get_class_name_factory_default2("ViewportButton", styles_module_default20);
76522
76688
  var ViewportButton = ({
76523
76689
  children,
76524
76690
  height = "auto",
@@ -76527,11 +76693,11 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76527
76693
  onClick
76528
76694
  }) => {
76529
76695
  const { state } = useAppContext2();
76530
- const [isActive2, setIsActive] = (0, import_react28.useState)(false);
76531
- (0, import_react28.useEffect)(() => {
76696
+ const [isActive2, setIsActive] = (0, import_react29.useState)(false);
76697
+ (0, import_react29.useEffect)(() => {
76532
76698
  setIsActive(width === state.ui.viewports.current.width);
76533
76699
  }, [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)(
76700
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: getClassNameButton({ isActive: isActive2 }), children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
76535
76701
  IconButton,
76536
76702
  {
76537
76703
  title,
@@ -76540,7 +76706,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76540
76706
  e2.stopPropagation();
76541
76707
  onClick({ width, height });
76542
76708
  },
76543
- children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: getClassNameButton("inner"), children })
76709
+ children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: getClassNameButton("inner"), children })
76544
76710
  }
76545
76711
  ) });
76546
76712
  };
@@ -76564,7 +76730,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76564
76730
  const defaultsContainAutoZoom = defaultZoomOptions.find(
76565
76731
  (option) => option.value === autoZoom
76566
76732
  );
76567
- const zoomOptions = (0, import_react28.useMemo)(
76733
+ const zoomOptions = (0, import_react29.useMemo)(
76568
76734
  () => [
76569
76735
  ...defaultZoomOptions,
76570
76736
  ...defaultsContainAutoZoom ? [] : [
@@ -76576,8 +76742,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76576
76742
  ].filter((a2) => a2.value <= autoZoom).sort((a2, b) => a2.value > b.value ? 1 : -1),
76577
76743
  [autoZoom]
76578
76744
  );
76579
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName24(), children: [
76580
- viewports.map((viewport, i2) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
76745
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: getClassName25(), children: [
76746
+ viewports.map((viewport, i2) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
76581
76747
  ViewportButton,
76582
76748
  {
76583
76749
  height: viewport.height,
@@ -76588,8 +76754,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76588
76754
  },
76589
76755
  i2
76590
76756
  )),
76591
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName24("divider") }),
76592
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
76757
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: getClassName25("divider") }),
76758
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
76593
76759
  IconButton,
76594
76760
  {
76595
76761
  title: "Zoom viewport out",
@@ -76603,10 +76769,10 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76603
76769
  )].value
76604
76770
  );
76605
76771
  },
76606
- children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ZoomOut, { size: 16 })
76772
+ children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ZoomOut, { size: 16 })
76607
76773
  }
76608
76774
  ),
76609
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
76775
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
76610
76776
  IconButton,
76611
76777
  {
76612
76778
  title: "Zoom viewport in",
@@ -76620,19 +76786,19 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76620
76786
  )].value
76621
76787
  );
76622
76788
  },
76623
- children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ZoomIn, { size: 16 })
76789
+ children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ZoomIn, { size: 16 })
76624
76790
  }
76625
76791
  ),
76626
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName24("divider") }),
76627
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
76792
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: getClassName25("divider") }),
76793
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
76628
76794
  "select",
76629
76795
  {
76630
- className: getClassName24("zoomSelect"),
76796
+ className: getClassName25("zoomSelect"),
76631
76797
  value: zoom.toString(),
76632
76798
  onChange: (e2) => {
76633
76799
  onZoom(parseFloat(e2.currentTarget.value));
76634
76800
  },
76635
- children: zoomOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
76801
+ children: zoomOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
76636
76802
  "option",
76637
76803
  {
76638
76804
  value: option.value,
@@ -76645,7 +76811,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76645
76811
  ] });
76646
76812
  };
76647
76813
  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" };
76814
+ 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
76815
  init_react_import2();
76650
76816
  var RESET_ZOOM_SMALLER_THAN_FRAME = true;
76651
76817
  var getZoomConfig = (uiViewport, frame, zoom) => {
@@ -76674,24 +76840,24 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76674
76840
  }
76675
76841
  return { autoZoom, rootHeight, zoom };
76676
76842
  };
76677
- var import_jsx_runtime35 = require("react/jsx-runtime");
76678
- var getClassName25 = get_class_name_factory_default2("PuckCanvas", styles_module_default20);
76843
+ var import_jsx_runtime37 = require("react/jsx-runtime");
76844
+ var getClassName26 = get_class_name_factory_default2("PuckCanvas", styles_module_default21);
76679
76845
  var ZOOM_ON_CHANGE = true;
76680
76846
  var Canvas = () => {
76681
76847
  const { status, iframe } = useAppContext2();
76682
76848
  const { dispatch, state, overrides, setUi, zoomConfig, setZoomConfig } = useAppContext2();
76683
76849
  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 });
76850
+ const frameRef = (0, import_react30.useRef)(null);
76851
+ const [showTransition, setShowTransition] = (0, import_react30.useState)(false);
76852
+ const defaultRender = (0, import_react30.useMemo)(() => {
76853
+ const PuckDefault = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_jsx_runtime37.Fragment, { children });
76688
76854
  return PuckDefault;
76689
76855
  }, []);
76690
- const CustomPreview = (0, import_react29.useMemo)(
76856
+ const CustomPreview = (0, import_react30.useMemo)(
76691
76857
  () => overrides.preview || defaultRender,
76692
76858
  [overrides]
76693
76859
  );
76694
- const getFrameDimensions = (0, import_react29.useCallback)(() => {
76860
+ const getFrameDimensions = (0, import_react30.useCallback)(() => {
76695
76861
  if (frameRef.current) {
76696
76862
  const frame = frameRef.current;
76697
76863
  const box = getBox3(frame);
@@ -76699,7 +76865,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76699
76865
  }
76700
76866
  return { width: 0, height: 0 };
76701
76867
  }, [frameRef]);
76702
- const resetAutoZoom = (0, import_react29.useCallback)(
76868
+ const resetAutoZoom = (0, import_react30.useCallback)(
76703
76869
  (ui2 = state.ui) => {
76704
76870
  if (frameRef.current) {
76705
76871
  setZoomConfig(
@@ -76709,11 +76875,11 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76709
76875
  },
76710
76876
  [frameRef, zoomConfig, state.ui]
76711
76877
  );
76712
- (0, import_react29.useEffect)(() => {
76878
+ (0, import_react30.useEffect)(() => {
76713
76879
  setShowTransition(false);
76714
76880
  resetAutoZoom();
76715
76881
  }, [frameRef, ui.leftSideBarVisible, ui.rightSideBarVisible]);
76716
- (0, import_react29.useEffect)(() => {
76882
+ (0, import_react30.useEffect)(() => {
76717
76883
  const { height: frameHeight } = getFrameDimensions();
76718
76884
  if (ui.viewports.current.height === "auto") {
76719
76885
  setZoomConfig(__spreadProps2(__spreadValues2({}, zoomConfig), {
@@ -76721,7 +76887,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76721
76887
  }));
76722
76888
  }
76723
76889
  }, [zoomConfig.zoom]);
76724
- (0, import_react29.useEffect)(() => {
76890
+ (0, import_react30.useEffect)(() => {
76725
76891
  const observer = new ResizeObserver(() => {
76726
76892
  setShowTransition(false);
76727
76893
  resetAutoZoom();
@@ -76733,10 +76899,10 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76733
76899
  observer.disconnect();
76734
76900
  };
76735
76901
  }, []);
76736
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
76902
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
76737
76903
  "div",
76738
76904
  {
76739
- className: getClassName25({
76905
+ className: getClassName26({
76740
76906
  ready: status === "READY" || !iframe.enabled
76741
76907
  }),
76742
76908
  onClick: () => dispatch({
@@ -76745,7 +76911,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76745
76911
  recordHistory: true
76746
76912
  }),
76747
76913
  children: [
76748
- ui.viewports.controlsVisible && iframe.enabled && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: getClassName25("controls"), children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
76914
+ ui.viewports.controlsVisible && iframe.enabled && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: getClassName26("controls"), children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
76749
76915
  ViewportControls,
76750
76916
  {
76751
76917
  autoZoom: zoomConfig.autoZoom,
@@ -76770,10 +76936,10 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76770
76936
  }
76771
76937
  }
76772
76938
  ) }),
76773
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: getClassName25("inner"), ref: frameRef, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
76939
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: getClassName26("inner"), ref: frameRef, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
76774
76940
  "div",
76775
76941
  {
76776
- className: getClassName25("root"),
76942
+ className: getClassName26("root"),
76777
76943
  style: {
76778
76944
  width: iframe.enabled ? ui.viewports.current.width : "100%",
76779
76945
  height: zoomConfig.rootHeight,
@@ -76782,16 +76948,46 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76782
76948
  overflow: iframe.enabled ? void 0 : "auto"
76783
76949
  },
76784
76950
  suppressHydrationWarning: true,
76785
- children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CustomPreview, { children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Preview, {}) })
76951
+ children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(CustomPreview, { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Preview, {}) })
76786
76952
  }
76787
76953
  ) })
76788
76954
  ]
76789
76955
  }
76790
76956
  );
76791
76957
  };
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);
76958
+ init_react_import2();
76959
+ var insertComponent = (componentType, zone, index, {
76960
+ config,
76961
+ dispatch,
76962
+ resolveData,
76963
+ state
76964
+ }) => {
76965
+ const id = generateId(componentType);
76966
+ const insertActionData = {
76967
+ type: "insert",
76968
+ componentType,
76969
+ destinationIndex: index,
76970
+ destinationZone: zone,
76971
+ id
76972
+ };
76973
+ const insertedData = insertAction(state.data, insertActionData, config);
76974
+ dispatch(__spreadProps2(__spreadValues2({}, insertActionData), {
76975
+ // Dispatch insert rather set, as user's may rely on this via onAction
76976
+ recordHistory: false
76977
+ }));
76978
+ const itemSelector = {
76979
+ index,
76980
+ zone
76981
+ };
76982
+ dispatch({ type: "setUi", ui: { itemSelector } });
76983
+ resolveData({
76984
+ data: insertedData,
76985
+ ui: __spreadProps2(__spreadValues2({}, state.ui), { itemSelector })
76986
+ });
76987
+ };
76988
+ var import_jsx_runtime38 = require("react/jsx-runtime");
76989
+ var getClassName27 = get_class_name_factory_default2("Puck", styles_module_default15);
76990
+ var getLayoutClassName = get_class_name_factory_default2("PuckLayout", styles_module_default15);
76795
76991
  function Puck({
76796
76992
  children,
76797
76993
  config,
@@ -76800,6 +76996,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76800
76996
  onChange,
76801
76997
  onPublish,
76802
76998
  onAction,
76999
+ permissions = {},
76803
77000
  plugins = [],
76804
77001
  overrides = {},
76805
77002
  renderHeader,
@@ -76815,10 +77012,10 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76815
77012
  }) {
76816
77013
  var _a3;
76817
77014
  const historyStore = useHistoryStore(initialHistory);
76818
- const [reducer2] = (0, import_react30.useState)(
77015
+ const [reducer2] = (0, import_react31.useState)(
76819
77016
  () => createReducer({ config, record: historyStore.record, onAction })
76820
77017
  );
76821
- const [initialAppState] = (0, import_react30.useState)(() => {
77018
+ const [initialAppState] = (0, import_react31.useState)(() => {
76822
77019
  var _a22, _b2, _c, _d, _e, _f, _g;
76823
77020
  const initial = __spreadValues2(__spreadValues2({}, defaultAppState2.ui), initialUi);
76824
77021
  let clientUiState = {};
@@ -76876,7 +77073,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76876
77073
  })
76877
77074
  });
76878
77075
  });
76879
- const [appState, dispatch] = (0, import_react30.useReducer)(
77076
+ const [appState, dispatch] = (0, import_react31.useReducer)(
76880
77077
  reducer2,
76881
77078
  flushZones(initialAppState)
76882
77079
  );
@@ -76887,9 +77084,9 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76887
77084
  config,
76888
77085
  dispatch
76889
77086
  );
76890
- const [menuOpen, setMenuOpen] = (0, import_react30.useState)(false);
77087
+ const [menuOpen, setMenuOpen] = (0, import_react31.useState)(false);
76891
77088
  const { itemSelector, leftSideBarVisible, rightSideBarVisible } = ui;
76892
- const setItemSelector = (0, import_react30.useCallback)(
77089
+ const setItemSelector = (0, import_react31.useCallback)(
76893
77090
  (newItemSelector) => {
76894
77091
  if (newItemSelector === itemSelector) return;
76895
77092
  dispatch({
@@ -76901,13 +77098,13 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76901
77098
  [itemSelector]
76902
77099
  );
76903
77100
  const selectedItem = itemSelector ? getItem2(itemSelector, data) : null;
76904
- (0, import_react30.useEffect)(() => {
77101
+ (0, import_react31.useEffect)(() => {
76905
77102
  if (onChange) onChange(data);
76906
77103
  }, [data]);
76907
77104
  const { onDragStartOrUpdate, placeholderStyle } = usePlaceholderStyle();
76908
- const [draggedItem, setDraggedItem] = (0, import_react30.useState)();
77105
+ const [draggedItem, setDraggedItem] = (0, import_react31.useState)();
76909
77106
  const rootProps = data.root.props || data.root;
76910
- const toggleSidebars = (0, import_react30.useCallback)(
77107
+ const toggleSidebars = (0, import_react31.useCallback)(
76911
77108
  (sidebar) => {
76912
77109
  const widerViewport = window.matchMedia("(min-width: 638px)").matches;
76913
77110
  const sideBarVisible = sidebar === "left" ? leftSideBarVisible : rightSideBarVisible;
@@ -76921,7 +77118,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76921
77118
  },
76922
77119
  [dispatch, leftSideBarVisible, rightSideBarVisible]
76923
77120
  );
76924
- (0, import_react30.useEffect)(() => {
77121
+ (0, import_react31.useEffect)(() => {
76925
77122
  if (!window.matchMedia("(min-width: 638px)").matches) {
76926
77123
  dispatch({
76927
77124
  type: "setUi",
@@ -76944,11 +77141,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76944
77141
  window.removeEventListener("resize", handleResize);
76945
77142
  };
76946
77143
  }, []);
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)(() => {
77144
+ const defaultHeaderRender = (0, import_react31.useMemo)(() => {
76952
77145
  if (renderHeader) {
76953
77146
  console.warn(
76954
77147
  "`renderHeader` is deprecated. Please use `overrides.header` and the `usePuck` hook instead"
@@ -76956,48 +77149,49 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76956
77149
  const RenderHeader = (_a22) => {
76957
77150
  var _b2 = _a22, { actions } = _b2, props = __objRest2(_b2, ["actions"]);
76958
77151
  const Comp = renderHeader;
76959
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Comp, __spreadProps2(__spreadValues2({}, props), { dispatch, state: appState, children: actions }));
77152
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Comp, __spreadProps2(__spreadValues2({}, props), { dispatch, state: appState, children: actions }));
76960
77153
  };
76961
77154
  return RenderHeader;
76962
77155
  }
76963
- return defaultRender;
77156
+ return DefaultOverride;
76964
77157
  }, [renderHeader]);
76965
- const defaultHeaderActionsRender = (0, import_react30.useMemo)(() => {
77158
+ const defaultHeaderActionsRender = (0, import_react31.useMemo)(() => {
76966
77159
  if (renderHeaderActions) {
76967
77160
  console.warn(
76968
77161
  "`renderHeaderActions` is deprecated. Please use `overrides.headerActions` and the `usePuck` hook instead."
76969
77162
  );
76970
77163
  const RenderHeader = (props) => {
76971
77164
  const Comp = renderHeaderActions;
76972
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Comp, __spreadProps2(__spreadValues2({}, props), { dispatch, state: appState }));
77165
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Comp, __spreadProps2(__spreadValues2({}, props), { dispatch, state: appState }));
76973
77166
  };
76974
77167
  return RenderHeader;
76975
77168
  }
76976
- return defaultRender;
77169
+ return DefaultOverride;
76977
77170
  }, [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,
77171
+ const loadedOverrides = useLoadedOverrides({
77172
+ overrides,
77173
+ plugins
77174
+ });
77175
+ const CustomPuck = (0, import_react31.useMemo)(
77176
+ () => loadedOverrides.puck || DefaultOverride,
76983
77177
  [loadedOverrides]
76984
77178
  );
76985
- const CustomHeader = (0, import_react30.useMemo)(
77179
+ const CustomHeader = (0, import_react31.useMemo)(
76986
77180
  () => loadedOverrides.header || defaultHeaderRender,
76987
77181
  [loadedOverrides]
76988
77182
  );
76989
- const CustomHeaderActions = (0, import_react30.useMemo)(
77183
+ const CustomHeaderActions = (0, import_react31.useMemo)(
76990
77184
  () => loadedOverrides.headerActions || defaultHeaderActionsRender,
76991
77185
  [loadedOverrides]
76992
77186
  );
76993
- const [mounted, setMounted] = (0, import_react30.useState)(false);
76994
- (0, import_react30.useEffect)(() => {
77187
+ const [mounted, setMounted] = (0, import_react31.useState)(false);
77188
+ (0, import_react31.useEffect)(() => {
76995
77189
  setMounted(true);
76996
77190
  }, []);
76997
77191
  const selectedComponentConfig = selectedItem && config.components[selectedItem.type];
76998
77192
  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)(
77193
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: `Puck ${getClassName27()}`, children: [
77194
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
77001
77195
  AppProvider,
77002
77196
  {
77003
77197
  value: {
@@ -77010,9 +77204,16 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
77010
77204
  overrides: loadedOverrides,
77011
77205
  history,
77012
77206
  viewports,
77013
- iframe
77207
+ iframe,
77208
+ globalPermissions: __spreadValues2({
77209
+ delete: true,
77210
+ drag: true,
77211
+ duplicate: true,
77212
+ insert: true,
77213
+ edit: true
77214
+ }, permissions)
77014
77215
  },
77015
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
77216
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
77016
77217
  DragDropContext2,
77017
77218
  {
77018
77219
  autoScrollerOptions: { disabled: dnd == null ? void 0 : dnd.disableAutoScroll },
@@ -77033,16 +77234,12 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
77033
77234
  }
77034
77235
  if (droppedItem.source.droppableId.startsWith("component-list") && droppedItem.destination) {
77035
77236
  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
- });
77237
+ insertComponent(
77238
+ componentType || droppedItem.draggableId,
77239
+ droppedItem.destination.droppableId,
77240
+ droppedItem.destination.index,
77241
+ { config, dispatch, resolveData, state: appState }
77242
+ );
77046
77243
  return;
77047
77244
  } else {
77048
77245
  const { source, destination } = droppedItem;
@@ -77068,7 +77265,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
77068
77265
  });
77069
77266
  }
77070
77267
  },
77071
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
77268
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
77072
77269
  DropZoneProvider,
77073
77270
  {
77074
77271
  value: {
@@ -77082,7 +77279,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
77082
77279
  mode: "edit",
77083
77280
  areaId: "root"
77084
77281
  },
77085
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(CustomPuck, { children: children || /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
77282
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(CustomPuck, { children: children || /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
77086
77283
  "div",
77087
77284
  {
77088
77285
  className: getLayoutClassName({
@@ -77091,64 +77288,64 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
77091
77288
  mounted,
77092
77289
  rightSideBarVisible
77093
77290
  }),
77094
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: getLayoutClassName("inner"), children: [
77095
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
77291
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: getLayoutClassName("inner"), children: [
77292
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
77096
77293
  CustomHeader,
77097
77294
  {
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)(
77295
+ 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
77296
  Button,
77100
77297
  {
77101
77298
  onClick: () => {
77102
77299
  onPublish && onPublish(data);
77103
77300
  },
77104
- icon: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Globe, { size: "14px" }),
77301
+ icon: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Globe, { size: "14px" }),
77105
77302
  children: "Publish"
77106
77303
  }
77107
77304
  ) }) }),
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)(
77305
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("header", { className: getLayoutClassName("header"), children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: getLayoutClassName("headerInner"), children: [
77306
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: getLayoutClassName("headerToggle"), children: [
77307
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
77111
77308
  "div",
77112
77309
  {
77113
77310
  className: getLayoutClassName(
77114
77311
  "leftSideBarToggle"
77115
77312
  ),
77116
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
77313
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
77117
77314
  IconButton,
77118
77315
  {
77119
77316
  onClick: () => {
77120
77317
  toggleSidebars("left");
77121
77318
  },
77122
77319
  title: "Toggle left sidebar",
77123
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(PanelLeft, { focusable: "false" })
77320
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(PanelLeft, { focusable: "false" })
77124
77321
  }
77125
77322
  )
77126
77323
  }
77127
77324
  ),
77128
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
77325
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
77129
77326
  "div",
77130
77327
  {
77131
77328
  className: getLayoutClassName(
77132
77329
  "rightSideBarToggle"
77133
77330
  ),
77134
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
77331
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
77135
77332
  IconButton,
77136
77333
  {
77137
77334
  onClick: () => {
77138
77335
  toggleSidebars("right");
77139
77336
  },
77140
77337
  title: "Toggle right sidebar",
77141
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(PanelRight, { focusable: "false" })
77338
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(PanelRight, { focusable: "false" })
77142
77339
  }
77143
77340
  )
77144
77341
  }
77145
77342
  )
77146
77343
  ] }),
77147
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: getLayoutClassName("headerTitle"), children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(Heading2, { rank: 2, size: "xs", children: [
77344
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: getLayoutClassName("headerTitle"), children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(Heading2, { rank: 2, size: "xs", children: [
77148
77345
  headerTitle || rootProps.title || "Page",
77149
- headerPath && /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_jsx_runtime36.Fragment, { children: [
77346
+ headerPath && /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_jsx_runtime38.Fragment, { children: [
77150
77347
  " ",
77151
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
77348
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
77152
77349
  "code",
77153
77350
  {
77154
77351
  className: getLayoutClassName("headerPath"),
@@ -77157,18 +77354,18 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
77157
77354
  )
77158
77355
  ] })
77159
77356
  ] }) }),
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)(
77357
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: getLayoutClassName("headerTools"), children: [
77358
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: getLayoutClassName("menuButton"), children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
77162
77359
  IconButton,
77163
77360
  {
77164
77361
  onClick: () => {
77165
77362
  return setMenuOpen(!menuOpen);
77166
77363
  },
77167
77364
  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" })
77365
+ children: menuOpen ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ChevronUp, { focusable: "false" }) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ChevronDown, { focusable: "false" })
77169
77366
  }
77170
77367
  ) }),
77171
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
77368
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
77172
77369
  MenuBar,
77173
77370
  {
77174
77371
  appState,
@@ -77176,13 +77373,13 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
77176
77373
  dispatch,
77177
77374
  onPublish,
77178
77375
  menuOpen,
77179
- renderHeaderActions: () => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(CustomHeaderActions, { children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
77376
+ renderHeaderActions: () => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(CustomHeaderActions, { children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
77180
77377
  Button,
77181
77378
  {
77182
77379
  onClick: () => {
77183
77380
  onPublish && onPublish(data);
77184
77381
  },
77185
- icon: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Globe, { size: "14px" }),
77382
+ icon: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Globe, { size: "14px" }),
77186
77383
  children: "Publish"
77187
77384
  }
77188
77385
  ) }),
@@ -77193,19 +77390,19 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
77193
77390
  ] }) })
77194
77391
  }
77195
77392
  ),
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, {}) })
77393
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: getLayoutClassName("leftSideBar"), children: [
77394
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(SidebarSection2, { title: "Components", noBorderTop: true, children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Components, {}) }),
77395
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(SidebarSection2, { title: "Outline", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Outline, {}) })
77199
77396
  ] }),
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)(
77397
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Canvas, {}),
77398
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: getLayoutClassName("rightSideBar"), children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
77202
77399
  SidebarSection2,
77203
77400
  {
77204
77401
  noPadding: true,
77205
77402
  noBorderTop: true,
77206
77403
  showBreadcrumbs: true,
77207
77404
  title: selectedItem ? selectedComponentLabel : "Page",
77208
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Fields, {})
77405
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Fields, {})
77209
77406
  }
77210
77407
  ) })
77211
77408
  ] })
@@ -77217,7 +77414,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
77217
77414
  )
77218
77415
  }
77219
77416
  ),
77220
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { id: "puck-portal-root", className: getClassName26("portal") })
77417
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { id: "puck-portal-root", className: getClassName27("portal") })
77221
77418
  ] });
77222
77419
  }
77223
77420
  Puck.Components = Components;
@@ -77225,7 +77422,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
77225
77422
  Puck.Outline = Outline;
77226
77423
  Puck.Preview = Preview;
77227
77424
  init_react_import2();
77228
- var import_jsx_runtime37 = require("react/jsx-runtime");
77425
+ var import_jsx_runtime39 = require("react/jsx-runtime");
77229
77426
  function Render({
77230
77427
  config,
77231
77428
  data
@@ -77238,7 +77435,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
77238
77435
  const rootProps = defaultedData.root.props || defaultedData.root;
77239
77436
  const title = (rootProps == null ? void 0 : rootProps.title) || "";
77240
77437
  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)(
77438
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(DropZoneProvider, { value: { data: defaultedData, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
77242
77439
  config.root.render,
77243
77440
  __spreadProps2(__spreadValues2({}, rootProps), {
77244
77441
  puck: {
@@ -77248,11 +77445,11 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
77248
77445
  title,
77249
77446
  editMode: false,
77250
77447
  id: "puck-root",
77251
- children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DropZone, { zone: rootDroppableId2 })
77448
+ children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(DropZone, { zone: rootDroppableId2 })
77252
77449
  })
77253
77450
  ) });
77254
77451
  }
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 }) });
77452
+ 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
77453
  }
77257
77454
  init_react_import2();
77258
77455
  var migrations = [
@@ -77348,12 +77545,25 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
77348
77545
  config,
77349
77546
  history,
77350
77547
  dispatch,
77351
- selectedItem
77548
+ selectedItem: currentItem,
77549
+ globalPermissions
77352
77550
  } = useAppContext2();
77353
77551
  return {
77354
77552
  appState,
77355
77553
  config,
77356
77554
  dispatch,
77555
+ getPermissions: ({
77556
+ item,
77557
+ type
77558
+ } = {}) => {
77559
+ return getPermissions({
77560
+ selectedItem: item || currentItem,
77561
+ type,
77562
+ globalPermissions: globalPermissions || {},
77563
+ config,
77564
+ appState
77565
+ });
77566
+ },
77357
77567
  history: {
77358
77568
  back: history.back,
77359
77569
  forward: history.forward,
@@ -77365,7 +77575,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
77365
77575
  index: history.historyStore.index,
77366
77576
  historyStore: history.historyStore
77367
77577
  },
77368
- selectedItem: selectedItem || null
77578
+ selectedItem: currentItem || null
77369
77579
  };
77370
77580
  };
77371
77581
  }
@@ -77666,7 +77876,8 @@ var defaultContext = {
77666
77876
  status: "LOADING",
77667
77877
  setStatus: () => null,
77668
77878
  iframe: {},
77669
- safariFallbackMode: false
77879
+ safariFallbackMode: false,
77880
+ globalPermissions: {}
77670
77881
  };
77671
77882
  var appContext = (0, import_react10.createContext)(defaultContext);
77672
77883
  function useAppContext() {