@measured/puck 0.14.0-canary.5bb1708 → 0.14.0-canary.70cf177

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
@@ -8084,7 +8084,7 @@ var require_react_dom_development = __commonJS({
8084
8084
  var HostPortal = 4;
8085
8085
  var HostComponent = 5;
8086
8086
  var HostText = 6;
8087
- var Fragment13 = 7;
8087
+ var Fragment14 = 7;
8088
8088
  var Mode = 8;
8089
8089
  var ContextConsumer = 9;
8090
8090
  var ContextProvider = 10;
@@ -8264,8 +8264,8 @@ var require_react_dom_development = __commonJS({
8264
8264
  if (propertyInfo !== null) {
8265
8265
  return !propertyInfo.acceptsBooleans;
8266
8266
  } else {
8267
- var prefix2 = name.toLowerCase().slice(0, 5);
8268
- return prefix2 !== "data-" && prefix2 !== "aria-";
8267
+ var prefix3 = name.toLowerCase().slice(0, 5);
8268
+ return prefix3 !== "data-" && prefix3 !== "aria-";
8269
8269
  }
8270
8270
  }
8271
8271
  default:
@@ -8937,18 +8937,18 @@ var require_react_dom_development = __commonJS({
8937
8937
  }
8938
8938
  }
8939
8939
  var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;
8940
- var prefix;
8940
+ var prefix2;
8941
8941
  function describeBuiltInComponentFrame(name, source, ownerFn) {
8942
8942
  {
8943
- if (prefix === void 0) {
8943
+ if (prefix2 === void 0) {
8944
8944
  try {
8945
8945
  throw Error();
8946
8946
  } catch (x) {
8947
8947
  var match = x.stack.trim().match(/\n( *(at )?)/);
8948
- prefix = match && match[1] || "";
8948
+ prefix2 = match && match[1] || "";
8949
8949
  }
8950
8950
  }
8951
- return "\n" + prefix + name;
8951
+ return "\n" + prefix2 + name;
8952
8952
  }
8953
8953
  }
8954
8954
  var reentry = false;
@@ -9240,7 +9240,7 @@ var require_react_dom_development = __commonJS({
9240
9240
  return "DehydratedFragment";
9241
9241
  case ForwardRef:
9242
9242
  return getWrappedName$1(type, type.render, "ForwardRef");
9243
- case Fragment13:
9243
+ case Fragment14:
9244
9244
  return "Fragment";
9245
9245
  case HostComponent:
9246
9246
  return type;
@@ -10033,13 +10033,13 @@ var require_react_dom_development = __commonJS({
10033
10033
  strokeOpacity: true,
10034
10034
  strokeWidth: true
10035
10035
  };
10036
- function prefixKey(prefix2, key) {
10037
- return prefix2 + key.charAt(0).toUpperCase() + key.substring(1);
10036
+ function prefixKey(prefix3, key) {
10037
+ return prefix3 + key.charAt(0).toUpperCase() + key.substring(1);
10038
10038
  }
10039
10039
  var prefixes = ["Webkit", "ms", "Moz", "O"];
10040
10040
  Object.keys(isUnitlessNumber).forEach(function(prop) {
10041
- prefixes.forEach(function(prefix2) {
10042
- isUnitlessNumber[prefixKey(prefix2, prop)] = isUnitlessNumber[prop];
10041
+ prefixes.forEach(function(prefix3) {
10042
+ isUnitlessNumber[prefixKey(prefix3, prop)] = isUnitlessNumber[prop];
10043
10043
  });
10044
10044
  });
10045
10045
  function dangerousStyleValue(name, value, isCustomProperty) {
@@ -18911,7 +18911,7 @@ var require_react_dom_development = __commonJS({
18911
18911
  }
18912
18912
  }
18913
18913
  function updateFragment2(returnFiber, current2, fragment, lanes, key) {
18914
- if (current2 === null || current2.tag !== Fragment13) {
18914
+ if (current2 === null || current2.tag !== Fragment14) {
18915
18915
  var created = createFiberFromFragment(fragment, returnFiber.mode, lanes, key);
18916
18916
  created.return = returnFiber;
18917
18917
  return created;
@@ -19314,7 +19314,7 @@ var require_react_dom_development = __commonJS({
19314
19314
  if (child.key === key) {
19315
19315
  var elementType = element.type;
19316
19316
  if (elementType === REACT_FRAGMENT_TYPE) {
19317
- if (child.tag === Fragment13) {
19317
+ if (child.tag === Fragment14) {
19318
19318
  deleteRemainingChildren(returnFiber, child.sibling);
19319
19319
  var existing = useFiber(child, element.props.children);
19320
19320
  existing.return = returnFiber;
@@ -23489,7 +23489,7 @@ var require_react_dom_development = __commonJS({
23489
23489
  var _resolvedProps2 = workInProgress2.elementType === type ? _unresolvedProps2 : resolveDefaultProps(type, _unresolvedProps2);
23490
23490
  return updateForwardRef(current2, workInProgress2, type, _resolvedProps2, renderLanes2);
23491
23491
  }
23492
- case Fragment13:
23492
+ case Fragment14:
23493
23493
  return updateFragment(current2, workInProgress2, renderLanes2);
23494
23494
  case Mode:
23495
23495
  return updateMode(current2, workInProgress2, renderLanes2);
@@ -23762,7 +23762,7 @@ var require_react_dom_development = __commonJS({
23762
23762
  case SimpleMemoComponent:
23763
23763
  case FunctionComponent:
23764
23764
  case ForwardRef:
23765
- case Fragment13:
23765
+ case Fragment14:
23766
23766
  case Mode:
23767
23767
  case Profiler:
23768
23768
  case ContextConsumer:
@@ -28021,7 +28021,7 @@ var require_react_dom_development = __commonJS({
28021
28021
  return fiber;
28022
28022
  }
28023
28023
  function createFiberFromFragment(elements, mode, lanes, key) {
28024
- var fiber = createFiber(Fragment13, elements, key, mode);
28024
+ var fiber = createFiber(Fragment14, elements, key, mode);
28025
28025
  fiber.lanes = lanes;
28026
28026
  return fiber;
28027
28027
  }
@@ -29264,7 +29264,148 @@ var Button = ({
29264
29264
 
29265
29265
  // components/Drawer/index.tsx
29266
29266
  init_react_import();
29267
- var import_dnd2 = require("@hello-pangea/dnd");
29267
+
29268
+ // components/Droppable/index.tsx
29269
+ init_react_import();
29270
+ var import_dnd = require("@measured/dnd");
29271
+
29272
+ // components/Puck/context.tsx
29273
+ init_react_import();
29274
+ var import_react3 = require("react");
29275
+
29276
+ // lib/get-item.ts
29277
+ init_react_import();
29278
+
29279
+ // lib/root-droppable-id.ts
29280
+ init_react_import();
29281
+ var rootDroppableId = "default-zone";
29282
+
29283
+ // lib/setup-zone.ts
29284
+ init_react_import();
29285
+ var setupZone = (data, zoneKey) => {
29286
+ if (zoneKey === rootDroppableId) {
29287
+ return data;
29288
+ }
29289
+ const newData = __spreadValues({}, data);
29290
+ newData.zones = data.zones || {};
29291
+ newData.zones[zoneKey] = newData.zones[zoneKey] || [];
29292
+ return newData;
29293
+ };
29294
+
29295
+ // lib/get-item.ts
29296
+ var getItem = (selector, data, dynamicProps = {}) => {
29297
+ if (!selector.zone || selector.zone === rootDroppableId) {
29298
+ const item2 = data.content[selector.index];
29299
+ return __spreadProps(__spreadValues({}, item2), { props: dynamicProps[item2.props.id] || item2.props });
29300
+ }
29301
+ const item = setupZone(data, selector.zone).zones[selector.zone][selector.index];
29302
+ return __spreadProps(__spreadValues({}, item), { props: dynamicProps[item.props.id] || item.props });
29303
+ };
29304
+
29305
+ // components/ViewportControls/default-viewports.ts
29306
+ init_react_import();
29307
+ var defaultViewports = [
29308
+ { width: 360, height: "auto", icon: "Smartphone", label: "Small" },
29309
+ { width: 768, height: "auto", icon: "Tablet", label: "Medium" },
29310
+ { width: 1280, height: "auto", icon: "Monitor", label: "Large" }
29311
+ ];
29312
+
29313
+ // components/Puck/context.tsx
29314
+ var import_jsx_runtime2 = require("react/jsx-runtime");
29315
+ var defaultAppState = {
29316
+ data: { content: [], root: { props: { title: "" } } },
29317
+ ui: {
29318
+ leftSideBarVisible: true,
29319
+ rightSideBarVisible: true,
29320
+ arrayState: {},
29321
+ itemSelector: null,
29322
+ componentList: {},
29323
+ isDragging: false,
29324
+ viewports: {
29325
+ current: {
29326
+ width: defaultViewports[0].width,
29327
+ height: defaultViewports[0].height || "auto"
29328
+ },
29329
+ options: [],
29330
+ controlsVisible: true
29331
+ }
29332
+ }
29333
+ };
29334
+ var defaultContext = {
29335
+ state: defaultAppState,
29336
+ dispatch: () => null,
29337
+ config: { components: {} },
29338
+ componentState: {},
29339
+ resolveData: () => {
29340
+ },
29341
+ plugins: [],
29342
+ overrides: {},
29343
+ history: {},
29344
+ viewports: defaultViewports,
29345
+ zoomConfig: {
29346
+ autoZoom: 0,
29347
+ rootHeight: 0,
29348
+ zoom: 1
29349
+ },
29350
+ setZoomConfig: () => null,
29351
+ status: "LOADING"
29352
+ };
29353
+ var appContext = (0, import_react3.createContext)(defaultContext);
29354
+ var AppProvider = ({
29355
+ children,
29356
+ value
29357
+ }) => {
29358
+ const [zoomConfig, setZoomConfig] = (0, import_react3.useState)(defaultContext.zoomConfig);
29359
+ const [status, setStatus] = (0, import_react3.useState)("LOADING");
29360
+ (0, import_react3.useEffect)(() => {
29361
+ setStatus("READY");
29362
+ }, []);
29363
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
29364
+ appContext.Provider,
29365
+ {
29366
+ value: __spreadProps(__spreadValues({}, value), { zoomConfig, setZoomConfig, status }),
29367
+ children
29368
+ }
29369
+ );
29370
+ };
29371
+ function useAppContext() {
29372
+ const mainContext = (0, import_react3.useContext)(appContext);
29373
+ const selectedItem = mainContext.state.ui.itemSelector ? getItem(mainContext.state.ui.itemSelector, mainContext.state.data) : void 0;
29374
+ return __spreadProps(__spreadValues({}, mainContext), {
29375
+ // Helpers
29376
+ selectedItem,
29377
+ setUi: (ui, recordHistory) => {
29378
+ return mainContext.dispatch({
29379
+ type: "setUi",
29380
+ ui,
29381
+ recordHistory
29382
+ });
29383
+ }
29384
+ });
29385
+ }
29386
+
29387
+ // components/Droppable/index.tsx
29388
+ var import_jsx_runtime3 = require("react/jsx-runtime");
29389
+ var defaultProvided = {
29390
+ droppableProps: {
29391
+ "data-rfd-droppable-context-id": "",
29392
+ "data-rfd-droppable-id": ""
29393
+ },
29394
+ placeholder: null,
29395
+ innerRef: () => null
29396
+ };
29397
+ var defaultSnapshot = {
29398
+ isDraggingOver: false,
29399
+ draggingOverWith: null,
29400
+ draggingFromThisWith: null,
29401
+ isUsingPlaceholder: false
29402
+ };
29403
+ var DefaultDroppable = ({ children }) => children(defaultProvided, defaultSnapshot);
29404
+ var Droppable = (props) => {
29405
+ const { status } = useAppContext();
29406
+ const El = status === "READY" ? import_dnd.Droppable : DefaultDroppable;
29407
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(El, __spreadValues({}, props));
29408
+ };
29268
29409
 
29269
29410
  // css-module:/home/runner/work/puck/puck/packages/core/components/Drawer/styles.module.css#css-module
29270
29411
  init_react_import();
@@ -29272,8 +29413,32 @@ var styles_module_default = { "Drawer": "_Drawer_6zh0b_1", "DrawerItem-default":
29272
29413
 
29273
29414
  // components/Draggable/index.tsx
29274
29415
  init_react_import();
29275
- var import_dnd = require("@hello-pangea/dnd");
29276
- var import_jsx_runtime2 = require("react/jsx-runtime");
29416
+ var import_dnd2 = require("@measured/dnd");
29417
+ var import_jsx_runtime4 = require("react/jsx-runtime");
29418
+ var defaultProvided2 = {
29419
+ draggableProps: {
29420
+ "data-rfd-draggable-context-id": "",
29421
+ "data-rfd-draggable-id": ""
29422
+ },
29423
+ dragHandleProps: null,
29424
+ innerRef: () => null
29425
+ };
29426
+ var defaultSnapshot2 = {
29427
+ isDragging: false,
29428
+ isDropAnimating: false,
29429
+ isClone: false,
29430
+ dropAnimation: null,
29431
+ draggingOver: null,
29432
+ combineWith: null,
29433
+ combineTargetFor: null,
29434
+ mode: null
29435
+ };
29436
+ var defaultRubric = {
29437
+ draggableId: "",
29438
+ type: "",
29439
+ source: { droppableId: "", index: 0 }
29440
+ };
29441
+ var DefaultDraggable = ({ children }) => children(defaultProvided2, defaultSnapshot2, defaultRubric);
29277
29442
  var Draggable = ({
29278
29443
  className,
29279
29444
  children,
@@ -29283,39 +29448,33 @@ var Draggable = ({
29283
29448
  disableAnimations = false,
29284
29449
  isDragDisabled = false
29285
29450
  }) => {
29286
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
29287
- import_dnd.Draggable,
29288
- {
29289
- draggableId: id,
29290
- index,
29291
- isDragDisabled,
29292
- children: (provided, snapshot) => {
29293
- var _a;
29294
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
29295
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
29296
- "div",
29297
- __spreadProps(__spreadValues(__spreadValues({
29298
- className: className && className(provided, snapshot),
29299
- ref: provided.innerRef
29300
- }, provided.draggableProps), provided.dragHandleProps), {
29301
- style: __spreadProps(__spreadValues({}, provided.draggableProps.style), {
29302
- transform: snapshot.isDragging || !disableAnimations ? (_a = provided.draggableProps.style) == null ? void 0 : _a.transform : "translate(0px, 0px)"
29303
- }),
29304
- children: children(provided, snapshot)
29305
- })
29306
- ),
29307
- showShadow && snapshot.isDragging && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
29308
- "div",
29309
- {
29310
- className: className && className(provided, snapshot),
29311
- style: { transform: "none !important" },
29312
- children: children(provided, snapshot)
29313
- }
29314
- )
29315
- ] });
29316
- }
29317
- }
29318
- );
29451
+ const { status } = useAppContext();
29452
+ const El = status === "READY" ? import_dnd2.Draggable : DefaultDraggable;
29453
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(El, { draggableId: id, index, isDragDisabled, children: (provided, snapshot) => {
29454
+ var _a;
29455
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
29456
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
29457
+ "div",
29458
+ __spreadProps(__spreadValues(__spreadValues({
29459
+ className: className && className(provided, snapshot),
29460
+ ref: provided.innerRef
29461
+ }, provided.draggableProps), provided.dragHandleProps), {
29462
+ style: __spreadProps(__spreadValues({}, provided.draggableProps.style), {
29463
+ transform: snapshot.isDragging || !disableAnimations ? (_a = provided.draggableProps.style) == null ? void 0 : _a.transform : "translate(0px, 0px)"
29464
+ }),
29465
+ children: children(provided, snapshot)
29466
+ })
29467
+ ),
29468
+ showShadow && snapshot.isDragging && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
29469
+ "div",
29470
+ {
29471
+ className: className && className(provided, snapshot),
29472
+ style: { transform: "none !important" },
29473
+ children: children(provided, snapshot)
29474
+ }
29475
+ )
29476
+ ] });
29477
+ } });
29319
29478
  };
29320
29479
 
29321
29480
  // components/DragIcon/index.tsx
@@ -29350,23 +29509,23 @@ init_react_import();
29350
29509
  var styles_module_default2 = { "DragIcon": "_DragIcon_1p5wn_1" };
29351
29510
 
29352
29511
  // components/DragIcon/index.tsx
29353
- var import_jsx_runtime3 = require("react/jsx-runtime");
29512
+ var import_jsx_runtime5 = require("react/jsx-runtime");
29354
29513
  var getClassName2 = get_class_name_factory_default("DragIcon", styles_module_default2);
29355
- var DragIcon = () => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: getClassName2(), children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 20 20", width: "12", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime3.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" }) }) });
29514
+ var DragIcon = () => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: getClassName2(), children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 20 20", width: "12", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime5.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" }) }) });
29356
29515
 
29357
29516
  // components/Drawer/index.tsx
29358
- var import_react3 = require("react");
29359
- var import_jsx_runtime4 = require("react/jsx-runtime");
29517
+ var import_react4 = require("react");
29518
+ var import_jsx_runtime6 = require("react/jsx-runtime");
29360
29519
  var getClassName3 = get_class_name_factory_default("Drawer", styles_module_default);
29361
29520
  var getClassNameItem = get_class_name_factory_default("DrawerItem", styles_module_default);
29362
- var drawerContext = (0, import_react3.createContext)({
29521
+ var drawerContext = (0, import_react4.createContext)({
29363
29522
  droppableId: ""
29364
29523
  });
29365
29524
  var DrawerDraggable = ({
29366
29525
  children,
29367
29526
  id,
29368
29527
  index
29369
- }) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
29528
+ }) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
29370
29529
  Draggable,
29371
29530
  {
29372
29531
  id,
@@ -29385,15 +29544,15 @@ var DrawerItem = ({
29385
29544
  label,
29386
29545
  index
29387
29546
  }) => {
29388
- const ctx = (0, import_react3.useContext)(drawerContext);
29547
+ const ctx = (0, import_react4.useContext)(drawerContext);
29389
29548
  const resolvedId = `${ctx.droppableId}::${id || name}`;
29390
- const CustomInner = (0, import_react3.useMemo)(
29391
- () => children || (({ children: children2, name: name2 }) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: getClassNameItem("default"), children: children2 })),
29549
+ const CustomInner = (0, import_react4.useMemo)(
29550
+ () => children || (({ children: children2, name: name2 }) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: getClassNameItem("default"), children: children2 })),
29392
29551
  [children]
29393
29552
  );
29394
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(DrawerDraggable, { id: resolvedId, index, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(CustomInner, { name, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: getClassNameItem("draggableWrapper"), children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: getClassNameItem("draggable"), children: [
29395
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: getClassNameItem("name"), children: label != null ? label : name }),
29396
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: getClassNameItem("icon"), children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(DragIcon, {}) })
29553
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(DrawerDraggable, { id: resolvedId, index, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(CustomInner, { name, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: getClassNameItem("draggableWrapper"), children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: getClassNameItem("draggable"), children: [
29554
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: getClassNameItem("name"), children: label != null ? label : name }),
29555
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: getClassNameItem("icon"), children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(DragIcon, {}) })
29397
29556
  ] }) }) }) });
