@measured/puck 0.14.0-canary.cc7d391 → 0.14.0-canary.d944288

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -93,7 +93,8 @@ var init_react_import = __esm({
93
93
 
94
94
  // ../../node_modules/classnames/index.js
95
95
  var require_classnames = __commonJS({
96
- "../../node_modules/classnames/index.js"(exports, module2) {
96
+ "../../node_modules/classnames/index.js"(exports2, module2) {
97
+ "use strict";
97
98
  init_react_import();
98
99
  (function() {
99
100
  "use strict";
@@ -145,7 +146,7 @@ var require_classnames = __commonJS({
145
146
 
146
147
  // ../../node_modules/scheduler/cjs/scheduler.production.min.js
147
148
  var require_scheduler_production_min = __commonJS({
148
- "../../node_modules/scheduler/cjs/scheduler.production.min.js"(exports) {
149
+ "../../node_modules/scheduler/cjs/scheduler.production.min.js"(exports2) {
149
150
  "use strict";
150
151
  init_react_import();
151
152
  function f(a, b) {
@@ -188,12 +189,12 @@ var require_scheduler_production_min = __commonJS({
188
189
  }
189
190
  if ("object" === typeof performance && "function" === typeof performance.now) {
190
191
  l = performance;
191
- exports.unstable_now = function() {
192
+ exports2.unstable_now = function() {
192
193
  return l.now();
193
194
  };
194
195
  } else {
195
196
  p = Date, q = p.now();
196
- exports.unstable_now = function() {
197
+ exports2.unstable_now = function() {
197
198
  return p.now() - q;
198
199
  };
199
200
  }
@@ -247,7 +248,7 @@ var require_scheduler_production_min = __commonJS({
247
248
  v.callback = null;
248
249
  y = v.priorityLevel;
249
250
  var e = d(v.expirationTime <= b);
250
- b = exports.unstable_now();
251
+ b = exports2.unstable_now();
251
252
  "function" === typeof e ? v.callback = e : v === h(r) && k(r);
252
253
  G(b);
253
254
  } else
@@ -272,11 +273,11 @@ var require_scheduler_production_min = __commonJS({
272
273
  var P = 5;
273
274
  var Q = -1;
274
275
  function M() {
275
- return exports.unstable_now() - Q < P ? false : true;
276
+ return exports2.unstable_now() - Q < P ? false : true;
276
277
  }
277
278
  function R() {
278
279
  if (null !== O) {
279
- var a = exports.unstable_now();
280
+ var a = exports2.unstable_now();
280
281
  Q = a;
281
282
  var b = true;
282
283
  try {
@@ -310,31 +311,31 @@ var require_scheduler_production_min = __commonJS({
310
311
  }
311
312
  function K(a, b) {
312
313
  L = D(function() {
313
- a(exports.unstable_now());
314
+ a(exports2.unstable_now());
314
315
  }, b);
315
316
  }
316
- exports.unstable_IdlePriority = 5;
317
- exports.unstable_ImmediatePriority = 1;
318
- exports.unstable_LowPriority = 4;
319
- exports.unstable_NormalPriority = 3;
320
- exports.unstable_Profiling = null;
321
- exports.unstable_UserBlockingPriority = 2;
322
- exports.unstable_cancelCallback = function(a) {
317
+ exports2.unstable_IdlePriority = 5;
318
+ exports2.unstable_ImmediatePriority = 1;
319
+ exports2.unstable_LowPriority = 4;
320
+ exports2.unstable_NormalPriority = 3;
321
+ exports2.unstable_Profiling = null;
322
+ exports2.unstable_UserBlockingPriority = 2;
323
+ exports2.unstable_cancelCallback = function(a) {
323
324
  a.callback = null;
324
325
  };
325
- exports.unstable_continueExecution = function() {
326
+ exports2.unstable_continueExecution = function() {
326
327
  A || z || (A = true, I(J));
327
328
  };
328
- exports.unstable_forceFrameRate = function(a) {
329
+ exports2.unstable_forceFrameRate = function(a) {
329
330
  0 > a || 125 < a ? console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported") : P = 0 < a ? Math.floor(1e3 / a) : 5;
330
331
  };
331
- exports.unstable_getCurrentPriorityLevel = function() {
332
+ exports2.unstable_getCurrentPriorityLevel = function() {
332
333
  return y;
333
334
  };
334
- exports.unstable_getFirstCallbackNode = function() {
335
+ exports2.unstable_getFirstCallbackNode = function() {
335
336
  return h(r);
336
337
  };
337
- exports.unstable_next = function(a) {
338
+ exports2.unstable_next = function(a) {
338
339
  switch (y) {
339
340
  case 1:
340
341
  case 2:
@@ -352,11 +353,11 @@ var require_scheduler_production_min = __commonJS({
352
353
  y = c;
353
354
  }
354
355
  };
355
- exports.unstable_pauseExecution = function() {
356
+ exports2.unstable_pauseExecution = function() {
356
357
  };
357
- exports.unstable_requestPaint = function() {
358
+ exports2.unstable_requestPaint = function() {
358
359
  };
359
- exports.unstable_runWithPriority = function(a, b) {
360
+ exports2.unstable_runWithPriority = function(a, b) {
360
361
  switch (a) {
361
362
  case 1:
362
363
  case 2:
@@ -375,8 +376,8 @@ var require_scheduler_production_min = __commonJS({
375
376
  y = c;
376
377
  }
377
378
  };
378
- exports.unstable_scheduleCallback = function(a, b, c) {
379
- var d = exports.unstable_now();
379
+ exports2.unstable_scheduleCallback = function(a, b, c) {
380
+ var d = exports2.unstable_now();
380
381
  "object" === typeof c && null !== c ? (c = c.delay, c = "number" === typeof c && 0 < c ? d + c : d) : c = d;
381
382
  switch (a) {
382
383
  case 1:
@@ -399,8 +400,8 @@ var require_scheduler_production_min = __commonJS({
399
400
  c > d ? (a.sortIndex = c, f(t, a), null === h(r) && a === h(t) && (B ? (E(L), L = -1) : B = true, K(H, c - d))) : (a.sortIndex = e, f(r, a), A || z || (A = true, I(J)));
400
401
  return a;
401
402
  };
402
- exports.unstable_shouldYield = M;
403
- exports.unstable_wrapCallback = function(a) {
403
+ exports2.unstable_shouldYield = M;
404
+ exports2.unstable_wrapCallback = function(a) {
404
405
  var b = y;
405
406
  return function() {
406
407
  var c = y;
@@ -417,7 +418,7 @@ var require_scheduler_production_min = __commonJS({
417
418
 
418
419
  // ../../node_modules/scheduler/cjs/scheduler.development.js
419
420
  var require_scheduler_development = __commonJS({
420
- "../../node_modules/scheduler/cjs/scheduler.development.js"(exports) {
421
+ "../../node_modules/scheduler/cjs/scheduler.development.js"(exports2) {
421
422
  "use strict";
422
423
  init_react_import();
423
424
  if (process.env.NODE_ENV !== "production") {
@@ -505,13 +506,13 @@ var require_scheduler_development = __commonJS({
505
506
  var hasPerformanceNow = typeof performance === "object" && typeof performance.now === "function";
506
507
  if (hasPerformanceNow) {
507
508
  var localPerformance = performance;
508
- exports.unstable_now = function() {
509
+ exports2.unstable_now = function() {
509
510
  return localPerformance.now();
510
511
  };
511
512
  } else {
512
513
  var localDate = Date;
513
514
  var initialTime = localDate.now();
514
- exports.unstable_now = function() {
515
+ exports2.unstable_now = function() {
515
516
  return localDate.now() - initialTime;
516
517
  };
517
518
  }
@@ -577,7 +578,7 @@ var require_scheduler_development = __commonJS({
577
578
  return workLoop(hasTimeRemaining, initialTime2);
578
579
  } catch (error) {
579
580
  if (currentTask !== null) {
580
- var currentTime = exports.unstable_now();
581
+ var currentTime = exports2.unstable_now();
581
582
  markTaskErrored(currentTask, currentTime);
582
583
  currentTask.isQueued = false;
583
584
  }
@@ -606,7 +607,7 @@ var require_scheduler_development = __commonJS({
606
607
  currentPriorityLevel = currentTask.priorityLevel;
607
608
  var didUserCallbackTimeout = currentTask.expirationTime <= currentTime;
608
609
  var continuationCallback = callback(didUserCallbackTimeout);
609
- currentTime = exports.unstable_now();
610
+ currentTime = exports2.unstable_now();
610
611
  if (typeof continuationCallback === "function") {
611
612
  currentTask.callback = continuationCallback;
612
613
  } else {
@@ -682,7 +683,7 @@ var require_scheduler_development = __commonJS({
682
683
  };
683
684
  }
684
685
  function unstable_scheduleCallback(priorityLevel, callback, options) {
685
- var currentTime = exports.unstable_now();
686
+ var currentTime = exports2.unstable_now();
686
687
  var startTime2;
687
688
  if (typeof options === "object" && options !== null) {
688
689
  var delay = options.delay;
@@ -766,7 +767,7 @@ var require_scheduler_development = __commonJS({
766
767
  var frameInterval = frameYieldMs;
767
768
  var startTime = -1;
768
769
  function shouldYieldToHost() {
769
- var timeElapsed = exports.unstable_now() - startTime;
770
+ var timeElapsed = exports2.unstable_now() - startTime;
770
771
  if (timeElapsed < frameInterval) {
771
772
  return false;
772
773
  }
@@ -787,7 +788,7 @@ var require_scheduler_development = __commonJS({
787
788
  }
788
789
  var performWorkUntilDeadline = function() {
789
790
  if (scheduledHostCallback !== null) {
790
- var currentTime = exports.unstable_now();
791
+ var currentTime = exports2.unstable_now();
791
792
  startTime = currentTime;
792
793
  var hasTimeRemaining = true;
793
794
  var hasMoreWork = true;
@@ -831,7 +832,7 @@ var require_scheduler_development = __commonJS({
831
832
  }
832
833
  function requestHostTimeout(callback, ms) {
833
834
  taskTimeoutID = localSetTimeout(function() {
834
- callback(exports.unstable_now());
835
+ callback(exports2.unstable_now());
835
836
  }, ms);
836
837
  }
837
838
  function cancelHostTimeout() {
@@ -840,24 +841,24 @@ var require_scheduler_development = __commonJS({
840
841
  }
841
842
  var unstable_requestPaint = requestPaint;
842
843
  var unstable_Profiling = null;
843
- exports.unstable_IdlePriority = IdlePriority;
844
- exports.unstable_ImmediatePriority = ImmediatePriority;
845
- exports.unstable_LowPriority = LowPriority;
846
- exports.unstable_NormalPriority = NormalPriority;
847
- exports.unstable_Profiling = unstable_Profiling;
848
- exports.unstable_UserBlockingPriority = UserBlockingPriority;
849
- exports.unstable_cancelCallback = unstable_cancelCallback;
850
- exports.unstable_continueExecution = unstable_continueExecution;
851
- exports.unstable_forceFrameRate = forceFrameRate;
852
- exports.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel;
853
- exports.unstable_getFirstCallbackNode = unstable_getFirstCallbackNode;
854
- exports.unstable_next = unstable_next;
855
- exports.unstable_pauseExecution = unstable_pauseExecution;
856
- exports.unstable_requestPaint = unstable_requestPaint;
857
- exports.unstable_runWithPriority = unstable_runWithPriority;
858
- exports.unstable_scheduleCallback = unstable_scheduleCallback;
859
- exports.unstable_shouldYield = shouldYieldToHost;
860
- exports.unstable_wrapCallback = unstable_wrapCallback;
844
+ exports2.unstable_IdlePriority = IdlePriority;
845
+ exports2.unstable_ImmediatePriority = ImmediatePriority;
846
+ exports2.unstable_LowPriority = LowPriority;
847
+ exports2.unstable_NormalPriority = NormalPriority;
848
+ exports2.unstable_Profiling = unstable_Profiling;
849
+ exports2.unstable_UserBlockingPriority = UserBlockingPriority;
850
+ exports2.unstable_cancelCallback = unstable_cancelCallback;
851
+ exports2.unstable_continueExecution = unstable_continueExecution;
852
+ exports2.unstable_forceFrameRate = forceFrameRate;
853
+ exports2.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel;
854
+ exports2.unstable_getFirstCallbackNode = unstable_getFirstCallbackNode;
855
+ exports2.unstable_next = unstable_next;
856
+ exports2.unstable_pauseExecution = unstable_pauseExecution;
857
+ exports2.unstable_requestPaint = unstable_requestPaint;
858
+ exports2.unstable_runWithPriority = unstable_runWithPriority;
859
+ exports2.unstable_scheduleCallback = unstable_scheduleCallback;
860
+ exports2.unstable_shouldYield = shouldYieldToHost;
861
+ exports2.unstable_wrapCallback = unstable_wrapCallback;
861
862
  if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop === "function") {
862
863
  __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());
863
864
  }
@@ -868,7 +869,7 @@ var require_scheduler_development = __commonJS({
868
869
 
869
870
  // ../../node_modules/scheduler/index.js
870
871
  var require_scheduler = __commonJS({
871
- "../../node_modules/scheduler/index.js"(exports, module2) {
872
+ "../../node_modules/scheduler/index.js"(exports2, module2) {
872
873
  "use strict";
873
874
  init_react_import();
874
875
  if (process.env.NODE_ENV === "production") {
@@ -881,7 +882,7 @@ var require_scheduler = __commonJS({
881
882
 
882
883
  // ../../node_modules/react-dom/cjs/react-dom.production.min.js
883
884
  var require_react_dom_production_min = __commonJS({
884
- "../../node_modules/react-dom/cjs/react-dom.production.min.js"(exports) {
885
+ "../../node_modules/react-dom/cjs/react-dom.production.min.js"(exports2) {
885
886
  "use strict";
886
887
  init_react_import();
887
888
  var aa = require("react");
@@ -7938,14 +7939,14 @@ var require_react_dom_production_min = __commonJS({
7938
7939
  }
7939
7940
  }
7940
7941
  var wl;
7941
- exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = tl;
7942
- exports.createPortal = function(a, b) {
7942
+ exports2.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = tl;
7943
+ exports2.createPortal = function(a, b) {
7943
7944
  var c = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;
7944
7945
  if (!ol(b))
7945
7946
  throw Error(p(200));
7946
7947
  return dl(a, b, null, c);
7947
7948
  };
7948
- exports.createRoot = function(a, b) {
7949
+ exports2.createRoot = function(a, b) {
7949
7950
  if (!ol(a))
7950
7951
  throw Error(p(299));
7951
7952
  var c = false, d = "", e = ll;
@@ -7955,7 +7956,7 @@ var require_react_dom_production_min = __commonJS({
7955
7956
  sf(8 === a.nodeType ? a.parentNode : a);
7956
7957
  return new ml(b);
7957
7958
  };
7958
- exports.findDOMNode = function(a) {
7959
+ exports2.findDOMNode = function(a) {
7959
7960
  if (null == a)
7960
7961
  return null;
7961
7962
  if (1 === a.nodeType)
@@ -7971,15 +7972,15 @@ var require_react_dom_production_min = __commonJS({
7971
7972
  a = null === a ? null : a.stateNode;
7972
7973
  return a;
7973
7974
  };
7974
- exports.flushSync = function(a) {
7975
+ exports2.flushSync = function(a) {
7975
7976
  return Sk(a);
7976
7977
  };
7977
- exports.hydrate = function(a, b, c) {
7978
+ exports2.hydrate = function(a, b, c) {
7978
7979
  if (!pl(b))
7979
7980
  throw Error(p(200));
7980
7981
  return sl(null, a, b, true, c);
7981
7982
  };
7982
- exports.hydrateRoot = function(a, b, c) {
7983
+ exports2.hydrateRoot = function(a, b, c) {
7983
7984
  if (!ol(a))
7984
7985
  throw Error(p(405));
7985
7986
  var d = null != c && c.hydratedSources || null, e = false, f = "", g = ll;
@@ -7995,12 +7996,12 @@ var require_react_dom_production_min = __commonJS({
7995
7996
  );
7996
7997
  return new nl(b);
7997
7998
  };
7998
- exports.render = function(a, b, c) {
7999
+ exports2.render = function(a, b, c) {
7999
8000
  if (!pl(b))
8000
8001
  throw Error(p(200));
8001
8002
  return sl(null, a, b, false, c);
8002
8003
  };
8003
- exports.unmountComponentAtNode = function(a) {
8004
+ exports2.unmountComponentAtNode = function(a) {
8004
8005
  if (!pl(a))
8005
8006
  throw Error(p(40));
8006
8007
  return a._reactRootContainer ? (Sk(function() {
@@ -8010,21 +8011,21 @@ var require_react_dom_production_min = __commonJS({
8010
8011
  });
8011
8012
  }), true) : false;
8012
8013
  };
8013
- exports.unstable_batchedUpdates = Rk;
8014
- exports.unstable_renderSubtreeIntoContainer = function(a, b, c, d) {
8014
+ exports2.unstable_batchedUpdates = Rk;
8015
+ exports2.unstable_renderSubtreeIntoContainer = function(a, b, c, d) {
8015
8016
  if (!pl(c))
8016
8017
  throw Error(p(200));
8017
8018
  if (null == a || void 0 === a._reactInternals)
8018
8019
  throw Error(p(38));
8019
8020
  return sl(a, b, c, false, d);
8020
8021
  };
8021
- exports.version = "18.2.0-next-9e3b772b8-20220608";
8022
+ exports2.version = "18.2.0-next-9e3b772b8-20220608";
8022
8023
  }
8023
8024
  });
8024
8025
 
8025
8026
  // ../../node_modules/react-dom/cjs/react-dom.development.js
8026
8027
  var require_react_dom_development = __commonJS({
8027
- "../../node_modules/react-dom/cjs/react-dom.development.js"(exports) {
8028
+ "../../node_modules/react-dom/cjs/react-dom.development.js"(exports2) {
8028
8029
  "use strict";
8029
8030
  init_react_import();
8030
8031
  if (process.env.NODE_ENV !== "production") {
@@ -8084,7 +8085,7 @@ var require_react_dom_development = __commonJS({
8084
8085
  var HostPortal = 4;
8085
8086
  var HostComponent = 5;
8086
8087
  var HostText = 6;
8087
- var Fragment13 = 7;
8088
+ var Fragment16 = 7;
8088
8089
  var Mode = 8;
8089
8090
  var ContextConsumer = 9;
8090
8091
  var ContextProvider = 10;
@@ -8264,8 +8265,8 @@ var require_react_dom_development = __commonJS({
8264
8265
  if (propertyInfo !== null) {
8265
8266
  return !propertyInfo.acceptsBooleans;
8266
8267
  } else {
8267
- var prefix2 = name.toLowerCase().slice(0, 5);
8268
- return prefix2 !== "data-" && prefix2 !== "aria-";
8268
+ var prefix3 = name.toLowerCase().slice(0, 5);
8269
+ return prefix3 !== "data-" && prefix3 !== "aria-";
8269
8270
  }
8270
8271
  }
8271
8272
  default:
@@ -8937,18 +8938,18 @@ var require_react_dom_development = __commonJS({
8937
8938
  }
8938
8939
  }
8939
8940
  var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;
8940
- var prefix;
8941
+ var prefix2;
8941
8942
  function describeBuiltInComponentFrame(name, source, ownerFn) {
8942
8943
  {
8943
- if (prefix === void 0) {
8944
+ if (prefix2 === void 0) {
8944
8945
  try {
8945
8946
  throw Error();
8946
8947
  } catch (x) {
8947
8948
  var match = x.stack.trim().match(/\n( *(at )?)/);
8948
- prefix = match && match[1] || "";
8949
+ prefix2 = match && match[1] || "";
8949
8950
  }
8950
8951
  }
8951
- return "\n" + prefix + name;
8952
+ return "\n" + prefix2 + name;
8952
8953
  }
8953
8954
  }
8954
8955
  var reentry = false;
@@ -9240,7 +9241,7 @@ var require_react_dom_development = __commonJS({
9240
9241
  return "DehydratedFragment";
9241
9242
  case ForwardRef:
9242
9243
  return getWrappedName$1(type, type.render, "ForwardRef");
9243
- case Fragment13:
9244
+ case Fragment16:
9244
9245
  return "Fragment";
9245
9246
  case HostComponent:
9246
9247
  return type;
@@ -10033,13 +10034,13 @@ var require_react_dom_development = __commonJS({
10033
10034
  strokeOpacity: true,
10034
10035
  strokeWidth: true
10035
10036
  };
10036
- function prefixKey(prefix2, key) {
10037
- return prefix2 + key.charAt(0).toUpperCase() + key.substring(1);
10037
+ function prefixKey(prefix3, key) {
10038
+ return prefix3 + key.charAt(0).toUpperCase() + key.substring(1);
10038
10039
  }
10039
10040
  var prefixes = ["Webkit", "ms", "Moz", "O"];
10040
10041
  Object.keys(isUnitlessNumber).forEach(function(prop) {
10041
- prefixes.forEach(function(prefix2) {
10042
- isUnitlessNumber[prefixKey(prefix2, prop)] = isUnitlessNumber[prop];
10042
+ prefixes.forEach(function(prefix3) {
10043
+ isUnitlessNumber[prefixKey(prefix3, prop)] = isUnitlessNumber[prop];
10043
10044
  });
10044
10045
  });
10045
10046
  function dangerousStyleValue(name, value, isCustomProperty) {
@@ -18911,7 +18912,7 @@ var require_react_dom_development = __commonJS({
18911
18912
  }
18912
18913
  }
18913
18914
  function updateFragment2(returnFiber, current2, fragment, lanes, key) {
18914
- if (current2 === null || current2.tag !== Fragment13) {
18915
+ if (current2 === null || current2.tag !== Fragment16) {
18915
18916
  var created = createFiberFromFragment(fragment, returnFiber.mode, lanes, key);
18916
18917
  created.return = returnFiber;
18917
18918
  return created;
@@ -19314,7 +19315,7 @@ var require_react_dom_development = __commonJS({
19314
19315
  if (child.key === key) {
19315
19316
  var elementType = element.type;
19316
19317
  if (elementType === REACT_FRAGMENT_TYPE) {
19317
- if (child.tag === Fragment13) {
19318
+ if (child.tag === Fragment16) {
19318
19319
  deleteRemainingChildren(returnFiber, child.sibling);
19319
19320
  var existing = useFiber(child, element.props.children);
19320
19321
  existing.return = returnFiber;
@@ -23489,7 +23490,7 @@ var require_react_dom_development = __commonJS({
23489
23490
  var _resolvedProps2 = workInProgress2.elementType === type ? _unresolvedProps2 : resolveDefaultProps(type, _unresolvedProps2);
23490
23491
  return updateForwardRef(current2, workInProgress2, type, _resolvedProps2, renderLanes2);
23491
23492
  }
23492
- case Fragment13:
23493
+ case Fragment16:
23493
23494
  return updateFragment(current2, workInProgress2, renderLanes2);
23494
23495
  case Mode:
23495
23496
  return updateMode(current2, workInProgress2, renderLanes2);
@@ -23762,7 +23763,7 @@ var require_react_dom_development = __commonJS({
23762
23763
  case SimpleMemoComponent:
23763
23764
  case FunctionComponent:
23764
23765
  case ForwardRef:
23765
- case Fragment13:
23766
+ case Fragment16:
23766
23767
  case Mode:
23767
23768
  case Profiler:
23768
23769
  case ContextConsumer:
@@ -28021,7 +28022,7 @@ var require_react_dom_development = __commonJS({
28021
28022
  return fiber;
28022
28023
  }
28023
28024
  function createFiberFromFragment(elements, mode, lanes, key) {
28024
- var fiber = createFiber(Fragment13, elements, key, mode);
28025
+ var fiber = createFiber(Fragment16, elements, key, mode);
28025
28026
  fiber.lanes = lanes;
28026
28027
  return fiber;
28027
28028
  }
@@ -29094,18 +29095,18 @@ var require_react_dom_development = __commonJS({
29094
29095
  }
29095
29096
  }
29096
29097
  }
29097
- exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Internals;
29098
- exports.createPortal = createPortal$1;
29099
- exports.createRoot = createRoot$1;
29100
- exports.findDOMNode = findDOMNode;
29101
- exports.flushSync = flushSync$1;
29102
- exports.hydrate = hydrate;
29103
- exports.hydrateRoot = hydrateRoot$1;
29104
- exports.render = render;
29105
- exports.unmountComponentAtNode = unmountComponentAtNode;
29106
- exports.unstable_batchedUpdates = batchedUpdates$1;
29107
- exports.unstable_renderSubtreeIntoContainer = renderSubtreeIntoContainer;
29108
- exports.version = ReactVersion;
29098
+ exports2.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Internals;
29099
+ exports2.createPortal = createPortal$1;
29100
+ exports2.createRoot = createRoot$1;
29101
+ exports2.findDOMNode = findDOMNode;
29102
+ exports2.flushSync = flushSync$1;
29103
+ exports2.hydrate = hydrate;
29104
+ exports2.hydrateRoot = hydrateRoot$1;
29105
+ exports2.render = render;
29106
+ exports2.unmountComponentAtNode = unmountComponentAtNode;
29107
+ exports2.unstable_batchedUpdates = batchedUpdates$1;
29108
+ exports2.unstable_renderSubtreeIntoContainer = renderSubtreeIntoContainer;
29109
+ exports2.version = ReactVersion;
29109
29110
  if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop === "function") {
29110
29111
  __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());
29111
29112
  }
@@ -29116,7 +29117,7 @@ var require_react_dom_development = __commonJS({
29116
29117
 
29117
29118
  // ../../node_modules/react-dom/index.js
29118
29119
  var require_react_dom = __commonJS({
29119
- "../../node_modules/react-dom/index.js"(exports, module2) {
29120
+ "../../node_modules/react-dom/index.js"(exports2, module2) {
29120
29121
  "use strict";
29121
29122
  init_react_import();
29122
29123
  function checkDCE() {
@@ -29171,9 +29172,19 @@ init_react_import();
29171
29172
  init_react_import();
29172
29173
  var import_react2 = require("react");
29173
29174
 
29174
- // css-module:/home/runner/work/puck/puck/packages/core/components/Button/Button.module.css#css-module
29175
- init_react_import();
29176
- var Button_module_default = { "Button": "_Button_8fn3a_1", "Button--medium": "_Button--medium_8fn3a_29", "Button--large": "_Button--large_8fn3a_37", "Button-icon": "_Button-icon_8fn3a_44", "Button--primary": "_Button--primary_8fn3a_48", "Button--secondary": "_Button--secondary_8fn3a_67", "Button--flush": "_Button--flush_8fn3a_82", "Button--disabled": "_Button--disabled_8fn3a_86", "Button--fullWidth": "_Button--fullWidth_8fn3a_93", "Button-spinner": "_Button-spinner_8fn3a_98" };
29175
+ // components/Button/Button.module.css
29176
+ var Button_default = {
29177
+ Button: "Button_Button",
29178
+ "Button--medium": "Button_Button--medium",
29179
+ "Button--large": "Button_Button--large",
29180
+ "Button-icon": "Button_Button-icon",
29181
+ "Button--primary": "Button_Button--primary",
29182
+ "Button--secondary": "Button_Button--secondary",
29183
+ "Button--flush": "Button_Button--flush",
29184
+ "Button--disabled": "Button_Button--disabled",
29185
+ "Button--fullWidth": "Button_Button--fullWidth",
29186
+ "Button-spinner": "Button_Button-spinner"
29187
+ };
29177
29188
 
29178
29189
  // lib/get-class-name-factory.ts
29179
29190
  init_react_import();
@@ -29210,7 +29221,7 @@ var get_class_name_factory_default = getClassNameFactory;
29210
29221
  // components/Button/Button.tsx
29211
29222
  var import_react_spinners = require("react-spinners");
29212
29223
  var import_jsx_runtime = require("react/jsx-runtime");
29213
- var getClassName = get_class_name_factory_default("Button", Button_module_default);
29224
+ var getClassName = get_class_name_factory_default("Button", Button_default);
29214
29225
  var Button = ({
29215
29226
  children,
29216
29227
  href,
@@ -29264,16 +29275,190 @@ var Button = ({
29264
29275
 
29265
29276
  // components/Drawer/index.tsx
29266
29277
  init_react_import();
29267
- var import_dnd2 = require("@hello-pangea/dnd");
29268
29278
 
29269
- // css-module:/home/runner/work/puck/puck/packages/core/components/Drawer/styles.module.css#css-module
29279
+ // components/Droppable/index.tsx
29270
29280
  init_react_import();
29271
- var styles_module_default = { "Drawer": "_Drawer_6zh0b_1", "DrawerItem-default": "_DrawerItem-default_6zh0b_5", "DrawerItem-draggableWrapper": "_DrawerItem-draggableWrapper_6zh0b_5", "DrawerItem": "_DrawerItem_6zh0b_5", "DrawerItem-draggable": "_DrawerItem-draggable_6zh0b_5", "Drawer--isDraggingFrom": "_Drawer--isDraggingFrom_6zh0b_31", "DrawerItem-name": "_DrawerItem-name_6zh0b_47" };
29281
+ var import_dnd = require("@measured/dnd");
29272
29282
 
29273
- // components/Draggable/index.tsx
29283
+ // components/Puck/context.tsx
29284
+ init_react_import();
29285
+ var import_react3 = require("react");
29286
+
29287
+ // lib/get-item.ts
29288
+ init_react_import();
29289
+
29290
+ // lib/root-droppable-id.ts
29291
+ init_react_import();
29292
+ var rootDroppableId = "default-zone";
29293
+
29294
+ // lib/setup-zone.ts
29295
+ init_react_import();
29296
+ var setupZone = (data, zoneKey) => {
29297
+ if (zoneKey === rootDroppableId) {
29298
+ return data;
29299
+ }
29300
+ const newData = __spreadValues({}, data);
29301
+ newData.zones = data.zones || {};
29302
+ newData.zones[zoneKey] = newData.zones[zoneKey] || [];
29303
+ return newData;
29304
+ };
29305
+
29306
+ // lib/get-item.ts
29307
+ var getItem = (selector, data, dynamicProps = {}) => {
29308
+ if (!selector.zone || selector.zone === rootDroppableId) {
29309
+ const item2 = data.content[selector.index];
29310
+ return __spreadProps(__spreadValues({}, item2), { props: dynamicProps[item2.props.id] || item2.props });
29311
+ }
29312
+ const item = setupZone(data, selector.zone).zones[selector.zone][selector.index];
29313
+ return __spreadProps(__spreadValues({}, item), { props: dynamicProps[item.props.id] || item.props });
29314
+ };
29315
+
29316
+ // components/ViewportControls/default-viewports.ts
29274
29317
  init_react_import();
29275
- var import_dnd = require("@hello-pangea/dnd");
29318
+ var defaultViewports = [
29319
+ { width: 360, height: "auto", icon: "Smartphone", label: "Small" },
29320
+ { width: 768, height: "auto", icon: "Tablet", label: "Medium" },
29321
+ { width: 1280, height: "auto", icon: "Monitor", label: "Large" }
29322
+ ];
29323
+
29324
+ // components/Puck/context.tsx
29276
29325
  var import_jsx_runtime2 = require("react/jsx-runtime");
29326
+ var defaultAppState = {
29327
+ data: { content: [], root: { props: { title: "" } } },
29328
+ ui: {
29329
+ leftSideBarVisible: true,
29330
+ rightSideBarVisible: true,
29331
+ arrayState: {},
29332
+ itemSelector: null,
29333
+ componentList: {},
29334
+ isDragging: false,
29335
+ viewports: {
29336
+ current: {
29337
+ width: defaultViewports[0].width,
29338
+ height: defaultViewports[0].height || "auto"
29339
+ },
29340
+ options: [],
29341
+ controlsVisible: true
29342
+ }
29343
+ }
29344
+ };
29345
+ var defaultContext = {
29346
+ state: defaultAppState,
29347
+ dispatch: () => null,
29348
+ config: { components: {} },
29349
+ componentState: {},
29350
+ resolveData: () => {
29351
+ },
29352
+ plugins: [],
29353
+ overrides: {},
29354
+ history: {},
29355
+ viewports: defaultViewports,
29356
+ zoomConfig: {
29357
+ autoZoom: 1,
29358
+ rootHeight: 0,
29359
+ zoom: 1
29360
+ },
29361
+ setZoomConfig: () => null,
29362
+ status: "LOADING",
29363
+ setStatus: () => null,
29364
+ iframe: {}
29365
+ };
29366
+ var appContext = (0, import_react3.createContext)(defaultContext);
29367
+ var AppProvider = ({
29368
+ children,
29369
+ value
29370
+ }) => {
29371
+ const [zoomConfig, setZoomConfig] = (0, import_react3.useState)(defaultContext.zoomConfig);
29372
+ const [status, setStatus] = (0, import_react3.useState)("LOADING");
29373
+ (0, import_react3.useEffect)(() => {
29374
+ setStatus("MOUNTED");
29375
+ }, []);
29376
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
29377
+ appContext.Provider,
29378
+ {
29379
+ value: __spreadProps(__spreadValues({}, value), { zoomConfig, setZoomConfig, status, setStatus }),
29380
+ children
29381
+ }
29382
+ );
29383
+ };
29384
+ function useAppContext() {
29385
+ const mainContext = (0, import_react3.useContext)(appContext);
29386
+ const selectedItem = mainContext.state.ui.itemSelector ? getItem(mainContext.state.ui.itemSelector, mainContext.state.data) : void 0;
29387
+ return __spreadProps(__spreadValues({}, mainContext), {
29388
+ // Helpers
29389
+ selectedItem,
29390
+ setUi: (ui, recordHistory) => {
29391
+ return mainContext.dispatch({
29392
+ type: "setUi",
29393
+ ui,
29394
+ recordHistory
29395
+ });
29396
+ }
29397
+ });
29398
+ }
29399
+
29400
+ // components/Droppable/index.tsx
29401
+ var import_jsx_runtime3 = require("react/jsx-runtime");
29402
+ var defaultProvided = {
29403
+ droppableProps: {
29404
+ "data-rfd-droppable-context-id": "",
29405
+ "data-rfd-droppable-id": ""
29406
+ },
29407
+ placeholder: null,
29408
+ innerRef: () => null
29409
+ };
29410
+ var defaultSnapshot = {
29411
+ isDraggingOver: false,
29412
+ draggingOverWith: null,
29413
+ draggingFromThisWith: null,
29414
+ isUsingPlaceholder: false
29415
+ };
29416
+ var DefaultDroppable = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, { children: children(defaultProvided, defaultSnapshot) });
29417
+ var Droppable = (props) => {
29418
+ const { status } = useAppContext();
29419
+ const El = status !== "LOADING" ? import_dnd.Droppable : DefaultDroppable;
29420
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(El, __spreadValues({}, props));
29421
+ };
29422
+
29423
+ // components/Drawer/styles.module.css
29424
+ var styles_default = {
29425
+ Drawer: "styles_Drawer",
29426
+ "DrawerItem-default": "styles_DrawerItem-default",
29427
+ "DrawerItem-draggableWrapper": "styles_DrawerItem-draggableWrapper",
29428
+ DrawerItem: "styles_DrawerItem",
29429
+ "DrawerItem-draggable": "styles_DrawerItem-draggable",
29430
+ "Drawer--isDraggingFrom": "styles_Drawer--isDraggingFrom",
29431
+ "DrawerItem-name": "styles_DrawerItem-name"
29432
+ };
29433
+
29434
+ // components/Draggable/index.tsx
29435
+ init_react_import();
29436
+ var import_dnd2 = require("@measured/dnd");
29437
+ var import_jsx_runtime4 = require("react/jsx-runtime");
29438
+ var defaultProvided2 = {
29439
+ draggableProps: {
29440
+ "data-rfd-draggable-context-id": "",
29441
+ "data-rfd-draggable-id": ""
29442
+ },
29443
+ dragHandleProps: null,
29444
+ innerRef: () => null
29445
+ };
29446
+ var defaultSnapshot2 = {
29447
+ isDragging: false,
29448
+ isDropAnimating: false,
29449
+ isClone: false,
29450
+ dropAnimation: null,
29451
+ draggingOver: null,
29452
+ combineWith: null,
29453
+ combineTargetFor: null,
29454
+ mode: null
29455
+ };
29456
+ var defaultRubric = {
29457
+ draggableId: "",
29458
+ type: "",
29459
+ source: { droppableId: "", index: 0 }
29460
+ };
29461
+ var DefaultDraggable = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: children(defaultProvided2, defaultSnapshot2, defaultRubric) });
29277
29462
  var Draggable = ({
29278
29463
  className,
29279
29464
  children,
@@ -29283,39 +29468,33 @@ var Draggable = ({
29283
29468
  disableAnimations = false,
29284
29469
  isDragDisabled = false
29285
29470
  }) => {
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
- );
29471
+ const { status } = useAppContext();
29472
+ const El = status !== "LOADING" ? import_dnd2.Draggable : DefaultDraggable;
29473
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(El, { draggableId: id, index, isDragDisabled, children: (provided, snapshot) => {
29474
+ var _a;
29475
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
29476
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
29477
+ "div",
29478
+ __spreadProps(__spreadValues(__spreadValues({
29479
+ className: className && className(provided, snapshot),
29480
+ ref: provided.innerRef
29481
+ }, provided.draggableProps), provided.dragHandleProps), {
29482
+ style: __spreadProps(__spreadValues({}, provided.draggableProps.style), {
29483
+ transform: snapshot.isDragging || !disableAnimations ? (_a = provided.draggableProps.style) == null ? void 0 : _a.transform : "translate(0px, 0px)"
29484
+ }),
29485
+ children: children(provided, snapshot)
29486
+ })
29487
+ ),
29488
+ showShadow && snapshot.isDragging && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
29489
+ "div",
29490
+ {
29491
+ className: className && className(provided, snapshot),
29492
+ style: { transform: "none !important" },
29493
+ children: children(provided, snapshot)
29494
+ }
29495
+ )
29496
+ ] });
29497
+ } });
29319
29498
  };
29320
29499
 
29321
29500
  // components/DragIcon/index.tsx
@@ -29345,28 +29524,29 @@ var replace = (list, index, newItem) => {
29345
29524
  return result;
29346
29525
  };
29347
29526
 
29348
- // css-module:/home/runner/work/puck/puck/packages/core/components/DragIcon/styles.module.css#css-module
29349
- init_react_import();
29350
- var styles_module_default2 = { "DragIcon": "_DragIcon_1p5wn_1" };
29527
+ // components/DragIcon/styles.module.css
29528
+ var styles_default2 = {
29529
+ DragIcon: "styles_DragIcon"
29530
+ };
29351
29531
 
29352
29532
  // components/DragIcon/index.tsx
29353
- var import_jsx_runtime3 = require("react/jsx-runtime");
29354
- 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" }) }) });
29533
+ var import_jsx_runtime5 = require("react/jsx-runtime");
29534
+ var getClassName2 = get_class_name_factory_default("DragIcon", styles_default2);
29535
+ 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
29536
 
29357
29537
  // components/Drawer/index.tsx
29358
- var import_react3 = require("react");
29359
- var import_jsx_runtime4 = require("react/jsx-runtime");
29360
- var getClassName3 = get_class_name_factory_default("Drawer", styles_module_default);
29361
- var getClassNameItem = get_class_name_factory_default("DrawerItem", styles_module_default);
29362
- var drawerContext = (0, import_react3.createContext)({
29538
+ var import_react4 = require("react");
29539
+ var import_jsx_runtime6 = require("react/jsx-runtime");
29540
+ var getClassName3 = get_class_name_factory_default("Drawer", styles_default);
29541
+ var getClassNameItem = get_class_name_factory_default("DrawerItem", styles_default);
29542
+ var drawerContext = (0, import_react4.createContext)({
29363
29543
  droppableId: ""
29364
29544
  });
29365
29545
  var DrawerDraggable = ({
29366
29546
  children,
29367
29547
  id,
29368
29548
  index
29369
- }) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
29549
+ }) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
29370
29550
  Draggable,
29371
29551
  {
29372
29552
  id,
@@ -29382,17 +29562,18 @@ var DrawerItem = ({
29382
29562
  name,
29383
29563
  children,
29384
29564
  id,
29565
+ label,
29385
29566
  index
29386
29567
  }) => {
29387
- const ctx = (0, import_react3.useContext)(drawerContext);
29568
+ const ctx = (0, import_react4.useContext)(drawerContext);
29388
29569
  const resolvedId = `${ctx.droppableId}::${id || name}`;
29389
- const CustomInner = (0, import_react3.useMemo)(
29390
- () => children || (({ children: children2, name: name2 }) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: getClassNameItem("default"), children: children2 })),
29570
+ const CustomInner = (0, import_react4.useMemo)(
29571
+ () => children || (({ children: children2, name: name2 }) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: getClassNameItem("default"), children: children2 })),
29391
29572
  [children]
29392
29573
  );
29393
- 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: [
29394
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: getClassNameItem("name"), children: name }),
29395
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: getClassNameItem("icon"), children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(DragIcon, {}) })
29574
+ 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: [
29575
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: getClassNameItem("name"), children: label != null ? label : name }),
29576
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: getClassNameItem("icon"), children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(DragIcon, {}) })
29396
29577
  ] }) }) }) });
29397
29578
  };
29398
29579
  var Drawer = ({
@@ -29400,7 +29581,7 @@ var Drawer = ({
29400
29581
  droppableId = "component-list",
29401
29582
  direction = "vertical"
29402
29583
  }) => {
29403
- 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)(
29584
+ 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)(
29404
29585
  "div",
29405
29586
  __spreadProps(__spreadValues({}, provided.droppableProps), {
29406
29587
  ref: provided.innerRef,
@@ -29409,7 +29590,7 @@ var Drawer = ({
29409
29590
  }),
29410
29591
  children: [
29411
29592
  children,
29412
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { style: { display: "none" }, children: provided.placeholder })
29593
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { style: { display: "none" }, children: provided.placeholder })
29413
29594
  ]
29414
29595
  })
29415
29596
  ) }) });
@@ -29422,19 +29603,32 @@ var import_react9 = require("react");
29422
29603
 
29423
29604
  // components/DraggableComponent/index.tsx
29424
29605
  init_react_import();
29425
- var import_react6 = require("react");
29426
- var import_dnd3 = require("@hello-pangea/dnd");
29606
+ var import_react7 = require("react");
29607
+ var import_dnd3 = require("@measured/dnd");
29427
29608
 
29428
- // css-module:/home/runner/work/puck/puck/packages/core/components/DraggableComponent/styles.module.css#css-module
29429
- init_react_import();
29430
- 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" };
29609
+ // components/DraggableComponent/styles.module.css
29610
+ var styles_default3 = {
29611
+ DraggableComponent: "styles_DraggableComponent",
29612
+ "DraggableComponent--isDragging": "styles_DraggableComponent--isDragging",
29613
+ "DraggableComponent-contents": "styles_DraggableComponent-contents",
29614
+ "DraggableComponent-overlay": "styles_DraggableComponent-overlay",
29615
+ "DraggableComponent-loadingOverlay": "styles_DraggableComponent-loadingOverlay",
29616
+ "DraggableComponent--isLocked": "styles_DraggableComponent--isLocked",
29617
+ "DraggableComponent--forceHover": "styles_DraggableComponent--forceHover",
29618
+ "DraggableComponent--isSelected": "styles_DraggableComponent--isSelected",
29619
+ "DraggableComponent--indicativeHover": "styles_DraggableComponent--indicativeHover",
29620
+ "DraggableComponent-actionsOverlay": "styles_DraggableComponent-actionsOverlay",
29621
+ "DraggableComponent-actions": "styles_DraggableComponent-actions",
29622
+ "DraggableComponent-actionsLabel": "styles_DraggableComponent-actionsLabel",
29623
+ "DraggableComponent-action": "styles_DraggableComponent-action"
29624
+ };
29431
29625
 
29432
29626
  // ../../node_modules/lucide-react/dist/esm/lucide-react.js
29433
29627
  init_react_import();
29434
29628
 
29435
29629
  // ../../node_modules/lucide-react/dist/esm/createLucideIcon.js
29436
29630
  init_react_import();
29437
- var import_react4 = require("react");
29631
+ var import_react5 = require("react");
29438
29632
 
29439
29633
  // ../../node_modules/lucide-react/dist/esm/defaultAttributes.js
29440
29634
  init_react_import();
@@ -29453,10 +29647,10 @@ var defaultAttributes = {
29453
29647
  // ../../node_modules/lucide-react/dist/esm/createLucideIcon.js
29454
29648
  var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase().trim();
29455
29649
  var createLucideIcon = (iconName, iconNode) => {
29456
- const Component = (0, import_react4.forwardRef)(
29650
+ const Component = (0, import_react5.forwardRef)(
29457
29651
  (_a, ref) => {
29458
29652
  var _b = _a, { color = "currentColor", size = 24, strokeWidth = 2, absoluteStrokeWidth, className = "", children } = _b, rest = __objRest(_b, ["color", "size", "strokeWidth", "absoluteStrokeWidth", "className", "children"]);
29459
- return (0, import_react4.createElement)(
29653
+ return (0, import_react5.createElement)(
29460
29654
  "svg",
29461
29655
  __spreadValues(__spreadProps(__spreadValues({
29462
29656
  ref
@@ -29468,7 +29662,7 @@ var createLucideIcon = (iconName, iconNode) => {
29468
29662
  className: ["lucide", `lucide-${toKebabCase(iconName)}`, className].join(" ")
29469
29663
  }), rest),
29470
29664
  [
29471
- ...iconNode.map(([tag, attrs]) => (0, import_react4.createElement)(tag, attrs)),
29665
+ ...iconNode.map(([tag, attrs]) => (0, import_react5.createElement)(tag, attrs)),
29472
29666
  ...Array.isArray(children) ? children : [children]
29473
29667
  ]
29474
29668
  );
@@ -29579,6 +29773,14 @@ var Lock = createLucideIcon("Lock", [
29579
29773
  ["path", { d: "M7 11V7a5 5 0 0 1 10 0v4", key: "fwvmzm" }]
29580
29774
  ]);
29581
29775
 
29776
+ // ../../node_modules/lucide-react/dist/esm/icons/monitor.js
29777
+ init_react_import();
29778
+ var Monitor = createLucideIcon("Monitor", [
29779
+ ["rect", { width: "20", height: "14", x: "2", y: "3", rx: "2", key: "48i651" }],
29780
+ ["line", { x1: "8", x2: "16", y1: "21", y2: "21", key: "1svkeh" }],
29781
+ ["line", { x1: "12", x2: "12", y1: "17", y2: "21", key: "vw1qmm" }]
29782
+ ]);
29783
+
29582
29784
  // ../../node_modules/lucide-react/dist/esm/icons/more-vertical.js
29583
29785
  init_react_import();
29584
29786
  var MoreVertical = createLucideIcon("MoreVertical", [
@@ -29629,6 +29831,20 @@ var SlidersHorizontal = createLucideIcon("SlidersHorizontal", [
29629
29831
  ["line", { x1: "16", x2: "16", y1: "18", y2: "22", key: "1lctlv" }]
29630
29832
  ]);
29631
29833
 
29834
+ // ../../node_modules/lucide-react/dist/esm/icons/smartphone.js
29835
+ init_react_import();
29836
+ var Smartphone = createLucideIcon("Smartphone", [
29837
+ ["rect", { width: "14", height: "20", x: "5", y: "2", rx: "2", ry: "2", key: "1yt0o3" }],
29838
+ ["path", { d: "M12 18h.01", key: "mhygvu" }]
29839
+ ]);
29840
+
29841
+ // ../../node_modules/lucide-react/dist/esm/icons/tablet.js
29842
+ init_react_import();
29843
+ var Tablet = createLucideIcon("Tablet", [
29844
+ ["rect", { width: "16", height: "20", x: "4", y: "2", rx: "2", ry: "2", key: "76otgf" }],
29845
+ ["line", { x1: "12", x2: "12.01", y1: "18", y2: "18", key: "1dp563" }]
29846
+ ]);
29847
+
29632
29848
  // ../../node_modules/lucide-react/dist/esm/icons/trash.js
29633
29849
  init_react_import();
29634
29850
  var Trash = createLucideIcon("Trash", [
@@ -29652,12 +29868,29 @@ var Unlock = createLucideIcon("Unlock", [
29652
29868
  ["path", { d: "M7 11V7a5 5 0 0 1 9.9-1", key: "1mm8w8" }]
29653
29869
  ]);
29654
29870
 
29871
+ // ../../node_modules/lucide-react/dist/esm/icons/zoom-in.js
29872
+ init_react_import();
29873
+ var ZoomIn = createLucideIcon("ZoomIn", [
29874
+ ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }],
29875
+ ["line", { x1: "21", x2: "16.65", y1: "21", y2: "16.65", key: "13gj7c" }],
29876
+ ["line", { x1: "11", x2: "11", y1: "8", y2: "14", key: "1vmskp" }],
29877
+ ["line", { x1: "8", x2: "14", y1: "11", y2: "11", key: "durymu" }]
29878
+ ]);
29879
+
29880
+ // ../../node_modules/lucide-react/dist/esm/icons/zoom-out.js
29881
+ init_react_import();
29882
+ var ZoomOut = createLucideIcon("ZoomOut", [
29883
+ ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }],
29884
+ ["line", { x1: "21", x2: "16.65", y1: "21", y2: "16.65", key: "13gj7c" }],
29885
+ ["line", { x1: "8", x2: "14", y1: "11", y2: "11", key: "durymu" }]
29886
+ ]);
29887
+
29655
29888
  // lib/use-modifier-held.ts
29656
29889
  init_react_import();
29657
- var import_react5 = require("react");
29890
+ var import_react6 = require("react");
29658
29891
  var useModifierHeld = (modifier) => {
29659
- const [modifierHeld, setModifierHeld] = (0, import_react5.useState)(false);
29660
- (0, import_react5.useEffect)(() => {
29892
+ const [modifierHeld, setModifierHeld] = (0, import_react6.useState)(false);
29893
+ (0, import_react6.useEffect)(() => {
29661
29894
  function downHandler({ key }) {
29662
29895
  if (key === modifier) {
29663
29896
  setModifierHeld(true);
@@ -29680,8 +29913,12 @@ var useModifierHeld = (modifier) => {
29680
29913
 
29681
29914
  // components/DraggableComponent/index.tsx
29682
29915
  var import_react_spinners2 = require("react-spinners");
29683
- var import_jsx_runtime5 = require("react/jsx-runtime");
29684
- var getClassName4 = get_class_name_factory_default("DraggableComponent", styles_module_default3);
29916
+ var import_jsx_runtime7 = require("react/jsx-runtime");
29917
+ var getClassName4 = get_class_name_factory_default("DraggableComponent", styles_default3);
29918
+ var space = 8;
29919
+ var actionsOverlayTop = space * 6.5;
29920
+ var actionsTop = -(actionsOverlayTop - 8);
29921
+ var actionsRight = space;
29685
29922
  var DraggableComponent = ({
29686
29923
  children,
29687
29924
  id,
@@ -29704,91 +29941,87 @@ var DraggableComponent = ({
29704
29941
  indicativeHover = false,
29705
29942
  style
29706
29943
  }) => {
29944
+ const { zoomConfig } = useAppContext();
29707
29945
  const isModifierHeld = useModifierHeld("Alt");
29708
- (0, import_react6.useEffect)(onMount, []);
29709
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
29710
- import_dnd3.Draggable,
29711
- {
29712
- draggableId: id,
29713
- index,
29714
- isDragDisabled,
29715
- children: (provided, snapshot) => /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
29716
- "div",
29717
- __spreadProps(__spreadValues(__spreadValues({
29718
- ref: provided.innerRef
29719
- }, provided.draggableProps), provided.dragHandleProps), {
29720
- className: getClassName4({
29721
- isSelected,
29722
- isModifierHeld,
29723
- isDragging: snapshot.isDragging,
29724
- isLocked,
29725
- forceHover,
29726
- indicativeHover
29727
- }),
29728
- style: __spreadProps(__spreadValues(__spreadValues({}, style), provided.draggableProps.style), {
29729
- cursor: isModifierHeld ? "initial" : "grab"
29730
- }),
29731
- onMouseOver,
29732
- onMouseOut,
29733
- onMouseDown,
29734
- onMouseUp,
29735
- onClick,
29736
- children: [
29737
- debug,
29738
- 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" }) }),
29739
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: getClassName4("overlay"), children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: getClassName4("actions"), children: [
29740
- label && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: getClassName4("actionsLabel"), children: label }),
29741
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("button", { className: getClassName4("action"), onClick: onDuplicate, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Copy, { size: 16 }) }),
29742
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("button", { className: getClassName4("action"), onClick: onDelete, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Trash, { size: 16 }) })
29743
- ] }) }),
29744
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: getClassName4("contents"), children })
29745
- ]
29746
- })
29747
- )
29748
- },
29749
- id
29750
- );
29751
- };
29752
-
29753
- // components/DropZone/index.tsx
29754
- var import_dnd4 = require("@hello-pangea/dnd");
29755
-
29756
- // lib/get-item.ts
29757
- init_react_import();
29758
-
29759
- // lib/root-droppable-id.ts
29760
- init_react_import();
29761
- var rootDroppableId = "default-zone";
29762
-
29763
- // lib/setup-zone.ts
29764
- init_react_import();
29765
- var setupZone = (data, zoneKey) => {
29766
- if (zoneKey === rootDroppableId) {
29767
- return data;
29768
- }
29769
- const newData = __spreadValues({}, data);
29770
- newData.zones = data.zones || {};
29771
- newData.zones[zoneKey] = newData.zones[zoneKey] || [];
29772
- return newData;
29946
+ const { status } = useAppContext();
29947
+ const El = status !== "LOADING" ? import_dnd3.Draggable : DefaultDraggable;
29948
+ (0, import_react7.useEffect)(onMount, []);
29949
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(El, { draggableId: id, index, isDragDisabled, children: (provided, snapshot) => /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
29950
+ "div",
29951
+ __spreadProps(__spreadValues(__spreadValues({
29952
+ ref: provided.innerRef
29953
+ }, provided.draggableProps), provided.dragHandleProps), {
29954
+ className: getClassName4({
29955
+ isSelected,
29956
+ isModifierHeld,
29957
+ isDragging: snapshot.isDragging,
29958
+ isLocked,
29959
+ forceHover,
29960
+ indicativeHover
29961
+ }),
29962
+ style: __spreadProps(__spreadValues(__spreadValues({}, style), provided.draggableProps.style), {
29963
+ cursor: isModifierHeld ? "initial" : "grab"
29964
+ }),
29965
+ onMouseOver,
29966
+ onMouseOut,
29967
+ onMouseDown,
29968
+ onMouseUp,
29969
+ onClick,
29970
+ children: [
29971
+ debug,
29972
+ 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" }) }),
29973
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
29974
+ "div",
29975
+ {
29976
+ className: getClassName4("actionsOverlay"),
29977
+ style: {
29978
+ top: actionsOverlayTop / zoomConfig.zoom
29979
+ },
29980
+ children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
29981
+ "div",
29982
+ {
29983
+ className: getClassName4("actions"),
29984
+ style: {
29985
+ transform: `scale(${1 / zoomConfig.zoom}`,
29986
+ top: actionsTop / zoomConfig.zoom,
29987
+ right: actionsRight / zoomConfig.zoom
29988
+ },
29989
+ children: [
29990
+ label && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: getClassName4("actionsLabel"), children: label }),
29991
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("button", { className: getClassName4("action"), onClick: onDuplicate, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Copy, { size: 16 }) }),
29992
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("button", { className: getClassName4("action"), onClick: onDelete, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Trash, { size: 16 }) })
29993
+ ]
29994
+ }
29995
+ )
29996
+ }
29997
+ ),
29998
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: getClassName4("overlay") }),
29999
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: getClassName4("contents"), children })
30000
+ ]
30001
+ })
30002
+ ) }, id);
29773
30003
  };
29774
30004
 
29775
- // lib/get-item.ts
29776
- var getItem = (selector, data, dynamicProps = {}) => {
29777
- if (!selector.zone || selector.zone === rootDroppableId) {
29778
- const item2 = data.content[selector.index];
29779
- return __spreadProps(__spreadValues({}, item2), { props: dynamicProps[item2.props.id] || item2.props });
29780
- }
29781
- const item = setupZone(data, selector.zone).zones[selector.zone][selector.index];
29782
- return __spreadProps(__spreadValues({}, item), { props: dynamicProps[item.props.id] || item.props });
30005
+ // components/DropZone/styles.module.css
30006
+ var styles_default4 = {
30007
+ DropZone: "styles_DropZone",
30008
+ "DropZone-content": "styles_DropZone-content",
30009
+ "DropZone--userIsDragging": "styles_DropZone--userIsDragging",
30010
+ "DropZone--draggingOverArea": "styles_DropZone--draggingOverArea",
30011
+ "DropZone--draggingNewComponent": "styles_DropZone--draggingNewComponent",
30012
+ "DropZone--isAreaSelected": "styles_DropZone--isAreaSelected",
30013
+ "DropZone--hoveringOverArea": "styles_DropZone--hoveringOverArea",
30014
+ "DropZone--isDisabled": "styles_DropZone--isDisabled",
30015
+ "DropZone--isRootZone": "styles_DropZone--isRootZone",
30016
+ "DropZone--hasChildren": "styles_DropZone--hasChildren",
30017
+ "DropZone--isDestination": "styles_DropZone--isDestination",
30018
+ "DropZone-item": "styles_DropZone-item",
30019
+ "DropZone-hitbox": "styles_DropZone-hitbox"
29783
30020
  };
29784
30021
 
29785
- // css-module:/home/runner/work/puck/puck/packages/core/components/DropZone/styles.module.css#css-module
29786
- init_react_import();
29787
- 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" };
29788
-
29789
30022
  // components/DropZone/context.tsx
29790
30023
  init_react_import();
29791
- var import_react7 = require("react");
30024
+ var import_react8 = require("react");
29792
30025
  var import_use_debounce = require("use-debounce");
29793
30026
 
29794
30027
  // lib/get-zone-id.ts
@@ -29804,30 +30037,30 @@ var getZoneId = (zoneCompound) => {
29804
30037
  };
29805
30038
 
29806
30039
  // components/DropZone/context.tsx
29807
- var import_jsx_runtime6 = require("react/jsx-runtime");
29808
- var dropZoneContext = (0, import_react7.createContext)(null);
30040
+ var import_jsx_runtime8 = require("react/jsx-runtime");
30041
+ var dropZoneContext = (0, import_react8.createContext)(null);
29809
30042
  var DropZoneProvider = ({
29810
30043
  children,
29811
30044
  value
29812
30045
  }) => {
29813
- const [hoveringArea, setHoveringArea] = (0, import_react7.useState)(null);
29814
- const [hoveringZone, setHoveringZone] = (0, import_react7.useState)(
30046
+ const [hoveringArea, setHoveringArea] = (0, import_react8.useState)(null);
30047
+ const [hoveringZone, setHoveringZone] = (0, import_react8.useState)(
29815
30048
  rootDroppableId
29816
30049
  );
29817
- const [hoveringComponent, setHoveringComponent] = (0, import_react7.useState)();
30050
+ const [hoveringComponent, setHoveringComponent] = (0, import_react8.useState)();
29818
30051
  const [hoveringAreaDb] = (0, import_use_debounce.useDebounce)(hoveringArea, 75, { leading: false });
29819
- const [areasWithZones, setAreasWithZones] = (0, import_react7.useState)(
30052
+ const [areasWithZones, setAreasWithZones] = (0, import_react8.useState)(
29820
30053
  {}
29821
30054
  );
29822
- const [activeZones, setActiveZones] = (0, import_react7.useState)({});
30055
+ const [activeZones, setActiveZones] = (0, import_react8.useState)({});
29823
30056
  const { dispatch = null } = value ? value : {};
29824
- const registerZoneArea = (0, import_react7.useCallback)(
30057
+ const registerZoneArea = (0, import_react8.useCallback)(
29825
30058
  (area) => {
29826
30059
  setAreasWithZones((latest) => __spreadProps(__spreadValues({}, latest), { [area]: true }));
29827
30060
  },
29828
30061
  [setAreasWithZones]
29829
30062
  );
29830
- const registerZone = (0, import_react7.useCallback)(
30063
+ const registerZone = (0, import_react8.useCallback)(
29831
30064
  (zoneCompound) => {
29832
30065
  if (!dispatch) {
29833
30066
  return;
@@ -29840,7 +30073,7 @@ var DropZoneProvider = ({
29840
30073
  },
29841
30074
  [setActiveZones, dispatch]
29842
30075
  );
29843
- const unregisterZone = (0, import_react7.useCallback)(
30076
+ const unregisterZone = (0, import_react8.useCallback)(
29844
30077
  (zoneCompound) => {
29845
30078
  if (!dispatch) {
29846
30079
  return;
@@ -29855,8 +30088,8 @@ var DropZoneProvider = ({
29855
30088
  },
29856
30089
  [setActiveZones, dispatch]
29857
30090
  );
29858
- const [pathData, setPathData] = (0, import_react7.useState)();
29859
- const registerPath = (0, import_react7.useCallback)(
30091
+ const [pathData, setPathData] = (0, import_react8.useState)();
30092
+ const registerPath = (0, import_react8.useCallback)(
29860
30093
  (selector) => {
29861
30094
  if (!(value == null ? void 0 : value.data)) {
29862
30095
  return;
@@ -29881,7 +30114,8 @@ var DropZoneProvider = ({
29881
30114
  },
29882
30115
  [value, setPathData]
29883
30116
  );
29884
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_jsx_runtime6.Fragment, { children: value && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
30117
+ const [zoneWillDrag, setZoneWillDrag] = (0, import_react8.useState)("");
30118
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_jsx_runtime8.Fragment, { children: value && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
29885
30119
  dropZoneContext.Provider,
29886
30120
  {
29887
30121
  value: __spreadValues({
@@ -29897,58 +30131,18 @@ var DropZoneProvider = ({
29897
30131
  unregisterZone,
29898
30132
  activeZones,
29899
30133
  registerPath,
29900
- pathData
30134
+ pathData,
30135
+ zoneWillDrag,
30136
+ setZoneWillDrag
29901
30137
  }, value),
29902
30138
  children
29903
30139
  }
29904
30140
  ) });
29905
30141
  };
29906
30142
 
29907
- // components/Puck/context.tsx
29908
- init_react_import();
29909
- var import_react8 = require("react");
29910
- var defaultAppState = {
29911
- data: { content: [], root: { props: { title: "" } } },
29912
- ui: {
29913
- leftSideBarVisible: true,
29914
- rightSideBarVisible: true,
29915
- arrayState: {},
29916
- itemSelector: null,
29917
- componentList: {},
29918
- isDragging: false
29919
- }
29920
- };
29921
- var appContext = (0, import_react8.createContext)({
29922
- state: defaultAppState,
29923
- dispatch: () => null,
29924
- config: { components: {} },
29925
- componentState: {},
29926
- resolveData: () => {
29927
- },
29928
- plugins: [],
29929
- overrides: {},
29930
- history: {}
29931
- });
29932
- var AppProvider = appContext.Provider;
29933
- function useAppContext() {
29934
- const mainContext = (0, import_react8.useContext)(appContext);
29935
- const selectedItem = mainContext.state.ui.itemSelector ? getItem(mainContext.state.ui.itemSelector, mainContext.state.data) : void 0;
29936
- return __spreadProps(__spreadValues({}, mainContext), {
29937
- // Helpers
29938
- selectedItem,
29939
- setUi: (ui, recordHistory) => {
29940
- return mainContext.dispatch({
29941
- type: "setUi",
29942
- ui,
29943
- recordHistory
29944
- });
29945
- }
29946
- });
29947
- }
29948
-
29949
30143
  // components/DropZone/index.tsx
29950
- var import_jsx_runtime7 = require("react/jsx-runtime");
29951
- var getClassName5 = get_class_name_factory_default("DropZone", styles_module_default4);
30144
+ var import_jsx_runtime9 = require("react/jsx-runtime");
30145
+ var getClassName5 = get_class_name_factory_default("DropZone", styles_default4);
29952
30146
  function DropZoneEdit({ zone, allow, disallow, style }) {
29953
30147
  var _a;
29954
30148
  const appContext2 = useAppContext();
@@ -29966,7 +30160,8 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
29966
30160
  registerZoneArea,
29967
30161
  areasWithZones,
29968
30162
  hoveringComponent,
29969
- disableZoom = false
30163
+ zoneWillDrag,
30164
+ setZoneWillDrag = () => null
29970
30165
  } = ctx || {};
29971
30166
  let content = data.content || [];
29972
30167
  let zoneCompound = rootDroppableId;
@@ -29996,12 +30191,12 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
29996
30191
  const draggedDestinationId = draggedItem && ((_a = draggedItem.destination) == null ? void 0 : _a.droppableId);
29997
30192
  const [zoneArea] = getZoneId(zoneCompound);
29998
30193
  const [draggedSourceArea] = getZoneId(draggedSourceId);
29999
- const [userWillDrag, setUserWillDrag] = (0, import_react9.useState)(false);
30194
+ const userWillDrag = zoneWillDrag === zone;
30000
30195
  const userIsDragging = !!draggedItem;
30001
30196
  const draggingOverArea = userIsDragging && zoneArea === draggedSourceArea;
30002
30197
  const draggingNewComponent = draggedSourceId == null ? void 0 : draggedSourceId.startsWith("component-list");
30003
30198
  if (!(ctx == null ? void 0 : ctx.config) || !ctx.setHoveringArea || !ctx.setHoveringZone || !ctx.setHoveringComponent || !ctx.setItemSelector || !ctx.registerPath || !ctx.dispatch) {
30004
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { children: "DropZone requires context to work." });
30199
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { children: "DropZone requires context to work." });
30005
30200
  }
30006
30201
  const {
30007
30202
  hoveringArea = "root",
@@ -30038,7 +30233,7 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30038
30233
  }
30039
30234
  const selectedItem = itemSelector ? getItem(itemSelector, data) : null;
30040
30235
  const isAreaSelected = selectedItem && zoneArea === selectedItem.props.id;
30041
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
30236
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
30042
30237
  "div",
30043
30238
  {
30044
30239
  className: getClassName5({
@@ -30050,17 +30245,19 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30050
30245
  isDestination: draggedDestinationId === zoneCompound,
30051
30246
  isDisabled: !isEnabled,
30052
30247
  isAreaSelected,
30053
- hasChildren: content.length > 0,
30054
- zoomEnabled: !disableZoom
30248
+ hasChildren: content.length > 0
30055
30249
  }),
30056
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
30057
- import_dnd4.Droppable,
30250
+ onMouseUp: () => {
30251
+ setZoneWillDrag("");
30252
+ },
30253
+ children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
30254
+ Droppable,
30058
30255
  {
30059
30256
  droppableId: zoneCompound,
30060
30257
  direction: "vertical",
30061
30258
  isDropDisabled: !isEnabled,
30062
30259
  children: (provided, snapshot) => {
30063
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
30260
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
30064
30261
  "div",
30065
30262
  __spreadProps(__spreadValues({}, (provided || { droppableProps: {} }).droppableProps), {
30066
30263
  className: getClassName5("content"),
@@ -30074,7 +30271,7 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30074
30271
  },
30075
30272
  children: [
30076
30273
  content.map((item, i) => {
30077
- var _a2, _b;
30274
+ var _a2, _b, _c;
30078
30275
  const componentId = item.props.id;
30079
30276
  const defaultedProps = __spreadProps(__spreadValues(__spreadValues({}, (_a2 = config.components[item.type]) == null ? void 0 : _a2.defaultProps), item.props), {
30080
30277
  puck: { renderDropZone: DropZone },
@@ -30085,33 +30282,33 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30085
30282
  "draggable-"
30086
30283
  )[1] === componentId;
30087
30284
  const containsZone = areasWithZones ? areasWithZones[componentId] : false;
30088
- const Render2 = config.components[item.type] ? config.components[item.type].render : () => /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { style: { padding: 48, textAlign: "center" }, children: [
30285
+ const Render2 = config.components[item.type] ? config.components[item.type].render : () => /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { style: { padding: 48, textAlign: "center" }, children: [
30089
30286
  "No configuration for ",
30090
30287
  item.type
30091
30288
  ] });
30092
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
30289
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
30093
30290
  "div",
30094
30291
  {
30095
30292
  className: getClassName5("item"),
30096
30293
  style: { zIndex: isDragging ? 1 : void 0 },
30097
30294
  children: [
30098
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
30295
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
30099
30296
  DropZoneProvider,
30100
30297
  {
30101
30298
  value: __spreadProps(__spreadValues({}, ctx), {
30102
30299
  areaId: componentId
30103
30300
  }),
30104
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
30301
+ children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
30105
30302
  DraggableComponent,
30106
30303
  {
30107
- label: item.type.toString(),
30304
+ label: (_b = config.components[item.type]["label"]) != null ? _b : item.type.toString(),
30108
30305
  id: `draggable-${componentId}`,
30109
30306
  index: i,
30110
30307
  isSelected,
30111
30308
  isLocked: userIsDragging,
30112
30309
  forceHover: hoveringComponent === componentId && !userIsDragging,
30113
30310
  indicativeHover: userIsDragging && containsZone && hoveringArea === componentId,
30114
- isLoading: (_b = appContext2.componentState[componentId]) == null ? void 0 : _b.loading,
30311
+ isLoading: (_c = appContext2.componentState[componentId]) == null ? void 0 : _c.loading,
30115
30312
  onMount: () => {
30116
30313
  ctx.registerPath({
30117
30314
  index: i,
@@ -30127,11 +30324,7 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30127
30324
  },
30128
30325
  onMouseDown: (e) => {
30129
30326
  e.stopPropagation();
30130
- setUserWillDrag(true);
30131
- },
30132
- onMouseUp: (e) => {
30133
- e.stopPropagation();
30134
- setUserWillDrag(false);
30327
+ setZoneWillDrag(zone);
30135
30328
  },
30136
30329
  onMouseOver: (e) => {
30137
30330
  e.stopPropagation();
@@ -30172,12 +30365,12 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30172
30365
  style: {
30173
30366
  pointerEvents: userIsDragging && draggingNewComponent ? "all" : void 0
30174
30367
  },
30175
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: getClassName5("renderWrapper"), children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Render2, __spreadValues({}, defaultedProps)) })
30368
+ children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: getClassName5("renderWrapper"), children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Render2, __spreadValues({}, defaultedProps)) })
30176
30369
  }
30177
30370
  )
30178
30371
  }
30179
30372
  ),
30180
- userIsDragging && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
30373
+ userIsDragging && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
30181
30374
  "div",
30182
30375
  {
30183
30376
  className: getClassName5("hitbox"),
@@ -30194,7 +30387,7 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30194
30387
  );
30195
30388
  }),
30196
30389
  provided == null ? void 0 : provided.placeholder,
30197
- (snapshot == null ? void 0 : snapshot.isDraggingOver) && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
30390
+ (snapshot == null ? void 0 : snapshot.isDraggingOver) && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
30198
30391
  "div",
30199
30392
  {
30200
30393
  "data-puck-placeholder": true,
@@ -30226,14 +30419,14 @@ function DropZoneRender({ zone }) {
30226
30419
  zoneCompound = `${areaId}:${zone}`;
30227
30420
  content = setupZone(data, zoneCompound).zones[zoneCompound];
30228
30421
  }
30229
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_jsx_runtime7.Fragment, { children: content.map((item) => {
30422
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_jsx_runtime9.Fragment, { children: content.map((item) => {
30230
30423
  const Component = config.components[item.type];
30231
30424
  if (Component) {
30232
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
30425
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
30233
30426
  DropZoneProvider,
30234
30427
  {
30235
30428
  value: { data, config, areaId: item.props.id },
30236
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
30429
+ children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
30237
30430
  Component.render,
30238
30431
  __spreadProps(__spreadValues({}, item.props), {
30239
30432
  puck: { renderDropZone: DropZone }
@@ -30249,9 +30442,9 @@ function DropZoneRender({ zone }) {
30249
30442
  function DropZone(props) {
30250
30443
  const ctx = (0, import_react9.useContext)(dropZoneContext);
30251
30444
  if ((ctx == null ? void 0 : ctx.mode) === "edit") {
30252
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(DropZoneEdit, __spreadValues({}, props));
30445
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(DropZoneEdit, __spreadValues({}, props));
30253
30446
  }
30254
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(DropZoneRender, __spreadValues({}, props));
30447
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(DropZoneRender, __spreadValues({}, props));
30255
30448
  }
30256
30449
 
30257
30450
  // components/IconButton/index.ts
@@ -30261,14 +30454,17 @@ init_react_import();
30261
30454
  init_react_import();
30262
30455
  var import_react10 = require("react");
30263
30456
 
30264
- // css-module:/home/runner/work/puck/puck/packages/core/components/IconButton/IconButton.module.css#css-module
30265
- init_react_import();
30266
- var IconButton_module_default = { "IconButton": "_IconButton_1xqlg_1", "IconButton-title": "_IconButton-title_1xqlg_33" };
30457
+ // components/IconButton/IconButton.module.css
30458
+ var IconButton_default = {
30459
+ IconButton: "IconButton_IconButton",
30460
+ "IconButton--disabled": "IconButton_IconButton--disabled",
30461
+ "IconButton-title": "IconButton_IconButton-title"
30462
+ };
30267
30463
 
30268
30464
  // components/IconButton/IconButton.tsx
30269
30465
  var import_react_spinners3 = require("react-spinners");
30270
- var import_jsx_runtime8 = require("react/jsx-runtime");
30271
- var getClassName6 = get_class_name_factory_default("IconButton", IconButton_module_default);
30466
+ var import_jsx_runtime10 = require("react/jsx-runtime");
30467
+ var getClassName6 = get_class_name_factory_default("IconButton", IconButton_default);
30272
30468
  var IconButton = ({
30273
30469
  children,
30274
30470
  href,
@@ -30283,7 +30479,7 @@ var IconButton = ({
30283
30479
  }) => {
30284
30480
  const [loading, setLoading] = (0, import_react10.useState)(false);
30285
30481
  const ElementType = href ? "a" : "button";
30286
- const el = /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
30482
+ const el = /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
30287
30483
  ElementType,
30288
30484
  {
30289
30485
  className: getClassName6({
@@ -30308,11 +30504,11 @@ var IconButton = ({
30308
30504
  href,
30309
30505
  title,
30310
30506
  children: [
30311
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: getClassName6("title"), children: title }),
30507
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: getClassName6("title"), children: title }),
30312
30508
  children,
30313
- loading && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
30509
+ loading && /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_jsx_runtime10.Fragment, { children: [
30314
30510
  "\xA0\xA0",
30315
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_spinners3.ClipLoader, { "aria-label": "Loading", color: "inherit", size: "14px" })
30511
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_spinners3.ClipLoader, { "aria-label": "Loading", color: "inherit", size: "14px" })
30316
30512
  ] })
30317
30513
  ]
30318
30514
  }
@@ -30322,12 +30518,23 @@ var IconButton = ({
30322
30518
 
30323
30519
  // components/Puck/index.tsx
30324
30520
  init_react_import();
30325
- var import_react26 = require("react");
30326
- var import_dnd7 = require("@hello-pangea/dnd");
30521
+ var import_react28 = require("react");
30327
30522
 
30328
30523
  // lib/use-placeholder-style.ts
30329
30524
  init_react_import();
30330
30525
  var import_react11 = require("react");
30526
+
30527
+ // lib/get-frame.ts
30528
+ init_react_import();
30529
+ var getFrame = () => {
30530
+ let frame = document.querySelector("#preview-frame");
30531
+ if ((frame == null ? void 0 : frame.tagName) === "IFRAME") {
30532
+ frame = frame.contentDocument;
30533
+ }
30534
+ return frame;
30535
+ };
30536
+
30537
+ // lib/use-placeholder-style.ts
30331
30538
  var usePlaceholderStyle = () => {
30332
30539
  const queryAttr = "data-rfd-drag-handle-draggable-id";
30333
30540
  const [placeholderStyle, setPlaceholderStyle] = (0, import_react11.useState)();
@@ -30337,11 +30544,12 @@ var usePlaceholderStyle = () => {
30337
30544
  const destinationIndex = (draggedItem.destination || draggedItem.source).index;
30338
30545
  const droppableId = (draggedItem.destination || draggedItem.source).droppableId;
30339
30546
  const domQuery = `[${queryAttr}='${draggableId}']`;
30340
- const draggedDOM = document.querySelector(domQuery);
30547
+ const frame = getFrame();
30548
+ const draggedDOM = frame == null ? void 0 : frame.querySelector(domQuery);
30341
30549
  if (!draggedDOM) {
30342
30550
  return;
30343
30551
  }
30344
- const targetListElement = document.querySelector(
30552
+ const targetListElement = frame == null ? void 0 : frame.querySelector(
30345
30553
  `[data-rfd-droppable-id='${droppableId}']`
30346
30554
  );
30347
30555
  const { clientHeight } = draggedDOM;
@@ -30376,23 +30584,42 @@ var usePlaceholderStyle = () => {
30376
30584
  // components/SidebarSection/index.tsx
30377
30585
  init_react_import();
30378
30586
 
30379
- // css-module:/home/runner/work/puck/puck/packages/core/components/SidebarSection/styles.module.css#css-module
30380
- init_react_import();
30381
- var styles_module_default5 = { "SidebarSection": "_SidebarSection_125qe_1", "SidebarSection-title": "_SidebarSection-title_125qe_12", "SidebarSection--noBorderTop": "_SidebarSection--noBorderTop_125qe_20", "SidebarSection-content": "_SidebarSection-content_125qe_24", "SidebarSection--noPadding": "_SidebarSection--noPadding_125qe_28", "SidebarSection-breadcrumbLabel": "_SidebarSection-breadcrumbLabel_125qe_41", "SidebarSection-breadcrumbs": "_SidebarSection-breadcrumbs_125qe_70", "SidebarSection-breadcrumb": "_SidebarSection-breadcrumb_125qe_41", "SidebarSection-heading": "_SidebarSection-heading_125qe_82", "SidebarSection-loadingOverlay": "_SidebarSection-loadingOverlay_125qe_86" };
30587
+ // components/SidebarSection/styles.module.css
30588
+ var styles_default5 = {
30589
+ SidebarSection: "styles_SidebarSection",
30590
+ "SidebarSection-title": "styles_SidebarSection-title",
30591
+ "SidebarSection--noBorderTop": "styles_SidebarSection--noBorderTop",
30592
+ "SidebarSection-content": "styles_SidebarSection-content",
30593
+ "SidebarSection--noPadding": "styles_SidebarSection--noPadding",
30594
+ "SidebarSection-breadcrumbLabel": "styles_SidebarSection-breadcrumbLabel",
30595
+ "SidebarSection-breadcrumbs": "styles_SidebarSection-breadcrumbs",
30596
+ "SidebarSection-breadcrumb": "styles_SidebarSection-breadcrumb",
30597
+ "SidebarSection-heading": "styles_SidebarSection-heading",
30598
+ "SidebarSection-loadingOverlay": "styles_SidebarSection-loadingOverlay"
30599
+ };
30382
30600
 
30383
30601
  // components/Heading/index.tsx
30384
30602
  init_react_import();
30385
30603
 
30386
- // css-module:/home/runner/work/puck/puck/packages/core/components/Heading/styles.module.css#css-module
30387
- init_react_import();
30388
- 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" };
30604
+ // components/Heading/styles.module.css
30605
+ var styles_default6 = {
30606
+ Heading: "styles_Heading",
30607
+ "Heading--xxxxl": "styles_Heading--xxxxl",
30608
+ "Heading--xxxl": "styles_Heading--xxxl",
30609
+ "Heading--xxl": "styles_Heading--xxl",
30610
+ "Heading--xl": "styles_Heading--xl",
30611
+ "Heading--l": "styles_Heading--l",
30612
+ "Heading--m": "styles_Heading--m",
30613
+ "Heading--s": "styles_Heading--s",
30614
+ "Heading--xs": "styles_Heading--xs"
30615
+ };
30389
30616
 
30390
30617
  // components/Heading/index.tsx
30391
- var import_jsx_runtime9 = require("react/jsx-runtime");
30392
- var getClassName7 = get_class_name_factory_default("Heading", styles_module_default6);
30618
+ var import_jsx_runtime11 = require("react/jsx-runtime");
30619
+ var getClassName7 = get_class_name_factory_default("Heading", styles_default6);
30393
30620
  var Heading = ({ children, rank, size = "m" }) => {
30394
30621
  const Tag = rank ? `h${rank}` : "span";
30395
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
30622
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
30396
30623
  Tag,
30397
30624
  {
30398
30625
  className: getClassName7({
@@ -30471,8 +30698,8 @@ var useBreadcrumbs = (renderCount) => {
30471
30698
 
30472
30699
  // components/SidebarSection/index.tsx
30473
30700
  var import_react_spinners4 = require("react-spinners");
30474
- var import_jsx_runtime10 = require("react/jsx-runtime");
30475
- var getClassName8 = get_class_name_factory_default("SidebarSection", styles_module_default5);
30701
+ var import_jsx_runtime12 = require("react/jsx-runtime");
30702
+ var getClassName8 = get_class_name_factory_default("SidebarSection", styles_default5);
30476
30703
  var SidebarSection = ({
30477
30704
  children,
30478
30705
  title,
@@ -30484,15 +30711,15 @@ var SidebarSection = ({
30484
30711
  }) => {
30485
30712
  const { setUi } = useAppContext();
30486
30713
  const breadcrumbs = useBreadcrumbs(1);
30487
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
30714
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
30488
30715
  "div",
30489
30716
  {
30490
30717
  className: getClassName8({ noBorderTop, noPadding }),
30491
30718
  style: { background },
30492
30719
  children: [
30493
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: getClassName8("title"), children: /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: getClassName8("breadcrumbs"), children: [
30494
- showBreadcrumbs ? breadcrumbs.map((breadcrumb, i) => /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: getClassName8("breadcrumb"), children: [
30495
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
30720
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: getClassName8("title"), children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: getClassName8("breadcrumbs"), children: [
30721
+ showBreadcrumbs ? breadcrumbs.map((breadcrumb, i) => /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: getClassName8("breadcrumb"), children: [
30722
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
30496
30723
  "button",
30497
30724
  {
30498
30725
  className: getClassName8("breadcrumbLabel"),
@@ -30500,12 +30727,12 @@ var SidebarSection = ({
30500
30727
  children: breadcrumb.label
30501
30728
  }
30502
30729
  ),
30503
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(ChevronRight, { size: 16 })
30730
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ChevronRight, { size: 16 })
30504
30731
  ] }, i)) : null,
30505
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: getClassName8("heading"), children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Heading, { rank: 2, size: "xs", children: title }) })
30732
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: getClassName8("heading"), children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Heading, { rank: 2, size: "xs", children: title }) })
30506
30733
  ] }) }),
30507
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: getClassName8("content"), children }),
30508
- 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" }) })
30734
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: getClassName8("content"), children }),
30735
+ 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" }) })
30509
30736
  ]
30510
30737
  }
30511
30738
  );
@@ -31082,13 +31309,17 @@ var useResolvedData = (appState, config, dispatch) => {
31082
31309
  // components/MenuBar/index.tsx
31083
31310
  init_react_import();
31084
31311
 
31085
- // css-module:/home/runner/work/puck/puck/packages/core/components/MenuBar/styles.module.css#css-module
31086
- init_react_import();
31087
- 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" };
31312
+ // components/MenuBar/styles.module.css
31313
+ var styles_default7 = {
31314
+ MenuBar: "styles_MenuBar",
31315
+ "MenuBar--menuOpen": "styles_MenuBar--menuOpen",
31316
+ "MenuBar-inner": "styles_MenuBar-inner",
31317
+ "MenuBar-history": "styles_MenuBar-history"
31318
+ };
31088
31319
 
31089
31320
  // components/MenuBar/index.tsx
31090
- var import_jsx_runtime11 = require("react/jsx-runtime");
31091
- var getClassName9 = get_class_name_factory_default("MenuBar", styles_module_default7);
31321
+ var import_jsx_runtime13 = require("react/jsx-runtime");
31322
+ var getClassName9 = get_class_name_factory_default("MenuBar", styles_default7);
31092
31323
  var MenuBar = ({
31093
31324
  appState,
31094
31325
  data = { content: [], root: { props: { title: "" } } },
@@ -31102,7 +31333,7 @@ var MenuBar = ({
31102
31333
  history: { back, forward, historyStore }
31103
31334
  } = useAppContext();
31104
31335
  const { hasFuture = false, hasPast = false } = historyStore || {};
31105
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
31336
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
31106
31337
  "div",
31107
31338
  {
31108
31339
  className: getClassName9({ menuOpen }),
@@ -31116,16 +31347,16 @@ var MenuBar = ({
31116
31347
  setMenuOpen(false);
31117
31348
  }
31118
31349
  },
31119
- children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: getClassName9("inner"), children: [
31120
- /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: getClassName9("history"), children: [
31121
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(IconButton, { title: "undo", disabled: !hasPast, onClick: back, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
31350
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: getClassName9("inner"), children: [
31351
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: getClassName9("history"), children: [
31352
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(IconButton, { title: "undo", disabled: !hasPast, onClick: back, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
31122
31353
  ChevronLeft,
31123
31354
  {
31124
31355
  size: 21,
31125
31356
  stroke: hasPast ? "var(--puck-color-black)" : "var(--puck-color-grey-08)"
31126
31357
  }
31127
31358
  ) }),
31128
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(IconButton, { title: "redo", disabled: !hasFuture, onClick: forward, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
31359
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(IconButton, { title: "redo", disabled: !hasFuture, onClick: forward, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
31129
31360
  ChevronRight,
31130
31361
  {
31131
31362
  size: 21,
@@ -31133,17 +31364,17 @@ var MenuBar = ({
31133
31364
  }
31134
31365
  ) })
31135
31366
  ] }),
31136
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_jsx_runtime11.Fragment, { children: renderHeaderActions && renderHeaderActions({
31367
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_jsx_runtime13.Fragment, { children: renderHeaderActions && renderHeaderActions({
31137
31368
  state: appState,
31138
31369
  dispatch
31139
31370
  }) }),
31140
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
31371
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
31141
31372
  Button,
31142
31373
  {
31143
31374
  onClick: () => {
31144
31375
  onPublish && onPublish(data);
31145
31376
  },
31146
- icon: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Globe, { size: "14px" }),
31377
+ icon: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Globe, { size: "14px" }),
31147
31378
  children: "Publish"
31148
31379
  }
31149
31380
  ) })
@@ -31152,9 +31383,24 @@ var MenuBar = ({
31152
31383
  );
31153
31384
  };
31154
31385
 
31155
- // css-module:/home/runner/work/puck/puck/packages/core/components/Puck/styles.module.css#css-module
31156
- init_react_import();
31157
- 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" };
31386
+ // components/Puck/styles.module.css
31387
+ var styles_default8 = {
31388
+ Puck: "styles_Puck",
31389
+ "Puck--leftSideBarVisible": "styles_Puck--leftSideBarVisible",
31390
+ "Puck--rightSideBarVisible": "styles_Puck--rightSideBarVisible",
31391
+ "Puck-header": "styles_Puck-header",
31392
+ "Puck-headerInner": "styles_Puck-headerInner",
31393
+ "Puck-headerToggle": "styles_Puck-headerToggle",
31394
+ "Puck-rightSideBarToggle": "styles_Puck-rightSideBarToggle",
31395
+ "Puck-leftSideBarToggle": "styles_Puck-leftSideBarToggle",
31396
+ "Puck-headerTitle": "styles_Puck-headerTitle",
31397
+ "Puck-headerPath": "styles_Puck-headerPath",
31398
+ "Puck-headerTools": "styles_Puck-headerTools",
31399
+ "Puck-menuButton": "styles_Puck-menuButton",
31400
+ "Puck--menuOpen": "styles_Puck--menuOpen",
31401
+ "Puck-leftSideBar": "styles_Puck-leftSideBar",
31402
+ "Puck-rightSideBar": "styles_Puck-rightSideBar"
31403
+ };
31158
31404
 
31159
31405
  // components/Puck/components/Fields/index.tsx
31160
31406
  init_react_import();
@@ -31163,9 +31409,19 @@ var import_react_spinners6 = require("react-spinners");
31163
31409
  // components/InputOrGroup/index.tsx
31164
31410
  init_react_import();
31165
31411
 
31166
- // css-module:/home/runner/work/puck/puck/packages/core/components/InputOrGroup/styles.module.css#css-module
31167
- init_react_import();
31168
- var styles_module_default9 = { "Input": "_Input_1qi5b_1", "Input-label": "_Input-label_1qi5b_26", "Input-labelIcon": "_Input-labelIcon_1qi5b_34", "Input-disabledIcon": "_Input-disabledIcon_1qi5b_41", "Input-input": "_Input-input_1qi5b_46", "Input--readOnly": "_Input--readOnly_1qi5b_90", "Input-radioGroupItems": "_Input-radioGroupItems_1qi5b_101", "Input-radio": "_Input-radio_1qi5b_101", "Input-radioInner": "_Input-radioInner_1qi5b_118", "Input-radioInput": "_Input-radioInput_1qi5b_163" };
31412
+ // components/InputOrGroup/styles.module.css
31413
+ var styles_default9 = {
31414
+ Input: "styles_Input",
31415
+ "Input-label": "styles_Input-label",
31416
+ "Input-labelIcon": "styles_Input-labelIcon",
31417
+ "Input-disabledIcon": "styles_Input-disabledIcon",
31418
+ "Input-input": "styles_Input-input",
31419
+ "Input--readOnly": "styles_Input--readOnly",
31420
+ "Input-radioGroupItems": "styles_Input-radioGroupItems",
31421
+ "Input-radio": "styles_Input-radio",
31422
+ "Input-radioInner": "styles_Input-radioInner",
31423
+ "Input-radioInput": "styles_Input-radioInput"
31424
+ };
31169
31425
 
31170
31426
  // components/InputOrGroup/index.tsx
31171
31427
  var import_react18 = require("react");
@@ -31176,17 +31432,41 @@ init_react_import();
31176
31432
  // components/InputOrGroup/fields/ArrayField/index.tsx
31177
31433
  init_react_import();
31178
31434
 
31179
- // css-module:/home/runner/work/puck/puck/packages/core/components/InputOrGroup/fields/ArrayField/styles.module.css#css-module
31180
- init_react_import();
31181
- 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" };
31435
+ // components/InputOrGroup/fields/ArrayField/styles.module.css
31436
+ var styles_default10 = {
31437
+ ArrayField: "styles_ArrayField",
31438
+ "ArrayField--isDraggingFrom": "styles_ArrayField--isDraggingFrom",
31439
+ "ArrayField-addButton": "styles_ArrayField-addButton",
31440
+ "ArrayField--hasItems": "styles_ArrayField--hasItems",
31441
+ ArrayFieldItem: "styles_ArrayFieldItem",
31442
+ "ArrayFieldItem--isDragging": "styles_ArrayFieldItem--isDragging",
31443
+ "ArrayFieldItem--isExpanded": "styles_ArrayFieldItem--isExpanded",
31444
+ "ArrayFieldItem-summary": "styles_ArrayFieldItem-summary",
31445
+ "ArrayFieldItem--readOnly": "styles_ArrayFieldItem--readOnly",
31446
+ "ArrayFieldItem-body": "styles_ArrayFieldItem-body",
31447
+ "ArrayFieldItem-fieldset": "styles_ArrayFieldItem-fieldset",
31448
+ "ArrayFieldItem-rhs": "styles_ArrayFieldItem-rhs",
31449
+ "ArrayFieldItem-actions": "styles_ArrayFieldItem-actions"
31450
+ };
31182
31451
 
31183
31452
  // components/InputOrGroup/fields/ArrayField/index.tsx
31184
- var import_dnd5 = require("@hello-pangea/dnd");
31185
- var import_dnd6 = require("@hello-pangea/dnd");
31186
31453
  var import_react14 = require("react");
31187
- var import_jsx_runtime12 = require("react/jsx-runtime");
31188
- var getClassName10 = get_class_name_factory_default("ArrayField", styles_module_default10);
31189
- var getClassNameItem2 = get_class_name_factory_default("ArrayFieldItem", styles_module_default10);
31454
+
31455
+ // components/DragDropContext/index.tsx
31456
+ init_react_import();
31457
+ var import_dnd4 = require("@measured/dnd");
31458
+ var import_jsx_runtime14 = require("react/jsx-runtime");
31459
+ var DefaultDragDropContext = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_jsx_runtime14.Fragment, { children });
31460
+ var DragDropContext = (props) => {
31461
+ const { status } = useAppContext();
31462
+ const El = status !== "LOADING" ? import_dnd4.DragDropContext : DefaultDragDropContext;
31463
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(El, __spreadValues({}, props));
31464
+ };
31465
+
31466
+ // components/InputOrGroup/fields/ArrayField/index.tsx
31467
+ var import_jsx_runtime15 = require("react/jsx-runtime");
31468
+ var getClassName10 = get_class_name_factory_default("ArrayField", styles_default10);
31469
+ var getClassNameItem2 = get_class_name_factory_default("ArrayFieldItem", styles_default10);
31190
31470
  var ArrayField = ({
31191
31471
  field,
31192
31472
  onChange,
@@ -31254,15 +31534,15 @@ var ArrayField = ({
31254
31534
  if (field.type !== "array" || !field.arrayFields) {
31255
31535
  return null;
31256
31536
  }
31257
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
31537
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31258
31538
  FieldLabelInternal,
31259
31539
  {
31260
31540
  label: label || name,
31261
- icon: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(List, { size: 16 }),
31541
+ icon: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(List, { size: 16 }),
31262
31542
  el: "div",
31263
31543
  readOnly,
31264
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
31265
- import_dnd6.DragDropContext,
31544
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31545
+ DragDropContext,
31266
31546
  {
31267
31547
  onDragEnd: (event) => {
31268
31548
  var _a, _b;
@@ -31288,8 +31568,8 @@ var ArrayField = ({
31288
31568
  });
31289
31569
  }
31290
31570
  },
31291
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_dnd5.Droppable, { droppableId: "array", isDropDisabled: readOnly, children: (provided, snapshot) => {
31292
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
31571
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Droppable, { droppableId: "array", isDropDisabled: readOnly, children: (provided, snapshot) => {
31572
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
31293
31573
  "div",
31294
31574
  __spreadProps(__spreadValues({}, provided.droppableProps), {
31295
31575
  ref: provided.innerRef,
@@ -31309,7 +31589,7 @@ var ArrayField = ({
31309
31589
  localState.arrayState.items.map((item, i) => {
31310
31590
  const { _arrayId = `${id}-${i}`, _originalIndex = i } = item;
31311
31591
  const data = Array.from(localState.value || [])[i] || {};
31312
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
31592
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31313
31593
  Draggable,
31314
31594
  {
31315
31595
  id: _arrayId,
@@ -31320,8 +31600,8 @@ var ArrayField = ({
31320
31600
  readOnly
31321
31601
  }),
31322
31602
  isDragDisabled: readOnly || !hovering,
31323
- children: () => /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
31324
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
31603
+ children: () => /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_jsx_runtime15.Fragment, { children: [
31604
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
31325
31605
  "div",
31326
31606
  {
31327
31607
  onClick: () => {
@@ -31342,10 +31622,12 @@ var ArrayField = ({
31342
31622
  className: getClassNameItem2("summary"),
31343
31623
  children: [
31344
31624
  field.getItemSummary ? field.getItemSummary(data, i) : `Item #${_originalIndex}`,
31345
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: getClassNameItem2("rhs"), children: [
31346
- !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)(
31625
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: getClassNameItem2("rhs"), children: [
31626
+ !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)(
31347
31627
  IconButton,
31348
31628
  {
31629
+ type: "button",
31630
+ disabled: field.min !== void 0 && field.min >= localState.arrayState.items.length,
31349
31631
  onClick: (e) => {
31350
31632
  e.stopPropagation();
31351
31633
  const existingValue = [
@@ -31364,20 +31646,20 @@ var ArrayField = ({
31364
31646
  );
31365
31647
  },
31366
31648
  title: "Delete",
31367
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Trash, { size: 16 })
31649
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Trash, { size: 16 })
31368
31650
  }
31369
31651
  ) }) }),
31370
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(DragIcon, {}) })
31652
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(DragIcon, {}) })
31371
31653
  ] })
31372
31654
  ]
31373
31655
  }
31374
31656
  ),
31375
- /* @__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(
31657
+ /* @__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(
31376
31658
  (fieldName) => {
31377
31659
  const subField = field.arrayFields[fieldName];
31378
31660
  const subFieldName = `${name}[${i}].${fieldName}`;
31379
31661
  const wildcardFieldName = `${name}[*].${fieldName}`;
31380
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
31662
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31381
31663
  InputOrGroup,
31382
31664
  {
31383
31665
  name: subFieldName,
@@ -31406,10 +31688,12 @@ var ArrayField = ({
31406
31688
  );
31407
31689
  }),
31408
31690
  provided.placeholder,
31409
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
31691
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31410
31692
  "button",
31411
31693
  {
31694
+ type: "button",
31412
31695
  className: getClassName10("addButton"),
31696
+ disabled: field.max !== void 0 && localState.arrayState.items.length >= field.max,
31413
31697
  onClick: () => {
31414
31698
  const existingValue = value || [];
31415
31699
  const newValue = [
@@ -31419,7 +31703,7 @@ var ArrayField = ({
31419
31703
  const newArrayState = regenerateArrayState(newValue);
31420
31704
  onChange(newValue, mapArrayStateToUi(newArrayState));
31421
31705
  },
31422
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Plus, { size: "21" })
31706
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Plus, { size: 21 })
31423
31707
  }
31424
31708
  )
31425
31709
  ]
@@ -31434,8 +31718,8 @@ var ArrayField = ({
31434
31718
 
31435
31719
  // components/InputOrGroup/fields/DefaultField/index.tsx
31436
31720
  init_react_import();
31437
- var import_jsx_runtime13 = require("react/jsx-runtime");
31438
- var getClassName11 = get_class_name_factory_default("Input", styles_module_default9);
31721
+ var import_jsx_runtime16 = require("react/jsx-runtime");
31722
+ var getClassName11 = get_class_name_factory_default("Input", styles_default9);
31439
31723
  var DefaultField = ({
31440
31724
  field,
31441
31725
  onChange,
@@ -31445,16 +31729,16 @@ var DefaultField = ({
31445
31729
  label,
31446
31730
  id
31447
31731
  }) => {
31448
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
31732
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
31449
31733
  FieldLabelInternal,
31450
31734
  {
31451
31735
  label: label || name,
31452
- icon: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
31453
- field.type === "text" && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Type, { size: 16 }),
31454
- field.type === "number" && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Hash, { size: 16 })
31736
+ icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_jsx_runtime16.Fragment, { children: [
31737
+ field.type === "text" && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Type, { size: 16 }),
31738
+ field.type === "number" && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Hash, { size: 16 })
31455
31739
  ] }),
31456
31740
  readOnly,
31457
- children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
31741
+ children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
31458
31742
  "input",
31459
31743
  {
31460
31744
  className: getClassName11("input"),
@@ -31488,22 +31772,52 @@ var import_react17 = require("react");
31488
31772
  init_react_import();
31489
31773
  var import_react16 = require("react");
31490
31774
 
31491
- // css-module:/home/runner/work/puck/puck/packages/core/components/ExternalInput/styles.module.css#css-module
31492
- init_react_import();
31493
- 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" };
31775
+ // components/ExternalInput/styles.module.css
31776
+ var styles_default11 = {
31777
+ "ExternalInput-actions": "styles_ExternalInput-actions",
31778
+ "ExternalInput-button": "styles_ExternalInput-button",
31779
+ "ExternalInput--dataSelected": "styles_ExternalInput--dataSelected",
31780
+ "ExternalInput-detachButton": "styles_ExternalInput-detachButton",
31781
+ ExternalInputModal: "styles_ExternalInputModal",
31782
+ "ExternalInputModal-grid": "styles_ExternalInputModal-grid",
31783
+ "ExternalInputModal--filtersToggled": "styles_ExternalInputModal--filtersToggled",
31784
+ "ExternalInputModal-filters": "styles_ExternalInputModal-filters",
31785
+ "ExternalInputModal-masthead": "styles_ExternalInputModal-masthead",
31786
+ "ExternalInputModal-tableWrapper": "styles_ExternalInputModal-tableWrapper",
31787
+ "ExternalInputModal-table": "styles_ExternalInputModal-table",
31788
+ "ExternalInputModal-thead": "styles_ExternalInputModal-thead",
31789
+ "ExternalInputModal-th": "styles_ExternalInputModal-th",
31790
+ "ExternalInputModal-td": "styles_ExternalInputModal-td",
31791
+ "ExternalInputModal-tr": "styles_ExternalInputModal-tr",
31792
+ "ExternalInputModal-tbody": "styles_ExternalInputModal-tbody",
31793
+ "ExternalInputModal--hasData": "styles_ExternalInputModal--hasData",
31794
+ "ExternalInputModal-loadingBanner": "styles_ExternalInputModal-loadingBanner",
31795
+ "ExternalInputModal--isLoading": "styles_ExternalInputModal--isLoading",
31796
+ "ExternalInputModal-searchForm": "styles_ExternalInputModal-searchForm",
31797
+ "ExternalInputModal-search": "styles_ExternalInputModal-search",
31798
+ "ExternalInputModal-searchIcon": "styles_ExternalInputModal-searchIcon",
31799
+ "ExternalInputModal-searchIconText": "styles_ExternalInputModal-searchIconText",
31800
+ "ExternalInputModal-searchInput": "styles_ExternalInputModal-searchInput",
31801
+ "ExternalInputModal-searchActions": "styles_ExternalInputModal-searchActions",
31802
+ "ExternalInputModal-searchActionIcon": "styles_ExternalInputModal-searchActionIcon",
31803
+ "ExternalInputModal-footer": "styles_ExternalInputModal-footer"
31804
+ };
31494
31805
 
31495
31806
  // components/Modal/index.tsx
31496
31807
  init_react_import();
31497
31808
  var import_react15 = require("react");
31498
31809
 
31499
- // css-module:/home/runner/work/puck/puck/packages/core/components/Modal/styles.module.css#css-module
31500
- init_react_import();
31501
- var styles_module_default12 = { "Modal": "_Modal_zud0i_1", "Modal--isOpen": "_Modal--isOpen_zud0i_15", "Modal-inner": "_Modal-inner_zud0i_19" };
31810
+ // components/Modal/styles.module.css
31811
+ var styles_default12 = {
31812
+ Modal: "styles_Modal",
31813
+ "Modal--isOpen": "styles_Modal--isOpen",
31814
+ "Modal-inner": "styles_Modal-inner"
31815
+ };
31502
31816
 
31503
31817
  // components/Modal/index.tsx
31504
31818
  var import_react_dom = __toESM(require_react_dom());
31505
- var import_jsx_runtime14 = require("react/jsx-runtime");
31506
- var getClassName12 = get_class_name_factory_default("Modal", styles_module_default12);
31819
+ var import_jsx_runtime17 = require("react/jsx-runtime");
31820
+ var getClassName12 = get_class_name_factory_default("Modal", styles_default12);
31507
31821
  var Modal = ({
31508
31822
  children,
31509
31823
  onClose,
@@ -31514,10 +31828,10 @@ var Modal = ({
31514
31828
  setRootEl(document.getElementById("puck-portal-root"));
31515
31829
  }, []);
31516
31830
  if (!rootEl) {
31517
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", {});
31831
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", {});
31518
31832
  }
31519
31833
  return (0, import_react_dom.createPortal)(
31520
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: getClassName12({ isOpen }), onClick: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
31834
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: getClassName12({ isOpen }), onClick: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
31521
31835
  "div",
31522
31836
  {
31523
31837
  className: getClassName12("inner"),
@@ -31531,9 +31845,9 @@ var Modal = ({
31531
31845
 
31532
31846
  // components/ExternalInput/index.tsx
31533
31847
  var import_react_spinners5 = require("react-spinners");
31534
- var import_jsx_runtime15 = require("react/jsx-runtime");
31535
- var getClassName13 = get_class_name_factory_default("ExternalInput", styles_module_default11);
31536
- var getClassNameModal = get_class_name_factory_default("ExternalInputModal", styles_module_default11);
31848
+ var import_jsx_runtime18 = require("react/jsx-runtime");
31849
+ var getClassName13 = get_class_name_factory_default("ExternalInput", styles_default11);
31850
+ var getClassNameModal = get_class_name_factory_default("ExternalInputModal", styles_default11);
31537
31851
  var dataCache = {};
31538
31852
  var ExternalInput = ({
31539
31853
  field,
@@ -31584,7 +31898,7 @@ var ExternalInput = ({
31584
31898
  (0, import_react16.useEffect)(() => {
31585
31899
  search(searchQuery, filters);
31586
31900
  }, []);
31587
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
31901
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
31588
31902
  "div",
31589
31903
  {
31590
31904
  className: getClassName13({
@@ -31593,30 +31907,31 @@ var ExternalInput = ({
31593
31907
  }),
31594
31908
  id,
31595
31909
  children: [
31596
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: getClassName13("actions"), children: [
31597
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31910
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: getClassName13("actions"), children: [
31911
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
31598
31912
  "button",
31599
31913
  {
31914
+ type: "button",
31600
31915
  onClick: () => setOpen(true),
31601
31916
  className: getClassName13("button"),
31602
- children: value ? field.getItemSummary ? field.getItemSummary(value) : "External item" : /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_jsx_runtime15.Fragment, { children: [
31603
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Link, { size: "16" }),
31604
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { children: field.placeholder })
31917
+ children: value ? field.getItemSummary ? field.getItemSummary(value) : "External item" : /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [
31918
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Link, { size: "16" }),
31919
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { children: field.placeholder })
31605
31920
  ] })
31606
31921
  }
31607
31922
  ),
31608
- value && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31923
+ value && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
31609
31924
  "button",
31610
31925
  {
31611
31926
  className: getClassName13("detachButton"),
31612
31927
  onClick: () => {
31613
31928
  onChange(null);
31614
31929
  },
31615
- children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Unlock, { size: 16 })
31930
+ children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Unlock, { size: 16 })
31616
31931
  }
31617
31932
  )
31618
31933
  ] }),
31619
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Modal, { onClose: () => setOpen(false), isOpen, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
31934
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Modal, { onClose: () => setOpen(false), isOpen, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
31620
31935
  "form",
31621
31936
  {
31622
31937
  className: getClassNameModal({
@@ -31630,11 +31945,11 @@ var ExternalInput = ({
31630
31945
  search(searchQuery, filters);
31631
31946
  },
31632
31947
  children: [
31633
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: getClassNameModal("masthead"), children: field.showSearch ? /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: getClassNameModal("searchForm"), children: [
31634
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("label", { className: getClassNameModal("search"), children: [
31635
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: getClassNameModal("searchIconText"), children: "Search" }),
31636
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: getClassNameModal("searchIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Search, { size: "18" }) }),
31637
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31948
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: getClassNameModal("masthead"), children: field.showSearch ? /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: getClassNameModal("searchForm"), children: [
31949
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("label", { className: getClassNameModal("search"), children: [
31950
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: getClassNameModal("searchIconText"), children: "Search" }),
31951
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: getClassNameModal("searchIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Search, { size: "18" }) }),
31952
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
31638
31953
  "input",
31639
31954
  {
31640
31955
  className: getClassNameModal("searchInput"),
@@ -31649,9 +31964,9 @@ var ExternalInput = ({
31649
31964
  }
31650
31965
  )
31651
31966
  ] }),
31652
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: getClassNameModal("searchActions"), children: [
31653
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Button, { type: "submit", loading: isLoading, fullWidth: true, children: "Search" }),
31654
- hasFilterFields && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: getClassNameModal("searchActionIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31967
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: getClassNameModal("searchActions"), children: [
31968
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Button, { type: "submit", loading: isLoading, fullWidth: true, children: "Search" }),
31969
+ hasFilterFields && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: getClassNameModal("searchActionIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
31655
31970
  IconButton,
31656
31971
  {
31657
31972
  title: "Toggle filters",
@@ -31660,15 +31975,15 @@ var ExternalInput = ({
31660
31975
  e.stopPropagation();
31661
31976
  setFiltersToggled(!filtersToggled);
31662
31977
  },
31663
- children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(SlidersHorizontal, { size: 20 })
31978
+ children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(SlidersHorizontal, { size: 20 })
31664
31979
  }
31665
31980
  ) })
31666
31981
  ] })
31667
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Heading, { rank: 2, size: "xs", children: field.placeholder || "Select data" }) }),
31668
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: getClassNameModal("grid"), children: [
31669
- hasFilterFields && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: getClassNameModal("filters"), children: hasFilterFields && Object.keys(filterFields).map((fieldName) => {
31982
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Heading, { rank: 2, size: "xs", children: field.placeholder || "Select data" }) }),
31983
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: getClassNameModal("grid"), children: [
31984
+ hasFilterFields && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: getClassNameModal("filters"), children: hasFilterFields && Object.keys(filterFields).map((fieldName) => {
31670
31985
  const filterField = filterFields[fieldName];
31671
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31986
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
31672
31987
  InputOrGroup,
31673
31988
  {
31674
31989
  field: filterField,
@@ -31685,9 +32000,9 @@ var ExternalInput = ({
31685
32000
  fieldName
31686
32001
  );
31687
32002
  }) }),
31688
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: getClassNameModal("tableWrapper"), children: [
31689
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("table", { className: getClassNameModal("table"), children: [
31690
- /* @__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)(
32003
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: getClassNameModal("tableWrapper"), children: [
32004
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("table", { className: getClassNameModal("table"), children: [
32005
+ /* @__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)(
31691
32006
  "th",
31692
32007
  {
31693
32008
  className: getClassNameModal("th"),
@@ -31696,8 +32011,8 @@ var ExternalInput = ({
31696
32011
  },
31697
32012
  key
31698
32013
  )) }) }),
31699
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("tbody", { className: getClassNameModal("tbody"), children: mappedData.map((item, i) => {
31700
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
32014
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("tbody", { className: getClassNameModal("tbody"), children: mappedData.map((item, i) => {
32015
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
31701
32016
  "tr",
31702
32017
  {
31703
32018
  style: { whiteSpace: "nowrap" },
@@ -31706,16 +32021,16 @@ var ExternalInput = ({
31706
32021
  onChange(mapProp(data[i]));
31707
32022
  setOpen(false);
31708
32023
  },
31709
- children: keys.map((key) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("td", { className: getClassNameModal("td"), children: item[key] }, key))
32024
+ children: keys.map((key) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("td", { className: getClassNameModal("td"), children: item[key] }, key))
31710
32025
  },
31711
32026
  i
31712
32027
  );
31713
32028
  }) })
31714
32029
  ] }),
31715
- /* @__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" }) })
32030
+ /* @__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" }) })
31716
32031
  ] })
31717
32032
  ] }),
31718
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: getClassNameModal("footer"), children: [
32033
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: getClassNameModal("footer"), children: [
31719
32034
  mappedData.length,
31720
32035
  " result",
31721
32036
  mappedData.length === 1 ? "" : "s"
@@ -31729,7 +32044,7 @@ var ExternalInput = ({
31729
32044
  };
31730
32045
 
31731
32046
  // components/InputOrGroup/fields/ExternalField/index.tsx
31732
- var import_jsx_runtime16 = require("react/jsx-runtime");
32047
+ var import_jsx_runtime19 = require("react/jsx-runtime");
31733
32048
  var ExternalField = ({
31734
32049
  field,
31735
32050
  onChange,
@@ -31751,13 +32066,13 @@ var ExternalField = ({
31751
32066
  if (field.type !== "external") {
31752
32067
  return null;
31753
32068
  }
31754
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
32069
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
31755
32070
  FieldLabelInternal,
31756
32071
  {
31757
32072
  label: label || name,
31758
- icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Link, { size: 16 }),
32073
+ icon: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Link, { size: 16 }),
31759
32074
  el: "div",
31760
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
32075
+ children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
31761
32076
  ExternalInput,
31762
32077
  {
31763
32078
  name,
@@ -31783,8 +32098,8 @@ var ExternalField = ({
31783
32098
 
31784
32099
  // components/InputOrGroup/fields/RadioField/index.tsx
31785
32100
  init_react_import();
31786
- var import_jsx_runtime17 = require("react/jsx-runtime");
31787
- var getClassName14 = get_class_name_factory_default("Input", styles_module_default9);
32101
+ var import_jsx_runtime20 = require("react/jsx-runtime");
32102
+ var getClassName14 = get_class_name_factory_default("Input", styles_default9);
31788
32103
  var RadioField = ({
31789
32104
  field,
31790
32105
  onChange,
@@ -31797,19 +32112,19 @@ var RadioField = ({
31797
32112
  if (field.type !== "radio" || !field.options) {
31798
32113
  return null;
31799
32114
  }
31800
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
32115
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
31801
32116
  FieldLabelInternal,
31802
32117
  {
31803
- icon: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(CheckCircle, { size: 16 }),
32118
+ icon: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(CheckCircle, { size: 16 }),
31804
32119
  label: label || name,
31805
32120
  readOnly,
31806
32121
  el: "div",
31807
- children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: getClassName14("radioGroupItems"), id, children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
32122
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassName14("radioGroupItems"), id, children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
31808
32123
  "label",
31809
32124
  {
31810
32125
  className: getClassName14("radio"),
31811
32126
  children: [
31812
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
32127
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
31813
32128
  "input",
31814
32129
  {
31815
32130
  type: "radio",
@@ -31827,7 +32142,7 @@ var RadioField = ({
31827
32142
  defaultChecked: value === option.value
31828
32143
  }
31829
32144
  ),
31830
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: getClassName14("radioInner"), children: option.label || option.value })
32145
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassName14("radioInner"), children: option.label || option.value })
31831
32146
  ]
31832
32147
  },
31833
32148
  option.label + option.value
@@ -31838,8 +32153,8 @@ var RadioField = ({
31838
32153
 
31839
32154
  // components/InputOrGroup/fields/SelectField/index.tsx
31840
32155
  init_react_import();
31841
- var import_jsx_runtime18 = require("react/jsx-runtime");
31842
- var getClassName15 = get_class_name_factory_default("Input", styles_module_default9);
32156
+ var import_jsx_runtime21 = require("react/jsx-runtime");
32157
+ var getClassName15 = get_class_name_factory_default("Input", styles_default9);
31843
32158
  var SelectField = ({
31844
32159
  field,
31845
32160
  onChange,
@@ -31852,13 +32167,13 @@ var SelectField = ({
31852
32167
  if (field.type !== "select" || !field.options) {
31853
32168
  return null;
31854
32169
  }
31855
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
32170
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
31856
32171
  FieldLabelInternal,
31857
32172
  {
31858
32173
  label: label || name,
31859
- icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ChevronDown, { size: 16 }),
32174
+ icon: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ChevronDown, { size: 16 }),
31860
32175
  readOnly,
31861
- children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
32176
+ children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
31862
32177
  "select",
31863
32178
  {
31864
32179
  id,
@@ -31872,7 +32187,7 @@ var SelectField = ({
31872
32187
  onChange(e.currentTarget.value);
31873
32188
  },
31874
32189
  value,
31875
- children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
32190
+ children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
31876
32191
  "option",
31877
32192
  {
31878
32193
  label: option.label,
@@ -31888,8 +32203,8 @@ var SelectField = ({
31888
32203
 
31889
32204
  // components/InputOrGroup/fields/TextareaField/index.tsx
31890
32205
  init_react_import();
31891
- var import_jsx_runtime19 = require("react/jsx-runtime");
31892
- var getClassName16 = get_class_name_factory_default("Input", styles_module_default9);
32206
+ var import_jsx_runtime22 = require("react/jsx-runtime");
32207
+ var getClassName16 = get_class_name_factory_default("Input", styles_default9);
31893
32208
  var TextareaField = ({
31894
32209
  onChange,
31895
32210
  readOnly,
@@ -31898,13 +32213,13 @@ var TextareaField = ({
31898
32213
  label,
31899
32214
  id
31900
32215
  }) => {
31901
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
32216
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
31902
32217
  FieldLabelInternal,
31903
32218
  {
31904
32219
  label: label || name,
31905
- icon: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Type, { size: 16 }),
32220
+ icon: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Type, { size: 16 }),
31906
32221
  readOnly,
31907
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
32222
+ children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
31908
32223
  "textarea",
31909
32224
  {
31910
32225
  id,
@@ -31928,14 +32243,16 @@ var import_use_debounce2 = require("use-debounce");
31928
32243
  // components/InputOrGroup/fields/ObjectField/index.tsx
31929
32244
  init_react_import();
31930
32245
 
31931
- // css-module:/home/runner/work/puck/puck/packages/core/components/InputOrGroup/fields/ObjectField/styles.module.css#css-module
31932
- init_react_import();
31933
- var styles_module_default13 = { "ObjectField": "_ObjectField_15j63_5", "ObjectField-fieldset": "_ObjectField-fieldset_15j63_13" };
32246
+ // components/InputOrGroup/fields/ObjectField/styles.module.css
32247
+ var styles_default13 = {
32248
+ ObjectField: "styles_ObjectField",
32249
+ "ObjectField-fieldset": "styles_ObjectField-fieldset"
32250
+ };
31934
32251
 
31935
32252
  // components/InputOrGroup/fields/ObjectField/index.tsx
31936
- var import_jsx_runtime20 = require("react/jsx-runtime");
31937
- var getClassName17 = get_class_name_factory_default("ObjectField", styles_module_default13);
31938
- var getClassNameItem3 = get_class_name_factory_default("ObjectFieldItem", styles_module_default13);
32253
+ var import_jsx_runtime23 = require("react/jsx-runtime");
32254
+ var getClassName17 = get_class_name_factory_default("ObjectField", styles_default13);
32255
+ var getClassNameItem3 = get_class_name_factory_default("ObjectFieldItem", styles_default13);
31939
32256
  var ObjectField = ({
31940
32257
  field,
31941
32258
  onChange,
@@ -31950,18 +32267,18 @@ var ObjectField = ({
31950
32267
  return null;
31951
32268
  }
31952
32269
  const data = value || {};
31953
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
32270
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
31954
32271
  FieldLabelInternal,
31955
32272
  {
31956
32273
  label: label || name,
31957
- icon: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(MoreVertical, { size: 16 }),
32274
+ icon: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(MoreVertical, { size: 16 }),
31958
32275
  el: "div",
31959
32276
  readOnly,
31960
- 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) => {
32277
+ 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) => {
31961
32278
  const subField = field.objectFields[fieldName];
31962
32279
  const subFieldName = `${name}.${fieldName}`;
31963
32280
  const wildcardFieldName = `${name}.${fieldName}`;
31964
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
32281
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
31965
32282
  InputOrGroup,
31966
32283
  {
31967
32284
  name: subFieldName,
@@ -31988,8 +32305,8 @@ var ObjectField = ({
31988
32305
  };
31989
32306
 
31990
32307
  // components/InputOrGroup/index.tsx
31991
- var import_jsx_runtime21 = require("react/jsx-runtime");
31992
- var getClassName18 = get_class_name_factory_default("Input", styles_module_default9);
32308
+ var import_jsx_runtime24 = require("react/jsx-runtime");
32309
+ var getClassName18 = get_class_name_factory_default("Input", styles_default9);
31993
32310
  var FieldLabel = ({
31994
32311
  children,
31995
32312
  icon,
@@ -31999,11 +32316,11 @@ var FieldLabel = ({
31999
32316
  className
32000
32317
  }) => {
32001
32318
  const El = el;
32002
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(El, { className, children: [
32003
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: getClassName18("label"), children: [
32004
- icon ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassName18("labelIcon"), children: icon }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_jsx_runtime21.Fragment, {}),
32319
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(El, { className, children: [
32320
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: getClassName18("label"), children: [
32321
+ icon ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: getClassName18("labelIcon"), children: icon }) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, {}),
32005
32322
  label,
32006
- readOnly && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassName18("disabledIcon"), title: "Read-only", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Lock, { size: "12" }) })
32323
+ readOnly && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: getClassName18("disabledIcon"), title: "Read-only", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Lock, { size: "12" }) })
32007
32324
  ] }),
32008
32325
  children
32009
32326
  ] });
@@ -32020,7 +32337,7 @@ var FieldLabelInternal = ({
32020
32337
  () => overrides.fieldLabel || FieldLabel,
32021
32338
  [overrides]
32022
32339
  );
32023
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
32340
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
32024
32341
  Wrapper,
32025
32342
  {
32026
32343
  label,
@@ -32060,7 +32377,7 @@ var InputOrGroup = (_a) => {
32060
32377
  if (!field.render) {
32061
32378
  return null;
32062
32379
  }
32063
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassName18(), children: field.render(__spreadValues({
32380
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: getClassName18(), children: field.render(__spreadValues({
32064
32381
  field,
32065
32382
  name,
32066
32383
  readOnly
@@ -32089,17 +32406,19 @@ var InputOrGroup = (_a) => {
32089
32406
  const mergedProps = __spreadProps(__spreadValues(__spreadValues({}, props), localProps), { field });
32090
32407
  const children = defaultFields[field.type](mergedProps);
32091
32408
  const Render2 = render[field.type];
32092
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Render2, __spreadProps(__spreadValues({}, mergedProps), { children }));
32409
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Render2, __spreadProps(__spreadValues({}, mergedProps), { children }));
32093
32410
  };
32094
32411
 
32095
- // css-module:/home/runner/work/puck/puck/packages/core/components/Puck/components/Fields/styles.module.css#css-module
32096
- init_react_import();
32097
- var styles_module_default14 = { "PuckFields": "_PuckFields_17k3p_1", "PuckFields-loadingOverlay": "_PuckFields-loadingOverlay_17k3p_6" };
32412
+ // components/Puck/components/Fields/styles.module.css
32413
+ var styles_default14 = {
32414
+ PuckFields: "styles_PuckFields",
32415
+ "PuckFields-loadingOverlay": "styles_PuckFields-loadingOverlay"
32416
+ };
32098
32417
 
32099
32418
  // components/Puck/components/Fields/index.tsx
32100
32419
  var import_react19 = require("react");
32101
- var import_jsx_runtime22 = require("react/jsx-runtime");
32102
- var getClassName19 = get_class_name_factory_default("PuckFields", styles_module_default14);
32420
+ var import_jsx_runtime25 = require("react/jsx-runtime");
32421
+ var getClassName19 = get_class_name_factory_default("PuckFields", styles_default14);
32103
32422
  var defaultPageFields = {
32104
32423
  title: { type: "text" }
32105
32424
  };
@@ -32107,9 +32426,9 @@ var DefaultFields = ({
32107
32426
  children,
32108
32427
  isLoading
32109
32428
  }) => {
32110
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: getClassName19(), children: [
32429
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: getClassName19(), children: [
32111
32430
  children,
32112
- 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" }) })
32431
+ 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" }) })
32113
32432
  ] });
32114
32433
  };
32115
32434
  var Fields = () => {
@@ -32130,14 +32449,14 @@ var Fields = () => {
32130
32449
  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;
32131
32450
  const rootProps = data.root.props || data.root;
32132
32451
  const Wrapper = (0, import_react19.useMemo)(() => overrides.fields || DefaultFields, [overrides]);
32133
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
32452
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
32134
32453
  "form",
32135
32454
  {
32136
32455
  className: getClassName19(),
32137
32456
  onSubmit: (e) => {
32138
32457
  e.preventDefault();
32139
32458
  },
32140
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Wrapper, { isLoading, itemSelector, children: Object.keys(fields).map((fieldName) => {
32459
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Wrapper, { isLoading, itemSelector, children: Object.keys(fields).map((fieldName) => {
32141
32460
  const field = fields[fieldName];
32142
32461
  const onChange = (value, updatedUi) => {
32143
32462
  var _a2, _b2;
@@ -32203,7 +32522,7 @@ var Fields = () => {
32203
32522
  };
32204
32523
  if (selectedItem && itemSelector) {
32205
32524
  const { readOnly = {} } = selectedItem;
32206
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
32525
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
32207
32526
  InputOrGroup,
32208
32527
  {
32209
32528
  field,
@@ -32219,7 +32538,7 @@ var Fields = () => {
32219
32538
  );
32220
32539
  } else {
32221
32540
  const { readOnly = {} } = data.root;
32222
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
32541
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
32223
32542
  InputOrGroup,
32224
32543
  {
32225
32544
  field,
@@ -32249,19 +32568,25 @@ var import_react20 = require("react");
32249
32568
  // components/ComponentList/index.tsx
32250
32569
  init_react_import();
32251
32570
 
32252
- // css-module:/home/runner/work/puck/puck/packages/core/components/ComponentList/styles.module.css#css-module
32253
- init_react_import();
32254
- 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" };
32571
+ // components/ComponentList/styles.module.css
32572
+ var styles_default15 = {
32573
+ ComponentList: "styles_ComponentList",
32574
+ "ComponentList--isExpanded": "styles_ComponentList--isExpanded",
32575
+ "ComponentList-content": "styles_ComponentList-content",
32576
+ "ComponentList-title": "styles_ComponentList-title",
32577
+ "ComponentList-titleIcon": "styles_ComponentList-titleIcon"
32578
+ };
32255
32579
 
32256
32580
  // components/ComponentList/index.tsx
32257
- var import_jsx_runtime23 = require("react/jsx-runtime");
32258
- var getClassName20 = get_class_name_factory_default("ComponentList", styles_module_default15);
32581
+ var import_jsx_runtime26 = require("react/jsx-runtime");
32582
+ var getClassName20 = get_class_name_factory_default("ComponentList", styles_default15);
32259
32583
  var ComponentListItem = ({
32260
32584
  name,
32585
+ label,
32261
32586
  index
32262
32587
  }) => {
32263
32588
  const { overrides } = useAppContext();
32264
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Drawer.Item, { name, index, children: overrides.componentItem });
32589
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Drawer.Item, { label, name, index, children: overrides.componentItem });
32265
32590
  };
32266
32591
  var ComponentList = ({
32267
32592
  children,
@@ -32270,8 +32595,8 @@ var ComponentList = ({
32270
32595
  }) => {
32271
32596
  const { config, state, setUi } = useAppContext();
32272
32597
  const { expanded = true } = state.ui.componentList[id] || {};
32273
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: getClassName20({ isExpanded: expanded }), children: [
32274
- title && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
32598
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: getClassName20({ isExpanded: expanded }), children: [
32599
+ title && /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
32275
32600
  "button",
32276
32601
  {
32277
32602
  className: getClassName20("title"),
@@ -32284,15 +32609,17 @@ var ComponentList = ({
32284
32609
  }),
32285
32610
  title: expanded ? `Collapse${title ? ` ${title}` : ""}` : `Expand${title ? ` ${title}` : ""}`,
32286
32611
  children: [
32287
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { children: title }),
32288
- /* @__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 }) })
32612
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { children: title }),
32613
+ /* @__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 }) })
32289
32614
  ]
32290
32615
  }
32291
32616
  ),
32292
- /* @__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) => {
32293
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
32617
+ /* @__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) => {
32618
+ var _a;
32619
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
32294
32620
  ComponentListItem,
32295
32621
  {
32622
+ label: (_a = config.components[componentKey]["label"]) != null ? _a : componentKey,
32296
32623
  name: componentKey,
32297
32624
  index: i
32298
32625
  },
@@ -32304,7 +32631,7 @@ var ComponentList = ({
32304
32631
  ComponentList.Item = ComponentListItem;
32305
32632
 
32306
32633
  // lib/use-component-list.tsx
32307
- var import_jsx_runtime24 = require("react/jsx-runtime");
32634
+ var import_jsx_runtime27 = require("react/jsx-runtime");
32308
32635
  var useComponentList = (config, ui) => {
32309
32636
  const [componentList, setComponentList] = (0, import_react20.useState)();
32310
32637
  (0, import_react20.useEffect)(() => {
@@ -32317,16 +32644,18 @@ var useComponentList = (config, ui) => {
32317
32644
  if (category.visible === false || !category.components) {
32318
32645
  return null;
32319
32646
  }
32320
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
32647
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
32321
32648
  ComponentList,
32322
32649
  {
32323
32650
  id: categoryKey,
32324
32651
  title: category.title || categoryKey,
32325
32652
  children: category.components.map((componentName, i) => {
32653
+ var _a2;
32326
32654
  matchedComponents.push(componentName);
32327
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
32655
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
32328
32656
  ComponentList.Item,
32329
32657
  {
32658
+ label: (_a2 = config.components[componentName]["label"]) != null ? _a2 : componentName,
32330
32659
  name: componentName,
32331
32660
  index: i
32332
32661
  },
@@ -32343,16 +32672,18 @@ var useComponentList = (config, ui) => {
32343
32672
  );
32344
32673
  if (remainingComponents.length > 0 && !((_a = ui.componentList.other) == null ? void 0 : _a.components) && ((_b = ui.componentList.other) == null ? void 0 : _b.visible) !== false) {
32345
32674
  _componentList.push(
32346
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
32675
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
32347
32676
  ComponentList,
32348
32677
  {
32349
32678
  id: "other",
32350
32679
  title: ((_c = ui.componentList.other) == null ? void 0 : _c.title) || "Other",
32351
32680
  children: remainingComponents.map((componentName, i) => {
32352
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
32681
+ var _a2;
32682
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
32353
32683
  ComponentList.Item,
32354
32684
  {
32355
32685
  name: componentName,
32686
+ label: (_a2 = config.components[componentName]["label"]) != null ? _a2 : componentName,
32356
32687
  index: i
32357
32688
  },
32358
32689
  componentName
@@ -32365,26 +32696,36 @@ var useComponentList = (config, ui) => {
32365
32696
  }
32366
32697
  setComponentList(_componentList);
32367
32698
  }
32368
- }, [config.categories, ui.componentList]);
32699
+ }, [config.categories, config.components, ui.componentList]);
32369
32700
  return componentList;
32370
32701
  };
32371
32702
 
32372
32703
  // components/Puck/components/Components/index.tsx
32373
32704
  var import_react21 = require("react");
32374
- var import_jsx_runtime25 = require("react/jsx-runtime");
32705
+ var import_jsx_runtime28 = require("react/jsx-runtime");
32375
32706
  var Components = () => {
32376
32707
  const { config, state, overrides } = useAppContext();
32377
32708
  const componentList = useComponentList(config, state.ui);
32378
32709
  const Wrapper = (0, import_react21.useMemo)(() => overrides.components || "div", [overrides]);
32379
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Wrapper, { children: componentList ? componentList : /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(ComponentList, { id: "all" }) });
32710
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Wrapper, { children: componentList ? componentList : /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ComponentList, { id: "all" }) });
32380
32711
  };
32381
32712
 
32382
32713
  // components/Puck/components/Preview/index.tsx
32383
32714
  init_react_import();
32384
32715
  var import_react22 = require("react");
32385
- var import_jsx_runtime26 = require("react/jsx-runtime");
32716
+ var import_auto_frame_component = __toESM(require("@measured/auto-frame-component"));
32717
+
32718
+ // components/Puck/components/Preview/styles.module.css
32719
+ var styles_default16 = {
32720
+ PuckPreview: "styles_PuckPreview",
32721
+ "PuckPreview-frame": "styles_PuckPreview-frame"
32722
+ };
32723
+
32724
+ // components/Puck/components/Preview/index.tsx
32725
+ var import_jsx_runtime29 = require("react/jsx-runtime");
32726
+ var getClassName21 = get_class_name_factory_default("PuckPreview", styles_default16);
32386
32727
  var Preview = ({ id = "puck-preview" }) => {
32387
- const { config, dispatch, state } = useAppContext();
32728
+ const { config, dispatch, state, setStatus, iframe } = useAppContext();
32388
32729
  const Page = (0, import_react22.useCallback)(
32389
32730
  (pageProps) => {
32390
32731
  var _a, _b;
@@ -32393,16 +32734,28 @@ var Preview = ({ id = "puck-preview" }) => {
32393
32734
  [config.root]
32394
32735
  );
32395
32736
  const rootProps = state.data.root.props || state.data.root;
32396
- const { disableZoom = false } = (0, import_react22.useContext)(dropZoneContext) || {};
32397
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
32737
+ const ref = (0, import_react22.useRef)(null);
32738
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
32398
32739
  "div",
32399
32740
  {
32741
+ className: getClassName21(),
32400
32742
  id,
32401
32743
  onClick: () => {
32402
32744
  dispatch({ type: "setUi", ui: __spreadProps(__spreadValues({}, state.ui), { itemSelector: null }) });
32403
32745
  },
32404
- style: { zoom: disableZoom ? 1 : 0.75 },
32405
- children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Page, __spreadProps(__spreadValues({ dispatch, state }, rootProps), { children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(DropZone, { zone: rootDroppableId }) }))
32746
+ children: iframe.enabled ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
32747
+ import_auto_frame_component.default,
32748
+ {
32749
+ id: "preview-frame",
32750
+ className: getClassName21("frame"),
32751
+ "data-rfd-iframe": true,
32752
+ ref,
32753
+ onStylesLoaded: () => {
32754
+ setStatus("READY");
32755
+ },
32756
+ children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Page, __spreadProps(__spreadValues({ dispatch, state }, rootProps), { children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(DropZone, { zone: rootDroppableId }) }))
32757
+ }
32758
+ ) : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { id: "preview-frame", className: getClassName21("frame"), children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Page, __spreadProps(__spreadValues({ dispatch, state }, rootProps), { children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(DropZone, { zone: rootDroppableId }) })) })
32406
32759
  }
32407
32760
  );
32408
32761
  };
@@ -32434,9 +32787,24 @@ var areaContainsZones = (data, area) => {
32434
32787
  // components/LayerTree/index.tsx
32435
32788
  init_react_import();
32436
32789
 
32437
- // css-module:/home/runner/work/puck/puck/packages/core/components/LayerTree/styles.module.css#css-module
32438
- init_react_import();
32439
- 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" };
32790
+ // components/LayerTree/styles.module.css
32791
+ var styles_default17 = {
32792
+ LayerTree: "styles_LayerTree",
32793
+ "LayerTree-zoneTitle": "styles_LayerTree-zoneTitle",
32794
+ "LayerTree-helper": "styles_LayerTree-helper",
32795
+ Layer: "styles_Layer",
32796
+ "Layer-inner": "styles_Layer-inner",
32797
+ "Layer--containsZone": "styles_Layer--containsZone",
32798
+ "Layer-clickable": "styles_Layer-clickable",
32799
+ "Layer--isSelected": "styles_Layer--isSelected",
32800
+ "Layer-chevron": "styles_Layer-chevron",
32801
+ "Layer--childIsSelected": "styles_Layer--childIsSelected",
32802
+ "Layer-zones": "styles_Layer-zones",
32803
+ "Layer-title": "styles_Layer-title",
32804
+ "Layer-name": "styles_Layer-name",
32805
+ "Layer-icon": "styles_Layer-icon",
32806
+ "Layer-zoneIcon": "styles_Layer-zoneIcon"
32807
+ };
32440
32808
 
32441
32809
  // lib/scroll-into-view.ts
32442
32810
  init_react_import();
@@ -32464,11 +32832,12 @@ var isChildOfZone = (item, maybeChild, ctx) => {
32464
32832
  };
32465
32833
 
32466
32834
  // components/LayerTree/index.tsx
32467
- var import_jsx_runtime27 = require("react/jsx-runtime");
32468
- var getClassName21 = get_class_name_factory_default("LayerTree", styles_module_default16);
32469
- var getClassNameLayer = get_class_name_factory_default("Layer", styles_module_default16);
32835
+ var import_jsx_runtime30 = require("react/jsx-runtime");
32836
+ var getClassName22 = get_class_name_factory_default("LayerTree", styles_default17);
32837
+ var getClassNameLayer = get_class_name_factory_default("Layer", styles_default17);
32470
32838
  var LayerTree = ({
32471
32839
  data,
32840
+ config,
32472
32841
  zoneContent,
32473
32842
  itemSelector,
32474
32843
  setItemSelector,
@@ -32477,15 +32846,16 @@ var LayerTree = ({
32477
32846
  }) => {
32478
32847
  const zones = data.zones || {};
32479
32848
  const ctx = (0, import_react23.useContext)(dropZoneContext);
32480
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_jsx_runtime27.Fragment, { children: [
32481
- label && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: getClassName21("zoneTitle"), children: [
32482
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: getClassName21("zoneIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Layers, { size: "16" }) }),
32849
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_jsx_runtime30.Fragment, { children: [
32850
+ label && /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: getClassName22("zoneTitle"), children: [
32851
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: getClassName22("zoneIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Layers, { size: "16" }) }),
32483
32852
  " ",
32484
32853
  label
32485
32854
  ] }),
32486
- /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("ul", { className: getClassName21(), children: [
32487
- zoneContent.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: getClassName21("helper"), children: "No items" }),
32855
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("ul", { className: getClassName22(), children: [
32856
+ zoneContent.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: getClassName22("helper"), children: "No items" }),
32488
32857
  zoneContent.map((item, i) => {
32858
+ var _a;
32489
32859
  const isSelected = (itemSelector == null ? void 0 : itemSelector.index) === i && (itemSelector.zone === zone || itemSelector.zone === rootDroppableId && !zone);
32490
32860
  const zonesForItem = findZonesForArea(data, item.props.id);
32491
32861
  const containsZone = Object.keys(zonesForItem).length > 0;
@@ -32499,7 +32869,7 @@ var LayerTree = ({
32499
32869
  const selectedItem = itemSelector && data ? getItem(itemSelector, data) : null;
32500
32870
  const isHovering = hoveringComponent === item.props.id;
32501
32871
  const childIsSelected = isChildOfZone(item, selectedItem, ctx);
32502
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
32872
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
32503
32873
  "li",
32504
32874
  {
32505
32875
  className: getClassNameLayer({
@@ -32509,7 +32879,7 @@ var LayerTree = ({
32509
32879
  childIsSelected
32510
32880
  }),
32511
32881
  children: [
32512
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: getClassNameLayer("inner"), children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
32882
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: getClassNameLayer("inner"), children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
32513
32883
  "button",
32514
32884
  {
32515
32885
  className: getClassNameLayer("clickable"),
@@ -32523,8 +32893,9 @@ var LayerTree = ({
32523
32893
  zone
32524
32894
  });
32525
32895
  const id = zoneContent[i].props.id;
32896
+ const frame = getFrame();
32526
32897
  scrollIntoView(
32527
- document.querySelector(
32898
+ frame == null ? void 0 : frame.querySelector(
32528
32899
  `[data-rfd-drag-handle-draggable-id="draggable-${id}"]`
32529
32900
  )
32530
32901
  );
@@ -32540,24 +32911,25 @@ var LayerTree = ({
32540
32911
  setHoveringComponent(null);
32541
32912
  },
32542
32913
  children: [
32543
- containsZone && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
32914
+ containsZone && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
32544
32915
  "div",
32545
32916
  {
32546
32917
  className: getClassNameLayer("chevron"),
32547
32918
  title: isSelected ? "Collapse" : "Expand",
32548
- children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(ChevronDown, { size: "12" })
32919
+ children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(ChevronDown, { size: "12" })
32549
32920
  }
32550
32921
  ),
32551
- /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: getClassNameLayer("title"), children: [
32552
- /* @__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" }) }),
32553
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: getClassNameLayer("name"), children: item.type })
32922
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: getClassNameLayer("title"), children: [
32923
+ /* @__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" }) }),
32924
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: getClassNameLayer("name"), children: (_a = config.components[item.type]["label"]) != null ? _a : item.type })
32554
32925
  ] })
32555
32926
  ]
32556
32927
  }
32557
32928
  ) }),
32558
- containsZone && Object.keys(zonesForItem).map((zoneKey, idx) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: getClassNameLayer("zones"), children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
32929
+ containsZone && Object.keys(zonesForItem).map((zoneKey, idx) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: getClassNameLayer("zones"), children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
32559
32930
  LayerTree,
32560
32931
  {
32932
+ config,
32561
32933
  data,
32562
32934
  zoneContent: zones[zoneKey],
32563
32935
  setItemSelector,
@@ -32577,9 +32949,9 @@ var LayerTree = ({
32577
32949
 
32578
32950
  // components/Puck/components/Outline/index.tsx
32579
32951
  var import_react24 = require("react");
32580
- var import_jsx_runtime28 = require("react/jsx-runtime");
32952
+ var import_jsx_runtime31 = require("react/jsx-runtime");
32581
32953
  var Outline = () => {
32582
- const { dispatch, state, overrides } = useAppContext();
32954
+ const { dispatch, state, overrides, config } = useAppContext();
32583
32955
  const { data, ui } = state;
32584
32956
  const { itemSelector } = ui;
32585
32957
  const setItemSelector = (0, import_react24.useCallback)(
@@ -32592,10 +32964,11 @@ var Outline = () => {
32592
32964
  []
32593
32965
  );
32594
32966
  const Wrapper = (0, import_react24.useMemo)(() => overrides.outline || "div", [overrides]);
32595
- 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: [
32596
- (ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId]) && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
32967
+ 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: [
32968
+ (ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId]) && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
32597
32969
  LayerTree,
32598
32970
  {
32971
+ config,
32599
32972
  data,
32600
32973
  label: areaContainsZones(data, "root") ? rootDroppableId : "",
32601
32974
  zoneContent: data.content,
@@ -32605,9 +32978,10 @@ var Outline = () => {
32605
32978
  ),
32606
32979
  Object.entries(findZonesForArea(data, "root")).map(
32607
32980
  ([zoneKey, zone]) => {
32608
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
32981
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
32609
32982
  LayerTree,
32610
32983
  {
32984
+ config,
32611
32985
  data,
32612
32986
  label: zoneKey,
32613
32987
  zone: zoneKey,
@@ -32731,14 +33105,441 @@ function useHistoryStore() {
32731
33105
  };
32732
33106
  }
32733
33107
 
33108
+ // components/Puck/components/Canvas/index.tsx
33109
+ init_react_import();
33110
+
33111
+ // ../../node_modules/css-box-model/dist/css-box-model.esm.js
33112
+ init_react_import();
33113
+
33114
+ // ../../node_modules/tiny-invariant/dist/esm/tiny-invariant.js
33115
+ init_react_import();
33116
+ var isProduction = process.env.NODE_ENV === "production";
33117
+ var prefix = "Invariant failed";
33118
+ function invariant(condition, message) {
33119
+ if (condition) {
33120
+ return;
33121
+ }
33122
+ if (isProduction) {
33123
+ throw new Error(prefix);
33124
+ }
33125
+ var provided = typeof message === "function" ? message() : message;
33126
+ var value = provided ? "".concat(prefix, ": ").concat(provided) : prefix;
33127
+ throw new Error(value);
33128
+ }
33129
+
33130
+ // ../../node_modules/css-box-model/dist/css-box-model.esm.js
33131
+ var getRect = function getRect2(_ref) {
33132
+ var top = _ref.top, right = _ref.right, bottom = _ref.bottom, left = _ref.left;
33133
+ var width = right - left;
33134
+ var height = bottom - top;
33135
+ var rect = {
33136
+ top,
33137
+ right,
33138
+ bottom,
33139
+ left,
33140
+ width,
33141
+ height,
33142
+ x: left,
33143
+ y: top,
33144
+ center: {
33145
+ x: (right + left) / 2,
33146
+ y: (bottom + top) / 2
33147
+ }
33148
+ };
33149
+ return rect;
33150
+ };
33151
+ var expand = function expand2(target, expandBy) {
33152
+ return {
33153
+ top: target.top - expandBy.top,
33154
+ left: target.left - expandBy.left,
33155
+ bottom: target.bottom + expandBy.bottom,
33156
+ right: target.right + expandBy.right
33157
+ };
33158
+ };
33159
+ var shrink = function shrink2(target, shrinkBy) {
33160
+ return {
33161
+ top: target.top + shrinkBy.top,
33162
+ left: target.left + shrinkBy.left,
33163
+ bottom: target.bottom - shrinkBy.bottom,
33164
+ right: target.right - shrinkBy.right
33165
+ };
33166
+ };
33167
+ var noSpacing = {
33168
+ top: 0,
33169
+ right: 0,
33170
+ bottom: 0,
33171
+ left: 0
33172
+ };
33173
+ var createBox = function createBox2(_ref2) {
33174
+ 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;
33175
+ var marginBox = getRect(expand(borderBox, margin));
33176
+ var paddingBox = getRect(shrink(borderBox, border));
33177
+ var contentBox = getRect(shrink(paddingBox, padding));
33178
+ return {
33179
+ marginBox,
33180
+ borderBox: getRect(borderBox),
33181
+ paddingBox,
33182
+ contentBox,
33183
+ margin,
33184
+ border,
33185
+ padding
33186
+ };
33187
+ };
33188
+ var parse = function parse2(raw) {
33189
+ var value = raw.slice(0, -2);
33190
+ var suffix = raw.slice(-2);
33191
+ if (suffix !== "px") {
33192
+ return 0;
33193
+ }
33194
+ var result = Number(value);
33195
+ !!isNaN(result) ? process.env.NODE_ENV !== "production" ? invariant(false, "Could not parse value [raw: " + raw + ", without suffix: " + value + "]") : invariant(false) : void 0;
33196
+ return result;
33197
+ };
33198
+ var calculateBox = function calculateBox2(borderBox, styles) {
33199
+ var margin = {
33200
+ top: parse(styles.marginTop),
33201
+ right: parse(styles.marginRight),
33202
+ bottom: parse(styles.marginBottom),
33203
+ left: parse(styles.marginLeft)
33204
+ };
33205
+ var padding = {
33206
+ top: parse(styles.paddingTop),
33207
+ right: parse(styles.paddingRight),
33208
+ bottom: parse(styles.paddingBottom),
33209
+ left: parse(styles.paddingLeft)
33210
+ };
33211
+ var border = {
33212
+ top: parse(styles.borderTopWidth),
33213
+ right: parse(styles.borderRightWidth),
33214
+ bottom: parse(styles.borderBottomWidth),
33215
+ left: parse(styles.borderLeftWidth)
33216
+ };
33217
+ return createBox({
33218
+ borderBox,
33219
+ margin,
33220
+ padding,
33221
+ border
33222
+ });
33223
+ };
33224
+ var getBox = function getBox2(el) {
33225
+ var borderBox = el.getBoundingClientRect();
33226
+ var styles = window.getComputedStyle(el);
33227
+ return calculateBox(borderBox, styles);
33228
+ };
33229
+
33230
+ // components/Puck/components/Canvas/index.tsx
33231
+ var import_react27 = require("react");
33232
+
33233
+ // components/ViewportControls/index.tsx
33234
+ init_react_import();
33235
+ var import_react26 = require("react");
33236
+
33237
+ // components/ViewportControls/styles.module.css
33238
+ var styles_default18 = {
33239
+ ViewportControls: "styles_ViewportControls",
33240
+ "ViewportControls-divider": "styles_ViewportControls-divider",
33241
+ "ViewportControls-zoomSelect": "styles_ViewportControls-zoomSelect",
33242
+ "ViewportButton--isActive": "styles_ViewportButton--isActive",
33243
+ "ViewportButton-inner": "styles_ViewportButton-inner"
33244
+ };
33245
+
33246
+ // components/ViewportControls/index.tsx
33247
+ var import_jsx_runtime32 = require("react/jsx-runtime");
33248
+ var icons = {
33249
+ Smartphone: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Smartphone, { size: 16 }),
33250
+ Tablet: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Tablet, { size: 16 }),
33251
+ Monitor: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Monitor, { size: 16 })
33252
+ };
33253
+ var getClassName23 = get_class_name_factory_default("ViewportControls", styles_default18);
33254
+ var getClassNameButton = get_class_name_factory_default("ViewportButton", styles_default18);
33255
+ var ViewportButton = ({
33256
+ children,
33257
+ height = "auto",
33258
+ title,
33259
+ width,
33260
+ onClick
33261
+ }) => {
33262
+ const { state } = useAppContext();
33263
+ const [isActive, setIsActive] = (0, import_react26.useState)(false);
33264
+ (0, import_react26.useEffect)(() => {
33265
+ setIsActive(width === state.ui.viewports.current.width);
33266
+ }, [width, state.ui.viewports.current.width]);
33267
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: getClassNameButton({ isActive }), children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
33268
+ IconButton,
33269
+ {
33270
+ title,
33271
+ disabled: isActive,
33272
+ onClick: (e) => {
33273
+ e.stopPropagation();
33274
+ onClick({ width, height });
33275
+ },
33276
+ children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: getClassNameButton("inner"), children })
33277
+ }
33278
+ ) });
33279
+ };
33280
+ var defaultZoomOptions = [
33281
+ { label: "25%", value: 0.25 },
33282
+ { label: "50%", value: 0.5 },
33283
+ { label: "75%", value: 0.75 },
33284
+ { label: "100%", value: 1 },
33285
+ { label: "125%", value: 1.25 },
33286
+ { label: "150%", value: 1.5 },
33287
+ { label: "200%", value: 2 }
33288
+ ];
33289
+ var ViewportControls = ({
33290
+ autoZoom,
33291
+ zoom,
33292
+ onViewportChange,
33293
+ onZoom
33294
+ }) => {
33295
+ const { viewports } = useAppContext();
33296
+ const defaultsContainAutoZoom = defaultZoomOptions.find(
33297
+ (option) => option.value === autoZoom
33298
+ );
33299
+ const zoomOptions = (0, import_react26.useMemo)(
33300
+ () => [
33301
+ ...defaultZoomOptions,
33302
+ ...defaultsContainAutoZoom ? [] : [
33303
+ {
33304
+ value: autoZoom,
33305
+ label: `${(autoZoom * 100).toFixed(0)}% (Auto)`
33306
+ }
33307
+ ]
33308
+ ].filter((a) => a.value <= autoZoom).sort((a, b) => a.value > b.value ? 1 : -1),
33309
+ [autoZoom]
33310
+ );
33311
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: getClassName23(), children: [
33312
+ viewports.map((viewport, i) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
33313
+ ViewportButton,
33314
+ {
33315
+ height: viewport.height,
33316
+ width: viewport.width,
33317
+ title: viewport.label ? `Switch to ${viewport.label} viewport` : "Switch viewport",
33318
+ onClick: onViewportChange,
33319
+ children: typeof viewport.icon === "string" ? icons[viewport.icon] || viewport.icon : viewport.icon || icons.Smartphone
33320
+ },
33321
+ i
33322
+ )),
33323
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: getClassName23("divider") }),
33324
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
33325
+ IconButton,
33326
+ {
33327
+ title: "Zoom viewport out",
33328
+ disabled: zoom <= zoomOptions[0].value,
33329
+ onClick: (e) => {
33330
+ e.stopPropagation();
33331
+ onZoom(
33332
+ zoomOptions[Math.max(
33333
+ zoomOptions.findIndex((option) => option.value === zoom) - 1,
33334
+ 0
33335
+ )].value
33336
+ );
33337
+ },
33338
+ children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ZoomOut, { size: 16 })
33339
+ }
33340
+ ),
33341
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
33342
+ IconButton,
33343
+ {
33344
+ title: "Zoom viewport in",
33345
+ disabled: zoom >= zoomOptions[zoomOptions.length - 1].value,
33346
+ onClick: (e) => {
33347
+ e.stopPropagation();
33348
+ onZoom(
33349
+ zoomOptions[Math.min(
33350
+ zoomOptions.findIndex((option) => option.value === zoom) + 1,
33351
+ zoomOptions.length - 1
33352
+ )].value
33353
+ );
33354
+ },
33355
+ children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ZoomIn, { size: 16 })
33356
+ }
33357
+ ),
33358
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: getClassName23("divider") }),
33359
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
33360
+ "select",
33361
+ {
33362
+ className: getClassName23("zoomSelect"),
33363
+ value: zoom.toString(),
33364
+ onChange: (e) => {
33365
+ onZoom(parseFloat(e.currentTarget.value));
33366
+ },
33367
+ children: zoomOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
33368
+ "option",
33369
+ {
33370
+ value: option.value,
33371
+ label: option.label
33372
+ },
33373
+ option.label
33374
+ ))
33375
+ }
33376
+ )
33377
+ ] });
33378
+ };
33379
+
33380
+ // components/Puck/components/Canvas/styles.module.css
33381
+ var styles_default19 = {
33382
+ PuckCanvas: "styles_PuckCanvas",
33383
+ "PuckCanvas-controls": "styles_PuckCanvas-controls",
33384
+ "PuckCanvas-inner": "styles_PuckCanvas-inner",
33385
+ "PuckCanvas-root": "styles_PuckCanvas-root",
33386
+ "PuckCanvas--ready": "styles_PuckCanvas--ready"
33387
+ };
33388
+
33389
+ // lib/get-zoom-config.ts
33390
+ init_react_import();
33391
+ var RESET_ZOOM_SMALLER_THAN_FRAME = true;
33392
+ var getZoomConfig = (uiViewport, frame, zoom) => {
33393
+ const box = getBox(frame);
33394
+ const { width: frameWidth, height: frameHeight } = box.contentBox;
33395
+ const viewportHeight = uiViewport.height === "auto" ? frameHeight : uiViewport.height;
33396
+ let rootHeight = 0;
33397
+ let autoZoom = 1;
33398
+ if (uiViewport.width > frameWidth || viewportHeight > frameHeight) {
33399
+ const widthZoom = Math.min(frameWidth / uiViewport.width, 1);
33400
+ const heightZoom = Math.min(frameHeight / viewportHeight, 1);
33401
+ zoom = widthZoom;
33402
+ if (widthZoom < heightZoom) {
33403
+ rootHeight = viewportHeight / zoom;
33404
+ } else {
33405
+ rootHeight = viewportHeight;
33406
+ zoom = heightZoom;
33407
+ }
33408
+ autoZoom = zoom;
33409
+ } else {
33410
+ if (RESET_ZOOM_SMALLER_THAN_FRAME) {
33411
+ autoZoom = 1;
33412
+ zoom = 1;
33413
+ rootHeight = viewportHeight;
33414
+ }
33415
+ }
33416
+ return { autoZoom, rootHeight, zoom };
33417
+ };
33418
+
33419
+ // components/Puck/components/Canvas/index.tsx
33420
+ var import_jsx_runtime33 = require("react/jsx-runtime");
33421
+ var getClassName24 = get_class_name_factory_default("PuckCanvas", styles_default19);
33422
+ var ZOOM_ON_CHANGE = true;
33423
+ var Canvas = () => {
33424
+ const { status, iframe } = useAppContext();
33425
+ const { dispatch, state, overrides, setUi, zoomConfig, setZoomConfig } = useAppContext();
33426
+ const { ui } = state;
33427
+ const frameRef = (0, import_react27.useRef)(null);
33428
+ const [showTransition, setShowTransition] = (0, import_react27.useState)(false);
33429
+ const defaultRender = (0, import_react27.useMemo)(() => {
33430
+ const PuckDefault = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_jsx_runtime33.Fragment, { children });
33431
+ return PuckDefault;
33432
+ }, []);
33433
+ const CustomPreview = (0, import_react27.useMemo)(
33434
+ () => overrides.preview || defaultRender,
33435
+ [overrides]
33436
+ );
33437
+ const getFrameDimensions = (0, import_react27.useCallback)(() => {
33438
+ if (frameRef.current) {
33439
+ const frame = frameRef.current;
33440
+ const box = getBox(frame);
33441
+ return { width: box.contentBox.width, height: box.contentBox.height };
33442
+ }
33443
+ return { width: 0, height: 0 };
33444
+ }, [frameRef]);
33445
+ const resetAutoZoom = (0, import_react27.useCallback)(
33446
+ (ui2 = state.ui) => {
33447
+ if (frameRef.current) {
33448
+ setZoomConfig(
33449
+ getZoomConfig(ui2.viewports.current, frameRef.current, zoomConfig.zoom)
33450
+ );
33451
+ }
33452
+ },
33453
+ [frameRef, zoomConfig, state.ui]
33454
+ );
33455
+ (0, import_react27.useEffect)(() => {
33456
+ setShowTransition(false);
33457
+ resetAutoZoom();
33458
+ }, [frameRef, ui.leftSideBarVisible, ui.rightSideBarVisible]);
33459
+ (0, import_react27.useEffect)(() => {
33460
+ const { height: frameHeight } = getFrameDimensions();
33461
+ if (ui.viewports.current.height === "auto") {
33462
+ setZoomConfig(__spreadProps(__spreadValues({}, zoomConfig), {
33463
+ rootHeight: frameHeight / zoomConfig.zoom
33464
+ }));
33465
+ }
33466
+ }, [zoomConfig.zoom]);
33467
+ (0, import_react27.useEffect)(() => {
33468
+ const observer = new ResizeObserver(() => {
33469
+ setShowTransition(false);
33470
+ resetAutoZoom();
33471
+ });
33472
+ if (document.body) {
33473
+ observer.observe(document.body);
33474
+ }
33475
+ return () => {
33476
+ observer.disconnect();
33477
+ };
33478
+ }, []);
33479
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
33480
+ "div",
33481
+ {
33482
+ className: getClassName24({
33483
+ ready: status === "READY" || !iframe.enabled
33484
+ }),
33485
+ onClick: () => dispatch({
33486
+ type: "setUi",
33487
+ ui: { itemSelector: null },
33488
+ recordHistory: true
33489
+ }),
33490
+ children: [
33491
+ ui.viewports.controlsVisible && iframe.enabled && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: getClassName24("controls"), children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
33492
+ ViewportControls,
33493
+ {
33494
+ autoZoom: zoomConfig.autoZoom,
33495
+ zoom: zoomConfig.zoom,
33496
+ onViewportChange: (viewport) => {
33497
+ setShowTransition(true);
33498
+ const uiViewport = __spreadProps(__spreadValues({}, viewport), {
33499
+ height: viewport.height || "auto",
33500
+ zoom: zoomConfig.zoom
33501
+ });
33502
+ const newUi = __spreadProps(__spreadValues({}, ui), {
33503
+ viewports: __spreadProps(__spreadValues({}, ui.viewports), { current: uiViewport })
33504
+ });
33505
+ setUi(newUi);
33506
+ if (ZOOM_ON_CHANGE) {
33507
+ resetAutoZoom(newUi);
33508
+ }
33509
+ },
33510
+ onZoom: (zoom) => {
33511
+ setShowTransition(true);
33512
+ setZoomConfig(__spreadProps(__spreadValues({}, zoomConfig), { zoom }));
33513
+ }
33514
+ }
33515
+ ) }),
33516
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: getClassName24("inner"), ref: frameRef, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
33517
+ "div",
33518
+ {
33519
+ className: getClassName24("root"),
33520
+ style: {
33521
+ width: iframe.enabled ? ui.viewports.current.width : void 0,
33522
+ height: zoomConfig.rootHeight,
33523
+ transform: iframe.enabled ? `scale(${zoomConfig.zoom})` : void 0,
33524
+ transition: showTransition ? "width 150ms ease-out, height 150ms ease-out, transform 150ms ease-out" : "",
33525
+ overflow: iframe.enabled ? void 0 : "auto"
33526
+ },
33527
+ children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(CustomPreview, { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Preview, {}) })
33528
+ }
33529
+ ) })
33530
+ ]
33531
+ }
33532
+ );
33533
+ };
33534
+
32734
33535
  // components/Puck/index.tsx
32735
- var import_jsx_runtime29 = require("react/jsx-runtime");
32736
- var getClassName22 = get_class_name_factory_default("Puck", styles_module_default8);
33536
+ var import_jsx_runtime34 = require("react/jsx-runtime");
33537
+ var getClassName25 = get_class_name_factory_default("Puck", styles_default8);
32737
33538
  function Puck({
32738
33539
  children,
32739
33540
  config,
32740
33541
  data: initialData = { content: [], root: { props: { title: "" } } },
32741
- ui: initialUi = defaultAppState.ui,
33542
+ ui: initialUi,
32742
33543
  onChange,
32743
33544
  onPublish,
32744
33545
  plugins = [],
@@ -32746,32 +33547,63 @@ function Puck({
32746
33547
  renderHeader,
32747
33548
  renderHeaderActions,
32748
33549
  headerTitle,
32749
- headerPath
33550
+ headerPath,
33551
+ viewports = defaultViewports,
33552
+ iframe = {
33553
+ enabled: true
33554
+ }
32750
33555
  }) {
33556
+ var _a;
32751
33557
  const historyStore = useHistoryStore();
32752
- const [reducer] = (0, import_react26.useState)(
33558
+ const [reducer] = (0, import_react28.useState)(
32753
33559
  () => createReducer({ config, record: historyStore.record })
32754
33560
  );
32755
- const [initialAppState] = (0, import_react26.useState)(() => __spreadProps(__spreadValues({}, defaultAppState), {
32756
- data: initialData,
32757
- ui: __spreadProps(__spreadValues(__spreadValues({}, defaultAppState.ui), initialUi), {
32758
- // Store categories under componentList on state to allow render functions and plugins to modify
32759
- componentList: config.categories ? Object.entries(config.categories).reduce(
32760
- (acc, [categoryName, category]) => {
32761
- return __spreadProps(__spreadValues({}, acc), {
32762
- [categoryName]: {
32763
- title: category.title,
32764
- components: category.components,
32765
- expanded: category.defaultExpanded,
32766
- visible: category.visible
32767
- }
32768
- });
32769
- },
32770
- {}
32771
- ) : {}
32772
- })
32773
- }));
32774
- const [appState, dispatch] = (0, import_react26.useReducer)(
33561
+ const [initialAppState] = (0, import_react28.useState)(() => {
33562
+ var _a2, _b, _c, _d;
33563
+ const initial = __spreadValues(__spreadValues({}, defaultAppState.ui), initialUi);
33564
+ let clientUiState = {};
33565
+ if (typeof window !== "undefined") {
33566
+ const viewportWidth = window.innerWidth;
33567
+ const viewportDifferences = Object.entries(viewports).map(([key, value]) => ({
33568
+ key,
33569
+ diff: Math.abs(viewportWidth - value.width)
33570
+ })).sort((a, b) => a.diff > b.diff ? 1 : -1);
33571
+ const closestViewport = viewportDifferences[0].key;
33572
+ if (iframe.enabled) {
33573
+ clientUiState = __spreadProps(__spreadValues({}, window.matchMedia("(min-width: 638px)").matches ? {} : {
33574
+ leftSideBarVisible: false,
33575
+ rightSideBarVisible: false
33576
+ }), {
33577
+ viewports: __spreadProps(__spreadValues({}, initial.viewports), {
33578
+ current: __spreadProps(__spreadValues({}, initial.viewports.current), {
33579
+ height: ((_b = (_a2 = initialUi == null ? void 0 : initialUi.viewports) == null ? void 0 : _a2.current) == null ? void 0 : _b.height) || viewports[closestViewport].height || "auto",
33580
+ width: ((_d = (_c = initialUi == null ? void 0 : initialUi.viewports) == null ? void 0 : _c.current) == null ? void 0 : _d.width) || viewports[closestViewport].width
33581
+ })
33582
+ })
33583
+ });
33584
+ }
33585
+ }
33586
+ return __spreadProps(__spreadValues({}, defaultAppState), {
33587
+ data: initialData,
33588
+ ui: __spreadProps(__spreadValues(__spreadValues({}, initial), clientUiState), {
33589
+ // Store categories under componentList on state to allow render functions and plugins to modify
33590
+ componentList: config.categories ? Object.entries(config.categories).reduce(
33591
+ (acc, [categoryName, category]) => {
33592
+ return __spreadProps(__spreadValues({}, acc), {
33593
+ [categoryName]: {
33594
+ title: category.title,
33595
+ components: category.components,
33596
+ expanded: category.defaultExpanded,
33597
+ visible: category.visible
33598
+ }
33599
+ });
33600
+ },
33601
+ {}
33602
+ ) : {}
33603
+ })
33604
+ });
33605
+ });
33606
+ const [appState, dispatch] = (0, import_react28.useReducer)(
32775
33607
  reducer,
32776
33608
  flushZones(initialAppState)
32777
33609
  );
@@ -32782,9 +33614,9 @@ function Puck({
32782
33614
  config,
32783
33615
  dispatch
32784
33616
  );
32785
- const [menuOpen, setMenuOpen] = (0, import_react26.useState)(false);
33617
+ const [menuOpen, setMenuOpen] = (0, import_react28.useState)(false);
32786
33618
  const { itemSelector, leftSideBarVisible, rightSideBarVisible } = ui;
32787
- const setItemSelector = (0, import_react26.useCallback)(
33619
+ const setItemSelector = (0, import_react28.useCallback)(
32788
33620
  (newItemSelector) => {
32789
33621
  if (newItemSelector === itemSelector)
32790
33622
  return;
@@ -32797,21 +33629,21 @@ function Puck({
32797
33629
  [itemSelector]
32798
33630
  );
32799
33631
  const selectedItem = itemSelector ? getItem(itemSelector, data) : null;
32800
- (0, import_react26.useEffect)(() => {
33632
+ (0, import_react28.useEffect)(() => {
32801
33633
  if (onChange)
32802
33634
  onChange(data);
32803
33635
  }, [data]);
32804
33636
  const { onDragStartOrUpdate, placeholderStyle } = usePlaceholderStyle();
32805
- const [draggedItem, setDraggedItem] = (0, import_react26.useState)();
33637
+ const [draggedItem, setDraggedItem] = (0, import_react28.useState)();
32806
33638
  const rootProps = data.root.props || data.root;
32807
- (0, import_react26.useEffect)(() => {
33639
+ (0, import_react28.useEffect)(() => {
32808
33640
  if (Object.keys(data.root).length > 0 && !data.root.props) {
32809
33641
  console.error(
32810
33642
  "Warning: Defining props on `root` is deprecated. Please use `root.props`. This will be a breaking change in a future release."
32811
33643
  );
32812
33644
  }
32813
33645
  }, []);
32814
- const toggleSidebars = (0, import_react26.useCallback)(
33646
+ const toggleSidebars = (0, import_react28.useCallback)(
32815
33647
  (sidebar) => {
32816
33648
  const widerViewport = window.matchMedia("(min-width: 638px)").matches;
32817
33649
  const sideBarVisible = sidebar === "left" ? leftSideBarVisible : rightSideBarVisible;
@@ -32825,7 +33657,7 @@ function Puck({
32825
33657
  },
32826
33658
  [dispatch, leftSideBarVisible, rightSideBarVisible]
32827
33659
  );
32828
- (0, import_react26.useEffect)(() => {
33660
+ (0, import_react28.useEffect)(() => {
32829
33661
  if (!window.matchMedia("(min-width: 638px)").matches) {
32830
33662
  dispatch({
32831
33663
  type: "setUi",
@@ -32848,59 +33680,54 @@ function Puck({
32848
33680
  window.removeEventListener("resize", handleResize);
32849
33681
  };
32850
33682
  }, []);
32851
- const defaultRender = (0, import_react26.useMemo)(() => {
32852
- const PuckDefault = ({ children: children2 }) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_jsx_runtime29.Fragment, { children: children2 });
33683
+ const defaultRender = (0, import_react28.useMemo)(() => {
33684
+ const PuckDefault = ({ children: children2 }) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_jsx_runtime34.Fragment, { children: children2 });
32853
33685
  return PuckDefault;
32854
33686
  }, []);
32855
- const defaultHeaderRender = (0, import_react26.useMemo)(() => {
33687
+ const defaultHeaderRender = (0, import_react28.useMemo)(() => {
32856
33688
  if (renderHeader) {
32857
33689
  console.warn(
32858
33690
  "`renderHeader` is deprecated. Please use `overrides.header` and the `usePuck` hook instead"
32859
33691
  );
32860
- const RenderHeader = (_a) => {
32861
- var _b = _a, { actions } = _b, props = __objRest(_b, ["actions"]);
33692
+ const RenderHeader = (_a2) => {
33693
+ var _b = _a2, { actions } = _b, props = __objRest(_b, ["actions"]);
32862
33694
  const Comp = renderHeader;
32863
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState, children: actions }));
33695
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState, children: actions }));
32864
33696
  };
32865
33697
  return RenderHeader;
32866
33698
  }
32867
33699
  return defaultRender;
32868
33700
  }, [renderHeader]);
32869
- const defaultHeaderActionsRender = (0, import_react26.useMemo)(() => {
33701
+ const defaultHeaderActionsRender = (0, import_react28.useMemo)(() => {
32870
33702
  if (renderHeaderActions) {
32871
33703
  console.warn(
32872
33704
  "`renderHeaderActions` is deprecated. Please use `overrides.headerActions` and the `usePuck` hook instead."
32873
33705
  );
32874
33706
  const RenderHeader = (props) => {
32875
33707
  const Comp = renderHeaderActions;
32876
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState }));
33708
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState }));
32877
33709
  };
32878
33710
  return RenderHeader;
32879
33711
  }
32880
33712
  return defaultRender;
32881
33713
  }, [renderHeader]);
32882
- const loadedOverrides = (0, import_react26.useMemo)(() => {
33714
+ const loadedOverrides = (0, import_react28.useMemo)(() => {
32883
33715
  return loadOverrides({ overrides, plugins });
32884
33716
  }, [plugins]);
32885
- const CustomPuck = (0, import_react26.useMemo)(
33717
+ const CustomPuck = (0, import_react28.useMemo)(
32886
33718
  () => loadedOverrides.puck || defaultRender,
32887
33719
  [loadedOverrides]
32888
33720
  );
32889
- const CustomPreview = (0, import_react26.useMemo)(
32890
- () => loadedOverrides.preview || defaultRender,
32891
- [loadedOverrides]
32892
- );
32893
- const CustomHeader = (0, import_react26.useMemo)(
33721
+ const CustomHeader = (0, import_react28.useMemo)(
32894
33722
  () => loadedOverrides.header || defaultHeaderRender,
32895
33723
  [loadedOverrides]
32896
33724
  );
32897
- const CustomHeaderActions = (0, import_react26.useMemo)(
33725
+ const CustomHeaderActions = (0, import_react28.useMemo)(
32898
33726
  () => loadedOverrides.headerActions || defaultHeaderActionsRender,
32899
33727
  [loadedOverrides]
32900
33728
  );
32901
- const disableZoom = children || loadedOverrides.puck ? true : false;
32902
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "Puck", children: [
32903
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33729
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "Puck", children: [
33730
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
32904
33731
  AppProvider,
32905
33732
  {
32906
33733
  value: {
@@ -32911,10 +33738,12 @@ function Puck({
32911
33738
  resolveData,
32912
33739
  plugins,
32913
33740
  overrides: loadedOverrides,
32914
- history
33741
+ history,
33742
+ viewports,
33743
+ iframe
32915
33744
  },
32916
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
32917
- import_dnd7.DragDropContext,
33745
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33746
+ DragDropContext,
32918
33747
  {
32919
33748
  onDragUpdate: (update) => {
32920
33749
  setDraggedItem(__spreadValues(__spreadValues({}, draggedItem), update));
@@ -32968,7 +33797,7 @@ function Puck({
32968
33797
  });
32969
33798
  }
32970
33799
  },
32971
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33800
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
32972
33801
  DropZoneProvider,
32973
33802
  {
32974
33803
  value: {
@@ -32980,77 +33809,75 @@ function Puck({
32980
33809
  draggedItem,
32981
33810
  placeholderStyle,
32982
33811
  mode: "edit",
32983
- areaId: "root",
32984
- disableZoom
33812
+ areaId: "root"
32985
33813
  },
32986
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(CustomPuck, { children: children || /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
33814
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CustomPuck, { children: children || /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
32987
33815
  "div",
32988
33816
  {
32989
- className: getClassName22({
33817
+ className: getClassName25({
32990
33818
  leftSideBarVisible,
32991
33819
  menuOpen,
32992
- rightSideBarVisible,
32993
- disableZoom
33820
+ rightSideBarVisible
32994
33821
  }),
32995
33822
  children: [
32996
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33823
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
32997
33824
  CustomHeader,
32998
33825
  {
32999
- actions: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
33000
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(CustomHeaderActions, {}),
33001
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33826
+ actions: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
33827
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CustomHeaderActions, {}),
33828
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33002
33829
  Button,
33003
33830
  {
33004
33831
  onClick: () => {
33005
33832
  onPublish && onPublish(data);
33006
33833
  },
33007
- icon: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Globe, { size: "14px" }),
33834
+ icon: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Globe, { size: "14px" }),
33008
33835
  children: "Publish"
33009
33836
  }
33010
33837
  )
33011
33838
  ] }),
33012
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("header", { className: getClassName22("header"), children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: getClassName22("headerInner"), children: [
33013
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: getClassName22("headerToggle"), children: [
33014
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: getClassName22("leftSideBarToggle"), children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33839
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("header", { className: getClassName25("header"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName25("headerInner"), children: [
33840
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName25("headerToggle"), children: [
33841
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName25("leftSideBarToggle"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33015
33842
  IconButton,
33016
33843
  {
33017
33844
  onClick: () => {
33018
33845
  toggleSidebars("left");
33019
33846
  },
33020
33847
  title: "Toggle left sidebar",
33021
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(PanelLeft, { focusable: "false" })
33848
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(PanelLeft, { focusable: "false" })
33022
33849
  }
33023
33850
  ) }),
33024
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: getClassName22("rightSideBarToggle"), children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33851
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName25("rightSideBarToggle"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33025
33852
  IconButton,
33026
33853
  {
33027
33854
  onClick: () => {
33028
33855
  toggleSidebars("right");
33029
33856
  },
33030
33857
  title: "Toggle right sidebar",
33031
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(PanelRight, { focusable: "false" })
33858
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(PanelRight, { focusable: "false" })
33032
33859
  }
33033
33860
  ) })
33034
33861
  ] }),
33035
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: getClassName22("headerTitle"), children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(Heading, { rank: 2, size: "xs", children: [
33862
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName25("headerTitle"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(Heading, { rank: 2, size: "xs", children: [
33036
33863
  headerTitle || rootProps.title || "Page",
33037
- headerPath && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
33864
+ headerPath && /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
33038
33865
  " ",
33039
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("code", { className: getClassName22("headerPath"), children: headerPath })
33866
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("code", { className: getClassName25("headerPath"), children: headerPath })
33040
33867
  ] })
33041
33868
  ] }) }),
33042
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: getClassName22("headerTools"), children: [
33043
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: getClassName22("menuButton"), children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33869
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName25("headerTools"), children: [
33870
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName25("menuButton"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33044
33871
  IconButton,
33045
33872
  {
33046
33873
  onClick: () => {
33047
33874
  return setMenuOpen(!menuOpen);
33048
33875
  },
33049
33876
  title: "Toggle menu bar",
33050
- children: menuOpen ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ChevronUp, { focusable: "false" }) : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ChevronDown, { focusable: "false" })
33877
+ children: menuOpen ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ChevronUp, { focusable: "false" }) : /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ChevronDown, { focusable: "false" })
33051
33878
  }
33052
33879
  ) }),
33053
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33880
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33054
33881
  MenuBar,
33055
33882
  {
33056
33883
  appState,
@@ -33058,7 +33885,7 @@ function Puck({
33058
33885
  dispatch,
33059
33886
  onPublish,
33060
33887
  menuOpen,
33061
- renderHeaderActions: () => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(CustomHeaderActions, {}),
33888
+ renderHeaderActions: () => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CustomHeaderActions, {}),
33062
33889
  setMenuOpen
33063
33890
  }
33064
33891
  )
@@ -33066,38 +33893,19 @@ function Puck({
33066
33893
  ] }) })
33067
33894
  }
33068
33895
  ),
33069
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: getClassName22("leftSideBar"), children: [
33070
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(SidebarSection, { title: "Components", noBorderTop: true, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Components, {}) }),
33071
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(SidebarSection, { title: "Outline", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Outline, {}) })
33896
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName25("leftSideBar"), children: [
33897
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(SidebarSection, { title: "Components", noBorderTop: true, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Components, {}) }),
33898
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(SidebarSection, { title: "Outline", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Outline, {}) })
33072
33899
  ] }),
33073
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
33074
- "div",
33075
- {
33076
- className: getClassName22("frame"),
33077
- onClick: () => setItemSelector(null),
33078
- children: [
33079
- /* @__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, {}) }) }),
33080
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33081
- "div",
33082
- {
33083
- style: {
33084
- background: "var(--puck-color-grey-11)",
33085
- height: "100%",
33086
- flexGrow: 1
33087
- }
33088
- }
33089
- )
33090
- ]
33091
- }
33092
- ),
33093
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: getClassName22("rightSideBar"), children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33900
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Canvas, {}),
33901
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName25("rightSideBar"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33094
33902
  SidebarSection,
33095
33903
  {
33096
33904
  noPadding: true,
33097
33905
  noBorderTop: true,
33098
33906
  showBreadcrumbs: true,
33099
- title: selectedItem ? selectedItem.type : "Page",
33100
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Fields, {})
33907
+ title: selectedItem ? (_a = config.components[selectedItem.type]["label"]) != null ? _a : selectedItem.type : "Page",
33908
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Fields, {})
33101
33909
  }
33102
33910
  ) })
33103
33911
  ]
@@ -33109,7 +33917,7 @@ function Puck({
33109
33917
  )
33110
33918
  }
33111
33919
  ),
33112
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { id: "puck-portal-root" })
33920
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { id: "puck-portal-root" })
33113
33921
  ] });
33114
33922
  }
33115
33923
  Puck.Components = Components;
@@ -33119,13 +33927,13 @@ Puck.Preview = Preview;
33119
33927
 
33120
33928
  // components/Render/index.tsx
33121
33929
  init_react_import();
33122
- var import_jsx_runtime30 = require("react/jsx-runtime");
33930
+ var import_jsx_runtime35 = require("react/jsx-runtime");
33123
33931
  function Render({ config, data }) {
33124
33932
  var _a;
33125
33933
  const rootProps = data.root.props || data.root;
33126
33934
  const title = (rootProps == null ? void 0 : rootProps.title) || "";
33127
33935
  if ((_a = config.root) == null ? void 0 : _a.render) {
33128
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DropZoneProvider, { value: { data, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
33936
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropZoneProvider, { value: { data, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
33129
33937
  config.root.render,
33130
33938
  __spreadProps(__spreadValues({}, rootProps), {
33131
33939
  puck: {
@@ -33134,11 +33942,11 @@ function Render({ config, data }) {
33134
33942
  title,
33135
33943
  editMode: false,
33136
33944
  id: "puck-root",
33137
- children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DropZone, { zone: rootDroppableId })
33945
+ children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropZone, { zone: rootDroppableId })
33138
33946
  })
33139
33947
  ) });
33140
33948
  }
33141
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DropZoneProvider, { value: { data, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DropZone, { zone: rootDroppableId }) });
33949
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropZoneProvider, { value: { data, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropZone, { zone: rootDroppableId }) });
33142
33950
  }
33143
33951
 
33144
33952
  // lib/migrate.ts
@@ -33228,8 +34036,8 @@ var resolveAllData = (data, config, onResolveStart, onResolveEnd) => __async(voi
33228
34036
  // lib/use-puck.ts
33229
34037
  init_react_import();
33230
34038
  var usePuck = () => {
33231
- const { state: appState, config, dispatch } = useAppContext();
33232
- return { appState, config, dispatch };
34039
+ const { state: appState, config, history, dispatch } = useAppContext();
34040
+ return { appState, config, dispatch, history };
33233
34041
  };
33234
34042
  // Annotate the CommonJS export names for ESM import in node:
33235
34043
  0 && (module.exports = {
@@ -33433,6 +34241,14 @@ lucide-react/dist/esm/icons/lock.js:
33433
34241
  * See the LICENSE file in the root directory of this source tree.
33434
34242
  *)
33435
34243
 
34244
+ lucide-react/dist/esm/icons/monitor.js:
34245
+ (**
34246
+ * @license lucide-react v0.298.0 - ISC
34247
+ *
34248
+ * This source code is licensed under the ISC license.
34249
+ * See the LICENSE file in the root directory of this source tree.
34250
+ *)
34251
+
33436
34252
  lucide-react/dist/esm/icons/more-vertical.js:
33437
34253
  (**
33438
34254
  * @license lucide-react v0.298.0 - ISC
@@ -33481,6 +34297,22 @@ lucide-react/dist/esm/icons/sliders-horizontal.js:
33481
34297
  * See the LICENSE file in the root directory of this source tree.
33482
34298
  *)
33483
34299
 
34300
+ lucide-react/dist/esm/icons/smartphone.js:
34301
+ (**
34302
+ * @license lucide-react v0.298.0 - ISC
34303
+ *
34304
+ * This source code is licensed under the ISC license.
34305
+ * See the LICENSE file in the root directory of this source tree.
34306
+ *)
34307
+
34308
+ lucide-react/dist/esm/icons/tablet.js:
34309
+ (**
34310
+ * @license lucide-react v0.298.0 - ISC
34311
+ *
34312
+ * This source code is licensed under the ISC license.
34313
+ * See the LICENSE file in the root directory of this source tree.
34314
+ *)
34315
+
33484
34316
  lucide-react/dist/esm/icons/trash.js:
33485
34317
  (**
33486
34318
  * @license lucide-react v0.298.0 - ISC
@@ -33505,6 +34337,22 @@ lucide-react/dist/esm/icons/unlock.js:
33505
34337
  * See the LICENSE file in the root directory of this source tree.
33506
34338
  *)
33507
34339
 
34340
+ lucide-react/dist/esm/icons/zoom-in.js:
34341
+ (**
34342
+ * @license lucide-react v0.298.0 - ISC
34343
+ *
34344
+ * This source code is licensed under the ISC license.
34345
+ * See the LICENSE file in the root directory of this source tree.
34346
+ *)
34347
+
34348
+ lucide-react/dist/esm/icons/zoom-out.js:
34349
+ (**
34350
+ * @license lucide-react v0.298.0 - ISC
34351
+ *
34352
+ * This source code is licensed under the ISC license.
34353
+ * See the LICENSE file in the root directory of this source tree.
34354
+ *)
34355
+
33508
34356
  lucide-react/dist/esm/lucide-react.js:
33509
34357
  (**
33510
34358
  * @license lucide-react v0.298.0 - ISC