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

Sign up to get free protection for your applications and to get access to all the features.
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 Fragment17 = 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 Fragment17:
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 !== Fragment17) {
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 === Fragment17) {
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 Fragment17:
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 Fragment17:
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(Fragment17, 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
29274
29288
  init_react_import();
29275
- var import_dnd = require("@hello-pangea/dnd");
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
29317
+ init_react_import();
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);
@@ -29678,10 +29911,26 @@ var useModifierHeld = (modifier) => {
29678
29911
  return modifierHeld;
29679
29912
  };
29680
29913
 
29914
+ // lib/is-ios.ts
29915
+ init_react_import();
29916
+ var isIos = () => [
29917
+ "iPad Simulator",
29918
+ "iPhone Simulator",
29919
+ "iPod Simulator",
29920
+ "iPad",
29921
+ "iPhone",
29922
+ "iPod"
29923
+ ].includes(navigator.platform) || // iPad on iOS 13 detection
29924
+ navigator.userAgent.includes("Mac") && "ontouchend" in document;
29925
+
29681
29926
  // components/DraggableComponent/index.tsx
29682
29927
  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);
29928
+ var import_jsx_runtime7 = require("react/jsx-runtime");
29929
+ var getClassName4 = get_class_name_factory_default("DraggableComponent", styles_default3);
29930
+ var space = 8;
29931
+ var actionsOverlayTop = space * 6.5;
29932
+ var actionsTop = -(actionsOverlayTop - 8);
29933
+ var actionsRight = space;
29685
29934
  var DraggableComponent = ({
29686
29935
  children,
29687
29936
  id,
@@ -29704,15 +29953,25 @@ var DraggableComponent = ({
29704
29953
  indicativeHover = false,
29705
29954
  style
29706
29955
  }) => {
29956
+ const { zoomConfig } = useAppContext();
29707
29957
  const isModifierHeld = useModifierHeld("Alt");
29708
- (0, import_react6.useEffect)(onMount, []);
29709
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
29710
- import_dnd3.Draggable,
29958
+ const { status } = useAppContext();
29959
+ const El = status !== "LOADING" ? import_dnd3.Draggable : DefaultDraggable;
29960
+ (0, import_react7.useEffect)(onMount, []);
29961
+ const [disableSecondaryAnimation, setDisableSecondaryAnimation] = (0, import_react7.useState)(false);
29962
+ (0, import_react7.useEffect)(() => {
29963
+ if (isIos()) {
29964
+ setDisableSecondaryAnimation(true);
29965
+ }
29966
+ }, []);
29967
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
29968
+ El,
29711
29969
  {
29712
29970
  draggableId: id,
29713
29971
  index,
29714
29972
  isDragDisabled,
29715
- children: (provided, snapshot) => /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
29973
+ disableSecondaryAnimation,
29974
+ children: (provided, snapshot) => /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
29716
29975
  "div",
29717
29976
  __spreadProps(__spreadValues(__spreadValues({
29718
29977
  ref: provided.innerRef
@@ -29735,13 +29994,34 @@ var DraggableComponent = ({
29735
29994
  onClick,
29736
29995
  children: [
29737
29996
  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 })
29997
+ 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" }) }),
29998
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
29999
+ "div",
30000
+ {
30001
+ className: getClassName4("actionsOverlay"),
30002
+ style: {
30003
+ top: actionsOverlayTop / zoomConfig.zoom
30004
+ },
30005
+ children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
30006
+ "div",
30007
+ {
30008
+ className: getClassName4("actions"),
30009
+ style: {
30010
+ transform: `scale(${1 / zoomConfig.zoom}`,
30011
+ top: actionsTop / zoomConfig.zoom,
30012
+ right: actionsRight / zoomConfig.zoom
30013
+ },
30014
+ children: [
30015
+ label && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: getClassName4("actionsLabel"), children: label }),
30016
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("button", { className: getClassName4("action"), onClick: onDuplicate, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Copy, { size: 16 }) }),
30017
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("button", { className: getClassName4("action"), onClick: onDelete, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Trash, { size: 16 }) })
30018
+ ]
30019
+ }
30020
+ )
30021
+ }
30022
+ ),
30023
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: getClassName4("overlay") }),
30024
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: getClassName4("contents"), children })
29745
30025
  ]
29746
30026
  })
29747
30027
  )
@@ -29750,45 +30030,26 @@ var DraggableComponent = ({
29750
30030
  );
29751
30031
  };
29752
30032
 
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;
29773
- };
29774
-
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 });
30033
+ // components/DropZone/styles.module.css
30034
+ var styles_default4 = {
30035
+ DropZone: "styles_DropZone",
30036
+ "DropZone-content": "styles_DropZone-content",
30037
+ "DropZone--userIsDragging": "styles_DropZone--userIsDragging",
30038
+ "DropZone--draggingOverArea": "styles_DropZone--draggingOverArea",
30039
+ "DropZone--draggingNewComponent": "styles_DropZone--draggingNewComponent",
30040
+ "DropZone--isAreaSelected": "styles_DropZone--isAreaSelected",
30041
+ "DropZone--hoveringOverArea": "styles_DropZone--hoveringOverArea",
30042
+ "DropZone--isDisabled": "styles_DropZone--isDisabled",
30043
+ "DropZone--isRootZone": "styles_DropZone--isRootZone",
30044
+ "DropZone--hasChildren": "styles_DropZone--hasChildren",
30045
+ "DropZone--isDestination": "styles_DropZone--isDestination",
30046
+ "DropZone-item": "styles_DropZone-item",
30047
+ "DropZone-hitbox": "styles_DropZone-hitbox"
29783
30048
  };
29784
30049
 
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
30050
  // components/DropZone/context.tsx
29790
30051
  init_react_import();
29791
- var import_react7 = require("react");
30052
+ var import_react8 = require("react");
29792
30053
  var import_use_debounce = require("use-debounce");
29793
30054
 
29794
30055
  // lib/get-zone-id.ts
@@ -29804,30 +30065,30 @@ var getZoneId = (zoneCompound) => {
29804
30065
  };
29805
30066
 
29806
30067
  // components/DropZone/context.tsx