29398
29557
  };
29399
29558
  var Drawer = ({
@@ -29401,7 +29560,7 @@ var Drawer = ({
29401
29560
  droppableId = "component-list",
29402
29561
  direction = "vertical"
29403
29562
  }) => {
29404
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(drawerContext.Provider, { value: { droppableId }, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_dnd2.Droppable, { droppableId, isDropDisabled: true, direction, children: (provided, snapshot) => /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
29563
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(drawerContext.Provider, { value: { droppableId }, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Droppable, { droppableId, isDropDisabled: true, direction, children: (provided, snapshot) => /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
29405
29564
  "div",
29406
29565
  __spreadProps(__spreadValues({}, provided.droppableProps), {
29407
29566
  ref: provided.innerRef,
@@ -29410,7 +29569,7 @@ var Drawer = ({
29410
29569
  }),
29411
29570
  children: [
29412
29571
  children,
29413
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { style: { display: "none" }, children: provided.placeholder })
29572
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { style: { display: "none" }, children: provided.placeholder })
29414
29573
  ]
29415
29574
  })
29416
29575
  ) }) });
@@ -29423,19 +29582,19 @@ var import_react9 = require("react");
29423
29582
 
29424
29583
  // components/DraggableComponent/index.tsx
29425
29584
  init_react_import();
29426
- var import_react6 = require("react");
29427
- var import_dnd3 = require("@hello-pangea/dnd");
29585
+ var import_react7 = require("react");
29586
+ var import_dnd3 = require("@measured/dnd");
29428
29587
 
29429
29588
  // css-module:/home/runner/work/puck/puck/packages/core/components/DraggableComponent/styles.module.css#css-module
29430
29589
  init_react_import();
29431
- var styles_module_default3 = { "DraggableComponent": "_DraggableComponent_1vpvt_1", "DraggableComponent--isDragging": "_DraggableComponent--isDragging_1vpvt_10", "DraggableComponent-contents": "_DraggableComponent-contents_1vpvt_16", "DraggableComponent-overlay": "_DraggableComponent-overlay_1vpvt_29", "DraggableComponent-loadingOverlay": "_DraggableComponent-loadingOverlay_1vpvt_42", "DraggableComponent--isLocked": "_DraggableComponent--isLocked_1vpvt_58", "DraggableComponent--forceHover": "_DraggableComponent--forceHover_1vpvt_64", "DraggableComponent--isSelected": "_DraggableComponent--isSelected_1vpvt_69", "DraggableComponent--indicativeHover": "_DraggableComponent--indicativeHover_1vpvt_74", "DraggableComponent-actions": "_DraggableComponent-actions_1vpvt_100", "DraggableComponent-actionsLabel": "_DraggableComponent-actionsLabel_1vpvt_125", "DraggableComponent-action": "_DraggableComponent-action_1vpvt_100" };
29590
+ var styles_module_default3 = { "DraggableComponent": "_DraggableComponent_175tf_1", "DraggableComponent--isDragging": "_DraggableComponent--isDragging_175tf_11", "DraggableComponent-contents": "_DraggableComponent-contents_175tf_16", "DraggableComponent-overlay": "_DraggableComponent-overlay_175tf_29", "DraggableComponent-loadingOverlay": "_DraggableComponent-loadingOverlay_175tf_49", "DraggableComponent--isLocked": "_DraggableComponent--isLocked_175tf_65", "DraggableComponent--forceHover": "_DraggableComponent--forceHover_175tf_71", "DraggableComponent--isSelected": "_DraggableComponent--isSelected_175tf_76", "DraggableComponent--indicativeHover": "_DraggableComponent--indicativeHover_175tf_81", "DraggableComponent-actionsOverlay": "_DraggableComponent-actionsOverlay_175tf_97", "DraggableComponent-actions": "_DraggableComponent-actions_175tf_97", "DraggableComponent-actionsLabel": "_DraggableComponent-actionsLabel_175tf_127", "DraggableComponent-action": "_DraggableComponent-action_175tf_97" };
29432
29591
 
29433
29592
  // ../../node_modules/lucide-react/dist/esm/lucide-react.js
29434
29593
  init_react_import();
29435
29594
 
29436
29595
  // ../../node_modules/lucide-react/dist/esm/createLucideIcon.js
29437
29596
  init_react_import();
29438
- var import_react4 = require("react");
29597
+ var import_react5 = require("react");
29439
29598
 
29440
29599
  // ../../node_modules/lucide-react/dist/esm/defaultAttributes.js
29441
29600
  init_react_import();
@@ -29454,10 +29613,10 @@ var defaultAttributes = {
29454
29613
  // ../../node_modules/lucide-react/dist/esm/createLucideIcon.js
29455
29614
  var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase().trim();
29456
29615
  var createLucideIcon = (iconName, iconNode) => {
29457
- const Component = (0, import_react4.forwardRef)(
29616
+ const Component = (0, import_react5.forwardRef)(
29458
29617
  (_a, ref) => {
29459
29618
  var _b = _a, { color = "currentColor", size = 24, strokeWidth = 2, absoluteStrokeWidth, className = "", children } = _b, rest = __objRest(_b, ["color", "size", "strokeWidth", "absoluteStrokeWidth", "className", "children"]);
29460
- return (0, import_react4.createElement)(
29619
+ return (0, import_react5.createElement)(
29461
29620
  "svg",
29462
29621
  __spreadValues(__spreadProps(__spreadValues({
29463
29622
  ref
@@ -29469,7 +29628,7 @@ var createLucideIcon = (iconName, iconNode) => {
29469
29628
  className: ["lucide", `lucide-${toKebabCase(iconName)}`, className].join(" ")
29470
29629
  }), rest),
29471
29630
  [
29472
- ...iconNode.map(([tag, attrs]) => (0, import_react4.createElement)(tag, attrs)),
29631
+ ...iconNode.map(([tag, attrs]) => (0, import_react5.createElement)(tag, attrs)),
29473
29632
  ...Array.isArray(children) ? children : [children]
29474
29633
  ]
29475
29634
  );
@@ -29580,6 +29739,14 @@ var Lock = createLucideIcon("Lock", [
29580
29739
  ["path", { d: "M7 11V7a5 5 0 0 1 10 0v4", key: "fwvmzm" }]
29581
29740
  ]);
29582
29741
 
29742
+ // ../../node_modules/lucide-react/dist/esm/icons/monitor.js
29743
+ init_react_import();
29744
+ var Monitor = createLucideIcon("Monitor", [
29745
+ ["rect", { width: "20", height: "14", x: "2", y: "3", rx: "2", key: "48i651" }],
29746
+ ["line", { x1: "8", x2: "16", y1: "21", y2: "21", key: "1svkeh" }],
29747
+ ["line", { x1: "12", x2: "12", y1: "17", y2: "21", key: "vw1qmm" }]
29748
+ ]);
29749
+
29583
29750
  // ../../node_modules/lucide-react/dist/esm/icons/more-vertical.js
29584
29751
  init_react_import();
29585
29752
  var MoreVertical = createLucideIcon("MoreVertical", [
@@ -29630,6 +29797,20 @@ var SlidersHorizontal = createLucideIcon("SlidersHorizontal", [
29630
29797
  ["line", { x1: "16", x2: "16", y1: "18", y2: "22", key: "1lctlv" }]
29631
29798
  ]);
29632
29799
 
29800
+ // ../../node_modules/lucide-react/dist/esm/icons/smartphone.js
29801
+ init_react_import();
29802
+ var Smartphone = createLucideIcon("Smartphone", [
29803
+ ["rect", { width: "14", height: "20", x: "5", y: "2", rx: "2", ry: "2", key: "1yt0o3" }],
29804
+ ["path", { d: "M12 18h.01", key: "mhygvu" }]
29805
+ ]);
29806
+
29807
+ // ../../node_modules/lucide-react/dist/esm/icons/tablet.js
29808
+ init_react_import();
29809
+ var Tablet = createLucideIcon("Tablet", [
29810
+ ["rect", { width: "16", height: "20", x: "4", y: "2", rx: "2", ry: "2", key: "76otgf" }],
29811
+ ["line", { x1: "12", x2: "12.01", y1: "18", y2: "18", key: "1dp563" }]
29812
+ ]);
29813
+
29633
29814
  // ../../node_modules/lucide-react/dist/esm/icons/trash.js
29634
29815
  init_react_import();
29635
29816
  var Trash = createLucideIcon("Trash", [
@@ -29653,12 +29834,29 @@ var Unlock = createLucideIcon("Unlock", [
29653
29834
  ["path", { d: "M7 11V7a5 5 0 0 1 9.9-1", key: "1mm8w8" }]
29654
29835
  ]);
29655
29836
 
29837
+ // ../../node_modules/lucide-react/dist/esm/icons/zoom-in.js
29838
+ init_react_import();
29839
+ var ZoomIn = createLucideIcon("ZoomIn", [
29840
+ ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }],
29841
+ ["line", { x1: "21", x2: "16.65", y1: "21", y2: "16.65", key: "13gj7c" }],
29842
+ ["line", { x1: "11", x2: "11", y1: "8", y2: "14", key: "1vmskp" }],
29843
+ ["line", { x1: "8", x2: "14", y1: "11", y2: "11", key: "durymu" }]
29844
+ ]);
29845
+
29846
+ // ../../node_modules/lucide-react/dist/esm/icons/zoom-out.js
29847
+ init_react_import();
29848
+ var ZoomOut = createLucideIcon("ZoomOut", [
29849
+ ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }],
29850
+ ["line", { x1: "21", x2: "16.65", y1: "21", y2: "16.65", key: "13gj7c" }],
29851
+ ["line", { x1: "8", x2: "14", y1: "11", y2: "11", key: "durymu" }]
29852
+ ]);
29853
+
29656
29854
  // lib/use-modifier-held.ts
29657
29855
  init_react_import();
29658
- var import_react5 = require("react");
29856
+ var import_react6 = require("react");
29659
29857
  var useModifierHeld = (modifier) => {
29660
- const [modifierHeld, setModifierHeld] = (0, import_react5.useState)(false);
29661
- (0, import_react5.useEffect)(() => {
29858
+ const [modifierHeld, setModifierHeld] = (0, import_react6.useState)(false);
29859
+ (0, import_react6.useEffect)(() => {
29662
29860
  function downHandler({ key }) {
29663
29861
  if (key === modifier) {
29664
29862
  setModifierHeld(true);
@@ -29681,8 +29879,12 @@ var useModifierHeld = (modifier) => {
29681
29879
 
29682
29880
  // components/DraggableComponent/index.tsx
29683
29881
  var import_react_spinners2 = require("react-spinners");
29684
- var import_jsx_runtime5 = require("react/jsx-runtime");
29882
+ var import_jsx_runtime7 = require("react/jsx-runtime");
29685
29883
  var getClassName4 = get_class_name_factory_default("DraggableComponent", styles_module_default3);
29884
+ var space = 8;
29885
+ var actionsOverlayTop = space * 6.5;
29886
+ var actionsTop = -(actionsOverlayTop - 8);
29887
+ var actionsRight = space;
29686
29888
  var DraggableComponent = ({
29687
29889
  children,
29688
29890
  id,
@@ -29705,91 +29907,74 @@ var DraggableComponent = ({
29705
29907
  indicativeHover = false,
29706
29908
  style
29707
29909
  }) => {
29910
+ const { zoomConfig } = useAppContext();
29708
29911
  const isModifierHeld = useModifierHeld("Alt");
29709
- (0, import_react6.useEffect)(onMount, []);
29710
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
29711
- import_dnd3.Draggable,
29712
- {
29713
- draggableId: id,
29714
- index,
29715
- isDragDisabled,
29716
- children: (provided, snapshot) => /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
29717
- "div",
29718
- __spreadProps(__spreadValues(__spreadValues({
29719
- ref: provided.innerRef
29720
- }, provided.draggableProps), provided.dragHandleProps), {
29721
- className: getClassName4({
29722
- isSelected,
29723
- isModifierHeld,
29724
- isDragging: snapshot.isDragging,
29725
- isLocked,
29726
- forceHover,
29727
- indicativeHover
29728
- }),
29729
- style: __spreadProps(__spreadValues(__spreadValues({}, style), provided.draggableProps.style), {
29730
- cursor: isModifierHeld ? "initial" : "grab"
29731
- }),
29732
- onMouseOver,
29733
- onMouseOut,
29734
- onMouseDown,
29735
- onMouseUp,
29736
- onClick,
29737
- children: [
29738
- debug,
29739
- isLoading && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: getClassName4("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react_spinners2.ClipLoader, { "aria-label": "loading", size: 16, color: "inherit" }) }),
29740
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: getClassName4("overlay"), children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: getClassName4("actions"), children: [
29741
- label && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: getClassName4("actionsLabel"), children: label }),
29742
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("button", { className: getClassName4("action"), onClick: onDuplicate, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Copy, { size: 16 }) }),
29743
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("button", { className: getClassName4("action"), onClick: onDelete, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Trash, { size: 16 }) })
29744
- ] }) }),
29745
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: getClassName4("contents"), children })
29746
- ]
29747
- })
29748
- )
29749
- },
29750
- id
29751
- );
29752
- };
29753
-
29754
- // components/DropZone/index.tsx
29755
- var import_dnd4 = require("@hello-pangea/dnd");
29756
-
29757
- // lib/get-item.ts
29758
- init_react_import();
29759
-
29760
- // lib/root-droppable-id.ts
29761
- init_react_import();
29762
- var rootDroppableId = "default-zone";
29763
-
29764
- // lib/setup-zone.ts
29765
- init_react_import();
29766
- var setupZone = (data, zoneKey) => {
29767
- if (zoneKey === rootDroppableId) {
29768
- return data;
29769
- }
29770
- const newData = __spreadValues({}, data);
29771
- newData.zones = data.zones || {};
29772
- newData.zones[zoneKey] = newData.zones[zoneKey] || [];
29773
- return newData;
29774
- };
29775
-
29776
- // lib/get-item.ts
29777
- var getItem = (selector, data, dynamicProps = {}) => {
29778
- if (!selector.zone || selector.zone === rootDroppableId) {
29779
- const item2 = data.content[selector.index];
29780
- return __spreadProps(__spreadValues({}, item2), { props: dynamicProps[item2.props.id] || item2.props });
29781
- }
29782
- const item = setupZone(data, selector.zone).zones[selector.zone][selector.index];
29783
- return __spreadProps(__spreadValues({}, item), { props: dynamicProps[item.props.id] || item.props });
29912
+ const { status } = useAppContext();
29913
+ const El = status === "READY" ? import_dnd3.Draggable : DefaultDraggable;
29914
+ (0, import_react7.useEffect)(onMount, []);
29915
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(El, { draggableId: id, index, isDragDisabled, children: (provided, snapshot) => /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
29916
+ "div",
29917
+ __spreadProps(__spreadValues(__spreadValues({
29918
+ ref: provided.innerRef
29919
+ }, provided.draggableProps), provided.dragHandleProps), {
29920
+ className: getClassName4({
29921
+ isSelected,
29922
+ isModifierHeld,
29923
+ isDragging: snapshot.isDragging,
29924
+ isLocked,
29925
+ forceHover,
29926
+ indicativeHover
29927
+ }),
29928
+ style: __spreadProps(__spreadValues(__spreadValues({}, style), provided.draggableProps.style), {
29929
+ cursor: isModifierHeld ? "initial" : "grab"
29930
+ }),
29931
+ onMouseOver,
29932
+ onMouseOut,
29933
+ onMouseDown,
29934
+ onMouseUp,
29935
+ onClick,
29936
+ children: [
29937
+ debug,
29938
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: getClassName4("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_spinners2.ClipLoader, { "aria-label": "loading", size: 16, color: "inherit" }) }),
29939
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
29940
+ "div",
29941
+ {
29942
+ className: getClassName4("actionsOverlay"),
29943
+ style: {
29944
+ top: actionsOverlayTop / zoomConfig.zoom
29945
+ },
29946
+ children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
29947
+ "div",
29948
+ {
29949
+ className: getClassName4("actions"),
29950
+ style: {
29951
+ transform: `scale(${1 / zoomConfig.zoom}`,
29952
+ top: actionsTop / zoomConfig.zoom,
29953
+ right: actionsRight / zoomConfig.zoom
29954
+ },
29955
+ children: [
29956
+ label && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: getClassName4("actionsLabel"), children: label }),
29957
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("button", { className: getClassName4("action"), onClick: onDuplicate, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Copy, { size: 16 }) }),
29958
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("button", { className: getClassName4("action"), onClick: onDelete, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Trash, { size: 16 }) })
29959
+ ]
29960
+ }
29961
+ )
29962
+ }
29963
+ ),
29964
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: getClassName4("overlay") }),
29965
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: getClassName4("contents"), children })
29966
+ ]
29967
+ })
29968
+ ) }, id);
29784
29969
  };
29785
29970
 
29786
29971
  // css-module:/home/runner/work/puck/puck/packages/core/components/DropZone/styles.module.css#css-module
29787
29972
  init_react_import();
29788
- var styles_module_default4 = { "DropZone": "_DropZone_utidm_1", "DropZone--zoomEnabled": "_DropZone--zoomEnabled_utidm_10", "DropZone-renderWrapper": "_DropZone-renderWrapper_utidm_14", "DropZone-content": "_DropZone-content_utidm_18", "DropZone--userIsDragging": "_DropZone--userIsDragging_utidm_23", "DropZone--draggingOverArea": "_DropZone--draggingOverArea_utidm_27", "DropZone--draggingNewComponent": "_DropZone--draggingNewComponent_utidm_28", "DropZone--isAreaSelected": "_DropZone--isAreaSelected_utidm_34", "DropZone--hoveringOverArea": "_DropZone--hoveringOverArea_utidm_35", "DropZone--isDisabled": "_DropZone--isDisabled_utidm_36", "DropZone--isRootZone": "_DropZone--isRootZone_utidm_37", "DropZone--hasChildren": "_DropZone--hasChildren_utidm_43", "DropZone--isDestination": "_DropZone--isDestination_utidm_48", "DropZone-item": "_DropZone-item_utidm_56", "DropZone-hitbox": "_DropZone-hitbox_utidm_60" };
29973
+ var styles_module_default4 = { "DropZone": "_DropZone_jtf9d_1", "DropZone-content": "_DropZone-content_jtf9d_10", "DropZone--userIsDragging": "_DropZone--userIsDragging_jtf9d_15", "DropZone--draggingOverArea": "_DropZone--draggingOverArea_jtf9d_19", "DropZone--draggingNewComponent": "_DropZone--draggingNewComponent_jtf9d_20", "DropZone--isAreaSelected": "_DropZone--isAreaSelected_jtf9d_26", "DropZone--hoveringOverArea": "_DropZone--hoveringOverArea_jtf9d_27", "DropZone--isDisabled": "_DropZone--isDisabled_jtf9d_28", "DropZone--isRootZone": "_DropZone--isRootZone_jtf9d_29", "DropZone--hasChildren": "_DropZone--hasChildren_jtf9d_30", "DropZone--isDestination": "_DropZone--isDestination_jtf9d_40", "DropZone-item": "_DropZone-item_jtf9d_48", "DropZone-hitbox": "_DropZone-hitbox_jtf9d_52" };
29789
29974
 
