@measured/puck 0.16.0-canary.abe8c52 → 0.16.0-canary.cad95b8

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.js CHANGED
@@ -7536,7 +7536,7 @@ var require_react_dom_development = __commonJS({
7536
7536
  var HostPortal = 4;
7537
7537
  var HostComponent = 5;
7538
7538
  var HostText = 6;
7539
- var Fragment19 = 7;
7539
+ var Fragment20 = 7;
7540
7540
  var Mode = 8;
7541
7541
  var ContextConsumer = 9;
7542
7542
  var ContextProvider = 10;
@@ -8692,7 +8692,7 @@ var require_react_dom_development = __commonJS({
8692
8692
  return "DehydratedFragment";
8693
8693
  case ForwardRef:
8694
8694
  return getWrappedName$1(type, type.render, "ForwardRef");
8695
- case Fragment19:
8695
+ case Fragment20:
8696
8696
  return "Fragment";
8697
8697
  case HostComponent:
8698
8698
  return type;
@@ -18343,7 +18343,7 @@ var require_react_dom_development = __commonJS({
18343
18343
  }
18344
18344
  }
18345
18345
  function updateFragment2(returnFiber, current2, fragment, lanes, key) {
18346
- if (current2 === null || current2.tag !== Fragment19) {
18346
+ if (current2 === null || current2.tag !== Fragment20) {
18347
18347
  var created = createFiberFromFragment(fragment, returnFiber.mode, lanes, key);
18348
18348
  created.return = returnFiber;
18349
18349
  return created;
@@ -18746,7 +18746,7 @@ var require_react_dom_development = __commonJS({
18746
18746
  if (child.key === key) {
18747
18747
  var elementType = element.type;
18748
18748
  if (elementType === REACT_FRAGMENT_TYPE) {
18749
- if (child.tag === Fragment19) {
18749
+ if (child.tag === Fragment20) {
18750
18750
  deleteRemainingChildren(returnFiber, child.sibling);
18751
18751
  var existing = useFiber(child, element.props.children);
18752
18752
  existing.return = returnFiber;
@@ -22921,7 +22921,7 @@ var require_react_dom_development = __commonJS({
22921
22921
  var _resolvedProps2 = workInProgress2.elementType === type ? _unresolvedProps2 : resolveDefaultProps(type, _unresolvedProps2);
22922
22922
  return updateForwardRef(current2, workInProgress2, type, _resolvedProps2, renderLanes2);
22923
22923
  }
22924
- case Fragment19:
22924
+ case Fragment20:
22925
22925
  return updateFragment(current2, workInProgress2, renderLanes2);
22926
22926
  case Mode:
22927
22927
  return updateMode(current2, workInProgress2, renderLanes2);
@@ -23193,7 +23193,7 @@ var require_react_dom_development = __commonJS({
23193
23193
  case SimpleMemoComponent:
23194
23194
  case FunctionComponent:
23195
23195
  case ForwardRef:
23196
- case Fragment19:
23196
+ case Fragment20:
23197
23197
  case Mode:
23198
23198
  case Profiler:
23199
23199
  case ContextConsumer:
@@ -27444,7 +27444,7 @@ var require_react_dom_development = __commonJS({
27444
27444
  return fiber;
27445
27445
  }
27446
27446
  function createFiberFromFragment(elements, mode, lanes, key) {
27447
- var fiber = createFiber(Fragment19, elements, key, mode);
27447
+ var fiber = createFiber(Fragment20, elements, key, mode);
27448
27448
  fiber.lanes = lanes;
27449
27449
  return fiber;
27450
27450
  }
@@ -28567,6 +28567,8 @@ var require_react_dom = __commonJS({
28567
28567
  // index.ts
28568
28568
  var core_exports = {};
28569
28569
  __export(core_exports, {
28570
+ Action: () => Action,
28571
+ ActionBar: () => ActionBar,
28570
28572
  AutoField: () => AutoField,
28571
28573
  AutoFieldPrivate: () => AutoFieldPrivate,
28572
28574
  Button: () => Button,
@@ -28596,7 +28598,7 @@ init_react_import();
28596
28598
  // types/Fields.ts
28597
28599
  init_react_import();
28598
28600
 
28599
- // components/AutoField/index.tsx
28601
+ // components/ActionBar/index.tsx
28600
28602
  init_react_import();
28601
28603
 
28602
28604
  // lib/get-class-name-factory.ts
@@ -28631,9 +28633,33 @@ var getClassNameFactory = (rootClass, styles, { baseClass = "" } = {}) => (optio
28631
28633
  };
28632
28634
  var get_class_name_factory_default = getClassNameFactory;
28633
28635
 
28636
+ // css-module:/home/runner/work/puck/puck/packages/core/components/ActionBar/styles.module.css#css-module
28637
+ init_react_import();
28638
+ var styles_module_default = { "ActionBarComponent": "_ActionBarComponent_8nyey_1", "ActionBarComponent-actionsLabel": "_ActionBarComponent-actionsLabel_8nyey_15", "ActionBarComponent-action": "_ActionBarComponent-action_8nyey_15" };
28639
+
28640
+ // components/ActionBar/index.tsx
28641
+ var import_jsx_runtime = require("react/jsx-runtime");
28642
+ var getClassName = get_class_name_factory_default("ActionBarComponent", styles_module_default);
28643
+ var ActionBar = ({
28644
+ label,
28645
+ children
28646
+ }) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: getClassName(), children: [
28647
+ label && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: getClassName("actionsLabel"), children: label }),
28648
+ children
28649
+ ] });
28650
+ var Action = ({
28651
+ children,
28652
+ label,
28653
+ onClick
28654
+ }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", { className: getClassName("action"), onClick, title: label, children });
28655
+ ActionBar.Action = Action;
28656
+
28657
+ // components/AutoField/index.tsx
28658
+ init_react_import();
28659
+
28634
28660
  // css-module:/home/runner/work/puck/puck/packages/core/components/AutoField/styles.module.css#css-module
28635
28661
  init_react_import();
28636
- var styles_module_default = { "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" };
28662
+ var styles_module_default2 = { "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" };
28637
28663
 
28638
28664
  // components/AutoField/index.tsx
28639
28665
  var import_react11 = require("react");
@@ -28646,7 +28672,7 @@ init_react_import();
28646
28672
 
28647
28673
  // css-module:/home/runner/work/puck/puck/packages/core/components/AutoField/fields/ArrayField/styles.module.css#css-module
28648
28674
  init_react_import();
28649
- var styles_module_default2 = { "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" };
28675
+ var styles_module_default3 = { "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" };
28650
28676
 
28651
28677
  // ../../node_modules/lucide-react/dist/esm/lucide-react.js
28652
28678
  init_react_import();
@@ -28958,11 +28984,11 @@ var replace = (list, index, newItem) => {
28958
28984
 
28959
28985
  // css-module:/home/runner/work/puck/puck/packages/core/components/Loader/styles.module.css#css-module
28960
28986
  init_react_import();
28961
- var styles_module_default3 = { "Loader": "_Loader_nacdm_13", "loader-animation": "_loader-animation_nacdm_1" };
28987
+ var styles_module_default4 = { "Loader": "_Loader_nacdm_13", "loader-animation": "_loader-animation_nacdm_1" };
28962
28988
 
28963
28989
  // components/Loader/index.tsx
28964
- var import_jsx_runtime = require("react/jsx-runtime");
28965
- var getClassName = get_class_name_factory_default("Loader", styles_module_default3);
28990
+ var import_jsx_runtime2 = require("react/jsx-runtime");
28991
+ var getClassName2 = get_class_name_factory_default("Loader", styles_module_default4);
28966
28992
  var Loader = (_a) => {
28967
28993
  var _b = _a, {
28968
28994
  color,
@@ -28971,10 +28997,10 @@ var Loader = (_a) => {
28971
28997
  "color",
28972
28998
  "size"
28973
28999
  ]);
28974
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
29000
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
28975
29001
  "span",
28976
29002
  __spreadValues({
28977
- className: getClassName(),
29003
+ className: getClassName2(),
28978
29004
  style: {
28979
29005
  width: size,
28980
29006
  height: size,
@@ -28986,8 +29012,8 @@ var Loader = (_a) => {
28986
29012
  };
28987
29013
 
28988
29014
  // components/IconButton/IconButton.tsx
28989
- var import_jsx_runtime2 = require("react/jsx-runtime");
28990
- var getClassName2 = get_class_name_factory_default("IconButton", IconButton_module_default);
29015
+ var import_jsx_runtime3 = require("react/jsx-runtime");
29016
+ var getClassName3 = get_class_name_factory_default("IconButton", IconButton_module_default);
28991
29017
  var IconButton = ({
28992
29018
  children,
28993
29019
  href,
@@ -29002,10 +29028,10 @@ var IconButton = ({
29002
29028
  }) => {
29003
29029
  const [loading, setLoading] = (0, import_react3.useState)(false);
29004
29030
  const ElementType = href ? "a" : "button";
29005
- const el = /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
29031
+ const el = /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
29006
29032
  ElementType,
29007
29033
  {
29008
- className: getClassName2({
29034
+ className: getClassName3({
29009
29035
  primary: variant === "primary",
29010
29036
  secondary: variant === "secondary",
29011
29037
  disabled,
@@ -29026,11 +29052,11 @@ var IconButton = ({
29026
29052
  href,
29027
29053
  title,
29028
29054
  children: [
29029
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: getClassName2("title"), children: title }),
29055
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: getClassName3("title"), children: title }),
29030
29056
  children,
29031
- loading && /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
29057
+ loading && /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
29032
29058
  "\xA0\xA0",
29033
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Loader, { size: 14 })
29059
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Loader, { size: 14 })
29034
29060
  ] })
29035
29061
  ]
29036
29062
  }
@@ -29085,7 +29111,7 @@ var defaultViewports = [
29085
29111
 
29086
29112
  // components/Puck/context.tsx
29087
29113
  var import_ua_parser_js = require("ua-parser-js");
29088
- var import_jsx_runtime3 = require("react/jsx-runtime");
29114
+ var import_jsx_runtime4 = require("react/jsx-runtime");
29089
29115
  var defaultAppState = {
29090
29116
  data: { content: [], root: { props: {} } },
29091
29117
  ui: {
@@ -29125,7 +29151,8 @@ var defaultContext = {
29125
29151
  status: "LOADING",
29126
29152
  setStatus: () => null,
29127
29153
  iframe: {},
29128
- safariFallbackMode: false
29154
+ safariFallbackMode: false,
29155
+ globalPermissions: {}
29129
29156
  };
29130
29157
  var appContext = (0, import_react4.createContext)(defaultContext);
29131
29158
  var AppProvider = ({
@@ -29155,7 +29182,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
29155
29182
  setSafariFallbackMode(true);
29156
29183
  }
29157
29184
  }, []);
29158
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
29185
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
29159
29186
  appContext.Provider,
29160
29187
  {
29161
29188
  value: __spreadProps(__spreadValues({}, value), {
@@ -29186,7 +29213,7 @@ function useAppContext() {
29186
29213
  }
29187
29214
 
29188
29215
  // components/Droppable/index.tsx
29189
- var import_jsx_runtime4 = require("react/jsx-runtime");
29216
+ var import_jsx_runtime5 = require("react/jsx-runtime");
29190
29217
  var defaultProvided = {
29191
29218
  droppableProps: {
29192
29219
  "data-rfd-droppable-context-id": "",
@@ -29201,17 +29228,17 @@ var defaultSnapshot = {
29201
29228
  draggingFromThisWith: null,
29202
29229
  isUsingPlaceholder: false
29203
29230
  };
29204
- var DefaultDroppable = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: children(defaultProvided, defaultSnapshot) });
29231
+ var DefaultDroppable = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_jsx_runtime5.Fragment, { children: children(defaultProvided, defaultSnapshot) });
29205
29232
  var Droppable = (props) => {
29206
29233
  const { status } = useAppContext();
29207
29234
  const El = status !== "LOADING" ? import_dnd.Droppable : DefaultDroppable;
29208
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(El, __spreadValues({}, props));
29235
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(El, __spreadValues({}, props));
29209
29236
  };
29210
29237
 
29211
29238
  // components/Draggable/index.tsx
29212
29239
  init_react_import();
29213
29240
  var import_dnd2 = require("@measured/dnd");
29214
- var import_jsx_runtime5 = require("react/jsx-runtime");
29241
+ var import_jsx_runtime6 = require("react/jsx-runtime");
29215
29242
  var defaultProvided2 = {
29216
29243
  draggableProps: {
29217
29244
  "data-rfd-draggable-context-id": "",
@@ -29235,7 +29262,7 @@ var defaultRubric = {
29235
29262
  type: "",
29236
29263
  source: { droppableId: "", index: 0 }
29237
29264
  };
29238
- var DefaultDraggable = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_jsx_runtime5.Fragment, { children: children(defaultProvided2, defaultSnapshot2, defaultRubric) });
29265
+ var DefaultDraggable = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_jsx_runtime6.Fragment, { children: children(defaultProvided2, defaultSnapshot2, defaultRubric) });
29239
29266
  var Draggable = ({
29240
29267
  className,
29241
29268
  children,
@@ -29247,22 +29274,23 @@ var Draggable = ({
29247
29274
  }) => {
29248
29275
  const { status } = useAppContext();
29249
29276
  const El = status !== "LOADING" ? import_dnd2.Draggable : DefaultDraggable;
29250
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(El, { draggableId: id, index, isDragDisabled, children: (provided, snapshot) => {
29277
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(El, { draggableId: id, index, isDragDisabled, children: (provided, snapshot) => {
29251
29278
  var _a;
29252
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
29253
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
29279
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_jsx_runtime6.Fragment, { children: [
29280
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
29254
29281
  "div",
29255
29282
  __spreadProps(__spreadValues(__spreadValues({
29256
29283
  className: className && className(provided, snapshot),
29257
29284
  ref: provided.innerRef
29258
29285
  }, provided.draggableProps), provided.dragHandleProps), {
29259
29286
  style: __spreadProps(__spreadValues({}, provided.draggableProps.style), {
29260
- transform: snapshot.isDragging || !disableAnimations ? (_a = provided.draggableProps.style) == null ? void 0 : _a.transform : "translate(0px, 0px)"
29287
+ transform: snapshot.isDragging || !disableAnimations ? (_a = provided.draggableProps.style) == null ? void 0 : _a.transform : "translate(0px, 0px)",
29288
+ cursor: isDragDisabled ? "no-drop" : "grab"
29261
29289
  }),
29262
29290
  children: children(provided, snapshot)
29263
29291
  })
29264
29292
  ),
29265
- showShadow && snapshot.isDragging && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
29293
+ showShadow && snapshot.isDragging && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
29266
29294
  "div",
29267
29295
  {
29268
29296
  className: className && className(provided, snapshot),
@@ -29282,28 +29310,28 @@ init_react_import();
29282
29310
 
29283
29311
  // css-module:/home/runner/work/puck/puck/packages/core/components/DragIcon/styles.module.css#css-module
29284
29312
  init_react_import();
29285
- var styles_module_default4 = { "DragIcon": "_DragIcon_1p5wn_1" };
29313
+ var styles_module_default5 = { "DragIcon": "_DragIcon_17p8x_1", "DragIcon--disabled": "_DragIcon--disabled_17p8x_8" };
29286
29314
 
29287
29315
  // components/DragIcon/index.tsx
29288
- var import_jsx_runtime6 = require("react/jsx-runtime");
29289
- var getClassName3 = get_class_name_factory_default("DragIcon", styles_module_default4);
29290
- var DragIcon = () => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: getClassName3(), children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("svg", { viewBox: "0 0 20 20", width: "12", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime6.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" }) }) });
29316
+ var import_jsx_runtime7 = require("react/jsx-runtime");
29317
+ var getClassName4 = get_class_name_factory_default("DragIcon", styles_module_default5);
29318
+ var DragIcon = ({ isDragDisabled }) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: getClassName4({ disabled: isDragDisabled }), children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("svg", { viewBox: "0 0 20 20", width: "12", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime7.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" }) }) });
29291
29319
 
29292
29320
  // components/DragDropContext/index.tsx
29293
29321
  init_react_import();
29294
29322
  var import_dnd3 = require("@measured/dnd");
29295
- var import_jsx_runtime7 = require("react/jsx-runtime");
29296
- var DefaultDragDropContext = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_jsx_runtime7.Fragment, { children });
29323
+ var import_jsx_runtime8 = require("react/jsx-runtime");
29324
+ var DefaultDragDropContext = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_jsx_runtime8.Fragment, { children });
29297
29325
  var DragDropContext = (props) => {
29298
29326
  const { status } = useAppContext();
29299
29327
  const El = status !== "LOADING" ? import_dnd3.DragDropContext : DefaultDragDropContext;
29300
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(El, __spreadValues({}, props));
29328
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(El, __spreadValues({}, props));
29301
29329
  };
29302
29330
 
29303
29331
  // components/AutoField/fields/ArrayField/index.tsx
29304
- var import_jsx_runtime8 = require("react/jsx-runtime");
29305
- var getClassName4 = get_class_name_factory_default("ArrayField", styles_module_default2);
29306
- var getClassNameItem = get_class_name_factory_default("ArrayFieldItem", styles_module_default2);
29332
+ var import_jsx_runtime9 = require("react/jsx-runtime");
29333
+ var getClassName5 = get_class_name_factory_default("ArrayField", styles_module_default3);
29334
+ var getClassNameItem = get_class_name_factory_default("ArrayFieldItem", styles_module_default3);
29307
29335
  var ArrayField = ({
29308
29336
  field,
29309
29337
  onChange,
@@ -29312,7 +29340,7 @@ var ArrayField = ({
29312
29340
  label,
29313
29341
  readOnly,
29314
29342
  id,
29315
- Label = (props) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", __spreadValues({}, props))
29343
+ Label = (props) => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", __spreadValues({}, props))
29316
29344
  }) => {
29317
29345
  const { state, setUi, selectedItem } = useAppContext();
29318
29346
  const readOnlyFields = (selectedItem == null ? void 0 : selectedItem.readOnly) || {};
@@ -29375,14 +29403,14 @@ var ArrayField = ({
29375
29403
  return null;
29376
29404
  }
29377
29405
  const addDisabled = field.max !== void 0 && localState.arrayState.items.length >= field.max || readOnly;
29378
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
29406
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
29379
29407
  Label,
29380
29408
  {
29381
29409
  label: label || name,
29382
- icon: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(List, { size: 16 }),
29410
+ icon: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(List, { size: 16 }),
29383
29411
  el: "div",
29384
29412
  readOnly,
29385
- children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
29413
+ children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
29386
29414
  DragDropContext,
29387
29415
  {
29388
29416
  onDragEnd: (event) => {
@@ -29409,12 +29437,12 @@ var ArrayField = ({
29409
29437
  });
29410
29438
  }
29411
29439
  },
29412
- children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Droppable, { droppableId: "array", isDropDisabled: readOnly, children: (provided, snapshot) => {
29413
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
29440
+ children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Droppable, { droppableId: "array", isDropDisabled: readOnly, children: (provided, snapshot) => {
29441
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
29414
29442
  "div",
29415
29443
  __spreadProps(__spreadValues({}, provided.droppableProps), {
29416
29444
  ref: provided.innerRef,
29417
- className: getClassName4({
29445
+ className: getClassName5({
29418
29446
  isDraggingFrom: !!snapshot.draggingFromThisWith,
29419
29447
  hasItems: Array.isArray(value) && value.length > 0,
29420
29448
  addDisabled
@@ -29431,7 +29459,7 @@ var ArrayField = ({
29431
29459
  localState.arrayState.items.map((item, i) => {
29432
29460
  const { _arrayId = `${id}-${i}`, _originalIndex = i } = item;
29433
29461
  const data = Array.from(localState.value || [])[i] || {};
29434
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
29462
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
29435
29463
  Draggable,
29436
29464
  {
29437
29465
  id: _arrayId,
@@ -29442,8 +29470,8 @@ var ArrayField = ({
29442
29470
  readOnly
29443
29471
  }),
29444
29472
  isDragDisabled: readOnly || !hovering,
29445
- children: () => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
29446
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
29473
+ children: () => /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_jsx_runtime9.Fragment, { children: [
29474
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
29447
29475
  "div",
29448
29476
  {
29449
29477
  onClick: () => {
@@ -29464,8 +29492,8 @@ var ArrayField = ({
29464
29492
  className: getClassNameItem("summary"),
29465
29493
  children: [
29466
29494
  field.getItemSummary ? field.getItemSummary(data, i) : `Item #${_originalIndex}`,
29467
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: getClassNameItem("rhs"), children: [
29468
- !readOnly && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: getClassNameItem("actions"), children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: getClassNameItem("action"), children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
29495
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: getClassNameItem("rhs"), children: [
29496
+ !readOnly && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: getClassNameItem("actions"), children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: getClassNameItem("action"), children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
29469
29497
  IconButton,
29470
29498
  {
29471
29499
  type: "button",
@@ -29488,20 +29516,20 @@ var ArrayField = ({
29488
29516
  );
29489
29517
  },
29490
29518
  title: "Delete",
29491
- children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Trash, { size: 16 })
29519
+ children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Trash, { size: 16 })
29492
29520
  }
29493
29521
  ) }) }),
29494
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(DragIcon, {}) })
29522
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(DragIcon, {}) })
29495
29523
  ] })
29496
29524
  ]
29497
29525
  }
29498
29526
  ),
29499
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: getClassNameItem("body"), children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("fieldset", { className: getClassNameItem("fieldset"), children: Object.keys(field.arrayFields).map(
29527
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: getClassNameItem("body"), children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("fieldset", { className: getClassNameItem("fieldset"), children: Object.keys(field.arrayFields).map(
29500
29528
  (fieldName) => {
29501
29529
  const subField = field.arrayFields[fieldName];
29502
29530
  const subFieldName = `${name}[${i}].${fieldName}`;
29503
29531
  const wildcardFieldName = `${name}[*].${fieldName}`;
29504
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
29532
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
29505
29533
  AutoFieldPrivate,
29506
29534
  {
29507
29535
  name: subFieldName,
@@ -29529,11 +29557,11 @@ var ArrayField = ({
29529
29557
  );
29530
29558
  }),
29531
29559
  provided.placeholder,
29532
- !addDisabled && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
29560
+ !addDisabled && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
29533
29561
  "button",
29534
29562
  {
29535
29563
  type: "button",
29536
- className: getClassName4("addButton"),
29564
+ className: getClassName5("addButton"),
29537
29565
  onClick: () => {
29538
29566
  const existingValue = value || [];
29539
29567
  const newValue = [
@@ -29543,7 +29571,7 @@ var ArrayField = ({
29543
29571
  const newArrayState = regenerateArrayState(newValue);
29544
29572
  onChange(newValue, mapArrayStateToUi(newArrayState));
29545
29573
  },
29546
- children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Plus, { size: 21 })
29574
+ children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Plus, { size: 21 })
29547
29575
  }
29548
29576
  )
29549
29577
  ]
@@ -29558,8 +29586,8 @@ var ArrayField = ({
29558
29586
 
29559
29587
  // components/AutoField/fields/DefaultField/index.tsx
29560
29588
  init_react_import();
29561
- var import_jsx_runtime9 = require("react/jsx-runtime");
29562
- var getClassName5 = get_class_name_factory_default("Input", styles_module_default);
29589
+ var import_jsx_runtime10 = require("react/jsx-runtime");
29590
+ var getClassName6 = get_class_name_factory_default("Input", styles_module_default2);
29563
29591
  var DefaultField = ({
29564
29592
  field,
29565
29593
  onChange,
@@ -29570,19 +29598,19 @@ var DefaultField = ({
29570
29598
  Label,
29571
29599
  id
29572
29600
  }) => {
29573
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
29601
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
29574
29602
  Label,
29575
29603
  {
29576
29604
  label: label || name,
29577
- icon: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_jsx_runtime9.Fragment, { children: [
29578
- field.type === "text" && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Type, { size: 16 }),
29579
- field.type === "number" && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Hash, { size: 16 })
29605
+ icon: /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_jsx_runtime10.Fragment, { children: [
29606
+ field.type === "text" && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Type, { size: 16 }),
29607
+ field.type === "number" && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Hash, { size: 16 })
29580
29608
  ] }),
29581
29609
  readOnly,
29582
- children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
29610
+ children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
29583
29611
  "input",
29584
29612
  {
29585
- className: getClassName5("input"),
29613
+ className: getClassName6("input"),
29586
29614
  autoComplete: "off",
29587
29615
  type: field.type,
29588
29616
  name,
@@ -29615,7 +29643,7 @@ var import_react8 = require("react");
29615
29643
 
29616
29644
  // css-module:/home/runner/work/puck/puck/packages/core/components/ExternalInput/styles.module.css#css-module
29617
29645
  init_react_import();
29618
- var styles_module_default5 = { "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" };
29646
+ 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" };
29619
29647
 
29620
29648
  // components/Modal/index.tsx
29621
29649
  init_react_import();
@@ -29623,12 +29651,12 @@ var import_react6 = require("react");
29623
29651
 
29624
29652
  // css-module:/home/runner/work/puck/puck/packages/core/components/Modal/styles.module.css#css-module
29625
29653
  init_react_import();
29626
- var styles_module_default6 = { "Modal": "_Modal_ikbaj_1", "Modal--isOpen": "_Modal--isOpen_ikbaj_15", "Modal-inner": "_Modal-inner_ikbaj_19" };
29654
+ var styles_module_default7 = { "Modal": "_Modal_ikbaj_1", "Modal--isOpen": "_Modal--isOpen_ikbaj_15", "Modal-inner": "_Modal-inner_ikbaj_19" };
29627
29655
 
29628
29656
  // components/Modal/index.tsx
29629
29657
  var import_react_dom = __toESM(require_react_dom());
29630
- var import_jsx_runtime10 = require("react/jsx-runtime");
29631
- var getClassName6 = get_class_name_factory_default("Modal", styles_module_default6);
29658
+ var import_jsx_runtime11 = require("react/jsx-runtime");
29659
+ var getClassName7 = get_class_name_factory_default("Modal", styles_module_default7);
29632
29660
  var Modal = ({
29633
29661
  children,
29634
29662
  onClose,
@@ -29639,13 +29667,13 @@ var Modal = ({
29639
29667
  setRootEl(document.getElementById("puck-portal-root"));
29640
29668
  }, []);
29641
29669
  if (!rootEl) {
29642
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", {});
29670
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", {});
29643
29671
  }
29644
29672
  return (0, import_react_dom.createPortal)(
29645
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: getClassName6({ isOpen }), onClick: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
29673
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: getClassName7({ isOpen }), onClick: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
29646
29674
  "div",
29647
29675
  {
29648
- className: getClassName6("inner"),
29676
+ className: getClassName7("inner"),
29649
29677
  onClick: (e) => e.stopPropagation(),
29650
29678
  children
29651
29679
  }
@@ -29659,17 +29687,17 @@ init_react_import();
29659
29687
 
29660
29688
  // css-module:/home/runner/work/puck/puck/packages/core/components/Heading/styles.module.css#css-module
29661
29689
  init_react_import();
29662
- 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" };
29690
+ 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" };
29663
29691
 
29664
29692
  // components/Heading/index.tsx
29665
- var import_jsx_runtime11 = require("react/jsx-runtime");
29666
- var getClassName7 = get_class_name_factory_default("Heading", styles_module_default7);
29693
+ var import_jsx_runtime12 = require("react/jsx-runtime");
29694
+ var getClassName8 = get_class_name_factory_default("Heading", styles_module_default8);
29667
29695
  var Heading = ({ children, rank, size = "m" }) => {
29668
29696
  const Tag = rank ? `h${rank}` : "span";
29669
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
29697
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
29670
29698
  Tag,
29671
29699
  {
29672
- className: getClassName7({
29700
+ className: getClassName8({
29673
29701
  [size]: true
29674
29702
  }),
29675
29703
  children
@@ -29689,8 +29717,8 @@ init_react_import();
29689
29717
  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" };
29690
29718
 
29691
29719
  // components/Button/Button.tsx
29692
- var import_jsx_runtime12 = require("react/jsx-runtime");
29693
- var getClassName8 = get_class_name_factory_default("Button", Button_module_default);
29720
+ var import_jsx_runtime13 = require("react/jsx-runtime");
29721
+ var getClassName9 = get_class_name_factory_default("Button", Button_module_default);
29694
29722
  var Button = ({
29695
29723
  children,
29696
29724
  href,
@@ -29708,10 +29736,10 @@ var Button = ({
29708
29736
  const [loading, setLoading] = (0, import_react7.useState)(loadingProp);
29709
29737
  (0, import_react7.useEffect)(() => setLoading(loadingProp), [loadingProp]);
29710
29738
  const ElementType = href ? "a" : type ? "button" : "span";
29711
- const el = /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
29739
+ const el = /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
29712
29740
  ElementType,
29713
29741
  {
29714
- className: getClassName8({
29742
+ className: getClassName9({
29715
29743
  primary: variant === "primary",
29716
29744
  secondary: variant === "secondary",
29717
29745
  disabled,
@@ -29732,9 +29760,9 @@ var Button = ({
29732
29760
  rel: newTab ? "noreferrer" : void 0,
29733
29761
  href,
29734
29762
  children: [
29735
- icon && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: getClassName8("icon"), children: icon }),
29763
+ icon && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: getClassName9("icon"), children: icon }),
29736
29764
  children,
29737
- loading && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: getClassName8("spinner"), children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Loader, { size: 14 }) })
29765
+ loading && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: getClassName9("spinner"), children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Loader, { size: 14 }) })
29738
29766
  ]
29739
29767
  }
29740
29768
  );
@@ -29742,9 +29770,9 @@ var Button = ({
29742
29770
  };
29743
29771
 
29744
29772
  // components/ExternalInput/index.tsx
29745
- var import_jsx_runtime13 = require("react/jsx-runtime");
29746
- var getClassName9 = get_class_name_factory_default("ExternalInput", styles_module_default5);
29747
- var getClassNameModal = get_class_name_factory_default("ExternalInputModal", styles_module_default5);
29773
+ var import_jsx_runtime14 = require("react/jsx-runtime");
29774
+ var getClassName10 = get_class_name_factory_default("ExternalInput", styles_module_default6);
29775
+ var getClassNameModal = get_class_name_factory_default("ExternalInputModal", styles_module_default6);
29748
29776
  var dataCache = {};
29749
29777
  var ExternalInput = ({
29750
29778
  field,
@@ -29795,40 +29823,40 @@ var ExternalInput = ({
29795
29823
  (0, import_react8.useEffect)(() => {
29796
29824
  search(searchQuery, filters);
29797
29825
  }, []);
29798
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
29826
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
29799
29827
  "div",
29800
29828
  {
29801
- className: getClassName9({
29829
+ className: getClassName10({
29802
29830
  dataSelected: !!value,
29803
29831
  modalVisible: isOpen
29804
29832
  }),
29805
29833
  id,
29806
29834
  children: [
29807
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: getClassName9("actions"), children: [
29808
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
29835
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: getClassName10("actions"), children: [
29836
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
29809
29837
  "button",
29810
29838
  {
29811
29839
  type: "button",
29812
29840
  onClick: () => setOpen(true),
29813
- className: getClassName9("button"),
29814
- children: value ? field.getItemSummary ? field.getItemSummary(value) : "External item" : /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
29815
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Link, { size: "16" }),
29816
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { children: field.placeholder })
29841
+ className: getClassName10("button"),
29842
+ children: value ? field.getItemSummary ? field.getItemSummary(value) : "External item" : /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_jsx_runtime14.Fragment, { children: [
29843
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Link, { size: "16" }),
29844
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { children: field.placeholder })
29817
29845
  ] })
29818
29846
  }
29819
29847
  ),
29820
- value && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
29848
+ value && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
29821
29849
  "button",
29822
29850
  {
29823
- className: getClassName9("detachButton"),
29851
+ className: getClassName10("detachButton"),
29824
29852
  onClick: () => {
29825
29853
  onChange(null);
29826
29854
  },
29827
- children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Unlock, { size: 16 })
29855
+ children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Unlock, { size: 16 })
29828
29856
  }
29829
29857
  )
29830
29858
  ] }),
29831
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Modal, { onClose: () => setOpen(false), isOpen, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
29859
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Modal, { onClose: () => setOpen(false), isOpen, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
29832
29860
  "form",
29833
29861
  {
29834
29862
  className: getClassNameModal({
@@ -29842,11 +29870,11 @@ var ExternalInput = ({
29842
29870
  search(searchQuery, filters);
29843
29871
  },
29844
29872
  children: [
29845
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: getClassNameModal("masthead"), children: field.showSearch ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: getClassNameModal("searchForm"), children: [
29846
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("label", { className: getClassNameModal("search"), children: [
29847
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: getClassNameModal("searchIconText"), children: "Search" }),
29848
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: getClassNameModal("searchIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Search, { size: "18" }) }),
29849
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
29873
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: getClassNameModal("masthead"), children: field.showSearch ? /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: getClassNameModal("searchForm"), children: [
29874
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("label", { className: getClassNameModal("search"), children: [
29875
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: getClassNameModal("searchIconText"), children: "Search" }),
29876
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: getClassNameModal("searchIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Search, { size: "18" }) }),
29877
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
29850
29878
  "input",
29851
29879
  {
29852
29880
  className: getClassNameModal("searchInput"),
@@ -29861,9 +29889,9 @@ var ExternalInput = ({
29861
29889
  }
29862
29890
  )
29863
29891
  ] }),
29864
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: getClassNameModal("searchActions"), children: [
29865
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Button, { type: "submit", loading: isLoading, fullWidth: true, children: "Search" }),
29866
- hasFilterFields && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: getClassNameModal("searchActionIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
29892
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: getClassNameModal("searchActions"), children: [
29893
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Button, { type: "submit", loading: isLoading, fullWidth: true, children: "Search" }),
29894
+ hasFilterFields && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: getClassNameModal("searchActionIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
29867
29895
  IconButton,
29868
29896
  {
29869
29897
  title: "Toggle filters",
@@ -29872,15 +29900,15 @@ var ExternalInput = ({
29872
29900
  e.stopPropagation();
29873
29901
  setFiltersToggled(!filtersToggled);
29874
29902
  },
29875
- children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(SlidersHorizontal, { size: 20 })
29903
+ children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(SlidersHorizontal, { size: 20 })
29876
29904
  }
29877
29905
  ) })
29878
29906
  ] })
29879
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Heading, { rank: 2, size: "xs", children: field.placeholder || "Select data" }) }),
29880
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: getClassNameModal("grid"), children: [
29881
- hasFilterFields && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: getClassNameModal("filters"), children: hasFilterFields && Object.keys(filterFields).map((fieldName) => {
29907
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Heading, { rank: 2, size: "xs", children: field.placeholder || "Select data" }) }),
29908
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: getClassNameModal("grid"), children: [
29909
+ hasFilterFields && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: getClassNameModal("filters"), children: hasFilterFields && Object.keys(filterFields).map((fieldName) => {
29882
29910
  const filterField = filterFields[fieldName];
29883
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
29911
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
29884
29912
  AutoFieldPrivate,
29885
29913
  {
29886
29914
  field: filterField,
@@ -29897,9 +29925,9 @@ var ExternalInput = ({
29897
29925
  fieldName
29898
29926
  );
29899
29927
  }) }),
29900
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: getClassNameModal("tableWrapper"), children: [
29901
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("table", { className: getClassNameModal("table"), children: [
29902
- /* @__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)(
29928
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: getClassNameModal("tableWrapper"), children: [
29929
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("table", { className: getClassNameModal("table"), children: [
29930
+ /* @__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)(
29903
29931
  "th",
29904
29932
  {
29905
29933
  className: getClassNameModal("th"),
@@ -29908,8 +29936,8 @@ var ExternalInput = ({
29908
29936
  },
29909
29937
  key
29910
29938
  )) }) }),
29911
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("tbody", { className: getClassNameModal("tbody"), children: mappedData.map((item, i) => {
29912
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
29939
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("tbody", { className: getClassNameModal("tbody"), children: mappedData.map((item, i) => {
29940
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
29913
29941
  "tr",
29914
29942
  {
29915
29943
  style: { whiteSpace: "nowrap" },
@@ -29918,16 +29946,16 @@ var ExternalInput = ({
29918
29946
  onChange(mapProp(data[i]));
29919
29947
  setOpen(false);
29920
29948
  },
29921
- children: keys.map((key) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("td", { className: getClassNameModal("td"), children: item[key] }, key))
29949
+ children: keys.map((key) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("td", { className: getClassNameModal("td"), children: item[key] }, key))
29922
29950
  },
29923
29951
  i
29924
29952
  );
29925
29953
  }) })
29926
29954
  ] }),
29927
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: getClassNameModal("loadingBanner"), children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Loader, { size: 24 }) })
29955
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: getClassNameModal("loadingBanner"), children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Loader, { size: 24 }) })
29928
29956
  ] })
29929
29957
  ] }),
29930
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: getClassNameModal("footer"), children: [
29958
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: getClassNameModal("footer"), children: [
29931
29959
  mappedData.length,
29932
29960
  " result",
29933
29961
  mappedData.length === 1 ? "" : "s"
@@ -29941,7 +29969,7 @@ var ExternalInput = ({
29941
29969
  };
29942
29970
 
29943
29971
  // components/AutoField/fields/ExternalField/index.tsx
29944
- var import_jsx_runtime14 = require("react/jsx-runtime");
29972
+ var import_jsx_runtime15 = require("react/jsx-runtime");
29945
29973
  var ExternalField = ({
29946
29974
  field,
29947
29975
  onChange,
@@ -29964,7 +29992,7 @@ var ExternalField = ({
29964
29992
  if (field.type !== "external") {
29965
29993
  return null;
29966
29994
  }
29967
- 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)(
29995
+ 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)(
29968
29996
  ExternalInput,
29969
29997
  {
29970
29998
  name,
@@ -29988,8 +30016,8 @@ var ExternalField = ({
29988
30016
 
29989
30017
  // components/AutoField/fields/RadioField/index.tsx
29990
30018
  init_react_import();
29991
- var import_jsx_runtime15 = require("react/jsx-runtime");
29992
- var getClassName10 = get_class_name_factory_default("Input", styles_module_default);
30019
+ var import_jsx_runtime16 = require("react/jsx-runtime");
30020
+ var getClassName11 = get_class_name_factory_default("Input", styles_module_default2);
29993
30021
  var RadioField = ({
29994
30022
  field,
29995
30023
  onChange,
@@ -30003,23 +30031,23 @@ var RadioField = ({
30003
30031
  if (field.type !== "radio" || !field.options) {
30004
30032
  return null;
30005
30033
  }
30006
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
30034
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
30007
30035
  Label,
30008
30036
  {
30009
- icon: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(CheckCircle, { size: 16 }),
30037
+ icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(CheckCircle, { size: 16 }),
30010
30038
  label: label || name,
30011
30039
  readOnly,
30012
30040
  el: "div",
30013
- children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: getClassName10("radioGroupItems"), id, children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
30041
+ children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: getClassName11("radioGroupItems"), id, children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
30014
30042
  "label",
30015
30043
  {
30016
- className: getClassName10("radio"),
30044
+ className: getClassName11("radio"),
30017
30045
  children: [
30018
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
30046
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
30019
30047
  "input",
30020
30048
  {
30021
30049
  type: "radio",
30022
- className: getClassName10("radioInput"),
30050
+ className: getClassName11("radioInput"),
30023
30051
  value: option.value,
30024
30052
  name,
30025
30053
  onChange: (e) => {
@@ -30033,7 +30061,7 @@ var RadioField = ({
30033
30061
  checked: value === option.value
30034
30062
  }
30035
30063
  ),
30036
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: getClassName10("radioInner"), children: option.label || option.value })
30064
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: getClassName11("radioInner"), children: option.label || option.value })
30037
30065
  ]
30038
30066
  },
30039
30067
  option.label + option.value
@@ -30044,8 +30072,8 @@ var RadioField = ({
30044
30072
 
30045
30073
  // components/AutoField/fields/SelectField/index.tsx
30046
30074
  init_react_import();
30047
- var import_jsx_runtime16 = require("react/jsx-runtime");
30048
- var getClassName11 = get_class_name_factory_default("Input", styles_module_default);
30075
+ var import_jsx_runtime17 = require("react/jsx-runtime");
30076
+ var getClassName12 = get_class_name_factory_default("Input", styles_module_default2);
30049
30077
  var SelectField = ({
30050
30078
  field,
30051
30079
  onChange,
@@ -30059,17 +30087,17 @@ var SelectField = ({
30059
30087
  if (field.type !== "select" || !field.options) {
30060
30088
  return null;
30061
30089
  }
30062
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
30090
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
30063
30091
  Label,
30064
30092
  {
30065
30093
  label: label || name,
30066
- icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(ChevronDown, { size: 16 }),
30094
+ icon: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ChevronDown, { size: 16 }),
30067
30095
  readOnly,
30068
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
30096
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
30069
30097
  "select",
30070
30098
  {
30071
30099
  id,
30072
- className: getClassName11("input"),
30100
+ className: getClassName12("input"),
30073
30101
  disabled: readOnly,
30074
30102
  onChange: (e) => {
30075
30103
  if (e.currentTarget.value === "true" || e.currentTarget.value === "false") {
@@ -30079,7 +30107,7 @@ var SelectField = ({
30079
30107
  onChange(e.currentTarget.value);
30080
30108
  },
30081
30109
  value,
30082
- children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
30110
+ children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
30083
30111
  "option",
30084
30112
  {
30085
30113
  label: option.label,
@@ -30095,8 +30123,8 @@ var SelectField = ({
30095
30123
 
30096
30124
  // components/AutoField/fields/TextareaField/index.tsx
30097
30125
  init_react_import();
30098
- var import_jsx_runtime17 = require("react/jsx-runtime");
30099
- var getClassName12 = get_class_name_factory_default("Input", styles_module_default);
30126
+ var import_jsx_runtime18 = require("react/jsx-runtime");
30127
+ var getClassName13 = get_class_name_factory_default("Input", styles_module_default2);
30100
30128
  var TextareaField = ({
30101
30129
  onChange,
30102
30130
  readOnly,
@@ -30106,11 +30134,11 @@ var TextareaField = ({
30106
30134
  Label,
30107
30135
  id
30108
30136
  }) => {
30109
- 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)(
30137
+ 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)(
30110
30138
  "textarea",
30111
30139
  {
30112
30140
  id,
30113
- className: getClassName12("input"),
30141
+ className: getClassName13("input"),
30114
30142
  autoComplete: "off",
30115
30143
  name,
30116
30144
  value: typeof value === "undefined" ? "" : value,
@@ -30130,11 +30158,11 @@ init_react_import();
30130
30158
 
30131
30159
  // css-module:/home/runner/work/puck/puck/packages/core/components/AutoField/fields/ObjectField/styles.module.css#css-module
30132
30160
  init_react_import();
30133
- var styles_module_default8 = { "ObjectField": "_ObjectField_1ua3y_5", "ObjectField-fieldset": "_ObjectField-fieldset_1ua3y_13" };
30161
+ var styles_module_default9 = { "ObjectField": "_ObjectField_1ua3y_5", "ObjectField-fieldset": "_ObjectField-fieldset_1ua3y_13" };
30134
30162
 
30135
30163
  // components/AutoField/fields/ObjectField/index.tsx
30136
- var import_jsx_runtime18 = require("react/jsx-runtime");
30137
- var getClassName13 = get_class_name_factory_default("ObjectField", styles_module_default8);
30164
+ var import_jsx_runtime19 = require("react/jsx-runtime");
30165
+ var getClassName14 = get_class_name_factory_default("ObjectField", styles_module_default9);
30138
30166
  var ObjectField = ({
30139
30167
  field,
30140
30168
  onChange,
@@ -30151,18 +30179,18 @@ var ObjectField = ({
30151
30179
  }
30152
30180
  const readOnlyFields = (selectedItem == null ? void 0 : selectedItem.readOnly) || {};
30153
30181
  const data = value || {};
30154
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
30182
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
30155
30183
  Label,
30156
30184
  {
30157
30185
  label: label || name,
30158
- icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(MoreVertical, { size: 16 }),
30186
+ icon: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(MoreVertical, { size: 16 }),
30159
30187
  el: "div",
30160
30188
  readOnly,
30161
- 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) => {
30189
+ 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) => {
30162
30190
  const subField = field.objectFields[fieldName];
30163
30191
  const subFieldName = `${name}.${fieldName}`;
30164
30192
  const wildcardFieldName = `${name}.${fieldName}`;
30165
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
30193
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
30166
30194
  AutoFieldPrivate,
30167
30195
  {
30168
30196
  name: subFieldName,
@@ -30206,8 +30234,8 @@ var useSafeId = () => {
30206
30234
  };
30207
30235
 
30208
30236
  // components/AutoField/index.tsx
30209
- var import_jsx_runtime19 = require("react/jsx-runtime");
30210
- var getClassName14 = get_class_name_factory_default("Input", styles_module_default);
30237
+ var import_jsx_runtime20 = require("react/jsx-runtime");
30238
+ var getClassName15 = get_class_name_factory_default("Input", styles_module_default2);
30211
30239
  var FieldLabel = ({
30212
30240
  children,
30213
30241
  icon,
@@ -30217,11 +30245,11 @@ var FieldLabel = ({
30217
30245
  className
30218
30246
  }) => {
30219
30247
  const El = el;
30220
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(El, { className, children: [
30221
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: getClassName14("label"), children: [
30222
- icon ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: getClassName14("labelIcon"), children: icon }) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_jsx_runtime19.Fragment, {}),
30248
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(El, { className, children: [
30249
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: getClassName15("label"), children: [
30250
+ icon ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassName15("labelIcon"), children: icon }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_jsx_runtime20.Fragment, {}),
30223
30251
  label,
30224
- readOnly && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: getClassName14("disabledIcon"), title: "Read-only", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Lock, { size: "12" }) })
30252
+ readOnly && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassName15("disabledIcon"), title: "Read-only", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Lock, { size: "12" }) })
30225
30253
  ] }),
30226
30254
  children
30227
30255
  ] });
@@ -30239,14 +30267,14 @@ var FieldLabelInternal2 = ({
30239
30267
  [overrides]
30240
30268
  );
30241
30269
  if (!label) {
30242
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_jsx_runtime19.Fragment, { children });
30270
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_jsx_runtime20.Fragment, { children });
30243
30271
  }
30244
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
30272
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
30245
30273
  Wrapper,
30246
30274
  {
30247
30275
  label,
30248
30276
  icon,
30249
- className: getClassName14({ readOnly }),
30277
+ className: getClassName15({ readOnly }),
30250
30278
  readOnly,
30251
30279
  el,
30252
30280
  children
@@ -30290,11 +30318,11 @@ function AutoFieldInternal(props) {
30290
30318
  return null;
30291
30319
  }
30292
30320
  const CustomField = field.render;
30293
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: getClassName14(), children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(CustomField, __spreadValues({}, mergedProps)) });
30321
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassName15(), children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(CustomField, __spreadValues({}, mergedProps)) });
30294
30322
  }
30295
30323
  const children = defaultFields[field.type](mergedProps);
30296
30324
  const Render2 = render[field.type];
30297
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Render2, __spreadProps(__spreadValues({}, mergedProps), { children }));
30325
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Render2, __spreadProps(__spreadValues({}, mergedProps), { children }));
30298
30326
  }
30299
30327
  function AutoFieldPrivate(props) {
30300
30328
  const { value, onChange } = props;
@@ -30317,11 +30345,11 @@ function AutoFieldPrivate(props) {
30317
30345
  value: localValue,
30318
30346
  onChange: onChangeLocal
30319
30347
  };
30320
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(AutoFieldInternal, __spreadValues(__spreadValues({}, props), localProps));
30348
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(AutoFieldInternal, __spreadValues(__spreadValues({}, props), localProps));
30321
30349
  }
30322
- var DefaultLabel = (props) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", __spreadValues({}, props));
30350
+ var DefaultLabel = (props) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", __spreadValues({}, props));
30323
30351
  function AutoField(props) {
30324
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(AutoFieldInternal, __spreadProps(__spreadValues({}, props), { Label: DefaultLabel }));
30352
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(AutoFieldInternal, __spreadProps(__spreadValues({}, props), { Label: DefaultLabel }));
30325
30353
  }
30326
30354
 
30327
30355
  // components/Drawer/index.tsx
@@ -30329,49 +30357,62 @@ init_react_import();
30329
30357
 
30330
30358
  // css-module:/home/runner/work/puck/puck/packages/core/components/Drawer/styles.module.css#css-module
30331
30359
  init_react_import();
30332
- 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" };
30360
+ 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" };
30333
30361
 
30334
30362
  // components/Drawer/index.tsx
30335
30363
  var import_react12 = require("react");
30336
- var import_jsx_runtime20 = require("react/jsx-runtime");
30337
- var getClassName15 = get_class_name_factory_default("Drawer", styles_module_default9);
30338
- var getClassNameItem2 = get_class_name_factory_default("DrawerItem", styles_module_default9);
30364
+ var import_jsx_runtime21 = require("react/jsx-runtime");
30365
+ var getClassName16 = get_class_name_factory_default("Drawer", styles_module_default10);
30366
+ var getClassNameItem2 = get_class_name_factory_default("DrawerItem", styles_module_default10);
30339
30367
  var drawerContext = (0, import_react12.createContext)({
30340
30368
  droppableId: ""
30341
30369
  });
30342
30370
  var DrawerDraggable = ({
30343
30371
  children,
30344
30372
  id,
30345
- index
30346
- }) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
30347
- Draggable,
30348
- {
30349
- id,
30350
- index,
30351
- showShadow: true,
30352
- disableAnimations: true,
30353
- className: () => getClassNameItem2(),
30354
- children: () => children
30355
- },
30356
- id
30357
- );
30373
+ index,
30374
+ isDragDisabled
30375
+ }) => {
30376
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
30377
+ Draggable,
30378
+ {
30379
+ id,
30380
+ index,
30381
+ isDragDisabled,
30382
+ showShadow: true,
30383
+ disableAnimations: true,
30384
+ className: () => getClassNameItem2({ disabled: isDragDisabled }),
30385
+ children: () => children
30386
+ },
30387
+ id
30388
+ );
30389
+ };
30358
30390
  var DrawerItem = ({
30359
30391
  name,
30360
30392
  children,
30361
30393
  id,
30362
30394
  label,
30363
- index
30395
+ index,
30396
+ isDragDisabled
30364
30397
  }) => {
30365
30398
  const ctx = (0, import_react12.useContext)(drawerContext);
30366
30399
  const resolvedId = `${ctx.droppableId}::${id || name}`;
30367
30400
  const CustomInner = (0, import_react12.useMemo)(
30368
- () => children || (({ children: children2, name: name2 }) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassNameItem2("default"), children: children2 })),
30401
+ () => children || (({ children: children2, name: name2 }) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassNameItem2("default"), children: children2 })),
30369
30402
  [children]
30370
30403
  );
30371
- 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: getClassNameItem2("draggableWrapper"), children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: getClassNameItem2("draggable"), children: [
30372
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassNameItem2("name"), children: label != null ? label : name }),
30373
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassNameItem2("icon"), children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DragIcon, {}) })
30374
- ] }) }) }) });
30404
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
30405
+ DrawerDraggable,
30406
+ {
30407
+ id: resolvedId,
30408
+ index,
30409
+ isDragDisabled,
30410
+ children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(CustomInner, { name, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassNameItem2("draggableWrapper"), children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: getClassNameItem2("draggable"), children: [
30411
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassNameItem2("name"), children: label != null ? label : name }),
30412
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassNameItem2("icon"), children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DragIcon, { isDragDisabled }) })
30413
+ ] }) }) })
30414
+ }
30415
+ );
30375
30416
  };
30376
30417
  var Drawer = ({
30377
30418
  children,
@@ -30379,16 +30420,16 @@ var Drawer = ({
30379
30420
  direction = "vertical"
30380
30421
  }) => {
30381
30422
  const droppableId = `component-list:${_droppableId}`;
30382
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(drawerContext.Provider, { value: { droppableId }, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Droppable, { droppableId, isDropDisabled: true, direction, children: (provided, snapshot) => /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
30423
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(drawerContext.Provider, { value: { droppableId }, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Droppable, { droppableId, isDropDisabled: true, direction, children: (provided, snapshot) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
30383
30424
  "div",
30384
30425
  __spreadProps(__spreadValues({}, provided.droppableProps), {
30385
30426
  ref: provided.innerRef,
30386
- className: getClassName15({
30427
+ className: getClassName16({
30387
30428
  isDraggingFrom: !!snapshot.draggingFromThisWith
30388
30429
  }),
30389
30430
  children: [
30390
30431
  children,
30391
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { style: { display: "none" }, children: provided.placeholder })
30432
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { style: { display: "none" }, children: provided.placeholder })
30392
30433
  ]
30393
30434
  })
30394
30435
  ) }) });
@@ -30397,16 +30438,16 @@ Drawer.Item = DrawerItem;
30397
30438
 
30398
30439
  // components/DropZone/index.tsx
30399
30440
  init_react_import();
30400
- var import_react16 = require("react");
30441
+ var import_react17 = require("react");
30401
30442
 
30402
30443
  // components/DraggableComponent/index.tsx
30403
30444
  init_react_import();
30404
- var import_react14 = require("react");
30445
+ var import_react15 = require("react");
30405
30446
  var import_dnd4 = require("@measured/dnd");
30406
30447
 
30407
30448
  // css-module:/home/runner/work/puck/puck/packages/core/components/DraggableComponent/styles.module.css#css-module
30408
30449
  init_react_import();
30409
- 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" };
30450
+ 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" };
30410
30451
 
30411
30452
  // lib/use-modifier-held.ts
30412
30453
  init_react_import();
@@ -30446,13 +30487,92 @@ var isIos = () => [
30446
30487
  ].includes(navigator.platform) || // iPad on iOS 13 detection
30447
30488
  navigator.userAgent.includes("Mac") && "ontouchend" in document;
30448
30489
 
30490
+ // components/DefaultOverride/index.tsx
30491
+ init_react_import();
30492
+ var import_jsx_runtime22 = require("react/jsx-runtime");
30493
+ var DefaultOverride = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_jsx_runtime22.Fragment, { children });
30494
+
30495
+ // lib/use-loaded-overrides.ts
30496
+ init_react_import();
30497
+ var import_react14 = require("react");
30498
+
30499
+ // lib/load-overrides.ts
30500
+ init_react_import();
30501
+ var loadOverrides = ({
30502
+ overrides,
30503
+ plugins
30504
+ }) => {
30505
+ const collected = __spreadValues({}, overrides);
30506
+ plugins.forEach((plugin) => {
30507
+ Object.keys(plugin.overrides).forEach((overridesType) => {
30508
+ if (overridesType === "fieldTypes") {
30509
+ const fieldTypes = plugin.overrides.fieldTypes;
30510
+ Object.keys(fieldTypes).forEach((fieldType) => {
30511
+ collected.fieldTypes = collected.fieldTypes || {};
30512
+ const childNode2 = collected.fieldTypes[fieldType];
30513
+ const Comp2 = (props) => fieldTypes[fieldType](__spreadProps(__spreadValues({}, props), {
30514
+ children: childNode2 ? childNode2(props) : props.children
30515
+ }));
30516
+ collected.fieldTypes[fieldType] = Comp2;
30517
+ });
30518
+ return;
30519
+ }
30520
+ const childNode = collected[overridesType];
30521
+ const Comp = (props) => plugin.overrides[overridesType](__spreadProps(__spreadValues({}, props), {
30522
+ children: childNode ? childNode(props) : props.children
30523
+ }));
30524
+ collected[overridesType] = Comp;
30525
+ });
30526
+ });
30527
+ return collected;
30528
+ };
30529
+
30530
+ // lib/use-loaded-overrides.ts
30531
+ var useLoadedOverrides = ({
30532
+ overrides,
30533
+ plugins
30534
+ }) => {
30535
+ return (0, import_react14.useMemo)(() => {
30536
+ return loadOverrides({ overrides, plugins });
30537
+ }, [plugins, overrides]);
30538
+ };
30539
+
30540
+ // lib/get-permissions.ts
30541
+ init_react_import();
30542
+ var getPermissions = ({
30543
+ selectedItem,
30544
+ type,
30545
+ globalPermissions,
30546
+ config
30547
+ }) => {
30548
+ const componentType = type || selectedItem && selectedItem.type || "";
30549
+ let componentPermissions = getInitialPermissions({
30550
+ componentType,
30551
+ config,
30552
+ globalPermissions
30553
+ });
30554
+ return componentPermissions;
30555
+ };
30556
+ var getInitialPermissions = ({
30557
+ componentType,
30558
+ globalPermissions,
30559
+ config
30560
+ }) => {
30561
+ var _a;
30562
+ return __spreadValues(__spreadValues({}, globalPermissions), (_a = config.components[componentType]) == null ? void 0 : _a.permissions);
30563
+ };
30564
+
30449
30565
  // components/DraggableComponent/index.tsx
30450
- var import_jsx_runtime21 = require("react/jsx-runtime");
30451
- var getClassName16 = get_class_name_factory_default("DraggableComponent", styles_module_default10);
30566
+ var import_jsx_runtime23 = require("react/jsx-runtime");
30567
+ var getClassName17 = get_class_name_factory_default("DraggableComponent", styles_module_default11);
30452
30568
  var space = 8;
30453
30569
  var actionsOverlayTop = space * 6.5;
30454
30570
  var actionsTop = -(actionsOverlayTop - 8);
30455
30571
  var actionsRight = space;
30572
+ var DefaultActionBar = ({
30573
+ label,
30574
+ children
30575
+ }) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(ActionBar, { label, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DefaultOverride, { children }) });
30456
30576
  var DraggableComponent = ({
30457
30577
  children,
30458
30578
  id,
@@ -30475,30 +30595,50 @@ var DraggableComponent = ({
30475
30595
  indicativeHover = false,
30476
30596
  style
30477
30597
  }) => {
30478
- const { zoomConfig } = useAppContext();
30598
+ const {
30599
+ zoomConfig,
30600
+ status,
30601
+ overrides,
30602
+ plugins,
30603
+ selectedItem,
30604
+ config,
30605
+ globalPermissions
30606
+ } = useAppContext();
30479
30607
  const isModifierHeld = useModifierHeld("Alt");
30480
- const { status } = useAppContext();
30481
30608
  const El = status !== "LOADING" ? import_dnd4.Draggable : DefaultDraggable;
30482
- (0, import_react14.useEffect)(onMount, []);
30483
- const [disableSecondaryAnimation, setDisableSecondaryAnimation] = (0, import_react14.useState)(false);
30484
- (0, import_react14.useEffect)(() => {
30609
+ (0, import_react15.useEffect)(onMount, []);
30610
+ const [disableSecondaryAnimation, setDisableSecondaryAnimation] = (0, import_react15.useState)(false);
30611
+ (0, import_react15.useEffect)(() => {
30485
30612
  if (isIos()) {
30486
30613
  setDisableSecondaryAnimation(true);
30487
30614
  }
30488
30615
  }, []);
30489
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
30616
+ const loadedOverrides = useLoadedOverrides({
30617
+ overrides,
30618
+ plugins
30619
+ });
30620
+ const CustomActionBar = (0, import_react15.useMemo)(
30621
+ () => loadedOverrides.actionBar || DefaultActionBar,
30622
+ [loadedOverrides]
30623
+ );
30624
+ const permissions = selectedItem && getPermissions({
30625
+ selectedItem,
30626
+ globalPermissions: globalPermissions || {},
30627
+ config
30628
+ });
30629
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
30490
30630
  El,
30491
30631
  {
30492
30632
  draggableId: id,
30493
30633
  index,
30494
30634
  isDragDisabled,
30495
30635
  disableSecondaryAnimation,
30496
- children: (provided, snapshot) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
30636
+ children: (provided, snapshot) => /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
30497
30637
  "div",
30498
30638
  __spreadProps(__spreadValues(__spreadValues({
30499
30639
  ref: provided.innerRef
30500
30640
  }, provided.draggableProps), provided.dragHandleProps), {
30501
- className: getClassName16({
30641
+ className: getClassName17({
30502
30642
  isSelected,
30503
30643
  isModifierHeld,
30504
30644
  isDragging: snapshot.isDragging,
@@ -30507,7 +30647,7 @@ var DraggableComponent = ({
30507
30647
  indicativeHover
30508
30648
  }),
30509
30649
  style: __spreadProps(__spreadValues(__spreadValues({}, style), provided.draggableProps.style), {
30510
- cursor: isModifierHeld ? "initial" : "grab"
30650
+ cursor: isModifierHeld || isDragDisabled ? "initial" : "grab"
30511
30651
  }),
30512
30652
  onMouseOver,
30513
30653
  onMouseOut,
@@ -30516,34 +30656,33 @@ var DraggableComponent = ({
30516
30656
  onClick,
30517
30657
  children: [
30518
30658
  debug,
30519
- isLoading && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassName16("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Loader, {}) }),
30520
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
30659
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: getClassName17("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Loader, {}) }),
30660
+ isSelected && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
30521
30661
  "div",
30522
30662
  {
30523
- className: getClassName16("actionsOverlay"),
30663
+ className: getClassName17("actionsOverlay"),
30524
30664
  style: {
30525
30665
  top: actionsOverlayTop / zoomConfig.zoom
30526
30666
  },
30527
- children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
30667
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
30528
30668
  "div",
30529
30669
  {
30530
- className: getClassName16("actions"),
30670
+ className: getClassName17("actions"),
30531
30671
  style: {
30532
30672
  transform: `scale(${1 / zoomConfig.zoom}`,
30533
30673
  top: actionsTop / zoomConfig.zoom,
30534
30674
  right: actionsRight / zoomConfig.zoom
30535
30675
  },
30536
- children: [
30537
- label && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassName16("actionsLabel"), children: label }),
30538
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("button", { className: getClassName16("action"), onClick: onDuplicate, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Copy, { size: 16 }) }),
30539
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("button", { className: getClassName16("action"), onClick: onDelete, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Trash, { size: 16 }) })
30540
- ]
30676
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(CustomActionBar, { label, children: [
30677
+ 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 }) }),
30678
+ 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 }) })
30679
+ ] })
30541
30680
  }
30542
30681
  )
30543
30682
  }
30544
30683
  ),
30545
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassName16("overlay") }),
30546
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassName16("contents"), children })
30684
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: getClassName17("overlay") }),
30685
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: getClassName17("contents"), children })
30547
30686
  ]
30548
30687
  })
30549
30688
  )
@@ -30554,11 +30693,11 @@ var DraggableComponent = ({
30554
30693
 
30555
30694
  // css-module:/home/runner/work/puck/puck/packages/core/components/DropZone/styles.module.css#css-module
30556
30695
  init_react_import();
30557
- 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" };
30696
+ 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" };
30558
30697
 
30559
30698
  // components/DropZone/context.tsx
30560
30699
  init_react_import();
30561
- var import_react15 = require("react");
30700
+ var import_react16 = require("react");
30562
30701
  var import_use_debounce2 = require("use-debounce");
30563
30702
 
30564
30703
  // lib/get-zone-id.ts
@@ -30574,30 +30713,30 @@ var getZoneId = (zoneCompound) => {
30574
30713
  };
30575
30714
 
30576
30715
  // components/DropZone/context.tsx
30577
- var import_jsx_runtime22 = require("react/jsx-runtime");
30578
- var dropZoneContext = (0, import_react15.createContext)(null);
30716
+ var import_jsx_runtime24 = require("react/jsx-runtime");
30717
+ var dropZoneContext = (0, import_react16.createContext)(null);
30579
30718
  var DropZoneProvider = ({
30580
30719
  children,
30581
30720
  value
30582
30721
  }) => {
30583
- const [hoveringArea, setHoveringArea] = (0, import_react15.useState)(null);
30584
- const [hoveringZone, setHoveringZone] = (0, import_react15.useState)(
30722
+ const [hoveringArea, setHoveringArea] = (0, import_react16.useState)(null);
30723
+ const [hoveringZone, setHoveringZone] = (0, import_react16.useState)(
30585
30724
  rootDroppableId
30586
30725
  );
30587
- const [hoveringComponent, setHoveringComponent] = (0, import_react15.useState)();
30726
+ const [hoveringComponent, setHoveringComponent] = (0, import_react16.useState)();
30588
30727
  const [hoveringAreaDb] = (0, import_use_debounce2.useDebounce)(hoveringArea, 75, { leading: false });
30589
- const [areasWithZones, setAreasWithZones] = (0, import_react15.useState)(
30728
+ const [areasWithZones, setAreasWithZones] = (0, import_react16.useState)(
30590
30729
  {}
30591
30730
  );
30592
- const [activeZones, setActiveZones] = (0, import_react15.useState)({});
30731
+ const [activeZones, setActiveZones] = (0, import_react16.useState)({});
30593
30732
  const { dispatch = null } = value ? value : {};
30594
- const registerZoneArea = (0, import_react15.useCallback)(
30733
+ const registerZoneArea = (0, import_react16.useCallback)(
30595
30734
  (area) => {
30596
30735
  setAreasWithZones((latest) => __spreadProps(__spreadValues({}, latest), { [area]: true }));
30597
30736
  },
30598
30737
  [setAreasWithZones]
30599
30738
  );
30600
- const registerZone = (0, import_react15.useCallback)(
30739
+ const registerZone = (0, import_react16.useCallback)(
30601
30740
  (zoneCompound) => {
30602
30741
  if (!dispatch) {
30603
30742
  return;
@@ -30610,7 +30749,7 @@ var DropZoneProvider = ({
30610
30749
  },
30611
30750
  [setActiveZones, dispatch]
30612
30751
  );
30613
- const unregisterZone = (0, import_react15.useCallback)(
30752
+ const unregisterZone = (0, import_react16.useCallback)(
30614
30753
  (zoneCompound) => {
30615
30754
  if (!dispatch) {
30616
30755
  return;
@@ -30625,8 +30764,8 @@ var DropZoneProvider = ({
30625
30764
  },
30626
30765
  [setActiveZones, dispatch]
30627
30766
  );
30628
- const [pathData, setPathData] = (0, import_react15.useState)();
30629
- const registerPath = (0, import_react15.useCallback)(
30767
+ const [pathData, setPathData] = (0, import_react16.useState)();
30768
+ const registerPath = (0, import_react16.useCallback)(
30630
30769
  (selector) => {
30631
30770
  if (!(value == null ? void 0 : value.data)) {
30632
30771
  return;
@@ -30651,8 +30790,8 @@ var DropZoneProvider = ({
30651
30790
  },
30652
30791
  [value, setPathData]
30653
30792
  );
30654
- const [zoneWillDrag, setZoneWillDrag] = (0, import_react15.useState)("");
30655
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_jsx_runtime22.Fragment, { children: value && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
30793
+ const [zoneWillDrag, setZoneWillDrag] = (0, import_react16.useState)("");
30794
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, { children: value && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
30656
30795
  dropZoneContext.Provider,
30657
30796
  {
30658
30797
  value: __spreadValues({
@@ -30678,12 +30817,12 @@ var DropZoneProvider = ({
30678
30817
  };
30679
30818
 
30680
30819
  // components/DropZone/index.tsx
30681
- var import_jsx_runtime23 = require("react/jsx-runtime");
30682
- var getClassName17 = get_class_name_factory_default("DropZone", styles_module_default11);
30820
+ var import_jsx_runtime25 = require("react/jsx-runtime");
30821
+ var getClassName18 = get_class_name_factory_default("DropZone", styles_module_default12);
30683
30822
  function DropZoneEdit({ zone, allow, disallow, style }) {
30684
30823
  var _a;
30685
30824
  const appContext2 = useAppContext();
30686
- const ctx = (0, import_react16.useContext)(dropZoneContext);
30825
+ const ctx = (0, import_react17.useContext)(dropZoneContext);
30687
30826
  const {
30688
30827
  // These all need setting via context
30689
30828
  data,
@@ -30702,12 +30841,12 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30702
30841
  } = ctx || {};
30703
30842
  let content = data.content || [];
30704
30843
  let zoneCompound = rootDroppableId;
30705
- (0, import_react16.useEffect)(() => {
30844
+ (0, import_react17.useEffect)(() => {
30706
30845
  if (areaId && registerZoneArea) {
30707
30846
  registerZoneArea(areaId);
30708
30847
  }
30709
30848
  }, [areaId]);
30710
- (0, import_react16.useEffect)(() => {
30849
+ (0, import_react17.useEffect)(() => {
30711
30850
  if (ctx == null ? void 0 : ctx.registerZone) {
30712
30851
  ctx == null ? void 0 : ctx.registerZone(zoneCompound);
30713
30852
  }
@@ -30733,7 +30872,7 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30733
30872
  const draggingOverArea = userIsDragging && zoneArea === draggedSourceArea;
30734
30873
  const draggingNewComponent = draggedSourceId == null ? void 0 : draggedSourceId.startsWith("component-list");
30735
30874
  if (!(ctx == null ? void 0 : ctx.config) || !ctx.setHoveringArea || !ctx.setHoveringZone || !ctx.setHoveringComponent || !ctx.setItemSelector || !ctx.registerPath || !ctx.dispatch) {
30736
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { children: "DropZone requires context to work." });
30875
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { children: "DropZone requires context to work." });
30737
30876
  }
30738
30877
  const {
30739
30878
  hoveringArea = "root",
@@ -30774,10 +30913,10 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30774
30913
  }
30775
30914
  const selectedItem = itemSelector ? getItem(itemSelector, data) : null;
30776
30915
  const isAreaSelected = selectedItem && zoneArea === selectedItem.props.id;
30777
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
30916
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
30778
30917
  "div",
30779
30918
  {
30780
- className: getClassName17({
30919
+ className: getClassName18({
30781
30920
  isRootZone,
30782
30921
  userIsDragging,
30783
30922
  draggingOverArea,
@@ -30791,17 +30930,17 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30791
30930
  onMouseUp: () => {
30792
30931
  setZoneWillDrag("");
30793
30932
  },
30794
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
30933
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
30795
30934
  Droppable,
30796
30935
  {
30797
30936
  droppableId: zoneCompound,
30798
30937
  direction: "vertical",
30799
30938
  isDropDisabled: !isEnabled,
30800
30939
  children: (provided, snapshot) => {
30801
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
30940
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
30802
30941
  "div",
30803
30942
  __spreadProps(__spreadValues({}, (provided || { droppableProps: {} }).droppableProps), {
30804
- className: getClassName17("content"),
30943
+ className: getClassName18("content"),
30805
30944
  ref: provided == null ? void 0 : provided.innerRef,
30806
30945
  style,
30807
30946
  id: zoneCompound,
@@ -30828,25 +30967,33 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30828
30967
  "draggable-"
30829
30968
  )[1] === componentId;
30830
30969
  const containsZone = areasWithZones ? areasWithZones[componentId] : false;
30831
- const Render2 = config.components[item.type] ? config.components[item.type].render : () => /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { style: { padding: 48, textAlign: "center" }, children: [
30970
+ const Render2 = config.components[item.type] ? config.components[item.type].render : () => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { style: { padding: 48, textAlign: "center" }, children: [
30832
30971
  "No configuration for ",
30833
30972
  item.type
30834
30973
  ] });
30835
30974
  const componentConfig = config.components[item.type];
30836
30975
  const label = (_b = componentConfig == null ? void 0 : componentConfig["label"]) != null ? _b : item.type.toString();
30837
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
30976
+ const canDrag = getPermissions({
30977
+ selectedItem: getItem(
30978
+ { index: i, zone: zoneCompound },
30979
+ appContext2.state.data
30980
+ ),
30981
+ config: appContext2.config,
30982
+ globalPermissions: appContext2.globalPermissions || {}
30983
+ }).drag;
30984
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
30838
30985
  "div",
30839
30986
  {
30840
- className: getClassName17("item"),
30987
+ className: getClassName18("item"),
30841
30988
  style: { zIndex: isDragging ? 1 : void 0 },
30842
30989
  children: [
30843
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
30990
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
30844
30991
  DropZoneProvider,
30845
30992
  {
30846
30993
  value: __spreadProps(__spreadValues({}, ctx), {
30847
30994
  areaId: componentId
30848
30995
  }),
30849
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
30996
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
30850
30997
  DraggableComponent,
30851
30998
  {
30852
30999
  label,
@@ -30855,6 +31002,7 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30855
31002
  isSelected,
30856
31003
  isLocked: userIsDragging,
30857
31004
  forceHover: hoveringComponent === componentId && !userIsDragging,
31005
+ isDragDisabled: !canDrag,
30858
31006
  indicativeHover: userIsDragging && containsZone && hoveringArea === componentId,
30859
31007
  isLoading: (_c = appContext2.componentState[componentId]) == null ? void 0 : _c.loading,
30860
31008
  onMount: () => {
@@ -30913,15 +31061,15 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30913
31061
  style: {
30914
31062
  pointerEvents: userIsDragging && draggingNewComponent ? "all" : void 0
30915
31063
  },
30916
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: getClassName17("renderWrapper"), children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Render2, __spreadValues({}, defaultedProps)) })
31064
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: getClassName18("renderWrapper"), children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Render2, __spreadValues({}, defaultedProps)) })
30917
31065
  }
30918
31066
  )
30919
31067
  }
30920
31068
  ),
30921
- userIsDragging && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
31069
+ userIsDragging && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
30922
31070
  "div",
30923
31071
  {
30924
- className: getClassName17("hitbox"),
31072
+ className: getClassName18("hitbox"),
30925
31073
  onMouseOver: (e) => {
30926
31074
  e.stopPropagation();
30927
31075
  setHoveringArea(zoneArea);
@@ -30935,7 +31083,7 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30935
31083
  );
30936
31084
  }),
30937
31085
  provided == null ? void 0 : provided.placeholder,
30938
- (snapshot == null ? void 0 : snapshot.isDraggingOver) && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
31086
+ (snapshot == null ? void 0 : snapshot.isDraggingOver) && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
30939
31087
  "div",
30940
31088
  {
30941
31089
  "data-puck-placeholder": true,
@@ -30956,7 +31104,7 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30956
31104
  );
30957
31105
  }
30958
31106
  function DropZoneRender({ zone }) {
30959
- const ctx = (0, import_react16.useContext)(dropZoneContext);
31107
+ const ctx = (0, import_react17.useContext)(dropZoneContext);
30960
31108
  const { data, areaId = "root", config } = ctx || {};
30961
31109
  let zoneCompound = rootDroppableId;
30962
31110
  let content = (data == null ? void 0 : data.content) || [];
@@ -30967,14 +31115,14 @@ function DropZoneRender({ zone }) {
30967
31115
  zoneCompound = `${areaId}:${zone}`;
30968
31116
  content = setupZone(data, zoneCompound).zones[zoneCompound];
30969
31117
  }
30970
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_jsx_runtime23.Fragment, { children: content.map((item) => {
31118
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_jsx_runtime25.Fragment, { children: content.map((item) => {
30971
31119
  const Component = config.components[item.type];
30972
31120
  if (Component) {
30973
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
31121
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
30974
31122
  DropZoneProvider,
30975
31123
  {
30976
31124
  value: { data, config, areaId: item.props.id },
30977
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
31125
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
30978
31126
  Component.render,
30979
31127
  __spreadProps(__spreadValues({}, item.props), {
30980
31128
  puck: { renderDropZone: DropZone }
@@ -30988,20 +31136,20 @@ function DropZoneRender({ zone }) {
30988
31136
  }) });
30989
31137
  }
30990
31138
  function DropZone(props) {
30991
- const ctx = (0, import_react16.useContext)(dropZoneContext);
31139
+ const ctx = (0, import_react17.useContext)(dropZoneContext);
30992
31140
  if ((ctx == null ? void 0 : ctx.mode) === "edit") {
30993
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DropZoneEdit, __spreadValues({}, props));
31141
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(DropZoneEdit, __spreadValues({}, props));
30994
31142
  }
30995
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DropZoneRender, __spreadValues({}, props));
31143
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(DropZoneRender, __spreadValues({}, props));
30996
31144
  }
30997
31145
 
30998
31146
  // components/Puck/index.tsx
30999
31147
  init_react_import();
31000
- var import_react30 = require("react");
31148
+ var import_react31 = require("react");
31001
31149
 
31002
31150
  // lib/use-placeholder-style.ts
31003
31151
  init_react_import();
31004
- var import_react17 = require("react");
31152
+ var import_react18 = require("react");
31005
31153
 
31006
31154
  // lib/get-frame.ts
31007
31155
  init_react_import();
@@ -31016,7 +31164,7 @@ var getFrame = () => {
31016
31164
  // lib/use-placeholder-style.ts
31017
31165
  var usePlaceholderStyle = () => {
31018
31166
  const queryAttr = "data-rfd-drag-handle-draggable-id";
31019
- const [placeholderStyle, setPlaceholderStyle] = (0, import_react17.useState)();
31167
+ const [placeholderStyle, setPlaceholderStyle] = (0, import_react18.useState)();
31020
31168
  const onDragStartOrUpdate = (draggedItem) => {
31021
31169
  var _a;
31022
31170
  const draggableId = draggedItem.draggableId;
@@ -31065,11 +31213,11 @@ init_react_import();
31065
31213
 
31066
31214
  // css-module:/home/runner/work/puck/puck/packages/core/components/SidebarSection/styles.module.css#css-module
31067
31215
  init_react_import();
31068
- 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" };
31216
+ 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" };
31069
31217
 
31070
31218
  // lib/use-breadcrumbs.ts
31071
31219
  init_react_import();
31072
- var import_react18 = require("react");
31220
+ var import_react19 = require("react");
31073
31221
  var convertPathDataToBreadcrumbs = (selectedItem, pathData, data) => {
31074
31222
  const id = selectedItem ? selectedItem == null ? void 0 : selectedItem.props.id : "";
31075
31223
  const currentPathData = pathData && id && pathData[id] ? __spreadValues({}, pathData[id]) : { label: "Page", path: [] };
@@ -31119,8 +31267,8 @@ var useBreadcrumbs = (renderCount) => {
31119
31267
  state: { data },
31120
31268
  selectedItem
31121
31269
  } = useAppContext();
31122
- const dzContext = (0, import_react18.useContext)(dropZoneContext);
31123
- return (0, import_react18.useMemo)(() => {
31270
+ const dzContext = (0, import_react19.useContext)(dropZoneContext);
31271
+ return (0, import_react19.useMemo)(() => {
31124
31272
  const breadcrumbs = convertPathDataToBreadcrumbs(
31125
31273
  selectedItem,
31126
31274
  dzContext == null ? void 0 : dzContext.pathData,
@@ -31134,8 +31282,8 @@ var useBreadcrumbs = (renderCount) => {
31134
31282
  };
31135
31283
 
31136
31284
  // components/SidebarSection/index.tsx
31137
- var import_jsx_runtime24 = require("react/jsx-runtime");
31138
- var getClassName18 = get_class_name_factory_default("SidebarSection", styles_module_default12);
31285
+ var import_jsx_runtime26 = require("react/jsx-runtime");
31286
+ var getClassName19 = get_class_name_factory_default("SidebarSection", styles_module_default13);
31139
31287
  var SidebarSection = ({
31140
31288
  children,
31141
31289
  title,
@@ -31147,28 +31295,28 @@ var SidebarSection = ({
31147
31295
  }) => {
31148
31296
  const { setUi } = useAppContext();
31149
31297
  const breadcrumbs = useBreadcrumbs(1);
31150
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
31298
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
31151
31299
  "div",
31152
31300
  {
31153
- className: getClassName18({ noBorderTop, noPadding }),
31301
+ className: getClassName19({ noBorderTop, noPadding }),
31154
31302
  style: { background },
31155
31303
  children: [
31156
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: getClassName18("title"), children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: getClassName18("breadcrumbs"), children: [
31157
- showBreadcrumbs ? breadcrumbs.map((breadcrumb, i) => /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: getClassName18("breadcrumb"), children: [
31158
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
31304
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: getClassName19("title"), children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: getClassName19("breadcrumbs"), children: [
31305
+ showBreadcrumbs ? breadcrumbs.map((breadcrumb, i) => /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: getClassName19("breadcrumb"), children: [
31306
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
31159
31307
  "button",
31160
31308
  {
31161
- className: getClassName18("breadcrumbLabel"),
31309
+ className: getClassName19("breadcrumbLabel"),
31162
31310
  onClick: () => setUi({ itemSelector: breadcrumb.selector }),
31163
31311
  children: breadcrumb.label
31164
31312
  }
31165
31313
  ),
31166
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(ChevronRight, { size: 16 })
31314
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(ChevronRight, { size: 16 })
31167
31315
  ] }, i)) : null,
31168
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: getClassName18("heading"), children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Heading, { rank: 2, size: "xs", children: title }) })
31316
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: getClassName19("heading"), children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Heading, { rank: 2, size: "xs", children: title }) })
31169
31317
  ] }) }),
31170
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: getClassName18("content"), children }),
31171
- isLoading && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: getClassName18("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Loader, { size: 32 }) })
31318
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: getClassName19("content"), children }),
31319
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: getClassName19("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Loader, { size: 32 }) })
31172
31320
  ]
31173
31321
  }
31174
31322
  );
@@ -31537,7 +31685,7 @@ var flushZones = (appState) => {
31537
31685
 
31538
31686
  // lib/use-resolved-data.ts
31539
31687
  init_react_import();
31540
- var import_react19 = require("react");
31688
+ var import_react20 = require("react");
31541
31689
 
31542
31690
  // lib/resolve-component-data.ts
31543
31691
  init_react_import();
@@ -31646,13 +31794,13 @@ var resolveRootData = (data, config) => __async(void 0, null, function* () {
31646
31794
 
31647
31795
  // lib/use-resolved-data.ts
31648
31796
  var useResolvedData = (appState, config, dispatch) => {
31649
- const [{ resolverKey, newAppState }, setResolverState] = (0, import_react19.useState)({
31797
+ const [{ resolverKey, newAppState }, setResolverState] = (0, import_react20.useState)({
31650
31798
  resolverKey: 0,
31651
31799
  newAppState: appState
31652
31800
  });
31653
- const [componentState, setComponentState] = (0, import_react19.useState)({});
31801
+ const [componentState, setComponentState] = (0, import_react20.useState)({});
31654
31802
  const deferredSetStates = {};
31655
- const setComponentLoading = (0, import_react19.useCallback)(
31803
+ const setComponentLoading = (0, import_react20.useCallback)(
31656
31804
  (id, loading, defer2 = 0) => {
31657
31805
  if (deferredSetStates[id]) {
31658
31806
  clearTimeout(deferredSetStates[id]);
@@ -31722,10 +31870,10 @@ var useResolvedData = (appState, config, dispatch) => {
31722
31870
  });
31723
31871
  yield Promise.all(promises);
31724
31872
  });
31725
- (0, import_react19.useEffect)(() => {
31873
+ (0, import_react20.useEffect)(() => {
31726
31874
  runResolvers();
31727
31875
  }, [resolverKey]);
31728
- const resolveData = (0, import_react19.useCallback)((newAppState2 = appState) => {
31876
+ const resolveData = (0, import_react20.useCallback)((newAppState2 = appState) => {
31729
31877
  setResolverState((curr) => ({
31730
31878
  resolverKey: curr.resolverKey + 1,
31731
31879
  newAppState: newAppState2
@@ -31742,11 +31890,11 @@ init_react_import();
31742
31890
 
31743
31891
  // css-module:/home/runner/work/puck/puck/packages/core/components/MenuBar/styles.module.css#css-module
31744
31892
  init_react_import();
31745
- 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" };
31893
+ 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" };
31746
31894
 
31747
31895
  // components/MenuBar/index.tsx
31748
- var import_jsx_runtime25 = require("react/jsx-runtime");
31749
- var getClassName19 = get_class_name_factory_default("MenuBar", styles_module_default13);
31896
+ var import_jsx_runtime27 = require("react/jsx-runtime");
31897
+ var getClassName20 = get_class_name_factory_default("MenuBar", styles_module_default14);
31750
31898
  var MenuBar = ({
31751
31899
  appState,
31752
31900
  data = { content: [], root: {} },
@@ -31760,10 +31908,10 @@ var MenuBar = ({
31760
31908
  history: { back, forward, historyStore }
31761
31909
  } = useAppContext();
31762
31910
  const { hasFuture = false, hasPast = false } = historyStore || {};
31763
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
31911
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
31764
31912
  "div",
31765
31913
  {
31766
- className: getClassName19({ menuOpen }),
31914
+ className: getClassName20({ menuOpen }),
31767
31915
  onClick: (event) => {
31768
31916
  var _a;
31769
31917
  const element = event.target;
@@ -31774,12 +31922,12 @@ var MenuBar = ({
31774
31922
  setMenuOpen(false);
31775
31923
  }
31776
31924
  },
31777
- children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: getClassName19("inner"), children: [
31778
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: getClassName19("history"), children: [
31779
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(IconButton, { title: "undo", disabled: !hasPast, onClick: back, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Undo2, { size: 21 }) }),
31780
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(IconButton, { title: "redo", disabled: !hasFuture, onClick: forward, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Redo2, { size: 21 }) })
31925
+ children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: getClassName20("inner"), children: [
31926
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: getClassName20("history"), children: [
31927
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(IconButton, { title: "undo", disabled: !hasPast, onClick: back, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Undo2, { size: 21 }) }),
31928
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(IconButton, { title: "redo", disabled: !hasFuture, onClick: forward, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Redo2, { size: 21 }) })
31781
31929
  ] }),
31782
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_jsx_runtime25.Fragment, { children: renderHeaderActions && renderHeaderActions({
31930
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_jsx_runtime27.Fragment, { children: renderHeaderActions && renderHeaderActions({
31783
31931
  state: appState,
31784
31932
  dispatch
31785
31933
  }) })
@@ -31790,26 +31938,26 @@ var MenuBar = ({
31790
31938
 
31791
31939
  // css-module:/home/runner/work/puck/puck/packages/core/components/Puck/styles.module.css#css-module
31792
31940
  init_react_import();
31793
- 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" };
31941
+ 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" };
31794
31942
 
31795
31943
  // components/Puck/components/Fields/index.tsx
31796
31944
  init_react_import();
31797
31945
 
31798
31946
  // css-module:/home/runner/work/puck/puck/packages/core/components/Puck/components/Fields/styles.module.css#css-module
31799
31947
  init_react_import();
31800
- 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" };
31948
+ 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" };
31801
31949
 
31802
31950
  // components/Puck/components/Fields/index.tsx
31803
- var import_react20 = require("react");
31804
- var import_jsx_runtime26 = require("react/jsx-runtime");
31805
- var getClassName20 = get_class_name_factory_default("PuckFields", styles_module_default15);
31951
+ var import_react21 = require("react");
31952
+ var import_jsx_runtime28 = require("react/jsx-runtime");
31953
+ var getClassName21 = get_class_name_factory_default("PuckFields", styles_module_default16);
31806
31954
  var defaultPageFields = {
31807
31955
  title: { type: "text" }
31808
31956
  };
31809
31957
  var DefaultFields = ({
31810
31958
  children
31811
31959
  }) => {
31812
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_jsx_runtime26.Fragment, { children });
31960
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_jsx_runtime28.Fragment, { children });
31813
31961
  };
31814
31962
  var useResolvedFields = () => {
31815
31963
  var _a;
@@ -31819,14 +31967,14 @@ var useResolvedFields = () => {
31819
31967
  const componentConfig = selectedItem ? config.components[selectedItem.type] : null;
31820
31968
  const defaultFields = selectedItem ? componentConfig == null ? void 0 : componentConfig.fields : rootFields;
31821
31969
  const rootProps = data.root.props || data.root;
31822
- const [lastSelectedData, setLastSelectedData] = (0, import_react20.useState)(
31970
+ const [lastSelectedData, setLastSelectedData] = (0, import_react21.useState)(
31823
31971
  {}
31824
31972
  );
31825
- const [resolvedFields, setResolvedFields] = (0, import_react20.useState)(defaultFields || {});
31826
- const [fieldsLoading, setFieldsLoading] = (0, import_react20.useState)(false);
31973
+ const [resolvedFields, setResolvedFields] = (0, import_react21.useState)(defaultFields || {});
31974
+ const [fieldsLoading, setFieldsLoading] = (0, import_react21.useState)(false);
31827
31975
  const defaultResolveFields = (_componentData, _params) => defaultFields;
31828
31976
  const componentData = selectedItem ? selectedItem : { props: rootProps, readOnly: data.root.readOnly };
31829
- const resolveFields = (0, import_react20.useCallback)(
31977
+ const resolveFields = (0, import_react21.useCallback)(
31830
31978
  (..._0) => __async(void 0, [..._0], function* (fields = {}) {
31831
31979
  var _a2, _b, _c;
31832
31980
  const lastData = ((_a2 = lastSelectedData.props) == null ? void 0 : _a2.id) === componentData.props.id ? lastSelectedData : {};
@@ -31862,7 +32010,7 @@ var useResolvedFields = () => {
31862
32010
  }),
31863
32011
  [data, config, componentData, selectedItem, resolvedFields, state]
31864
32012
  );
31865
- (0, import_react20.useEffect)(() => {
32013
+ (0, import_react21.useEffect)(() => {
31866
32014
  setFieldsLoading(true);
31867
32015
  resolveFields(defaultFields).then((fields) => {
31868
32016
  setResolvedFields(fields || {});
@@ -31880,7 +32028,8 @@ var Fields = () => {
31880
32028
  config,
31881
32029
  resolveData,
31882
32030
  componentState,
31883
- overrides
32031
+ overrides,
32032
+ globalPermissions
31884
32033
  } = useAppContext();
31885
32034
  const { data, ui } = state;
31886
32035
  const { itemSelector } = ui;
@@ -31888,16 +32037,16 @@ var Fields = () => {
31888
32037
  const componentResolving = selectedItem ? (_a = componentState[selectedItem == null ? void 0 : selectedItem.props.id]) == null ? void 0 : _a.loading : (_b = componentState["puck-root"]) == null ? void 0 : _b.loading;
31889
32038
  const isLoading = fieldsResolving || componentResolving;
31890
32039
  const rootProps = data.root.props || data.root;
31891
- const Wrapper = (0, import_react20.useMemo)(() => overrides.fields || DefaultFields, [overrides]);
31892
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
32040
+ const Wrapper = (0, import_react21.useMemo)(() => overrides.fields || DefaultFields, [overrides]);
32041
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
31893
32042
  "form",
31894
32043
  {
31895
- className: getClassName20(),
32044
+ className: getClassName21(),
31896
32045
  onSubmit: (e) => {
31897
32046
  e.preventDefault();
31898
32047
  },
31899
32048
  children: [
31900
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Wrapper, { isLoading, itemSelector, children: Object.keys(fields).map((fieldName) => {
32049
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Wrapper, { isLoading, itemSelector, children: Object.keys(fields).map((fieldName) => {
31901
32050
  const field = fields[fieldName];
31902
32051
  if (!(field == null ? void 0 : field.type)) return null;
31903
32052
  const onChange = (value, updatedUi) => {
@@ -31964,13 +32113,18 @@ var Fields = () => {
31964
32113
  };
31965
32114
  if (selectedItem && itemSelector) {
31966
32115
  const { readOnly = {} } = selectedItem;
31967
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
32116
+ const { edit } = getPermissions({
32117
+ selectedItem,
32118
+ config,
32119
+ globalPermissions: globalPermissions || {}
32120
+ });
32121
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
31968
32122
  AutoFieldPrivate,
31969
32123
  {
31970
32124
  field,
31971
32125
  name: fieldName,
31972
32126
  id: `${selectedItem.props.id}_${fieldName}`,
31973
- readOnly: readOnly[fieldName],
32127
+ readOnly: !edit || readOnly[fieldName],
31974
32128
  value: selectedItem.props[fieldName],
31975
32129
  onChange
31976
32130
  },
@@ -31978,7 +32132,7 @@ var Fields = () => {
31978
32132
  );
31979
32133
  } else {
31980
32134
  const { readOnly = {} } = data.root;
31981
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
32135
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
31982
32136
  AutoFieldPrivate,
31983
32137
  {
31984
32138
  field,
@@ -31992,7 +32146,7 @@ var Fields = () => {
31992
32146
  );
31993
32147
  }
31994
32148
  }) }),
31995
- 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)(Loader, { size: 16 }) }) })
32149
+ 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)(Loader, { size: 16 }) }) })
31996
32150
  ]
31997
32151
  }
31998
32152
  );
@@ -32003,25 +32157,39 @@ init_react_import();
32003
32157
 
32004
32158
  // lib/use-component-list.tsx
32005
32159
  init_react_import();
32006
- var import_react21 = require("react");
32160
+ var import_react22 = require("react");
32007
32161
 
32008
32162
  // components/ComponentList/index.tsx
32009
32163
  init_react_import();
32010
32164
 
32011
32165
  // css-module:/home/runner/work/puck/puck/packages/core/components/ComponentList/styles.module.css#css-module
32012
32166
  init_react_import();
32013
- 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" };
32167
+ 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" };
32014
32168
 
32015
32169
  // components/ComponentList/index.tsx
32016
- var import_jsx_runtime27 = require("react/jsx-runtime");
32017
- var getClassName21 = get_class_name_factory_default("ComponentList", styles_module_default16);
32170
+ var import_jsx_runtime29 = require("react/jsx-runtime");
32171
+ var getClassName22 = get_class_name_factory_default("ComponentList", styles_module_default17);
32018
32172
  var ComponentListItem = ({
32019
32173
  name,
32020
32174
  label,
32021
32175
  index
32022
32176
  }) => {
32023
- const { overrides } = useAppContext();
32024
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Drawer.Item, { label, name, index, children: overrides.componentItem });
32177
+ const { overrides, config, globalPermissions } = useAppContext();
32178
+ const canInsert = getPermissions({
32179
+ type: name,
32180
+ config,
32181
+ globalPermissions: globalPermissions || {}
32182
+ }).insert;
32183
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
32184
+ Drawer.Item,
32185
+ {
32186
+ label,
32187
+ name,
32188
+ index,
32189
+ isDragDisabled: !canInsert,
32190
+ children: overrides.componentItem
32191
+ }
32192
+ );
32025
32193
  };
32026
32194
  var ComponentList = ({
32027
32195
  children,
@@ -32030,11 +32198,11 @@ var ComponentList = ({
32030
32198
  }) => {
32031
32199
  const { config, state, setUi } = useAppContext();
32032
32200
  const { expanded = true } = state.ui.componentList[id] || {};
32033
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: getClassName21({ isExpanded: expanded }), children: [
32034
- title && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
32201
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: getClassName22({ isExpanded: expanded }), children: [
32202
+ title && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
32035
32203
  "button",
32036
32204
  {
32037
- className: getClassName21("title"),
32205
+ className: getClassName22("title"),
32038
32206
  onClick: () => setUi({
32039
32207
  componentList: __spreadProps(__spreadValues({}, state.ui.componentList), {
32040
32208
  [id]: __spreadProps(__spreadValues({}, state.ui.componentList[id]), {
@@ -32044,14 +32212,14 @@ var ComponentList = ({
32044
32212
  }),
32045
32213
  title: expanded ? `Collapse${title ? ` ${title}` : ""}` : `Expand${title ? ` ${title}` : ""}`,
32046
32214
  children: [
32047
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { children: title }),
32048
- /* @__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 }) })
32215
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { children: title }),
32216
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: getClassName22("titleIcon"), children: expanded ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ChevronUp, { size: 12 }) : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ChevronDown, { size: 12 }) })
32049
32217
  ]
32050
32218
  }
32051
32219
  ),
32052
- /* @__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, i) => {
32220
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: getClassName22("content"), children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Drawer, { droppableId: title, children: children || Object.keys(config.components).map((componentKey, i) => {
32053
32221
  var _a;
32054
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
32222
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
32055
32223
  ComponentListItem,
32056
32224
  {
32057
32225
  label: (_a = config.components[componentKey]["label"]) != null ? _a : componentKey,
@@ -32066,10 +32234,10 @@ var ComponentList = ({
32066
32234
  ComponentList.Item = ComponentListItem;
32067
32235
 
32068
32236
  // lib/use-component-list.tsx
32069
- var import_jsx_runtime28 = require("react/jsx-runtime");
32237
+ var import_jsx_runtime30 = require("react/jsx-runtime");
32070
32238
  var useComponentList = (config, ui) => {
32071
- const [componentList, setComponentList] = (0, import_react21.useState)();
32072
- (0, import_react21.useEffect)(() => {
32239
+ const [componentList, setComponentList] = (0, import_react22.useState)();
32240
+ (0, import_react22.useEffect)(() => {
32073
32241
  var _a, _b, _c;
32074
32242
  if (Object.keys(ui.componentList).length > 0) {
32075
32243
  const matchedComponents = [];
@@ -32079,7 +32247,7 @@ var useComponentList = (config, ui) => {
32079
32247
  if (category.visible === false || !category.components) {
32080
32248
  return null;
32081
32249
  }
32082
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
32250
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
32083
32251
  ComponentList,
32084
32252
  {
32085
32253
  id: categoryKey,
@@ -32088,7 +32256,7 @@ var useComponentList = (config, ui) => {
32088
32256
  var _a2;
32089
32257
  matchedComponents.push(componentName);
32090
32258
  const componentConf = config.components[componentName] || {};
32091
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
32259
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
32092
32260
  ComponentList.Item,
32093
32261
  {
32094
32262
  label: (_a2 = componentConf["label"]) != null ? _a2 : componentName,
@@ -32108,7 +32276,7 @@ var useComponentList = (config, ui) => {
32108
32276
  );
32109
32277
  if (remainingComponents.length > 0 && !((_a = ui.componentList.other) == null ? void 0 : _a.components) && ((_b = ui.componentList.other) == null ? void 0 : _b.visible) !== false) {
32110
32278
  _componentList.push(
32111
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
32279
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
32112
32280
  ComponentList,
32113
32281
  {
32114
32282
  id: "other",
@@ -32116,7 +32284,7 @@ var useComponentList = (config, ui) => {
32116
32284
  children: remainingComponents.map((componentName, i) => {
32117
32285
  var _a2;
32118
32286
  const componentConf = config.components[componentName] || {};
32119
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
32287
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
32120
32288
  ComponentList.Item,
32121
32289
  {
32122
32290
  name: componentName,
@@ -32138,25 +32306,25 @@ var useComponentList = (config, ui) => {
32138
32306
  };
32139
32307
 
32140
32308
  // components/Puck/components/Components/index.tsx
32141
- var import_react22 = require("react");
32142
- var import_jsx_runtime29 = require("react/jsx-runtime");
32309
+ var import_react23 = require("react");
32310
+ var import_jsx_runtime31 = require("react/jsx-runtime");
32143
32311
  var Components = () => {
32144
32312
  const { config, state, overrides } = useAppContext();
32145
32313
  const componentList = useComponentList(config, state.ui);
32146
- const Wrapper = (0, import_react22.useMemo)(() => overrides.components || "div", [overrides]);
32147
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Wrapper, { children: componentList ? componentList : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ComponentList, { id: "all" }) });
32314
+ const Wrapper = (0, import_react23.useMemo)(() => overrides.components || "div", [overrides]);
32315
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Wrapper, { children: componentList ? componentList : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(ComponentList, { id: "all" }) });
32148
32316
  };
32149
32317
 
32150
32318
  // components/Puck/components/Preview/index.tsx
32151
32319
  init_react_import();
32152
- var import_react24 = require("react");
32320
+ var import_react25 = require("react");
32153
32321
 
32154
32322
  // components/AutoFrame/index.tsx
32155
32323
  init_react_import();
32156
- var import_react23 = __toESM(require("react"));
32324
+ var import_react24 = __toESM(require("react"));
32157
32325
  var import_react_frame_component = __toESM(require("react-frame-component"));
32158
32326
  var import_object_hash = __toESM(require("object-hash"));
32159
- var import_jsx_runtime30 = require("react/jsx-runtime");
32327
+ var import_jsx_runtime32 = require("react/jsx-runtime");
32160
32328
  var styleSelector = 'style, link[rel="stylesheet"]';
32161
32329
  var collectStyles = (doc) => {
32162
32330
  const collected = [];
@@ -32199,7 +32367,7 @@ var CopyHostStyles = ({
32199
32367
  onStylesLoaded = () => null
32200
32368
  }) => {
32201
32369
  const { document: doc, window: win } = (0, import_react_frame_component.useFrame)();
32202
- (0, import_react23.useEffect)(() => {
32370
+ (0, import_react24.useEffect)(() => {
32203
32371
  if (!win || !doc) {
32204
32372
  return () => {
32205
32373
  };
@@ -32356,12 +32524,12 @@ var CopyHostStyles = ({
32356
32524
  observer.disconnect();
32357
32525
  };
32358
32526
  }, []);
32359
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_jsx_runtime30.Fragment, { children });
32527
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_jsx_runtime32.Fragment, { children });
32360
32528
  };
32361
- var AutoFrameComponent = import_react23.default.forwardRef(
32529
+ var AutoFrameComponent = import_react24.default.forwardRef(
32362
32530
  function(_a, ref) {
32363
32531
  var _b = _a, { children, debug, onStylesLoaded } = _b, props = __objRest(_b, ["children", "debug", "onStylesLoaded"]);
32364
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_react_frame_component.default, __spreadProps(__spreadValues({}, props), { ref, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(CopyHostStyles, { debug, onStylesLoaded, children }) }));
32532
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react_frame_component.default, __spreadProps(__spreadValues({}, props), { ref, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(CopyHostStyles, { debug, onStylesLoaded, children }) }));
32365
32533
  }
32366
32534
  );
32367
32535
  AutoFrameComponent.displayName = "AutoFrameComponent";
@@ -32369,14 +32537,14 @@ var AutoFrame_default = AutoFrameComponent;
32369
32537
 
32370
32538
  // css-module:/home/runner/work/puck/puck/packages/core/components/Puck/components/Preview/styles.module.css#css-module
32371
32539
  init_react_import();
32372
- var styles_module_default17 = { "PuckPreview": "_PuckPreview_rxwlr_1", "PuckPreview-frame": "_PuckPreview-frame_rxwlr_5" };
32540
+ var styles_module_default18 = { "PuckPreview": "_PuckPreview_rxwlr_1", "PuckPreview-frame": "_PuckPreview-frame_rxwlr_5" };
32373
32541
 
32374
32542
  // components/Puck/components/Preview/index.tsx
32375
- var import_jsx_runtime31 = require("react/jsx-runtime");
32376
- var getClassName22 = get_class_name_factory_default("PuckPreview", styles_module_default17);
32543
+ var import_jsx_runtime33 = require("react/jsx-runtime");
32544
+ var getClassName23 = get_class_name_factory_default("PuckPreview", styles_module_default18);
32377
32545
  var Preview = ({ id = "puck-preview" }) => {
32378
32546
  const { config, dispatch, state, setStatus, iframe } = useAppContext();
32379
- const Page = (0, import_react24.useCallback)(
32547
+ const Page = (0, import_react25.useCallback)(
32380
32548
  (pageProps) => {
32381
32549
  var _a, _b;
32382
32550
  return ((_a = config.root) == null ? void 0 : _a.render) ? (_b = config.root) == null ? void 0 : _b.render(__spreadProps(__spreadValues({
@@ -32385,33 +32553,33 @@ var Preview = ({ id = "puck-preview" }) => {
32385
32553
  editMode: true,
32386
32554
  // DEPRECATED
32387
32555
  puck: { renderDropZone: DropZone, isEditing: true }
32388
- })) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_jsx_runtime31.Fragment, { children: pageProps.children });
32556
+ })) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_jsx_runtime33.Fragment, { children: pageProps.children });
32389
32557
  },
32390
32558
  [config.root]
32391
32559
  );
32392
32560
  const rootProps = state.data.root.props || state.data.root;
32393
- const ref = (0, import_react24.useRef)(null);
32394
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
32561
+ const ref = (0, import_react25.useRef)(null);
32562
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
32395
32563
  "div",
32396
32564
  {
32397
- className: getClassName22(),
32565
+ className: getClassName23(),
32398
32566
  id,
32399
32567
  onClick: () => {
32400
32568
  dispatch({ type: "setUi", ui: __spreadProps(__spreadValues({}, state.ui), { itemSelector: null }) });
32401
32569
  },
32402
- children: iframe.enabled ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
32570
+ children: iframe.enabled ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
32403
32571
  AutoFrame_default,
32404
32572
  {
32405
32573
  id: "preview-frame",
32406
- className: getClassName22("frame"),
32574
+ className: getClassName23("frame"),
32407
32575
  "data-rfd-iframe": true,
32408
32576
  ref,
32409
32577
  onStylesLoaded: () => {
32410
32578
  setStatus("READY");
32411
32579
  },
32412
- children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Page, __spreadProps(__spreadValues({ dispatch, state }, rootProps), { children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(DropZone, { zone: rootDroppableId }) }))
32580
+ children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Page, __spreadProps(__spreadValues({ dispatch, state }, rootProps), { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(DropZone, { zone: rootDroppableId }) }))
32413
32581
  }
32414
- ) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { id: "preview-frame", className: getClassName22("frame"), children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Page, __spreadProps(__spreadValues({ dispatch, state }, rootProps), { children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(DropZone, { zone: rootDroppableId }) })) })
32582
+ ) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { id: "preview-frame", className: getClassName23("frame"), children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Page, __spreadProps(__spreadValues({ dispatch, state }, rootProps), { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(DropZone, { zone: rootDroppableId }) })) })
32415
32583
  }
32416
32584
  );
32417
32585
  };
@@ -32445,7 +32613,7 @@ init_react_import();
32445
32613
 
32446
32614
  // css-module:/home/runner/work/puck/puck/packages/core/components/LayerTree/styles.module.css#css-module
32447
32615
  init_react_import();
32448
- 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" };
32616
+ 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" };
32449
32617
 
32450
32618
  // lib/scroll-into-view.ts
32451
32619
  init_react_import();
@@ -32459,7 +32627,7 @@ var scrollIntoView = (el) => {
32459
32627
  };
32460
32628
 
32461
32629
  // components/LayerTree/index.tsx
32462
- var import_react25 = require("react");
32630
+ var import_react26 = require("react");
32463
32631
 
32464
32632
  // lib/is-child-of-zone.ts
32465
32633
  init_react_import();
@@ -32473,9 +32641,9 @@ var isChildOfZone = (item, maybeChild, ctx) => {
32473
32641
  };
32474
32642
 
32475
32643
  // components/LayerTree/index.tsx
32476
- var import_jsx_runtime32 = require("react/jsx-runtime");
32477
- var getClassName23 = get_class_name_factory_default("LayerTree", styles_module_default18);
32478
- var getClassNameLayer = get_class_name_factory_default("Layer", styles_module_default18);
32644
+ var import_jsx_runtime34 = require("react/jsx-runtime");
32645
+ var getClassName24 = get_class_name_factory_default("LayerTree", styles_module_default19);
32646
+ var getClassNameLayer = get_class_name_factory_default("Layer", styles_module_default19);
32479
32647
  var LayerTree = ({
32480
32648
  data,
32481
32649
  config,
@@ -32486,15 +32654,15 @@ var LayerTree = ({
32486
32654
  label
32487
32655
  }) => {
32488
32656
  const zones = data.zones || {};
32489
- const ctx = (0, import_react25.useContext)(dropZoneContext);
32490
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment, { children: [
32491
- label && /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: getClassName23("zoneTitle"), children: [
32492
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: getClassName23("zoneIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Layers, { size: "16" }) }),
32657
+ const ctx = (0, import_react26.useContext)(dropZoneContext);
32658
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
32659
+ label && /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName24("zoneTitle"), children: [
32660
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName24("zoneIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Layers, { size: "16" }) }),
32493
32661
  " ",
32494
32662
  label
32495
32663
  ] }),
32496
- /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("ul", { className: getClassName23(), children: [
32497
- zoneContent.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: getClassName23("helper"), children: "No items" }),
32664
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("ul", { className: getClassName24(), children: [
32665
+ zoneContent.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName24("helper"), children: "No items" }),
32498
32666
  zoneContent.map((item, i) => {
32499
32667
  var _a;
32500
32668
  const isSelected = (itemSelector == null ? void 0 : itemSelector.index) === i && (itemSelector.zone === zone || itemSelector.zone === rootDroppableId && !zone);
@@ -32512,7 +32680,7 @@ var LayerTree = ({
32512
32680
  const childIsSelected = isChildOfZone(item, selectedItem, ctx);
32513
32681
  const componentConfig = config.components[item.type];
32514
32682
  const label2 = (_a = componentConfig == null ? void 0 : componentConfig["label"]) != null ? _a : item.type.toString();
32515
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
32683
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
32516
32684
  "li",
32517
32685
  {
32518
32686
  className: getClassNameLayer({
@@ -32522,7 +32690,7 @@ var LayerTree = ({
32522
32690
  childIsSelected
32523
32691
  }),
32524
32692
  children: [
32525
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: getClassNameLayer("inner"), children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
32693
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassNameLayer("inner"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
32526
32694
  "button",
32527
32695
  {
32528
32696
  className: getClassNameLayer("clickable"),
@@ -32554,22 +32722,22 @@ var LayerTree = ({
32554
32722
  setHoveringComponent(null);
32555
32723
  },
32556
32724
  children: [
32557
- containsZone && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
32725
+ containsZone && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
32558
32726
  "div",
32559
32727
  {
32560
32728
  className: getClassNameLayer("chevron"),
32561
32729
  title: isSelected ? "Collapse" : "Expand",
32562
- children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ChevronDown, { size: "12" })
32730
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ChevronDown, { size: "12" })
32563
32731
  }
32564
32732
  ),
32565
- /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: getClassNameLayer("title"), children: [
32566
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: getClassNameLayer("icon"), children: item.type === "Text" || item.type === "Heading" ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Type, { size: "16" }) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(LayoutGrid, { size: "16" }) }),
32567
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: getClassNameLayer("name"), children: label2 })
32733
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassNameLayer("title"), children: [
32734
+ /* @__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" }) }),
32735
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassNameLayer("name"), children: label2 })
32568
32736
  ] })
32569
32737
  ]
32570
32738
  }
32571
32739
  ) }),
32572
- containsZone && Object.keys(zonesForItem).map((zoneKey, idx) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: getClassNameLayer("zones"), children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
32740
+ containsZone && Object.keys(zonesForItem).map((zoneKey, idx) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassNameLayer("zones"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
32573
32741
  LayerTree,
32574
32742
  {
32575
32743
  config,
@@ -32591,13 +32759,13 @@ var LayerTree = ({
32591
32759
  };
32592
32760
 
32593
32761
  // components/Puck/components/Outline/index.tsx
32594
- var import_react26 = require("react");
32595
- var import_jsx_runtime33 = require("react/jsx-runtime");
32762
+ var import_react27 = require("react");
32763
+ var import_jsx_runtime35 = require("react/jsx-runtime");
32596
32764
  var Outline = () => {
32597
32765
  const { dispatch, state, overrides, config } = useAppContext();
32598
32766
  const { data, ui } = state;
32599
32767
  const { itemSelector } = ui;
32600
- const setItemSelector = (0, import_react26.useCallback)(
32768
+ const setItemSelector = (0, import_react27.useCallback)(
32601
32769
  (newItemSelector) => {
32602
32770
  dispatch({
32603
32771
  type: "setUi",
@@ -32606,9 +32774,9 @@ var Outline = () => {
32606
32774
  },
32607
32775
  []
32608
32776
  );
32609
- const Wrapper = (0, import_react26.useMemo)(() => overrides.outline || "div", [overrides]);
32610
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Wrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(dropZoneContext.Consumer, { children: (ctx) => /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_jsx_runtime33.Fragment, { children: [
32611
- (ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId]) && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
32777
+ const Wrapper = (0, import_react27.useMemo)(() => overrides.outline || "div", [overrides]);
32778
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Wrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(dropZoneContext.Consumer, { children: (ctx) => /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
32779
+ (ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId]) && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
32612
32780
  LayerTree,
32613
32781
  {
32614
32782
  config,
@@ -32621,7 +32789,7 @@ var Outline = () => {
32621
32789
  ),
32622
32790
  Object.entries(findZonesForArea(data, "root")).map(
32623
32791
  ([zoneKey, zone]) => {
32624
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
32792
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
32625
32793
  LayerTree,
32626
32794
  {
32627
32795
  config,
@@ -32639,37 +32807,6 @@ var Outline = () => {
32639
32807
  ] }) }) });
32640
32808
  };
32641
32809
 
32642
- // lib/load-overrides.ts
32643
- init_react_import();
32644
- var loadOverrides = ({
32645
- overrides,
32646
- plugins
32647
- }) => {
32648
- const collected = __spreadValues({}, overrides);
32649
- plugins.forEach((plugin) => {
32650
- Object.keys(plugin.overrides).forEach((overridesType) => {
32651
- if (overridesType === "fieldTypes") {
32652
- const fieldTypes = plugin.overrides.fieldTypes;
32653
- Object.keys(fieldTypes).forEach((fieldType) => {
32654
- collected.fieldTypes = collected.fieldTypes || {};
32655
- const childNode2 = collected.fieldTypes[fieldType];
32656
- const Comp2 = (props) => fieldTypes[fieldType](__spreadProps(__spreadValues({}, props), {
32657
- children: childNode2 ? childNode2(props) : props.children
32658
- }));
32659
- collected.fieldTypes[fieldType] = Comp2;
32660
- });
32661
- return;
32662
- }
32663
- const childNode = collected[overridesType];
32664
- const Comp = (props) => plugin.overrides[overridesType](__spreadProps(__spreadValues({}, props), {
32665
- children: childNode ? childNode(props) : props.children
32666
- }));
32667
- collected[overridesType] = Comp;
32668
- });
32669
- });
32670
- return collected;
32671
- };
32672
-
32673
32810
  // lib/use-puck-history.ts
32674
32811
  init_react_import();
32675
32812
  var import_react_hotkeys_hook = require("react-hotkeys-hook");
@@ -32726,19 +32863,19 @@ function usePuckHistory({
32726
32863
 
32727
32864
  // lib/use-history-store.ts
32728
32865
  init_react_import();
32729
- var import_react27 = require("react");
32866
+ var import_react28 = require("react");
32730
32867
  var import_use_debounce3 = require("use-debounce");
32731
32868
  var EMPTY_HISTORY_INDEX = -1;
32732
32869
  function useHistoryStore(initialHistory) {
32733
32870
  var _a, _b;
32734
- const [histories, setHistories] = (0, import_react27.useState)(
32871
+ const [histories, setHistories] = (0, import_react28.useState)(
32735
32872
  (_a = initialHistory == null ? void 0 : initialHistory.histories) != null ? _a : []
32736
32873
  );
32737
32874
  const updateHistories = (histories2) => {
32738
32875
  setHistories(histories2);
32739
32876
  setIndex(histories2.length - 1);
32740
32877
  };
32741
- const [index, setIndex] = (0, import_react27.useState)(
32878
+ const [index, setIndex] = (0, import_react28.useState)(
32742
32879
  (_b = initialHistory == null ? void 0 : initialHistory.index) != null ? _b : EMPTY_HISTORY_INDEX
32743
32880
  );
32744
32881
  const hasPast = index > EMPTY_HISTORY_INDEX;
@@ -32898,25 +33035,25 @@ var getBox = function getBox2(el) {
32898
33035
  };
32899
33036
 
32900
33037
  // components/Puck/components/Canvas/index.tsx
32901
- var import_react29 = require("react");
33038
+ var import_react30 = require("react");
32902
33039
 
32903
33040
  // components/ViewportControls/index.tsx
32904
33041
  init_react_import();
32905
- var import_react28 = require("react");
33042
+ var import_react29 = require("react");
32906
33043
 
32907
33044
  // css-module:/home/runner/work/puck/puck/packages/core/components/ViewportControls/styles.module.css#css-module
32908
33045
  init_react_import();
32909
- 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" };
33046
+ 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" };
32910
33047
 
32911
33048
  // components/ViewportControls/index.tsx
32912
- var import_jsx_runtime34 = require("react/jsx-runtime");
33049
+ var import_jsx_runtime36 = require("react/jsx-runtime");
32913
33050
  var icons = {
32914
- Smartphone: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Smartphone, { size: 16 }),
32915
- Tablet: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Tablet, { size: 16 }),
32916
- Monitor: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Monitor, { size: 16 })
33051
+ Smartphone: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Smartphone, { size: 16 }),
33052
+ Tablet: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Tablet, { size: 16 }),
33053
+ Monitor: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Monitor, { size: 16 })
32917
33054
  };
32918
- var getClassName24 = get_class_name_factory_default("ViewportControls", styles_module_default19);
32919
- var getClassNameButton = get_class_name_factory_default("ViewportButton", styles_module_default19);
33055
+ var getClassName25 = get_class_name_factory_default("ViewportControls", styles_module_default20);
33056
+ var getClassNameButton = get_class_name_factory_default("ViewportButton", styles_module_default20);
32920
33057
  var ViewportButton = ({
32921
33058
  children,
32922
33059
  height = "auto",
@@ -32925,11 +33062,11 @@ var ViewportButton = ({
32925
33062
  onClick
32926
33063
  }) => {
32927
33064
  const { state } = useAppContext();
32928
- const [isActive, setIsActive] = (0, import_react28.useState)(false);
32929
- (0, import_react28.useEffect)(() => {
33065
+ const [isActive, setIsActive] = (0, import_react29.useState)(false);
33066
+ (0, import_react29.useEffect)(() => {
32930
33067
  setIsActive(width === state.ui.viewports.current.width);
32931
33068
  }, [width, state.ui.viewports.current.width]);
32932
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: getClassNameButton({ isActive }), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33069
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: getClassNameButton({ isActive }), children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
32933
33070
  IconButton,
32934
33071
  {
32935
33072
  title,
@@ -32938,7 +33075,7 @@ var ViewportButton = ({
32938
33075
  e.stopPropagation();
32939
33076
  onClick({ width, height });
32940
33077
  },
32941
- children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: getClassNameButton("inner"), children })
33078
+ children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: getClassNameButton("inner"), children })
32942
33079
  }
32943
33080
  ) });
32944
33081
  };
@@ -32962,7 +33099,7 @@ var ViewportControls = ({
32962
33099
  const defaultsContainAutoZoom = defaultZoomOptions.find(
32963
33100
  (option) => option.value === autoZoom
32964
33101
  );
32965
- const zoomOptions = (0, import_react28.useMemo)(
33102
+ const zoomOptions = (0, import_react29.useMemo)(
32966
33103
  () => [
32967
33104
  ...defaultZoomOptions,
32968
33105
  ...defaultsContainAutoZoom ? [] : [
@@ -32974,8 +33111,8 @@ var ViewportControls = ({
32974
33111
  ].filter((a) => a.value <= autoZoom).sort((a, b) => a.value > b.value ? 1 : -1),
32975
33112
  [autoZoom]
32976
33113
  );
32977
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName24(), children: [
32978
- viewports.map((viewport, i) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33114
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: getClassName25(), children: [
33115
+ viewports.map((viewport, i) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
32979
33116
  ViewportButton,
32980
33117
  {
32981
33118
  height: viewport.height,
@@ -32986,8 +33123,8 @@ var ViewportControls = ({
32986
33123
  },
32987
33124
  i
32988
33125
  )),
32989
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName24("divider") }),
32990
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33126
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: getClassName25("divider") }),
33127
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
32991
33128
  IconButton,
32992
33129
  {
32993
33130
  title: "Zoom viewport out",
@@ -33001,10 +33138,10 @@ var ViewportControls = ({
33001
33138
  )].value
33002
33139
  );
33003
33140
  },
33004
- children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ZoomOut, { size: 16 })
33141
+ children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ZoomOut, { size: 16 })
33005
33142
  }
33006
33143
  ),
33007
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33144
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33008
33145
  IconButton,
33009
33146
  {
33010
33147
  title: "Zoom viewport in",
@@ -33018,19 +33155,19 @@ var ViewportControls = ({
33018
33155
  )].value
33019
33156
  );
33020
33157
  },
33021
- children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ZoomIn, { size: 16 })
33158
+ children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ZoomIn, { size: 16 })
33022
33159
  }
33023
33160
  ),
33024
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName24("divider") }),
33025
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33161
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: getClassName25("divider") }),
33162
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33026
33163
  "select",
33027
33164
  {
33028
- className: getClassName24("zoomSelect"),
33165
+ className: getClassName25("zoomSelect"),
33029
33166
  value: zoom.toString(),
33030
33167
  onChange: (e) => {
33031
33168
  onZoom(parseFloat(e.currentTarget.value));
33032
33169
  },
33033
- children: zoomOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33170
+ children: zoomOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33034
33171
  "option",
33035
33172
  {
33036
33173
  value: option.value,
@@ -33045,7 +33182,7 @@ var ViewportControls = ({
33045
33182
 
33046
33183
  // css-module:/home/runner/work/puck/puck/packages/core/components/Puck/components/Canvas/styles.module.css#css-module
33047
33184
  init_react_import();
33048
- 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" };
33185
+ 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" };
33049
33186
 
33050
33187
  // lib/get-zoom-config.ts
33051
33188
  init_react_import();
@@ -33078,24 +33215,24 @@ var getZoomConfig = (uiViewport, frame, zoom) => {
33078
33215
  };
33079
33216
 
33080
33217
  // components/Puck/components/Canvas/index.tsx
33081
- var import_jsx_runtime35 = require("react/jsx-runtime");
33082
- var getClassName25 = get_class_name_factory_default("PuckCanvas", styles_module_default20);
33218
+ var import_jsx_runtime37 = require("react/jsx-runtime");
33219
+ var getClassName26 = get_class_name_factory_default("PuckCanvas", styles_module_default21);
33083
33220
  var ZOOM_ON_CHANGE = true;
33084
33221
  var Canvas = () => {
33085
33222
  const { status, iframe } = useAppContext();
33086
33223
  const { dispatch, state, overrides, setUi, zoomConfig, setZoomConfig } = useAppContext();
33087
33224
  const { ui } = state;
33088
- const frameRef = (0, import_react29.useRef)(null);
33089
- const [showTransition, setShowTransition] = (0, import_react29.useState)(false);
33090
- const defaultRender = (0, import_react29.useMemo)(() => {
33091
- const PuckDefault = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_jsx_runtime35.Fragment, { children });
33225
+ const frameRef = (0, import_react30.useRef)(null);
33226
+ const [showTransition, setShowTransition] = (0, import_react30.useState)(false);
33227
+ const defaultRender = (0, import_react30.useMemo)(() => {
33228
+ const PuckDefault = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_jsx_runtime37.Fragment, { children });
33092
33229
  return PuckDefault;
33093
33230
  }, []);
33094
- const CustomPreview = (0, import_react29.useMemo)(
33231
+ const CustomPreview = (0, import_react30.useMemo)(
33095
33232
  () => overrides.preview || defaultRender,
33096
33233
  [overrides]
33097
33234
  );
33098
- const getFrameDimensions = (0, import_react29.useCallback)(() => {
33235
+ const getFrameDimensions = (0, import_react30.useCallback)(() => {
33099
33236
  if (frameRef.current) {
33100
33237
  const frame = frameRef.current;
33101
33238
  const box = getBox(frame);
@@ -33103,7 +33240,7 @@ var Canvas = () => {
33103
33240
  }
33104
33241
  return { width: 0, height: 0 };
33105
33242
  }, [frameRef]);
33106
- const resetAutoZoom = (0, import_react29.useCallback)(
33243
+ const resetAutoZoom = (0, import_react30.useCallback)(
33107
33244
  (ui2 = state.ui) => {
33108
33245
  if (frameRef.current) {
33109
33246
  setZoomConfig(
@@ -33113,11 +33250,11 @@ var Canvas = () => {
33113
33250
  },
33114
33251
  [frameRef, zoomConfig, state.ui]
33115
33252
  );
33116
- (0, import_react29.useEffect)(() => {
33253
+ (0, import_react30.useEffect)(() => {
33117
33254
  setShowTransition(false);
33118
33255
  resetAutoZoom();
33119
33256
  }, [frameRef, ui.leftSideBarVisible, ui.rightSideBarVisible]);
33120
- (0, import_react29.useEffect)(() => {
33257
+ (0, import_react30.useEffect)(() => {
33121
33258
  const { height: frameHeight } = getFrameDimensions();
33122
33259
  if (ui.viewports.current.height === "auto") {
33123
33260
  setZoomConfig(__spreadProps(__spreadValues({}, zoomConfig), {
@@ -33125,7 +33262,7 @@ var Canvas = () => {
33125
33262
  }));
33126
33263
  }
33127
33264
  }, [zoomConfig.zoom]);
33128
- (0, import_react29.useEffect)(() => {
33265
+ (0, import_react30.useEffect)(() => {
33129
33266
  const observer = new ResizeObserver(() => {
33130
33267
  setShowTransition(false);
33131
33268
  resetAutoZoom();
@@ -33137,10 +33274,10 @@ var Canvas = () => {
33137
33274
  observer.disconnect();
33138
33275
  };
33139
33276
  }, []);
33140
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
33277
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
33141
33278
  "div",
33142
33279
  {
33143
- className: getClassName25({
33280
+ className: getClassName26({
33144
33281
  ready: status === "READY" || !iframe.enabled
33145
33282
  }),
33146
33283
  onClick: () => dispatch({
@@ -33149,7 +33286,7 @@ var Canvas = () => {
33149
33286
  recordHistory: true
33150
33287
  }),
33151
33288
  children: [
33152
- ui.viewports.controlsVisible && iframe.enabled && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: getClassName25("controls"), children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
33289
+ ui.viewports.controlsVisible && iframe.enabled && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: getClassName26("controls"), children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
33153
33290
  ViewportControls,
33154
33291
  {
33155
33292
  autoZoom: zoomConfig.autoZoom,
@@ -33174,10 +33311,10 @@ var Canvas = () => {
33174
33311
  }
33175
33312
  }
33176
33313
  ) }),
33177
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: getClassName25("inner"), ref: frameRef, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
33314
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: getClassName26("inner"), ref: frameRef, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
33178
33315
  "div",
33179
33316
  {
33180
- className: getClassName25("root"),
33317
+ className: getClassName26("root"),
33181
33318
  style: {
33182
33319
  width: iframe.enabled ? ui.viewports.current.width : "100%",
33183
33320
  height: zoomConfig.rootHeight,
@@ -33186,7 +33323,7 @@ var Canvas = () => {
33186
33323
  overflow: iframe.enabled ? void 0 : "auto"
33187
33324
  },
33188
33325
  suppressHydrationWarning: true,
33189
- children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CustomPreview, { children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Preview, {}) })
33326
+ children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(CustomPreview, { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Preview, {}) })
33190
33327
  }
33191
33328
  ) })
33192
33329
  ]
@@ -33227,9 +33364,9 @@ var insertComponent = (componentType, zone, index, {
33227
33364
  };
33228
33365
 
33229
33366
  // components/Puck/index.tsx
33230
- var import_jsx_runtime36 = require("react/jsx-runtime");
33231
- var getClassName26 = get_class_name_factory_default("Puck", styles_module_default14);
33232
- var getLayoutClassName = get_class_name_factory_default("PuckLayout", styles_module_default14);
33367
+ var import_jsx_runtime38 = require("react/jsx-runtime");
33368
+ var getClassName27 = get_class_name_factory_default("Puck", styles_module_default15);
33369
+ var getLayoutClassName = get_class_name_factory_default("PuckLayout", styles_module_default15);
33233
33370
  function Puck({
33234
33371
  children,
33235
33372
  config,
@@ -33238,6 +33375,7 @@ function Puck({
33238
33375
  onChange,
33239
33376
  onPublish,
33240
33377
  onAction,
33378
+ permissions = {},
33241
33379
  plugins = [],
33242
33380
  overrides = {},
33243
33381
  renderHeader,
@@ -33253,10 +33391,10 @@ function Puck({
33253
33391
  }) {
33254
33392
  var _a;
33255
33393
  const historyStore = useHistoryStore(initialHistory);
33256
- const [reducer] = (0, import_react30.useState)(
33394
+ const [reducer] = (0, import_react31.useState)(
33257
33395
  () => createReducer({ config, record: historyStore.record, onAction })
33258
33396
  );
33259
- const [initialAppState] = (0, import_react30.useState)(() => {
33397
+ const [initialAppState] = (0, import_react31.useState)(() => {
33260
33398
  var _a2, _b, _c, _d, _e, _f, _g;
33261
33399
  const initial = __spreadValues(__spreadValues({}, defaultAppState.ui), initialUi);
33262
33400
  let clientUiState = {};
@@ -33314,7 +33452,7 @@ function Puck({
33314
33452
  })
33315
33453
  });
33316
33454
  });
33317
- const [appState, dispatch] = (0, import_react30.useReducer)(
33455
+ const [appState, dispatch] = (0, import_react31.useReducer)(
33318
33456
  reducer,
33319
33457
  flushZones(initialAppState)
33320
33458
  );
@@ -33325,9 +33463,9 @@ function Puck({
33325
33463
  config,
33326
33464
  dispatch
33327
33465
  );
33328
- const [menuOpen, setMenuOpen] = (0, import_react30.useState)(false);
33466
+ const [menuOpen, setMenuOpen] = (0, import_react31.useState)(false);
33329
33467
  const { itemSelector, leftSideBarVisible, rightSideBarVisible } = ui;
33330
- const setItemSelector = (0, import_react30.useCallback)(
33468
+ const setItemSelector = (0, import_react31.useCallback)(
33331
33469
  (newItemSelector) => {
33332
33470
  if (newItemSelector === itemSelector) return;
33333
33471
  dispatch({
@@ -33339,13 +33477,13 @@ function Puck({
33339
33477
  [itemSelector]
33340
33478
  );
33341
33479
  const selectedItem = itemSelector ? getItem(itemSelector, data) : null;
33342
- (0, import_react30.useEffect)(() => {
33480
+ (0, import_react31.useEffect)(() => {
33343
33481
  if (onChange) onChange(data);
33344
33482
  }, [data]);
33345
33483
  const { onDragStartOrUpdate, placeholderStyle } = usePlaceholderStyle();
33346
- const [draggedItem, setDraggedItem] = (0, import_react30.useState)();
33484
+ const [draggedItem, setDraggedItem] = (0, import_react31.useState)();
33347
33485
  const rootProps = data.root.props || data.root;
33348
- const toggleSidebars = (0, import_react30.useCallback)(
33486
+ const toggleSidebars = (0, import_react31.useCallback)(
33349
33487
  (sidebar) => {
33350
33488
  const widerViewport = window.matchMedia("(min-width: 638px)").matches;
33351
33489
  const sideBarVisible = sidebar === "left" ? leftSideBarVisible : rightSideBarVisible;
@@ -33359,7 +33497,7 @@ function Puck({
33359
33497
  },
33360
33498
  [dispatch, leftSideBarVisible, rightSideBarVisible]
33361
33499
  );
33362
- (0, import_react30.useEffect)(() => {
33500
+ (0, import_react31.useEffect)(() => {
33363
33501
  if (!window.matchMedia("(min-width: 638px)").matches) {
33364
33502
  dispatch({
33365
33503
  type: "setUi",
@@ -33382,11 +33520,7 @@ function Puck({
33382
33520
  window.removeEventListener("resize", handleResize);
33383
33521
  };
33384
33522
  }, []);
33385
- const defaultRender = (0, import_react30.useMemo)(() => {
33386
- const PuckDefault = ({ children: children2 }) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_jsx_runtime36.Fragment, { children: children2 });
33387
- return PuckDefault;
33388
- }, []);
33389
- const defaultHeaderRender = (0, import_react30.useMemo)(() => {
33523
+ const defaultHeaderRender = (0, import_react31.useMemo)(() => {
33390
33524
  if (renderHeader) {
33391
33525
  console.warn(
33392
33526
  "`renderHeader` is deprecated. Please use `overrides.header` and the `usePuck` hook instead"
@@ -33394,48 +33528,49 @@ function Puck({
33394
33528
  const RenderHeader = (_a2) => {
33395
33529
  var _b = _a2, { actions } = _b, props = __objRest(_b, ["actions"]);
33396
33530
  const Comp = renderHeader;
33397
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState, children: actions }));
33531
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState, children: actions }));
33398
33532
  };
33399
33533
  return RenderHeader;
33400
33534
  }
33401
- return defaultRender;
33535
+ return DefaultOverride;
33402
33536
  }, [renderHeader]);
33403
- const defaultHeaderActionsRender = (0, import_react30.useMemo)(() => {
33537
+ const defaultHeaderActionsRender = (0, import_react31.useMemo)(() => {
33404
33538
  if (renderHeaderActions) {
33405
33539
  console.warn(
33406
33540
  "`renderHeaderActions` is deprecated. Please use `overrides.headerActions` and the `usePuck` hook instead."
33407
33541
  );
33408
33542
  const RenderHeader = (props) => {
33409
33543
  const Comp = renderHeaderActions;
33410
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState }));
33544
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState }));
33411
33545
  };
33412
33546
  return RenderHeader;
33413
33547
  }
33414
- return defaultRender;
33548
+ return DefaultOverride;
33415
33549
  }, [renderHeader]);
33416
- const loadedOverrides = (0, import_react30.useMemo)(() => {
33417
- return loadOverrides({ overrides, plugins });
33418
- }, [plugins]);
33419
- const CustomPuck = (0, import_react30.useMemo)(
33420
- () => loadedOverrides.puck || defaultRender,
33550
+ const loadedOverrides = useLoadedOverrides({
33551
+ overrides,
33552
+ plugins
33553
+ });
33554
+ const CustomPuck = (0, import_react31.useMemo)(
33555
+ () => loadedOverrides.puck || DefaultOverride,
33421
33556
  [loadedOverrides]
33422
33557
  );
33423
- const CustomHeader = (0, import_react30.useMemo)(
33558
+ const CustomHeader = (0, import_react31.useMemo)(
33424
33559
  () => loadedOverrides.header || defaultHeaderRender,
33425
33560
  [loadedOverrides]
33426
33561
  );
33427
- const CustomHeaderActions = (0, import_react30.useMemo)(
33562
+ const CustomHeaderActions = (0, import_react31.useMemo)(
33428
33563
  () => loadedOverrides.headerActions || defaultHeaderActionsRender,
33429
33564
  [loadedOverrides]
33430
33565
  );
33431
- const [mounted, setMounted] = (0, import_react30.useState)(false);
33432
- (0, import_react30.useEffect)(() => {
33566
+ const [mounted, setMounted] = (0, import_react31.useState)(false);
33567
+ (0, import_react31.useEffect)(() => {
33433
33568
  setMounted(true);
33434
33569
  }, []);
33435
33570
  const selectedComponentConfig = selectedItem && config.components[selectedItem.type];
33436
33571
  const selectedComponentLabel = selectedItem ? (_a = selectedComponentConfig == null ? void 0 : selectedComponentConfig["label"]) != null ? _a : selectedItem.type.toString() : "";
33437
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: `Puck ${getClassName26()}`, children: [
33438
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33572
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: `Puck ${getClassName27()}`, children: [
33573
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
33439
33574
  AppProvider,
33440
33575
  {
33441
33576
  value: {
@@ -33448,9 +33583,16 @@ function Puck({
33448
33583
  overrides: loadedOverrides,
33449
33584
  history,
33450
33585
  viewports,
33451
- iframe
33586
+ iframe,
33587
+ globalPermissions: __spreadValues({
33588
+ delete: true,
33589
+ drag: true,
33590
+ duplicate: true,
33591
+ insert: true,
33592
+ edit: true
33593
+ }, permissions)
33452
33594
  },
33453
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33595
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
33454
33596
  DragDropContext,
33455
33597
  {
33456
33598
  autoScrollerOptions: { disabled: dnd == null ? void 0 : dnd.disableAutoScroll },
@@ -33502,7 +33644,7 @@ function Puck({
33502
33644
  });
33503
33645
  }
33504
33646
  },
33505
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33647
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
33506
33648
  DropZoneProvider,
33507
33649
  {
33508
33650
  value: {
@@ -33516,7 +33658,7 @@ function Puck({
33516
33658
  mode: "edit",
33517
33659
  areaId: "root"
33518
33660
  },
33519
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(CustomPuck, { children: children || /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33661
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(CustomPuck, { children: children || /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
33520
33662
  "div",
33521
33663
  {
33522
33664
  className: getLayoutClassName({
@@ -33525,64 +33667,64 @@ function Puck({
33525
33667
  mounted,
33526
33668
  rightSideBarVisible
33527
33669
  }),
33528
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: getLayoutClassName("inner"), children: [
33529
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33670
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: getLayoutClassName("inner"), children: [
33671
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
33530
33672
  CustomHeader,
33531
33673
  {
33532
- 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)(
33674
+ 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)(
33533
33675
  Button,
33534
33676
  {
33535
33677
  onClick: () => {
33536
33678
  onPublish && onPublish(data);
33537
33679
  },
33538
- icon: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Globe, { size: "14px" }),
33680
+ icon: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Globe, { size: "14px" }),
33539
33681
  children: "Publish"
33540
33682
  }
33541
33683
  ) }) }),
33542
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("header", { className: getLayoutClassName("header"), children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: getLayoutClassName("headerInner"), children: [
33543
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: getLayoutClassName("headerToggle"), children: [
33544
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33684
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("header", { className: getLayoutClassName("header"), children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: getLayoutClassName("headerInner"), children: [
33685
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: getLayoutClassName("headerToggle"), children: [
33686
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
33545
33687
  "div",
33546
33688
  {
33547
33689
  className: getLayoutClassName(
33548
33690
  "leftSideBarToggle"
33549
33691
  ),
33550
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33692
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
33551
33693
  IconButton,
33552
33694
  {
33553
33695
  onClick: () => {
33554
33696
  toggleSidebars("left");
33555
33697
  },
33556
33698
  title: "Toggle left sidebar",
33557
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(PanelLeft, { focusable: "false" })
33699
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(PanelLeft, { focusable: "false" })
33558
33700
  }
33559
33701
  )
33560
33702
  }
33561
33703
  ),
33562
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33704
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
33563
33705
  "div",
33564
33706
  {
33565
33707
  className: getLayoutClassName(
33566
33708
  "rightSideBarToggle"
33567
33709
  ),
33568
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33710
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
33569
33711
  IconButton,
33570
33712
  {
33571
33713
  onClick: () => {
33572
33714
  toggleSidebars("right");
33573
33715
  },
33574
33716
  title: "Toggle right sidebar",
33575
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(PanelRight, { focusable: "false" })
33717
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(PanelRight, { focusable: "false" })
33576
33718
  }
33577
33719
  )
33578
33720
  }
33579
33721
  )
33580
33722
  ] }),
33581
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: getLayoutClassName("headerTitle"), children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(Heading, { rank: 2, size: "xs", children: [
33723
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: getLayoutClassName("headerTitle"), children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(Heading, { rank: 2, size: "xs", children: [
33582
33724
  headerTitle || rootProps.title || "Page",
33583
- headerPath && /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_jsx_runtime36.Fragment, { children: [
33725
+ headerPath && /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_jsx_runtime38.Fragment, { children: [
33584
33726
  " ",
33585
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33727
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
33586
33728
  "code",
33587
33729
  {
33588
33730
  className: getLayoutClassName("headerPath"),
@@ -33591,18 +33733,18 @@ function Puck({
33591
33733
  )
33592
33734
  ] })
33593
33735
  ] }) }),
33594
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: getLayoutClassName("headerTools"), children: [
33595
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: getLayoutClassName("menuButton"), children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33736
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: getLayoutClassName("headerTools"), children: [
33737
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: getLayoutClassName("menuButton"), children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
33596
33738
  IconButton,
33597
33739
  {
33598
33740
  onClick: () => {
33599
33741
  return setMenuOpen(!menuOpen);
33600
33742
  },
33601
33743
  title: "Toggle menu bar",
33602
- children: menuOpen ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ChevronUp, { focusable: "false" }) : /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ChevronDown, { focusable: "false" })
33744
+ children: menuOpen ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ChevronUp, { focusable: "false" }) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ChevronDown, { focusable: "false" })
33603
33745
  }
33604
33746
  ) }),
33605
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33747
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
33606
33748
  MenuBar,
33607
33749
  {
33608
33750
  appState,
@@ -33610,13 +33752,13 @@ function Puck({
33610
33752
  dispatch,
33611
33753
  onPublish,
33612
33754
  menuOpen,
33613
- renderHeaderActions: () => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(CustomHeaderActions, { children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33755
+ renderHeaderActions: () => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(CustomHeaderActions, { children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
33614
33756
  Button,
33615
33757
  {
33616
33758
  onClick: () => {
33617
33759
  onPublish && onPublish(data);
33618
33760
  },
33619
- icon: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Globe, { size: "14px" }),
33761
+ icon: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Globe, { size: "14px" }),
33620
33762
  children: "Publish"
33621
33763
  }
33622
33764
  ) }),
@@ -33627,19 +33769,19 @@ function Puck({
33627
33769
  ] }) })
33628
33770
  }
33629
33771
  ),
33630
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: getLayoutClassName("leftSideBar"), children: [
33631
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(SidebarSection, { title: "Components", noBorderTop: true, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Components, {}) }),
33632
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(SidebarSection, { title: "Outline", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Outline, {}) })
33772
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: getLayoutClassName("leftSideBar"), children: [
33773
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(SidebarSection, { title: "Components", noBorderTop: true, children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Components, {}) }),
33774
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(SidebarSection, { title: "Outline", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Outline, {}) })
33633
33775
  ] }),
33634
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Canvas, {}),
33635
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: getLayoutClassName("rightSideBar"), children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33776
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Canvas, {}),
33777
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: getLayoutClassName("rightSideBar"), children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
33636
33778
  SidebarSection,
33637
33779
  {
33638
33780
  noPadding: true,
33639
33781
  noBorderTop: true,
33640
33782
  showBreadcrumbs: true,
33641
33783
  title: selectedItem ? selectedComponentLabel : "Page",
33642
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Fields, {})
33784
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Fields, {})
33643
33785
  }
33644
33786
  ) })
33645
33787
  ] })
@@ -33651,7 +33793,7 @@ function Puck({
33651
33793
  )
33652
33794
  }
33653
33795
  ),
33654
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { id: "puck-portal-root", className: getClassName26("portal") })
33796
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { id: "puck-portal-root", className: getClassName27("portal") })
33655
33797
  ] });
33656
33798
  }
33657
33799
  Puck.Components = Components;
@@ -33661,7 +33803,7 @@ Puck.Preview = Preview;
33661
33803
 
33662
33804
  // components/Render/index.tsx
33663
33805
  init_react_import();
33664
- var import_jsx_runtime37 = require("react/jsx-runtime");
33806
+ var import_jsx_runtime39 = require("react/jsx-runtime");
33665
33807
  function Render({
33666
33808
  config,
33667
33809
  data
@@ -33674,7 +33816,7 @@ function Render({
33674
33816
  const rootProps = defaultedData.root.props || defaultedData.root;
33675
33817
  const title = (rootProps == null ? void 0 : rootProps.title) || "";
33676
33818
  if ((_a = config.root) == null ? void 0 : _a.render) {
33677
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DropZoneProvider, { value: { data: defaultedData, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
33819
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(DropZoneProvider, { value: { data: defaultedData, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
33678
33820
  config.root.render,
33679
33821
  __spreadProps(__spreadValues({}, rootProps), {
33680
33822
  puck: {
@@ -33684,11 +33826,11 @@ function Render({
33684
33826
  title,
33685
33827
  editMode: false,
33686
33828
  id: "puck-root",
33687
- children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DropZone, { zone: rootDroppableId })
33829
+ children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(DropZone, { zone: rootDroppableId })
33688
33830
  })
33689
33831
  ) });
33690
33832
  }
33691
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DropZoneProvider, { value: { data: defaultedData, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DropZone, { zone: rootDroppableId }) });
33833
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(DropZoneProvider, { value: { data: defaultedData, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(DropZone, { zone: rootDroppableId }) });
33692
33834
  }
33693
33835
 
33694
33836
  // lib/migrate.ts
@@ -33796,12 +33938,24 @@ var usePuck = () => {
33796
33938
  config,
33797
33939
  history,
33798
33940
  dispatch,
33799
- selectedItem
33941
+ selectedItem: currentItem,
33942
+ globalPermissions
33800
33943
  } = useAppContext();
33801
33944
  return {
33802
33945
  appState,
33803
33946
  config,
33804
33947
  dispatch,
33948
+ getPermissions: ({
33949
+ item,
33950
+ type
33951
+ } = {}) => {
33952
+ return getPermissions({
33953
+ selectedItem: item || currentItem,
33954
+ type,
33955
+ globalPermissions: globalPermissions || {},
33956
+ config
33957
+ });
33958
+ },
33805
33959
  history: {
33806
33960
  back: history.back,
33807
33961
  forward: history.forward,
@@ -33813,11 +33967,13 @@ var usePuck = () => {
33813
33967
  index: history.historyStore.index,
33814
33968
  historyStore: history.historyStore
33815
33969
  },
33816
- selectedItem: selectedItem || null
33970
+ selectedItem: currentItem || null
33817
33971
  };
33818
33972
  };
33819
33973
  // Annotate the CommonJS export names for ESM import in node:
33820
33974
  0 && (module.exports = {
33975
+ Action,
33976
+ ActionBar,
33821
33977
  AutoField,
33822
33978
  AutoFieldPrivate,
33823
33979
  Button,