@measured/puck 0.14.0-canary.712fb8e → 0.14.0-canary.924c85a

Sign up to get free protection for your applications and to get access to all the features.
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 Fragment16 = 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 Fragment16:
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 !== Fragment16) {
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 === Fragment16) {
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 Fragment16:
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 Fragment16:
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(Fragment16, 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 }) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, { 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 }) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { 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_17mte_1", "DraggableComponent--isDragging": "_DraggableComponent--isDragging_17mte_11", "DraggableComponent-contents": "_DraggableComponent-contents_17mte_16", "DraggableComponent-overlay": "_DraggableComponent-overlay_17mte_29", "DraggableComponent-loadingOverlay": "_DraggableComponent-loadingOverlay_17mte_49", "DraggableComponent--isLocked": "_DraggableComponent--isLocked_17mte_65", "DraggableComponent--forceHover": "_DraggableComponent--forceHover_17mte_71", "DraggableComponent--isSelected": "_DraggableComponent--isSelected_17mte_76", "DraggableComponent--indicativeHover": "_DraggableComponent--indicativeHover_17mte_81", "DraggableComponent-actionsOverlay": "_DraggableComponent-actionsOverlay_17mte_97", "DraggableComponent-actions": "_DraggableComponent-actions_17mte_97", "DraggableComponent-actionsLabel": "_DraggableComponent-actionsLabel_17mte_127", "DraggableComponent-action": "_DraggableComponent-action_17mte_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 }) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_jsx_runtime14.Fragment, { 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_379hm_1", "PuckPreview-iframe": "_PuckPreview-iframe_379hm_5", "PuckPreview-content": "_PuckPreview-content_379hm_11", "PuckPreview--stylesLoaded": "_PuckPreview--stylesLoaded_379hm_18" };
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,31 @@ 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
+ const [stylesLoaded, setStylesLoaded] = (0, import_react22.useState)(false);
32572
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
32408
32573
  "div",
32409
32574
  {
32575
+ className: getClassName21({ stylesLoaded }),
32410
32576
  id,
32411
32577
  onClick: () => {
32412
32578
  dispatch({ type: "setUi", ui: __spreadProps(__spreadValues({}, state.ui), { itemSelector: null }) });
32413
32579
  },
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 }) }))
32580
+ children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: getClassName21("content"), children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
32581
+ import_auto_frame_component.default,
32582
+ {
32583
+ id: "preview-iframe",
32584
+ className: getClassName21("iframe"),
32585
+ "data-rfd-iframe": true,
32586
+ ref,
32587
+ debug: true,
32588
+ onStylesLoaded: () => {
32589
+ console.log("callback");
32590
+ setStylesLoaded(true);
32591
+ },
32592
+ children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Page, __spreadProps(__spreadValues({ dispatch, state }, rootProps), { children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(DropZone, { zone: rootDroppableId }) }))
32593
+ }
32594
+ ) })
32416
32595
  }
32417
32596
  );
32418
32597
  };
@@ -32446,7 +32625,7 @@ init_react_import();
32446
32625
 
32447
32626
  // css-module:/home/runner/work/puck/puck/packages/core/components/LayerTree/styles.module.css#css-module
32448
32627
  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" };
32628
+ 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
32629
 
32451
32630
  // lib/scroll-into-view.ts
32452
32631
  init_react_import();
@@ -32474,9 +32653,9 @@ var isChildOfZone = (item, maybeChild, ctx) => {
32474
32653
  };
32475
32654
 
32476
32655
  // 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);