29807
- var import_jsx_runtime6 = require("react/jsx-runtime");
29808
- var dropZoneContext = (0, import_react7.createContext)(null);
30068
+ var import_jsx_runtime8 = require("react/jsx-runtime");
30069
+ var dropZoneContext = (0, import_react8.createContext)(null);
29809
30070
  var DropZoneProvider = ({
29810
30071
  children,
29811
30072
  value
29812
30073
  }) => {
29813
- const [hoveringArea, setHoveringArea] = (0, import_react7.useState)(null);
29814
- const [hoveringZone, setHoveringZone] = (0, import_react7.useState)(
30074
+ const [hoveringArea, setHoveringArea] = (0, import_react8.useState)(null);
30075
+ const [hoveringZone, setHoveringZone] = (0, import_react8.useState)(
29815
30076
  rootDroppableId
29816
30077
  );
29817
- const [hoveringComponent, setHoveringComponent] = (0, import_react7.useState)();
30078
+ const [hoveringComponent, setHoveringComponent] = (0, import_react8.useState)();
29818
30079
  const [hoveringAreaDb] = (0, import_use_debounce.useDebounce)(hoveringArea, 75, { leading: false });
29819
- const [areasWithZones, setAreasWithZones] = (0, import_react7.useState)(
30080
+ const [areasWithZones, setAreasWithZones] = (0, import_react8.useState)(
29820
30081
  {}
29821
30082
  );
29822
- const [activeZones, setActiveZones] = (0, import_react7.useState)({});
30083
+ const [activeZones, setActiveZones] = (0, import_react8.useState)({});
29823
30084
  const { dispatch = null } = value ? value : {};
29824
- const registerZoneArea = (0, import_react7.useCallback)(
30085
+ const registerZoneArea = (0, import_react8.useCallback)(
29825
30086
  (area) => {
29826
30087
  setAreasWithZones((latest) => __spreadProps(__spreadValues({}, latest), { [area]: true }));
29827
30088
  },
29828
30089
  [setAreasWithZones]
29829
30090
  );
29830
- const registerZone = (0, import_react7.useCallback)(
30091
+ const registerZone = (0, import_react8.useCallback)(
29831
30092
  (zoneCompound) => {
29832
30093
  if (!dispatch) {
29833
30094
  return;
@@ -29840,7 +30101,7 @@ var DropZoneProvider = ({
29840
30101
  },
29841
30102
  [setActiveZones, dispatch]
29842
30103
  );
29843
- const unregisterZone = (0, import_react7.useCallback)(
30104
+ const unregisterZone = (0, import_react8.useCallback)(
29844
30105
  (zoneCompound) => {
29845
30106
  if (!dispatch) {
29846
30107
  return;
@@ -29855,8 +30116,8 @@ var DropZoneProvider = ({
29855
30116
  },
29856
30117
  [setActiveZones, dispatch]
29857
30118
  );
29858
- const [pathData, setPathData] = (0, import_react7.useState)();
29859
- const registerPath = (0, import_react7.useCallback)(
30119
+ const [pathData, setPathData] = (0, import_react8.useState)();
30120
+ const registerPath = (0, import_react8.useCallback)(
29860
30121
  (selector) => {
29861
30122
  if (!(value == null ? void 0 : value.data)) {
29862
30123
  return;
@@ -29881,7 +30142,8 @@ var DropZoneProvider = ({
29881
30142
  },
29882
30143
  [value, setPathData]
29883
30144
  );
29884
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_jsx_runtime6.Fragment, { children: value && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
30145
+ const [zoneWillDrag, setZoneWillDrag] = (0, import_react8.useState)("");
30146
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_jsx_runtime8.Fragment, { children: value && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
29885
30147
  dropZoneContext.Provider,
29886
30148
  {
29887
30149
  value: __spreadValues({
@@ -29897,58 +30159,18 @@ var DropZoneProvider = ({
29897
30159
  unregisterZone,
29898
30160
  activeZones,
29899
30161
  registerPath,
29900
- pathData
30162
+ pathData,
30163
+ zoneWillDrag,
30164
+ setZoneWillDrag
29901
30165
  }, value),
29902
30166
  children
29903
30167
  }
29904
30168
  ) });
29905
30169
  };
29906
30170
 
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
30171
  // 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);
30172
+ var import_jsx_runtime9 = require("react/jsx-runtime");
30173
+ var getClassName5 = get_class_name_factory_default("DropZone", styles_default4);
29952
30174
  function DropZoneEdit({ zone, allow, disallow, style }) {
29953
30175
  var _a;
29954
30176
  const appContext2 = useAppContext();
@@ -29966,7 +30188,8 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
29966
30188
  registerZoneArea,
29967
30189
  areasWithZones,
29968
30190
  hoveringComponent,
29969
- disableZoom = false
30191
+ zoneWillDrag,
30192
+ setZoneWillDrag = () => null
29970
30193
  } = ctx || {};
29971
30194
  let content = data.content || [];
29972
30195
  let zoneCompound = rootDroppableId;
@@ -29996,12 +30219,12 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
29996
30219
  const draggedDestinationId = draggedItem && ((_a = draggedItem.destination) == null ? void 0 : _a.droppableId);
29997
30220
  const [zoneArea] = getZoneId(zoneCompound);
29998
30221
  const [draggedSourceArea] = getZoneId(draggedSourceId);
29999
- const [userWillDrag, setUserWillDrag] = (0, import_react9.useState)(false);
30222
+ const userWillDrag = zoneWillDrag === zone;
30000
30223
  const userIsDragging = !!draggedItem;
30001
30224
  const draggingOverArea = userIsDragging && zoneArea === draggedSourceArea;
30002
30225
  const draggingNewComponent = draggedSourceId == null ? void 0 : draggedSourceId.startsWith("component-list");
30003
30226
  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." });
30227
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { children: "DropZone requires context to work." });
30005
30228
  }
30006
30229
  const {
30007
30230
  hoveringArea = "root",
@@ -30038,7 +30261,7 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30038
30261
  }
30039
30262
  const selectedItem = itemSelector ? getItem(itemSelector, data) : null;
30040
30263
  const isAreaSelected = selectedItem && zoneArea === selectedItem.props.id;
30041
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
30264
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
30042
30265
  "div",
30043
30266
  {
30044
30267
  className: getClassName5({
@@ -30050,17 +30273,19 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30050
30273
  isDestination: draggedDestinationId === zoneCompound,
30051
30274
  isDisabled: !isEnabled,
30052
30275
  isAreaSelected,
30053
- hasChildren: content.length > 0,
30054
- zoomEnabled: !disableZoom
30276
+ hasChildren: content.length > 0
30055
30277
  }),
30056
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
30057
- import_dnd4.Droppable,
30278
+ onMouseUp: () => {
30279
+ setZoneWillDrag("");
30280
+ },
30281
+ children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
30282
+ Droppable,
30058
30283
  {
30059
30284
  droppableId: zoneCompound,
30060
30285
  direction: "vertical",
30061
30286
  isDropDisabled: !isEnabled,
30062
30287
  children: (provided, snapshot) => {
30063
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
30288
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
30064
30289
  "div",
30065
30290
  __spreadProps(__spreadValues({}, (provided || { droppableProps: {} }).droppableProps), {
30066
30291
  className: getClassName5("content"),
@@ -30074,7 +30299,7 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30074
30299
  },
30075
30300
  children: [
30076
30301
  content.map((item, i) => {
30077
- var _a2, _b;
30302
+ var _a2, _b, _c;
30078
30303
  const componentId = item.props.id;
30079
30304
  const defaultedProps = __spreadProps(__spreadValues(__spreadValues({}, (_a2 = config.components[item.type]) == null ? void 0 : _a2.defaultProps), item.props), {
30080
30305
  puck: { renderDropZone: DropZone },
@@ -30085,33 +30310,33 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30085
30310
  "draggable-"
30086
30311
  )[1] === componentId;
30087
30312
  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: [
30313
+ 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
30314
  "No configuration for ",
30090
30315
  item.type
30091
30316
  ] });
30092
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
30317
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
30093
30318
  "div",
30094
30319
  {
30095
30320
  className: getClassName5("item"),
30096
30321
  style: { zIndex: isDragging ? 1 : void 0 },
30097
30322
  children: [
30098
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
30323
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
30099
30324
  DropZoneProvider,
30100
30325
  {
30101
30326
  value: __spreadProps(__spreadValues({}, ctx), {
30102
30327
  areaId: componentId
30103
30328
  }),
30104
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
30329
+ children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
30105
30330
  DraggableComponent,
30106
30331
  {
30107
- label: item.type.toString(),
30332
+ label: (_b = config.components[item.type]["label"]) != null ? _b : item.type.toString(),
30108
30333
  id: `draggable-${componentId}`,
30109
30334
  index: i,
30110
30335
  isSelected,
30111
30336
  isLocked: userIsDragging,
30112
30337
  forceHover: hoveringComponent === componentId && !userIsDragging,
30113
30338
  indicativeHover: userIsDragging && containsZone && hoveringArea === componentId,
30114
- isLoading: (_b = appContext2.componentState[componentId]) == null ? void 0 : _b.loading,
30339
+ isLoading: (_c = appContext2.componentState[componentId]) == null ? void 0 : _c.loading,
30115
30340
  onMount: () => {
30116
30341
  ctx.registerPath({
30117
30342
  index: i,
@@ -30127,11 +30352,7 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30127
30352
  },
30128
30353
  onMouseDown: (e) => {
30129
30354
  e.stopPropagation();
30130
- setUserWillDrag(true);
30131
- },
30132
- onMouseUp: (e) => {
30133
- e.stopPropagation();
30134
- setUserWillDrag(false);
30355
+ setZoneWillDrag(zone);
30135
30356
  },
30136
30357
  onMouseOver: (e) => {
30137
30358
  e.stopPropagation();
@@ -30172,12 +30393,12 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30172
30393
  style: {
30173
30394
  pointerEvents: userIsDragging && draggingNewComponent ? "all" : void 0
30174
30395
  },
30175
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: getClassName5("renderWrapper"), children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Render2, __spreadValues({}, defaultedProps)) })
30396
+ children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: getClassName5("renderWrapper"), children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Render2, __spreadValues({}, defaultedProps)) })
30176
30397
  }
30177
30398
  )
30178
30399
  }
30179
30400
  ),
30180
- userIsDragging && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
30401
+ userIsDragging && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
30181
30402
  "div",
30182
30403
  {
30183
30404
  className: getClassName5("hitbox"),
@@ -30194,7 +30415,7 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30194
30415
  );
30195
30416
  }),
30196
30417
  provided == null ? void 0 : provided.placeholder,
30197
- (snapshot == null ? void 0 : snapshot.isDraggingOver) && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
30418
+ (snapshot == null ? void 0 : snapshot.isDraggingOver) && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
30198
30419
  "div",
30199
30420
  {
30200
30421
  "data-puck-placeholder": true,
@@ -30226,14 +30447,14 @@ function DropZoneRender({ zone }) {
30226
30447
  zoneCompound = `${areaId}:${zone}`;
30227
30448
  content = setupZone(data, zoneCompound).zones[zoneCompound];
30228
30449
  }
30229
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_jsx_runtime7.Fragment, { children: content.map((item) => {
30450
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_jsx_runtime9.Fragment, { children: content.map((item) => {
30230
30451
  const Component = config.components[item.type];
30231
30452
  if (Component) {
30232
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
30453
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
30233
30454
  DropZoneProvider,
30234
30455
  {
30235
30456
  value: { data, config, areaId: item.props.id },
30236
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
30457
+ children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
30237
30458
  Component.render,
30238
30459
  __spreadProps(__spreadValues({}, item.props), {
30239
30460
  puck: { renderDropZone: DropZone }
@@ -30249,9 +30470,9 @@ function DropZoneRender({ zone }) {
30249
30470
  function DropZone(props) {
30250
30471
  const ctx = (0, import_react9.useContext)(dropZoneContext);
30251
30472
  if ((ctx == null ? void 0 : ctx.mode) === "edit") {
30252
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(DropZoneEdit, __spreadValues({}, props));
30473
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(DropZoneEdit, __spreadValues({}, props));
30253
30474
  }
30254
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(DropZoneRender, __spreadValues({}, props));
30475
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(DropZoneRender, __spreadValues({}, props));
30255
30476
  }
30256
30477
 
30257
30478
  // components/IconButton/index.ts
@@ -30261,14 +30482,17 @@ init_react_import();
30261
30482
  init_react_import();
30262
30483
  var import_react10 = require("react");
30263
30484
 
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" };
30485
+ // components/IconButton/IconButton.module.css
30486
+ var IconButton_default = {
30487
+ IconButton: "IconButton_IconButton",
30488
+ "IconButton--disabled": "IconButton_IconButton--disabled",
30489
+ "IconButton-title": "IconButton_IconButton-title"
30490
+ };
30267
30491
 
30268
30492
  // components/IconButton/IconButton.tsx
30269
30493
  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);
30494
+ var import_jsx_runtime10 = require("react/jsx-runtime");
30495
+ var getClassName6 = get_class_name_factory_default("IconButton", IconButton_default);
30272
30496
  var IconButton = ({
30273
30497
  children,
30274
30498
  href,
@@ -30283,7 +30507,7 @@ var IconButton = ({
30283
30507
  }) => {
30284
30508
  const [loading, setLoading] = (0, import_react10.useState)(false);
30285
30509
  const ElementType = href ? "a" : "button";
30286
- const el = /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
30510
+ const el = /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
30287
30511
  ElementType,
30288
30512
  {
30289
30513
  className: getClassName6({
@@ -30308,11 +30532,11 @@ var IconButton = ({
30308
30532
  href,
30309
30533
  title,
30310
30534
  children: [
30311
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: getClassName6("title"), children: title }),
30535
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: getClassName6("title"), children: title }),
30312
30536
  children,
30313
- loading && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
30537
+ loading && /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_jsx_runtime10.Fragment, { children: [
30314
30538
  "\xA0\xA0",
30315
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_spinners3.ClipLoader, { "aria-label": "Loading", color: "inherit", size: "14px" })
30539
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_spinners3.ClipLoader, { "aria-label": "Loading", color: "inherit", size: "14px" })
30316
30540
  ] })
30317
30541
  ]
30318
30542
  }
@@ -30322,12 +30546,23 @@ var IconButton = ({
30322
30546
 
30323
30547
  // components/Puck/index.tsx
30324
30548
  init_react_import();
30325
- var import_react26 = require("react");
30326
- var import_dnd7 = require("@hello-pangea/dnd");
30549
+ var import_react28 = require("react");
30327
30550
 
30328
30551
  // lib/use-placeholder-style.ts
30329
30552
  init_react_import();
30330
30553
  var import_react11 = require("react");
30554
+
30555
+ // lib/get-frame.ts
30556
+ init_react_import();
30557
+ var getFrame = () => {
30558
+ let frame = document.querySelector("#preview-frame");
30559
+ if ((frame == null ? void 0 : frame.tagName) === "IFRAME") {
30560
+ frame = frame.contentDocument;
30561
+ }
30562
+ return frame;
30563
+ };
30564
+
30565
+ // lib/use-placeholder-style.ts
30331
30566
  var usePlaceholderStyle = () => {
30332
30567
  const queryAttr = "data-rfd-drag-handle-draggable-id";
30333
30568
  const [placeholderStyle, setPlaceholderStyle] = (0, import_react11.useState)();
@@ -30337,11 +30572,12 @@ var usePlaceholderStyle = () => {
30337
30572
  const destinationIndex = (draggedItem.destination || draggedItem.source).index;
30338
30573
  const droppableId = (draggedItem.destination || draggedItem.source).droppableId;
30339
30574
  const domQuery = `[${queryAttr}='${draggableId}']`;
30340
- const draggedDOM = document.querySelector(domQuery);
30575
+ const frame = getFrame();
30576
+ const draggedDOM = document.querySelector(domQuery) || (frame == null ? void 0 : frame.querySelector(domQuery));
30341
30577
  if (!draggedDOM) {
30342
30578
  return;
30343
30579
  }
30344
- const targetListElement = document.querySelector(
30580
+ const targetListElement = frame == null ? void 0 : frame.querySelector(
30345
30581
  `[data-rfd-droppable-id='${droppableId}']`
30346
30582
  );
30347
30583
  const { clientHeight } = draggedDOM;
@@ -30376,23 +30612,42 @@ var usePlaceholderStyle = () => {
30376
30612
  // components/SidebarSection/index.tsx
30377
30613
  init_react_import();
30378
30614
 
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" };
30615
+ // components/SidebarSection/styles.module.css
30616
+ var styles_default5 = {
30617
+ SidebarSection: "styles_SidebarSection",
30618
+ "SidebarSection-title": "styles_SidebarSection-title",
30619
+ "SidebarSection--noBorderTop": "styles_SidebarSection--noBorderTop",
30620
+ "SidebarSection-content": "styles_SidebarSection-content",
30621
+ "SidebarSection--noPadding": "styles_SidebarSection--noPadding",
30622
+ "SidebarSection-breadcrumbLabel": "styles_SidebarSection-breadcrumbLabel",
30623
+ "SidebarSection-breadcrumbs": "styles_SidebarSection-breadcrumbs",
30624
+ "SidebarSection-breadcrumb": "styles_SidebarSection-breadcrumb",
30625
+ "SidebarSection-heading": "styles_SidebarSection-heading",
30626
+ "SidebarSection-loadingOverlay": "styles_SidebarSection-loadingOverlay"
30627
+ };
30382
30628
 
30383
30629
  // components/Heading/index.tsx
30384
30630
  init_react_import();
30385
30631
 
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" };
30632
+ // components/Heading/styles.module.css
30633
+ var styles_default6 = {
30634
+ Heading: "styles_Heading",
30635
+ "Heading--xxxxl": "styles_Heading--xxxxl",
30636
+ "Heading--xxxl": "styles_Heading--xxxl",
30637
+ "Heading--xxl": "styles_Heading--xxl",
30638
+ "Heading--xl": "styles_Heading--xl",
30639
+ "Heading--l": "styles_Heading--l",
30640
+ "Heading--m": "styles_Heading--m",
30641
+ "Heading--s": "styles_Heading--s",
30642
+ "Heading--xs": "styles_Heading--xs"
30643
+ };
30389
30644
 
30390
30645
  // 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);
30646
+ var import_jsx_runtime11 = require("react/jsx-runtime");
30647
+ var getClassName7 = get_class_name_factory_default("Heading", styles_default6);
30393
30648
  var Heading = ({ children, rank, size = "m" }) => {
30394
30649
  const Tag = rank ? `h${rank}` : "span";
30395
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
30650
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
30396
30651
  Tag,
30397
30652
  {
30398
30653
  className: getClassName7({
@@ -30471,8 +30726,8 @@ var useBreadcrumbs = (renderCount) => {
30471
30726
 
30472
30727
  // components/SidebarSection/index.tsx
30473
30728
  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);
30729
+ var import_jsx_runtime12 = require("react/jsx-runtime");
30730
+ var getClassName8 = get_class_name_factory_default("SidebarSection", styles_default5);
30476
30731
  var SidebarSection = ({
30477
30732
  children,
30478
30733
  title,
@@ -30484,15 +30739,15 @@ var SidebarSection = ({
30484
30739
  }) => {
30485
30740
  const { setUi } = useAppContext();
30486
30741
  const breadcrumbs = useBreadcrumbs(1);
30487
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
30742
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
30488
30743
  "div",
30489
30744
  {
30490
30745
  className: getClassName8({ noBorderTop, noPadding }),
30491
30746
  style: { background },
30492
30747
  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)(
30748
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: getClassName8("title"), children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: getClassName8("breadcrumbs"), children: [
30749
+ showBreadcrumbs ? breadcrumbs.map((breadcrumb, i) => /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: getClassName8("breadcrumb"), children: [
30750
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
30496
30751
  "button",
30497
30752
  {
30498
30753
  className: getClassName8("breadcrumbLabel"),
@@ -30500,12 +30755,12 @@ var SidebarSection = ({
30500
30755
  children: breadcrumb.label
30501
30756
  }
30502
30757
  ),
30503
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(ChevronRight, { size: 16 })
30758
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ChevronRight, { size: 16 })
30504
30759
  ] }, 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 }) })
30760
+ /* @__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
30761
  ] }) }),
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" }) })
30762
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: getClassName8("content"), children }),
30763
+ 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
30764
  ]
30510
30765
  }
30511
30766
  );
@@ -31082,13 +31337,17 @@ var useResolvedData = (appState, config, dispatch) => {
31082
31337
  // components/MenuBar/index.tsx
31083
31338
  init_react_import();
31084
31339
 
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" };
31340
+ // components/MenuBar/styles.module.css
31341
+ var styles_default7 = {
31342
+ MenuBar: "styles_MenuBar",
31343
+ "MenuBar--menuOpen": "styles_MenuBar--menuOpen",
31344
+ "MenuBar-inner": "styles_MenuBar-inner",
31345
+ "MenuBar-history": "styles_MenuBar-history"
31346
+ };
31088
31347
 
31089
31348
  // 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);
31349
+ var import_jsx_runtime13 = require("react/jsx-runtime");
31350
+ var getClassName9 = get_class_name_factory_default("MenuBar", styles_default7);
31092
31351
  var MenuBar = ({
31093
31352
  appState,
31094
31353
  data = { content: [], root: { props: { title: "" } } },
@@ -31102,7 +31361,7 @@ var MenuBar = ({
31102
31361
  history: { back, forward, historyStore }
31103
31362
  } = useAppContext();
31104
31363
  const { hasFuture = false, hasPast = false } = historyStore || {};
31105
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
31364
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
31106
31365
  "div",
31107
31366
  {
31108
31367
  className: getClassName9({ menuOpen }),
@@ -31116,16 +31375,16 @@ var MenuBar = ({
31116
31375
  setMenuOpen(false);
31117
31376
  }
31118
31377
  },
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)(
31378
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: getClassName9("inner"), children: [
31379
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: getClassName9("history"), children: [
31380
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(IconButton, { title: "undo", disabled: !hasPast, onClick: back, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
31122
31381
  ChevronLeft,
31123
31382
  {
31124
31383
  size: 21,
31125
31384
  stroke: hasPast ? "var(--puck-color-black)" : "var(--puck-color-grey-08)"
31126
31385
  }
31127
31386
  ) }),
31128
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(IconButton, { title: "redo", disabled: !hasFuture, onClick: forward, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
31387
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(IconButton, { title: "redo", disabled: !hasFuture, onClick: forward, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
31129
31388
  ChevronRight,
31130
31389
  {
31131
31390
  size: 21,
@@ -31133,17 +31392,17 @@ var MenuBar = ({
31133
31392
  }
31134
31393
  ) })
31135
31394
  ] }),
31136
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_jsx_runtime11.Fragment, { children: renderHeaderActions && renderHeaderActions({
31395
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_jsx_runtime13.Fragment, { children: renderHeaderActions && renderHeaderActions({
31137
31396
  state: appState,
31138
31397
  dispatch
31139
31398
  }) }),
31140
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
31399
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
31141
31400
  Button,
31142
31401
  {
31143
31402
  onClick: () => {
31144
31403
  onPublish && onPublish(data);
31145
31404
  },
31146
- icon: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Globe, { size: "14px" }),
31405
+ icon: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Globe, { size: "14px" }),
31147
31406
  children: "Publish"
31148
31407
  }
31149
31408
  ) })
@@ -31152,9 +31411,24 @@ var MenuBar = ({
31152
31411
  );
31153
31412
  };
31154
31413
 
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" };
31414
+ // components/Puck/styles.module.css
31415
+ var styles_default8 = {
31416
+ Puck: "styles_Puck",
31417
+ "Puck--leftSideBarVisible": "styles_Puck--leftSideBarVisible",
31418
+ "Puck--rightSideBarVisible": "styles_Puck--rightSideBarVisible",
31419
+ "Puck-header": "styles_Puck-header",
31420
+ "Puck-headerInner": "styles_Puck-headerInner",
31421
+ "Puck-headerToggle": "styles_Puck-headerToggle",
31422
+ "Puck-rightSideBarToggle": "styles_Puck-rightSideBarToggle",
31423
+ "Puck-leftSideBarToggle": "styles_Puck-leftSideBarToggle",
31424
+ "Puck-headerTitle": "styles_Puck-headerTitle",
31425
+ "Puck-headerPath": "styles_Puck-headerPath",
31426
+ "Puck-headerTools": "styles_Puck-headerTools",
31427
+ "Puck-menuButton": "styles_Puck-menuButton",
31428
+ "Puck--menuOpen": "styles_Puck--menuOpen",
31429
+ "Puck-leftSideBar": "styles_Puck-leftSideBar",
31430
+ "Puck-rightSideBar": "styles_Puck-rightSideBar"
31431
+ };
31158
31432
 
31159
31433
  // components/Puck/components/Fields/index.tsx
31160
31434
  init_react_import();
@@ -31163,9 +31437,19 @@ var import_react_spinners6 = require("react-spinners");
31163
31437
  // components/InputOrGroup/index.tsx
31164
31438
  init_react_import();
31165
31439
 
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" };
31440
+ // components/InputOrGroup/styles.module.css
31441
+ var styles_default9 = {
31442
+ Input: "styles_Input",
31443
+ "Input-label": "styles_Input-label",
31444
+ "Input-labelIcon": "styles_Input-labelIcon",
31445
+ "Input-disabledIcon": "styles_Input-disabledIcon",
31446
+ "Input-input": "styles_Input-input",
31447
+ "Input--readOnly": "styles_Input--readOnly",
31448
+ "Input-radioGroupItems": "styles_Input-radioGroupItems",
31449
+ "Input-radio": "styles_Input-radio",
31450
+ "Input-radioInner": "styles_Input-radioInner",
31451
+ "Input-radioInput": "styles_Input-radioInput"
31452
+ };
31169
31453
 
31170
31454
  // components/InputOrGroup/index.tsx
31171
31455
  var import_react18 = require("react");
@@ -31176,17 +31460,41 @@ init_react_import();
31176
31460
  // components/InputOrGroup/fields/ArrayField/index.tsx
31177
31461
  init_react_import();
31178
31462
 
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" };
31463
+ // components/InputOrGroup/fields/ArrayField/styles.module.css
31464
+ var styles_default10 = {
31465
+ ArrayField: "styles_ArrayField",
31466
+ "ArrayField--isDraggingFrom": "styles_ArrayField--isDraggingFrom",
31467
+ "ArrayField-addButton": "styles_ArrayField-addButton",
31468
+ "ArrayField--hasItems": "styles_ArrayField--hasItems",
31469
+ ArrayFieldItem: "styles_ArrayFieldItem",
31470
+ "ArrayFieldItem--isDragging": "styles_ArrayFieldItem--isDragging",
31471
+ "ArrayFieldItem--isExpanded": "styles_ArrayFieldItem--isExpanded",
31472
+ "ArrayFieldItem-summary": "styles_ArrayFieldItem-summary",
31473
+ "ArrayField--addDisabled": "styles_ArrayField--addDisabled",
31474
+ "ArrayFieldItem-body": "styles_ArrayFieldItem-body",
31475
+ "ArrayFieldItem-fieldset": "styles_ArrayFieldItem-fieldset",
31476
+ "ArrayFieldItem-rhs": "styles_ArrayFieldItem-rhs",
31477
+ "ArrayFieldItem-actions": "styles_ArrayFieldItem-actions"
31478
+ };
31182
31479
 
31183
31480
  // components/InputOrGroup/fields/ArrayField/index.tsx
31184
- var import_dnd5 = require("@hello-pangea/dnd");
31185
- var import_dnd6 = require("@hello-pangea/dnd");
31186
31481
  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);
31482
+
31483
+ // components/DragDropContext/index.tsx
31484
+ init_react_import();
31485
+ var import_dnd4 = require("@measured/dnd");
31486
+ var import_jsx_runtime14 = require("react/jsx-runtime");
31487
+ var DefaultDragDropContext = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_jsx_runtime14.Fragment, { children });
31488
+ var DragDropContext = (props) => {
31489
+ const { status } = useAppContext();
31490
+ const El = status !== "LOADING" ? import_dnd4.DragDropContext : DefaultDragDropContext;
31491
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(El, __spreadValues({}, props));
31492
+ };
31493
+
31494
+ // components/InputOrGroup/fields/ArrayField/index.tsx
31495
+ var import_jsx_runtime15 = require("react/jsx-runtime");
31496
+ var getClassName10 = get_class_name_factory_default("ArrayField", styles_default10);
31497
+ var getClassNameItem2 = get_class_name_factory_default("ArrayFieldItem", styles_default10);
31190
31498
  var ArrayField = ({
31191
31499
  field,
31192
31500
  onChange,
@@ -31248,21 +31556,24 @@ var ArrayField = ({
31248
31556
  [arrayState]
31249
31557
  );
31250
31558
  (0, import_react14.useEffect)(() => {
31251
- setUi(mapArrayStateToUi(arrayState));
31559
+ if (arrayState.items.length > 0) {
31560
+ setUi(mapArrayStateToUi(arrayState));
31561
+ }
31252
31562
  }, []);
31253
31563
  const [hovering, setHovering] = (0, import_react14.useState)(false);
31254
31564
  if (field.type !== "array" || !field.arrayFields) {
31255
31565
  return null;
31256
31566
  }
31257
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
31567
+ const addDisabled = field.max !== void 0 && localState.arrayState.items.length >= field.max || readOnly;
31568
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31258
31569
  FieldLabelInternal,
31259
31570
  {
31260
31571
  label: label || name,
31261
- icon: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(List, { size: 16 }),
31572
+ icon: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(List, { size: 16 }),
31262
31573
  el: "div",
31263
31574
  readOnly,
31264
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
31265
- import_dnd6.DragDropContext,
31575
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31576
+ DragDropContext,
31266
31577
  {
31267
31578
  onDragEnd: (event) => {
31268
31579
  var _a, _b;
@@ -31288,14 +31599,15 @@ var ArrayField = ({
31288
31599
  });
31289
31600
  }
31290
31601
  },
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)(
31602
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Droppable, { droppableId: "array", isDropDisabled: readOnly, children: (provided, snapshot) => {
31603
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
31293
31604
  "div",
31294
31605
  __spreadProps(__spreadValues({}, provided.droppableProps), {
31295
31606
  ref: provided.innerRef,
31296
31607
  className: getClassName10({
31297
31608
  isDraggingFrom: !!snapshot.draggingFromThisWith,
31298
- hasItems: Array.isArray(value) && value.length > 0
31609
+ hasItems: Array.isArray(value) && value.length > 0,
31610
+ addDisabled
31299
31611
  }),
31300
31612
  onMouseOver: (e) => {
31301
31613
  e.stopPropagation();
@@ -31309,7 +31621,7 @@ var ArrayField = ({
31309
31621
  localState.arrayState.items.map((item, i) => {
31310
31622
  const { _arrayId = `${id}-${i}`, _originalIndex = i } = item;
31311
31623
  const data = Array.from(localState.value || [])[i] || {};
31312
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
31624
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31313
31625
  Draggable,
31314
31626
  {
31315
31627
  id: _arrayId,
@@ -31320,8 +31632,8 @@ var ArrayField = ({
31320
31632
  readOnly
31321
31633
  }),
31322
31634
  isDragDisabled: readOnly || !hovering,
31323
- children: () => /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
31324
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
31635
+ children: () => /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_jsx_runtime15.Fragment, { children: [
31636
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
31325
31637
  "div",
31326
31638
  {
31327
31639
  onClick: () => {
@@ -31342,10 +31654,12 @@ var ArrayField = ({
31342
31654
  className: getClassNameItem2("summary"),
31343
31655
  children: [
31344
31656
  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)(
31657
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: getClassNameItem2("rhs"), children: [
31658
+ !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
31659
  IconButton,
31348
31660
  {
31661
+ type: "button",
31662
+ disabled: field.min !== void 0 && field.min >= localState.arrayState.items.length,
31349
31663
  onClick: (e) => {
31350
31664
  e.stopPropagation();
31351
31665
  const existingValue = [
@@ -31364,20 +31678,20 @@ var ArrayField = ({
31364
31678
  );
31365
31679
  },
31366
31680
  title: "Delete",
31367
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Trash, { size: 16 })
31681
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Trash, { size: 16 })
31368
31682
  }
31369
31683
  ) }) }),
31370
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(DragIcon, {}) })
31684
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(DragIcon, {}) })
31371
31685
  ] })
31372
31686
  ]
31373
31687
  }
31374
31688
  ),
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(
31689
+ /* @__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
31690
  (fieldName) => {
31377
31691
  const subField = field.arrayFields[fieldName];
31378
31692
  const subFieldName = `${name}[${i}].${fieldName}`;
31379
31693
  const wildcardFieldName = `${name}[*].${fieldName}`;
31380
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
31694
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31381
31695
  InputOrGroup,
31382
31696
  {
31383
31697
  name: subFieldName,
@@ -31406,9 +31720,10 @@ var ArrayField = ({
31406
31720
  );
31407
31721
  }),
31408
31722
  provided.placeholder,
31409
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
31723
+ !addDisabled && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31410
31724
  "button",
31411
31725
  {
31726
+ type: "button",
31412
31727
  className: getClassName10("addButton"),
31413
31728
  onClick: () => {
31414
31729
  const existingValue = value || [];
@@ -31419,7 +31734,7 @@ var ArrayField = ({
31419
31734
  const newArrayState = regenerateArrayState(newValue);
31420
31735
  onChange(newValue, mapArrayStateToUi(newArrayState));
31421
31736
  },
31422
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Plus, { size: "21" })
31737
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Plus, { size: 21 })
31423
31738
  }
31424
31739
  )
31425
31740
  ]
@@ -31434,8 +31749,8 @@ var ArrayField = ({
31434
31749
 
31435
31750
  // components/InputOrGroup/fields/DefaultField/index.tsx
31436
31751
  init_react_import();
31437
- var import_jsx_runtime13 = require("react/jsx-runtime");
31438
- var getClassName11 = get_class_name_factory_default("Input", styles_module_default9);
31752
+ var import_jsx_runtime16 = require("react/jsx-runtime");
31753
+ var getClassName11 = get_class_name_factory_default("Input", styles_default9);
31439
31754
  var DefaultField = ({
31440
31755
  field,
31441
31756
  onChange,
@@ -31445,16 +31760,16 @@ var DefaultField = ({
31445
31760
  label,
31446
31761
  id
31447
31762
  }) => {
31448
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
31763
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
31449
31764
  FieldLabelInternal,
31450
31765
  {
31451
31766
  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 })
31767
+ icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_jsx_runtime16.Fragment, { children: [
31768
+ field.type === "text" && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Type, { size: 16 }),
31769
+ field.type === "number" && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Hash, { size: 16 })
31455
31770
  ] }),
31456
31771
  readOnly,
31457
- children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
31772
+ children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
31458
31773
  "input",
31459
31774
  {
31460
31775
  className: getClassName11("input"),
@@ -31488,22 +31803,52 @@ var import_react17 = require("react");
31488
31803
  init_react_import();
31489
31804
  var import_react16 = require("react");
31490
31805
 
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" };
31806
+ // components/ExternalInput/styles.module.css
31807
+ var styles_default11 = {
31808
+ "ExternalInput-actions": "styles_ExternalInput-actions",
31809
+ "ExternalInput-button": "styles_ExternalInput-button",
31810
+ "ExternalInput--dataSelected": "styles_ExternalInput--dataSelected",
31811
+ "ExternalInput-detachButton": "styles_ExternalInput-detachButton",
31812
+ ExternalInputModal: "styles_ExternalInputModal",
31813
+ "ExternalInputModal-grid": "styles_ExternalInputModal-grid",
31814
+ "ExternalInputModal--filtersToggled": "styles_ExternalInputModal--filtersToggled",
31815
+ "ExternalInputModal-filters": "styles_ExternalInputModal-filters",
31816
+ "ExternalInputModal-masthead": "styles_ExternalInputModal-masthead",
31817
+ "ExternalInputModal-tableWrapper": "styles_ExternalInputModal-tableWrapper",
31818
+ "ExternalInputModal-table": "styles_ExternalInputModal-table",
31819
+ "ExternalInputModal-thead": "styles_ExternalInputModal-thead",
31820
+ "ExternalInputModal-th": "styles_ExternalInputModal-th",
31821
+ "ExternalInputModal-td": "styles_ExternalInputModal-td",
31822
+ "ExternalInputModal-tr": "styles_ExternalInputModal-tr",
31823
+ "ExternalInputModal-tbody": "styles_ExternalInputModal-tbody",
31824
+ "ExternalInputModal--hasData": "styles_ExternalInputModal--hasData",
31825
+ "ExternalInputModal-loadingBanner": "styles_ExternalInputModal-loadingBanner",
31826
+ "ExternalInputModal--isLoading": "styles_ExternalInputModal--isLoading",
31827
+ "ExternalInputModal-searchForm": "styles_ExternalInputModal-searchForm",
31828
+ "ExternalInputModal-search": "styles_ExternalInputModal-search",
31829
+ "ExternalInputModal-searchIcon": "styles_ExternalInputModal-searchIcon",
31830
+ "ExternalInputModal-searchIconText": "styles_ExternalInputModal-searchIconText",
31831
+ "ExternalInputModal-searchInput": "styles_ExternalInputModal-searchInput",
31832
+ "ExternalInputModal-searchActions": "styles_ExternalInputModal-searchActions",
31833
+ "ExternalInputModal-searchActionIcon": "styles_ExternalInputModal-searchActionIcon",
31834
+ "ExternalInputModal-footer": "styles_ExternalInputModal-footer"
31835
+ };
31494
31836
 
31495
31837
  // components/Modal/index.tsx
31496
31838
  init_react_import();
31497
31839
  var import_react15 = require("react");
31498
31840
 
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" };
31841
+ // components/Modal/styles.module.css
31842
+ var styles_default12 = {
31843
+ Modal: "styles_Modal",
31844
+ "Modal--isOpen": "styles_Modal--isOpen",
31845
+ "Modal-inner": "styles_Modal-inner"
31846
+ };
31502
31847
 
31503
31848
  // components/Modal/index.tsx
31504
31849
  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);
31850
+ var import_jsx_runtime17 = require("react/jsx-runtime");
31851
+ var getClassName12 = get_class_name_factory_default("Modal", styles_default12);
31507
31852
  var Modal = ({
31508
31853
  children,
31509
31854
  onClose,
@@ -31514,10 +31859,10 @@ var Modal = ({
31514
31859
  setRootEl(document.getElementById("puck-portal-root"));
31515
31860
  }, []);
31516
31861
  if (!rootEl) {
31517
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", {});
31862
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", {});
31518
31863
  }
31519
31864
  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)(
31865
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: getClassName12({ isOpen }), onClick: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
31521
31866
  "div",
31522
31867
  {
31523
31868
  className: getClassName12("inner"),
@@ -31531,9 +31876,9 @@ var Modal = ({
31531
31876
 
31532
31877
  // components/ExternalInput/index.tsx
31533
31878
  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);
31879
+ var import_jsx_runtime18 = require("react/jsx-runtime");
31880
+ var getClassName13 = get_class_name_factory_default("ExternalInput", styles_default11);
31881
+ var getClassNameModal = get_class_name_factory_default("ExternalInputModal", styles_default11);
31537
31882
  var dataCache = {};
31538
31883
  var ExternalInput = ({
31539
31884
  field,
@@ -31571,7 +31916,7 @@ var ExternalInput = ({
31571
31916
  const search = (0, import_react16.useCallback)(
31572
31917
  (query, filters2) => __async(void 0, null, function* () {
31573
31918
  setIsLoading(true);
31574
- const cacheKey = `${id}-${name}-${query}-${JSON.stringify(filters2)}`;
31919
+ const cacheKey = `${id}-${query}-${JSON.stringify(filters2)}`;
31575
31920
  const listData = dataCache[cacheKey] || (yield field.fetchList({ query, filters: filters2 }));
31576
31921
  if (listData) {
31577
31922
  setData(listData);
@@ -31584,7 +31929,7 @@ var ExternalInput = ({
31584
31929
  (0, import_react16.useEffect)(() => {
31585
31930
  search(searchQuery, filters);
31586
31931
  }, []);
31587
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
31932
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
31588
31933
  "div",
31589
31934
  {
31590
31935
  className: getClassName13({
@@ -31593,30 +31938,31 @@ var ExternalInput = ({
31593
31938
  }),
31594
31939
  id,
31595
31940
  children: [
31596
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: getClassName13("actions"), children: [
31597
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31941
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: getClassName13("actions"), children: [
31942
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
31598
31943
  "button",
31599
31944
  {
31945
+ type: "button",
31600
31946
  onClick: () => setOpen(true),
31601
31947
  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 })
31948
+ children: value ? field.getItemSummary ? field.getItemSummary(value) : "External item" : /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [
31949
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Link, { size: "16" }),
31950
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { children: field.placeholder })
31605
31951
  ] })
31606
31952
  }
31607
31953
  ),
31608
- value && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31954
+ value && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
31609
31955
  "button",
31610
31956
  {
31611
31957
  className: getClassName13("detachButton"),
31612
31958
  onClick: () => {
31613
31959
  onChange(null);
31614
31960
  },
31615
- children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Unlock, { size: 16 })
31961
+ children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Unlock, { size: 16 })
31616
31962
  }
31617
31963
  )
31618
31964
  ] }),
31619
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Modal, { onClose: () => setOpen(false), isOpen, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
31965
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Modal, { onClose: () => setOpen(false), isOpen, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
31620
31966
  "form",
31621
31967
  {
31622
31968
  className: getClassNameModal({
@@ -31630,11 +31976,11 @@ var ExternalInput = ({
31630
31976
  search(searchQuery, filters);
31631
31977
  },
31632
31978
  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)(
31979
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: getClassNameModal("masthead"), children: field.showSearch ? /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: getClassNameModal("searchForm"), children: [
31980
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("label", { className: getClassNameModal("search"), children: [
31981
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: getClassNameModal("searchIconText"), children: "Search" }),
31982
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: getClassNameModal("searchIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Search, { size: "18" }) }),
31983
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
31638
31984
  "input",
31639
31985
  {
31640
31986
  className: getClassNameModal("searchInput"),
@@ -31649,9 +31995,9 @@ var ExternalInput = ({
31649
31995
  }
31650
31996
  )
31651
31997
  ] }),
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)(
31998
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: getClassNameModal("searchActions"), children: [
31999
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Button, { type: "submit", loading: isLoading, fullWidth: true, children: "Search" }),
32000
+ hasFilterFields && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: getClassNameModal("searchActionIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
31655
32001
  IconButton,
31656
32002
  {
31657
32003
  title: "Toggle filters",
@@ -31660,15 +32006,15 @@ var ExternalInput = ({
31660
32006
  e.stopPropagation();
31661
32007
  setFiltersToggled(!filtersToggled);
31662
32008
  },
31663
- children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(SlidersHorizontal, { size: 20 })
32009
+ children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(SlidersHorizontal, { size: 20 })
31664
32010
  }
31665
32011
  ) })
31666
32012
  ] })
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) => {
32013
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Heading, { rank: 2, size: "xs", children: field.placeholder || "Select data" }) }),
32014
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: getClassNameModal("grid"), children: [
32015
+ hasFilterFields && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: getClassNameModal("filters"), children: hasFilterFields && Object.keys(filterFields).map((fieldName) => {
31670
32016
  const filterField = filterFields[fieldName];
31671
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
32017
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
31672
32018
  InputOrGroup,
31673
32019
  {
31674
32020
  field: filterField,
@@ -31685,9 +32031,9 @@ var ExternalInput = ({
31685
32031
  fieldName
31686
32032
  );
31687
32033
  }) }),
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)(
32034
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: getClassNameModal("tableWrapper"), children: [
32035
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("table", { className: getClassNameModal("table"), children: [
32036
+ /* @__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
32037
  "th",
31692
32038
  {
31693
32039
  className: getClassNameModal("th"),
@@ -31696,8 +32042,8 @@ var ExternalInput = ({
31696
32042
  },
31697
32043
  key
31698
32044
  )) }) }),
31699
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("tbody", { className: getClassNameModal("tbody"), children: mappedData.map((item, i) => {
31700
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
32045
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("tbody", { className: getClassNameModal("tbody"), children: mappedData.map((item, i) => {
32046
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
31701
32047
  "tr",
31702
32048
  {
31703
32049
  style: { whiteSpace: "nowrap" },
@@ -31706,16 +32052,16 @@ var ExternalInput = ({
31706
32052
  onChange(mapProp(data[i]));
31707
32053
  setOpen(false);
31708
32054
  },
31709
- children: keys.map((key) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("td", { className: getClassNameModal("td"), children: item[key] }, key))
32055
+ children: keys.map((key) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("td", { className: getClassNameModal("td"), children: item[key] }, key))
31710
32056
  },
31711
32057
  i
31712
32058
  );
31713
32059
  }) })
31714
32060
  ] }),
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" }) })
32061
+ /* @__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
32062
  ] })
31717
32063
  ] }),
31718
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: getClassNameModal("footer"), children: [
32064
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: getClassNameModal("footer"), children: [
31719
32065
  mappedData.length,
31720
32066
  " result",
31721
32067
  mappedData.length === 1 ? "" : "s"
@@ -31729,7 +32075,7 @@ var ExternalInput = ({
31729
32075
  };
31730
32076
 
31731
32077
  // components/InputOrGroup/fields/ExternalField/index.tsx
31732
- var import_jsx_runtime16 = require("react/jsx-runtime");
32078
+ var import_jsx_runtime19 = require("react/jsx-runtime");
31733
32079
  var ExternalField = ({
31734
32080
  field,
31735
32081
  onChange,
@@ -31751,13 +32097,13 @@ var ExternalField = ({
31751
32097
  if (field.type !== "external") {
31752
32098
  return null;
31753
32099
  }
31754
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
32100
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
31755
32101
  FieldLabelInternal,
31756
32102
  {
31757
32103
  label: label || name,
31758
- icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Link, { size: 16 }),
32104
+ icon: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Link, { size: 16 }),
31759
32105
  el: "div",
31760
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
32106
+ children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
31761
32107
  ExternalInput,
31762
32108
  {
31763
32109
  name,
@@ -31783,8 +32129,8 @@ var ExternalField = ({
31783
32129
 
31784
32130
  // components/InputOrGroup/fields/RadioField/index.tsx
31785
32131
  init_react_import();
31786
- var import_jsx_runtime17 = require("react/jsx-runtime");
31787
- var getClassName14 = get_class_name_factory_default("Input", styles_module_default9);
32132
+ var import_jsx_runtime20 = require("react/jsx-runtime");
32133
+ var getClassName14 = get_class_name_factory_default("Input", styles_default9);
31788
32134
  var RadioField = ({
31789
32135
  field,
31790
32136
  onChange,
@@ -31797,19 +32143,19 @@ var RadioField = ({
31797
32143
  if (field.type !== "radio" || !field.options) {
31798
32144
  return null;
31799
32145
  }
31800
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
32146
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
31801
32147
  FieldLabelInternal,
31802
32148
  {
31803
- icon: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(CheckCircle, { size: 16 }),
32149
+ icon: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(CheckCircle, { size: 16 }),
31804
32150
  label: label || name,
31805
32151
  readOnly,
31806
32152
  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)(
32153
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassName14("radioGroupItems"), id, children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
31808
32154
  "label",
31809
32155
  {
31810
32156
  className: getClassName14("radio"),
31811
32157
  children: [
31812
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
32158
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
31813
32159
  "input",
31814
32160
  {
31815
32161
  type: "radio",
@@ -31827,7 +32173,7 @@ var RadioField = ({
31827
32173
  defaultChecked: value === option.value
31828
32174
  }
31829
32175
  ),
31830
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: getClassName14("radioInner"), children: option.label || option.value })
32176
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassName14("radioInner"), children: option.label || option.value })
31831
32177
  ]
31832
32178
  },
31833
32179
  option.label + option.value
@@ -31838,8 +32184,8 @@ var RadioField = ({
31838
32184
 
31839
32185
  // components/InputOrGroup/fields/SelectField/index.tsx
31840
32186
  init_react_import();
31841
- var import_jsx_runtime18 = require("react/jsx-runtime");
31842
- var getClassName15 = get_class_name_factory_default("Input", styles_module_default9);
32187
+ var import_jsx_runtime21 = require("react/jsx-runtime");
32188
+ var getClassName15 = get_class_name_factory_default("Input", styles_default9);
31843
32189
  var SelectField = ({
31844
32190
  field,
31845
32191
  onChange,
@@ -31852,13 +32198,13 @@ var SelectField = ({
31852
32198
  if (field.type !== "select" || !field.options) {
31853
32199
  return null;
31854
32200
  }
31855
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
32201
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
31856
32202
  FieldLabelInternal,
31857
32203
  {
31858
32204
  label: label || name,
31859
- icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ChevronDown, { size: 16 }),
32205
+ icon: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ChevronDown, { size: 16 }),
31860
32206
  readOnly,
31861
- children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
32207
+ children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
31862
32208
  "select",
31863
32209
  {
31864
32210
  id,
@@ -31872,7 +32218,7 @@ var SelectField = ({
31872
32218
  onChange(e.currentTarget.value);
31873
32219
  },
31874
32220
  value,
31875
- children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
32221
+ children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
31876
32222
  "option",
31877
32223
  {
31878
32224
  label: option.label,
@@ -31888,8 +32234,8 @@ var SelectField = ({
31888
32234
 
31889
32235
  // components/InputOrGroup/fields/TextareaField/index.tsx
31890
32236
  init_react_import();
31891
- var import_jsx_runtime19 = require("react/jsx-runtime");
31892
- var getClassName16 = get_class_name_factory_default("Input", styles_module_default9);
32237
+ var import_jsx_runtime22 = require("react/jsx-runtime");
32238
+ var getClassName16 = get_class_name_factory_default("Input", styles_default9);
31893
32239
  var TextareaField = ({
31894
32240
  onChange,
31895
32241
  readOnly,
@@ -31898,13 +32244,13 @@ var TextareaField = ({
31898
32244
  label,
31899
32245
  id
31900
32246
  }) => {
31901
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
32247
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
31902
32248
  FieldLabelInternal,
31903
32249
  {
31904
32250
  label: label || name,
31905
- icon: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Type, { size: 16 }),
32251
+ icon: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Type, { size: 16 }),
31906
32252
  readOnly,
31907
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
32253
+ children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
31908
32254
  "textarea",
31909
32255
  {
31910
32256
  id,
@@ -31928,14 +32274,16 @@ var import_use_debounce2 = require("use-debounce");
31928
32274
  // components/InputOrGroup/fields/ObjectField/index.tsx
31929
32275
  init_react_import();
31930
32276
 
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" };
32277
+ // components/InputOrGroup/fields/ObjectField/styles.module.css
32278
+ var styles_default13 = {
32279
+ ObjectField: "styles_ObjectField",
32280
+ "ObjectField-fieldset": "styles_ObjectField-fieldset"
32281
+ };
31934
32282
 
31935
32283
  // 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);
32284
+ var import_jsx_runtime23 = require("react/jsx-runtime");
32285
+ var getClassName17 = get_class_name_factory_default("ObjectField", styles_default13);
32286
+ var getClassNameItem3 = get_class_name_factory_default("ObjectFieldItem", styles_default13);
31939
32287
  var ObjectField = ({
31940
32288
  field,
31941
32289
  onChange,
@@ -31950,18 +32298,18 @@ var ObjectField = ({
31950
32298
  return null;
31951
32299
  }
31952
32300
  const data = value || {};
31953
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
32301
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
31954
32302
  FieldLabelInternal,
31955
32303
  {
31956
32304
  label: label || name,
31957
- icon: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(MoreVertical, { size: 16 }),
32305
+ icon: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(MoreVertical, { size: 16 }),
31958
32306
  el: "div",
31959
32307
  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) => {
32308
+ 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
32309
  const subField = field.objectFields[fieldName];
31962
32310
  const subFieldName = `${name}.${fieldName}`;
31963
32311
  const wildcardFieldName = `${name}.${fieldName}`;
31964
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
32312
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
31965
32313
  InputOrGroup,
31966
32314
  {
31967
32315
  name: subFieldName,
@@ -31988,8 +32336,8 @@ var ObjectField = ({
31988
32336
  };
31989
32337
 
31990
32338
  // 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);
32339
+ var import_jsx_runtime24 = require("react/jsx-runtime");
32340
+ var getClassName18 = get_class_name_factory_default("Input", styles_default9);
31993
32341
  var FieldLabel = ({
31994
32342
  children,
31995
32343
  icon,
@@ -31999,11 +32347,11 @@ var FieldLabel = ({
31999
32347
  className
32000
32348
  }) => {
32001
32349
  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, {}),
32350
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(El, { className, children: [
32351
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: getClassName18("label"), children: [
32352
+ icon ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: getClassName18("labelIcon"), children: icon }) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, {}),
32005
32353
  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" }) })
32354
+ 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
32355
  ] }),
32008
32356
  children
32009
32357
  ] });
@@ -32020,7 +32368,7 @@ var FieldLabelInternal = ({
32020
32368
  () => overrides.fieldLabel || FieldLabel,
32021
32369
  [overrides]
32022
32370
  );
32023
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
32371
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
32024
32372
  Wrapper,
32025
32373
  {
32026
32374
  label,
@@ -32060,7 +32408,7 @@ var InputOrGroup = (_a) => {
32060
32408
  if (!field.render) {
32061
32409
  return null;
32062
32410
  }
32063
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassName18(), children: field.render(__spreadValues({
32411
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: getClassName18(), children: field.render(__spreadValues({
32064
32412
  field,
32065
32413
  name,
32066
32414
  readOnly
@@ -32089,17 +32437,19 @@ var InputOrGroup = (_a) => {
32089
32437
  const mergedProps = __spreadProps(__spreadValues(__spreadValues({}, props), localProps), { field });
32090
32438
  const children = defaultFields[field.type](mergedProps);
32091
32439
  const Render2 = render[field.type];
32092
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Render2, __spreadProps(__spreadValues({}, mergedProps), { children }));
32440
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Render2, __spreadProps(__spreadValues({}, mergedProps), { children }));
32093
32441
  };
32094
32442
 
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" };
32443
+ // components/Puck/components/Fields/styles.module.css
32444
+ var styles_default14 = {
32445
+ PuckFields: "styles_PuckFields",
32446
+ "PuckFields-loadingOverlay": "styles_PuckFields-loadingOverlay"
32447
+ };
32098
32448
 
32099
32449
  // components/Puck/components/Fields/index.tsx
32100
32450
  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);
32451
+ var import_jsx_runtime25 = require("react/jsx-runtime");
32452
+ var getClassName19 = get_class_name_factory_default("PuckFields", styles_default14);
32103
32453
  var defaultPageFields = {
32104
32454
  title: { type: "text" }
32105
32455
  };
@@ -32107,9 +32457,9 @@ var DefaultFields = ({
32107
32457
  children,
32108
32458
  isLoading
32109
32459
  }) => {
32110
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: getClassName19(), children: [
32460
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: getClassName19(), children: [
32111
32461
  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" }) })
32462
+ 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
32463
  ] });
32114
32464
  };
32115
32465
  var Fields = () => {
@@ -32130,14 +32480,14 @@ var Fields = () => {
32130
32480
  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
32481
  const rootProps = data.root.props || data.root;
32132
32482
  const Wrapper = (0, import_react19.useMemo)(() => overrides.fields || DefaultFields, [overrides]);
32133
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
32483
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
32134
32484
  "form",
32135
32485
  {
32136
32486
  className: getClassName19(),
32137
32487
  onSubmit: (e) => {
32138
32488
  e.preventDefault();
32139
32489
  },
32140
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Wrapper, { isLoading, itemSelector, children: Object.keys(fields).map((fieldName) => {
32490
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Wrapper, { isLoading, itemSelector, children: Object.keys(fields).map((fieldName) => {
32141
32491
  const field = fields[fieldName];
32142
32492
  const onChange = (value, updatedUi) => {
32143
32493
  var _a2, _b2;
@@ -32203,7 +32553,7 @@ var Fields = () => {
32203
32553
  };
32204
32554
  if (selectedItem && itemSelector) {
32205
32555
  const { readOnly = {} } = selectedItem;
32206
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
32556
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
32207
32557
  InputOrGroup,
32208
32558
  {
32209
32559
  field,
@@ -32219,7 +32569,7 @@ var Fields = () => {
32219
32569
  );
32220
32570
  } else {
32221
32571
  const { readOnly = {} } = data.root;
32222
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
32572
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
32223
32573
  InputOrGroup,
32224
32574
  {
32225
32575
  field,
@@ -32249,19 +32599,25 @@ var import_react20 = require("react");
32249
32599
  // components/ComponentList/index.tsx
32250
32600
  init_react_import();
32251
32601
 
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" };
32602
+ // components/ComponentList/styles.module.css
32603
+ var styles_default15 = {
32604
+ ComponentList: "styles_ComponentList",
32605
+ "ComponentList--isExpanded": "styles_ComponentList--isExpanded",
32606
+ "ComponentList-content": "styles_ComponentList-content",
32607
+ "ComponentList-title": "styles_ComponentList-title",
32608
+ "ComponentList-titleIcon": "styles_ComponentList-titleIcon"
32609
+ };
32255
32610
 
32256
32611
  // 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);
32612
+ var import_jsx_runtime26 = require("react/jsx-runtime");
32613
+ var getClassName20 = get_class_name_factory_default("ComponentList", styles_default15);
32259
32614
  var ComponentListItem = ({
32260
32615
  name,
32616
+ label,
32261
32617
  index
32262
32618
  }) => {
32263
32619
  const { overrides } = useAppContext();
32264
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Drawer.Item, { name, index, children: overrides.componentItem });
32620
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Drawer.Item, { label, name, index, children: overrides.componentItem });
32265
32621
  };
32266
32622
  var ComponentList = ({
32267
32623
  children,
@@ -32270,8 +32626,8 @@ var ComponentList = ({
32270
32626
  }) => {
32271
32627
  const { config, state, setUi } = useAppContext();
32272
32628
  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)(
32629
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: getClassName20({ isExpanded: expanded }), children: [
32630
+ title && /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
32275
32631
  "button",
32276
32632
  {
32277
32633
  className: getClassName20("title"),
@@ -32284,15 +32640,17 @@ var ComponentList = ({
32284
32640
  }),
32285
32641
  title: expanded ? `Collapse${title ? ` ${title}` : ""}` : `Expand${title ? ` ${title}` : ""}`,
32286
32642
  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 }) })
32643
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { children: title }),
32644
+ /* @__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
32645
  ]
32290
32646
  }
32291
32647
  ),
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)(
32648
+ /* @__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) => {
32649
+ var _a;
32650
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
32294
32651
  ComponentListItem,
32295
32652
  {
32653
+ label: (_a = config.components[componentKey]["label"]) != null ? _a : componentKey,
32296
32654
  name: componentKey,
32297
32655
  index: i
32298
32656
  },
@@ -32304,7 +32662,7 @@ var ComponentList = ({
32304
32662
  ComponentList.Item = ComponentListItem;
32305
32663
 
32306
32664
  // lib/use-component-list.tsx
32307
- var import_jsx_runtime24 = require("react/jsx-runtime");
32665
+ var import_jsx_runtime27 = require("react/jsx-runtime");
32308
32666
  var useComponentList = (config, ui) => {
32309
32667
  const [componentList, setComponentList] = (0, import_react20.useState)();
32310
32668
  (0, import_react20.useEffect)(() => {
@@ -32317,16 +32675,18 @@ var useComponentList = (config, ui) => {
32317
32675
  if (category.visible === false || !category.components) {
32318
32676
  return null;
32319
32677
  }
32320
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
32678
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
32321
32679
  ComponentList,
32322
32680
  {
32323
32681
  id: categoryKey,
32324
32682
  title: category.title || categoryKey,
32325
32683
  children: category.components.map((componentName, i) => {
32684
+ var _a2;
32326
32685
  matchedComponents.push(componentName);
32327
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
32686
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
32328
32687
  ComponentList.Item,
32329
32688
  {
32689
+ label: (_a2 = config.components[componentName]["label"]) != null ? _a2 : componentName,
32330
32690
  name: componentName,
32331
32691
  index: i
32332
32692
  },
@@ -32343,16 +32703,18 @@ var useComponentList = (config, ui) => {
32343
32703
  );
32344
32704
  if (remainingComponents.length > 0 && !((_a = ui.componentList.other) == null ? void 0 : _a.components) && ((_b = ui.componentList.other) == null ? void 0 : _b.visible) !== false) {
32345
32705
  _componentList.push(
32346
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
32706
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
32347
32707
  ComponentList,
32348
32708
  {
32349
32709
  id: "other",
32350
32710
  title: ((_c = ui.componentList.other) == null ? void 0 : _c.title) || "Other",
32351
32711
  children: remainingComponents.map((componentName, i) => {
32352
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
32712
+ var _a2;
32713
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
32353
32714
  ComponentList.Item,
32354
32715
  {
32355
32716
  name: componentName,
32717
+ label: (_a2 = config.components[componentName]["label"]) != null ? _a2 : componentName,
32356
32718
  index: i
32357
32719
  },
32358
32720
  componentName
@@ -32365,44 +32727,71 @@ var useComponentList = (config, ui) => {
32365
32727
  }
32366
32728
  setComponentList(_componentList);
32367
32729
  }
32368
- }, [config.categories, ui.componentList]);
32730
+ }, [config.categories, config.components, ui.componentList]);
32369
32731
  return componentList;
32370
32732
  };
32371
32733
 
32372
32734
  // components/Puck/components/Components/index.tsx
32373
32735
  var import_react21 = require("react");
32374
- var import_jsx_runtime25 = require("react/jsx-runtime");
32736
+ var import_jsx_runtime28 = require("react/jsx-runtime");
32375
32737
  var Components = () => {
32376
32738
  const { config, state, overrides } = useAppContext();
32377
32739
  const componentList = useComponentList(config, state.ui);
32378
32740
  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" }) });
32741
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Wrapper, { children: componentList ? componentList : /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ComponentList, { id: "all" }) });
32380
32742
  };
32381
32743
 
32382
32744
  // components/Puck/components/Preview/index.tsx
32383
32745
  init_react_import();
32384
32746
  var import_react22 = require("react");
32385
- var import_jsx_runtime26 = require("react/jsx-runtime");
32747
+ var import_auto_frame_component = __toESM(require("@measured/auto-frame-component"));
32748
+
32749
+ // components/Puck/components/Preview/styles.module.css
32750
+ var styles_default16 = {
32751
+ PuckPreview: "styles_PuckPreview",
32752
+ "PuckPreview-frame": "styles_PuckPreview-frame"
32753
+ };
32754
+
32755
+ // components/Puck/components/Preview/index.tsx
32756
+ var import_jsx_runtime29 = require("react/jsx-runtime");
32757
+ var getClassName21 = get_class_name_factory_default("PuckPreview", styles_default16);
32386
32758
  var Preview = ({ id = "puck-preview" }) => {
32387
- const { config, dispatch, state } = useAppContext();
32759
+ const { config, dispatch, state, setStatus, iframe } = useAppContext();
32388
32760
  const Page = (0, import_react22.useCallback)(
32389
32761
  (pageProps) => {
32390
32762
  var _a, _b;
32391
- return ((_a = config.root) == null ? void 0 : _a.render) ? (_b = config.root) == null ? void 0 : _b.render(__spreadProps(__spreadValues({}, pageProps), { editMode: true })) : pageProps.children;
32763
+ return ((_a = config.root) == null ? void 0 : _a.render) ? (_b = config.root) == null ? void 0 : _b.render(__spreadProps(__spreadValues({
32764
+ id: "puck-root"
32765
+ }, pageProps), {
32766
+ editMode: true,
32767
+ puck: { renderDropZone: DropZone }
32768
+ })) : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_jsx_runtime29.Fragment, { children: pageProps.children });
32392
32769
  },
32393
32770
  [config.root]
32394
32771
  );
32395
32772
  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)(
32773
+ const ref = (0, import_react22.useRef)(null);
32774
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
32398
32775
  "div",
32399
32776
  {
32777
+ className: getClassName21(),
32400
32778
  id,
32401
32779
  onClick: () => {
32402
32780
  dispatch({ type: "setUi", ui: __spreadProps(__spreadValues({}, state.ui), { itemSelector: null }) });
32403
32781
  },
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 }) }))
32782
+ children: iframe.enabled ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
32783
+ import_auto_frame_component.default,
32784
+ {
32785
+ id: "preview-frame",
32786
+ className: getClassName21("frame"),
32787
+ "data-rfd-iframe": true,
32788
+ ref,
32789
+ onStylesLoaded: () => {
32790
+ setStatus("READY");
32791
+ },
32792
+ children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Page, __spreadProps(__spreadValues({ dispatch, state }, rootProps), { children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(DropZone, { zone: rootDroppableId }) }))
32793
+ }
32794
+ ) : /* @__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
32795
  }
32407
32796
  );
32408
32797
  };
@@ -32434,9 +32823,24 @@ var areaContainsZones = (data, area) => {
32434
32823
  // components/LayerTree/index.tsx
32435
32824
  init_react_import();
32436
32825
 
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" };
32826
+ // components/LayerTree/styles.module.css
32827
+ var styles_default17 = {
32828
+ LayerTree: "styles_LayerTree",
32829
+ "LayerTree-zoneTitle": "styles_LayerTree-zoneTitle",
32830
+ "LayerTree-helper": "styles_LayerTree-helper",
32831
+ Layer: "styles_Layer",
32832
+ "Layer-inner": "styles_Layer-inner",
32833
+ "Layer--containsZone": "styles_Layer--containsZone",
32834
+ "Layer-clickable": "styles_Layer-clickable",
32835
+ "Layer--isSelected": "styles_Layer--isSelected",
32836
+ "Layer-chevron": "styles_Layer-chevron",
32837
+ "Layer--childIsSelected": "styles_Layer--childIsSelected",
32838
+ "Layer-zones": "styles_Layer-zones",
32839
+ "Layer-title": "styles_Layer-title",
32840
+ "Layer-name": "styles_Layer-name",
32841
+ "Layer-icon": "styles_Layer-icon",
32842
+ "Layer-zoneIcon": "styles_Layer-zoneIcon"
32843
+ };
32440
32844
 
32441
32845
  // lib/scroll-into-view.ts
32442
32846
  init_react_import();
@@ -32464,11 +32868,12 @@ var isChildOfZone = (item, maybeChild, ctx) => {
32464
32868
  };
32465
32869
 
32466
32870
  // 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);
32871
+ var import_jsx_runtime30 = require("react/jsx-runtime");
32872
+ var getClassName22 = get_class_name_factory_default("LayerTree", styles_default17);
32873
+ var getClassNameLayer = get_class_name_factory_default("Layer", styles_default17);
32470
32874
  var LayerTree = ({
32471
32875
  data,
32876
+ config,
32472
32877
  zoneContent,
32473
32878
  itemSelector,
32474
32879
  setItemSelector,
@@ -32477,15 +32882,16 @@ var LayerTree = ({
32477
32882
  }) => {
32478
32883
  const zones = data.zones || {};
32479
32884
  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" }) }),
32885
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_jsx_runtime30.Fragment, { children: [
32886
+ label && /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: getClassName22("zoneTitle"), children: [
32887
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: getClassName22("zoneIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Layers, { size: "16" }) }),
32483
32888
  " ",
32484
32889
  label
32485
32890
  ] }),
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" }),
32891
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("ul", { className: getClassName22(), children: [
32892
+ zoneContent.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: getClassName22("helper"), children: "No items" }),
32488
32893
  zoneContent.map((item, i) => {
32894
+ var _a;
32489
32895
  const isSelected = (itemSelector == null ? void 0 : itemSelector.index) === i && (itemSelector.zone === zone || itemSelector.zone === rootDroppableId && !zone);
32490
32896
  const zonesForItem = findZonesForArea(data, item.props.id);
32491
32897
  const containsZone = Object.keys(zonesForItem).length > 0;
@@ -32499,7 +32905,7 @@ var LayerTree = ({
32499
32905
  const selectedItem = itemSelector && data ? getItem(itemSelector, data) : null;
32500
32906
  const isHovering = hoveringComponent === item.props.id;
32501
32907
  const childIsSelected = isChildOfZone(item, selectedItem, ctx);
32502
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
32908
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
32503
32909
  "li",
32504
32910
  {
32505
32911
  className: getClassNameLayer({
@@ -32509,7 +32915,7 @@ var LayerTree = ({
32509
32915
  childIsSelected
32510
32916
  }),
32511
32917
  children: [
32512
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: getClassNameLayer("inner"), children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
32918
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: getClassNameLayer("inner"), children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
32513
32919
  "button",
32514
32920
  {
32515
32921
  className: getClassNameLayer("clickable"),
@@ -32523,8 +32929,9 @@ var LayerTree = ({
32523
32929
  zone
32524
32930
  });
32525
32931
  const id = zoneContent[i].props.id;
32932
+ const frame = getFrame();
32526
32933
  scrollIntoView(
32527
- document.querySelector(
32934
+ frame == null ? void 0 : frame.querySelector(
32528
32935
  `[data-rfd-drag-handle-draggable-id="draggable-${id}"]`
32529
32936
  )
32530
32937
  );
@@ -32540,24 +32947,25 @@ var LayerTree = ({
32540
32947
  setHoveringComponent(null);
32541
32948
  },
32542
32949
  children: [
32543
- containsZone && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
32950
+ containsZone && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
32544
32951
  "div",
32545
32952
  {
32546
32953
  className: getClassNameLayer("chevron"),
32547
32954
  title: isSelected ? "Collapse" : "Expand",
32548
- children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(ChevronDown, { size: "12" })
32955
+ children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(ChevronDown, { size: "12" })
32549
32956
  }
32550
32957
  ),
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 })
32958
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: getClassNameLayer("title"), children: [
32959
+ /* @__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" }) }),
32960
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: getClassNameLayer("name"), children: (_a = config.components[item.type]["label"]) != null ? _a : item.type })
32554
32961
  ] })
32555
32962
  ]
32556
32963
  }
32557
32964
  ) }),
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)(
32965
+ 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
32966
  LayerTree,
32560
32967
  {
32968
+ config,
32561
32969
  data,
32562
32970
  zoneContent: zones[zoneKey],
32563
32971
  setItemSelector,
@@ -32577,9 +32985,9 @@ var LayerTree = ({
32577
32985
 
32578
32986
  // components/Puck/components/Outline/index.tsx
32579
32987
  var import_react24 = require("react");
32580
- var import_jsx_runtime28 = require("react/jsx-runtime");
32988
+ var import_jsx_runtime31 = require("react/jsx-runtime");
32581
32989
  var Outline = () => {
32582
- const { dispatch, state, overrides } = useAppContext();
32990
+ const { dispatch, state, overrides, config } = useAppContext();
32583
32991
  const { data, ui } = state;
32584
32992
  const { itemSelector } = ui;
32585
32993
  const setItemSelector = (0, import_react24.useCallback)(
@@ -32592,10 +33000,11 @@ var Outline = () => {
32592
33000
  []
32593
33001
  );
32594
33002
  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)(
33003
+ 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: [
33004
+ (ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId]) && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
32597
33005
  LayerTree,
32598
33006
  {
33007
+ config,
32599
33008
  data,
32600
33009
  label: areaContainsZones(data, "root") ? rootDroppableId : "",
32601
33010
  zoneContent: data.content,
@@ -32605,9 +33014,10 @@ var Outline = () => {
32605
33014
  ),
32606
33015
  Object.entries(findZonesForArea(data, "root")).map(
32607
33016
  ([zoneKey, zone]) => {
32608
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
33017
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
32609
33018
  LayerTree,
32610
33019
  {
33020
+ config,
32611
33021
  data,
32612
33022
  label: zoneKey,
32613
33023
  zone: zoneKey,
@@ -32731,14 +33141,441 @@ function useHistoryStore() {
32731
33141
  };
32732
33142
  }
32733
33143
 
33144
+ // components/Puck/components/Canvas/index.tsx
33145
+ init_react_import();
33146
+
33147
+ // ../../node_modules/css-box-model/dist/css-box-model.esm.js
33148
+ init_react_import();
33149
+
33150
+ // ../../node_modules/tiny-invariant/dist/esm/tiny-invariant.js
33151
+ init_react_import();
33152
+ var isProduction = process.env.NODE_ENV === "production";
33153
+ var prefix = "Invariant failed";
33154
+ function invariant(condition, message) {
33155
+ if (condition) {
33156
+ return;
33157
+ }
33158
+ if (isProduction) {
33159
+ throw new Error(prefix);
33160
+ }
33161
+ var provided = typeof message === "function" ? message() : message;
33162
+ var value = provided ? "".concat(prefix, ": ").concat(provided) : prefix;
33163
+ throw new Error(value);
33164
+ }
33165
+
33166
+ // ../../node_modules/css-box-model/dist/css-box-model.esm.js
33167
+ var getRect = function getRect2(_ref) {
33168
+ var top = _ref.top, right = _ref.right, bottom = _ref.bottom, left = _ref.left;
33169
+ var width = right - left;
33170
+ var height = bottom - top;
33171
+ var rect = {
33172
+ top,
33173
+ right,
33174
+ bottom,
33175
+ left,
33176
+ width,
33177
+ height,
33178
+ x: left,
33179
+ y: top,
33180
+ center: {
33181
+ x: (right + left) / 2,
33182
+ y: (bottom + top) / 2
33183
+ }
33184
+ };
33185
+ return rect;
33186
+ };
33187
+ var expand = function expand2(target, expandBy) {
33188
+ return {
33189
+ top: target.top - expandBy.top,
33190
+ left: target.left - expandBy.left,
33191
+ bottom: target.bottom + expandBy.bottom,
33192
+ right: target.right + expandBy.right
33193
+ };
33194
+ };
33195
+ var shrink = function shrink2(target, shrinkBy) {
33196
+ return {
33197
+ top: target.top + shrinkBy.top,
33198
+ left: target.left + shrinkBy.left,
33199
+ bottom: target.bottom - shrinkBy.bottom,
33200
+ right: target.right - shrinkBy.right
33201
+ };
33202
+ };
33203
+ var noSpacing = {
33204
+ top: 0,
33205
+ right: 0,
33206
+ bottom: 0,
33207
+ left: 0
33208
+ };
33209
+ var createBox = function createBox2(_ref2) {
33210
+ 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;
33211
+ var marginBox = getRect(expand(borderBox, margin));
33212
+ var paddingBox = getRect(shrink(borderBox, border));
33213
+ var contentBox = getRect(shrink(paddingBox, padding));
33214
+ return {
33215
+ marginBox,
33216
+ borderBox: getRect(borderBox),
33217
+ paddingBox,
33218
+ contentBox,
33219
+ margin,
33220
+ border,
33221
+ padding
33222
+ };
33223
+ };
33224
+ var parse = function parse2(raw) {
33225
+ var value = raw.slice(0, -2);
33226
+ var suffix = raw.slice(-2);
33227
+ if (suffix !== "px") {
33228
+ return 0;
33229
+ }
33230
+ var result = Number(value);
33231
+ !!isNaN(result) ? process.env.NODE_ENV !== "production" ? invariant(false, "Could not parse value [raw: " + raw + ", without suffix: " + value + "]") : invariant(false) : void 0;
33232
+ return result;
33233
+ };
33234
+ var calculateBox = function calculateBox2(borderBox, styles) {
33235
+ var margin = {
33236
+ top: parse(styles.marginTop),
33237
+ right: parse(styles.marginRight),
33238
+ bottom: parse(styles.marginBottom),
33239
+ left: parse(styles.marginLeft)
33240
+ };
33241
+ var padding = {
33242
+ top: parse(styles.paddingTop),
33243
+ right: parse(styles.paddingRight),
33244
+ bottom: parse(styles.paddingBottom),
33245
+ left: parse(styles.paddingLeft)
33246
+ };
33247
+ var border = {
33248
+ top: parse(styles.borderTopWidth),
33249
+ right: parse(styles.borderRightWidth),
33250
+ bottom: parse(styles.borderBottomWidth),
33251
+ left: parse(styles.borderLeftWidth)
33252
+ };
33253
+ return createBox({
33254
+ borderBox,
33255
+ margin,
33256
+ padding,
33257
+ border
33258
+ });
33259
+ };
33260
+ var getBox = function getBox2(el) {
33261
+ var borderBox = el.getBoundingClientRect();
33262
+ var styles = window.getComputedStyle(el);
33263
+ return calculateBox(borderBox, styles);
33264
+ };
33265
+
33266
+ // components/Puck/components/Canvas/index.tsx
33267
+ var import_react27 = require("react");
33268
+
33269
+ // components/ViewportControls/index.tsx
33270
+ init_react_import();
33271
+ var import_react26 = require("react");
33272
+
33273
+ // components/ViewportControls/styles.module.css
33274
+ var styles_default18 = {
33275
+ ViewportControls: "styles_ViewportControls",
33276
+ "ViewportControls-divider": "styles_ViewportControls-divider",
33277
+ "ViewportControls-zoomSelect": "styles_ViewportControls-zoomSelect",
33278
+ "ViewportButton--isActive": "styles_ViewportButton--isActive",
33279
+ "ViewportButton-inner": "styles_ViewportButton-inner"
33280
+ };
33281
+
33282
+ // components/ViewportControls/index.tsx
33283
+ var import_jsx_runtime32 = require("react/jsx-runtime");
33284
+ var icons = {
33285
+ Smartphone: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Smartphone, { size: 16 }),
33286
+ Tablet: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Tablet, { size: 16 }),
33287
+ Monitor: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Monitor, { size: 16 })
33288
+ };
33289
+ var getClassName23 = get_class_name_factory_default("ViewportControls", styles_default18);
33290
+ var getClassNameButton = get_class_name_factory_default("ViewportButton", styles_default18);
33291
+ var ViewportButton = ({
33292
+ children,
33293
+ height = "auto",
33294
+ title,
33295
+ width,
33296
+ onClick
33297
+ }) => {
33298
+ const { state } = useAppContext();
33299
+ const [isActive, setIsActive] = (0, import_react26.useState)(false);
33300
+ (0, import_react26.useEffect)(() => {
33301
+ setIsActive(width === state.ui.viewports.current.width);
33302
+ }, [width, state.ui.viewports.current.width]);
33303
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: getClassNameButton({ isActive }), children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
33304
+ IconButton,
33305
+ {
33306
+ title,
33307
+ disabled: isActive,
33308
+ onClick: (e) => {
33309
+ e.stopPropagation();
33310
+ onClick({ width, height });
33311
+ },
33312
+ children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: getClassNameButton("inner"), children })
33313
+ }
33314
+ ) });
33315
+ };
33316
+ var defaultZoomOptions = [
33317
+ { label: "25%", value: 0.25 },
33318
+ { label: "50%", value: 0.5 },
33319
+ { label: "75%", value: 0.75 },
33320
+ { label: "100%", value: 1 },
33321
+ { label: "125%", value: 1.25 },
33322
+ { label: "150%", value: 1.5 },
33323
+ { label: "200%", value: 2 }
33324
+ ];
33325
+ var ViewportControls = ({
33326
+ autoZoom,
33327
+ zoom,
33328
+ onViewportChange,
33329
+ onZoom
33330
+ }) => {
33331
+ const { viewports } = useAppContext();
33332
+ const defaultsContainAutoZoom = defaultZoomOptions.find(
33333
+ (option) => option.value === autoZoom
33334
+ );
33335
+ const zoomOptions = (0, import_react26.useMemo)(
33336
+ () => [
33337
+ ...defaultZoomOptions,
33338
+ ...defaultsContainAutoZoom ? [] : [
33339
+ {
33340
+ value: autoZoom,
33341
+ label: `${(autoZoom * 100).toFixed(0)}% (Auto)`
33342
+ }
33343
+ ]
33344
+ ].filter((a) => a.value <= autoZoom).sort((a, b) => a.value > b.value ? 1 : -1),
33345
+ [autoZoom]
33346
+ );
33347
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: getClassName23(), children: [
33348
+ viewports.map((viewport, i) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
33349
+ ViewportButton,
33350
+ {
33351
+ height: viewport.height,
33352
+ width: viewport.width,
33353
+ title: viewport.label ? `Switch to ${viewport.label} viewport` : "Switch viewport",
33354
+ onClick: onViewportChange,
33355
+ children: typeof viewport.icon === "string" ? icons[viewport.icon] || viewport.icon : viewport.icon || icons.Smartphone
33356
+ },
33357
+ i
33358
+ )),
33359
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: getClassName23("divider") }),
33360
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
33361
+ IconButton,
33362
+ {
33363
+ title: "Zoom viewport out",
33364
+ disabled: zoom <= zoomOptions[0].value,
33365
+ onClick: (e) => {
33366
+ e.stopPropagation();
33367
+ onZoom(
33368
+ zoomOptions[Math.max(
33369
+ zoomOptions.findIndex((option) => option.value === zoom) - 1,
33370
+ 0
33371
+ )].value
33372
+ );
33373
+ },
33374
+ children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ZoomOut, { size: 16 })
33375
+ }
33376
+ ),
33377
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
33378
+ IconButton,
33379
+ {
33380
+ title: "Zoom viewport in",
33381
+ disabled: zoom >= zoomOptions[zoomOptions.length - 1].value,
33382
+ onClick: (e) => {
33383
+ e.stopPropagation();
33384
+ onZoom(
33385
+ zoomOptions[Math.min(
33386
+ zoomOptions.findIndex((option) => option.value === zoom) + 1,
33387
+ zoomOptions.length - 1
33388
+ )].value
33389
+ );
33390
+ },
33391
+ children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ZoomIn, { size: 16 })
33392
+ }
33393
+ ),
33394
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: getClassName23("divider") }),
33395
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
33396
+ "select",
33397
+ {
33398
+ className: getClassName23("zoomSelect"),
33399
+ value: zoom.toString(),
33400
+ onChange: (e) => {
33401
+ onZoom(parseFloat(e.currentTarget.value));
33402
+ },
33403
+ children: zoomOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
33404
+ "option",
33405
+ {
33406
+ value: option.value,
33407
+ label: option.label
33408
+ },
33409
+ option.label
33410
+ ))
33411
+ }
33412
+ )
33413
+ ] });
33414
+ };
33415
+
33416
+ // components/Puck/components/Canvas/styles.module.css
33417
+ var styles_default19 = {
33418
+ PuckCanvas: "styles_PuckCanvas",
33419
+ "PuckCanvas-controls": "styles_PuckCanvas-controls",
33420
+ "PuckCanvas-inner": "styles_PuckCanvas-inner",
33421
+ "PuckCanvas-root": "styles_PuckCanvas-root",
33422
+ "PuckCanvas--ready": "styles_PuckCanvas--ready"
33423
+ };
33424
+
33425
+ // lib/get-zoom-config.ts
33426
+ init_react_import();
33427
+ var RESET_ZOOM_SMALLER_THAN_FRAME = true;
33428
+ var getZoomConfig = (uiViewport, frame, zoom) => {
33429
+ const box = getBox(frame);
33430
+ const { width: frameWidth, height: frameHeight } = box.contentBox;
33431
+ const viewportHeight = uiViewport.height === "auto" ? frameHeight : uiViewport.height;
33432
+ let rootHeight = 0;
33433
+ let autoZoom = 1;
33434
+ if (uiViewport.width > frameWidth || viewportHeight > frameHeight) {
33435
+ const widthZoom = Math.min(frameWidth / uiViewport.width, 1);
33436
+ const heightZoom = Math.min(frameHeight / viewportHeight, 1);
33437
+ zoom = widthZoom;
33438
+ if (widthZoom < heightZoom) {
33439
+ rootHeight = viewportHeight / zoom;
33440
+ } else {
33441
+ rootHeight = viewportHeight;
33442
+ zoom = heightZoom;
33443
+ }
33444
+ autoZoom = zoom;
33445
+ } else {
33446
+ if (RESET_ZOOM_SMALLER_THAN_FRAME) {
33447
+ autoZoom = 1;
33448
+ zoom = 1;
33449
+ rootHeight = viewportHeight;
33450
+ }
33451
+ }
33452
+ return { autoZoom, rootHeight, zoom };
33453
+ };
33454
+
33455
+ // components/Puck/components/Canvas/index.tsx
33456
+ var import_jsx_runtime33 = require("react/jsx-runtime");
33457
+ var getClassName24 = get_class_name_factory_default("PuckCanvas", styles_default19);
33458
+ var ZOOM_ON_CHANGE = true;
33459
+ var Canvas = () => {
33460
+ const { status, iframe } = useAppContext();
33461
+ const { dispatch, state, overrides, setUi, zoomConfig, setZoomConfig } = useAppContext();
33462
+ const { ui } = state;
33463
+ const frameRef = (0, import_react27.useRef)(null);
33464
+ const [showTransition, setShowTransition] = (0, import_react27.useState)(false);
33465
+ const defaultRender = (0, import_react27.useMemo)(() => {
33466
+ const PuckDefault = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_jsx_runtime33.Fragment, { children });
33467
+ return PuckDefault;
33468
+ }, []);
33469
+ const CustomPreview = (0, import_react27.useMemo)(
33470
+ () => overrides.preview || defaultRender,
33471
+ [overrides]
33472
+ );
33473
+ const getFrameDimensions = (0, import_react27.useCallback)(() => {
33474
+ if (frameRef.current) {
33475
+ const frame = frameRef.current;
33476
+ const box = getBox(frame);
33477
+ return { width: box.contentBox.width, height: box.contentBox.height };
33478
+ }
33479
+ return { width: 0, height: 0 };
33480
+ }, [frameRef]);
33481
+ const resetAutoZoom = (0, import_react27.useCallback)(
33482
+ (ui2 = state.ui) => {
33483
+ if (frameRef.current) {
33484
+ setZoomConfig(
33485
+ getZoomConfig(ui2.viewports.current, frameRef.current, zoomConfig.zoom)
33486
+ );
33487
+ }
33488
+ },
33489
+ [frameRef, zoomConfig, state.ui]
33490
+ );
33491
+ (0, import_react27.useEffect)(() => {
33492
+ setShowTransition(false);
33493
+ resetAutoZoom();
33494
+ }, [frameRef, ui.leftSideBarVisible, ui.rightSideBarVisible]);
33495
+ (0, import_react27.useEffect)(() => {
33496
+ const { height: frameHeight } = getFrameDimensions();
33497
+ if (ui.viewports.current.height === "auto") {
33498
+ setZoomConfig(__spreadProps(__spreadValues({}, zoomConfig), {
33499
+ rootHeight: frameHeight / zoomConfig.zoom
33500
+ }));
33501
+ }
33502
+ }, [zoomConfig.zoom]);
33503
+ (0, import_react27.useEffect)(() => {
33504
+ const observer = new ResizeObserver(() => {
33505
+ setShowTransition(false);
33506
+ resetAutoZoom();
33507
+ });
33508
+ if (document.body) {
33509
+ observer.observe(document.body);
33510
+ }
33511
+ return () => {
33512
+ observer.disconnect();
33513
+ };
33514
+ }, []);
33515
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
33516
+ "div",
33517
+ {
33518
+ className: getClassName24({
33519
+ ready: status === "READY" || !iframe.enabled
33520
+ }),
33521
+ onClick: () => dispatch({
33522
+ type: "setUi",
33523
+ ui: { itemSelector: null },
33524
+ recordHistory: true
33525
+ }),
33526
+ children: [
33527
+ ui.viewports.controlsVisible && iframe.enabled && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: getClassName24("controls"), children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
33528
+ ViewportControls,
33529
+ {
33530
+ autoZoom: zoomConfig.autoZoom,
33531
+ zoom: zoomConfig.zoom,
33532
+ onViewportChange: (viewport) => {
33533
+ setShowTransition(true);
33534
+ const uiViewport = __spreadProps(__spreadValues({}, viewport), {
33535
+ height: viewport.height || "auto",
33536
+ zoom: zoomConfig.zoom
33537
+ });
33538
+ const newUi = __spreadProps(__spreadValues({}, ui), {
33539
+ viewports: __spreadProps(__spreadValues({}, ui.viewports), { current: uiViewport })
33540
+ });
33541
+ setUi(newUi);
33542
+ if (ZOOM_ON_CHANGE) {
33543
+ resetAutoZoom(newUi);
33544
+ }
33545
+ },
33546
+ onZoom: (zoom) => {
33547
+ setShowTransition(true);
33548
+ setZoomConfig(__spreadProps(__spreadValues({}, zoomConfig), { zoom }));
33549
+ }
33550
+ }
33551
+ ) }),
33552
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: getClassName24("inner"), ref: frameRef, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
33553
+ "div",
33554
+ {
33555
+ className: getClassName24("root"),
33556
+ style: {
33557
+ width: iframe.enabled ? ui.viewports.current.width : void 0,
33558
+ height: zoomConfig.rootHeight,
33559
+ transform: iframe.enabled ? `scale(${zoomConfig.zoom})` : void 0,
33560
+ transition: showTransition ? "width 150ms ease-out, height 150ms ease-out, transform 150ms ease-out" : "",
33561
+ overflow: iframe.enabled ? void 0 : "auto"
33562
+ },
33563
+ children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(CustomPreview, { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Preview, {}) })
33564
+ }
33565
+ ) })
33566
+ ]
33567
+ }
33568
+ );
33569
+ };
33570
+
32734
33571
  // 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);
33572
+ var import_jsx_runtime34 = require("react/jsx-runtime");
33573
+ var getClassName25 = get_class_name_factory_default("Puck", styles_default8);
32737
33574
  function Puck({
32738
33575
  children,
32739
33576
  config,
32740
33577
  data: initialData = { content: [], root: { props: { title: "" } } },
32741
- ui: initialUi = defaultAppState.ui,
33578
+ ui: initialUi,
32742
33579
  onChange,
32743
33580
  onPublish,
32744
33581
  plugins = [],
@@ -32746,32 +33583,63 @@ function Puck({
32746
33583
  renderHeader,
32747
33584
  renderHeaderActions,
32748
33585
  headerTitle,
32749
- headerPath
33586
+ headerPath,
33587
+ viewports = defaultViewports,
33588
+ iframe = {
33589
+ enabled: true
33590
+ }
32750
33591
  }) {
33592
+ var _a;
32751
33593
  const historyStore = useHistoryStore();
32752
- const [reducer] = (0, import_react26.useState)(
33594
+ const [reducer] = (0, import_react28.useState)(
32753
33595
  () => createReducer({ config, record: historyStore.record })
32754
33596
  );
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)(
33597
+ const [initialAppState] = (0, import_react28.useState)(() => {
33598
+ var _a2, _b, _c, _d;
33599
+ const initial = __spreadValues(__spreadValues({}, defaultAppState.ui), initialUi);
33600
+ let clientUiState = {};
33601
+ if (typeof window !== "undefined") {
33602
+ const viewportWidth = window.innerWidth;
33603
+ const viewportDifferences = Object.entries(viewports).map(([key, value]) => ({
33604
+ key,
33605
+ diff: Math.abs(viewportWidth - value.width)
33606
+ })).sort((a, b) => a.diff > b.diff ? 1 : -1);
33607
+ const closestViewport = viewportDifferences[0].key;
33608
+ if (iframe.enabled) {
33609
+ clientUiState = __spreadProps(__spreadValues({}, window.matchMedia("(min-width: 638px)").matches ? {} : {
33610
+ leftSideBarVisible: false,
33611
+ rightSideBarVisible: false
33612
+ }), {
33613
+ viewports: __spreadProps(__spreadValues({}, initial.viewports), {
33614
+ current: __spreadProps(__spreadValues({}, initial.viewports.current), {
33615
+ height: ((_b = (_a2 = initialUi == null ? void 0 : initialUi.viewports) == null ? void 0 : _a2.current) == null ? void 0 : _b.height) || viewports[closestViewport].height || "auto",
33616
+ width: ((_d = (_c = initialUi == null ? void 0 : initialUi.viewports) == null ? void 0 : _c.current) == null ? void 0 : _d.width) || viewports[closestViewport].width
33617
+ })
33618
+ })
33619
+ });
33620
+ }
33621
+ }
33622
+ return __spreadProps(__spreadValues({}, defaultAppState), {
33623
+ data: initialData,
33624
+ ui: __spreadProps(__spreadValues(__spreadValues({}, initial), clientUiState), {
33625
+ // Store categories under componentList on state to allow render functions and plugins to modify
33626
+ componentList: config.categories ? Object.entries(config.categories).reduce(
33627
+ (acc, [categoryName, category]) => {
33628
+ return __spreadProps(__spreadValues({}, acc), {
33629
+ [categoryName]: {
33630
+ title: category.title,
33631
+ components: category.components,
33632
+ expanded: category.defaultExpanded,
33633
+ visible: category.visible
33634
+ }
33635
+ });
33636
+ },
33637
+ {}
33638
+ ) : {}
33639
+ })
33640
+ });
33641
+ });
33642
+ const [appState, dispatch] = (0, import_react28.useReducer)(
32775
33643
  reducer,
32776
33644
  flushZones(initialAppState)
32777
33645
  );
@@ -32782,9 +33650,9 @@ function Puck({
32782
33650
  config,
32783
33651
  dispatch
32784
33652
  );
32785
- const [menuOpen, setMenuOpen] = (0, import_react26.useState)(false);
33653
+ const [menuOpen, setMenuOpen] = (0, import_react28.useState)(false);
32786
33654
  const { itemSelector, leftSideBarVisible, rightSideBarVisible } = ui;
32787
- const setItemSelector = (0, import_react26.useCallback)(
33655
+ const setItemSelector = (0, import_react28.useCallback)(
32788
33656
  (newItemSelector) => {
32789
33657
  if (newItemSelector === itemSelector)
32790
33658
  return;
@@ -32797,21 +33665,21 @@ function Puck({
32797
33665
  [itemSelector]
32798
33666
  );
32799
33667
  const selectedItem = itemSelector ? getItem(itemSelector, data) : null;
32800
- (0, import_react26.useEffect)(() => {
33668
+ (0, import_react28.useEffect)(() => {
32801
33669
  if (onChange)
32802
33670
  onChange(data);
32803
33671
  }, [data]);
32804
33672
  const { onDragStartOrUpdate, placeholderStyle } = usePlaceholderStyle();
32805
- const [draggedItem, setDraggedItem] = (0, import_react26.useState)();
33673
+ const [draggedItem, setDraggedItem] = (0, import_react28.useState)();
32806
33674
  const rootProps = data.root.props || data.root;
32807
- (0, import_react26.useEffect)(() => {
33675
+ (0, import_react28.useEffect)(() => {
32808
33676
  if (Object.keys(data.root).length > 0 && !data.root.props) {
32809
33677
  console.error(
32810
33678
  "Warning: Defining props on `root` is deprecated. Please use `root.props`. This will be a breaking change in a future release."
32811
33679
  );
32812
33680
  }
32813
33681
  }, []);
32814
- const toggleSidebars = (0, import_react26.useCallback)(
33682
+ const toggleSidebars = (0, import_react28.useCallback)(
32815
33683
  (sidebar) => {
32816
33684
  const widerViewport = window.matchMedia("(min-width: 638px)").matches;
32817
33685
  const sideBarVisible = sidebar === "left" ? leftSideBarVisible : rightSideBarVisible;
@@ -32825,7 +33693,7 @@ function Puck({
32825
33693
  },
32826
33694
  [dispatch, leftSideBarVisible, rightSideBarVisible]
32827
33695
  );
32828
- (0, import_react26.useEffect)(() => {
33696
+ (0, import_react28.useEffect)(() => {
32829
33697
  if (!window.matchMedia("(min-width: 638px)").matches) {
32830
33698
  dispatch({
32831
33699
  type: "setUi",
@@ -32848,59 +33716,54 @@ function Puck({
32848
33716
  window.removeEventListener("resize", handleResize);
32849
33717
  };
32850
33718
  }, []);
32851
- const defaultRender = (0, import_react26.useMemo)(() => {
32852
- const PuckDefault = ({ children: children2 }) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_jsx_runtime29.Fragment, { children: children2 });
33719
+ const defaultRender = (0, import_react28.useMemo)(() => {
33720
+ const PuckDefault = ({ children: children2 }) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_jsx_runtime34.Fragment, { children: children2 });
32853
33721
  return PuckDefault;
32854
33722
  }, []);
32855
- const defaultHeaderRender = (0, import_react26.useMemo)(() => {
33723
+ const defaultHeaderRender = (0, import_react28.useMemo)(() => {
32856
33724
  if (renderHeader) {
32857
33725
  console.warn(
32858
33726
  "`renderHeader` is deprecated. Please use `overrides.header` and the `usePuck` hook instead"
32859
33727
  );
32860
- const RenderHeader = (_a) => {
32861
- var _b = _a, { actions } = _b, props = __objRest(_b, ["actions"]);
33728
+ const RenderHeader = (_a2) => {
33729
+ var _b = _a2, { actions } = _b, props = __objRest(_b, ["actions"]);
32862
33730
  const Comp = renderHeader;
32863
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState, children: actions }));
33731
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState, children: actions }));
32864
33732
  };
32865
33733
  return RenderHeader;
32866
33734
  }
32867
33735
  return defaultRender;
32868
33736
  }, [renderHeader]);
32869
- const defaultHeaderActionsRender = (0, import_react26.useMemo)(() => {
33737
+ const defaultHeaderActionsRender = (0, import_react28.useMemo)(() => {
32870
33738
  if (renderHeaderActions) {
32871
33739
  console.warn(
32872
33740
  "`renderHeaderActions` is deprecated. Please use `overrides.headerActions` and the `usePuck` hook instead."
32873
33741
  );
32874
33742
  const RenderHeader = (props) => {
32875
33743
  const Comp = renderHeaderActions;
32876
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState }));
33744
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState }));
32877
33745
  };
32878
33746
  return RenderHeader;
32879
33747
  }
32880
33748
  return defaultRender;
32881
33749
  }, [renderHeader]);
32882
- const loadedOverrides = (0, import_react26.useMemo)(() => {
33750
+ const loadedOverrides = (0, import_react28.useMemo)(() => {
32883
33751
  return loadOverrides({ overrides, plugins });
32884
33752
  }, [plugins]);
32885
- const CustomPuck = (0, import_react26.useMemo)(
33753
+ const CustomPuck = (0, import_react28.useMemo)(
32886
33754
  () => loadedOverrides.puck || defaultRender,
32887
33755
  [loadedOverrides]
32888
33756
  );
32889
- const CustomPreview = (0, import_react26.useMemo)(
32890
- () => loadedOverrides.preview || defaultRender,
32891
- [loadedOverrides]
32892
- );
32893
- const CustomHeader = (0, import_react26.useMemo)(
33757
+ const CustomHeader = (0, import_react28.useMemo)(
32894
33758
  () => loadedOverrides.header || defaultHeaderRender,
32895
33759
  [loadedOverrides]
32896
33760
  );
32897
- const CustomHeaderActions = (0, import_react26.useMemo)(
33761
+ const CustomHeaderActions = (0, import_react28.useMemo)(
32898
33762
  () => loadedOverrides.headerActions || defaultHeaderActionsRender,
32899
33763
  [loadedOverrides]
32900
33764
  );
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)(
33765
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "Puck", children: [
33766
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
32904
33767
  AppProvider,
32905
33768
  {
32906
33769
  value: {
@@ -32911,10 +33774,12 @@ function Puck({
32911
33774
  resolveData,
32912
33775
  plugins,
32913
33776
  overrides: loadedOverrides,
32914
- history
33777
+ history,
33778
+ viewports,
33779
+ iframe
32915
33780
  },
32916
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
32917
- import_dnd7.DragDropContext,
33781
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33782
+ DragDropContext,
32918
33783
  {
32919
33784
  onDragUpdate: (update) => {
32920
33785
  setDraggedItem(__spreadValues(__spreadValues({}, draggedItem), update));
@@ -32968,7 +33833,7 @@ function Puck({
32968
33833
  });
32969
33834
  }
32970
33835
  },
32971
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33836
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
32972
33837
  DropZoneProvider,
32973
33838
  {
32974
33839
  value: {
@@ -32980,77 +33845,75 @@ function Puck({
32980
33845
  draggedItem,
32981
33846
  placeholderStyle,
32982
33847
  mode: "edit",
32983
- areaId: "root",
32984
- disableZoom
33848
+ areaId: "root"
32985
33849
  },
32986
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(CustomPuck, { children: children || /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
33850
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CustomPuck, { children: children || /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
32987
33851
  "div",
32988
33852
  {
32989
- className: getClassName22({
33853
+ className: getClassName25({
32990
33854
  leftSideBarVisible,
32991
33855
  menuOpen,
32992
- rightSideBarVisible,
32993
- disableZoom
33856
+ rightSideBarVisible
32994
33857
  }),
32995
33858
  children: [
32996
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33859
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
32997
33860
  CustomHeader,
32998
33861
  {
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)(
33862
+ actions: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
33863
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CustomHeaderActions, {}),
33864
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33002
33865
  Button,
33003
33866
  {
33004
33867
  onClick: () => {
33005
33868
  onPublish && onPublish(data);
33006
33869
  },
33007
- icon: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Globe, { size: "14px" }),
33870
+ icon: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Globe, { size: "14px" }),
33008
33871
  children: "Publish"
33009
33872
  }
33010
33873
  )
33011
33874
  ] }),
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)(
33875
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("header", { className: getClassName25("header"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName25("headerInner"), children: [
33876
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName25("headerToggle"), children: [
33877
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName25("leftSideBarToggle"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33015
33878
  IconButton,
33016
33879
  {
33017
33880
  onClick: () => {
33018
33881
  toggleSidebars("left");
33019
33882
  },
33020
33883
  title: "Toggle left sidebar",
33021
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(PanelLeft, { focusable: "false" })
33884
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(PanelLeft, { focusable: "false" })
33022
33885
  }
33023
33886
  ) }),
33024
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: getClassName22("rightSideBarToggle"), children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33887
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName25("rightSideBarToggle"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33025
33888
  IconButton,
33026
33889
  {
33027
33890
  onClick: () => {
33028
33891
  toggleSidebars("right");
33029
33892
  },
33030
33893
  title: "Toggle right sidebar",
33031
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(PanelRight, { focusable: "false" })
33894
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(PanelRight, { focusable: "false" })
33032
33895
  }
33033
33896
  ) })
33034
33897
  ] }),
33035
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: getClassName22("headerTitle"), children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(Heading, { rank: 2, size: "xs", children: [
33898
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName25("headerTitle"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(Heading, { rank: 2, size: "xs", children: [
33036
33899
  headerTitle || rootProps.title || "Page",
33037
- headerPath && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
33900
+ headerPath && /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
33038
33901
  " ",
33039
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("code", { className: getClassName22("headerPath"), children: headerPath })
33902
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("code", { className: getClassName25("headerPath"), children: headerPath })
33040
33903
  ] })
33041
33904
  ] }) }),
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)(
33905
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName25("headerTools"), children: [
33906
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName25("menuButton"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33044
33907
  IconButton,
33045
33908
  {
33046
33909
  onClick: () => {
33047
33910
  return setMenuOpen(!menuOpen);
33048
33911
  },
33049
33912
  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" })
33913
+ children: menuOpen ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ChevronUp, { focusable: "false" }) : /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ChevronDown, { focusable: "false" })
33051
33914
  }
33052
33915
  ) }),
33053
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33916
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33054
33917
  MenuBar,
33055
33918
  {
33056
33919
  appState,
@@ -33058,7 +33921,7 @@ function Puck({
33058
33921
  dispatch,
33059
33922
  onPublish,
33060
33923
  menuOpen,
33061
- renderHeaderActions: () => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(CustomHeaderActions, {}),
33924
+ renderHeaderActions: () => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CustomHeaderActions, {}),
33062
33925
  setMenuOpen
33063
33926
  }
33064
33927
  )
@@ -33066,38 +33929,19 @@ function Puck({
33066
33929
  ] }) })
33067
33930
  }
33068
33931
  ),
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, {}) })
33932
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName25("leftSideBar"), children: [
33933
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(SidebarSection, { title: "Components", noBorderTop: true, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Components, {}) }),
33934
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(SidebarSection, { title: "Outline", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Outline, {}) })
33072
33935
  ] }),
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)(
33936
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Canvas, {}),
33937
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName25("rightSideBar"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33094
33938
  SidebarSection,
33095
33939
  {
33096
33940
  noPadding: true,
33097
33941
  noBorderTop: true,
33098
33942
  showBreadcrumbs: true,
33099
- title: selectedItem ? selectedItem.type : "Page",
33100
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Fields, {})
33943
+ title: selectedItem ? (_a = config.components[selectedItem.type]["label"]) != null ? _a : selectedItem.type : "Page",
33944
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Fields, {})
33101
33945
  }
33102
33946
  ) })
33103
33947
  ]
@@ -33109,7 +33953,7 @@ function Puck({
33109
33953
  )
33110
33954
  }
33111
33955
  ),
33112
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { id: "puck-portal-root" })
33956
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { id: "puck-portal-root" })
33113
33957
  ] });
33114
33958
  }
33115
33959
  Puck.Components = Components;
@@ -33119,13 +33963,16 @@ Puck.Preview = Preview;
33119
33963
 
33120
33964
  // components/Render/index.tsx
33121
33965
  init_react_import();
33122
- var import_jsx_runtime30 = require("react/jsx-runtime");
33123
- function Render({ config, data }) {
33966
+ var import_jsx_runtime35 = require("react/jsx-runtime");
33967
+ function Render({
33968
+ config,
33969
+ data
33970
+ }) {
33124
33971
  var _a;
33125
33972
  const rootProps = data.root.props || data.root;
33126
33973
  const title = (rootProps == null ? void 0 : rootProps.title) || "";
33127
33974
  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)(
33975
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropZoneProvider, { value: { data, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
33129
33976
  config.root.render,
33130
33977
  __spreadProps(__spreadValues({}, rootProps), {
33131
33978
  puck: {
@@ -33134,11 +33981,11 @@ function Render({ config, data }) {
33134
33981
  title,
33135
33982
  editMode: false,
33136
33983
  id: "puck-root",
33137
- children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DropZone, { zone: rootDroppableId })
33984
+ children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropZone, { zone: rootDroppableId })
33138
33985
  })
33139
33986
  ) });
33140
33987
  }
33141
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DropZoneProvider, { value: { data, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DropZone, { zone: rootDroppableId }) });
33988
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropZoneProvider, { value: { data, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropZone, { zone: rootDroppableId }) });
33142
33989
  }
33143
33990
 
33144
33991
  // lib/migrate.ts
@@ -33199,37 +34046,51 @@ function transformProps(data, propTransforms) {
33199
34046
 
33200
34047
  // lib/resolve-all-data.ts
33201
34048
  init_react_import();
33202
- var resolveAllData = (data, config, onResolveStart, onResolveEnd) => __async(void 0, null, function* () {
33203
- const dynamicRoot = yield resolveRootData(data, config);
33204
- const { zones = {} } = data;
33205
- const zoneKeys = Object.keys(zones);
33206
- const resolvedZones = {};
33207
- for (let i = 0; i < zoneKeys.length; i++) {
33208
- const zoneKey = zoneKeys[i];
33209
- resolvedZones[zoneKey] = yield resolveAllComponentData(
33210
- zones[zoneKey],
33211
- config,
33212
- onResolveStart,
33213
- onResolveEnd
33214
- );
33215
- }
33216
- return __spreadProps(__spreadValues({}, data), {
33217
- root: dynamicRoot,
33218
- content: yield resolveAllComponentData(
33219
- data.content,
33220
- config,
33221
- onResolveStart,
33222
- onResolveEnd
33223
- ),
33224
- zones: resolvedZones
34049
+ function resolveAllData(data, config, onResolveStart, onResolveEnd) {
34050
+ return __async(this, null, function* () {
34051
+ const dynamicRoot = yield resolveRootData(data, config);
34052
+ const { zones = {} } = data;
34053
+ const zoneKeys = Object.keys(zones);
34054
+ const resolvedZones = {};
34055
+ for (let i = 0; i < zoneKeys.length; i++) {
34056
+ const zoneKey = zoneKeys[i];
34057
+ resolvedZones[zoneKey] = yield resolveAllComponentData(
34058
+ zones[zoneKey],
34059
+ config,
34060
+ onResolveStart,
34061
+ onResolveEnd
34062
+ );
34063
+ }
34064
+ return __spreadProps(__spreadValues({}, data), {
34065
+ root: dynamicRoot,
34066
+ content: yield resolveAllComponentData(
34067
+ data.content,
34068
+ config,
34069
+ onResolveStart,
34070
+ onResolveEnd
34071
+ ),
34072
+ zones: resolvedZones
34073
+ });
33225
34074
  });
33226
- });
34075
+ }
33227
34076
 
33228
34077
  // lib/use-puck.ts
33229
34078
  init_react_import();
33230
34079
  var usePuck = () => {
33231
- const { state: appState, config, dispatch } = useAppContext();
33232
- return { appState, config, dispatch };
34080
+ const {
34081
+ state: appState,
34082
+ config,
34083
+ history,
34084
+ dispatch,
34085
+ selectedItem
34086
+ } = useAppContext();
34087
+ return {
34088
+ appState,
34089
+ config,
34090
+ dispatch,
34091
+ history,
34092
+ selectedItem: selectedItem || null
34093
+ };
33233
34094
  };
33234
34095
  // Annotate the CommonJS export names for ESM import in node:
33235
34096
  0 && (module.exports = {
@@ -33433,6 +34294,14 @@ lucide-react/dist/esm/icons/lock.js:
33433
34294
  * See the LICENSE file in the root directory of this source tree.
33434
34295
  *)
33435
34296
 
34297
+ lucide-react/dist/esm/icons/monitor.js:
34298
+ (**
34299
+ * @license lucide-react v0.298.0 - ISC
34300
+ *
34301
+ * This source code is licensed under the ISC license.
34302
+ * See the LICENSE file in the root directory of this source tree.
34303
+ *)
34304
+
33436
34305
  lucide-react/dist/esm/icons/more-vertical.js:
33437
34306
  (**
33438
34307
  * @license lucide-react v0.298.0 - ISC
@@ -33481,6 +34350,22 @@ lucide-react/dist/esm/icons/sliders-horizontal.js:
33481
34350
  * See the LICENSE file in the root directory of this source tree.
33482
34351
  *)
33483
34352
 
34353
+ lucide-react/dist/esm/icons/smartphone.js:
34354
+ (**
34355
+ * @license lucide-react v0.298.0 - ISC
34356
+ *
34357
+ * This source code is licensed under the ISC license.
34358
+ * See the LICENSE file in the root directory of this source tree.
34359
+ *)
34360
+
34361
+ lucide-react/dist/esm/icons/tablet.js:
34362
+ (**
34363
+ * @license lucide-react v0.298.0 - ISC
34364
+ *
34365
+ * This source code is licensed under the ISC license.
34366
+ * See the LICENSE file in the root directory of this source tree.
34367
+ *)
34368
+
33484
34369
  lucide-react/dist/esm/icons/trash.js:
33485
34370
  (**
33486
34371
  * @license lucide-react v0.298.0 - ISC
@@ -33505,6 +34390,22 @@ lucide-react/dist/esm/icons/unlock.js:
33505
34390
  * See the LICENSE file in the root directory of this source tree.
33506
34391
  *)
33507
34392
 
34393
+ lucide-react/dist/esm/icons/zoom-in.js:
34394
+ (**
34395
+ * @license lucide-react v0.298.0 - ISC
34396
+ *
34397
+ * This source code is licensed under the ISC license.
34398
+ * See the LICENSE file in the root directory of this source tree.
34399
+ *)
34400
+
34401
+ lucide-react/dist/esm/icons/zoom-out.js:
34402
+ (**
34403
+ * @license lucide-react v0.298.0 - ISC
34404
+ *
34405
+ * This source code is licensed under the ISC license.
34406
+ * See the LICENSE file in the root directory of this source tree.
34407
+ *)
34408
+
33508
34409
  lucide-react/dist/esm/lucide-react.js:
33509
34410
  (**
33510
34411
  * @license lucide-react v0.298.0 - ISC