@measured/puck 0.16.0-canary.c7007ac → 0.16.0-canary.d08a794

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -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,151 @@ 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
+
30543
+ // lib/get-changed.ts
30544
+ init_react_import();
30545
+ var getChanged = (newItem, oldItem) => {
30546
+ return newItem ? Object.keys(newItem.props || {}).reduce((acc, item) => {
30547
+ const newItemProps = (newItem == null ? void 0 : newItem.props) || {};
30548
+ const oldItemProps = (oldItem == null ? void 0 : oldItem.props) || {};
30549
+ return __spreadProps(__spreadValues({}, acc), {
30550
+ [item]: oldItemProps[item] !== newItemProps[item]
30551
+ });
30552
+ }, {}) : {};
30553
+ };
30554
+
30555
+ // lib/resolve-permissions.ts
30556
+ init_react_import();
30557
+ var resolvePermissions = ({
30558
+ selectedItem,
30559
+ config,
30560
+ changed,
30561
+ lastPermissions,
30562
+ initialPermissions,
30563
+ appState
30564
+ }) => {
30565
+ const componentConfig = selectedItem ? config.components[selectedItem.type] : null;
30566
+ if (selectedItem && (componentConfig == null ? void 0 : componentConfig.resolvePermissions)) {
30567
+ return componentConfig.resolvePermissions(selectedItem, {
30568
+ changed,
30569
+ lastPermissions,
30570
+ initialPermissions,
30571
+ appState
30572
+ });
30573
+ }
30574
+ return {};
30575
+ };
30576
+
30577
+ // lib/get-permissions.ts
30578
+ var cache = { lastPermissions: {}, lastSelected: {} };
30579
+ var getPermissions = ({
30580
+ selectedItem,
30581
+ type,
30582
+ globalPermissions,
30583
+ config,
30584
+ appState
30585
+ }) => {
30586
+ const componentType = type || selectedItem && selectedItem.type || "";
30587
+ const componentId = selectedItem && selectedItem.props.id || "";
30588
+ let componentPermissions = getInitialPermissions({
30589
+ componentType,
30590
+ config,
30591
+ globalPermissions
30592
+ });
30593
+ const changed = getChanged(selectedItem, cache.lastSelected);
30594
+ if (Object.values(changed).some((el) => el === true)) {
30595
+ const resolvedPermissions = resolvePermissions({
30596
+ selectedItem,
30597
+ config,
30598
+ changed,
30599
+ lastPermissions: cache.lastPermissions[componentId] || componentPermissions,
30600
+ initialPermissions: componentPermissions,
30601
+ appState
30602
+ });
30603
+ if (resolvedPermissions !== void 0) {
30604
+ componentPermissions = __spreadValues(__spreadValues({}, componentPermissions), resolvedPermissions);
30605
+ }
30606
+ cache.lastSelected = selectedItem;
30607
+ cache.lastPermissions[componentId] = componentPermissions;
30608
+ return componentPermissions;
30609
+ }
30610
+ if (Object.keys(componentId && cache.lastPermissions[componentId]).length !== 0) {
30611
+ componentPermissions = cache.lastPermissions[componentId];
30612
+ }
30613
+ return componentPermissions;
30614
+ };
30615
+ var getInitialPermissions = ({
30616
+ componentType,
30617
+ globalPermissions,
30618
+ config
30619
+ }) => {
30620
+ var _a;
30621
+ return __spreadValues(__spreadValues({}, globalPermissions), (_a = config.components[componentType]) == null ? void 0 : _a.permissions);
30622
+ };
30623
+
30449
30624
  // 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);
30625
+ var import_jsx_runtime23 = require("react/jsx-runtime");
30626
+ var getClassName17 = get_class_name_factory_default("DraggableComponent", styles_module_default11);
30452
30627
  var space = 8;
30453
30628
  var actionsOverlayTop = space * 6.5;
30454
30629
  var actionsTop = -(actionsOverlayTop - 8);
30455
30630
  var actionsRight = space;
30631
+ var DefaultActionBar = ({
30632
+ label,
30633
+ children
30634
+ }) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(ActionBar, { label, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DefaultOverride, { children }) });
30456
30635
  var DraggableComponent = ({
30457
30636
  children,
30458
30637
  id,
@@ -30475,30 +30654,52 @@ var DraggableComponent = ({
30475
30654
  indicativeHover = false,
30476
30655
  style
30477
30656
  }) => {
30478
- const { zoomConfig } = useAppContext();
30657
+ const {
30658
+ zoomConfig,
30659
+ status,
30660
+ overrides,
30661
+ plugins,
30662
+ selectedItem,
30663
+ config,
30664
+ globalPermissions,
30665
+ state
30666
+ } = useAppContext();
30479
30667
  const isModifierHeld = useModifierHeld("Alt");
30480
- const { status } = useAppContext();
30481
30668
  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)(() => {
30669
+ (0, import_react15.useEffect)(onMount, []);
30670
+ const [disableSecondaryAnimation, setDisableSecondaryAnimation] = (0, import_react15.useState)(false);
30671
+ (0, import_react15.useEffect)(() => {
30485
30672
  if (isIos()) {
30486
30673
  setDisableSecondaryAnimation(true);
30487
30674
  }
30488
30675
  }, []);
30489
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
30676
+ const loadedOverrides = useLoadedOverrides({
30677
+ overrides,
30678
+ plugins
30679
+ });
30680
+ const CustomActionBar = (0, import_react15.useMemo)(
30681
+ () => loadedOverrides.actionBar || DefaultActionBar,
30682
+ [loadedOverrides]
30683
+ );
30684
+ const permissions = selectedItem && getPermissions({
30685
+ selectedItem,
30686
+ globalPermissions: globalPermissions || {},
30687
+ config,
30688
+ appState: state
30689
+ });
30690
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
30490
30691
  El,
30491
30692
  {
30492
30693
  draggableId: id,
30493
30694
  index,
30494
30695
  isDragDisabled,
30495
30696
  disableSecondaryAnimation,
30496
- children: (provided, snapshot) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
30697
+ children: (provided, snapshot) => /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
30497
30698
  "div",
30498
30699
  __spreadProps(__spreadValues(__spreadValues({
30499
30700
  ref: provided.innerRef
30500
30701
  }, provided.draggableProps), provided.dragHandleProps), {
30501
- className: getClassName16({
30702
+ className: getClassName17({
30502
30703
  isSelected,
30503
30704
  isModifierHeld,
30504
30705
  isDragging: snapshot.isDragging,
@@ -30507,7 +30708,7 @@ var DraggableComponent = ({
30507
30708
  indicativeHover
30508
30709
  }),
30509
30710
  style: __spreadProps(__spreadValues(__spreadValues({}, style), provided.draggableProps.style), {
30510
- cursor: isModifierHeld ? "initial" : "grab"
30711
+ cursor: isModifierHeld || isDragDisabled ? "initial" : "grab"
30511
30712
  }),
30512
30713
  onMouseOver,
30513
30714
  onMouseOut,
@@ -30516,34 +30717,33 @@ var DraggableComponent = ({
30516
30717
  onClick,
30517
30718
  children: [
30518
30719
  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)(
30720
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: getClassName17("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Loader, {}) }),
30721
+ isSelected && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
30521
30722
  "div",
30522
30723
  {
30523
- className: getClassName16("actionsOverlay"),
30724
+ className: getClassName17("actionsOverlay"),
30524
30725
  style: {
30525
30726
  top: actionsOverlayTop / zoomConfig.zoom
30526
30727
  },
30527
- children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
30728
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
30528
30729
  "div",
30529
30730
  {
30530
- className: getClassName16("actions"),
30731
+ className: getClassName17("actions"),
30531
30732
  style: {
30532
30733
  transform: `scale(${1 / zoomConfig.zoom}`,
30533
30734
  top: actionsTop / zoomConfig.zoom,
30534
30735
  right: actionsRight / zoomConfig.zoom
30535
30736
  },
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
- ]
30737
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(CustomActionBar, { label, children: [
30738
+ 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 }) }),
30739
+ 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 }) })
30740
+ ] })
30541
30741
  }
30542
30742
  )
30543
30743
  }
30544
30744
  ),
30545
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassName16("overlay") }),
30546
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassName16("contents"), children })
30745
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: getClassName17("overlay") }),
30746
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: getClassName17("contents"), children })
30547
30747
  ]
30548
30748
  })
30549
30749
  )