32656
+ var import_jsx_runtime30 = require("react/jsx-runtime");
32657
+ var getClassName22 = get_class_name_factory_default("LayerTree", styles_module_default17);
32658
+ var getClassNameLayer = get_class_name_factory_default("Layer", styles_module_default17);
32480
32659
  var LayerTree = ({
32481
32660
  data,
32482
32661
  config,
@@ -32488,14 +32667,14 @@ var LayerTree = ({
32488
32667
  }) => {
32489
32668
  const zones = data.zones || {};
32490
32669
  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" }) }),
32670
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_jsx_runtime30.Fragment, { children: [
32671
+ label && /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: getClassName22("zoneTitle"), children: [
32672
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: getClassName22("zoneIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Layers, { size: "16" }) }),
32494
32673
  " ",
32495
32674
  label
32496
32675
  ] }),
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" }),
32676
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("ul", { className: getClassName22(), children: [
32677
+ zoneContent.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: getClassName22("helper"), children: "No items" }),
32499
32678
  zoneContent.map((item, i) => {
32500
32679
  var _a;
32501
32680
  const isSelected = (itemSelector == null ? void 0 : itemSelector.index) === i && (itemSelector.zone === zone || itemSelector.zone === rootDroppableId && !zone);
@@ -32511,7 +32690,7 @@ var LayerTree = ({
32511
32690
  const selectedItem = itemSelector && data ? getItem(itemSelector, data) : null;
32512
32691
  const isHovering = hoveringComponent === item.props.id;
32513
32692
  const childIsSelected = isChildOfZone(item, selectedItem, ctx);
32514
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
32693
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
32515
32694
  "li",
32516
32695
  {
32517
32696
  className: getClassNameLayer({
@@ -32521,7 +32700,7 @@ var LayerTree = ({
32521
32700
  childIsSelected
32522
32701
  }),
32523
32702
  children: [
32524
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: getClassNameLayer("inner"), children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
32703
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: getClassNameLayer("inner"), children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
32525
32704
  "button",
32526
32705
  {
32527
32706
  className: getClassNameLayer("clickable"),
@@ -32535,8 +32714,14 @@ var LayerTree = ({
32535
32714
  zone
32536
32715
  });
32537
32716
  const id = zoneContent[i].props.id;
32717
+ const iframe = document.querySelector("#preview-iframe");
32718
+ if (!(iframe == null ? void 0 : iframe.contentDocument)) {
32719
+ throw new Error(
32720
+ `Preview iframe could not be found when trying to scroll to item ${id}`
32721
+ );
32722
+ }
32538
32723
  scrollIntoView(
32539
- document.querySelector(
32724
+ iframe.contentDocument.querySelector(
32540
32725
  `[data-rfd-drag-handle-draggable-id="draggable-${id}"]`
32541
32726
  )
32542
32727
  );
@@ -32552,22 +32737,22 @@ var LayerTree = ({
32552
32737
  setHoveringComponent(null);
32553
32738
  },
32554
32739
  children: [
32555
- containsZone && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
32740
+ containsZone && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
32556
32741
  "div",
32557
32742
  {
32558
32743
  className: getClassNameLayer("chevron"),
32559
32744
  title: isSelected ? "Collapse" : "Expand",
32560
- children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(ChevronDown, { size: "12" })
32745
+ children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(ChevronDown, { size: "12" })
32561
32746
  }
32562
32747
  ),
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 })
32748
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: getClassNameLayer("title"), children: [
32749
+ /* @__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" }) }),
32750
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: getClassNameLayer("name"), children: (_a = config.components[item.type]["label"]) != null ? _a : item.type })
32566
32751
  ] })
32567
32752
  ]
32568
32753
  }
32569
32754
  ) }),
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)(
32755
+ 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
32756
  LayerTree,
32572
32757
  {
32573
32758
  config,
@@ -32590,7 +32775,7 @@ var LayerTree = ({
32590
32775
 
32591
32776
  // components/Puck/components/Outline/index.tsx
32592
32777
  var import_react24 = require("react");
32593
- var import_jsx_runtime28 = require("react/jsx-runtime");
32778
+ var import_jsx_runtime31 = require("react/jsx-runtime");
32594
32779
  var Outline = () => {
32595
32780
  const { dispatch, state, overrides, config } = useAppContext();
32596
32781
  const { data, ui } = state;
@@ -32605,8 +32790,8 @@ var Outline = () => {
32605
32790
  []
32606
32791
  );
32607
32792
  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)(
32793
+ 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: [
32794
+ (ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId]) && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
32610
32795
  LayerTree,
32611
32796
  {
32612
32797
  config,
@@ -32619,7 +32804,7 @@ var Outline = () => {
32619
32804
  ),
32620
32805
  Object.entries(findZonesForArea(data, "root")).map(
32621
32806
  ([zoneKey, zone]) => {
32622
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
32807
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
32623
32808
  LayerTree,
32624
32809
  {
32625
32810
  config,
@@ -32746,14 +32931,421 @@ function useHistoryStore() {
32746
32931
  };
32747
32932
  }
32748
32933
 
32934
+ // components/Puck/components/Canvas/index.tsx
32935
+ init_react_import();
32936
+
32937
+ // ../../node_modules/css-box-model/dist/css-box-model.esm.js
32938
+ init_react_import();
32939
+
32940
+ // ../../node_modules/tiny-invariant/dist/esm/tiny-invariant.js
32941
+ init_react_import();
32942
+ var isProduction = process.env.NODE_ENV === "production";
32943
+ var prefix = "Invariant failed";
32944
+ function invariant(condition, message) {
32945
+ if (condition) {
32946
+ return;
32947
+ }
32948
+ if (isProduction) {
32949
+ throw new Error(prefix);
32950
+ }
32951
+ var provided = typeof message === "function" ? message() : message;
32952
+ var value = provided ? "".concat(prefix, ": ").concat(provided) : prefix;
32953
+ throw new Error(value);
32954
+ }
32955
+
32956
+ // ../../node_modules/css-box-model/dist/css-box-model.esm.js
32957
+ var getRect = function getRect2(_ref) {
32958
+ var top = _ref.top, right = _ref.right, bottom = _ref.bottom, left = _ref.left;
32959
+ var width = right - left;
32960
+ var height = bottom - top;
32961
+ var rect = {
32962
+ top,
32963
+ right,
32964
+ bottom,
32965
+ left,
32966
+ width,
32967
+ height,
32968
+ x: left,
32969
+ y: top,
32970
+ center: {
32971
+ x: (right + left) / 2,
32972
+ y: (bottom + top) / 2
32973
+ }
32974
+ };
32975
+ return rect;
32976
+ };
32977
+ var expand = function expand2(target, expandBy) {
32978
+ return {
32979
+ top: target.top - expandBy.top,
32980
+ left: target.left - expandBy.left,
32981
+ bottom: target.bottom + expandBy.bottom,
32982
+ right: target.right + expandBy.right
32983
+ };
32984
+ };
32985
+ var shrink = function shrink2(target, shrinkBy) {
32986
+ return {
32987
+ top: target.top + shrinkBy.top,
32988
+ left: target.left + shrinkBy.left,
32989
+ bottom: target.bottom - shrinkBy.bottom,
32990
+ right: target.right - shrinkBy.right
32991
+ };
32992
+ };
32993
+ var noSpacing = {
32994
+ top: 0,
32995
+ right: 0,
32996
+ bottom: 0,
32997
+ left: 0
32998
+ };
32999
+ var createBox = function createBox2(_ref2) {
33000
+ 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;
33001
+ var marginBox = getRect(expand(borderBox, margin));
33002
+ var paddingBox = getRect(shrink(borderBox, border));
33003
+ var contentBox = getRect(shrink(paddingBox, padding));
33004
+ return {
33005
+ marginBox,
33006
+ borderBox: getRect(borderBox),
33007
+ paddingBox,
33008
+ contentBox,
33009
+ margin,
33010
+ border,
33011
+ padding
33012
+ };
33013
+ };
33014
+ var parse = function parse2(raw) {
33015
+ var value = raw.slice(0, -2);
33016
+ var suffix = raw.slice(-2);
33017
+ if (suffix !== "px") {
33018
+ return 0;
33019
+ }
33020
+ var result = Number(value);
33021
+ !!isNaN(result) ? process.env.NODE_ENV !== "production" ? invariant(false, "Could not parse value [raw: " + raw + ", without suffix: " + value + "]") : invariant(false) : void 0;
33022
+ return result;
33023
+ };
33024
+ var calculateBox = function calculateBox2(borderBox, styles) {
33025
+ var margin = {
33026
+ top: parse(styles.marginTop),
33027
+ right: parse(styles.marginRight),
33028
+ bottom: parse(styles.marginBottom),
33029
+ left: parse(styles.marginLeft)
33030
+ };
33031
+ var padding = {
33032
+ top: parse(styles.paddingTop),
33033
+ right: parse(styles.paddingRight),
33034
+ bottom: parse(styles.paddingBottom),
33035
+ left: parse(styles.paddingLeft)
33036
+ };
33037
+ var border = {
33038
+ top: parse(styles.borderTopWidth),
33039
+ right: parse(styles.borderRightWidth),
33040
+ bottom: parse(styles.borderBottomWidth),
33041
+ left: parse(styles.borderLeftWidth)
33042
+ };
33043
+ return createBox({
33044
+ borderBox,
33045
+ margin,
33046
+ padding,
33047
+ border
33048
+ });
33049
+ };
33050
+ var getBox = function getBox2(el) {
33051
+ var borderBox = el.getBoundingClientRect();
33052
+ var styles = window.getComputedStyle(el);
33053
+ return calculateBox(borderBox, styles);
33054
+ };
33055
+
33056
+ // components/Puck/components/Canvas/index.tsx
33057
+ var import_react27 = require("react");
33058
+
33059
+ // components/ViewportControls/index.tsx
33060
+ init_react_import();
33061
+ var import_react26 = require("react");
33062
+
33063
+ // css-module:/home/runner/work/puck/puck/packages/core/components/ViewportControls/styles.module.css#css-module
33064
+ init_react_import();
33065
+ 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" };
33066
+
33067
+ // components/ViewportControls/index.tsx
33068
+ var import_jsx_runtime32 = require("react/jsx-runtime");
33069
+ var icons = {
33070
+ Smartphone: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Smartphone, { size: 16 }),
33071
+ Tablet: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Tablet, { size: 16 }),
33072
+ Monitor: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Monitor, { size: 16 })
33073
+ };
33074
+ var getClassName23 = get_class_name_factory_default("ViewportControls", styles_module_default18);
33075
+ var getClassNameButton = get_class_name_factory_default("ViewportButton", styles_module_default18);
33076
+ var ViewportButton = ({
33077
+ children,
33078
+ height = "auto",
33079
+ title,
33080
+ width,
33081
+ onClick
33082
+ }) => {
33083
+ const { state } = useAppContext();
33084
+ const isActive = width === state.ui.viewports.current.width;
33085
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: getClassNameButton({ isActive }), children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
33086
+ IconButton,
33087
+ {
33088
+ title,
33089
+ disabled: isActive,
33090
+ onClick: (e) => {
33091
+ e.stopPropagation();
33092
+ onClick({ width, height });
33093
+ },
33094
+ children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: getClassNameButton("inner"), children })
33095
+ }
33096
+ ) });
33097
+ };
33098
+ var defaultZoomOptions = [
33099
+ { label: "25%", value: 0.25 },
33100
+ { label: "50%", value: 0.5 },
33101
+ { label: "75%", value: 0.75 },
33102
+ { label: "100%", value: 1 },
33103
+ { label: "125%", value: 1.25 },
33104
+ { label: "150%", value: 1.5 },
33105
+ { label: "200%", value: 2 }
33106
+ ];
33107
+ var ViewportControls = ({
33108
+ autoZoom,
33109
+ zoom,
33110
+ onViewportChange,
33111
+ onZoom
33112
+ }) => {
33113
+ const { state, viewports } = useAppContext();
33114
+ const viewport = state.ui.viewports.current;
33115
+ const defaultsContainAutoZoom = defaultZoomOptions.find(
33116
+ (option) => option.value === autoZoom
33117
+ );
33118
+ const zoomOptions = (0, import_react26.useMemo)(
33119
+ () => [
33120
+ ...defaultZoomOptions,
33121
+ ...defaultsContainAutoZoom ? [] : [
33122
+ {
33123
+ value: autoZoom,
33124
+ label: `${(autoZoom * 100).toFixed(0)}% (Auto)`
33125
+ }
33126
+ ]
33127
+ ].filter((a) => a.value <= autoZoom).sort((a, b) => a.value > b.value ? 1 : -1),
33128
+ [autoZoom]
33129
+ );
33130
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: getClassName23(), children: [
33131
+ viewports.map((viewport2, i) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
33132
+ ViewportButton,
33133
+ {
33134
+ height: viewport2.height,
33135
+ width: viewport2.width,
33136
+ title: viewport2.label ? `Switch to ${viewport2.label} viewport` : "Switch viewport",
33137
+ onClick: onViewportChange,
33138
+ children: typeof viewport2.icon === "string" ? icons[viewport2.icon] || viewport2.icon : viewport2.icon || icons.Smartphone
33139
+ },
33140
+ i
33141
+ )),
33142
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: getClassName23("divider") }),
33143
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
33144
+ IconButton,
33145
+ {
33146
+ title: "Zoom viewport out",
33147
+ disabled: zoom <= zoomOptions[0].value,
33148
+ onClick: (e) => {
33149
+ e.stopPropagation();
33150
+ onZoom(
33151
+ zoomOptions[Math.max(
33152
+ zoomOptions.findIndex((option) => option.value === zoom) - 1,
33153
+ 0
33154
+ )].value
33155
+ );
33156
+ },
33157
+ children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ZoomOut, { size: 16 })
33158
+ }
33159
+ ),
33160
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
33161
+ IconButton,
33162
+ {
33163
+ title: "Zoom viewport in",
33164
+ disabled: zoom >= zoomOptions[zoomOptions.length - 1].value,
33165
+ onClick: (e) => {
33166
+ e.stopPropagation();
33167
+ onZoom(
33168
+ zoomOptions[Math.min(
33169
+ zoomOptions.findIndex((option) => option.value === zoom) + 1,
33170
+ zoomOptions.length - 1
33171
+ )].value
33172
+ );
33173
+ },
33174
+ children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ZoomIn, { size: 16 })
33175
+ }
33176
+ ),
33177
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: getClassName23("divider") }),
33178
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
33179
+ "select",
33180
+ {
33181
+ className: getClassName23("zoomSelect"),
33182
+ value: zoom.toString(),
33183
+ onChange: (e) => {
33184
+ onZoom(parseFloat(e.currentTarget.value));
33185
+ },
33186
+ children: zoomOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
33187
+ "option",
33188
+ {
33189
+ value: option.value,
33190
+ label: option.label
33191
+ },
33192
+ option.label
33193
+ ))
33194
+ }
33195
+ )
33196
+ ] });
33197
+ };
33198
+
33199
+ // lib/get-zoom-config.ts
33200
+ init_react_import();
33201
+ var RESET_ZOOM_SMALLER_THAN_FRAME = true;
33202
+ var getZoomConfig = (uiViewport, frame, zoom) => {
33203
+ const box = getBox(frame);
33204
+ const { width: frameWidth, height: frameHeight } = box.contentBox;
33205
+ const viewportHeight = uiViewport.height === "auto" ? frameHeight : uiViewport.height;
33206
+ let rootHeight = 0;
33207
+ let autoZoom = 1;
33208
+ if (uiViewport.width > frameWidth || viewportHeight > frameHeight) {
33209
+ const widthZoom = Math.min(frameWidth / uiViewport.width, 1);
33210
+ const heightZoom = Math.min(frameHeight / viewportHeight, 1);
33211
+ zoom = widthZoom;
33212
+ if (widthZoom < heightZoom) {
33213
+ rootHeight = viewportHeight / zoom;
33214
+ } else {
33215
+ rootHeight = viewportHeight;
33216
+ zoom = heightZoom;
33217
+ }
33218
+ autoZoom = zoom;
33219
+ } else {
33220
+ if (RESET_ZOOM_SMALLER_THAN_FRAME) {
33221
+ autoZoom = 1;
33222
+ zoom = 1;
33223
+ rootHeight = viewportHeight;
33224
+ }
33225
+ }
33226
+ return { autoZoom, rootHeight, zoom };
33227
+ };
33228
+
33229
+ // components/Puck/components/Canvas/index.tsx
33230
+ var import_jsx_runtime33 = require("react/jsx-runtime");
33231
+ var getClassName24 = get_class_name_factory_default("Puck", styles_module_default8);
33232
+ var ZOOM_ON_CHANGE = true;
33233
+ var Canvas = () => {
33234
+ const { dispatch, state, overrides, setUi, zoomConfig, setZoomConfig } = useAppContext();
33235
+ const { ui } = state;
33236
+ const frameRef = (0, import_react27.useRef)(null);
33237
+ const [showTransition, setShowTransition] = (0, import_react27.useState)(false);
33238
+ const defaultRender = (0, import_react27.useMemo)(() => {
33239
+ const PuckDefault = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_jsx_runtime33.Fragment, { children });
33240
+ return PuckDefault;
33241
+ }, []);
33242
+ const CustomPreview = (0, import_react27.useMemo)(
33243
+ () => overrides.preview || defaultRender,
33244
+ [overrides]
33245
+ );
33246
+ const getFrameDimensions = (0, import_react27.useCallback)(() => {
33247
+ if (frameRef.current) {
33248
+ const frame = frameRef.current;
33249
+ const box = getBox(frame);
33250
+ return { width: box.contentBox.width, height: box.contentBox.height };
33251
+ }
33252
+ return { width: 0, height: 0 };
33253
+ }, [frameRef]);
33254
+ const resetAutoZoom = (0, import_react27.useCallback)(
33255
+ (ui2 = state.ui) => {
33256
+ if (frameRef.current) {
33257
+ setZoomConfig(
33258
+ getZoomConfig(ui2.viewports.current, frameRef.current, zoomConfig.zoom)
33259
+ );
33260
+ }
33261
+ },
33262
+ [frameRef, zoomConfig, state.ui]
33263
+ );
33264
+ (0, import_react27.useEffect)(() => {
33265
+ setShowTransition(false);
33266
+ resetAutoZoom();
33267
+ }, [frameRef, ui.leftSideBarVisible, ui.rightSideBarVisible]);
33268
+ (0, import_react27.useEffect)(() => {
33269
+ const { height: frameHeight } = getFrameDimensions();
33270
+ if (ui.viewports.current.height === "auto") {
33271
+ setZoomConfig(__spreadProps(__spreadValues({}, zoomConfig), {
33272
+ rootHeight: frameHeight / zoomConfig.zoom
33273
+ }));
33274
+ }
33275
+ }, [zoomConfig.zoom]);
33276
+ (0, import_react27.useEffect)(() => {
33277
+ const observer = new ResizeObserver(() => {
33278
+ setShowTransition(false);
33279
+ resetAutoZoom();
33280
+ });
33281
+ if (document.body) {
33282
+ observer.observe(document.body);
33283
+ }
33284
+ return () => {
33285
+ observer.disconnect();
33286
+ };
33287
+ }, []);
33288
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
33289
+ "div",
33290
+ {
33291
+ className: getClassName24("canvas"),
33292
+ onClick: () => dispatch({
33293
+ type: "setUi",
33294
+ ui: { itemSelector: null },
33295
+ recordHistory: true
33296
+ }),
33297
+ children: [
33298
+ ui.viewports.controlsVisible && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: getClassName24("canvasControls"), children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
33299
+ ViewportControls,
33300
+ {
33301
+ autoZoom: zoomConfig.autoZoom,
33302
+ zoom: zoomConfig.zoom,
33303
+ onViewportChange: (viewport) => {
33304
+ setShowTransition(true);
33305
+ const uiViewport = __spreadProps(__spreadValues({}, viewport), {
33306
+ height: viewport.height || "auto",
33307
+ zoom: zoomConfig.zoom
33308
+ });
33309
+ const newUi = __spreadProps(__spreadValues({}, ui), {
33310
+ viewports: __spreadProps(__spreadValues({}, ui.viewports), { current: uiViewport })
33311
+ });
33312
+ setUi(newUi);
33313
+ if (ZOOM_ON_CHANGE) {
33314
+ resetAutoZoom(newUi);
33315
+ }
33316
+ },
33317
+ onZoom: (zoom) => {
33318
+ setShowTransition(true);
33319
+ setZoomConfig(__spreadProps(__spreadValues({}, zoomConfig), { zoom }));
33320
+ }
33321
+ }
33322
+ ) }),
33323
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: getClassName24("frame"), ref: frameRef, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
33324
+ "div",
33325
+ {
33326
+ className: getClassName24("root"),
33327
+ style: {
33328
+ width: ui.viewports.current.width,
33329
+ height: zoomConfig.rootHeight,
33330
+ transform: `scale(${zoomConfig.zoom})`,
33331
+ transition: showTransition ? "width 150ms ease-out, height 150ms ease-out, transform 150ms ease-out" : ""
33332
+ },
33333
+ children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(CustomPreview, { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Preview, {}) })
33334
+ }
33335
+ ) })
33336
+ ]
33337
+ }
33338
+ );
33339
+ };
33340
+
32749
33341
  // 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);
33342
+ var import_jsx_runtime34 = require("react/jsx-runtime");
33343
+ var getClassName25 = get_class_name_factory_default("Puck", styles_module_default8);
32752
33344
  function Puck({
32753
33345
  children,
32754
33346
  config,
32755
33347
  data: initialData = { content: [], root: { props: { title: "" } } },
32756
- ui: initialUi = defaultAppState.ui,
33348
+ ui: initialUi,
32757
33349
  onChange,
32758
33350
  onPublish,
32759
33351
  plugins = [],
@@ -32761,33 +33353,58 @@ function Puck({
32761
33353
  renderHeader,
32762
33354
  renderHeaderActions,
32763
33355
  headerTitle,
32764
- headerPath
33356
+ headerPath,
33357
+ viewports = defaultViewports
32765
33358
  }) {
32766
33359
  var _a;
32767
33360
  const historyStore = useHistoryStore();
32768
- const [reducer] = (0, import_react26.useState)(
33361
+ const [reducer] = (0, import_react28.useState)(
32769
33362
  () => createReducer({ config, record: historyStore.record })
32770
33363
  );
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)(
33364
+ const [initialAppState] = (0, import_react28.useState)(() => {
33365
+ var _a2, _b, _c, _d;
33366
+ const initial = __spreadValues(__spreadValues({}, defaultAppState.ui), initialUi);
33367
+ let clientUiState = {};
33368
+ if (typeof window !== "undefined") {
33369
+ const viewportWidth = window.innerWidth;
33370
+ const viewportDifferences = Object.entries(viewports).map(([key, value]) => ({
33371
+ key,
33372
+ diff: Math.abs(viewportWidth - value.width)
33373
+ })).sort((a, b) => a.diff > b.diff ? 1 : -1);
33374
+ const closestViewport = viewportDifferences[0].key;
33375
+ clientUiState = __spreadProps(__spreadValues({}, window.matchMedia("(min-width: 638px)").matches ? {} : {
33376
+ leftSideBarVisible: false,
33377
+ rightSideBarVisible: false
33378
+ }), {
33379
+ viewports: __spreadProps(__spreadValues({}, initial.viewports), {
33380
+ current: __spreadProps(__spreadValues({}, initial.viewports.current), {
33381
+ height: ((_b = (_a2 = initialUi == null ? void 0 : initialUi.viewports) == null ? void 0 : _a2.current) == null ? void 0 : _b.height) || viewports[closestViewport].height || "auto",
33382
+ width: ((_d = (_c = initialUi == null ? void 0 : initialUi.viewports) == null ? void 0 : _c.current) == null ? void 0 : _d.width) || viewports[closestViewport].width
33383
+ })
33384
+ })
33385
+ });
33386
+ }
33387
+ return __spreadProps(__spreadValues({}, defaultAppState), {
33388
+ data: initialData,
33389
+ ui: __spreadProps(__spreadValues(__spreadValues({}, initial), clientUiState), {
33390
+ // Store categories under componentList on state to allow render functions and plugins to modify
33391
+ componentList: config.categories ? Object.entries(config.categories).reduce(
33392
+ (acc, [categoryName, category]) => {
33393
+ return __spreadProps(__spreadValues({}, acc), {
33394
+ [categoryName]: {
33395
+ title: category.title,
33396
+ components: category.components,
33397
+ expanded: category.defaultExpanded,
33398
+ visible: category.visible
33399
+ }
33400
+ });
33401
+ },
33402
+ {}
33403
+ ) : {}
33404
+ })
33405
+ });
33406
+ });
33407
+ const [appState, dispatch] = (0, import_react28.useReducer)(
32791
33408
  reducer,
32792
33409
  flushZones(initialAppState)
32793
33410
  );
@@ -32798,9 +33415,9 @@ function Puck({
32798
33415
  config,
32799
33416
  dispatch
32800
33417
  );
32801
- const [menuOpen, setMenuOpen] = (0, import_react26.useState)(false);
33418
+ const [menuOpen, setMenuOpen] = (0, import_react28.useState)(false);
32802
33419
  const { itemSelector, leftSideBarVisible, rightSideBarVisible } = ui;
32803
- const setItemSelector = (0, import_react26.useCallback)(
33420
+ const setItemSelector = (0, import_react28.useCallback)(
32804
33421
  (newItemSelector) => {
32805
33422
  if (newItemSelector === itemSelector)
32806
33423
  return;
@@ -32813,21 +33430,21 @@ function Puck({
32813
33430
  [itemSelector]
32814
33431
  );
32815
33432
  const selectedItem = itemSelector ? getItem(itemSelector, data) : null;
32816
- (0, import_react26.useEffect)(() => {
33433
+ (0, import_react28.useEffect)(() => {
32817
33434
  if (onChange)
32818
33435
  onChange(data);
32819
33436
  }, [data]);
32820
33437
  const { onDragStartOrUpdate, placeholderStyle } = usePlaceholderStyle();
32821
- const [draggedItem, setDraggedItem] = (0, import_react26.useState)();
33438
+ const [draggedItem, setDraggedItem] = (0, import_react28.useState)();
32822
33439
  const rootProps = data.root.props || data.root;
32823
- (0, import_react26.useEffect)(() => {
33440
+ (0, import_react28.useEffect)(() => {
32824
33441
  if (Object.keys(data.root).length > 0 && !data.root.props) {
32825
33442
  console.error(
32826
33443
  "Warning: Defining props on `root` is deprecated. Please use `root.props`. This will be a breaking change in a future release."
32827
33444
  );
32828
33445
  }
32829
33446
  }, []);
32830
- const toggleSidebars = (0, import_react26.useCallback)(
33447
+ const toggleSidebars = (0, import_react28.useCallback)(
32831
33448
  (sidebar) => {
32832
33449
  const widerViewport = window.matchMedia("(min-width: 638px)").matches;
32833
33450
  const sideBarVisible = sidebar === "left" ? leftSideBarVisible : rightSideBarVisible;
@@ -32841,7 +33458,7 @@ function Puck({
32841
33458
  },
32842
33459
  [dispatch, leftSideBarVisible, rightSideBarVisible]
32843
33460
  );
32844
- (0, import_react26.useEffect)(() => {
33461
+ (0, import_react28.useEffect)(() => {
32845
33462
  if (!window.matchMedia("(min-width: 638px)").matches) {
32846
33463
  dispatch({
32847
33464
  type: "setUi",
@@ -32864,11 +33481,11 @@ function Puck({
32864
33481
  window.removeEventListener("resize", handleResize);
32865
33482
  };
32866
33483
  }, []);
32867
- const defaultRender = (0, import_react26.useMemo)(() => {
32868
- const PuckDefault = ({ children: children2 }) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_jsx_runtime29.Fragment, { children: children2 });
33484
+ const defaultRender = (0, import_react28.useMemo)(() => {
33485
+ const PuckDefault = ({ children: children2 }) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_jsx_runtime34.Fragment, { children: children2 });
32869
33486
  return PuckDefault;
32870
33487
  }, []);
32871
- const defaultHeaderRender = (0, import_react26.useMemo)(() => {
33488
+ const defaultHeaderRender = (0, import_react28.useMemo)(() => {
32872
33489
  if (renderHeader) {
32873
33490
  console.warn(
32874
33491
  "`renderHeader` is deprecated. Please use `overrides.header` and the `usePuck` hook instead"
@@ -32876,47 +33493,42 @@ function Puck({
32876
33493
  const RenderHeader = (_a2) => {
32877
33494
  var _b = _a2, { actions } = _b, props = __objRest(_b, ["actions"]);
32878
33495
  const Comp = renderHeader;
32879
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState, children: actions }));
33496
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState, children: actions }));
32880
33497
  };
32881
33498
  return RenderHeader;
32882
33499
  }
32883
33500
  return defaultRender;
32884
33501
  }, [renderHeader]);
32885
- const defaultHeaderActionsRender = (0, import_react26.useMemo)(() => {
33502
+ const defaultHeaderActionsRender = (0, import_react28.useMemo)(() => {
32886
33503
  if (renderHeaderActions) {
32887
33504
  console.warn(
32888
33505
  "`renderHeaderActions` is deprecated. Please use `overrides.headerActions` and the `usePuck` hook instead."
32889
33506
  );
32890
33507
  const RenderHeader = (props) => {
32891
33508
  const Comp = renderHeaderActions;
32892
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState }));
33509
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState }));
32893
33510
  };
32894
33511
  return RenderHeader;
32895
33512
  }
32896
33513
  return defaultRender;
32897
33514
  }, [renderHeader]);
32898
- const loadedOverrides = (0, import_react26.useMemo)(() => {
33515
+ const loadedOverrides = (0, import_react28.useMemo)(() => {
32899
33516
  return loadOverrides({ overrides, plugins });
32900
33517
  }, [plugins]);
32901
- const CustomPuck = (0, import_react26.useMemo)(
33518
+ const CustomPuck = (0, import_react28.useMemo)(
32902
33519
  () => loadedOverrides.puck || defaultRender,
32903
33520
  [loadedOverrides]
32904
33521
  );
32905
- const CustomPreview = (0, import_react26.useMemo)(
32906
- () => loadedOverrides.preview || defaultRender,
32907
- [loadedOverrides]
32908
- );
32909
- const CustomHeader = (0, import_react26.useMemo)(
33522
+ const CustomHeader = (0, import_react28.useMemo)(
32910
33523
  () => loadedOverrides.header || defaultHeaderRender,
32911
33524
  [loadedOverrides]
32912
33525
  );
32913
- const CustomHeaderActions = (0, import_react26.useMemo)(
33526
+ const CustomHeaderActions = (0, import_react28.useMemo)(
32914
33527
  () => loadedOverrides.headerActions || defaultHeaderActionsRender,
32915
33528
  [loadedOverrides]
32916
33529
  );
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)(
33530
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "Puck", children: [
33531
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
32920
33532
  AppProvider,
32921
33533
  {
32922
33534
  value: {
@@ -32927,10 +33539,11 @@ function Puck({
32927
33539
  resolveData,
32928
33540
  plugins,
32929
33541
  overrides: loadedOverrides,
32930
- history
33542
+ history,
33543
+ viewports
32931
33544
  },
32932
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
32933
- import_dnd7.DragDropContext,
33545
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33546
+ DragDropContext,
32934
33547
  {
32935
33548
  onDragUpdate: (update) => {
32936
33549
  setDraggedItem(__spreadValues(__spreadValues({}, draggedItem), update));
@@ -32984,7 +33597,7 @@ function Puck({
32984
33597
  });
32985
33598
  }
32986
33599
  },
32987
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33600
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
32988
33601
  DropZoneProvider,
32989
33602
  {
32990
33603
  value: {
@@ -32996,77 +33609,75 @@ function Puck({
32996
33609
  draggedItem,
32997
33610
  placeholderStyle,
32998
33611
  mode: "edit",
32999
- areaId: "root",
33000
- disableZoom
33612
+ areaId: "root"
33001
33613
  },
33002
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(CustomPuck, { children: children || /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
33614
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CustomPuck, { children: children || /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
33003
33615
  "div",
33004
33616
  {
33005
- className: getClassName22({
33617
+ className: getClassName25({
33006
33618
  leftSideBarVisible,
33007
33619
  menuOpen,
33008
- rightSideBarVisible,
33009
- disableZoom
33620
+ rightSideBarVisible
33010
33621
  }),
33011
33622
  children: [
33012
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33623
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33013
33624
  CustomHeader,
33014
33625
  {
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)(
33626
+ actions: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
33627
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CustomHeaderActions, {}),
33628
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33018
33629
  Button,
33019
33630
  {
33020
33631
  onClick: () => {
33021
33632
  onPublish && onPublish(data);
33022
33633
  },
33023
- icon: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Globe, { size: "14px" }),
33634
+ icon: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Globe, { size: "14px" }),
33024
33635
  children: "Publish"
33025
33636
  }
33026
33637
  )
33027
33638
  ] }),
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)(
33639
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("header", { className: getClassName25("header"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName25("headerInner"), children: [
33640
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName25("headerToggle"), children: [
33641
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName25("leftSideBarToggle"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33031
33642
  IconButton,
33032
33643
  {
33033
33644
  onClick: () => {
33034
33645
  toggleSidebars("left");
33035
33646
  },
33036
33647
  title: "Toggle left sidebar",
33037
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(PanelLeft, { focusable: "false" })
33648
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(PanelLeft, { focusable: "false" })
33038
33649
  }
33039
33650
  ) }),
33040
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: getClassName22("rightSideBarToggle"), children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33651
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName25("rightSideBarToggle"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33041
33652
  IconButton,
33042
33653
  {
33043
33654
  onClick: () => {
33044
33655
  toggleSidebars("right");
33045
33656
  },
33046
33657
  title: "Toggle right sidebar",
33047
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(PanelRight, { focusable: "false" })
33658
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(PanelRight, { focusable: "false" })
33048
33659
  }
33049
33660
  ) })
33050
33661
  ] }),
33051
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: getClassName22("headerTitle"), children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(Heading, { rank: 2, size: "xs", children: [
33662
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName25("headerTitle"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(Heading, { rank: 2, size: "xs", children: [
33052
33663
  headerTitle || rootProps.title || "Page",
33053
- headerPath && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
33664
+ headerPath && /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
33054
33665
  " ",
33055
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("code", { className: getClassName22("headerPath"), children: headerPath })
33666
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("code", { className: getClassName25("headerPath"), children: headerPath })
33056
33667
  ] })
33057
33668
  ] }) }),
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)(
33669
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName25("headerTools"), children: [
33670
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName25("menuButton"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33060
33671
  IconButton,
33061
33672
  {
33062
33673
  onClick: () => {
33063
33674
  return setMenuOpen(!menuOpen);
33064
33675
  },
33065
33676
  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" })
33677
+ children: menuOpen ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ChevronUp, { focusable: "false" }) : /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ChevronDown, { focusable: "false" })
33067
33678
  }
33068
33679
  ) }),
33069
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33680
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33070
33681
  MenuBar,
33071
33682
  {
33072
33683
  appState,
@@ -33074,7 +33685,7 @@ function Puck({
33074
33685
  dispatch,
33075
33686
  onPublish,
33076
33687
  menuOpen,
33077
- renderHeaderActions: () => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(CustomHeaderActions, {}),
33688
+ renderHeaderActions: () => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CustomHeaderActions, {}),
33078
33689
  setMenuOpen
33079
33690
  }
33080
33691
  )
@@ -33082,38 +33693,19 @@ function Puck({
33082
33693
  ] }) })
33083
33694
  }
33084
33695
  ),
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, {}) })
33696
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName25("leftSideBar"), children: [
33697
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(SidebarSection, { title: "Components", noBorderTop: true, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Components, {}) }),
33698
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(SidebarSection, { title: "Outline", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Outline, {}) })
33088
33699
  ] }),
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)(
33700
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Canvas, {}),
33701
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName25("rightSideBar"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33110
33702
  SidebarSection,
33111
33703
  {
33112
33704
  noPadding: true,
33113
33705
  noBorderTop: true,
33114
33706
  showBreadcrumbs: true,
33115
33707
  title: selectedItem ? (_a = config.components[selectedItem.type]["label"]) != null ? _a : selectedItem.type : "Page",
33116
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Fields, {})
33708
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Fields, {})
33117
33709
  }
33118
33710
  ) })
33119
33711
  ]
@@ -33125,7 +33717,7 @@ function Puck({
33125
33717
  )
33126
33718
  }
33127
33719
  ),
33128
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { id: "puck-portal-root" })
33720
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { id: "puck-portal-root" })
33129
33721
  ] });
33130
33722
  }
33131
33723
  Puck.Components = Components;
@@ -33135,13 +33727,13 @@ Puck.Preview = Preview;
33135
33727
 
33136
33728
  // components/Render/index.tsx
33137
33729
  init_react_import();
33138
- var import_jsx_runtime30 = require("react/jsx-runtime");
33730
+ var import_jsx_runtime35 = require("react/jsx-runtime");
33139
33731
  function Render({ config, data }) {
33140
33732
  var _a;
33141
33733
  const rootProps = data.root.props || data.root;
33142
33734
  const title = (rootProps == null ? void 0 : rootProps.title) || "";
33143
33735
  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)(
33736
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropZoneProvider, { value: { data, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
33145
33737
  config.root.render,
33146
33738
  __spreadProps(__spreadValues({}, rootProps), {
33147
33739
  puck: {
@@ -33150,11 +33742,11 @@ function Render({ config, data }) {
33150
33742
  title,
33151
33743
  editMode: false,
33152
33744
  id: "puck-root",
33153
- children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DropZone, { zone: rootDroppableId })
33745
+ children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropZone, { zone: rootDroppableId })
33154
33746
  })
33155
33747
  ) });
33156
33748
  }
33157
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DropZoneProvider, { value: { data, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DropZone, { zone: rootDroppableId }) });
33749
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropZoneProvider, { value: { data, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropZone, { zone: rootDroppableId }) });
33158
33750
  }
33159
33751
 
33160
33752
  // lib/migrate.ts
@@ -33449,6 +34041,14 @@ lucide-react/dist/esm/icons/lock.js:
33449
34041
  * See the LICENSE file in the root directory of this source tree.
33450
34042
  *)
33451
34043
 
34044
+ lucide-react/dist/esm/icons/monitor.js:
34045
+ (**
34046
+ * @license lucide-react v0.298.0 - ISC
34047
+ *
34048
+ * This source code is licensed under the ISC license.
34049
+ * See the LICENSE file in the root directory of this source tree.
34050
+ *)
34051
+
33452
34052
  lucide-react/dist/esm/icons/more-vertical.js:
33453
34053
  (**
33454
34054
  * @license lucide-react v0.298.0 - ISC
@@ -33497,6 +34097,22 @@ lucide-react/dist/esm/icons/sliders-horizontal.js:
33497
34097
  * See the LICENSE file in the root directory of this source tree.
33498
34098
  *)
33499
34099
 
34100
+ lucide-react/dist/esm/icons/smartphone.js:
34101
+ (**
34102
+ * @license lucide-react v0.298.0 - ISC
34103
+ *
34104
+ * This source code is licensed under the ISC license.
34105
+ * See the LICENSE file in the root directory of this source tree.
34106
+ *)
34107
+
34108
+ lucide-react/dist/esm/icons/tablet.js:
34109
+ (**
34110
+ * @license lucide-react v0.298.0 - ISC
34111
+ *
34112
+ * This source code is licensed under the ISC license.
34113
+ * See the LICENSE file in the root directory of this source tree.
34114
+ *)
34115
+
33500
34116
  lucide-react/dist/esm/icons/trash.js:
33501
34117
  (**
33502
34118
  * @license lucide-react v0.298.0 - ISC
@@ -33521,6 +34137,22 @@ lucide-react/dist/esm/icons/unlock.js:
33521
34137
  * See the LICENSE file in the root directory of this source tree.
33522
34138
  *)
33523
34139
 
34140
+ lucide-react/dist/esm/icons/zoom-in.js:
34141
+ (**
34142
+ * @license lucide-react v0.298.0 - ISC
34143
+ *
34144
+ * This source code is licensed under the ISC license.
34145
+ * See the LICENSE file in the root directory of this source tree.
34146
+ *)
34147
+
34148
+ lucide-react/dist/esm/icons/zoom-out.js:
34149
+ (**
34150
+ * @license lucide-react v0.298.0 - ISC
34151
+ *
34152
+ * This source code is licensed under the ISC license.
34153
+ * See the LICENSE file in the root directory of this source tree.
34154
+ *)
34155
+
33524
34156
  lucide-react/dist/esm/lucide-react.js:
33525
34157
  (**
33526
34158
  * @license lucide-react v0.298.0 - ISC