29790
29975
  // components/DropZone/context.tsx
29791
29976
  init_react_import();
29792
- var import_react7 = require("react");
29977
+ var import_react8 = require("react");
29793
29978
  var import_use_debounce = require("use-debounce");
29794
29979
 
29795
29980
  // lib/get-zone-id.ts
@@ -29805,30 +29990,30 @@ var getZoneId = (zoneCompound) => {
29805
29990
  };
29806
29991
 
29807
29992
  // components/DropZone/context.tsx
29808
- var import_jsx_runtime6 = require("react/jsx-runtime");
29809
- var dropZoneContext = (0, import_react7.createContext)(null);
29993
+ var import_jsx_runtime8 = require("react/jsx-runtime");
29994
+ var dropZoneContext = (0, import_react8.createContext)(null);
29810
29995
  var DropZoneProvider = ({
29811
29996
  children,
29812
29997
  value
29813
29998
  }) => {
29814
- const [hoveringArea, setHoveringArea] = (0, import_react7.useState)(null);
29815
- const [hoveringZone, setHoveringZone] = (0, import_react7.useState)(
29999
+ const [hoveringArea, setHoveringArea] = (0, import_react8.useState)(null);
30000
+ const [hoveringZone, setHoveringZone] = (0, import_react8.useState)(
29816
30001
  rootDroppableId
29817
30002
  );
29818
- const [hoveringComponent, setHoveringComponent] = (0, import_react7.useState)();
30003
+ const [hoveringComponent, setHoveringComponent] = (0, import_react8.useState)();
29819
30004
  const [hoveringAreaDb] = (0, import_use_debounce.useDebounce)(hoveringArea, 75, { leading: false });
29820
- const [areasWithZones, setAreasWithZones] = (0, import_react7.useState)(
30005
+ const [areasWithZones, setAreasWithZones] = (0, import_react8.useState)(
29821
30006
  {}
29822
30007
  );
29823
- const [activeZones, setActiveZones] = (0, import_react7.useState)({});
30008
+ const [activeZones, setActiveZones] = (0, import_react8.useState)({});
29824
30009
  const { dispatch = null } = value ? value : {};
29825
- const registerZoneArea = (0, import_react7.useCallback)(
30010
+ const registerZoneArea = (0, import_react8.useCallback)(
29826
30011
  (area) => {
29827
30012
  setAreasWithZones((latest) => __spreadProps(__spreadValues({}, latest), { [area]: true }));
29828
30013
  },
29829
30014
  [setAreasWithZones]
29830
30015
  );
29831
- const registerZone = (0, import_react7.useCallback)(
30016
+ const registerZone = (0, import_react8.useCallback)(
29832
30017
  (zoneCompound) => {
29833
30018
  if (!dispatch) {
29834
30019
  return;
@@ -29841,7 +30026,7 @@ var DropZoneProvider = ({
29841
30026
  },
29842
30027
  [setActiveZones, dispatch]
29843
30028
  );
29844
- const unregisterZone = (0, import_react7.useCallback)(
30029
+ const unregisterZone = (0, import_react8.useCallback)(
29845
30030
  (zoneCompound) => {
29846
30031
  if (!dispatch) {
29847
30032
  return;
@@ -29856,8 +30041,8 @@ var DropZoneProvider = ({
29856
30041
  },
29857
30042
  [setActiveZones, dispatch]
29858
30043
  );
29859
- const [pathData, setPathData] = (0, import_react7.useState)();
29860
- const registerPath = (0, import_react7.useCallback)(
30044
+ const [pathData, setPathData] = (0, import_react8.useState)();
30045
+ const registerPath = (0, import_react8.useCallback)(
29861
30046
  (selector) => {
29862
30047
  if (!(value == null ? void 0 : value.data)) {
29863
30048
  return;
@@ -29882,7 +30067,8 @@ var DropZoneProvider = ({
29882
30067
  },
29883
30068
  [value, setPathData]
29884
30069
  );
29885
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_jsx_runtime6.Fragment, { children: value && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
30070
+ const [zoneWillDrag, setZoneWillDrag] = (0, import_react8.useState)("");
30071
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_jsx_runtime8.Fragment, { children: value && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
29886
30072
  dropZoneContext.Provider,
29887
30073
  {
29888
30074
  value: __spreadValues({
@@ -29898,57 +30084,17 @@ var DropZoneProvider = ({
29898
30084
  unregisterZone,
29899
30085
  activeZones,
29900
30086
  registerPath,
29901
- pathData
30087
+ pathData,
30088
+ zoneWillDrag,
30089
+ setZoneWillDrag
29902
30090
  }, value),
29903
30091
  children
29904
30092
  }
29905
30093
  ) });
29906
30094
  };
29907
30095
 
29908
- // components/Puck/context.tsx
29909
- init_react_import();
29910
- var import_react8 = require("react");
29911
- var defaultAppState = {
29912
- data: { content: [], root: { props: { title: "" } } },
29913
- ui: {
29914
- leftSideBarVisible: true,
29915
- rightSideBarVisible: true,
29916
- arrayState: {},
29917
- itemSelector: null,
29918
- componentList: {},
29919
- isDragging: false
29920
- }
29921
- };
29922
- var appContext = (0, import_react8.createContext)({
29923
- state: defaultAppState,
29924
- dispatch: () => null,
29925
- config: { components: {} },
29926
- componentState: {},
29927
- resolveData: () => {
29928
- },
29929
- plugins: [],
29930
- overrides: {},
29931
- history: {}
29932
- });
29933
- var AppProvider = appContext.Provider;
29934
- function useAppContext() {
29935
- const mainContext = (0, import_react8.useContext)(appContext);
29936
- const selectedItem = mainContext.state.ui.itemSelector ? getItem(mainContext.state.ui.itemSelector, mainContext.state.data) : void 0;
29937
- return __spreadProps(__spreadValues({}, mainContext), {
29938
- // Helpers
29939
- selectedItem,
29940
- setUi: (ui, recordHistory) => {
29941
- return mainContext.dispatch({
29942
- type: "setUi",
29943
- ui,
29944
- recordHistory
29945
- });
29946
- }
29947
- });
29948
- }
29949
-
29950
30096
  // components/DropZone/index.tsx
29951
- var import_jsx_runtime7 = require("react/jsx-runtime");
30097
+ var import_jsx_runtime9 = require("react/jsx-runtime");
29952
30098
  var getClassName5 = get_class_name_factory_default("DropZone", styles_module_default4);
29953
30099
  function DropZoneEdit({ zone, allow, disallow, style }) {
29954
30100
  var _a;
@@ -29967,7 +30113,8 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
29967
30113
  registerZoneArea,
29968
30114
  areasWithZones,
29969
30115
  hoveringComponent,
29970
- disableZoom = false
30116
+ zoneWillDrag,
30117
+ setZoneWillDrag = () => null
29971
30118
  } = ctx || {};
29972
30119
  let content = data.content || [];
29973
30120
  let zoneCompound = rootDroppableId;
@@ -29997,12 +30144,12 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
29997
30144
  const draggedDestinationId = draggedItem && ((_a = draggedItem.destination) == null ? void 0 : _a.droppableId);
29998
30145
  const [zoneArea] = getZoneId(zoneCompound);
29999
30146
  const [draggedSourceArea] = getZoneId(draggedSourceId);
30000
- const [userWillDrag, setUserWillDrag] = (0, import_react9.useState)(false);
30147
+ const userWillDrag = zoneWillDrag === zone;
30001
30148
  const userIsDragging = !!draggedItem;
30002
30149
  const draggingOverArea = userIsDragging && zoneArea === draggedSourceArea;
30003
30150
  const draggingNewComponent = draggedSourceId == null ? void 0 : draggedSourceId.startsWith("component-list");
30004
30151
  if (!(ctx == null ? void 0 : ctx.config) || !ctx.setHoveringArea || !ctx.setHoveringZone || !ctx.setHoveringComponent || !ctx.setItemSelector || !ctx.registerPath || !ctx.dispatch) {
30005
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { children: "DropZone requires context to work." });
30152
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { children: "DropZone requires context to work." });
30006
30153
  }
30007
30154
  const {
30008
30155
  hoveringArea = "root",
@@ -30039,7 +30186,7 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30039
30186
  }
30040
30187
  const selectedItem = itemSelector ? getItem(itemSelector, data) : null;
30041
30188
  const isAreaSelected = selectedItem && zoneArea === selectedItem.props.id;
30042
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
30189
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
30043
30190
  "div",
30044
30191
  {
30045
30192
  className: getClassName5({
@@ -30051,17 +30198,19 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30051
30198
  isDestination: draggedDestinationId === zoneCompound,
30052
30199
  isDisabled: !isEnabled,
30053
30200
  isAreaSelected,
30054
- hasChildren: content.length > 0,
30055
- zoomEnabled: !disableZoom
30201
+ hasChildren: content.length > 0
30056
30202
  }),
30057
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
30058
- import_dnd4.Droppable,
30203
+ onMouseUp: () => {
30204
+ setZoneWillDrag("");
30205
+ },
30206
+ children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
30207
+ Droppable,
30059
30208
  {
30060
30209
  droppableId: zoneCompound,
30061
30210
  direction: "vertical",
30062
30211
  isDropDisabled: !isEnabled,
30063
30212
  children: (provided, snapshot) => {
30064
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
30213
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
30065
30214
  "div",
30066
30215
  __spreadProps(__spreadValues({}, (provided || { droppableProps: {} }).droppableProps), {
30067
30216
  className: getClassName5("content"),
@@ -30086,23 +30235,23 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30086
30235
  "draggable-"
30087
30236
  )[1] === componentId;
30088
30237
  const containsZone = areasWithZones ? areasWithZones[componentId] : false;
30089
- const Render2 = config.components[item.type] ? config.components[item.type].render : () => /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { style: { padding: 48, textAlign: "center" }, children: [
30238
+ const Render2 = config.components[item.type] ? config.components[item.type].render : () => /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { style: { padding: 48, textAlign: "center" }, children: [
30090
30239
  "No configuration for ",
30091
30240
  item.type
30092
30241
  ] });
30093
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
30242
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
30094
30243
  "div",
30095
30244
  {
30096
30245
  className: getClassName5("item"),
30097
30246
  style: { zIndex: isDragging ? 1 : void 0 },
30098
30247
  children: [
30099
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
30248
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
30100
30249
  DropZoneProvider,
30101
30250
  {
30102
30251
  value: __spreadProps(__spreadValues({}, ctx), {
30103
30252
  areaId: componentId
30104
30253
  }),
30105
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
30254
+ children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
30106
30255
  DraggableComponent,
30107
30256
  {
30108
30257
  label: (_b = config.components[item.type]["label"]) != null ? _b : item.type.toString(),
@@ -30128,11 +30277,7 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30128
30277
  },
30129
30278
  onMouseDown: (e) => {
30130
30279
  e.stopPropagation();
30131
- setUserWillDrag(true);
30132
- },
30133
- onMouseUp: (e) => {
30134
- e.stopPropagation();
30135
- setUserWillDrag(false);
30280
+ setZoneWillDrag(zone);
30136
30281
  },
30137
30282
  onMouseOver: (e) => {
30138
30283
  e.stopPropagation();
@@ -30173,12 +30318,12 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30173
30318
  style: {
30174
30319
  pointerEvents: userIsDragging && draggingNewComponent ? "all" : void 0
30175
30320
  },
30176
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: getClassName5("renderWrapper"), children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Render2, __spreadValues({}, defaultedProps)) })
30321
+ children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: getClassName5("renderWrapper"), children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Render2, __spreadValues({}, defaultedProps)) })
30177
30322
  }
30178
30323
  )
30179
30324
  }
30180
30325
  ),
30181
- userIsDragging && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
30326
+ userIsDragging && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
30182
30327
  "div",
30183
30328
  {
30184
30329
  className: getClassName5("hitbox"),
@@ -30195,7 +30340,7 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30195
30340
  );
30196
30341
  }),
30197
30342
  provided == null ? void 0 : provided.placeholder,
30198
- (snapshot == null ? void 0 : snapshot.isDraggingOver) && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
30343
+ (snapshot == null ? void 0 : snapshot.isDraggingOver) && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
30199
30344
  "div",
30200
30345
  {
30201
30346
  "data-puck-placeholder": true,
@@ -30227,14 +30372,14 @@ function DropZoneRender({ zone }) {
30227
30372
  zoneCompound = `${areaId}:${zone}`;
30228
30373
  content = setupZone(data, zoneCompound).zones[zoneCompound];
30229
30374
  }
30230
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_jsx_runtime7.Fragment, { children: content.map((item) => {
30375
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_jsx_runtime9.Fragment, { children: content.map((item) => {
30231
30376
  const Component = config.components[item.type];
30232
30377
  if (Component) {
30233
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
30378
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
30234
30379
  DropZoneProvider,
30235
30380
  {
30236
30381
  value: { data, config, areaId: item.props.id },
30237
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
30382
+ children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
30238
30383
  Component.render,
30239
30384
  __spreadProps(__spreadValues({}, item.props), {
30240
30385
  puck: { renderDropZone: DropZone }
@@ -30250,9 +30395,9 @@ function DropZoneRender({ zone }) {
30250
30395
  function DropZone(props) {
30251
30396
  const ctx = (0, import_react9.useContext)(dropZoneContext);
30252
30397
  if ((ctx == null ? void 0 : ctx.mode) === "edit") {
30253
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(DropZoneEdit, __spreadValues({}, props));
30398
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(DropZoneEdit, __spreadValues({}, props));
30254
30399
  }
30255
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(DropZoneRender, __spreadValues({}, props));
30400
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(DropZoneRender, __spreadValues({}, props));
30256
30401
  }
30257
30402
 
30258
30403
  // components/IconButton/index.ts
@@ -30264,11 +30409,11 @@ var import_react10 = require("react");
30264
30409
 
30265
30410
  // css-module:/home/runner/work/puck/puck/packages/core/components/IconButton/IconButton.module.css#css-module
30266
30411
  init_react_import();
30267
- var IconButton_module_default = { "IconButton": "_IconButton_1xqlg_1", "IconButton-title": "_IconButton-title_1xqlg_33" };
30412
+ var IconButton_module_default = { "IconButton": "_IconButton_swpni_1", "IconButton--disabled": "_IconButton--disabled_swpni_20", "IconButton-title": "_IconButton-title_swpni_33" };
30268
30413
 
30269
30414
  // components/IconButton/IconButton.tsx
30270
30415
  var import_react_spinners3 = require("react-spinners");
30271
- var import_jsx_runtime8 = require("react/jsx-runtime");
30416
+ var import_jsx_runtime10 = require("react/jsx-runtime");
30272
30417
  var getClassName6 = get_class_name_factory_default("IconButton", IconButton_module_default);
30273
30418
  var IconButton = ({
30274
30419
  children,
@@ -30284,7 +30429,7 @@ var IconButton = ({
30284
30429
  }) => {
30285
30430
  const [loading, setLoading] = (0, import_react10.useState)(false);
30286
30431
  const ElementType = href ? "a" : "button";
30287
- const el = /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
30432
+ const el = /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
30288
30433
  ElementType,
30289
30434
  {
30290
30435
  className: getClassName6({
@@ -30309,11 +30454,11 @@ var IconButton = ({
30309
30454
  href,
30310
30455
  title,
30311
30456
  children: [
30312
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: getClassName6("title"), children: title }),
30457
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: getClassName6("title"), children: title }),
30313
30458
  children,
30314
- loading && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
30459
+ loading && /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_jsx_runtime10.Fragment, { children: [
30315
30460
  "\xA0\xA0",
30316
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_spinners3.ClipLoader, { "aria-label": "Loading", color: "inherit", size: "14px" })
30461
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_spinners3.ClipLoader, { "aria-label": "Loading", color: "inherit", size: "14px" })
30317
30462
  ] })
30318
30463
  ]
30319
30464
  }
@@ -30323,8 +30468,7 @@ var IconButton = ({
30323
30468
 
30324
30469
  // components/Puck/index.tsx
30325
30470
  init_react_import();
30326
- var import_react26 = require("react");
30327
- var import_dnd7 = require("@hello-pangea/dnd");
30471
+ var import_react28 = require("react");
30328
30472
 
30329
30473
  // lib/use-placeholder-style.ts
30330
30474
  init_react_import();
@@ -30333,16 +30477,17 @@ var usePlaceholderStyle = () => {
30333
30477
  const queryAttr = "data-rfd-drag-handle-draggable-id";
30334
30478
  const [placeholderStyle, setPlaceholderStyle] = (0, import_react11.useState)();
30335
30479
  const onDragStartOrUpdate = (draggedItem) => {
30336
- var _a;
30480
+ var _a, _b, _c;
30337
30481
  const draggableId = draggedItem.draggableId;
30338
30482
  const destinationIndex = (draggedItem.destination || draggedItem.source).index;
30339
30483
  const droppableId = (draggedItem.destination || draggedItem.source).droppableId;
30340
30484
  const domQuery = `[${queryAttr}='${draggableId}']`;
30341
- const draggedDOM = document.querySelector(domQuery);
30485
+ const iframe = document.querySelector(`#preview-iframe`);
30486
+ const draggedDOM = document.querySelector(domQuery) || ((_a = iframe == null ? void 0 : iframe.contentWindow) == null ? void 0 : _a.document.querySelector(domQuery));
30342
30487
  if (!draggedDOM) {
30343
30488
  return;
30344
30489
  }
30345
- const targetListElement = document.querySelector(
30490
+ const targetListElement = (_b = iframe == null ? void 0 : iframe.contentWindow) == null ? void 0 : _b.document.querySelector(
30346
30491
  `[data-rfd-droppable-id='${droppableId}']`
30347
30492
  );
30348
30493
  const { clientHeight } = draggedDOM;
@@ -30350,7 +30495,7 @@ var usePlaceholderStyle = () => {
30350
30495
  return;
30351
30496
  }
30352
30497
  let clientY = 0;
30353
- const isSameDroppable = draggedItem.source.droppableId === ((_a = draggedItem.destination) == null ? void 0 : _a.droppableId);
30498
+ const isSameDroppable = draggedItem.source.droppableId === ((_c = draggedItem.destination) == null ? void 0 : _c.droppableId);
30354
30499
  if (destinationIndex > 0) {
30355
30500
  const end = destinationIndex > draggedItem.source.index && isSameDroppable ? destinationIndex + 1 : destinationIndex;
30356
30501
  const children = Array.from(targetListElement.children).filter(
@@ -30389,11 +30534,11 @@ init_react_import();
30389
30534
  var styles_module_default6 = { "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" };
30390
30535
 
30391
30536
  // components/Heading/index.tsx
30392
- var import_jsx_runtime9 = require("react/jsx-runtime");
30537
+ var import_jsx_runtime11 = require("react/jsx-runtime");
30393
30538
  var getClassName7 = get_class_name_factory_default("Heading", styles_module_default6);
30394
30539
  var Heading = ({ children, rank, size = "m" }) => {
30395
30540
  const Tag = rank ? `h${rank}` : "span";
30396
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
30541
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
30397
30542
  Tag,
30398
30543
  {
30399
30544
  className: getClassName7({
@@ -30472,7 +30617,7 @@ var useBreadcrumbs = (renderCount) => {
30472
30617
 
30473
30618
  // components/SidebarSection/index.tsx
30474
30619
  var import_react_spinners4 = require("react-spinners");
30475
- var import_jsx_runtime10 = require("react/jsx-runtime");
30620
+ var import_jsx_runtime12 = require("react/jsx-runtime");
30476
30621
  var getClassName8 = get_class_name_factory_default("SidebarSection", styles_module_default5);
30477
30622
  var SidebarSection = ({
30478
30623
  children,
@@ -30485,15 +30630,15 @@ var SidebarSection = ({
30485
30630
  }) => {
30486
30631
  const { setUi } = useAppContext();
30487
30632
  const breadcrumbs = useBreadcrumbs(1);
30488
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
30633
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
30489
30634
  "div",
30490
30635
  {
30491
30636
  className: getClassName8({ noBorderTop, noPadding }),
30492
30637
  style: { background },
30493
30638
  children: [
30494
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: getClassName8("title"), children: /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: getClassName8("breadcrumbs"), children: [
30495
- showBreadcrumbs ? breadcrumbs.map((breadcrumb, i) => /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: getClassName8("breadcrumb"), children: [
30496
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
30639
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: getClassName8("title"), children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: getClassName8("breadcrumbs"), children: [
30640
+ showBreadcrumbs ? breadcrumbs.map((breadcrumb, i) => /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: getClassName8("breadcrumb"), children: [
30641
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
30497
30642
  "button",
30498
30643
  {
30499
30644
  className: getClassName8("breadcrumbLabel"),
@@ -30501,12 +30646,12 @@ var SidebarSection = ({
30501
30646
  children: breadcrumb.label
30502
30647
  }
30503
30648
  ),
30504
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(ChevronRight, { size: 16 })
30649
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ChevronRight, { size: 16 })
30505
30650
  ] }, i)) : null,
30506
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: getClassName8("heading"), children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Heading, { rank: 2, size: "xs", children: title }) })
30651
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: getClassName8("heading"), children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Heading, { rank: 2, size: "xs", children: title }) })
30507
30652
  ] }) }),
30508
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: getClassName8("content"), children }),
30509
- isLoading && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: getClassName8("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_spinners4.ClipLoader, { "aria-label": "loading" }) })
30653
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: getClassName8("content"), children }),
30654
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: getClassName8("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_spinners4.ClipLoader, { "aria-label": "loading" }) })
30510
30655
  ]
30511
30656
  }
30512
30657
  );
@@ -31088,7 +31233,7 @@ init_react_import();
31088
31233
  var styles_module_default7 = { "MenuBar": "_MenuBar_8pf8c_1", "MenuBar--menuOpen": "_MenuBar--menuOpen_8pf8c_14", "MenuBar-inner": "_MenuBar-inner_8pf8c_29", "MenuBar-history": "_MenuBar-history_8pf8c_45" };
31089
31234
 
31090
31235
  // components/MenuBar/index.tsx
31091
- var import_jsx_runtime11 = require("react/jsx-runtime");
31236
+ var import_jsx_runtime13 = require("react/jsx-runtime");
31092
31237
  var getClassName9 = get_class_name_factory_default("MenuBar", styles_module_default7);
31093
31238
  var MenuBar = ({
31094
31239
  appState,
@@ -31103,7 +31248,7 @@ var MenuBar = ({
31103
31248
  history: { back, forward, historyStore }
31104
31249
  } = useAppContext();
31105
31250
  const { hasFuture = false, hasPast = false } = historyStore || {};
31106
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
31251
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
31107
31252
  "div",
31108
31253
  {
31109
31254
  className: getClassName9({ menuOpen }),
@@ -31117,16 +31262,16 @@ var MenuBar = ({
31117
31262
  setMenuOpen(false);
31118
31263
  }
31119
31264
  },
31120
- children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: getClassName9("inner"), children: [
31121
- /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: getClassName9("history"), children: [
31122
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(IconButton, { title: "undo", disabled: !hasPast, onClick: back, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
31265
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: getClassName9("inner"), children: [
31266
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: getClassName9("history"), children: [
31267
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(IconButton, { title: "undo", disabled: !hasPast, onClick: back, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
31123
31268
  ChevronLeft,
31124
31269
  {
31125
31270
  size: 21,
31126
31271
  stroke: hasPast ? "var(--puck-color-black)" : "var(--puck-color-grey-08)"
31127
31272
  }
31128
31273
  ) }),
31129
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(IconButton, { title: "redo", disabled: !hasFuture, onClick: forward, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
31274
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(IconButton, { title: "redo", disabled: !hasFuture, onClick: forward, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
31130
31275
  ChevronRight,
31131
31276
  {
31132
31277
  size: 21,
@@ -31134,17 +31279,17 @@ var MenuBar = ({
31134
31279
  }
31135
31280
  ) })
31136
31281
  ] }),
31137
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_jsx_runtime11.Fragment, { children: renderHeaderActions && renderHeaderActions({
31282
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_jsx_runtime13.Fragment, { children: renderHeaderActions && renderHeaderActions({
31138
31283
  state: appState,
31139
31284
  dispatch
31140
31285
  }) }),
31141
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
31286
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
31142
31287
  Button,
31143
31288
  {
31144
31289
  onClick: () => {
31145
31290
  onPublish && onPublish(data);
31146
31291
  },
31147
- icon: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Globe, { size: "14px" }),
31292
+ icon: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Globe, { size: "14px" }),
31148
31293
  children: "Publish"
31149
31294
  }
31150
31295
  ) })
@@ -31155,7 +31300,7 @@ var MenuBar = ({
31155
31300
 
31156
31301
  // css-module:/home/runner/work/puck/puck/packages/core/components/Puck/styles.module.css#css-module
31157
31302
  init_react_import();
31158
- var styles_module_default8 = { "Puck": "_Puck_1mnww_19", "Puck--leftSideBarVisible": "_Puck--leftSideBarVisible_1mnww_36", "Puck--rightSideBarVisible": "_Puck--rightSideBarVisible_1mnww_42", "Puck-header": "_Puck-header_1mnww_96", "Puck-headerInner": "_Puck-headerInner_1mnww_105", "Puck-headerToggle": "_Puck-headerToggle_1mnww_115", "Puck-rightSideBarToggle": "_Puck-rightSideBarToggle_1mnww_122", "Puck-leftSideBarToggle": "_Puck-leftSideBarToggle_1mnww_123", "Puck-headerTitle": "_Puck-headerTitle_1mnww_127", "Puck-headerPath": "_Puck-headerPath_1mnww_131", "Puck-headerTools": "_Puck-headerTools_1mnww_138", "Puck-menuButton": "_Puck-menuButton_1mnww_144", "Puck--menuOpen": "_Puck--menuOpen_1mnww_149", "Puck-leftSideBar": "_Puck-leftSideBar_1mnww_123", "Puck-frame": "_Puck-frame_1mnww_168", "Puck-root": "_Puck-root_1mnww_176", "Puck-rightSideBar": "_Puck-rightSideBar_1mnww_122" };
31303
+ var styles_module_default8 = { "Puck": "_Puck_3qn7l_19", "Puck--leftSideBarVisible": "_Puck--leftSideBarVisible_3qn7l_36", "Puck--rightSideBarVisible": "_Puck--rightSideBarVisible_3qn7l_42", "Puck-header": "_Puck-header_3qn7l_96", "Puck-headerInner": "_Puck-headerInner_3qn7l_105", "Puck-headerToggle": "_Puck-headerToggle_3qn7l_115", "Puck-rightSideBarToggle": "_Puck-rightSideBarToggle_3qn7l_122", "Puck-leftSideBarToggle": "_Puck-leftSideBarToggle_3qn7l_123", "Puck-headerTitle": "_Puck-headerTitle_3qn7l_127", "Puck-headerPath": "_Puck-headerPath_3qn7l_131", "Puck-headerTools": "_Puck-headerTools_3qn7l_138", "Puck-menuButton": "_Puck-menuButton_3qn7l_144", "Puck--menuOpen": "_Puck--menuOpen_3qn7l_149", "Puck-leftSideBar": "_Puck-leftSideBar_3qn7l_123", "Puck-frame": "_Puck-frame_3qn7l_168", "Puck-root": "_Puck-root_3qn7l_179", "Puck-rightSideBar": "_Puck-rightSideBar_3qn7l_122", "Puck-canvas": "_Puck-canvas_3qn7l_211", "Puck-canvasControls": "_Puck-canvasControls_3qn7l_226" };
31159
31304
 
31160
31305
  // components/Puck/components/Fields/index.tsx
31161
31306
  init_react_import();
@@ -31182,10 +31327,21 @@ init_react_import();
31182
31327
  var styles_module_default10 = { "ArrayField": "_ArrayField_1txra_5", "ArrayField--isDraggingFrom": "_ArrayField--isDraggingFrom_1txra_13", "ArrayField-addButton": "_ArrayField-addButton_1txra_17", "ArrayField--hasItems": "_ArrayField--hasItems_1txra_32", "ArrayFieldItem": "_ArrayFieldItem_1txra_61", "ArrayFieldItem--isDragging": "_ArrayFieldItem--isDragging_1txra_69", "ArrayFieldItem--isExpanded": "_ArrayFieldItem--isExpanded_1txra_74", "ArrayFieldItem-summary": "_ArrayFieldItem-summary_1txra_84", "ArrayFieldItem--readOnly": "_ArrayFieldItem--readOnly_1txra_108", "ArrayFieldItem-body": "_ArrayFieldItem-body_1txra_142", "ArrayFieldItem-fieldset": "_ArrayFieldItem-fieldset_1txra_150", "ArrayFieldItem-rhs": "_ArrayFieldItem-rhs_1txra_157", "ArrayFieldItem-actions": "_ArrayFieldItem-actions_1txra_163" };
31183
31328
 
31184
31329
  // components/InputOrGroup/fields/ArrayField/index.tsx
31185
- var import_dnd5 = require("@hello-pangea/dnd");
31186
- var import_dnd6 = require("@hello-pangea/dnd");
31187
31330
  var import_react14 = require("react");
31188
- var import_jsx_runtime12 = require("react/jsx-runtime");
31331
+
31332
+ // components/DragDropContext/index.tsx
31333
+ init_react_import();
31334
+ var import_dnd4 = require("@measured/dnd");
31335
+ var import_jsx_runtime14 = require("react/jsx-runtime");
31336
+ var DefaultDragDropContext = ({ children }) => children;
31337
+ var DragDropContext = (props) => {
31338
+ const { status } = useAppContext();
31339
+ const El = status === "READY" ? import_dnd4.DragDropContext : DefaultDragDropContext;
31340
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(El, __spreadValues({}, props));
31341
+ };
31342
+
31343
+ // components/InputOrGroup/fields/ArrayField/index.tsx
31344
+ var import_jsx_runtime15 = require("react/jsx-runtime");
31189
31345
  var getClassName10 = get_class_name_factory_default("ArrayField", styles_module_default10);
31190
31346
  var getClassNameItem2 = get_class_name_factory_default("ArrayFieldItem", styles_module_default10);
31191
31347
  var ArrayField = ({
@@ -31255,15 +31411,15 @@ var ArrayField = ({
31255
31411
  if (field.type !== "array" || !field.arrayFields) {
31256
31412
  return null;
31257
31413
  }
31258
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
31414
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31259
31415
  FieldLabelInternal,
31260
31416
  {
31261
31417
  label: label || name,
31262
- icon: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(List, { size: 16 }),
31418
+ icon: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(List, { size: 16 }),
31263
31419
  el: "div",
31264
31420
  readOnly,
31265
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
31266
- import_dnd6.DragDropContext,
31421
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31422
+ DragDropContext,
31267
31423
  {
31268
31424
  onDragEnd: (event) => {
31269
31425
  var _a, _b;
@@ -31289,8 +31445,8 @@ var ArrayField = ({
31289
31445
  });
31290
31446
  }
31291
31447
  },
31292
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_dnd5.Droppable, { droppableId: "array", isDropDisabled: readOnly, children: (provided, snapshot) => {
31293
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
31448
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Droppable, { droppableId: "array", isDropDisabled: readOnly, children: (provided, snapshot) => {
31449
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
31294
31450
  "div",
31295
31451
  __spreadProps(__spreadValues({}, provided.droppableProps), {
31296
31452
  ref: provided.innerRef,
@@ -31310,7 +31466,7 @@ var ArrayField = ({
31310
31466
  localState.arrayState.items.map((item, i) => {
31311
31467
  const { _arrayId = `${id}-${i}`, _originalIndex = i } = item;
31312
31468
  const data = Array.from(localState.value || [])[i] || {};
31313
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
31469
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31314
31470
  Draggable,
31315
31471
  {
31316
31472
  id: _arrayId,
@@ -31321,8 +31477,8 @@ var ArrayField = ({
31321
31477
  readOnly
31322
31478
  }),
31323
31479
  isDragDisabled: readOnly || !hovering,
31324
- children: () => /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
31325
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
31480
+ children: () => /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_jsx_runtime15.Fragment, { children: [
31481
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
31326
31482
  "div",
31327
31483
  {
31328
31484
  onClick: () => {
@@ -31343,8 +31499,8 @@ var ArrayField = ({
31343
31499
  className: getClassNameItem2("summary"),
31344
31500
  children: [
31345
31501
  field.getItemSummary ? field.getItemSummary(data, i) : `Item #${_originalIndex}`,
31346
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: getClassNameItem2("rhs"), children: [
31347
- !readOnly && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: getClassNameItem2("actions"), children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: getClassNameItem2("action"), children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
31502
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: getClassNameItem2("rhs"), children: [
31503
+ !readOnly && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: getClassNameItem2("actions"), children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: getClassNameItem2("action"), children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31348
31504
  IconButton,
31349
31505
  {
31350
31506
  disabled: field.min !== void 0 && field.min >= localState.arrayState.items.length,
@@ -31366,20 +31522,20 @@ var ArrayField = ({
31366
31522
  );
31367
31523
  },
31368
31524
  title: "Delete",
31369
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Trash, { size: 16 })
31525
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Trash, { size: 16 })
31370
31526
  }
31371
31527
  ) }) }),
31372
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(DragIcon, {}) })
31528
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(DragIcon, {}) })
31373
31529
  ] })
31374
31530
  ]
31375
31531
  }
31376
31532
  ),
31377
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: getClassNameItem2("body"), children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("fieldset", { className: getClassNameItem2("fieldset"), children: Object.keys(field.arrayFields).map(
31533
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: getClassNameItem2("body"), children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("fieldset", { className: getClassNameItem2("fieldset"), children: Object.keys(field.arrayFields).map(
31378
31534
  (fieldName) => {
31379
31535
  const subField = field.arrayFields[fieldName];
31380
31536
  const subFieldName = `${name}[${i}].${fieldName}`;
31381
31537
  const wildcardFieldName = `${name}[*].${fieldName}`;
31382
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
31538
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31383
31539
  InputOrGroup,
31384
31540
  {
31385
31541
  name: subFieldName,
@@ -31408,7 +31564,7 @@ var ArrayField = ({
31408
31564
  );
31409
31565
  }),
31410
31566
  provided.placeholder,
31411
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
31567
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31412
31568
  "button",
31413
31569
  {
31414
31570
  className: getClassName10("addButton"),
@@ -31422,7 +31578,7 @@ var ArrayField = ({
31422
31578
  const newArrayState = regenerateArrayState(newValue);
31423
31579
  onChange(newValue, mapArrayStateToUi(newArrayState));
31424
31580
  },
31425
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Plus, { size: 21 })
31581
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Plus, { size: 21 })
31426
31582
  }
31427
31583
  )
31428
31584
  ]
@@ -31437,7 +31593,7 @@ var ArrayField = ({
31437
31593
 
31438
31594
  // components/InputOrGroup/fields/DefaultField/index.tsx
31439
31595
  init_react_import();
31440
- var import_jsx_runtime13 = require("react/jsx-runtime");
31596
+ var import_jsx_runtime16 = require("react/jsx-runtime");
31441
31597
  var getClassName11 = get_class_name_factory_default("Input", styles_module_default9);
31442
31598
  var DefaultField = ({
31443
31599
  field,
@@ -31448,16 +31604,16 @@ var DefaultField = ({
31448
31604
  label,
31449
31605
  id
31450
31606
  }) => {
31451
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
31607
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
31452
31608
  FieldLabelInternal,
31453
31609
  {
31454
31610
  label: label || name,
31455
- icon: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
31456
- field.type === "text" && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Type, { size: 16 }),
31457
- field.type === "number" && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Hash, { size: 16 })
31611
+ icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_jsx_runtime16.Fragment, { children: [
31612
+ field.type === "text" && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Type, { size: 16 }),
31613
+ field.type === "number" && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Hash, { size: 16 })
31458
31614
  ] }),
31459
31615
  readOnly,
31460
- children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
31616
+ children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
31461
31617
  "input",
31462
31618
  {
31463
31619
  className: getClassName11("input"),
@@ -31493,7 +31649,7 @@ var import_react16 = require("react");
31493
31649
 
31494
31650
  // css-module:/home/runner/work/puck/puck/packages/core/components/ExternalInput/styles.module.css#css-module
31495
31651
  init_react_import();
31496
- var styles_module_default11 = { "ExternalInput-actions": "_ExternalInput-actions_q3l5a_1", "ExternalInput-button": "_ExternalInput-button_q3l5a_5", "ExternalInput--dataSelected": "_ExternalInput--dataSelected_q3l5a_25", "ExternalInput-detachButton": "_ExternalInput-detachButton_q3l5a_32", "ExternalInputModal": "_ExternalInputModal_q3l5a_74", "ExternalInputModal-grid": "_ExternalInputModal-grid_q3l5a_84", "ExternalInputModal--filtersToggled": "_ExternalInputModal--filtersToggled_q3l5a_95", "ExternalInputModal-filters": "_ExternalInputModal-filters_q3l5a_100", "ExternalInputModal-masthead": "_ExternalInputModal-masthead_q3l5a_119", "ExternalInputModal-tableWrapper": "_ExternalInputModal-tableWrapper_q3l5a_128", "ExternalInputModal-table": "_ExternalInputModal-table_q3l5a_128", "ExternalInputModal-thead": "_ExternalInputModal-thead_q3l5a_144", "ExternalInputModal-th": "_ExternalInputModal-th_q3l5a_144", "ExternalInputModal-td": "_ExternalInputModal-td_q3l5a_159", "ExternalInputModal-tr": "_ExternalInputModal-tr_q3l5a_164", "ExternalInputModal-tbody": "_ExternalInputModal-tbody_q3l5a_171", "ExternalInputModal--hasData": "_ExternalInputModal--hasData_q3l5a_197", "ExternalInputModal-loadingBanner": "_ExternalInputModal-loadingBanner_q3l5a_201", "ExternalInputModal--isLoading": "_ExternalInputModal--isLoading_q3l5a_218", "ExternalInputModal-searchForm": "_ExternalInputModal-searchForm_q3l5a_222", "ExternalInputModal-search": "_ExternalInputModal-search_q3l5a_222", "ExternalInputModal-searchIcon": "_ExternalInputModal-searchIcon_q3l5a_259", "ExternalInputModal-searchIconText": "_ExternalInputModal-searchIconText_q3l5a_284", "ExternalInputModal-searchInput": "_ExternalInputModal-searchInput_q3l5a_294", "ExternalInputModal-searchActions": "_ExternalInputModal-searchActions_q3l5a_308", "ExternalInputModal-searchActionIcon": "_ExternalInputModal-searchActionIcon_q3l5a_321", "ExternalInputModal-footer": "_ExternalInputModal-footer_q3l5a_325" };
31652
+ var styles_module_default11 = { "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" };
31497
31653
 
31498
31654
  // components/Modal/index.tsx
31499
31655
  init_react_import();
@@ -31501,11 +31657,11 @@ var import_react15 = require("react");
31501
31657
 
31502
31658
  // css-module:/home/runner/work/puck/puck/packages/core/components/Modal/styles.module.css#css-module
31503
31659
  init_react_import();
31504
- var styles_module_default12 = { "Modal": "_Modal_zud0i_1", "Modal--isOpen": "_Modal--isOpen_zud0i_15", "Modal-inner": "_Modal-inner_zud0i_19" };
31660
+ var styles_module_default12 = { "Modal": "_Modal_ikbaj_1", "Modal--isOpen": "_Modal--isOpen_ikbaj_15", "Modal-inner": "_Modal-inner_ikbaj_19" };
31505
31661
 
31506
31662
  // components/Modal/index.tsx
31507
31663
  var import_react_dom = __toESM(require_react_dom());
31508
- var import_jsx_runtime14 = require("react/jsx-runtime");
31664
+ var import_jsx_runtime17 = require("react/jsx-runtime");
31509
31665
  var getClassName12 = get_class_name_factory_default("Modal", styles_module_default12);
31510
31666
  var Modal = ({
31511
31667
  children,
@@ -31517,10 +31673,10 @@ var Modal = ({
31517
31673
  setRootEl(document.getElementById("puck-portal-root"));
31518
31674
  }, []);
31519
31675
  if (!rootEl) {
31520
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", {});
31676
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", {});
31521
31677
  }
31522
31678
  return (0, import_react_dom.createPortal)(
31523
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: getClassName12({ isOpen }), onClick: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
31679
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: getClassName12({ isOpen }), onClick: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
31524
31680
  "div",
31525
31681
  {
31526
31682
  className: getClassName12("inner"),
@@ -31534,7 +31690,7 @@ var Modal = ({
31534
31690
 
31535
31691
  // components/ExternalInput/index.tsx
31536
31692
  var import_react_spinners5 = require("react-spinners");
31537
- var import_jsx_runtime15 = require("react/jsx-runtime");
31693
+ var import_jsx_runtime18 = require("react/jsx-runtime");
31538
31694
  var getClassName13 = get_class_name_factory_default("ExternalInput", styles_module_default11);
31539
31695
  var getClassNameModal = get_class_name_factory_default("ExternalInputModal", styles_module_default11);
31540
31696
  var dataCache = {};
@@ -31587,7 +31743,7 @@ var ExternalInput = ({
31587
31743
  (0, import_react16.useEffect)(() => {
31588
31744
  search(searchQuery, filters);
31589
31745
  }, []);
31590
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
31746
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
31591
31747
  "div",
31592
31748
  {
31593
31749
  className: getClassName13({
@@ -31596,30 +31752,30 @@ var ExternalInput = ({
31596
31752
  }),
31597
31753
  id,
31598
31754
  children: [
31599
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: getClassName13("actions"), children: [
31600
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31755
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: getClassName13("actions"), children: [
31756
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
31601
31757
  "button",
31602
31758
  {
31603
31759
  onClick: () => setOpen(true),
31604
31760
  className: getClassName13("button"),
31605
- children: value ? field.getItemSummary ? field.getItemSummary(value) : "External item" : /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_jsx_runtime15.Fragment, { children: [
31606
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Link, { size: "16" }),
31607
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { children: field.placeholder })
31761
+ children: value ? field.getItemSummary ? field.getItemSummary(value) : "External item" : /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [
31762
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Link, { size: "16" }),
31763
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { children: field.placeholder })
31608
31764
  ] })
31609
31765
  }
31610
31766
  ),
31611
- value && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31767
+ value && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
31612
31768
  "button",
31613
31769
  {
31614
31770
  className: getClassName13("detachButton"),
31615
31771
  onClick: () => {
31616
31772
  onChange(null);
31617
31773
  },
31618
- children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Unlock, { size: 16 })
31774
+ children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Unlock, { size: 16 })
31619
31775
  }
31620
31776
  )
31621
31777
  ] }),
31622
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Modal, { onClose: () => setOpen(false), isOpen, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
31778
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Modal, { onClose: () => setOpen(false), isOpen, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
31623
31779
  "form",
31624
31780
  {
31625
31781
  className: getClassNameModal({
@@ -31633,11 +31789,11 @@ var ExternalInput = ({
31633
31789
  search(searchQuery, filters);
31634
31790
  },
31635
31791
  children: [
31636
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: getClassNameModal("masthead"), children: field.showSearch ? /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: getClassNameModal("searchForm"), children: [
31637
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("label", { className: getClassNameModal("search"), children: [
31638
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: getClassNameModal("searchIconText"), children: "Search" }),
31639
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: getClassNameModal("searchIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Search, { size: "18" }) }),
31640
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31792
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: getClassNameModal("masthead"), children: field.showSearch ? /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: getClassNameModal("searchForm"), children: [
31793
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("label", { className: getClassNameModal("search"), children: [
31794
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: getClassNameModal("searchIconText"), children: "Search" }),
31795
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: getClassNameModal("searchIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Search, { size: "18" }) }),
31796
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
31641
31797
  "input",
31642
31798
  {
31643
31799
  className: getClassNameModal("searchInput"),
@@ -31652,9 +31808,9 @@ var ExternalInput = ({
31652
31808
  }
31653
31809
  )
31654
31810
  ] }),
31655
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: getClassNameModal("searchActions"), children: [
31656
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Button, { type: "submit", loading: isLoading, fullWidth: true, children: "Search" }),
31657
- hasFilterFields && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: getClassNameModal("searchActionIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31811
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: getClassNameModal("searchActions"), children: [
31812
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Button, { type: "submit", loading: isLoading, fullWidth: true, children: "Search" }),
31813
+ hasFilterFields && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: getClassNameModal("searchActionIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
31658
31814
  IconButton,
31659
31815
  {
31660
31816
  title: "Toggle filters",
@@ -31663,15 +31819,15 @@ var ExternalInput = ({
31663
31819
  e.stopPropagation();
31664
31820
  setFiltersToggled(!filtersToggled);
31665
31821
  },
31666
- children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(SlidersHorizontal, { size: 20 })
31822
+ children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(SlidersHorizontal, { size: 20 })
31667
31823
  }
31668
31824
  ) })
31669
31825
  ] })
31670
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Heading, { rank: 2, size: "xs", children: field.placeholder || "Select data" }) }),
31671
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: getClassNameModal("grid"), children: [
31672
- hasFilterFields && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: getClassNameModal("filters"), children: hasFilterFields && Object.keys(filterFields).map((fieldName) => {
31826
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Heading, { rank: 2, size: "xs", children: field.placeholder || "Select data" }) }),
31827
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: getClassNameModal("grid"), children: [
31828
+ hasFilterFields && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: getClassNameModal("filters"), children: hasFilterFields && Object.keys(filterFields).map((fieldName) => {
31673
31829
  const filterField = filterFields[fieldName];
31674
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31830
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
31675
31831
  InputOrGroup,
31676
31832
  {
31677
31833
  field: filterField,
@@ -31688,9 +31844,9 @@ var ExternalInput = ({
31688
31844
  fieldName
31689
31845
  );
31690
31846
  }) }),
31691
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: getClassNameModal("tableWrapper"), children: [
31692
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("table", { className: getClassNameModal("table"), children: [
31693
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("thead", { className: getClassNameModal("thead"), children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("tr", { className: getClassNameModal("tr"), children: keys.map((key) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31847
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: getClassNameModal("tableWrapper"), children: [
31848
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("table", { className: getClassNameModal("table"), children: [
31849
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("thead", { className: getClassNameModal("thead"), children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("tr", { className: getClassNameModal("tr"), children: keys.map((key) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
31694
31850
  "th",
31695
31851
  {
31696
31852
  className: getClassNameModal("th"),
@@ -31699,8 +31855,8 @@ var ExternalInput = ({
31699
31855
  },
31700
31856
  key
31701
31857
  )) }) }),
31702
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("tbody", { className: getClassNameModal("tbody"), children: mappedData.map((item, i) => {
31703
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31858
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("tbody", { className: getClassNameModal("tbody"), children: mappedData.map((item, i) => {
31859
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
31704
31860
  "tr",
31705
31861
  {
31706
31862
  style: { whiteSpace: "nowrap" },
@@ -31709,16 +31865,16 @@ var ExternalInput = ({
31709
31865
  onChange(mapProp(data[i]));
31710
31866
  setOpen(false);
31711
31867
  },
31712
- children: keys.map((key) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("td", { className: getClassNameModal("td"), children: item[key] }, key))
31868
+ children: keys.map((key) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("td", { className: getClassNameModal("td"), children: item[key] }, key))
31713
31869
  },
31714
31870
  i
31715
31871
  );
31716
31872
  }) })
31717
31873
  ] }),
31718
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: getClassNameModal("loadingBanner"), children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_spinners5.ClipLoader, { size: 24, "aria-label": "Loading" }) })
31874
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: getClassNameModal("loadingBanner"), children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_spinners5.ClipLoader, { size: 24, "aria-label": "Loading" }) })
31719
31875
  ] })
31720
31876
  ] }),
31721
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: getClassNameModal("footer"), children: [
31877
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: getClassNameModal("footer"), children: [
31722
31878
  mappedData.length,
31723
31879
  " result",
31724
31880
  mappedData.length === 1 ? "" : "s"
@@ -31732,7 +31888,7 @@ var ExternalInput = ({
31732
31888
  };
31733
31889
 
31734
31890
  // components/InputOrGroup/fields/ExternalField/index.tsx
31735
- var import_jsx_runtime16 = require("react/jsx-runtime");
31891
+ var import_jsx_runtime19 = require("react/jsx-runtime");
31736
31892
  var ExternalField = ({
31737
31893
  field,
31738
31894
  onChange,
@@ -31754,13 +31910,13 @@ var ExternalField = ({
31754
31910
  if (field.type !== "external") {
31755
31911
  return null;
31756
31912
  }
31757
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
31913
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
31758
31914
  FieldLabelInternal,
31759
31915
  {
31760
31916
  label: label || name,
31761
- icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Link, { size: 16 }),
31917
+ icon: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Link, { size: 16 }),
31762
31918
  el: "div",
31763
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
31919
+ children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
31764
31920
  ExternalInput,
31765
31921
  {
31766
31922
  name,
@@ -31786,7 +31942,7 @@ var ExternalField = ({
31786
31942
 
31787
31943
  // components/InputOrGroup/fields/RadioField/index.tsx
31788
31944
  init_react_import();
31789
- var import_jsx_runtime17 = require("react/jsx-runtime");
31945
+ var import_jsx_runtime20 = require("react/jsx-runtime");
31790
31946
  var getClassName14 = get_class_name_factory_default("Input", styles_module_default9);
31791
31947
  var RadioField = ({
31792
31948
  field,
@@ -31800,19 +31956,19 @@ var RadioField = ({
31800
31956
  if (field.type !== "radio" || !field.options) {
31801
31957
  return null;
31802
31958
  }
31803
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
31959
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
31804
31960
  FieldLabelInternal,
31805
31961
  {
31806
- icon: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(CheckCircle, { size: 16 }),
31962
+ icon: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(CheckCircle, { size: 16 }),
31807
31963
  label: label || name,
31808
31964
  readOnly,
31809
31965
  el: "div",
31810
- children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: getClassName14("radioGroupItems"), id, children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
31966
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassName14("radioGroupItems"), id, children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
31811
31967
  "label",
31812
31968
  {
31813
31969
  className: getClassName14("radio"),
31814
31970
  children: [
31815
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
31971
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
31816
31972
  "input",
31817
31973
  {
31818
31974
  type: "radio",
@@ -31830,7 +31986,7 @@ var RadioField = ({
31830
31986
  defaultChecked: value === option.value
31831
31987
  }
31832
31988
  ),
31833
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: getClassName14("radioInner"), children: option.label || option.value })
31989
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassName14("radioInner"), children: option.label || option.value })
31834
31990
  ]
31835
31991
  },
31836
31992
  option.label + option.value
@@ -31841,7 +31997,7 @@ var RadioField = ({
31841
31997
 
31842
31998
  // components/InputOrGroup/fields/SelectField/index.tsx
31843
31999
  init_react_import();
31844
- var import_jsx_runtime18 = require("react/jsx-runtime");
32000
+ var import_jsx_runtime21 = require("react/jsx-runtime");
31845
32001
  var getClassName15 = get_class_name_factory_default("Input", styles_module_default9);
31846
32002
  var SelectField = ({
31847
32003
  field,
@@ -31855,13 +32011,13 @@ var SelectField = ({
31855
32011
  if (field.type !== "select" || !field.options) {
31856
32012
  return null;
31857
32013
  }
31858
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
32014
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
31859
32015
  FieldLabelInternal,
31860
32016
  {
31861
32017
  label: label || name,
31862
- icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ChevronDown, { size: 16 }),
32018
+ icon: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ChevronDown, { size: 16 }),
31863
32019
  readOnly,
31864
- children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
32020
+ children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
31865
32021
  "select",
31866
32022
  {
31867
32023
  id,
@@ -31875,7 +32031,7 @@ var SelectField = ({
31875
32031
  onChange(e.currentTarget.value);
31876
32032
  },
31877
32033
  value,
31878
- children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
32034
+ children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
31879
32035
  "option",
31880
32036
  {
31881
32037
  label: option.label,
@@ -31891,7 +32047,7 @@ var SelectField = ({
31891
32047
 
31892
32048
  // components/InputOrGroup/fields/TextareaField/index.tsx
31893
32049
  init_react_import();
31894
- var import_jsx_runtime19 = require("react/jsx-runtime");
32050
+ var import_jsx_runtime22 = require("react/jsx-runtime");
31895
32051
  var getClassName16 = get_class_name_factory_default("Input", styles_module_default9);
31896
32052
  var TextareaField = ({
31897
32053
  onChange,
@@ -31901,13 +32057,13 @@ var TextareaField = ({
31901
32057
  label,
31902
32058
  id
31903
32059
  }) => {
31904
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
32060
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
31905
32061
  FieldLabelInternal,
31906
32062
  {
31907
32063
  label: label || name,
31908
- icon: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Type, { size: 16 }),
32064
+ icon: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Type, { size: 16 }),
31909
32065
  readOnly,
31910
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
32066
+ children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
31911
32067
  "textarea",
31912
32068
  {
31913
32069
  id,
@@ -31936,7 +32092,7 @@ init_react_import();
31936
32092
  var styles_module_default13 = { "ObjectField": "_ObjectField_15j63_5", "ObjectField-fieldset": "_ObjectField-fieldset_15j63_13" };
31937
32093
 
31938
32094
  // components/InputOrGroup/fields/ObjectField/index.tsx
31939
- var import_jsx_runtime20 = require("react/jsx-runtime");
32095
+ var import_jsx_runtime23 = require("react/jsx-runtime");
31940
32096
  var getClassName17 = get_class_name_factory_default("ObjectField", styles_module_default13);
31941
32097
  var getClassNameItem3 = get_class_name_factory_default("ObjectFieldItem", styles_module_default13);
31942
32098
  var ObjectField = ({
@@ -31953,18 +32109,18 @@ var ObjectField = ({
31953
32109
  return null;
31954
32110
  }
31955
32111
  const data = value || {};
31956
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
32112
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
31957
32113
  FieldLabelInternal,
31958
32114
  {
31959
32115
  label: label || name,
31960
- icon: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(MoreVertical, { size: 16 }),
32116
+ icon: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(MoreVertical, { size: 16 }),
31961
32117
  el: "div",
31962
32118
  readOnly,
31963
- children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassName17(), children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("fieldset", { className: getClassName17("fieldset"), children: Object.keys(field.objectFields).map((fieldName) => {
32119
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: getClassName17(), children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("fieldset", { className: getClassName17("fieldset"), children: Object.keys(field.objectFields).map((fieldName) => {
31964
32120
  const subField = field.objectFields[fieldName];
31965
32121
  const subFieldName = `${name}.${fieldName}`;
31966
32122
  const wildcardFieldName = `${name}.${fieldName}`;
31967
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
32123
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
31968
32124
  InputOrGroup,
31969
32125
  {
31970
32126
  name: subFieldName,
@@ -31991,7 +32147,7 @@ var ObjectField = ({
31991
32147
  };
31992
32148
 
31993
32149
  // components/InputOrGroup/index.tsx
31994
- var import_jsx_runtime21 = require("react/jsx-runtime");
32150
+ var import_jsx_runtime24 = require("react/jsx-runtime");
31995
32151
  var getClassName18 = get_class_name_factory_default("Input", styles_module_default9);
31996
32152
  var FieldLabel = ({
31997
32153
  children,
@@ -32002,11 +32158,11 @@ var FieldLabel = ({
32002
32158
  className
32003
32159
  }) => {
32004
32160
  const El = el;
32005
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(El, { className, children: [
32006
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: getClassName18("label"), children: [
32007
- icon ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassName18("labelIcon"), children: icon }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_jsx_runtime21.Fragment, {}),
32161
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(El, { className, children: [
32162
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: getClassName18("label"), children: [
32163
+ icon ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: getClassName18("labelIcon"), children: icon }) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, {}),
32008
32164
  label,
32009
- readOnly && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassName18("disabledIcon"), title: "Read-only", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Lock, { size: "12" }) })
32165
+ readOnly && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: getClassName18("disabledIcon"), title: "Read-only", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Lock, { size: "12" }) })
32010
32166
  ] }),
32011
32167
  children
32012
32168
  ] });
@@ -32023,7 +32179,7 @@ var FieldLabelInternal = ({
32023
32179
  () => overrides.fieldLabel || FieldLabel,
32024
32180
  [overrides]
32025
32181
  );
32026
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
32182
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
32027
32183
  Wrapper,
32028
32184
  {
32029
32185
  label,
@@ -32063,7 +32219,7 @@ var InputOrGroup = (_a) => {
32063
32219
  if (!field.render) {
32064
32220
  return null;
32065
32221
  }
32066
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassName18(), children: field.render(__spreadValues({
32222
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: getClassName18(), children: field.render(__spreadValues({
32067
32223
  field,
32068
32224
  name,
32069
32225
  readOnly
@@ -32092,7 +32248,7 @@ var InputOrGroup = (_a) => {
32092
32248
  const mergedProps = __spreadProps(__spreadValues(__spreadValues({}, props), localProps), { field });
32093
32249
  const children = defaultFields[field.type](mergedProps);
32094
32250
  const Render2 = render[field.type];
32095
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Render2, __spreadProps(__spreadValues({}, mergedProps), { children }));
32251
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Render2, __spreadProps(__spreadValues({}, mergedProps), { children }));
32096
32252
  };
32097
32253
 
32098
32254
  // css-module:/home/runner/work/puck/puck/packages/core/components/Puck/components/Fields/styles.module.css#css-module
@@ -32101,7 +32257,7 @@ var styles_module_default14 = { "PuckFields": "_PuckFields_17k3p_1", "PuckFields
32101
32257
 
32102
32258
  // components/Puck/components/Fields/index.tsx
32103
32259
  var import_react19 = require("react");
32104
- var import_jsx_runtime22 = require("react/jsx-runtime");
32260
+ var import_jsx_runtime25 = require("react/jsx-runtime");
32105
32261
  var getClassName19 = get_class_name_factory_default("PuckFields", styles_module_default14);
32106
32262
  var defaultPageFields = {
32107
32263
  title: { type: "text" }
@@ -32110,9 +32266,9 @@ var DefaultFields = ({
32110
32266
  children,
32111
32267
  isLoading
32112
32268
  }) => {
32113
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: getClassName19(), children: [
32269
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: getClassName19(), children: [
32114
32270
  children,
32115
- isLoading && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: getClassName19("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_react_spinners6.ClipLoader, { "aria-label": "loading" }) })
32271
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: getClassName19("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_spinners6.ClipLoader, { "aria-label": "loading" }) })
32116
32272
  ] });
32117
32273
  };
32118
32274
  var Fields = () => {
@@ -32133,14 +32289,14 @@ var Fields = () => {
32133
32289
  const isLoading = selectedItem ? (_c = componentState[selectedItem == null ? void 0 : selectedItem.props.id]) == null ? void 0 : _c.loading : (_d = componentState["puck-root"]) == null ? void 0 : _d.loading;
32134
32290
  const rootProps = data.root.props || data.root;
32135
32291
  const Wrapper = (0, import_react19.useMemo)(() => overrides.fields || DefaultFields, [overrides]);
32136
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
32292
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
32137
32293
  "form",
32138
32294
  {
32139
32295
  className: getClassName19(),
32140
32296
  onSubmit: (e) => {
32141
32297
  e.preventDefault();
32142
32298
  },
32143
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Wrapper, { isLoading, itemSelector, children: Object.keys(fields).map((fieldName) => {
32299
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Wrapper, { isLoading, itemSelector, children: Object.keys(fields).map((fieldName) => {
32144
32300
  const field = fields[fieldName];
32145
32301
  const onChange = (value, updatedUi) => {
32146
32302
  var _a2, _b2;
@@ -32206,7 +32362,7 @@ var Fields = () => {
32206
32362
  };
32207
32363
  if (selectedItem && itemSelector) {
32208
32364
  const { readOnly = {} } = selectedItem;
32209
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
32365
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
32210
32366
  InputOrGroup,
32211
32367
  {
32212
32368
  field,
@@ -32222,7 +32378,7 @@ var Fields = () => {
32222
32378
  );
32223
32379
  } else {
32224
32380
  const { readOnly = {} } = data.root;
32225
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
32381
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
32226
32382
  InputOrGroup,
32227
32383
  {
32228
32384
  field,
@@ -32257,7 +32413,7 @@ init_react_import();
32257
32413
  var styles_module_default15 = { "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" };
32258
32414
 
32259
32415
  // components/ComponentList/index.tsx
32260
- var import_jsx_runtime23 = require("react/jsx-runtime");
32416
+ var import_jsx_runtime26 = require("react/jsx-runtime");
32261
32417
  var getClassName20 = get_class_name_factory_default("ComponentList", styles_module_default15);
32262
32418
  var ComponentListItem = ({
32263
32419
  name,
@@ -32265,7 +32421,7 @@ var ComponentListItem = ({
32265
32421
  index
32266
32422
  }) => {
32267
32423
  const { overrides } = useAppContext();
32268
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Drawer.Item, { label, name, index, children: overrides.componentItem });
32424
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Drawer.Item, { label, name, index, children: overrides.componentItem });
32269
32425
  };
32270
32426
  var ComponentList = ({
32271
32427
  children,
@@ -32274,8 +32430,8 @@ var ComponentList = ({
32274
32430
  }) => {
32275
32431
  const { config, state, setUi } = useAppContext();
32276
32432
  const { expanded = true } = state.ui.componentList[id] || {};
32277
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: getClassName20({ isExpanded: expanded }), children: [
32278
- title && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
32433
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: getClassName20({ isExpanded: expanded }), children: [
32434
+ title && /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
32279
32435
  "button",
32280
32436
  {
32281
32437
  className: getClassName20("title"),
@@ -32288,14 +32444,14 @@ var ComponentList = ({
32288
32444
  }),
32289
32445
  title: expanded ? `Collapse${title ? ` ${title}` : ""}` : `Expand${title ? ` ${title}` : ""}`,
32290
32446
  children: [
32291
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { children: title }),
32292
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: getClassName20("titleIcon"), children: expanded ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(ChevronUp, { size: 12 }) : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(ChevronDown, { size: 12 }) })
32447
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { children: title }),
32448
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: getClassName20("titleIcon"), children: expanded ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(ChevronUp, { size: 12 }) : /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(ChevronDown, { size: 12 }) })
32293
32449
  ]
32294
32450
  }
32295
32451
  ),
32296
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: getClassName20("content"), children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Drawer, { droppableId: `component-list${title ? `:${title}` : ""}`, children: children || Object.keys(config.components).map((componentKey, i) => {
32452
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: getClassName20("content"), children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Drawer, { droppableId: `component-list${title ? `:${title}` : ""}`, children: children || Object.keys(config.components).map((componentKey, i) => {
32297
32453
  var _a;
32298
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
32454
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
32299
32455
  ComponentListItem,
32300
32456
  {
32301
32457
  label: (_a = config.components[componentKey]["label"]) != null ? _a : componentKey,
@@ -32310,7 +32466,7 @@ var ComponentList = ({
32310
32466
  ComponentList.Item = ComponentListItem;
32311
32467
 
32312
32468
  // lib/use-component-list.tsx
32313
- var import_jsx_runtime24 = require("react/jsx-runtime");
32469
+ var import_jsx_runtime27 = require("react/jsx-runtime");
32314
32470
  var useComponentList = (config, ui) => {
32315
32471
  const [componentList, setComponentList] = (0, import_react20.useState)();
32316
32472
  (0, import_react20.useEffect)(() => {
@@ -32323,7 +32479,7 @@ var useComponentList = (config, ui) => {
32323
32479
  if (category.visible === false || !category.components) {
32324
32480
  return null;
32325
32481
  }
32326
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
32482
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
32327
32483
  ComponentList,
32328
32484
  {
32329
32485
  id: categoryKey,
@@ -32331,7 +32487,7 @@ var useComponentList = (config, ui) => {
32331
32487
  children: category.components.map((componentName, i) => {
32332
32488
  var _a2;
32333
32489
  matchedComponents.push(componentName);
32334
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
32490
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
32335
32491
  ComponentList.Item,
32336
32492
  {
32337
32493
  label: (_a2 = config.components[componentName]["label"]) != null ? _a2 : componentName,
@@ -32351,14 +32507,14 @@ var useComponentList = (config, ui) => {
32351
32507
  );
32352
32508
  if (remainingComponents.length > 0 && !((_a = ui.componentList.other) == null ? void 0 : _a.components) && ((_b = ui.componentList.other) == null ? void 0 : _b.visible) !== false) {
32353
32509
  _componentList.push(
32354
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
32510
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
32355
32511
  ComponentList,
32356
32512
  {
32357
32513
  id: "other",
32358
32514
  title: ((_c = ui.componentList.other) == null ? void 0 : _c.title) || "Other",
32359
32515
  children: remainingComponents.map((componentName, i) => {
32360
32516
  var _a2;
32361
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
32517
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
32362
32518
  ComponentList.Item,
32363
32519
  {
32364
32520
  name: componentName,
@@ -32381,18 +32537,26 @@ var useComponentList = (config, ui) => {
32381
32537
 
32382
32538
  // components/Puck/components/Components/index.tsx
32383
32539
  var import_react21 = require("react");
32384
- var import_jsx_runtime25 = require("react/jsx-runtime");
32540
+ var import_jsx_runtime28 = require("react/jsx-runtime");
32385
32541
  var Components = () => {
32386
32542
  const { config, state, overrides } = useAppContext();
32387
32543
  const componentList = useComponentList(config, state.ui);
32388
32544
  const Wrapper = (0, import_react21.useMemo)(() => overrides.components || "div", [overrides]);
32389
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Wrapper, { children: componentList ? componentList : /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(ComponentList, { id: "all" }) });
32545
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Wrapper, { children: componentList ? componentList : /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ComponentList, { id: "all" }) });
32390
32546
  };
32391
32547
 
32392
32548
  // components/Puck/components/Preview/index.tsx
32393
32549
  init_react_import();
32394
32550
  var import_react22 = require("react");
32395
- var import_jsx_runtime26 = require("react/jsx-runtime");
32551
+ var import_auto_frame_component = __toESM(require("@measured/auto-frame-component"));
32552
+
32553
+ // css-module:/home/runner/work/puck/puck/packages/core/components/Puck/components/Preview/styles.module.css#css-module
32554
+ init_react_import();
32555
+ var styles_module_default16 = { "PuckPreview": "_PuckPreview_29rm6_1", "PuckPreview-iframe": "_PuckPreview-iframe_29rm6_5" };
32556
+
32557
+ // components/Puck/components/Preview/index.tsx
32558
+ var import_jsx_runtime29 = require("react/jsx-runtime");
32559
+ var getClassName21 = get_class_name_factory_default("PuckPreview", styles_module_default16);
32396
32560
  var Preview = ({ id = "puck-preview" }) => {
32397
32561
  const { config, dispatch, state } = useAppContext();
32398
32562
  const Page = (0, import_react22.useCallback)(
@@ -32403,16 +32567,25 @@ var Preview = ({ id = "puck-preview" }) => {
32403
32567
  [config.root]
32404
32568
  );
32405
32569
  const rootProps = state.data.root.props || state.data.root;
32406
- const { disableZoom = false } = (0, import_react22.useContext)(dropZoneContext) || {};
32407
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
32570
+ const ref = (0, import_react22.useRef)(null);
32571
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
32408
32572
  "div",
32409
32573
  {
32574
+ className: getClassName21(),
32410
32575
  id,
32411
32576
  onClick: () => {
32412
32577
  dispatch({ type: "setUi", ui: __spreadProps(__spreadValues({}, state.ui), { itemSelector: null }) });
32413
32578
  },
32414
- style: { zoom: disableZoom ? 1 : 0.75 },
32415
- children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Page, __spreadProps(__spreadValues({ dispatch, state }, rootProps), { children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(DropZone, { zone: rootDroppableId }) }))
32579
+ children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
32580
+ import_auto_frame_component.default,
32581
+ {
32582
+ id: "preview-iframe",
32583
+ className: getClassName21("iframe"),
32584
+ "data-rfd-iframe": true,
32585
+ ref,
32586
+ children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Page, __spreadProps(__spreadValues({ dispatch, state }, rootProps), { children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(DropZone, { zone: rootDroppableId }) }))
32587
+ }
32588
+ )
32416
32589
  }
32417
32590
  );
32418
32591
  };
@@ -32446,7 +32619,7 @@ init_react_import();
32446
32619
 
32447
32620
  // css-module:/home/runner/work/puck/puck/packages/core/components/LayerTree/styles.module.css#css-module
32448
32621
  init_react_import();
32449
- var styles_module_default16 = { "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" };
32622
+ var styles_module_default17 = { "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" };
32450
32623
 
32451
32624
  // lib/scroll-into-view.ts
32452
32625
  init_react_import();
@@ -32474,9 +32647,9 @@ var isChildOfZone = (item, maybeChild, ctx) => {
32474
32647
  };
32475
32648
 
32476
32649
  // components/LayerTree/index.tsx
32477
- var import_jsx_runtime27 = require("react/jsx-runtime");
32478
- var getClassName21 = get_class_name_factory_default("LayerTree", styles_module_default16);
32479
- var getClassNameLayer = get_class_name_factory_default("Layer", styles_module_default16);
32650
+ var import_jsx_runtime30 = require("react/jsx-runtime");
32651
+ var getClassName22 = get_class_name_factory_default("LayerTree", styles_module_default17);
32652
+ var getClassNameLayer = get_class_name_factory_default("Layer", styles_module_default17);
32480
32653
  var LayerTree = ({
32481
32654
  data,
32482
32655
  config,
@@ -32488,14 +32661,14 @@ var LayerTree = ({
32488
32661
  }) => {
32489
32662
  const zones = data.zones || {};
32490
32663
  const ctx = (0, import_react23.useContext)(dropZoneContext);
32491
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_jsx_runtime27.Fragment, { children: [
32492
- label && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: getClassName21("zoneTitle"), children: [
32493
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: getClassName21("zoneIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Layers, { size: "16" }) }),
32664
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_jsx_runtime30.Fragment, { children: [
32665
+ label && /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: getClassName22("zoneTitle"), children: [
32666
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: getClassName22("zoneIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Layers, { size: "16" }) }),
32494
32667
  " ",
32495
32668
  label
32496
32669
  ] }),
32497
- /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("ul", { className: getClassName21(), children: [
32498
- zoneContent.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: getClassName21("helper"), children: "No items" }),
32670
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("ul", { className: getClassName22(), children: [
32671
+ zoneContent.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: getClassName22("helper"), children: "No items" }),
32499
32672
  zoneContent.map((item, i) => {
32500
32673
  var _a;
32501
32674
  const isSelected = (itemSelector == null ? void 0 : itemSelector.index) === i && (itemSelector.zone === zone || itemSelector.zone === rootDroppableId && !zone);
@@ -32511,7 +32684,7 @@ var LayerTree = ({
32511
32684
  const selectedItem = itemSelector && data ? getItem(itemSelector, data) : null;
32512
32685
  const isHovering = hoveringComponent === item.props.id;
32513
32686
  const childIsSelected = isChildOfZone(item, selectedItem, ctx);
32514
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
32687
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
32515
32688
  "li",
32516
32689
  {
32517
32690
  className: getClassNameLayer({
@@ -32521,7 +32694,7 @@ var LayerTree = ({
32521
32694
  childIsSelected
32522
32695
  }),
32523
32696
  children: [
32524
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: getClassNameLayer("inner"), children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
32697
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: getClassNameLayer("inner"), children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
32525
32698
  "button",
32526
32699
  {
32527
32700
  className: getClassNameLayer("clickable"),
@@ -32535,8 +32708,14 @@ var LayerTree = ({
32535
32708
  zone
32536
32709
  });
32537
32710
  const id = zoneContent[i].props.id;
32711
+ const iframe = document.querySelector("#preview-iframe");
32712
+ if (!(iframe == null ? void 0 : iframe.contentDocument)) {
32713
+ throw new Error(
32714
+ `Preview iframe could not be found when trying to scroll to item ${id}`
32715
+ );
32716
+ }
32538
32717
  scrollIntoView(
32539
- document.querySelector(
32718
+ iframe.contentDocument.querySelector(
32540
32719
  `[data-rfd-drag-handle-draggable-id="draggable-${id}"]`
32541
32720
  )
32542
32721
  );
@@ -32552,22 +32731,22 @@ var LayerTree = ({
32552
32731
  setHoveringComponent(null);
32553
32732
  },
32554
32733
  children: [
32555
- containsZone && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
32734
+ containsZone && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
32556
32735
  "div",
32557
32736
  {
32558
32737
  className: getClassNameLayer("chevron"),
32559
32738
  title: isSelected ? "Collapse" : "Expand",
32560
- children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(ChevronDown, { size: "12" })
32739
+ children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(ChevronDown, { size: "12" })
32561
32740
  }
32562
32741
  ),
32563
- /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: getClassNameLayer("title"), children: [
32564
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: getClassNameLayer("icon"), children: item.type === "Text" || item.type === "Heading" ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Type, { size: "16" }) : /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(LayoutGrid, { size: "16" }) }),
32565
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: getClassNameLayer("name"), children: (_a = config.components[item.type]["label"]) != null ? _a : item.type })
32742
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: getClassNameLayer("title"), children: [
32743
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: getClassNameLayer("icon"), children: item.type === "Text" || item.type === "Heading" ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Type, { size: "16" }) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(LayoutGrid, { size: "16" }) }),
32744
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: getClassNameLayer("name"), children: (_a = config.components[item.type]["label"]) != null ? _a : item.type })
32566
32745
  ] })
32567
32746
  ]
32568
32747
  }
32569
32748
  ) }),
32570
- containsZone && Object.keys(zonesForItem).map((zoneKey, idx) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: getClassNameLayer("zones"), children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
32749
+ containsZone && Object.keys(zonesForItem).map((zoneKey, idx) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: getClassNameLayer("zones"), children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
32571
32750
  LayerTree,
32572
32751
  {
32573
32752
  config,
@@ -32590,7 +32769,7 @@ var LayerTree = ({
32590
32769
 
32591
32770
  // components/Puck/components/Outline/index.tsx
32592
32771
  var import_react24 = require("react");
32593
- var import_jsx_runtime28 = require("react/jsx-runtime");
32772
+ var import_jsx_runtime31 = require("react/jsx-runtime");
32594
32773
  var Outline = () => {
32595
32774
  const { dispatch, state, overrides, config } = useAppContext();
32596
32775
  const { data, ui } = state;
@@ -32605,8 +32784,8 @@ var Outline = () => {
32605
32784
  []
32606
32785
  );
32607
32786
  const Wrapper = (0, import_react24.useMemo)(() => overrides.outline || "div", [overrides]);
32608
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Wrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(dropZoneContext.Consumer, { children: (ctx) => /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_jsx_runtime28.Fragment, { children: [
32609
- (ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId]) && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
32787
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Wrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(dropZoneContext.Consumer, { children: (ctx) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_jsx_runtime31.Fragment, { children: [
32788
+ (ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId]) && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
32610
32789
  LayerTree,
32611
32790
  {
32612
32791
  config,
@@ -32619,7 +32798,7 @@ var Outline = () => {
32619
32798
  ),
32620
32799
  Object.entries(findZonesForArea(data, "root")).map(
32621
32800
  ([zoneKey, zone]) => {
32622
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
32801
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
32623
32802
  LayerTree,
32624
32803
  {
32625
32804
  config,
@@ -32746,14 +32925,421 @@ function useHistoryStore() {
32746
32925
  };
32747
32926
  }
32748
32927
 
32928
+ // components/Puck/components/Canvas/index.tsx
32929
+ init_react_import();
32930
+
32931
+ // ../../node_modules/css-box-model/dist/css-box-model.esm.js
32932
+ init_react_import();
32933
+
32934
+ // ../../node_modules/tiny-invariant/dist/esm/tiny-invariant.js
32935
+ init_react_import();
32936
+ var isProduction = process.env.NODE_ENV === "production";
32937
+ var prefix = "Invariant failed";
32938
+ function invariant(condition, message) {
32939
+ if (condition) {
32940
+ return;
32941
+ }
32942
+ if (isProduction) {
32943
+ throw new Error(prefix);
32944
+ }
32945
+ var provided = typeof message === "function" ? message() : message;
32946
+ var value = provided ? "".concat(prefix, ": ").concat(provided) : prefix;
32947
+ throw new Error(value);
32948
+ }
32949
+
32950
+ // ../../node_modules/css-box-model/dist/css-box-model.esm.js
32951
+ var getRect = function getRect2(_ref) {
32952
+ var top = _ref.top, right = _ref.right, bottom = _ref.bottom, left = _ref.left;
32953
+ var width = right - left;
32954
+ var height = bottom - top;
32955
+ var rect = {
32956
+ top,
32957
+ right,
32958
+ bottom,
32959
+ left,
32960
+ width,
32961
+ height,
32962
+ x: left,
32963
+ y: top,
32964
+ center: {
32965
+ x: (right + left) / 2,
32966
+ y: (bottom + top) / 2
32967
+ }
32968
+ };
32969
+ return rect;
32970
+ };
32971
+ var expand = function expand2(target, expandBy) {
32972
+ return {
32973
+ top: target.top - expandBy.top,
32974
+ left: target.left - expandBy.left,
32975
+ bottom: target.bottom + expandBy.bottom,
32976
+ right: target.right + expandBy.right
32977
+ };
32978
+ };
32979
+ var shrink = function shrink2(target, shrinkBy) {
32980
+ return {
32981
+ top: target.top + shrinkBy.top,
32982
+ left: target.left + shrinkBy.left,
32983
+ bottom: target.bottom - shrinkBy.bottom,
32984
+ right: target.right - shrinkBy.right
32985
+ };
32986
+ };
32987
+ var noSpacing = {
32988
+ top: 0,
32989
+ right: 0,
32990
+ bottom: 0,
32991
+ left: 0
32992
+ };
32993
+ var createBox = function createBox2(_ref2) {
32994
+ var borderBox = _ref2.borderBox, _ref2$margin = _ref2.margin, margin = _ref2$margin === void 0 ? noSpacing : _ref2$margin, _ref2$border = _ref2.border, border = _ref2$border === void 0 ? noSpacing : _ref2$border, _ref2$padding = _ref2.padding, padding = _ref2$padding === void 0 ? noSpacing : _ref2$padding;
32995
+ var marginBox = getRect(expand(borderBox, margin));
32996
+ var paddingBox = getRect(shrink(borderBox, border));
32997
+ var contentBox = getRect(shrink(paddingBox, padding));
32998
+ return {
32999
+ marginBox,
33000
+ borderBox: getRect(borderBox),
33001
+ paddingBox,
33002
+ contentBox,
33003
+ margin,
33004
+ border,
33005
+ padding
33006
+ };
33007
+ };
33008
+ var parse = function parse2(raw) {
33009
+ var value = raw.slice(0, -2);
33010
+ var suffix = raw.slice(-2);
33011
+ if (suffix !== "px") {
33012
+ return 0;
33013
+ }
33014
+ var result = Number(value);
33015
+ !!isNaN(result) ? process.env.NODE_ENV !== "production" ? invariant(false, "Could not parse value [raw: " + raw + ", without suffix: " + value + "]") : invariant(false) : void 0;
33016
+ return result;
33017
+ };
33018
+ var calculateBox = function calculateBox2(borderBox, styles) {
33019
+ var margin = {
33020
+ top: parse(styles.marginTop),
33021
+ right: parse(styles.marginRight),
33022
+ bottom: parse(styles.marginBottom),
33023
+ left: parse(styles.marginLeft)
33024
+ };
33025
+ var padding = {
33026
+ top: parse(styles.paddingTop),
33027
+ right: parse(styles.paddingRight),
33028
+ bottom: parse(styles.paddingBottom),
33029
+ left: parse(styles.paddingLeft)
33030
+ };
33031
+ var border = {
33032
+ top: parse(styles.borderTopWidth),
33033
+ right: parse(styles.borderRightWidth),
33034
+ bottom: parse(styles.borderBottomWidth),
33035
+ left: parse(styles.borderLeftWidth)
33036
+ };
33037
+ return createBox({
33038
+ borderBox,
33039
+ margin,
33040
+ padding,
33041
+ border
33042
+ });
33043
+ };
33044
+ var getBox = function getBox2(el) {
33045
+ var borderBox = el.getBoundingClientRect();
33046
+ var styles = window.getComputedStyle(el);
33047
+ return calculateBox(borderBox, styles);
33048
+ };
33049
+
33050
+ // components/Puck/components/Canvas/index.tsx
33051
+ var import_react27 = require("react");
33052
+
33053
+ // components/ViewportControls/index.tsx
33054
+ init_react_import();
33055
+ var import_react26 = require("react");
33056
+
33057
+ // css-module:/home/runner/work/puck/puck/packages/core/components/ViewportControls/styles.module.css#css-module
33058
+ init_react_import();
33059
+ var styles_module_default18 = { "ViewportControls": "_ViewportControls_14bhf_1", "ViewportControls-divider": "_ViewportControls-divider_14bhf_15", "ViewportControls-zoomSelect": "_ViewportControls-zoomSelect_14bhf_21", "ViewportButton--isActive": "_ViewportButton--isActive_14bhf_33", "ViewportButton-inner": "_ViewportButton-inner_14bhf_33" };
33060
+
33061
+ // components/ViewportControls/index.tsx
33062
+ var import_jsx_runtime32 = require("react/jsx-runtime");
33063
+ var icons = {
33064
+ Smartphone: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Smartphone, { size: 16 }),
33065
+ Tablet: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Tablet, { size: 16 }),
33066
+ Monitor: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Monitor, { size: 16 })
33067
+ };
33068
+ var getClassName23 = get_class_name_factory_default("ViewportControls", styles_module_default18);
33069
+ var getClassNameButton = get_class_name_factory_default("ViewportButton", styles_module_default18);
33070
+ var ViewportButton = ({
33071
+ children,
33072
+ height = "auto",
33073
+ title,
33074
+ width,
33075
+ onClick
33076
+ }) => {
33077
+ const { state } = useAppContext();
33078
+ const isActive = width === state.ui.viewports.current.width;
33079
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: getClassNameButton({ isActive }), children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
33080
+ IconButton,
33081
+ {
33082
+ title,
33083
+ disabled: isActive,
33084
+ onClick: (e) => {
33085
+ e.stopPropagation();
33086
+ onClick({ width, height });
33087
+ },
33088
+ children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: getClassNameButton("inner"), children })
33089
+ }
33090
+ ) });
33091
+ };
33092
+ var defaultZoomOptions = [
33093
+ { label: "25%", value: 0.25 },
33094
+ { label: "50%", value: 0.5 },
33095
+ { label: "75%", value: 0.75 },
33096
+ { label: "100%", value: 1 },
33097
+ { label: "125%", value: 1.25 },
33098
+ { label: "150%", value: 1.5 },
33099
+ { label: "200%", value: 2 }
33100
+ ];
33101
+ var ViewportControls = ({
33102
+ autoZoom,
33103
+ zoom,
33104
+ onViewportChange,
33105
+ onZoom
33106
+ }) => {
33107
+ const { state, viewports } = useAppContext();
33108
+ const viewport = state.ui.viewports.current;
33109
+ const defaultsContainAutoZoom = defaultZoomOptions.find(
33110
+ (option) => option.value === autoZoom
33111
+ );
33112
+ const zoomOptions = (0, import_react26.useMemo)(
33113
+ () => [
33114
+ ...defaultZoomOptions,
33115
+ ...defaultsContainAutoZoom ? [] : [
33116
+ {
33117
+ value: autoZoom,
33118
+ label: `${(autoZoom * 100).toFixed(0)}% (Auto)`
33119
+ }
33120
+ ]
33121
+ ].filter((a) => a.value <= autoZoom).sort((a, b) => a.value > b.value ? 1 : -1),
33122
+ [autoZoom]
33123
+ );
33124
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: getClassName23(), children: [
33125
+ viewports.map((viewport2, i) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
33126
+ ViewportButton,
33127
+ {
33128
+ height: viewport2.height,
33129
+ width: viewport2.width,
33130
+ title: viewport2.label ? `Switch to ${viewport2.label} viewport` : "Switch viewport",
33131
+ onClick: onViewportChange,
33132
+ children: typeof viewport2.icon === "string" ? icons[viewport2.icon] || viewport2.icon : viewport2.icon || icons.Smartphone
33133
+ },
33134
+ i
33135
+ )),
33136
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: getClassName23("divider") }),
33137
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
33138
+ IconButton,
33139
+ {
33140
+ title: "Zoom viewport out",
33141
+ disabled: zoom <= zoomOptions[0].value,
33142
+ onClick: (e) => {
33143
+ e.stopPropagation();
33144
+ onZoom(
33145
+ zoomOptions[Math.max(
33146
+ zoomOptions.findIndex((option) => option.value === zoom) - 1,
33147
+ 0
33148
+ )].value
33149
+ );
33150
+ },
33151
+ children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ZoomOut, { size: 16 })
33152
+ }
33153
+ ),
33154
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
33155
+ IconButton,
33156
+ {
33157
+ title: "Zoom viewport in",
33158
+ disabled: zoom >= zoomOptions[zoomOptions.length - 1].value,
33159
+ onClick: (e) => {
33160
+ e.stopPropagation();
33161
+ onZoom(
33162
+ zoomOptions[Math.min(
33163
+ zoomOptions.findIndex((option) => option.value === zoom) + 1,
33164
+ zoomOptions.length - 1
33165
+ )].value
33166
+ );
33167
+ },
33168
+ children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ZoomIn, { size: 16 })
33169
+ }
33170
+ ),
33171
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: getClassName23("divider") }),
33172
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
33173
+ "select",
33174
+ {
33175
+ className: getClassName23("zoomSelect"),
33176
+ value: zoom.toString(),
33177
+ onChange: (e) => {
33178
+ onZoom(parseFloat(e.currentTarget.value));
33179
+ },
33180
+ children: zoomOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
33181
+ "option",
33182
+ {
33183
+ value: option.value,
33184
+ label: option.label
33185
+ },
33186
+ option.label
33187
+ ))
33188
+ }
33189
+ )
33190
+ ] });
33191
+ };
33192
+
33193
+ // lib/get-zoom-config.ts
33194
+ init_react_import();
33195
+ var RESET_ZOOM_SMALLER_THAN_FRAME = true;
33196
+ var getZoomConfig = (uiViewport, frame, zoom) => {
33197
+ const box = getBox(frame);
33198
+ const { width: frameWidth, height: frameHeight } = box.contentBox;
33199
+ const viewportHeight = uiViewport.height === "auto" ? frameHeight : uiViewport.height;
33200
+ let rootHeight = 0;
33201
+ let autoZoom = 1;
33202
+ if (uiViewport.width > frameWidth || viewportHeight > frameHeight) {
33203
+ const widthZoom = Math.min(frameWidth / uiViewport.width, 1);
33204
+ const heightZoom = Math.min(frameHeight / viewportHeight, 1);
33205
+ zoom = widthZoom;
33206
+ if (widthZoom < heightZoom) {
33207
+ rootHeight = viewportHeight / zoom;
33208
+ } else {
33209
+ rootHeight = viewportHeight;
33210
+ zoom = heightZoom;
33211
+ }
33212
+ autoZoom = zoom;
33213
+ } else {
33214
+ if (RESET_ZOOM_SMALLER_THAN_FRAME) {
33215
+ autoZoom = 1;
33216
+ zoom = 1;
33217
+ rootHeight = viewportHeight;
33218
+ }
33219
+ }
33220
+ return { autoZoom, rootHeight, zoom };
33221
+ };
33222
+
33223
+ // components/Puck/components/Canvas/index.tsx
33224
+ var import_jsx_runtime33 = require("react/jsx-runtime");
33225
+ var getClassName24 = get_class_name_factory_default("Puck", styles_module_default8);
33226
+ var ZOOM_ON_CHANGE = true;
33227
+ var Canvas = () => {
33228
+ const { dispatch, state, overrides, setUi, zoomConfig, setZoomConfig } = useAppContext();
33229
+ const { ui } = state;
33230
+ const frameRef = (0, import_react27.useRef)(null);
33231
+ const [showTransition, setShowTransition] = (0, import_react27.useState)(false);
33232
+ const defaultRender = (0, import_react27.useMemo)(() => {
33233
+ const PuckDefault = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_jsx_runtime33.Fragment, { children });
33234
+ return PuckDefault;
33235
+ }, []);
33236
+ const CustomPreview = (0, import_react27.useMemo)(
33237
+ () => overrides.preview || defaultRender,
33238
+ [overrides]
33239
+ );
33240
+ const getFrameDimensions = (0, import_react27.useCallback)(() => {
33241
+ if (frameRef.current) {
33242
+ const frame = frameRef.current;
33243
+ const box = getBox(frame);
33244
+ return { width: box.contentBox.width, height: box.contentBox.height };
33245
+ }
33246
+ return { width: 0, height: 0 };
33247
+ }, [frameRef]);
33248
+ const resetAutoZoom = (0, import_react27.useCallback)(
33249
+ (ui2 = state.ui) => {
33250
+ if (frameRef.current) {
33251
+ setZoomConfig(
33252
+ getZoomConfig(ui2.viewports.current, frameRef.current, zoomConfig.zoom)
33253
+ );
33254
+ }
33255
+ },
33256
+ [frameRef, zoomConfig, state.ui]
33257
+ );
33258
+ (0, import_react27.useEffect)(() => {
33259
+ setShowTransition(false);
33260
+ resetAutoZoom();
33261
+ }, [frameRef, ui.leftSideBarVisible, ui.rightSideBarVisible]);
33262
+ (0, import_react27.useEffect)(() => {
33263
+ const { height: frameHeight } = getFrameDimensions();
33264
+ if (ui.viewports.current.height === "auto") {
33265
+ setZoomConfig(__spreadProps(__spreadValues({}, zoomConfig), {
33266
+ rootHeight: frameHeight / zoomConfig.zoom
33267
+ }));
33268
+ }
33269
+ }, [zoomConfig.zoom]);
33270
+ (0, import_react27.useEffect)(() => {
33271
+ const observer = new ResizeObserver(() => {
33272
+ setShowTransition(false);
33273
+ resetAutoZoom();
33274
+ });
33275
+ if (document.body) {
33276
+ observer.observe(document.body);
33277
+ }
33278
+ return () => {
33279
+ observer.disconnect();
33280
+ };
33281
+ }, []);
33282
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
33283
+ "div",
33284
+ {
33285
+ className: getClassName24("canvas"),
33286
+ onClick: () => dispatch({
33287
+ type: "setUi",
33288
+ ui: { itemSelector: null },
33289
+ recordHistory: true
33290
+ }),
33291
+ children: [
33292
+ ui.viewports.controlsVisible && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: getClassName24("canvasControls"), children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
33293
+ ViewportControls,
33294
+ {
33295
+ autoZoom: zoomConfig.autoZoom,
33296
+ zoom: zoomConfig.zoom,
33297
+ onViewportChange: (viewport) => {
33298
+ setShowTransition(true);
33299
+ const uiViewport = __spreadProps(__spreadValues({}, viewport), {
33300
+ height: viewport.height || "auto",
33301
+ zoom: zoomConfig.zoom
33302
+ });
33303
+ const newUi = __spreadProps(__spreadValues({}, ui), {
33304
+ viewports: __spreadProps(__spreadValues({}, ui.viewports), { current: uiViewport })
33305
+ });
33306
+ setUi(newUi);
33307
+ if (ZOOM_ON_CHANGE) {
33308
+ resetAutoZoom(newUi);
33309
+ }
33310
+ },
33311
+ onZoom: (zoom) => {
33312
+ setShowTransition(true);
33313
+ setZoomConfig(__spreadProps(__spreadValues({}, zoomConfig), { zoom }));
33314
+ }
33315
+ }
33316
+ ) }),
33317
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: getClassName24("frame"), ref: frameRef, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
33318
+ "div",
33319
+ {
33320
+ className: getClassName24("root"),
33321
+ style: {
33322
+ width: ui.viewports.current.width,
33323
+ height: zoomConfig.rootHeight,
33324
+ transform: `scale(${zoomConfig.zoom})`,
33325
+ transition: showTransition ? "width 150ms ease-out, height 150ms ease-out, transform 150ms ease-out" : ""
33326
+ },
33327
+ children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(CustomPreview, { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Preview, {}) })
33328
+ }
33329
+ ) })
33330
+ ]
33331
+ }
33332
+ );
33333
+ };
33334
+
32749
33335
  // components/Puck/index.tsx
32750
- var import_jsx_runtime29 = require("react/jsx-runtime");
32751
- var getClassName22 = get_class_name_factory_default("Puck", styles_module_default8);
33336
+ var import_jsx_runtime34 = require("react/jsx-runtime");
33337
+ var getClassName25 = get_class_name_factory_default("Puck", styles_module_default8);
32752
33338
  function Puck({
32753
33339
  children,
32754
33340
  config,
32755
33341
  data: initialData = { content: [], root: { props: { title: "" } } },
32756
- ui: initialUi = defaultAppState.ui,
33342
+ ui: initialUi,
32757
33343
  onChange,
32758
33344
  onPublish,
32759
33345
  plugins = [],
@@ -32761,33 +33347,58 @@ function Puck({
32761
33347
  renderHeader,
32762
33348
  renderHeaderActions,
32763
33349
  headerTitle,
32764
- headerPath
33350
+ headerPath,
33351
+ viewports = defaultViewports
32765
33352
  }) {
32766
33353
  var _a;
32767
33354
  const historyStore = useHistoryStore();
32768
- const [reducer] = (0, import_react26.useState)(
33355
+ const [reducer] = (0, import_react28.useState)(
32769
33356
  () => createReducer({ config, record: historyStore.record })
32770
33357
  );
32771
- const [initialAppState] = (0, import_react26.useState)(() => __spreadProps(__spreadValues({}, defaultAppState), {
32772
- data: initialData,
32773
- ui: __spreadProps(__spreadValues(__spreadValues({}, defaultAppState.ui), initialUi), {
32774
- // Store categories under componentList on state to allow render functions and plugins to modify
32775
- componentList: config.categories ? Object.entries(config.categories).reduce(
32776
- (acc, [categoryName, category]) => {
32777
- return __spreadProps(__spreadValues({}, acc), {
32778
- [categoryName]: {
32779
- title: category.title,
32780
- components: category.components,
32781
- expanded: category.defaultExpanded,
32782
- visible: category.visible
32783
- }
32784
- });
32785
- },
32786
- {}
32787
- ) : {}
32788
- })
32789
- }));
32790
- const [appState, dispatch] = (0, import_react26.useReducer)(
33358
+ const [initialAppState] = (0, import_react28.useState)(() => {
33359
+ var _a2, _b, _c, _d;
33360
+ const initial = __spreadValues(__spreadValues({}, defaultAppState.ui), initialUi);
33361
+ let clientUiState = {};
33362
+ if (typeof window !== "undefined") {
33363
+ const viewportWidth = window.innerWidth;
33364
+ const viewportDifferences = Object.entries(viewports).map(([key, value]) => ({
33365
+ key,
33366
+ diff: Math.abs(viewportWidth - value.width)
33367
+ })).sort((a, b) => a.diff > b.diff ? 1 : -1);
33368
+ const closestViewport = viewportDifferences[0].key;
33369
+ clientUiState = __spreadProps(__spreadValues({}, window.matchMedia("(min-width: 638px)").matches ? {} : {
33370
+ leftSideBarVisible: false,
33371
+ rightSideBarVisible: false
33372
+ }), {
33373
+ viewports: __spreadProps(__spreadValues({}, initial.viewports), {
33374
+ current: __spreadProps(__spreadValues({}, initial.viewports.current), {
33375
+ height: ((_b = (_a2 = initialUi == null ? void 0 : initialUi.viewports) == null ? void 0 : _a2.current) == null ? void 0 : _b.height) || viewports[closestViewport].height || "auto",
33376
+ width: ((_d = (_c = initialUi == null ? void 0 : initialUi.viewports) == null ? void 0 : _c.current) == null ? void 0 : _d.width) || viewports[closestViewport].width
33377
+ })
33378
+ })
33379
+ });
33380
+ }
33381
+ return __spreadProps(__spreadValues({}, defaultAppState), {
33382
+ data: initialData,
33383
+ ui: __spreadProps(__spreadValues(__spreadValues({}, initial), clientUiState), {
33384
+ // Store categories under componentList on state to allow render functions and plugins to modify
33385
+ componentList: config.categories ? Object.entries(config.categories).reduce(
33386
+ (acc, [categoryName, category]) => {
33387
+ return __spreadProps(__spreadValues({}, acc), {
33388
+ [categoryName]: {
33389
+ title: category.title,
33390
+ components: category.components,
33391
+ expanded: category.defaultExpanded,
33392
+ visible: category.visible
33393
+ }
33394
+ });
33395
+ },
33396
+ {}
33397
+ ) : {}
33398
+ })
33399
+ });
33400
+ });
33401
+ const [appState, dispatch] = (0, import_react28.useReducer)(
32791
33402
  reducer,
32792
33403
  flushZones(initialAppState)
32793
33404
  );
@@ -32798,9 +33409,9 @@ function Puck({
32798
33409
  config,
32799
33410
  dispatch
32800
33411
  );
32801
- const [menuOpen, setMenuOpen] = (0, import_react26.useState)(false);
33412
+ const [menuOpen, setMenuOpen] = (0, import_react28.useState)(false);
32802
33413
  const { itemSelector, leftSideBarVisible, rightSideBarVisible } = ui;
32803
- const setItemSelector = (0, import_react26.useCallback)(
33414
+ const setItemSelector = (0, import_react28.useCallback)(
32804
33415
  (newItemSelector) => {
32805
33416
  if (newItemSelector === itemSelector)
32806
33417
  return;
@@ -32813,21 +33424,21 @@ function Puck({
32813
33424
  [itemSelector]
32814
33425
  );
32815
33426
  const selectedItem = itemSelector ? getItem(itemSelector, data) : null;
32816
- (0, import_react26.useEffect)(() => {
33427
+ (0, import_react28.useEffect)(() => {
32817
33428
  if (onChange)
32818
33429
  onChange(data);
32819
33430
  }, [data]);
32820
33431
  const { onDragStartOrUpdate, placeholderStyle } = usePlaceholderStyle();
32821
- const [draggedItem, setDraggedItem] = (0, import_react26.useState)();
33432
+ const [draggedItem, setDraggedItem] = (0, import_react28.useState)();
32822
33433
  const rootProps = data.root.props || data.root;
32823
- (0, import_react26.useEffect)(() => {
33434
+ (0, import_react28.useEffect)(() => {
32824
33435
  if (Object.keys(data.root).length > 0 && !data.root.props) {
32825
33436
  console.error(
32826
33437
  "Warning: Defining props on `root` is deprecated. Please use `root.props`. This will be a breaking change in a future release."
32827
33438
  );
32828
33439
  }
32829
33440
  }, []);
32830
- const toggleSidebars = (0, import_react26.useCallback)(
33441
+ const toggleSidebars = (0, import_react28.useCallback)(
32831
33442
  (sidebar) => {
32832
33443
  const widerViewport = window.matchMedia("(min-width: 638px)").matches;
32833
33444
  const sideBarVisible = sidebar === "left" ? leftSideBarVisible : rightSideBarVisible;
@@ -32841,7 +33452,7 @@ function Puck({
32841
33452
  },
32842
33453
  [dispatch, leftSideBarVisible, rightSideBarVisible]
32843
33454
  );
32844
- (0, import_react26.useEffect)(() => {
33455
+ (0, import_react28.useEffect)(() => {
32845
33456
  if (!window.matchMedia("(min-width: 638px)").matches) {
32846
33457
  dispatch({
32847
33458
  type: "setUi",
@@ -32864,11 +33475,11 @@ function Puck({
32864
33475
  window.removeEventListener("resize", handleResize);
32865
33476
  };
32866
33477
  }, []);
32867
- const defaultRender = (0, import_react26.useMemo)(() => {
32868
- const PuckDefault = ({ children: children2 }) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_jsx_runtime29.Fragment, { children: children2 });
33478
+ const defaultRender = (0, import_react28.useMemo)(() => {
33479
+ const PuckDefault = ({ children: children2 }) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_jsx_runtime34.Fragment, { children: children2 });
32869
33480
  return PuckDefault;
32870
33481
  }, []);
32871
- const defaultHeaderRender = (0, import_react26.useMemo)(() => {
33482
+ const defaultHeaderRender = (0, import_react28.useMemo)(() => {
32872
33483
  if (renderHeader) {
32873
33484
  console.warn(
32874
33485
  "`renderHeader` is deprecated. Please use `overrides.header` and the `usePuck` hook instead"
@@ -32876,47 +33487,42 @@ function Puck({
32876
33487
  const RenderHeader = (_a2) => {
32877
33488
  var _b = _a2, { actions } = _b, props = __objRest(_b, ["actions"]);
32878
33489
  const Comp = renderHeader;
32879
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState, children: actions }));
33490
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState, children: actions }));
32880
33491
  };
32881
33492
  return RenderHeader;
32882
33493
  }
32883
33494
  return defaultRender;
32884
33495
  }, [renderHeader]);
32885
- const defaultHeaderActionsRender = (0, import_react26.useMemo)(() => {
33496
+ const defaultHeaderActionsRender = (0, import_react28.useMemo)(() => {
32886
33497
  if (renderHeaderActions) {
32887
33498
  console.warn(
32888
33499
  "`renderHeaderActions` is deprecated. Please use `overrides.headerActions` and the `usePuck` hook instead."
32889
33500
  );
32890
33501
  const RenderHeader = (props) => {
32891
33502
  const Comp = renderHeaderActions;
32892
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState }));
33503
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState }));
32893
33504
  };
32894
33505
  return RenderHeader;
32895
33506
  }
32896
33507
  return defaultRender;
32897
33508
  }, [renderHeader]);
32898
- const loadedOverrides = (0, import_react26.useMemo)(() => {
33509
+ const loadedOverrides = (0, import_react28.useMemo)(() => {
32899
33510
  return loadOverrides({ overrides, plugins });
32900
33511
  }, [plugins]);
32901
- const CustomPuck = (0, import_react26.useMemo)(
33512
+ const CustomPuck = (0, import_react28.useMemo)(
32902
33513
  () => loadedOverrides.puck || defaultRender,
32903
33514
  [loadedOverrides]
32904
33515
  );
32905
- const CustomPreview = (0, import_react26.useMemo)(
32906
- () => loadedOverrides.preview || defaultRender,
32907
- [loadedOverrides]
32908
- );
32909
- const CustomHeader = (0, import_react26.useMemo)(
33516
+ const CustomHeader = (0, import_react28.useMemo)(
32910
33517
  () => loadedOverrides.header || defaultHeaderRender,
32911
33518
  [loadedOverrides]
32912
33519
  );
32913
- const CustomHeaderActions = (0, import_react26.useMemo)(
33520
+ const CustomHeaderActions = (0, import_react28.useMemo)(
32914
33521
  () => loadedOverrides.headerActions || defaultHeaderActionsRender,
32915
33522
  [loadedOverrides]
32916
33523
  );
32917
- const disableZoom = children || loadedOverrides.puck ? true : false;
32918
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "Puck", children: [
32919
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33524
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "Puck", children: [
33525
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
32920
33526
  AppProvider,
32921
33527
  {
32922
33528
  value: {
@@ -32927,10 +33533,11 @@ function Puck({
32927
33533
  resolveData,
32928
33534
  plugins,
32929
33535
  overrides: loadedOverrides,
32930
- history
33536
+ history,
33537
+ viewports
32931
33538
  },
32932
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
32933
- import_dnd7.DragDropContext,
33539
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33540
+ DragDropContext,
32934
33541
  {
32935
33542
  onDragUpdate: (update) => {
32936
33543
  setDraggedItem(__spreadValues(__spreadValues({}, draggedItem), update));
@@ -32984,7 +33591,7 @@ function Puck({
32984
33591
  });
32985
33592
  }
32986
33593
  },
32987
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33594
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
32988
33595
  DropZoneProvider,
32989
33596
  {
32990
33597
  value: {
@@ -32996,77 +33603,75 @@ function Puck({
32996
33603
  draggedItem,
32997
33604
  placeholderStyle,
32998
33605
  mode: "edit",
32999
- areaId: "root",
33000
- disableZoom
33606
+ areaId: "root"
33001
33607
  },
33002
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(CustomPuck, { children: children || /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
33608
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CustomPuck, { children: children || /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
33003
33609
  "div",
33004
33610
  {
33005
- className: getClassName22({
33611
+ className: getClassName25({
33006
33612
  leftSideBarVisible,
33007
33613
  menuOpen,
33008
- rightSideBarVisible,
33009
- disableZoom
33614
+ rightSideBarVisible
33010
33615
  }),
33011
33616
  children: [
33012
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33617
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33013
33618
  CustomHeader,
33014
33619
  {
33015
- actions: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
33016
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(CustomHeaderActions, {}),
33017
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33620
+ actions: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
33621
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CustomHeaderActions, {}),
33622
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33018
33623
  Button,
33019
33624
  {
33020
33625
  onClick: () => {
33021
33626
  onPublish && onPublish(data);
33022
33627
  },
33023
- icon: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Globe, { size: "14px" }),
33628
+ icon: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Globe, { size: "14px" }),
33024
33629
  children: "Publish"
33025
33630
  }
33026
33631
  )
33027
33632
  ] }),
33028
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("header", { className: getClassName22("header"), children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: getClassName22("headerInner"), children: [
33029
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: getClassName22("headerToggle"), children: [
33030
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: getClassName22("leftSideBarToggle"), children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33633
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("header", { className: getClassName25("header"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName25("headerInner"), children: [
33634
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName25("headerToggle"), children: [
33635
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName25("leftSideBarToggle"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33031
33636
  IconButton,
33032
33637
  {
33033
33638
  onClick: () => {
33034
33639
  toggleSidebars("left");
33035
33640
  },
33036
33641
  title: "Toggle left sidebar",
33037
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(PanelLeft, { focusable: "false" })
33642
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(PanelLeft, { focusable: "false" })
33038
33643
  }
33039
33644
  ) }),
33040
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: getClassName22("rightSideBarToggle"), children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33645
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName25("rightSideBarToggle"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33041
33646
  IconButton,
33042
33647
  {
33043
33648
  onClick: () => {
33044
33649
  toggleSidebars("right");
33045
33650
  },
33046
33651
  title: "Toggle right sidebar",
33047
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(PanelRight, { focusable: "false" })
33652
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(PanelRight, { focusable: "false" })
33048
33653
  }
33049
33654
  ) })
33050
33655
  ] }),
33051
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: getClassName22("headerTitle"), children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(Heading, { rank: 2, size: "xs", children: [
33656
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName25("headerTitle"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(Heading, { rank: 2, size: "xs", children: [
33052
33657
  headerTitle || rootProps.title || "Page",
33053
- headerPath && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
33658
+ headerPath && /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
33054
33659
  " ",
33055
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("code", { className: getClassName22("headerPath"), children: headerPath })
33660
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("code", { className: getClassName25("headerPath"), children: headerPath })
33056
33661
  ] })
33057
33662
  ] }) }),
33058
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: getClassName22("headerTools"), children: [
33059
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: getClassName22("menuButton"), children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33663
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName25("headerTools"), children: [
33664
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName25("menuButton"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33060
33665
  IconButton,
33061
33666
  {
33062
33667
  onClick: () => {
33063
33668
  return setMenuOpen(!menuOpen);
33064
33669
  },
33065
33670
  title: "Toggle menu bar",
33066
- children: menuOpen ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ChevronUp, { focusable: "false" }) : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ChevronDown, { focusable: "false" })
33671
+ children: menuOpen ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ChevronUp, { focusable: "false" }) : /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ChevronDown, { focusable: "false" })
33067
33672
  }
33068
33673
  ) }),
33069
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33674
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33070
33675
  MenuBar,
33071
33676
  {
33072
33677
  appState,
@@ -33074,7 +33679,7 @@ function Puck({
33074
33679
  dispatch,
33075
33680
  onPublish,
33076
33681
  menuOpen,
33077
- renderHeaderActions: () => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(CustomHeaderActions, {}),
33682
+ renderHeaderActions: () => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CustomHeaderActions, {}),
33078
33683
  setMenuOpen
33079
33684
  }
33080
33685
  )
@@ -33082,38 +33687,19 @@ function Puck({
33082
33687
  ] }) })
33083
33688
  }
33084
33689
  ),
33085
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: getClassName22("leftSideBar"), children: [
33086
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(SidebarSection, { title: "Components", noBorderTop: true, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Components, {}) }),
33087
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(SidebarSection, { title: "Outline", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Outline, {}) })
33690
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName25("leftSideBar"), children: [
33691
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(SidebarSection, { title: "Components", noBorderTop: true, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Components, {}) }),
33692
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(SidebarSection, { title: "Outline", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Outline, {}) })
33088
33693
  ] }),
33089
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
33090
- "div",
33091
- {
33092
- className: getClassName22("frame"),
33093
- onClick: () => setItemSelector(null),
33094
- children: [
33095
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: getClassName22("root"), children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(CustomPreview, { children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Preview, {}) }) }),
33096
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33097
- "div",
33098
- {
33099
- style: {
33100
- background: "var(--puck-color-grey-11)",
33101
- height: "100%",
33102
- flexGrow: 1
33103
- }
33104
- }
33105
- )
33106
- ]
33107
- }
33108
- ),
33109
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: getClassName22("rightSideBar"), children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33694
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Canvas, {}),
33695
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName25("rightSideBar"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33110
33696
  SidebarSection,
33111
33697
  {
33112
33698
  noPadding: true,
33113
33699
  noBorderTop: true,
33114
33700
  showBreadcrumbs: true,
33115
33701
  title: selectedItem ? (_a = config.components[selectedItem.type]["label"]) != null ? _a : selectedItem.type : "Page",
33116
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Fields, {})
33702
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Fields, {})
33117
33703
  }
33118
33704
  ) })
33119
33705
  ]
@@ -33125,7 +33711,7 @@ function Puck({
33125
33711
  )
33126
33712
  }
33127
33713
  ),
33128
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { id: "puck-portal-root" })
33714
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { id: "puck-portal-root" })
33129
33715
  ] });
33130
33716
  }
33131
33717
  Puck.Components = Components;
@@ -33135,13 +33721,13 @@ Puck.Preview = Preview;
33135
33721
 
33136
33722
  // components/Render/index.tsx
33137
33723
  init_react_import();
33138
- var import_jsx_runtime30 = require("react/jsx-runtime");
33724
+ var import_jsx_runtime35 = require("react/jsx-runtime");
33139
33725
  function Render({ config, data }) {
33140
33726
  var _a;
33141
33727
  const rootProps = data.root.props || data.root;
33142
33728
  const title = (rootProps == null ? void 0 : rootProps.title) || "";
33143
33729
  if ((_a = config.root) == null ? void 0 : _a.render) {
33144
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DropZoneProvider, { value: { data, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
33730
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropZoneProvider, { value: { data, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
33145
33731
  config.root.render,
33146
33732
  __spreadProps(__spreadValues({}, rootProps), {
33147
33733
  puck: {
@@ -33150,11 +33736,11 @@ function Render({ config, data }) {
33150
33736
  title,
33151
33737
  editMode: false,
33152
33738
  id: "puck-root",
33153
- children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DropZone, { zone: rootDroppableId })
33739
+ children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropZone, { zone: rootDroppableId })
33154
33740
  })
33155
33741
  ) });
33156
33742
  }
33157
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DropZoneProvider, { value: { data, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DropZone, { zone: rootDroppableId }) });
33743
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropZoneProvider, { value: { data, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropZone, { zone: rootDroppableId }) });
33158
33744
  }
33159
33745
 
33160
33746
  // lib/migrate.ts
@@ -33449,6 +34035,14 @@ lucide-react/dist/esm/icons/lock.js:
33449
34035
  * See the LICENSE file in the root directory of this source tree.
33450
34036
  *)
33451
34037
 
34038
+ lucide-react/dist/esm/icons/monitor.js:
34039
+ (**
34040
+ * @license lucide-react v0.298.0 - ISC
34041
+ *
34042
+ * This source code is licensed under the ISC license.
34043
+ * See the LICENSE file in the root directory of this source tree.
34044
+ *)
34045
+
33452
34046
  lucide-react/dist/esm/icons/more-vertical.js:
33453
34047
  (**
33454
34048
  * @license lucide-react v0.298.0 - ISC
@@ -33497,6 +34091,22 @@ lucide-react/dist/esm/icons/sliders-horizontal.js:
33497
34091
  * See the LICENSE file in the root directory of this source tree.
33498
34092
  *)
33499
34093
 
34094
+ lucide-react/dist/esm/icons/smartphone.js:
34095
+ (**
34096
+ * @license lucide-react v0.298.0 - ISC
34097
+ *
34098
+ * This source code is licensed under the ISC license.
34099
+ * See the LICENSE file in the root directory of this source tree.
34100
+ *)
34101
+
34102
+ lucide-react/dist/esm/icons/tablet.js:
34103
+ (**
34104
+ * @license lucide-react v0.298.0 - ISC
34105
+ *
34106
+ * This source code is licensed under the ISC license.
34107
+ * See the LICENSE file in the root directory of this source tree.
34108
+ *)
34109
+
33500
34110
  lucide-react/dist/esm/icons/trash.js:
33501
34111
  (**
33502
34112
  * @license lucide-react v0.298.0 - ISC
@@ -33521,6 +34131,22 @@ lucide-react/dist/esm/icons/unlock.js:
33521
34131
  * See the LICENSE file in the root directory of this source tree.
33522
34132
  *)
33523
34133
 
34134
+ lucide-react/dist/esm/icons/zoom-in.js:
34135
+ (**
34136
+ * @license lucide-react v0.298.0 - ISC
34137
+ *
34138
+ * This source code is licensed under the ISC license.
34139
+ * See the LICENSE file in the root directory of this source tree.
34140
+ *)
34141
+
34142
+ lucide-react/dist/esm/icons/zoom-out.js:
34143
+ (**
34144
+ * @license lucide-react v0.298.0 - ISC
34145
+ *
34146
+ * This source code is licensed under the ISC license.
34147
+ * See the LICENSE file in the root directory of this source tree.
34148
+ *)
34149
+
33524
34150
  lucide-react/dist/esm/lucide-react.js:
33525
34151
  (**
33526
34152
  * @license lucide-react v0.298.0 - ISC