@@ -30554,11 +30754,11 @@ var DraggableComponent = ({
30554
30754
 
30555
30755
  // css-module:/home/runner/work/puck/puck/packages/core/components/DropZone/styles.module.css#css-module
30556
30756
  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" };
30757
+ 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
30758
 
30559
30759
  // components/DropZone/context.tsx
30560
30760
  init_react_import();
30561
- var import_react15 = require("react");
30761
+ var import_react16 = require("react");
30562
30762
  var import_use_debounce2 = require("use-debounce");
30563
30763
 
30564
30764
  // lib/get-zone-id.ts
@@ -30574,30 +30774,30 @@ var getZoneId = (zoneCompound) => {
30574
30774
  };
30575
30775
 
30576
30776
  // components/DropZone/context.tsx
30577
- var import_jsx_runtime22 = require("react/jsx-runtime");
30578
- var dropZoneContext = (0, import_react15.createContext)(null);
30777
+ var import_jsx_runtime24 = require("react/jsx-runtime");
30778
+ var dropZoneContext = (0, import_react16.createContext)(null);
30579
30779
  var DropZoneProvider = ({
30580
30780
  children,
30581
30781
  value
30582
30782
  }) => {
30583
- const [hoveringArea, setHoveringArea] = (0, import_react15.useState)(null);
30584
- const [hoveringZone, setHoveringZone] = (0, import_react15.useState)(
30783
+ const [hoveringArea, setHoveringArea] = (0, import_react16.useState)(null);
30784
+ const [hoveringZone, setHoveringZone] = (0, import_react16.useState)(
30585
30785
  rootDroppableId
30586
30786
  );
30587
- const [hoveringComponent, setHoveringComponent] = (0, import_react15.useState)();
30787
+ const [hoveringComponent, setHoveringComponent] = (0, import_react16.useState)();
30588
30788
  const [hoveringAreaDb] = (0, import_use_debounce2.useDebounce)(hoveringArea, 75, { leading: false });
30589
- const [areasWithZones, setAreasWithZones] = (0, import_react15.useState)(
30789
+ const [areasWithZones, setAreasWithZones] = (0, import_react16.useState)(
30590
30790
  {}
30591
30791
  );
30592
- const [activeZones, setActiveZones] = (0, import_react15.useState)({});
30792
+ const [activeZones, setActiveZones] = (0, import_react16.useState)({});
30593
30793
  const { dispatch = null } = value ? value : {};
30594
- const registerZoneArea = (0, import_react15.useCallback)(
30794
+ const registerZoneArea = (0, import_react16.useCallback)(
30595
30795
  (area) => {
30596
30796
  setAreasWithZones((latest) => __spreadProps(__spreadValues({}, latest), { [area]: true }));
30597
30797
  },
30598
30798
  [setAreasWithZones]
30599
30799
  );
30600
- const registerZone = (0, import_react15.useCallback)(
30800
+ const registerZone = (0, import_react16.useCallback)(
30601
30801
  (zoneCompound) => {
30602
30802
  if (!dispatch) {
30603
30803
  return;
@@ -30610,7 +30810,7 @@ var DropZoneProvider = ({
30610
30810
  },
30611
30811
  [setActiveZones, dispatch]
30612
30812
  );
30613
- const unregisterZone = (0, import_react15.useCallback)(
30813
+ const unregisterZone = (0, import_react16.useCallback)(
30614
30814
  (zoneCompound) => {
30615
30815
  if (!dispatch) {
30616
30816
  return;
@@ -30625,8 +30825,8 @@ var DropZoneProvider = ({
30625
30825
  },
30626
30826
  [setActiveZones, dispatch]
30627
30827
  );
30628
- const [pathData, setPathData] = (0, import_react15.useState)();
30629
- const registerPath = (0, import_react15.useCallback)(
30828
+ const [pathData, setPathData] = (0, import_react16.useState)();
30829
+ const registerPath = (0, import_react16.useCallback)(
30630
30830
  (selector) => {
30631
30831
  if (!(value == null ? void 0 : value.data)) {
30632
30832
  return;
@@ -30651,8 +30851,8 @@ var DropZoneProvider = ({
30651
30851
  },
30652
30852
  [value, setPathData]
30653
30853
  );
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)(
30854
+ const [zoneWillDrag, setZoneWillDrag] = (0, import_react16.useState)("");
30855
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, { children: value && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
30656
30856
  dropZoneContext.Provider,
30657
30857
  {
30658
30858
  value: __spreadValues({
@@ -30678,12 +30878,12 @@ var DropZoneProvider = ({
30678
30878
  };
30679
30879
 
30680
30880
  // 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);
30881
+ var import_jsx_runtime25 = require("react/jsx-runtime");
30882
+ var getClassName18 = get_class_name_factory_default("DropZone", styles_module_default12);
30683
30883
  function DropZoneEdit({ zone, allow, disallow, style }) {
30684
30884
  var _a;
30685
30885
  const appContext2 = useAppContext();
30686
- const ctx = (0, import_react16.useContext)(dropZoneContext);
30886
+ const ctx = (0, import_react17.useContext)(dropZoneContext);
30687
30887
  const {
30688
30888
  // These all need setting via context
30689
30889
  data,
@@ -30702,12 +30902,12 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30702
30902
  } = ctx || {};
30703
30903
  let content = data.content || [];
30704
30904
  let zoneCompound = rootDroppableId;
30705
- (0, import_react16.useEffect)(() => {
30905
+ (0, import_react17.useEffect)(() => {
30706
30906
  if (areaId && registerZoneArea) {
30707
30907
  registerZoneArea(areaId);
30708
30908
  }
30709
30909
  }, [areaId]);
30710
- (0, import_react16.useEffect)(() => {
30910
+ (0, import_react17.useEffect)(() => {
30711
30911
  if (ctx == null ? void 0 : ctx.registerZone) {
30712
30912
  ctx == null ? void 0 : ctx.registerZone(zoneCompound);
30713
30913
  }
@@ -30733,7 +30933,7 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30733
30933
  const draggingOverArea = userIsDragging && zoneArea === draggedSourceArea;
30734
30934
  const draggingNewComponent = draggedSourceId == null ? void 0 : draggedSourceId.startsWith("component-list");
30735
30935
  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." });
30936
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { children: "DropZone requires context to work." });
30737
30937
  }
30738
30938
  const {
30739
30939
  hoveringArea = "root",
@@ -30774,10 +30974,10 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30774
30974
  }
30775
30975
  const selectedItem = itemSelector ? getItem(itemSelector, data) : null;
30776
30976
  const isAreaSelected = selectedItem && zoneArea === selectedItem.props.id;
30777
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
30977
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
30778
30978
  "div",
30779
30979
  {
30780
- className: getClassName17({
30980
+ className: getClassName18({
30781
30981
  isRootZone,
30782
30982
  userIsDragging,
30783
30983
  draggingOverArea,
@@ -30791,17 +30991,17 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30791
30991
  onMouseUp: () => {
30792
30992
  setZoneWillDrag("");
30793
30993
  },
30794
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
30994
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
30795
30995
  Droppable,
30796
30996
  {
30797
30997
  droppableId: zoneCompound,
30798
30998
  direction: "vertical",
30799
30999
  isDropDisabled: !isEnabled,
30800
31000
  children: (provided, snapshot) => {
30801
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
31001
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
30802
31002
  "div",
30803
31003
  __spreadProps(__spreadValues({}, (provided || { droppableProps: {} }).droppableProps), {
30804
- className: getClassName17("content"),
31004
+ className: getClassName18("content"),
30805
31005
  ref: provided == null ? void 0 : provided.innerRef,
30806
31006
  style,
30807
31007
  id: zoneCompound,
@@ -30828,25 +31028,34 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30828
31028
  "draggable-"
30829
31029
  )[1] === componentId;
30830
31030
  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: [
31031
+ 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
31032
  "No configuration for ",
30833
31033
  item.type
30834
31034
  ] });
30835
31035
  const componentConfig = config.components[item.type];
30836
31036
  const label = (_b = componentConfig == null ? void 0 : componentConfig["label"]) != null ? _b : item.type.toString();
30837
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
31037
+ const canDrag = getPermissions({
31038
+ selectedItem: getItem(
31039
+ { index: i, zone: zoneCompound },
31040
+ appContext2.state.data
31041
+ ),
31042
+ config: appContext2.config,
31043
+ globalPermissions: appContext2.globalPermissions || {},
31044
+ appState: appContext2.state
31045
+ }).drag;
31046
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
30838
31047
  "div",
30839
31048
  {
30840
- className: getClassName17("item"),
31049
+ className: getClassName18("item"),
30841
31050
  style: { zIndex: isDragging ? 1 : void 0 },
30842
31051
  children: [
30843
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
31052
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
30844
31053
  DropZoneProvider,
30845
31054
  {
30846
31055
  value: __spreadProps(__spreadValues({}, ctx), {
30847
31056
  areaId: componentId
30848
31057
  }),
30849
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
31058
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
30850
31059
  DraggableComponent,
30851
31060
  {
30852
31061
  label,
@@ -30855,6 +31064,7 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30855
31064
  isSelected,
30856
31065
  isLocked: userIsDragging,
30857
31066
  forceHover: hoveringComponent === componentId && !userIsDragging,
31067
+ isDragDisabled: !canDrag,
30858
31068
  indicativeHover: userIsDragging && containsZone && hoveringArea === componentId,
30859
31069
  isLoading: (_c = appContext2.componentState[componentId]) == null ? void 0 : _c.loading,
30860
31070
  onMount: () => {
@@ -30913,15 +31123,15 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30913
31123
  style: {
30914
31124
  pointerEvents: userIsDragging && draggingNewComponent ? "all" : void 0
30915
31125
  },
30916
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: getClassName17("renderWrapper"), children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Render2, __spreadValues({}, defaultedProps)) })
31126
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: getClassName18("renderWrapper"), children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Render2, __spreadValues({}, defaultedProps)) })
30917
31127
  }
30918
31128
  )
30919
31129
  }
30920
31130
  ),
30921
- userIsDragging && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
31131
+ userIsDragging && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
30922
31132
  "div",
30923
31133
  {
30924
- className: getClassName17("hitbox"),
31134
+ className: getClassName18("hitbox"),
30925
31135
  onMouseOver: (e) => {
30926
31136
  e.stopPropagation();
30927
31137
  setHoveringArea(zoneArea);
@@ -30935,7 +31145,7 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30935
31145
  );
30936
31146
  }),
30937
31147
  provided == null ? void 0 : provided.placeholder,
30938
- (snapshot == null ? void 0 : snapshot.isDraggingOver) && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
31148
+ (snapshot == null ? void 0 : snapshot.isDraggingOver) && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
30939
31149
  "div",
30940
31150
  {
30941
31151
  "data-puck-placeholder": true,
@@ -30956,7 +31166,7 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30956
31166
  );
30957
31167
  }
30958
31168
  function DropZoneRender({ zone }) {
30959
- const ctx = (0, import_react16.useContext)(dropZoneContext);
31169
+ const ctx = (0, import_react17.useContext)(dropZoneContext);
30960
31170
  const { data, areaId = "root", config } = ctx || {};
30961
31171
  let zoneCompound = rootDroppableId;
30962
31172
  let content = (data == null ? void 0 : data.content) || [];
@@ -30967,14 +31177,14 @@ function DropZoneRender({ zone }) {
30967
31177
  zoneCompound = `${areaId}:${zone}`;
30968
31178
  content = setupZone(data, zoneCompound).zones[zoneCompound];
30969
31179
  }
30970
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_jsx_runtime23.Fragment, { children: content.map((item) => {
31180
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_jsx_runtime25.Fragment, { children: content.map((item) => {
30971
31181
  const Component = config.components[item.type];
30972
31182
  if (Component) {
30973
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
31183
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
30974
31184
  DropZoneProvider,
30975
31185
  {
30976
31186
  value: { data, config, areaId: item.props.id },
30977
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
31187
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
30978
31188
  Component.render,
30979
31189
  __spreadProps(__spreadValues({}, item.props), {
30980
31190
  puck: { renderDropZone: DropZone }
@@ -30988,20 +31198,20 @@ function DropZoneRender({ zone }) {
30988
31198
  }) });
30989
31199
  }
30990
31200
  function DropZone(props) {
30991
- const ctx = (0, import_react16.useContext)(dropZoneContext);
31201
+ const ctx = (0, import_react17.useContext)(dropZoneContext);
30992
31202
  if ((ctx == null ? void 0 : ctx.mode) === "edit") {
30993
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DropZoneEdit, __spreadValues({}, props));
31203
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(DropZoneEdit, __spreadValues({}, props));
30994
31204
  }
30995
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DropZoneRender, __spreadValues({}, props));
31205
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(DropZoneRender, __spreadValues({}, props));
30996
31206
  }
30997
31207
 
30998
31208
  // components/Puck/index.tsx
30999
31209
  init_react_import();
31000
- var import_react30 = require("react");
31210
+ var import_react31 = require("react");
31001
31211
 
31002
31212
  // lib/use-placeholder-style.ts
31003
31213
  init_react_import();
31004
- var import_react17 = require("react");
31214
+ var import_react18 = require("react");
31005
31215
 
31006
31216
  // lib/get-frame.ts
31007
31217
  init_react_import();
@@ -31016,7 +31226,7 @@ var getFrame = () => {
31016
31226
  // lib/use-placeholder-style.ts
31017
31227
  var usePlaceholderStyle = () => {
31018
31228
  const queryAttr = "data-rfd-drag-handle-draggable-id";
31019
- const [placeholderStyle, setPlaceholderStyle] = (0, import_react17.useState)();
31229
+ const [placeholderStyle, setPlaceholderStyle] = (0, import_react18.useState)();
31020
31230
  const onDragStartOrUpdate = (draggedItem) => {
31021
31231
  var _a;
31022
31232
  const draggableId = draggedItem.draggableId;
@@ -31065,11 +31275,11 @@ init_react_import();
31065
31275
 
31066
31276
  // css-module:/home/runner/work/puck/puck/packages/core/components/SidebarSection/styles.module.css#css-module
31067
31277
  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" };
31278
+ 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
31279
 
31070
31280
  // lib/use-breadcrumbs.ts
31071
31281
  init_react_import();
31072
- var import_react18 = require("react");
31282
+ var import_react19 = require("react");
31073
31283
  var convertPathDataToBreadcrumbs = (selectedItem, pathData, data) => {
31074
31284
  const id = selectedItem ? selectedItem == null ? void 0 : selectedItem.props.id : "";
31075
31285
  const currentPathData = pathData && id && pathData[id] ? __spreadValues({}, pathData[id]) : { label: "Page", path: [] };
@@ -31119,8 +31329,8 @@ var useBreadcrumbs = (renderCount) => {
31119
31329
  state: { data },
31120
31330
  selectedItem
31121
31331
  } = useAppContext();
31122
- const dzContext = (0, import_react18.useContext)(dropZoneContext);
31123
- return (0, import_react18.useMemo)(() => {
31332
+ const dzContext = (0, import_react19.useContext)(dropZoneContext);
31333
+ return (0, import_react19.useMemo)(() => {
31124
31334
  const breadcrumbs = convertPathDataToBreadcrumbs(
31125
31335
  selectedItem,
31126
31336
  dzContext == null ? void 0 : dzContext.pathData,
@@ -31134,8 +31344,8 @@ var useBreadcrumbs = (renderCount) => {
31134
31344
  };
31135
31345
 
31136
31346
  // 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);
31347
+ var import_jsx_runtime26 = require("react/jsx-runtime");
31348
+ var getClassName19 = get_class_name_factory_default("SidebarSection", styles_module_default13);
31139
31349
  var SidebarSection = ({
31140
31350
  children,
31141
31351
  title,
@@ -31147,28 +31357,28 @@ var SidebarSection = ({
31147
31357
  }) => {
31148
31358
  const { setUi } = useAppContext();
31149
31359
  const breadcrumbs = useBreadcrumbs(1);
31150
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
31360
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
31151
31361
  "div",
31152
31362
  {
31153
- className: getClassName18({ noBorderTop, noPadding }),
31363
+ className: getClassName19({ noBorderTop, noPadding }),
31154
31364
  style: { background },
31155
31365
  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)(
31366
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: getClassName19("title"), children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: getClassName19("breadcrumbs"), children: [
31367
+ showBreadcrumbs ? breadcrumbs.map((breadcrumb, i) => /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: getClassName19("breadcrumb"), children: [
31368
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
31159
31369
  "button",
31160
31370
  {
31161
- className: getClassName18("breadcrumbLabel"),
31371
+ className: getClassName19("breadcrumbLabel"),
31162
31372
  onClick: () => setUi({ itemSelector: breadcrumb.selector }),
31163
31373
  children: breadcrumb.label
31164
31374
  }
31165
31375
  ),
31166
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(ChevronRight, { size: 16 })
31376
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(ChevronRight, { size: 16 })
31167
31377
  ] }, 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 }) })
31378
+ /* @__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
31379
  ] }) }),
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 }) })
31380
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: getClassName19("content"), children }),
31381
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: getClassName19("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Loader, { size: 32 }) })
31172
31382
  ]
31173
31383
  }
31174
31384
  );
@@ -31282,34 +31492,37 @@ var replaceAction = (data, action) => {
31282
31492
  })
31283
31493
  });
31284
31494
  };
31285
- var reduceData = (data, action, config) => {
31286
- if (action.type === "insert") {
31287
- const emptyComponentData = {
31288
- type: action.componentType,
31289
- props: __spreadProps(__spreadValues({}, config.components[action.componentType].defaultProps || {}), {
31290
- id: generateId(action.componentType)
31291
- })
31292
- };
31293
- if (action.destinationZone === rootDroppableId) {
31294
- return __spreadProps(__spreadValues({}, data), {
31295
- content: insert(
31296
- data.content,
31297
- action.destinationIndex,
31298
- emptyComponentData
31299
- )
31300
- });
31301
- }
31302
- const newData = setupZone(data, action.destinationZone);
31495
+ var insertAction = (data, action, config) => {
31496
+ const emptyComponentData = {
31497
+ type: action.componentType,
31498
+ props: __spreadProps(__spreadValues({}, config.components[action.componentType].defaultProps || {}), {
31499
+ id: action.id || generateId(action.componentType)
31500
+ })
31501
+ };
31502
+ if (action.destinationZone === rootDroppableId) {
31303
31503
  return __spreadProps(__spreadValues({}, data), {
31304
- zones: __spreadProps(__spreadValues({}, newData.zones), {
31305
- [action.destinationZone]: insert(
31306
- newData.zones[action.destinationZone],
31307
- action.destinationIndex,
31308
- emptyComponentData
31309
- )
31310
- })
31504
+ content: insert(
31505
+ data.content,
31506
+ action.destinationIndex,
31507
+ emptyComponentData
31508
+ )
31311
31509
  });
31312
31510
  }
31511
+ const newData = setupZone(data, action.destinationZone);
31512
+ return __spreadProps(__spreadValues({}, data), {
31513
+ zones: __spreadProps(__spreadValues({}, newData.zones), {
31514
+ [action.destinationZone]: insert(
31515
+ newData.zones[action.destinationZone],
31516
+ action.destinationIndex,
31517
+ emptyComponentData
31518
+ )
31519
+ })
31520
+ });
31521
+ };
31522
+ var reduceData = (data, action, config) => {
31523
+ if (action.type === "insert") {
31524
+ return insertAction(data, action, config);
31525
+ }
31313
31526
  if (action.type === "duplicate") {
31314
31527
  const item = getItem(
31315
31528
  { index: action.sourceIndex, zone: action.sourceZone },
@@ -31534,25 +31747,11 @@ var flushZones = (appState) => {
31534
31747
 
31535
31748
  // lib/use-resolved-data.ts
31536
31749
  init_react_import();
31537
- var import_react19 = require("react");
31750
+ var import_react20 = require("react");
31538
31751
 
31539
31752
  // lib/resolve-component-data.ts
31540
31753
  init_react_import();
31541
-
31542
- // lib/get-changed.ts
31543
- init_react_import();
31544
- var getChanged = (newItem, oldItem) => {
31545
- return newItem ? Object.keys(newItem.props || {}).reduce((acc, item) => {
31546
- const newItemProps = (newItem == null ? void 0 : newItem.props) || {};
31547
- const oldItemProps = (oldItem == null ? void 0 : oldItem.props) || {};
31548
- return __spreadProps(__spreadValues({}, acc), {
31549
- [item]: oldItemProps[item] !== newItemProps[item]
31550
- });
31551
- }, {}) : {};
31552
- };
31553
-
31554
- // lib/resolve-component-data.ts
31555
- var cache = { lastChange: {} };
31754
+ var cache2 = { lastChange: {} };
31556
31755
  var resolveAllComponentData = (content, config, onResolveStart, onResolveEnd) => __async(void 0, null, function* () {
31557
31756
  return yield Promise.all(
31558
31757
  content.map((item) => __async(void 0, null, function* () {
@@ -31568,7 +31767,7 @@ var resolveAllComponentData = (content, config, onResolveStart, onResolveEnd) =>
31568
31767
  var resolveComponentData = (item, config, onResolveStart, onResolveEnd) => __async(void 0, null, function* () {
31569
31768
  const configForItem = config.components[item.type];
31570
31769
  if (configForItem.resolveData) {
31571
- const { item: oldItem = {}, resolved = {} } = cache.lastChange[item.props.id] || {};
31770
+ const { item: oldItem = {}, resolved = {} } = cache2.lastChange[item.props.id] || {};
31572
31771
  if (item && item === oldItem) {
31573
31772
  return resolved;
31574
31773
  }
@@ -31585,7 +31784,7 @@ var resolveComponentData = (item, config, onResolveStart, onResolveEnd) => __asy
31585
31784
  if (Object.keys(newReadOnly).length) {
31586
31785
  resolvedItem.readOnly = newReadOnly;
31587
31786
  }
31588
- cache.lastChange[item.props.id] = {
31787
+ cache2.lastChange[item.props.id] = {
31589
31788
  item,
31590
31789
  resolved: resolvedItem
31591
31790
  };
@@ -31617,20 +31816,20 @@ var applyDynamicProps = (data, dynamicProps, rootData) => {
31617
31816
 
31618
31817
  // lib/resolve-root-data.ts
31619
31818
  init_react_import();
31620
- var cache2 = {};
31819
+ var cache3 = {};
31621
31820
  var resolveRootData = (data, config) => __async(void 0, null, function* () {
31622
31821
  var _a, _b, _c, _d, _e;
31623
31822
  if (((_a = config.root) == null ? void 0 : _a.resolveData) && data.root.props) {
31624
- if (((_b = cache2.lastChange) == null ? void 0 : _b.original) === data.root) {
31625
- return cache2.lastChange.resolved;
31823
+ if (((_b = cache3.lastChange) == null ? void 0 : _b.original) === data.root) {
31824
+ return cache3.lastChange.resolved;
31626
31825
  }
31627
- const changed = getChanged(data.root, (_c = cache2.lastChange) == null ? void 0 : _c.original);
31826
+ const changed = getChanged(data.root, (_c = cache3.lastChange) == null ? void 0 : _c.original);
31628
31827
  const rootWithProps = data.root;
31629
31828
  const resolvedRoot = yield (_e = config.root) == null ? void 0 : _e.resolveData(rootWithProps, {
31630
31829
  changed,
31631
- lastData: ((_d = cache2.lastChange) == null ? void 0 : _d.original) || {}
31830
+ lastData: ((_d = cache3.lastChange) == null ? void 0 : _d.original) || {}
31632
31831
  });
31633
- cache2.lastChange = {
31832
+ cache3.lastChange = {
31634
31833
  original: data.root,
31635
31834
  resolved: resolvedRoot
31636
31835
  };
@@ -31643,13 +31842,13 @@ var resolveRootData = (data, config) => __async(void 0, null, function* () {
31643
31842
 
31644
31843
  // lib/use-resolved-data.ts
31645
31844
  var useResolvedData = (appState, config, dispatch) => {
31646
- const [{ resolverKey, newAppState }, setResolverState] = (0, import_react19.useState)({
31845
+ const [{ resolverKey, newAppState }, setResolverState] = (0, import_react20.useState)({
31647
31846
  resolverKey: 0,
31648
31847
  newAppState: appState
31649
31848
  });
31650
- const [componentState, setComponentState] = (0, import_react19.useState)({});
31849
+ const [componentState, setComponentState] = (0, import_react20.useState)({});
31651
31850
  const deferredSetStates = {};
31652
- const setComponentLoading = (0, import_react19.useCallback)(
31851
+ const setComponentLoading = (0, import_react20.useCallback)(
31653
31852
  (id, loading, defer2 = 0) => {
31654
31853
  if (deferredSetStates[id]) {
31655
31854
  clearTimeout(deferredSetStates[id]);
@@ -31719,10 +31918,10 @@ var useResolvedData = (appState, config, dispatch) => {
31719
31918
  });
31720
31919
  yield Promise.all(promises);
31721
31920
  });
31722
- (0, import_react19.useEffect)(() => {
31921
+ (0, import_react20.useEffect)(() => {
31723
31922
  runResolvers();
31724
31923
  }, [resolverKey]);
31725
- const resolveData = (0, import_react19.useCallback)((newAppState2 = appState) => {
31924
+ const resolveData = (0, import_react20.useCallback)((newAppState2 = appState) => {
31726
31925
  setResolverState((curr) => ({
31727
31926
  resolverKey: curr.resolverKey + 1,
31728
31927
  newAppState: newAppState2
@@ -31739,11 +31938,11 @@ init_react_import();
31739
31938
 
31740
31939
  // css-module:/home/runner/work/puck/puck/packages/core/components/MenuBar/styles.module.css#css-module
31741
31940
  init_react_import();
31742
- 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" };
31941
+ 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" };
31743
31942
 
31744
31943
  // components/MenuBar/index.tsx
31745
- var import_jsx_runtime25 = require("react/jsx-runtime");
31746
- var getClassName19 = get_class_name_factory_default("MenuBar", styles_module_default13);
31944
+ var import_jsx_runtime27 = require("react/jsx-runtime");
31945
+ var getClassName20 = get_class_name_factory_default("MenuBar", styles_module_default14);
31747
31946
  var MenuBar = ({
31748
31947
  appState,
31749
31948
  data = { content: [], root: {} },
@@ -31757,10 +31956,10 @@ var MenuBar = ({
31757
31956
  history: { back, forward, historyStore }
31758
31957
  } = useAppContext();
31759
31958
  const { hasFuture = false, hasPast = false } = historyStore || {};
31760
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
31959
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
31761
31960
  "div",
31762
31961
  {
31763
- className: getClassName19({ menuOpen }),
31962
+ className: getClassName20({ menuOpen }),
31764
31963
  onClick: (event) => {
31765
31964
  var _a;
31766
31965
  const element = event.target;
@@ -31771,24 +31970,12 @@ var MenuBar = ({
31771
31970
  setMenuOpen(false);
31772
31971
  }
31773
31972
  },
31774
- children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: getClassName19("inner"), children: [
31775
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: getClassName19("history"), children: [
31776
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(IconButton, { title: "undo", disabled: !hasPast, onClick: back, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
31777
- Undo2,
31778
- {
31779
- size: 21,
31780
- stroke: hasPast ? "var(--puck-color-black)" : "var(--puck-color-grey-08)"
31781
- }
31782
- ) }),
31783
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(IconButton, { title: "redo", disabled: !hasFuture, onClick: forward, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
31784
- Redo2,
31785
- {
31786
- size: 21,
31787
- stroke: hasFuture ? "var(--puck-color-black)" : "var(--puck-color-grey-08)"
31788
- }
31789
- ) })
31973
+ children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: getClassName20("inner"), children: [
31974
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: getClassName20("history"), children: [
31975
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(IconButton, { title: "undo", disabled: !hasPast, onClick: back, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Undo2, { size: 21 }) }),
31976
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(IconButton, { title: "redo", disabled: !hasFuture, onClick: forward, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Redo2, { size: 21 }) })
31790
31977
  ] }),
31791
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_jsx_runtime25.Fragment, { children: renderHeaderActions && renderHeaderActions({
31978
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_jsx_runtime27.Fragment, { children: renderHeaderActions && renderHeaderActions({
31792
31979
  state: appState,
31793
31980
  dispatch
31794
31981
  }) })
@@ -31799,26 +31986,26 @@ var MenuBar = ({
31799
31986
 
31800
31987
  // css-module:/home/runner/work/puck/puck/packages/core/components/Puck/styles.module.css#css-module
31801
31988
  init_react_import();
31802
- 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" };
31989
+ 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" };
31803
31990
 
31804
31991
  // components/Puck/components/Fields/index.tsx
31805
31992
  init_react_import();
31806
31993
 
31807
31994
  // css-module:/home/runner/work/puck/puck/packages/core/components/Puck/components/Fields/styles.module.css#css-module
31808
31995
  init_react_import();
31809
- 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" };
31996
+ 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" };
31810
31997
 
31811
31998
  // components/Puck/components/Fields/index.tsx
31812
- var import_react20 = require("react");
31813
- var import_jsx_runtime26 = require("react/jsx-runtime");
31814
- var getClassName20 = get_class_name_factory_default("PuckFields", styles_module_default15);
31999
+ var import_react21 = require("react");
32000
+ var import_jsx_runtime28 = require("react/jsx-runtime");
32001
+ var getClassName21 = get_class_name_factory_default("PuckFields", styles_module_default16);
31815
32002
  var defaultPageFields = {
31816
32003
  title: { type: "text" }
31817
32004
  };
31818
32005
  var DefaultFields = ({
31819
32006
  children
31820
32007
  }) => {
31821
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_jsx_runtime26.Fragment, { children });
32008
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_jsx_runtime28.Fragment, { children });
31822
32009
  };
31823
32010
  var useResolvedFields = () => {
31824
32011
  var _a;
@@ -31828,14 +32015,14 @@ var useResolvedFields = () => {
31828
32015
  const componentConfig = selectedItem ? config.components[selectedItem.type] : null;
31829
32016
  const defaultFields = selectedItem ? componentConfig == null ? void 0 : componentConfig.fields : rootFields;
31830
32017
  const rootProps = data.root.props || data.root;
31831
- const [lastSelectedData, setLastSelectedData] = (0, import_react20.useState)(
32018
+ const [lastSelectedData, setLastSelectedData] = (0, import_react21.useState)(
31832
32019
  {}
31833
32020
  );
31834
- const [resolvedFields, setResolvedFields] = (0, import_react20.useState)(defaultFields || {});
31835
- const [fieldsLoading, setFieldsLoading] = (0, import_react20.useState)(false);
32021
+ const [resolvedFields, setResolvedFields] = (0, import_react21.useState)(defaultFields || {});
32022
+ const [fieldsLoading, setFieldsLoading] = (0, import_react21.useState)(false);
31836
32023
  const defaultResolveFields = (_componentData, _params) => defaultFields;
31837
32024
  const componentData = selectedItem ? selectedItem : { props: rootProps, readOnly: data.root.readOnly };
31838
- const resolveFields = (0, import_react20.useCallback)(
32025
+ const resolveFields = (0, import_react21.useCallback)(
31839
32026
  (..._0) => __async(void 0, [..._0], function* (fields = {}) {
31840
32027
  var _a2, _b, _c;
31841
32028
  const lastData = ((_a2 = lastSelectedData.props) == null ? void 0 : _a2.id) === componentData.props.id ? lastSelectedData : {};
@@ -31871,7 +32058,7 @@ var useResolvedFields = () => {
31871
32058
  }),
31872
32059
  [data, config, componentData, selectedItem, resolvedFields, state]
31873
32060
  );
31874
- (0, import_react20.useEffect)(() => {
32061
+ (0, import_react21.useEffect)(() => {
31875
32062
  setFieldsLoading(true);
31876
32063
  resolveFields(defaultFields).then((fields) => {
31877
32064
  setResolvedFields(fields || {});
@@ -31889,7 +32076,8 @@ var Fields = () => {
31889
32076
  config,
31890
32077
  resolveData,
31891
32078
  componentState,
31892
- overrides
32079
+ overrides,
32080
+ globalPermissions
31893
32081
  } = useAppContext();
31894
32082
  const { data, ui } = state;
31895
32083
  const { itemSelector } = ui;
@@ -31897,16 +32085,16 @@ var Fields = () => {
31897
32085
  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;
31898
32086
  const isLoading = fieldsResolving || componentResolving;
31899
32087
  const rootProps = data.root.props || data.root;
31900
- const Wrapper = (0, import_react20.useMemo)(() => overrides.fields || DefaultFields, [overrides]);
31901
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
32088
+ const Wrapper = (0, import_react21.useMemo)(() => overrides.fields || DefaultFields, [overrides]);
32089
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
31902
32090
  "form",
31903
32091
  {
31904
- className: getClassName20(),
32092
+ className: getClassName21(),
31905
32093
  onSubmit: (e) => {
31906
32094
  e.preventDefault();
31907
32095
  },
31908
32096
  children: [
31909
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Wrapper, { isLoading, itemSelector, children: Object.keys(fields).map((fieldName) => {
32097
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Wrapper, { isLoading, itemSelector, children: Object.keys(fields).map((fieldName) => {
31910
32098
  const field = fields[fieldName];
31911
32099
  if (!(field == null ? void 0 : field.type)) return null;
31912
32100
  const onChange = (value, updatedUi) => {
@@ -31973,13 +32161,19 @@ var Fields = () => {
31973
32161
  };
31974
32162
  if (selectedItem && itemSelector) {
31975
32163
  const { readOnly = {} } = selectedItem;
31976
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
32164
+ const { edit } = getPermissions({
32165
+ selectedItem,
32166
+ config,
32167
+ globalPermissions: globalPermissions || {},
32168
+ appState: state
32169
+ });
32170
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
31977
32171
  AutoFieldPrivate,
31978
32172
  {
31979
32173
  field,
31980
32174
  name: fieldName,
31981
32175
  id: `${selectedItem.props.id}_${fieldName}`,
31982
- readOnly: readOnly[fieldName],
32176
+ readOnly: !edit || readOnly[fieldName],
31983
32177
  value: selectedItem.props[fieldName],
31984
32178
  onChange
31985
32179
  },
@@ -31987,7 +32181,7 @@ var Fields = () => {
31987
32181
  );
31988
32182
  } else {
31989
32183
  const { readOnly = {} } = data.root;
31990
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
32184
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
31991
32185
  AutoFieldPrivate,
31992
32186
  {
31993
32187
  field,
@@ -32001,7 +32195,7 @@ var Fields = () => {
32001
32195
  );
32002
32196
  }
32003
32197
  }) }),
32004
- 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 }) }) })
32198
+ 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 }) }) })
32005
32199
  ]
32006
32200
  }
32007
32201
  );
@@ -32012,25 +32206,40 @@ init_react_import();
32012
32206
 
32013
32207
  // lib/use-component-list.tsx
32014
32208
  init_react_import();
32015
- var import_react21 = require("react");
32209
+ var import_react22 = require("react");
32016
32210
 
32017
32211
  // components/ComponentList/index.tsx
32018
32212
  init_react_import();
32019
32213
 
32020
32214
  // css-module:/home/runner/work/puck/puck/packages/core/components/ComponentList/styles.module.css#css-module
32021
32215
  init_react_import();
32022
- 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" };
32216
+ 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" };
32023
32217
 
32024
32218
  // components/ComponentList/index.tsx
32025
- var import_jsx_runtime27 = require("react/jsx-runtime");
32026
- var getClassName21 = get_class_name_factory_default("ComponentList", styles_module_default16);
32219
+ var import_jsx_runtime29 = require("react/jsx-runtime");
32220
+ var getClassName22 = get_class_name_factory_default("ComponentList", styles_module_default17);
32027
32221
  var ComponentListItem = ({
32028
32222
  name,
32029
32223
  label,
32030
32224
  index
32031
32225
  }) => {
32032
- const { overrides } = useAppContext();
32033
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Drawer.Item, { label, name, index, children: overrides.componentItem });
32226
+ const { overrides, config, globalPermissions, state } = useAppContext();
32227
+ const canInsert = getPermissions({
32228
+ type: name,
32229
+ config,
32230
+ globalPermissions: globalPermissions || {},
32231
+ appState: state
32232
+ }).insert;
32233
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
32234
+ Drawer.Item,
32235
+ {
32236
+ label,
32237
+ name,
32238
+ index,
32239
+ isDragDisabled: !canInsert,
32240
+ children: overrides.componentItem
32241
+ }
32242
+ );
32034
32243
  };
32035
32244
  var ComponentList = ({
32036
32245
  children,
@@ -32039,11 +32248,11 @@ var ComponentList = ({
32039
32248
  }) => {
32040
32249
  const { config, state, setUi } = useAppContext();
32041
32250
  const { expanded = true } = state.ui.componentList[id] || {};
32042
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: getClassName21({ isExpanded: expanded }), children: [
32043
- title && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
32251
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: getClassName22({ isExpanded: expanded }), children: [
32252
+ title && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
32044
32253
  "button",
32045
32254
  {
32046
- className: getClassName21("title"),
32255
+ className: getClassName22("title"),
32047
32256
  onClick: () => setUi({
32048
32257
  componentList: __spreadProps(__spreadValues({}, state.ui.componentList), {
32049
32258
  [id]: __spreadProps(__spreadValues({}, state.ui.componentList[id]), {
@@ -32053,14 +32262,14 @@ var ComponentList = ({
32053
32262
  }),
32054
32263
  title: expanded ? `Collapse${title ? ` ${title}` : ""}` : `Expand${title ? ` ${title}` : ""}`,
32055
32264
  children: [
32056
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { children: title }),
32057
- /* @__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 }) })
32265
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { children: title }),
32266
+ /* @__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 }) })
32058
32267
  ]
32059
32268
  }
32060
32269
  ),
32061
- /* @__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) => {
32270
+ /* @__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) => {
32062
32271
  var _a;
32063
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
32272
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
32064
32273
  ComponentListItem,
32065
32274
  {
32066
32275
  label: (_a = config.components[componentKey]["label"]) != null ? _a : componentKey,
@@ -32075,10 +32284,10 @@ var ComponentList = ({
32075
32284
  ComponentList.Item = ComponentListItem;
32076
32285
 
32077
32286
  // lib/use-component-list.tsx
32078
- var import_jsx_runtime28 = require("react/jsx-runtime");
32287
+ var import_jsx_runtime30 = require("react/jsx-runtime");
32079
32288
  var useComponentList = (config, ui) => {
32080
- const [componentList, setComponentList] = (0, import_react21.useState)();
32081
- (0, import_react21.useEffect)(() => {
32289
+ const [componentList, setComponentList] = (0, import_react22.useState)();
32290
+ (0, import_react22.useEffect)(() => {
32082
32291
  var _a, _b, _c;
32083
32292
  if (Object.keys(ui.componentList).length > 0) {
32084
32293
  const matchedComponents = [];
@@ -32088,7 +32297,7 @@ var useComponentList = (config, ui) => {
32088
32297
  if (category.visible === false || !category.components) {
32089
32298
  return null;
32090
32299
  }
32091
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
32300
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
32092
32301
  ComponentList,
32093
32302
  {
32094
32303
  id: categoryKey,
@@ -32097,7 +32306,7 @@ var useComponentList = (config, ui) => {
32097
32306
  var _a2;
32098
32307
  matchedComponents.push(componentName);
32099
32308
  const componentConf = config.components[componentName] || {};
32100
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
32309
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
32101
32310
  ComponentList.Item,
32102
32311
  {
32103
32312
  label: (_a2 = componentConf["label"]) != null ? _a2 : componentName,
@@ -32117,7 +32326,7 @@ var useComponentList = (config, ui) => {
32117
32326
  );
32118
32327
  if (remainingComponents.length > 0 && !((_a = ui.componentList.other) == null ? void 0 : _a.components) && ((_b = ui.componentList.other) == null ? void 0 : _b.visible) !== false) {
32119
32328
  _componentList.push(
32120
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
32329
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
32121
32330
  ComponentList,
32122
32331
  {
32123
32332
  id: "other",
@@ -32125,7 +32334,7 @@ var useComponentList = (config, ui) => {
32125
32334
  children: remainingComponents.map((componentName, i) => {
32126
32335
  var _a2;
32127
32336
  const componentConf = config.components[componentName] || {};
32128
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
32337
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
32129
32338
  ComponentList.Item,
32130
32339
  {
32131
32340
  name: componentName,
@@ -32147,25 +32356,25 @@ var useComponentList = (config, ui) => {
32147
32356
  };
32148
32357
 
32149
32358
  // components/Puck/components/Components/index.tsx
32150
- var import_react22 = require("react");
32151
- var import_jsx_runtime29 = require("react/jsx-runtime");
32359
+ var import_react23 = require("react");
32360
+ var import_jsx_runtime31 = require("react/jsx-runtime");
32152
32361
  var Components = () => {
32153
32362
  const { config, state, overrides } = useAppContext();
32154
32363
  const componentList = useComponentList(config, state.ui);
32155
- const Wrapper = (0, import_react22.useMemo)(() => overrides.components || "div", [overrides]);
32156
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Wrapper, { children: componentList ? componentList : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ComponentList, { id: "all" }) });
32364
+ const Wrapper = (0, import_react23.useMemo)(() => overrides.components || "div", [overrides]);
32365
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Wrapper, { children: componentList ? componentList : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(ComponentList, { id: "all" }) });
32157
32366
  };
32158
32367
 
32159
32368
  // components/Puck/components/Preview/index.tsx
32160
32369
  init_react_import();
32161
- var import_react24 = require("react");
32370
+ var import_react25 = require("react");
32162
32371
 
32163
32372
  // components/AutoFrame/index.tsx
32164
32373
  init_react_import();
32165
- var import_react23 = __toESM(require("react"));
32374
+ var import_react24 = __toESM(require("react"));
32166
32375
  var import_react_frame_component = __toESM(require("react-frame-component"));
32167
32376
  var import_object_hash = __toESM(require("object-hash"));
32168
- var import_jsx_runtime30 = require("react/jsx-runtime");
32377
+ var import_jsx_runtime32 = require("react/jsx-runtime");
32169
32378
  var styleSelector = 'style, link[rel="stylesheet"]';
32170
32379
  var collectStyles = (doc) => {
32171
32380
  const collected = [];
@@ -32208,7 +32417,7 @@ var CopyHostStyles = ({
32208
32417
  onStylesLoaded = () => null
32209
32418
  }) => {
32210
32419
  const { document: doc, window: win } = (0, import_react_frame_component.useFrame)();
32211
- (0, import_react23.useEffect)(() => {
32420
+ (0, import_react24.useEffect)(() => {
32212
32421
  if (!win || !doc) {
32213
32422
  return () => {
32214
32423
  };
@@ -32365,12 +32574,12 @@ var CopyHostStyles = ({
32365
32574
  observer.disconnect();
32366
32575
  };
32367
32576
  }, []);
32368
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_jsx_runtime30.Fragment, { children });
32577
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_jsx_runtime32.Fragment, { children });
32369
32578
  };
32370
- var AutoFrameComponent = import_react23.default.forwardRef(
32579
+ var AutoFrameComponent = import_react24.default.forwardRef(
32371
32580
  function(_a, ref) {
32372
32581
  var _b = _a, { children, debug, onStylesLoaded } = _b, props = __objRest(_b, ["children", "debug", "onStylesLoaded"]);
32373
- 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 }) }));
32582
+ 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 }) }));
32374
32583
  }
32375
32584
  );
32376
32585
  AutoFrameComponent.displayName = "AutoFrameComponent";
@@ -32378,14 +32587,15 @@ var AutoFrame_default = AutoFrameComponent;
32378
32587
 
32379
32588
  // css-module:/home/runner/work/puck/puck/packages/core/components/Puck/components/Preview/styles.module.css#css-module
32380
32589
  init_react_import();
32381
- var styles_module_default17 = { "PuckPreview": "_PuckPreview_rxwlr_1", "PuckPreview-frame": "_PuckPreview-frame_rxwlr_5" };
32590
+ var styles_module_default18 = { "PuckPreview": "_PuckPreview_rxwlr_1", "PuckPreview-frame": "_PuckPreview-frame_rxwlr_5" };
32382
32591
 
32383
32592
  // components/Puck/components/Preview/index.tsx
32384
- var import_jsx_runtime31 = require("react/jsx-runtime");
32385
- var getClassName22 = get_class_name_factory_default("PuckPreview", styles_module_default17);
32593
+ var import_react_frame_component2 = require("react-frame-component");
32594
+ var import_jsx_runtime33 = require("react/jsx-runtime");
32595
+ var getClassName23 = get_class_name_factory_default("PuckPreview", styles_module_default18);
32386
32596
  var Preview = ({ id = "puck-preview" }) => {
32387
- const { config, dispatch, state, setStatus, iframe } = useAppContext();
32388
- const Page = (0, import_react24.useCallback)(
32597
+ const { config, dispatch, state, setStatus, iframe, overrides } = useAppContext();
32598
+ const Page = (0, import_react25.useCallback)(
32389
32599
  (pageProps) => {
32390
32600
  var _a, _b;
32391
32601
  return ((_a = config.root) == null ? void 0 : _a.render) ? (_b = config.root) == null ? void 0 : _b.render(__spreadProps(__spreadValues({
@@ -32394,33 +32604,36 @@ var Preview = ({ id = "puck-preview" }) => {
32394
32604
  editMode: true,
32395
32605
  // DEPRECATED
32396
32606
  puck: { renderDropZone: DropZone, isEditing: true }
32397
- })) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_jsx_runtime31.Fragment, { children: pageProps.children });
32607
+ })) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_jsx_runtime33.Fragment, { children: pageProps.children });
32398
32608
  },
32399
32609
  [config.root]
32400
32610
  );
32611
+ const Frame2 = (0, import_react25.useMemo)(() => overrides.iframe || "div", [overrides]);
32401
32612
  const rootProps = state.data.root.props || state.data.root;
32402
- const ref = (0, import_react24.useRef)(null);
32403
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
32613
+ const ref = (0, import_react25.useRef)(null);
32614
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
32404
32615
  "div",
32405
32616
  {
32406
- className: getClassName22(),
32617
+ className: getClassName23(),
32407
32618
  id,
32408
32619
  onClick: () => {
32409
32620
  dispatch({ type: "setUi", ui: __spreadProps(__spreadValues({}, state.ui), { itemSelector: null }) });
32410
32621
  },
32411
- children: iframe.enabled ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
32622
+ children: iframe.enabled ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
32412
32623
  AutoFrame_default,
32413
32624
  {
32414
32625
  id: "preview-frame",
32415
- className: getClassName22("frame"),
32626
+ className: getClassName23("frame"),
32416
32627
  "data-rfd-iframe": true,
32417
32628
  ref,
32418
32629
  onStylesLoaded: () => {
32419
32630
  setStatus("READY");
32420
32631
  },
32421
- children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Page, __spreadProps(__spreadValues({ dispatch, state }, rootProps), { children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(DropZone, { zone: rootDroppableId }) }))
32632
+ children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_frame_component2.FrameContextConsumer, { children: ({ document: document2 }) => {
32633
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Frame2, { document: document2, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Page, __spreadProps(__spreadValues({ dispatch, state }, rootProps), { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(DropZone, { zone: rootDroppableId }) })) });
32634
+ } })
32422
32635
  }
32423
- ) : /* @__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 }) })) })
32636
+ ) : /* @__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 }) })) })
32424
32637
  }
32425
32638
  );
32426
32639
  };
@@ -32454,7 +32667,7 @@ init_react_import();
32454
32667
 
32455
32668
  // css-module:/home/runner/work/puck/puck/packages/core/components/LayerTree/styles.module.css#css-module
32456
32669
  init_react_import();
32457
- 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" };
32670
+ 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" };
32458
32671
 
32459
32672
  // lib/scroll-into-view.ts
32460
32673
  init_react_import();
@@ -32468,7 +32681,7 @@ var scrollIntoView = (el) => {
32468
32681
  };
32469
32682
 
32470
32683
  // components/LayerTree/index.tsx
32471
- var import_react25 = require("react");
32684
+ var import_react26 = require("react");
32472
32685
 
32473
32686
  // lib/is-child-of-zone.ts
32474
32687
  init_react_import();
@@ -32482,9 +32695,9 @@ var isChildOfZone = (item, maybeChild, ctx) => {
32482
32695
  };
32483
32696
 
32484
32697
  // components/LayerTree/index.tsx
32485
- var import_jsx_runtime32 = require("react/jsx-runtime");
32486
- var getClassName23 = get_class_name_factory_default("LayerTree", styles_module_default18);
32487
- var getClassNameLayer = get_class_name_factory_default("Layer", styles_module_default18);
32698
+ var import_jsx_runtime34 = require("react/jsx-runtime");
32699
+ var getClassName24 = get_class_name_factory_default("LayerTree", styles_module_default19);
32700
+ var getClassNameLayer = get_class_name_factory_default("Layer", styles_module_default19);
32488
32701
  var LayerTree = ({
32489
32702
  data,
32490
32703
  config,
@@ -32495,15 +32708,15 @@ var LayerTree = ({
32495
32708
  label
32496
32709
  }) => {
32497
32710
  const zones = data.zones || {};
32498
- const ctx = (0, import_react25.useContext)(dropZoneContext);
32499
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment, { children: [
32500
- label && /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: getClassName23("zoneTitle"), children: [
32501
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: getClassName23("zoneIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Layers, { size: "16" }) }),
32711
+ const ctx = (0, import_react26.useContext)(dropZoneContext);
32712
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
32713
+ label && /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName24("zoneTitle"), children: [
32714
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName24("zoneIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Layers, { size: "16" }) }),
32502
32715
  " ",
32503
32716
  label
32504
32717
  ] }),
32505
- /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("ul", { className: getClassName23(), children: [
32506
- zoneContent.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: getClassName23("helper"), children: "No items" }),
32718
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("ul", { className: getClassName24(), children: [
32719
+ zoneContent.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName24("helper"), children: "No items" }),
32507
32720
  zoneContent.map((item, i) => {
32508
32721
  var _a;
32509
32722
  const isSelected = (itemSelector == null ? void 0 : itemSelector.index) === i && (itemSelector.zone === zone || itemSelector.zone === rootDroppableId && !zone);
@@ -32521,7 +32734,7 @@ var LayerTree = ({
32521
32734
  const childIsSelected = isChildOfZone(item, selectedItem, ctx);
32522
32735
  const componentConfig = config.components[item.type];
32523
32736
  const label2 = (_a = componentConfig == null ? void 0 : componentConfig["label"]) != null ? _a : item.type.toString();
32524
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
32737
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
32525
32738
  "li",
32526
32739
  {
32527
32740
  className: getClassNameLayer({
@@ -32531,7 +32744,7 @@ var LayerTree = ({
32531
32744
  childIsSelected
32532
32745
  }),
32533
32746
  children: [
32534
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: getClassNameLayer("inner"), children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
32747
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassNameLayer("inner"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
32535
32748
  "button",
32536
32749
  {
32537
32750
  className: getClassNameLayer("clickable"),
@@ -32563,22 +32776,22 @@ var LayerTree = ({
32563
32776
  setHoveringComponent(null);
32564
32777
  },
32565
32778
  children: [
32566
- containsZone && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
32779
+ containsZone && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
32567
32780
  "div",
32568
32781
  {
32569
32782
  className: getClassNameLayer("chevron"),
32570
32783
  title: isSelected ? "Collapse" : "Expand",
32571
- children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ChevronDown, { size: "12" })
32784
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ChevronDown, { size: "12" })
32572
32785
  }
32573
32786
  ),
32574
- /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: getClassNameLayer("title"), children: [
32575
- /* @__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" }) }),
32576
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: getClassNameLayer("name"), children: label2 })
32787
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassNameLayer("title"), children: [
32788
+ /* @__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" }) }),
32789
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassNameLayer("name"), children: label2 })
32577
32790
  ] })
32578
32791
  ]
32579
32792
  }
32580
32793
  ) }),
32581
- containsZone && Object.keys(zonesForItem).map((zoneKey, idx) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: getClassNameLayer("zones"), children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
32794
+ containsZone && Object.keys(zonesForItem).map((zoneKey, idx) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassNameLayer("zones"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
32582
32795
  LayerTree,
32583
32796
  {
32584
32797
  config,
@@ -32600,13 +32813,13 @@ var LayerTree = ({
32600
32813
  };
32601
32814
 
32602
32815
  // components/Puck/components/Outline/index.tsx
32603
- var import_react26 = require("react");
32604
- var import_jsx_runtime33 = require("react/jsx-runtime");
32816
+ var import_react27 = require("react");
32817
+ var import_jsx_runtime35 = require("react/jsx-runtime");
32605
32818
  var Outline = () => {
32606
32819
  const { dispatch, state, overrides, config } = useAppContext();
32607
32820
  const { data, ui } = state;
32608
32821
  const { itemSelector } = ui;
32609
- const setItemSelector = (0, import_react26.useCallback)(
32822
+ const setItemSelector = (0, import_react27.useCallback)(
32610
32823
  (newItemSelector) => {
32611
32824
  dispatch({
32612
32825
  type: "setUi",
@@ -32615,9 +32828,9 @@ var Outline = () => {
32615
32828
  },
32616
32829
  []
32617
32830
  );
32618
- const Wrapper = (0, import_react26.useMemo)(() => overrides.outline || "div", [overrides]);
32619
- 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: [
32620
- (ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId]) && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
32831
+ const Wrapper = (0, import_react27.useMemo)(() => overrides.outline || "div", [overrides]);
32832
+ 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: [
32833
+ (ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId]) && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
32621
32834
  LayerTree,
32622
32835
  {
32623
32836
  config,
@@ -32630,7 +32843,7 @@ var Outline = () => {
32630
32843
  ),
32631
32844
  Object.entries(findZonesForArea(data, "root")).map(
32632
32845
  ([zoneKey, zone]) => {
32633
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
32846
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
32634
32847
  LayerTree,
32635
32848
  {
32636
32849
  config,
@@ -32648,37 +32861,6 @@ var Outline = () => {
32648
32861
  ] }) }) });
32649
32862
  };
32650
32863
 
32651
- // lib/load-overrides.ts
32652
- init_react_import();
32653
- var loadOverrides = ({
32654
- overrides,
32655
- plugins
32656
- }) => {
32657
- const collected = __spreadValues({}, overrides);
32658
- plugins.forEach((plugin) => {
32659
- Object.keys(plugin.overrides).forEach((overridesType) => {
32660
- if (overridesType === "fieldTypes") {
32661
- const fieldTypes = plugin.overrides.fieldTypes;
32662
- Object.keys(fieldTypes).forEach((fieldType) => {
32663
- collected.fieldTypes = collected.fieldTypes || {};
32664
- const childNode2 = collected.fieldTypes[fieldType];
32665
- const Comp2 = (props) => fieldTypes[fieldType](__spreadProps(__spreadValues({}, props), {
32666
- children: childNode2 ? childNode2(props) : props.children
32667
- }));
32668
- collected.fieldTypes[fieldType] = Comp2;
32669
- });
32670
- return;
32671
- }
32672
- const childNode = collected[overridesType];
32673
- const Comp = (props) => plugin.overrides[overridesType](__spreadProps(__spreadValues({}, props), {
32674
- children: childNode ? childNode(props) : props.children
32675
- }));
32676
- collected[overridesType] = Comp;
32677
- });
32678
- });
32679
- return collected;
32680
- };
32681
-
32682
32864
  // lib/use-puck-history.ts
32683
32865
  init_react_import();
32684
32866
  var import_react_hotkeys_hook = require("react-hotkeys-hook");
@@ -32735,19 +32917,19 @@ function usePuckHistory({
32735
32917
 
32736
32918
  // lib/use-history-store.ts
32737
32919
  init_react_import();
32738
- var import_react27 = require("react");
32920
+ var import_react28 = require("react");
32739
32921
  var import_use_debounce3 = require("use-debounce");
32740
32922
  var EMPTY_HISTORY_INDEX = -1;
32741
32923
  function useHistoryStore(initialHistory) {
32742
32924
  var _a, _b;
32743
- const [histories, setHistories] = (0, import_react27.useState)(
32925
+ const [histories, setHistories] = (0, import_react28.useState)(
32744
32926
  (_a = initialHistory == null ? void 0 : initialHistory.histories) != null ? _a : []
32745
32927
  );
32746
32928
  const updateHistories = (histories2) => {
32747
32929
  setHistories(histories2);
32748
32930
  setIndex(histories2.length - 1);
32749
32931
  };
32750
- const [index, setIndex] = (0, import_react27.useState)(
32932
+ const [index, setIndex] = (0, import_react28.useState)(
32751
32933
  (_b = initialHistory == null ? void 0 : initialHistory.index) != null ? _b : EMPTY_HISTORY_INDEX
32752
32934
  );
32753
32935
  const hasPast = index > EMPTY_HISTORY_INDEX;
@@ -32907,25 +33089,25 @@ var getBox = function getBox2(el) {
32907
33089
  };
32908
33090
 
32909
33091
  // components/Puck/components/Canvas/index.tsx
32910
- var import_react29 = require("react");
33092
+ var import_react30 = require("react");
32911
33093
 
32912
33094
  // components/ViewportControls/index.tsx
32913
33095
  init_react_import();
32914
- var import_react28 = require("react");
33096
+ var import_react29 = require("react");
32915
33097
 
32916
33098
  // css-module:/home/runner/work/puck/puck/packages/core/components/ViewportControls/styles.module.css#css-module
32917
33099
  init_react_import();
32918
- 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" };
33100
+ 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" };
32919
33101
 
32920
33102
  // components/ViewportControls/index.tsx
32921
- var import_jsx_runtime34 = require("react/jsx-runtime");
33103
+ var import_jsx_runtime36 = require("react/jsx-runtime");
32922
33104
  var icons = {
32923
- Smartphone: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Smartphone, { size: 16 }),
32924
- Tablet: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Tablet, { size: 16 }),
32925
- Monitor: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Monitor, { size: 16 })
33105
+ Smartphone: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Smartphone, { size: 16 }),
33106
+ Tablet: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Tablet, { size: 16 }),
33107
+ Monitor: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Monitor, { size: 16 })
32926
33108
  };
32927
- var getClassName24 = get_class_name_factory_default("ViewportControls", styles_module_default19);
32928
- var getClassNameButton = get_class_name_factory_default("ViewportButton", styles_module_default19);
33109
+ var getClassName25 = get_class_name_factory_default("ViewportControls", styles_module_default20);
33110
+ var getClassNameButton = get_class_name_factory_default("ViewportButton", styles_module_default20);
32929
33111
  var ViewportButton = ({
32930
33112
  children,
32931
33113
  height = "auto",
@@ -32934,11 +33116,11 @@ var ViewportButton = ({
32934
33116
  onClick
32935
33117
  }) => {
32936
33118
  const { state } = useAppContext();
32937
- const [isActive, setIsActive] = (0, import_react28.useState)(false);
32938
- (0, import_react28.useEffect)(() => {
33119
+ const [isActive, setIsActive] = (0, import_react29.useState)(false);
33120
+ (0, import_react29.useEffect)(() => {
32939
33121
  setIsActive(width === state.ui.viewports.current.width);
32940
33122
  }, [width, state.ui.viewports.current.width]);
32941
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: getClassNameButton({ isActive }), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33123
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: getClassNameButton({ isActive }), children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
32942
33124
  IconButton,
32943
33125
  {
32944
33126
  title,
@@ -32947,7 +33129,7 @@ var ViewportButton = ({
32947
33129
  e.stopPropagation();
32948
33130
  onClick({ width, height });
32949
33131
  },
32950
- children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: getClassNameButton("inner"), children })
33132
+ children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: getClassNameButton("inner"), children })
32951
33133
  }
32952
33134
  ) });
32953
33135
  };
@@ -32971,7 +33153,7 @@ var ViewportControls = ({
32971
33153
  const defaultsContainAutoZoom = defaultZoomOptions.find(
32972
33154
  (option) => option.value === autoZoom
32973
33155
  );
32974
- const zoomOptions = (0, import_react28.useMemo)(
33156
+ const zoomOptions = (0, import_react29.useMemo)(
32975
33157
  () => [
32976
33158
  ...defaultZoomOptions,
32977
33159
  ...defaultsContainAutoZoom ? [] : [
@@ -32983,8 +33165,8 @@ var ViewportControls = ({
32983
33165
  ].filter((a) => a.value <= autoZoom).sort((a, b) => a.value > b.value ? 1 : -1),
32984
33166
  [autoZoom]
32985
33167
  );
32986
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName24(), children: [
32987
- viewports.map((viewport, i) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33168
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: getClassName25(), children: [
33169
+ viewports.map((viewport, i) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
32988
33170
  ViewportButton,
32989
33171
  {
32990
33172
  height: viewport.height,
@@ -32995,8 +33177,8 @@ var ViewportControls = ({
32995
33177
  },
32996
33178
  i
32997
33179
  )),
32998
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName24("divider") }),
32999
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33180
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: getClassName25("divider") }),
33181
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33000
33182
  IconButton,
33001
33183
  {
33002
33184
  title: "Zoom viewport out",
@@ -33010,10 +33192,10 @@ var ViewportControls = ({
33010
33192
  )].value
33011
33193
  );
33012
33194
  },
33013
- children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ZoomOut, { size: 16 })
33195
+ children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ZoomOut, { size: 16 })
33014
33196
  }
33015
33197
  ),
33016
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33198
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33017
33199
  IconButton,
33018
33200
  {
33019
33201
  title: "Zoom viewport in",
@@ -33027,19 +33209,19 @@ var ViewportControls = ({
33027
33209
  )].value
33028
33210
  );
33029
33211
  },
33030
- children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ZoomIn, { size: 16 })
33212
+ children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ZoomIn, { size: 16 })
33031
33213
  }
33032
33214
  ),
33033
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName24("divider") }),
33034
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33215
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: getClassName25("divider") }),
33216
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33035
33217
  "select",
33036
33218
  {
33037
- className: getClassName24("zoomSelect"),
33219
+ className: getClassName25("zoomSelect"),
33038
33220
  value: zoom.toString(),
33039
33221
  onChange: (e) => {
33040
33222
  onZoom(parseFloat(e.currentTarget.value));
33041
33223
  },
33042
- children: zoomOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33224
+ children: zoomOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33043
33225
  "option",
33044
33226
  {
33045
33227
  value: option.value,
@@ -33054,7 +33236,7 @@ var ViewportControls = ({
33054
33236
 
33055
33237
  // css-module:/home/runner/work/puck/puck/packages/core/components/Puck/components/Canvas/styles.module.css#css-module
33056
33238
  init_react_import();
33057
- 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" };
33239
+ 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" };
33058
33240
 
33059
33241
  // lib/get-zoom-config.ts
33060
33242
  init_react_import();
@@ -33087,24 +33269,24 @@ var getZoomConfig = (uiViewport, frame, zoom) => {
33087
33269
  };
33088
33270
 
33089
33271
  // components/Puck/components/Canvas/index.tsx
33090
- var import_jsx_runtime35 = require("react/jsx-runtime");
33091
- var getClassName25 = get_class_name_factory_default("PuckCanvas", styles_module_default20);
33272
+ var import_jsx_runtime37 = require("react/jsx-runtime");
33273
+ var getClassName26 = get_class_name_factory_default("PuckCanvas", styles_module_default21);
33092
33274
  var ZOOM_ON_CHANGE = true;
33093
33275
  var Canvas = () => {
33094
33276
  const { status, iframe } = useAppContext();
33095
33277
  const { dispatch, state, overrides, setUi, zoomConfig, setZoomConfig } = useAppContext();
33096
33278
  const { ui } = state;
33097
- const frameRef = (0, import_react29.useRef)(null);
33098
- const [showTransition, setShowTransition] = (0, import_react29.useState)(false);
33099
- const defaultRender = (0, import_react29.useMemo)(() => {
33100
- const PuckDefault = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_jsx_runtime35.Fragment, { children });
33279
+ const frameRef = (0, import_react30.useRef)(null);
33280
+ const [showTransition, setShowTransition] = (0, import_react30.useState)(false);
33281
+ const defaultRender = (0, import_react30.useMemo)(() => {
33282
+ const PuckDefault = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_jsx_runtime37.Fragment, { children });
33101
33283
  return PuckDefault;
33102
33284
  }, []);
33103
- const CustomPreview = (0, import_react29.useMemo)(
33285
+ const CustomPreview = (0, import_react30.useMemo)(
33104
33286
  () => overrides.preview || defaultRender,
33105
33287
  [overrides]
33106
33288
  );
33107
- const getFrameDimensions = (0, import_react29.useCallback)(() => {
33289
+ const getFrameDimensions = (0, import_react30.useCallback)(() => {
33108
33290
  if (frameRef.current) {
33109
33291
  const frame = frameRef.current;
33110
33292
  const box = getBox(frame);
@@ -33112,7 +33294,7 @@ var Canvas = () => {
33112
33294
  }
33113
33295
  return { width: 0, height: 0 };
33114
33296
  }, [frameRef]);
33115
- const resetAutoZoom = (0, import_react29.useCallback)(
33297
+ const resetAutoZoom = (0, import_react30.useCallback)(
33116
33298
  (ui2 = state.ui) => {
33117
33299
  if (frameRef.current) {
33118
33300
  setZoomConfig(
@@ -33122,11 +33304,11 @@ var Canvas = () => {
33122
33304
  },
33123
33305
  [frameRef, zoomConfig, state.ui]
33124
33306
  );
33125
- (0, import_react29.useEffect)(() => {
33307
+ (0, import_react30.useEffect)(() => {
33126
33308
  setShowTransition(false);
33127
33309
  resetAutoZoom();
33128
33310
  }, [frameRef, ui.leftSideBarVisible, ui.rightSideBarVisible]);
33129
- (0, import_react29.useEffect)(() => {
33311
+ (0, import_react30.useEffect)(() => {
33130
33312
  const { height: frameHeight } = getFrameDimensions();
33131
33313
  if (ui.viewports.current.height === "auto") {
33132
33314
  setZoomConfig(__spreadProps(__spreadValues({}, zoomConfig), {
@@ -33134,7 +33316,7 @@ var Canvas = () => {
33134
33316
  }));
33135
33317
  }
33136
33318
  }, [zoomConfig.zoom]);
33137
- (0, import_react29.useEffect)(() => {
33319
+ (0, import_react30.useEffect)(() => {
33138
33320
  const observer = new ResizeObserver(() => {
33139
33321
  setShowTransition(false);
33140
33322
  resetAutoZoom();
@@ -33146,10 +33328,10 @@ var Canvas = () => {
33146
33328
  observer.disconnect();
33147
33329
  };
33148
33330
  }, []);
33149
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
33331
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
33150
33332
  "div",
33151
33333
  {
33152
- className: getClassName25({
33334
+ className: getClassName26({
33153
33335
  ready: status === "READY" || !iframe.enabled
33154
33336
  }),
33155
33337
  onClick: () => dispatch({
@@ -33158,7 +33340,7 @@ var Canvas = () => {
33158
33340
  recordHistory: true
33159
33341
  }),
33160
33342
  children: [
33161
- ui.viewports.controlsVisible && iframe.enabled && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: getClassName25("controls"), children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
33343
+ ui.viewports.controlsVisible && iframe.enabled && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: getClassName26("controls"), children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
33162
33344
  ViewportControls,
33163
33345
  {
33164
33346
  autoZoom: zoomConfig.autoZoom,
@@ -33183,10 +33365,10 @@ var Canvas = () => {
33183
33365
  }
33184
33366
  }
33185
33367
  ) }),
33186
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: getClassName25("inner"), ref: frameRef, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
33368
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: getClassName26("inner"), ref: frameRef, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
33187
33369
  "div",
33188
33370
  {
33189
- className: getClassName25("root"),
33371
+ className: getClassName26("root"),
33190
33372
  style: {
33191
33373
  width: iframe.enabled ? ui.viewports.current.width : "100%",
33192
33374
  height: zoomConfig.rootHeight,
@@ -33195,7 +33377,7 @@ var Canvas = () => {
33195
33377
  overflow: iframe.enabled ? void 0 : "auto"
33196
33378
  },
33197
33379
  suppressHydrationWarning: true,
33198
- children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CustomPreview, { children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Preview, {}) })
33380
+ children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(CustomPreview, { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Preview, {}) })
33199
33381
  }
33200
33382
  ) })
33201
33383
  ]
@@ -33203,10 +33385,42 @@ var Canvas = () => {
33203
33385
  );
33204
33386
  };
33205
33387
 
33388
+ // lib/insert-component.ts
33389
+ init_react_import();
33390
+ var insertComponent = (componentType, zone, index, {
33391
+ config,
33392
+ dispatch,
33393
+ resolveData,
33394
+ state
33395
+ }) => {
33396
+ const id = generateId(componentType);
33397
+ const insertActionData = {
33398
+ type: "insert",
33399
+ componentType,
33400
+ destinationIndex: index,
33401
+ destinationZone: zone,
33402
+ id
33403
+ };
33404
+ const insertedData = insertAction(state.data, insertActionData, config);
33405
+ dispatch(__spreadProps(__spreadValues({}, insertActionData), {
33406
+ // Dispatch insert rather set, as user's may rely on this via onAction
33407
+ recordHistory: false
33408
+ }));
33409
+ const itemSelector = {
33410
+ index,
33411
+ zone
33412
+ };
33413
+ dispatch({ type: "setUi", ui: { itemSelector } });
33414
+ resolveData({
33415
+ data: insertedData,
33416
+ ui: __spreadProps(__spreadValues({}, state.ui), { itemSelector })
33417
+ });
33418
+ };
33419
+
33206
33420
  // components/Puck/index.tsx
33207
- var import_jsx_runtime36 = require("react/jsx-runtime");
33208
- var getClassName26 = get_class_name_factory_default("Puck", styles_module_default14);
33209
- var getLayoutClassName = get_class_name_factory_default("PuckLayout", styles_module_default14);
33421
+ var import_jsx_runtime38 = require("react/jsx-runtime");
33422
+ var getClassName27 = get_class_name_factory_default("Puck", styles_module_default15);
33423
+ var getLayoutClassName = get_class_name_factory_default("PuckLayout", styles_module_default15);
33210
33424
  function Puck({
33211
33425
  children,
33212
33426
  config,
@@ -33215,6 +33429,7 @@ function Puck({
33215
33429
  onChange,
33216
33430
  onPublish,
33217
33431
  onAction,
33432
+ permissions = {},
33218
33433
  plugins = [],
33219
33434
  overrides = {},
33220
33435
  renderHeader,
@@ -33230,10 +33445,10 @@ function Puck({
33230
33445
  }) {
33231
33446
  var _a;
33232
33447
  const historyStore = useHistoryStore(initialHistory);
33233
- const [reducer] = (0, import_react30.useState)(
33448
+ const [reducer] = (0, import_react31.useState)(
33234
33449
  () => createReducer({ config, record: historyStore.record, onAction })
33235
33450
  );
33236
- const [initialAppState] = (0, import_react30.useState)(() => {
33451
+ const [initialAppState] = (0, import_react31.useState)(() => {
33237
33452
  var _a2, _b, _c, _d, _e, _f, _g;
33238
33453
  const initial = __spreadValues(__spreadValues({}, defaultAppState.ui), initialUi);
33239
33454
  let clientUiState = {};
@@ -33291,7 +33506,7 @@ function Puck({
33291
33506
  })
33292
33507
  });
33293
33508
  });
33294
- const [appState, dispatch] = (0, import_react30.useReducer)(
33509
+ const [appState, dispatch] = (0, import_react31.useReducer)(
33295
33510
  reducer,
33296
33511
  flushZones(initialAppState)
33297
33512
  );
@@ -33302,9 +33517,9 @@ function Puck({
33302
33517
  config,
33303
33518
  dispatch
33304
33519
  );
33305
- const [menuOpen, setMenuOpen] = (0, import_react30.useState)(false);
33520
+ const [menuOpen, setMenuOpen] = (0, import_react31.useState)(false);
33306
33521
  const { itemSelector, leftSideBarVisible, rightSideBarVisible } = ui;
33307
- const setItemSelector = (0, import_react30.useCallback)(
33522
+ const setItemSelector = (0, import_react31.useCallback)(
33308
33523
  (newItemSelector) => {
33309
33524
  if (newItemSelector === itemSelector) return;
33310
33525
  dispatch({
@@ -33316,13 +33531,13 @@ function Puck({
33316
33531
  [itemSelector]
33317
33532
  );
33318
33533
  const selectedItem = itemSelector ? getItem(itemSelector, data) : null;
33319
- (0, import_react30.useEffect)(() => {
33534
+ (0, import_react31.useEffect)(() => {
33320
33535
  if (onChange) onChange(data);
33321
33536
  }, [data]);
33322
33537
  const { onDragStartOrUpdate, placeholderStyle } = usePlaceholderStyle();
33323
- const [draggedItem, setDraggedItem] = (0, import_react30.useState)();
33538
+ const [draggedItem, setDraggedItem] = (0, import_react31.useState)();
33324
33539
  const rootProps = data.root.props || data.root;
33325
- const toggleSidebars = (0, import_react30.useCallback)(
33540
+ const toggleSidebars = (0, import_react31.useCallback)(
33326
33541
  (sidebar) => {
33327
33542
  const widerViewport = window.matchMedia("(min-width: 638px)").matches;
33328
33543
  const sideBarVisible = sidebar === "left" ? leftSideBarVisible : rightSideBarVisible;
@@ -33336,7 +33551,7 @@ function Puck({
33336
33551
  },
33337
33552
  [dispatch, leftSideBarVisible, rightSideBarVisible]
33338
33553
  );
33339
- (0, import_react30.useEffect)(() => {
33554
+ (0, import_react31.useEffect)(() => {
33340
33555
  if (!window.matchMedia("(min-width: 638px)").matches) {
33341
33556
  dispatch({
33342
33557
  type: "setUi",
@@ -33359,11 +33574,7 @@ function Puck({
33359
33574
  window.removeEventListener("resize", handleResize);
33360
33575
  };
33361
33576
  }, []);
33362
- const defaultRender = (0, import_react30.useMemo)(() => {
33363
- const PuckDefault = ({ children: children2 }) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_jsx_runtime36.Fragment, { children: children2 });
33364
- return PuckDefault;
33365
- }, []);
33366
- const defaultHeaderRender = (0, import_react30.useMemo)(() => {
33577
+ const defaultHeaderRender = (0, import_react31.useMemo)(() => {
33367
33578
  if (renderHeader) {
33368
33579
  console.warn(
33369
33580
  "`renderHeader` is deprecated. Please use `overrides.header` and the `usePuck` hook instead"
@@ -33371,48 +33582,49 @@ function Puck({
33371
33582
  const RenderHeader = (_a2) => {
33372
33583
  var _b = _a2, { actions } = _b, props = __objRest(_b, ["actions"]);
33373
33584
  const Comp = renderHeader;
33374
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState, children: actions }));
33585
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState, children: actions }));
33375
33586
  };
33376
33587
  return RenderHeader;
33377
33588
  }
33378
- return defaultRender;
33589
+ return DefaultOverride;
33379
33590
  }, [renderHeader]);
33380
- const defaultHeaderActionsRender = (0, import_react30.useMemo)(() => {
33591
+ const defaultHeaderActionsRender = (0, import_react31.useMemo)(() => {
33381
33592
  if (renderHeaderActions) {
33382
33593
  console.warn(
33383
33594
  "`renderHeaderActions` is deprecated. Please use `overrides.headerActions` and the `usePuck` hook instead."
33384
33595
  );
33385
33596
  const RenderHeader = (props) => {
33386
33597
  const Comp = renderHeaderActions;
33387
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState }));
33598
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState }));
33388
33599
  };
33389
33600
  return RenderHeader;
33390
33601
  }
33391
- return defaultRender;
33602
+ return DefaultOverride;
33392
33603
  }, [renderHeader]);
33393
- const loadedOverrides = (0, import_react30.useMemo)(() => {
33394
- return loadOverrides({ overrides, plugins });
33395
- }, [plugins]);
33396
- const CustomPuck = (0, import_react30.useMemo)(
33397
- () => loadedOverrides.puck || defaultRender,
33604
+ const loadedOverrides = useLoadedOverrides({
33605
+ overrides,
33606
+ plugins
33607
+ });
33608
+ const CustomPuck = (0, import_react31.useMemo)(
33609
+ () => loadedOverrides.puck || DefaultOverride,
33398
33610
  [loadedOverrides]
33399
33611
  );
33400
- const CustomHeader = (0, import_react30.useMemo)(
33612
+ const CustomHeader = (0, import_react31.useMemo)(
33401
33613
  () => loadedOverrides.header || defaultHeaderRender,
33402
33614
  [loadedOverrides]
33403
33615
  );
33404
- const CustomHeaderActions = (0, import_react30.useMemo)(
33616
+ const CustomHeaderActions = (0, import_react31.useMemo)(
33405
33617
  () => loadedOverrides.headerActions || defaultHeaderActionsRender,
33406
33618
  [loadedOverrides]
33407
33619
  );
33408
- const [mounted, setMounted] = (0, import_react30.useState)(false);
33409
- (0, import_react30.useEffect)(() => {
33620
+ const [mounted, setMounted] = (0, import_react31.useState)(false);
33621
+ (0, import_react31.useEffect)(() => {
33410
33622
  setMounted(true);
33411
33623
  }, []);
33412
33624
  const selectedComponentConfig = selectedItem && config.components[selectedItem.type];
33413
33625
  const selectedComponentLabel = selectedItem ? (_a = selectedComponentConfig == null ? void 0 : selectedComponentConfig["label"]) != null ? _a : selectedItem.type.toString() : "";
33414
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: `Puck ${getClassName26()}`, children: [
33415
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33626
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: `Puck ${getClassName27()}`, children: [
33627
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
33416
33628
  AppProvider,
33417
33629
  {
33418
33630
  value: {
@@ -33425,9 +33637,16 @@ function Puck({
33425
33637
  overrides: loadedOverrides,
33426
33638
  history,
33427
33639
  viewports,
33428
- iframe
33640
+ iframe,
33641
+ globalPermissions: __spreadValues({
33642
+ delete: true,
33643
+ drag: true,
33644
+ duplicate: true,
33645
+ insert: true,
33646
+ edit: true
33647
+ }, permissions)
33429
33648
  },
33430
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33649
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
33431
33650
  DragDropContext,
33432
33651
  {
33433
33652
  autoScrollerOptions: { disabled: dnd == null ? void 0 : dnd.disableAutoScroll },
@@ -33448,16 +33667,12 @@ function Puck({
33448
33667
  }
33449
33668
  if (droppedItem.source.droppableId.startsWith("component-list") && droppedItem.destination) {
33450
33669
  const [_, componentType] = droppedItem.draggableId.split("::");
33451
- dispatch({
33452
- type: "insert",
33453
- componentType: componentType || droppedItem.draggableId,
33454
- destinationIndex: droppedItem.destination.index,
33455
- destinationZone: droppedItem.destination.droppableId
33456
- });
33457
- setItemSelector({
33458
- index: droppedItem.destination.index,
33459
- zone: droppedItem.destination.droppableId
33460
- });
33670
+ insertComponent(
33671
+ componentType || droppedItem.draggableId,
33672
+ droppedItem.destination.droppableId,
33673
+ droppedItem.destination.index,
33674
+ { config, dispatch, resolveData, state: appState }
33675
+ );
33461
33676
  return;
33462
33677
  } else {
33463
33678
  const { source, destination } = droppedItem;
@@ -33483,7 +33698,7 @@ function Puck({
33483
33698
  });
33484
33699
  }
33485
33700
  },
33486
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33701
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
33487
33702
  DropZoneProvider,
33488
33703
  {
33489
33704
  value: {
@@ -33497,7 +33712,7 @@ function Puck({
33497
33712
  mode: "edit",
33498
33713
  areaId: "root"
33499
33714
  },
33500
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(CustomPuck, { children: children || /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33715
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(CustomPuck, { children: children || /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
33501
33716
  "div",
33502
33717
  {
33503
33718
  className: getLayoutClassName({
@@ -33506,64 +33721,64 @@ function Puck({
33506
33721
  mounted,
33507
33722
  rightSideBarVisible
33508
33723
  }),
33509
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: getLayoutClassName("inner"), children: [
33510
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33724
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: getLayoutClassName("inner"), children: [
33725
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
33511
33726
  CustomHeader,
33512
33727
  {
33513
- 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)(
33728
+ 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)(
33514
33729
  Button,
33515
33730
  {
33516
33731
  onClick: () => {
33517
33732
  onPublish && onPublish(data);
33518
33733
  },
33519
- icon: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Globe, { size: "14px" }),
33734
+ icon: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Globe, { size: "14px" }),
33520
33735
  children: "Publish"
33521
33736
  }
33522
33737
  ) }) }),
33523
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("header", { className: getLayoutClassName("header"), children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: getLayoutClassName("headerInner"), children: [
33524
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: getLayoutClassName("headerToggle"), children: [
33525
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33738
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("header", { className: getLayoutClassName("header"), children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: getLayoutClassName("headerInner"), children: [
33739
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: getLayoutClassName("headerToggle"), children: [
33740
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
33526
33741
  "div",
33527
33742
  {
33528
33743
  className: getLayoutClassName(
33529
33744
  "leftSideBarToggle"
33530
33745
  ),
33531
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33746
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
33532
33747
  IconButton,
33533
33748
  {
33534
33749
  onClick: () => {
33535
33750
  toggleSidebars("left");
33536
33751
  },
33537
33752
  title: "Toggle left sidebar",
33538
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(PanelLeft, { focusable: "false" })
33753
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(PanelLeft, { focusable: "false" })
33539
33754
  }
33540
33755
  )
33541
33756
  }
33542
33757
  ),
33543
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33758
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
33544
33759
  "div",
33545
33760
  {
33546
33761
  className: getLayoutClassName(
33547
33762
  "rightSideBarToggle"
33548
33763
  ),
33549
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33764
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
33550
33765
  IconButton,
33551
33766
  {
33552
33767
  onClick: () => {
33553
33768
  toggleSidebars("right");
33554
33769
  },
33555
33770
  title: "Toggle right sidebar",
33556
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(PanelRight, { focusable: "false" })
33771
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(PanelRight, { focusable: "false" })
33557
33772
  }
33558
33773
  )
33559
33774
  }
33560
33775
  )
33561
33776
  ] }),
33562
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: getLayoutClassName("headerTitle"), children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(Heading, { rank: 2, size: "xs", children: [
33777
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: getLayoutClassName("headerTitle"), children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(Heading, { rank: 2, size: "xs", children: [
33563
33778
  headerTitle || rootProps.title || "Page",
33564
- headerPath && /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_jsx_runtime36.Fragment, { children: [
33779
+ headerPath && /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_jsx_runtime38.Fragment, { children: [
33565
33780
  " ",
33566
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33781
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
33567
33782
  "code",
33568
33783
  {
33569
33784
  className: getLayoutClassName("headerPath"),
@@ -33572,18 +33787,18 @@ function Puck({
33572
33787
  )
33573
33788
  ] })
33574
33789
  ] }) }),
33575
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: getLayoutClassName("headerTools"), children: [
33576
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: getLayoutClassName("menuButton"), children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33790
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: getLayoutClassName("headerTools"), children: [
33791
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: getLayoutClassName("menuButton"), children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
33577
33792
  IconButton,
33578
33793
  {
33579
33794
  onClick: () => {
33580
33795
  return setMenuOpen(!menuOpen);
33581
33796
  },
33582
33797
  title: "Toggle menu bar",
33583
- children: menuOpen ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ChevronUp, { focusable: "false" }) : /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ChevronDown, { focusable: "false" })
33798
+ children: menuOpen ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ChevronUp, { focusable: "false" }) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ChevronDown, { focusable: "false" })
33584
33799
  }
33585
33800
  ) }),
33586
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33801
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
33587
33802
  MenuBar,
33588
33803
  {
33589
33804
  appState,
@@ -33591,13 +33806,13 @@ function Puck({
33591
33806
  dispatch,
33592
33807
  onPublish,
33593
33808
  menuOpen,
33594
- renderHeaderActions: () => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(CustomHeaderActions, { children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33809
+ renderHeaderActions: () => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(CustomHeaderActions, { children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
33595
33810
  Button,
33596
33811
  {
33597
33812
  onClick: () => {
33598
33813
  onPublish && onPublish(data);
33599
33814
  },
33600
- icon: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Globe, { size: "14px" }),
33815
+ icon: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Globe, { size: "14px" }),
33601
33816
  children: "Publish"
33602
33817
  }
33603
33818
  ) }),
@@ -33608,19 +33823,19 @@ function Puck({
33608
33823
  ] }) })
33609
33824
  }
33610
33825
  ),
33611
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: getLayoutClassName("leftSideBar"), children: [
33612
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(SidebarSection, { title: "Components", noBorderTop: true, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Components, {}) }),
33613
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(SidebarSection, { title: "Outline", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Outline, {}) })
33826
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: getLayoutClassName("leftSideBar"), children: [
33827
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(SidebarSection, { title: "Components", noBorderTop: true, children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Components, {}) }),
33828
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(SidebarSection, { title: "Outline", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Outline, {}) })
33614
33829
  ] }),
33615
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Canvas, {}),
33616
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: getLayoutClassName("rightSideBar"), children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
33830
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Canvas, {}),
33831
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: getLayoutClassName("rightSideBar"), children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
33617
33832
  SidebarSection,
33618
33833
  {
33619
33834
  noPadding: true,
33620
33835
  noBorderTop: true,
33621
33836
  showBreadcrumbs: true,
33622
33837
  title: selectedItem ? selectedComponentLabel : "Page",
33623
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Fields, {})
33838
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Fields, {})
33624
33839
  }
33625
33840
  ) })
33626
33841
  ] })
@@ -33632,7 +33847,7 @@ function Puck({
33632
33847
  )
33633
33848
  }
33634
33849
  ),
33635
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { id: "puck-portal-root", className: getClassName26("portal") })
33850
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { id: "puck-portal-root", className: getClassName27("portal") })
33636
33851
  ] });
33637
33852
  }
33638
33853
  Puck.Components = Components;
@@ -33642,7 +33857,7 @@ Puck.Preview = Preview;
33642
33857
 
33643
33858
  // components/Render/index.tsx
33644
33859
  init_react_import();
33645
- var import_jsx_runtime37 = require("react/jsx-runtime");
33860
+ var import_jsx_runtime39 = require("react/jsx-runtime");
33646
33861
  function Render({
33647
33862
  config,
33648
33863
  data
@@ -33655,7 +33870,7 @@ function Render({
33655
33870
  const rootProps = defaultedData.root.props || defaultedData.root;
33656
33871
  const title = (rootProps == null ? void 0 : rootProps.title) || "";
33657
33872
  if ((_a = config.root) == null ? void 0 : _a.render) {
33658
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DropZoneProvider, { value: { data: defaultedData, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
33873
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(DropZoneProvider, { value: { data: defaultedData, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
33659
33874
  config.root.render,
33660
33875
  __spreadProps(__spreadValues({}, rootProps), {
33661
33876
  puck: {
@@ -33665,11 +33880,11 @@ function Render({
33665
33880
  title,
33666
33881
  editMode: false,
33667
33882
  id: "puck-root",
33668
- children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DropZone, { zone: rootDroppableId })
33883
+ children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(DropZone, { zone: rootDroppableId })
33669
33884
  })
33670
33885
  ) });
33671
33886
  }
33672
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DropZoneProvider, { value: { data: defaultedData, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DropZone, { zone: rootDroppableId }) });
33887
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(DropZoneProvider, { value: { data: defaultedData, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(DropZone, { zone: rootDroppableId }) });
33673
33888
  }
33674
33889
 
33675
33890
  // lib/migrate.ts
@@ -33777,12 +33992,25 @@ var usePuck = () => {
33777
33992
  config,
33778
33993
  history,
33779
33994
  dispatch,
33780
- selectedItem
33995
+ selectedItem: currentItem,
33996
+ globalPermissions
33781
33997
  } = useAppContext();
33782
33998
  return {
33783
33999
  appState,
33784
34000
  config,
33785
34001
  dispatch,
34002
+ getPermissions: ({
34003
+ item,
34004
+ type
34005
+ } = {}) => {
34006
+ return getPermissions({
34007
+ selectedItem: item || currentItem,
34008
+ type,
34009
+ globalPermissions: globalPermissions || {},
34010
+ config,
34011
+ appState
34012
+ });
34013
+ },
33786
34014
  history: {
33787
34015
  back: history.back,
33788
34016
  forward: history.forward,
@@ -33794,11 +34022,13 @@ var usePuck = () => {
33794
34022
  index: history.historyStore.index,
33795
34023
  historyStore: history.historyStore
33796
34024
  },
33797
- selectedItem: selectedItem || null
34025
+ selectedItem: currentItem || null
33798
34026
  };
33799
34027
  };
33800
34028
  // Annotate the CommonJS export names for ESM import in node:
33801
34029
  0 && (module.exports = {
34030
+ Action,
34031
+ ActionBar,
33802
34032
  AutoField,
33803
34033
  AutoFieldPrivate,
33804
34034
  Button,