@measured/puck 0.14.0-canary.deff7a7 → 0.14.0-canary.ea2a3d0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -93,7 +93,8 @@ var init_react_import = __esm({
93
93
 
94
94
  // ../../node_modules/classnames/index.js
95
95
  var require_classnames = __commonJS({
96
- "../../node_modules/classnames/index.js"(exports, module2) {
96
+ "../../node_modules/classnames/index.js"(exports2, module2) {
97
+ "use strict";
97
98
  init_react_import();
98
99
  (function() {
99
100
  "use strict";
@@ -145,7 +146,7 @@ var require_classnames = __commonJS({
145
146
 
146
147
  // ../../node_modules/scheduler/cjs/scheduler.production.min.js
147
148
  var require_scheduler_production_min = __commonJS({
148
- "../../node_modules/scheduler/cjs/scheduler.production.min.js"(exports) {
149
+ "../../node_modules/scheduler/cjs/scheduler.production.min.js"(exports2) {
149
150
  "use strict";
150
151
  init_react_import();
151
152
  function f(a, b) {
@@ -188,12 +189,12 @@ var require_scheduler_production_min = __commonJS({
188
189
  }
189
190
  if ("object" === typeof performance && "function" === typeof performance.now) {
190
191
  l = performance;
191
- exports.unstable_now = function() {
192
+ exports2.unstable_now = function() {
192
193
  return l.now();
193
194
  };
194
195
  } else {
195
196
  p = Date, q = p.now();
196
- exports.unstable_now = function() {
197
+ exports2.unstable_now = function() {
197
198
  return p.now() - q;
198
199
  };
199
200
  }
@@ -247,7 +248,7 @@ var require_scheduler_production_min = __commonJS({
247
248
  v.callback = null;
248
249
  y = v.priorityLevel;
249
250
  var e = d(v.expirationTime <= b);
250
- b = exports.unstable_now();
251
+ b = exports2.unstable_now();
251
252
  "function" === typeof e ? v.callback = e : v === h(r) && k(r);
252
253
  G(b);
253
254
  } else
@@ -272,11 +273,11 @@ var require_scheduler_production_min = __commonJS({
272
273
  var P = 5;
273
274
  var Q = -1;
274
275
  function M() {
275
- return exports.unstable_now() - Q < P ? false : true;
276
+ return exports2.unstable_now() - Q < P ? false : true;
276
277
  }
277
278
  function R() {
278
279
  if (null !== O) {
279
- var a = exports.unstable_now();
280
+ var a = exports2.unstable_now();
280
281
  Q = a;
281
282
  var b = true;
282
283
  try {
@@ -310,31 +311,31 @@ var require_scheduler_production_min = __commonJS({
310
311
  }
311
312
  function K(a, b) {
312
313
  L = D(function() {
313
- a(exports.unstable_now());
314
+ a(exports2.unstable_now());
314
315
  }, b);
315
316
  }
316
- exports.unstable_IdlePriority = 5;
317
- exports.unstable_ImmediatePriority = 1;
318
- exports.unstable_LowPriority = 4;
319
- exports.unstable_NormalPriority = 3;
320
- exports.unstable_Profiling = null;
321
- exports.unstable_UserBlockingPriority = 2;
322
- exports.unstable_cancelCallback = function(a) {
317
+ exports2.unstable_IdlePriority = 5;
318
+ exports2.unstable_ImmediatePriority = 1;
319
+ exports2.unstable_LowPriority = 4;
320
+ exports2.unstable_NormalPriority = 3;
321
+ exports2.unstable_Profiling = null;
322
+ exports2.unstable_UserBlockingPriority = 2;
323
+ exports2.unstable_cancelCallback = function(a) {
323
324
  a.callback = null;
324
325
  };
325
- exports.unstable_continueExecution = function() {
326
+ exports2.unstable_continueExecution = function() {
326
327
  A || z || (A = true, I(J));
327
328
  };
328
- exports.unstable_forceFrameRate = function(a) {
329
+ exports2.unstable_forceFrameRate = function(a) {
329
330
  0 > a || 125 < a ? console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported") : P = 0 < a ? Math.floor(1e3 / a) : 5;
330
331
  };
331
- exports.unstable_getCurrentPriorityLevel = function() {
332
+ exports2.unstable_getCurrentPriorityLevel = function() {
332
333
  return y;
333
334
  };
334
- exports.unstable_getFirstCallbackNode = function() {
335
+ exports2.unstable_getFirstCallbackNode = function() {
335
336
  return h(r);
336
337
  };
337
- exports.unstable_next = function(a) {
338
+ exports2.unstable_next = function(a) {
338
339
  switch (y) {
339
340
  case 1:
340
341
  case 2:
@@ -352,11 +353,11 @@ var require_scheduler_production_min = __commonJS({
352
353
  y = c;
353
354
  }
354
355
  };
355
- exports.unstable_pauseExecution = function() {
356
+ exports2.unstable_pauseExecution = function() {
356
357
  };
357
- exports.unstable_requestPaint = function() {
358
+ exports2.unstable_requestPaint = function() {
358
359
  };
359
- exports.unstable_runWithPriority = function(a, b) {
360
+ exports2.unstable_runWithPriority = function(a, b) {
360
361
  switch (a) {
361
362
  case 1:
362
363
  case 2:
@@ -375,8 +376,8 @@ var require_scheduler_production_min = __commonJS({
375
376
  y = c;
376
377
  }
377
378
  };
378
- exports.unstable_scheduleCallback = function(a, b, c) {
379
- var d = exports.unstable_now();
379
+ exports2.unstable_scheduleCallback = function(a, b, c) {
380
+ var d = exports2.unstable_now();
380
381
  "object" === typeof c && null !== c ? (c = c.delay, c = "number" === typeof c && 0 < c ? d + c : d) : c = d;
381
382
  switch (a) {
382
383
  case 1:
@@ -399,8 +400,8 @@ var require_scheduler_production_min = __commonJS({
399
400
  c > d ? (a.sortIndex = c, f(t, a), null === h(r) && a === h(t) && (B ? (E(L), L = -1) : B = true, K(H, c - d))) : (a.sortIndex = e, f(r, a), A || z || (A = true, I(J)));
400
401
  return a;
401
402
  };
402
- exports.unstable_shouldYield = M;
403
- exports.unstable_wrapCallback = function(a) {
403
+ exports2.unstable_shouldYield = M;
404
+ exports2.unstable_wrapCallback = function(a) {
404
405
  var b = y;
405
406
  return function() {
406
407
  var c = y;
@@ -417,7 +418,7 @@ var require_scheduler_production_min = __commonJS({
417
418
 
418
419
  // ../../node_modules/scheduler/cjs/scheduler.development.js
419
420
  var require_scheduler_development = __commonJS({
420
- "../../node_modules/scheduler/cjs/scheduler.development.js"(exports) {
421
+ "../../node_modules/scheduler/cjs/scheduler.development.js"(exports2) {
421
422
  "use strict";
422
423
  init_react_import();
423
424
  if (process.env.NODE_ENV !== "production") {
@@ -505,13 +506,13 @@ var require_scheduler_development = __commonJS({
505
506
  var hasPerformanceNow = typeof performance === "object" && typeof performance.now === "function";
506
507
  if (hasPerformanceNow) {
507
508
  var localPerformance = performance;
508
- exports.unstable_now = function() {
509
+ exports2.unstable_now = function() {
509
510
  return localPerformance.now();
510
511
  };
511
512
  } else {
512
513
  var localDate = Date;
513
514
  var initialTime = localDate.now();
514
- exports.unstable_now = function() {
515
+ exports2.unstable_now = function() {
515
516
  return localDate.now() - initialTime;
516
517
  };
517
518
  }
@@ -577,7 +578,7 @@ var require_scheduler_development = __commonJS({
577
578
  return workLoop(hasTimeRemaining, initialTime2);
578
579
  } catch (error) {
579
580
  if (currentTask !== null) {
580
- var currentTime = exports.unstable_now();
581
+ var currentTime = exports2.unstable_now();
581
582
  markTaskErrored(currentTask, currentTime);
582
583
  currentTask.isQueued = false;
583
584
  }
@@ -606,7 +607,7 @@ var require_scheduler_development = __commonJS({
606
607
  currentPriorityLevel = currentTask.priorityLevel;
607
608
  var didUserCallbackTimeout = currentTask.expirationTime <= currentTime;
608
609
  var continuationCallback = callback(didUserCallbackTimeout);
609
- currentTime = exports.unstable_now();
610
+ currentTime = exports2.unstable_now();
610
611
  if (typeof continuationCallback === "function") {
611
612
  currentTask.callback = continuationCallback;
612
613
  } else {
@@ -682,7 +683,7 @@ var require_scheduler_development = __commonJS({
682
683
  };
683
684
  }
684
685
  function unstable_scheduleCallback(priorityLevel, callback, options) {
685
- var currentTime = exports.unstable_now();
686
+ var currentTime = exports2.unstable_now();
686
687
  var startTime2;
687
688
  if (typeof options === "object" && options !== null) {
688
689
  var delay = options.delay;
@@ -766,7 +767,7 @@ var require_scheduler_development = __commonJS({
766
767
  var frameInterval = frameYieldMs;
767
768
  var startTime = -1;
768
769
  function shouldYieldToHost() {
769
- var timeElapsed = exports.unstable_now() - startTime;
770
+ var timeElapsed = exports2.unstable_now() - startTime;
770
771
  if (timeElapsed < frameInterval) {
771
772
  return false;
772
773
  }
@@ -787,7 +788,7 @@ var require_scheduler_development = __commonJS({
787
788
  }
788
789
  var performWorkUntilDeadline = function() {
789
790
  if (scheduledHostCallback !== null) {
790
- var currentTime = exports.unstable_now();
791
+ var currentTime = exports2.unstable_now();
791
792
  startTime = currentTime;
792
793
  var hasTimeRemaining = true;
793
794
  var hasMoreWork = true;
@@ -831,7 +832,7 @@ var require_scheduler_development = __commonJS({
831
832
  }
832
833
  function requestHostTimeout(callback, ms) {
833
834
  taskTimeoutID = localSetTimeout(function() {
834
- callback(exports.unstable_now());
835
+ callback(exports2.unstable_now());
835
836
  }, ms);
836
837
  }
837
838
  function cancelHostTimeout() {
@@ -840,24 +841,24 @@ var require_scheduler_development = __commonJS({
840
841
  }
841
842
  var unstable_requestPaint = requestPaint;
842
843
  var unstable_Profiling = null;
843
- exports.unstable_IdlePriority = IdlePriority;
844
- exports.unstable_ImmediatePriority = ImmediatePriority;
845
- exports.unstable_LowPriority = LowPriority;
846
- exports.unstable_NormalPriority = NormalPriority;
847
- exports.unstable_Profiling = unstable_Profiling;
848
- exports.unstable_UserBlockingPriority = UserBlockingPriority;
849
- exports.unstable_cancelCallback = unstable_cancelCallback;
850
- exports.unstable_continueExecution = unstable_continueExecution;
851
- exports.unstable_forceFrameRate = forceFrameRate;
852
- exports.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel;
853
- exports.unstable_getFirstCallbackNode = unstable_getFirstCallbackNode;
854
- exports.unstable_next = unstable_next;
855
- exports.unstable_pauseExecution = unstable_pauseExecution;
856
- exports.unstable_requestPaint = unstable_requestPaint;
857
- exports.unstable_runWithPriority = unstable_runWithPriority;
858
- exports.unstable_scheduleCallback = unstable_scheduleCallback;
859
- exports.unstable_shouldYield = shouldYieldToHost;
860
- exports.unstable_wrapCallback = unstable_wrapCallback;
844
+ exports2.unstable_IdlePriority = IdlePriority;
845
+ exports2.unstable_ImmediatePriority = ImmediatePriority;
846
+ exports2.unstable_LowPriority = LowPriority;
847
+ exports2.unstable_NormalPriority = NormalPriority;
848
+ exports2.unstable_Profiling = unstable_Profiling;
849
+ exports2.unstable_UserBlockingPriority = UserBlockingPriority;
850
+ exports2.unstable_cancelCallback = unstable_cancelCallback;
851
+ exports2.unstable_continueExecution = unstable_continueExecution;
852
+ exports2.unstable_forceFrameRate = forceFrameRate;
853
+ exports2.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel;
854
+ exports2.unstable_getFirstCallbackNode = unstable_getFirstCallbackNode;
855
+ exports2.unstable_next = unstable_next;
856
+ exports2.unstable_pauseExecution = unstable_pauseExecution;
857
+ exports2.unstable_requestPaint = unstable_requestPaint;
858
+ exports2.unstable_runWithPriority = unstable_runWithPriority;
859
+ exports2.unstable_scheduleCallback = unstable_scheduleCallback;
860
+ exports2.unstable_shouldYield = shouldYieldToHost;
861
+ exports2.unstable_wrapCallback = unstable_wrapCallback;
861
862
  if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop === "function") {
862
863
  __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());
863
864
  }
@@ -868,7 +869,7 @@ var require_scheduler_development = __commonJS({
868
869
 
869
870
  // ../../node_modules/scheduler/index.js
870
871
  var require_scheduler = __commonJS({
871
- "../../node_modules/scheduler/index.js"(exports, module2) {
872
+ "../../node_modules/scheduler/index.js"(exports2, module2) {
872
873
  "use strict";
873
874
  init_react_import();
874
875
  if (process.env.NODE_ENV === "production") {
@@ -881,7 +882,7 @@ var require_scheduler = __commonJS({
881
882
 
882
883
  // ../../node_modules/react-dom/cjs/react-dom.production.min.js
883
884
  var require_react_dom_production_min = __commonJS({
884
- "../../node_modules/react-dom/cjs/react-dom.production.min.js"(exports) {
885
+ "../../node_modules/react-dom/cjs/react-dom.production.min.js"(exports2) {
885
886
  "use strict";
886
887
  init_react_import();
887
888
  var aa = require("react");
@@ -7938,14 +7939,14 @@ var require_react_dom_production_min = __commonJS({
7938
7939
  }
7939
7940
  }
7940
7941
  var wl;
7941
- exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = tl;
7942
- exports.createPortal = function(a, b) {
7942
+ exports2.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = tl;
7943
+ exports2.createPortal = function(a, b) {
7943
7944
  var c = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;
7944
7945
  if (!ol(b))
7945
7946
  throw Error(p(200));
7946
7947
  return dl(a, b, null, c);
7947
7948
  };
7948
- exports.createRoot = function(a, b) {
7949
+ exports2.createRoot = function(a, b) {
7949
7950
  if (!ol(a))
7950
7951
  throw Error(p(299));
7951
7952
  var c = false, d = "", e = ll;
@@ -7955,7 +7956,7 @@ var require_react_dom_production_min = __commonJS({
7955
7956
  sf(8 === a.nodeType ? a.parentNode : a);
7956
7957
  return new ml(b);
7957
7958
  };
7958
- exports.findDOMNode = function(a) {
7959
+ exports2.findDOMNode = function(a) {
7959
7960
  if (null == a)
7960
7961
  return null;
7961
7962
  if (1 === a.nodeType)
@@ -7971,15 +7972,15 @@ var require_react_dom_production_min = __commonJS({
7971
7972
  a = null === a ? null : a.stateNode;
7972
7973
  return a;
7973
7974
  };
7974
- exports.flushSync = function(a) {
7975
+ exports2.flushSync = function(a) {
7975
7976
  return Sk(a);
7976
7977
  };
7977
- exports.hydrate = function(a, b, c) {
7978
+ exports2.hydrate = function(a, b, c) {
7978
7979
  if (!pl(b))
7979
7980
  throw Error(p(200));
7980
7981
  return sl(null, a, b, true, c);
7981
7982
  };
7982
- exports.hydrateRoot = function(a, b, c) {
7983
+ exports2.hydrateRoot = function(a, b, c) {
7983
7984
  if (!ol(a))
7984
7985
  throw Error(p(405));
7985
7986
  var d = null != c && c.hydratedSources || null, e = false, f = "", g = ll;
@@ -7995,12 +7996,12 @@ var require_react_dom_production_min = __commonJS({
7995
7996
  );
7996
7997
  return new nl(b);
7997
7998
  };
7998
- exports.render = function(a, b, c) {
7999
+ exports2.render = function(a, b, c) {
7999
8000
  if (!pl(b))
8000
8001
  throw Error(p(200));
8001
8002
  return sl(null, a, b, false, c);
8002
8003
  };
8003
- exports.unmountComponentAtNode = function(a) {
8004
+ exports2.unmountComponentAtNode = function(a) {
8004
8005
  if (!pl(a))
8005
8006
  throw Error(p(40));
8006
8007
  return a._reactRootContainer ? (Sk(function() {
@@ -8010,21 +8011,21 @@ var require_react_dom_production_min = __commonJS({
8010
8011
  });
8011
8012
  }), true) : false;
8012
8013
  };
8013
- exports.unstable_batchedUpdates = Rk;
8014
- exports.unstable_renderSubtreeIntoContainer = function(a, b, c, d) {
8014
+ exports2.unstable_batchedUpdates = Rk;
8015
+ exports2.unstable_renderSubtreeIntoContainer = function(a, b, c, d) {
8015
8016
  if (!pl(c))
8016
8017
  throw Error(p(200));
8017
8018
  if (null == a || void 0 === a._reactInternals)
8018
8019
  throw Error(p(38));
8019
8020
  return sl(a, b, c, false, d);
8020
8021
  };
8021
- exports.version = "18.2.0-next-9e3b772b8-20220608";
8022
+ exports2.version = "18.2.0-next-9e3b772b8-20220608";
8022
8023
  }
8023
8024
  });
8024
8025
 
8025
8026
  // ../../node_modules/react-dom/cjs/react-dom.development.js
8026
8027
  var require_react_dom_development = __commonJS({
8027
- "../../node_modules/react-dom/cjs/react-dom.development.js"(exports) {
8028
+ "../../node_modules/react-dom/cjs/react-dom.development.js"(exports2) {
8028
8029
  "use strict";
8029
8030
  init_react_import();
8030
8031
  if (process.env.NODE_ENV !== "production") {
@@ -8084,7 +8085,7 @@ var require_react_dom_development = __commonJS({
8084
8085
  var HostPortal = 4;
8085
8086
  var HostComponent = 5;
8086
8087
  var HostText = 6;
8087
- var Fragment13 = 7;
8088
+ var 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,11 @@ 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",
31349
31662
  disabled: field.min !== void 0 && field.min >= localState.arrayState.items.length,
31350
31663
  onClick: (e) => {
31351
31664
  e.stopPropagation();
@@ -31365,20 +31678,20 @@ var ArrayField = ({
31365
31678
  );
31366
31679
  },
31367
31680
  title: "Delete",
31368
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Trash, { size: 16 })
31681
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Trash, { size: 16 })
31369
31682
  }
31370
31683
  ) }) }),
31371
- /* @__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, {}) })
31372
31685
  ] })
31373
31686
  ]
31374
31687
  }
31375
31688
  ),
31376
- /* @__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(
31377
31690
  (fieldName) => {
31378
31691
  const subField = field.arrayFields[fieldName];
31379
31692
  const subFieldName = `${name}[${i}].${fieldName}`;
31380
31693
  const wildcardFieldName = `${name}[*].${fieldName}`;
31381
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
31694
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31382
31695
  InputOrGroup,
31383
31696
  {
31384
31697
  name: subFieldName,
@@ -31407,11 +31720,11 @@ var ArrayField = ({
31407
31720
  );
31408
31721
  }),
31409
31722
  provided.placeholder,
31410
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
31723
+ !addDisabled && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31411
31724
  "button",
31412
31725
  {
31726
+ type: "button",
31413
31727
  className: getClassName10("addButton"),
31414
- disabled: field.max !== void 0 && localState.arrayState.items.length >= field.max,
31415
31728
  onClick: () => {
31416
31729
  const existingValue = value || [];
31417
31730
  const newValue = [
@@ -31421,7 +31734,7 @@ var ArrayField = ({
31421
31734
  const newArrayState = regenerateArrayState(newValue);
31422
31735
  onChange(newValue, mapArrayStateToUi(newArrayState));
31423
31736
  },
31424
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Plus, { size: 21 })
31737
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Plus, { size: 21 })
31425
31738
  }
31426
31739
  )
31427
31740
  ]
@@ -31436,8 +31749,8 @@ var ArrayField = ({
31436
31749
 
31437
31750
  // components/InputOrGroup/fields/DefaultField/index.tsx
31438
31751
  init_react_import();
31439
- var import_jsx_runtime13 = require("react/jsx-runtime");
31440
- 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);
31441
31754
  var DefaultField = ({
31442
31755
  field,
31443
31756
  onChange,
@@ -31447,16 +31760,16 @@ var DefaultField = ({
31447
31760
  label,
31448
31761
  id
31449
31762
  }) => {
31450
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
31763
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
31451
31764
  FieldLabelInternal,
31452
31765
  {
31453
31766
  label: label || name,
31454
- icon: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
31455
- field.type === "text" && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Type, { size: 16 }),
31456
- 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 })
31457
31770
  ] }),
31458
31771
  readOnly,
31459
- children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
31772
+ children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
31460
31773
  "input",
31461
31774
  {
31462
31775
  className: getClassName11("input"),
@@ -31490,22 +31803,52 @@ var import_react17 = require("react");
31490
31803
  init_react_import();
31491
31804
  var import_react16 = require("react");
31492
31805
 
31493
- // css-module:/home/runner/work/puck/puck/packages/core/components/ExternalInput/styles.module.css#css-module
31494
- init_react_import();
31495
- 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
+ };
31496
31836
 
31497
31837
  // components/Modal/index.tsx
31498
31838
  init_react_import();
31499
31839
  var import_react15 = require("react");
31500
31840
 
31501
- // css-module:/home/runner/work/puck/puck/packages/core/components/Modal/styles.module.css#css-module
31502
- init_react_import();
31503
- 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
+ };
31504
31847
 
31505
31848
  // components/Modal/index.tsx
31506
31849
  var import_react_dom = __toESM(require_react_dom());
31507
- var import_jsx_runtime14 = require("react/jsx-runtime");
31508
- 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);
31509
31852
  var Modal = ({
31510
31853
  children,
31511
31854
  onClose,
@@ -31516,10 +31859,10 @@ var Modal = ({
31516
31859
  setRootEl(document.getElementById("puck-portal-root"));
31517
31860
  }, []);
31518
31861
  if (!rootEl) {
31519
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", {});
31862
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", {});
31520
31863
  }
31521
31864
  return (0, import_react_dom.createPortal)(
31522
- /* @__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)(
31523
31866
  "div",
31524
31867
  {
31525
31868
  className: getClassName12("inner"),
@@ -31533,9 +31876,9 @@ var Modal = ({
31533
31876
 
31534
31877
  // components/ExternalInput/index.tsx
31535
31878
  var import_react_spinners5 = require("react-spinners");
31536
- var import_jsx_runtime15 = require("react/jsx-runtime");
31537
- var getClassName13 = get_class_name_factory_default("ExternalInput", styles_module_default11);
31538
- 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);
31539
31882
  var dataCache = {};
31540
31883
  var ExternalInput = ({
31541
31884
  field,
@@ -31573,7 +31916,7 @@ var ExternalInput = ({
31573
31916
  const search = (0, import_react16.useCallback)(
31574
31917
  (query, filters2) => __async(void 0, null, function* () {
31575
31918
  setIsLoading(true);
31576
- const cacheKey = `${id}-${name}-${query}-${JSON.stringify(filters2)}`;
31919
+ const cacheKey = `${id}-${query}-${JSON.stringify(filters2)}`;
31577
31920
  const listData = dataCache[cacheKey] || (yield field.fetchList({ query, filters: filters2 }));
31578
31921
  if (listData) {
31579
31922
  setData(listData);
@@ -31586,7 +31929,7 @@ var ExternalInput = ({
31586
31929
  (0, import_react16.useEffect)(() => {
31587
31930
  search(searchQuery, filters);
31588
31931
  }, []);
31589
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
31932
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
31590
31933
  "div",
31591
31934
  {
31592
31935
  className: getClassName13({
@@ -31595,30 +31938,31 @@ var ExternalInput = ({
31595
31938
  }),
31596
31939
  id,
31597
31940
  children: [
31598
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: getClassName13("actions"), children: [
31599
- /* @__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)(
31600
31943
  "button",
31601
31944
  {
31945
+ type: "button",
31602
31946
  onClick: () => setOpen(true),
31603
31947
  className: getClassName13("button"),
31604
- children: value ? field.getItemSummary ? field.getItemSummary(value) : "External item" : /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_jsx_runtime15.Fragment, { children: [
31605
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Link, { size: "16" }),
31606
- /* @__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 })
31607
31951
  ] })
31608
31952
  }
31609
31953
  ),
31610
- value && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
31954
+ value && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
31611
31955
  "button",
31612
31956
  {
31613
31957
  className: getClassName13("detachButton"),
31614
31958
  onClick: () => {
31615
31959
  onChange(null);
31616
31960
  },
31617
- children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Unlock, { size: 16 })
31961
+ children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Unlock, { size: 16 })
31618
31962
  }
31619
31963
  )
31620
31964
  ] }),
31621
- /* @__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)(
31622
31966
  "form",
31623
31967
  {
31624
31968
  className: getClassNameModal({
@@ -31632,11 +31976,11 @@ var ExternalInput = ({
31632
31976
  search(searchQuery, filters);
31633
31977
  },
31634
31978
  children: [
31635
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: getClassNameModal("masthead"), children: field.showSearch ? /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: getClassNameModal("searchForm"), children: [
31636
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("label", { className: getClassNameModal("search"), children: [
31637
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: getClassNameModal("searchIconText"), children: "Search" }),
31638
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: getClassNameModal("searchIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Search, { size: "18" }) }),
31639
- /* @__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)(
31640
31984
  "input",
31641
31985
  {
31642
31986
  className: getClassNameModal("searchInput"),
@@ -31651,9 +31995,9 @@ var ExternalInput = ({
31651
31995
  }
31652
31996
  )
31653
31997
  ] }),
31654
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: getClassNameModal("searchActions"), children: [
31655
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Button, { type: "submit", loading: isLoading, fullWidth: true, children: "Search" }),
31656
- 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)(
31657
32001
  IconButton,
31658
32002
  {
31659
32003
  title: "Toggle filters",
@@ -31662,15 +32006,15 @@ var ExternalInput = ({
31662
32006
  e.stopPropagation();
31663
32007
  setFiltersToggled(!filtersToggled);
31664
32008
  },
31665
- children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(SlidersHorizontal, { size: 20 })
32009
+ children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(SlidersHorizontal, { size: 20 })
31666
32010
  }
31667
32011
  ) })
31668
32012
  ] })
31669
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Heading, { rank: 2, size: "xs", children: field.placeholder || "Select data" }) }),
31670
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: getClassNameModal("grid"), children: [
31671
- 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) => {
31672
32016
  const filterField = filterFields[fieldName];
31673
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
32017
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
31674
32018
  InputOrGroup,
31675
32019
  {
31676
32020
  field: filterField,
@@ -31687,9 +32031,9 @@ var ExternalInput = ({
31687
32031
  fieldName
31688
32032
  );
31689
32033
  }) }),
31690
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: getClassNameModal("tableWrapper"), children: [
31691
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("table", { className: getClassNameModal("table"), children: [
31692
- /* @__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)(
31693
32037
  "th",
31694
32038
  {
31695
32039
  className: getClassNameModal("th"),
@@ -31698,8 +32042,8 @@ var ExternalInput = ({
31698
32042
  },
31699
32043
  key
31700
32044
  )) }) }),
31701
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("tbody", { className: getClassNameModal("tbody"), children: mappedData.map((item, i) => {
31702
- 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)(
31703
32047
  "tr",
31704
32048
  {
31705
32049
  style: { whiteSpace: "nowrap" },
@@ -31708,16 +32052,16 @@ var ExternalInput = ({
31708
32052
  onChange(mapProp(data[i]));
31709
32053
  setOpen(false);
31710
32054
  },
31711
- 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))
31712
32056
  },
31713
32057
  i
31714
32058
  );
31715
32059
  }) })
31716
32060
  ] }),
31717
- /* @__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" }) })
31718
32062
  ] })
31719
32063
  ] }),
31720
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: getClassNameModal("footer"), children: [
32064
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: getClassNameModal("footer"), children: [
31721
32065
  mappedData.length,
31722
32066
  " result",
31723
32067
  mappedData.length === 1 ? "" : "s"
@@ -31731,7 +32075,7 @@ var ExternalInput = ({
31731
32075
  };
31732
32076
 
31733
32077
  // components/InputOrGroup/fields/ExternalField/index.tsx
31734
- var import_jsx_runtime16 = require("react/jsx-runtime");
32078
+ var import_jsx_runtime19 = require("react/jsx-runtime");
31735
32079
  var ExternalField = ({
31736
32080
  field,
31737
32081
  onChange,
@@ -31753,13 +32097,13 @@ var ExternalField = ({
31753
32097
  if (field.type !== "external") {
31754
32098
  return null;
31755
32099
  }
31756
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
32100
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
31757
32101
  FieldLabelInternal,
31758
32102
  {
31759
32103
  label: label || name,
31760
- icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Link, { size: 16 }),
32104
+ icon: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Link, { size: 16 }),
31761
32105
  el: "div",
31762
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
32106
+ children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
31763
32107
  ExternalInput,
31764
32108
  {
31765
32109
  name,
@@ -31785,8 +32129,8 @@ var ExternalField = ({
31785
32129
 
31786
32130
  // components/InputOrGroup/fields/RadioField/index.tsx
31787
32131
  init_react_import();
31788
- var import_jsx_runtime17 = require("react/jsx-runtime");
31789
- 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);
31790
32134
  var RadioField = ({
31791
32135
  field,
31792
32136
  onChange,
@@ -31799,19 +32143,19 @@ var RadioField = ({
31799
32143
  if (field.type !== "radio" || !field.options) {
31800
32144
  return null;
31801
32145
  }
31802
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
32146
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
31803
32147
  FieldLabelInternal,
31804
32148
  {
31805
- icon: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(CheckCircle, { size: 16 }),
32149
+ icon: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(CheckCircle, { size: 16 }),
31806
32150
  label: label || name,
31807
32151
  readOnly,
31808
32152
  el: "div",
31809
- 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)(
31810
32154
  "label",
31811
32155
  {
31812
32156
  className: getClassName14("radio"),
31813
32157
  children: [
31814
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
32158
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
31815
32159
  "input",
31816
32160
  {
31817
32161
  type: "radio",
@@ -31829,7 +32173,7 @@ var RadioField = ({
31829
32173
  defaultChecked: value === option.value
31830
32174
  }
31831
32175
  ),
31832
- /* @__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 })
31833
32177
  ]
31834
32178
  },
31835
32179
  option.label + option.value
@@ -31840,8 +32184,8 @@ var RadioField = ({
31840
32184
 
31841
32185
  // components/InputOrGroup/fields/SelectField/index.tsx
31842
32186
  init_react_import();
31843
- var import_jsx_runtime18 = require("react/jsx-runtime");
31844
- 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);
31845
32189
  var SelectField = ({
31846
32190
  field,
31847
32191
  onChange,
@@ -31854,13 +32198,13 @@ var SelectField = ({
31854
32198
  if (field.type !== "select" || !field.options) {
31855
32199
  return null;
31856
32200
  }
31857
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
32201
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
31858
32202
  FieldLabelInternal,
31859
32203
  {
31860
32204
  label: label || name,
31861
- icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ChevronDown, { size: 16 }),
32205
+ icon: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ChevronDown, { size: 16 }),
31862
32206
  readOnly,
31863
- children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
32207
+ children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
31864
32208
  "select",
31865
32209
  {
31866
32210
  id,
@@ -31874,7 +32218,7 @@ var SelectField = ({
31874
32218
  onChange(e.currentTarget.value);
31875
32219
  },
31876
32220
  value,
31877
- children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
32221
+ children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
31878
32222
  "option",
31879
32223
  {
31880
32224
  label: option.label,
@@ -31890,8 +32234,8 @@ var SelectField = ({
31890
32234
 
31891
32235
  // components/InputOrGroup/fields/TextareaField/index.tsx
31892
32236
  init_react_import();
31893
- var import_jsx_runtime19 = require("react/jsx-runtime");
31894
- 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);
31895
32239
  var TextareaField = ({
31896
32240
  onChange,
31897
32241
  readOnly,
@@ -31900,13 +32244,13 @@ var TextareaField = ({
31900
32244
  label,
31901
32245
  id
31902
32246
  }) => {
31903
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
32247
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
31904
32248
  FieldLabelInternal,
31905
32249
  {
31906
32250
  label: label || name,
31907
- icon: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Type, { size: 16 }),
32251
+ icon: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Type, { size: 16 }),
31908
32252
  readOnly,
31909
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
32253
+ children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
31910
32254
  "textarea",
31911
32255
  {
31912
32256
  id,
@@ -31930,14 +32274,16 @@ var import_use_debounce2 = require("use-debounce");
31930
32274
  // components/InputOrGroup/fields/ObjectField/index.tsx
31931
32275
  init_react_import();
31932
32276
 
31933
- // css-module:/home/runner/work/puck/puck/packages/core/components/InputOrGroup/fields/ObjectField/styles.module.css#css-module
31934
- init_react_import();
31935
- 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
+ };
31936
32282
 
31937
32283
  // components/InputOrGroup/fields/ObjectField/index.tsx
31938
- var import_jsx_runtime20 = require("react/jsx-runtime");
31939
- var getClassName17 = get_class_name_factory_default("ObjectField", styles_module_default13);
31940
- 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);
31941
32287
  var ObjectField = ({
31942
32288
  field,
31943
32289
  onChange,
@@ -31952,18 +32298,18 @@ var ObjectField = ({
31952
32298
  return null;
31953
32299
  }
31954
32300
  const data = value || {};
31955
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
32301
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
31956
32302
  FieldLabelInternal,
31957
32303
  {
31958
32304
  label: label || name,
31959
- icon: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(MoreVertical, { size: 16 }),
32305
+ icon: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(MoreVertical, { size: 16 }),
31960
32306
  el: "div",
31961
32307
  readOnly,
31962
- 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) => {
31963
32309
  const subField = field.objectFields[fieldName];
31964
32310
  const subFieldName = `${name}.${fieldName}`;
31965
32311
  const wildcardFieldName = `${name}.${fieldName}`;
31966
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
32312
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
31967
32313
  InputOrGroup,
31968
32314
  {
31969
32315
  name: subFieldName,
@@ -31990,8 +32336,8 @@ var ObjectField = ({
31990
32336
  };
31991
32337
 
31992
32338
  // components/InputOrGroup/index.tsx
31993
- var import_jsx_runtime21 = require("react/jsx-runtime");
31994
- 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);
31995
32341
  var FieldLabel = ({
31996
32342
  children,
31997
32343
  icon,
@@ -32001,11 +32347,11 @@ var FieldLabel = ({
32001
32347
  className
32002
32348
  }) => {
32003
32349
  const El = el;
32004
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(El, { className, children: [
32005
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: getClassName18("label"), children: [
32006
- 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, {}),
32007
32353
  label,
32008
- 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" }) })
32009
32355
  ] }),
32010
32356
  children
32011
32357
  ] });
@@ -32022,7 +32368,7 @@ var FieldLabelInternal = ({
32022
32368
  () => overrides.fieldLabel || FieldLabel,
32023
32369
  [overrides]
32024
32370
  );
32025
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
32371
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
32026
32372
  Wrapper,
32027
32373
  {
32028
32374
  label,
@@ -32062,7 +32408,7 @@ var InputOrGroup = (_a) => {
32062
32408
  if (!field.render) {
32063
32409
  return null;
32064
32410
  }
32065
- 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({
32066
32412
  field,
32067
32413
  name,
32068
32414
  readOnly
@@ -32091,17 +32437,19 @@ var InputOrGroup = (_a) => {
32091
32437
  const mergedProps = __spreadProps(__spreadValues(__spreadValues({}, props), localProps), { field });
32092
32438
  const children = defaultFields[field.type](mergedProps);
32093
32439
  const Render2 = render[field.type];
32094
- 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 }));
32095
32441
  };
32096
32442
 
32097
- // css-module:/home/runner/work/puck/puck/packages/core/components/Puck/components/Fields/styles.module.css#css-module
32098
- init_react_import();
32099
- 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
+ };
32100
32448
 
32101
32449
  // components/Puck/components/Fields/index.tsx
32102
32450
  var import_react19 = require("react");
32103
- var import_jsx_runtime22 = require("react/jsx-runtime");
32104
- 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);
32105
32453
  var defaultPageFields = {
32106
32454
  title: { type: "text" }
32107
32455
  };
@@ -32109,9 +32457,9 @@ var DefaultFields = ({
32109
32457
  children,
32110
32458
  isLoading
32111
32459
  }) => {
32112
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: getClassName19(), children: [
32460
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: getClassName19(), children: [
32113
32461
  children,
32114
- 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" }) })
32115
32463
  ] });
32116
32464
  };
32117
32465
  var Fields = () => {
@@ -32132,14 +32480,14 @@ var Fields = () => {
32132
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;
32133
32481
  const rootProps = data.root.props || data.root;
32134
32482
  const Wrapper = (0, import_react19.useMemo)(() => overrides.fields || DefaultFields, [overrides]);
32135
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
32483
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
32136
32484
  "form",
32137
32485
  {
32138
32486
  className: getClassName19(),
32139
32487
  onSubmit: (e) => {
32140
32488
  e.preventDefault();
32141
32489
  },
32142
- 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) => {
32143
32491
  const field = fields[fieldName];
32144
32492
  const onChange = (value, updatedUi) => {
32145
32493
  var _a2, _b2;
@@ -32205,7 +32553,7 @@ var Fields = () => {
32205
32553
  };
32206
32554
  if (selectedItem && itemSelector) {
32207
32555
  const { readOnly = {} } = selectedItem;
32208
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
32556
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
32209
32557
  InputOrGroup,
32210
32558
  {
32211
32559
  field,
@@ -32221,7 +32569,7 @@ var Fields = () => {
32221
32569
  );
32222
32570
  } else {
32223
32571
  const { readOnly = {} } = data.root;
32224
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
32572
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
32225
32573
  InputOrGroup,
32226
32574
  {
32227
32575
  field,
@@ -32251,19 +32599,25 @@ var import_react20 = require("react");
32251
32599
  // components/ComponentList/index.tsx
32252
32600
  init_react_import();
32253
32601
 
32254
- // css-module:/home/runner/work/puck/puck/packages/core/components/ComponentList/styles.module.css#css-module
32255
- init_react_import();
32256
- 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
+ };
32257
32610
 
32258
32611
  // components/ComponentList/index.tsx
32259
- var import_jsx_runtime23 = require("react/jsx-runtime");
32260
- 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);
32261
32614
  var ComponentListItem = ({
32262
32615
  name,
32616
+ label,
32263
32617
  index
32264
32618
  }) => {
32265
32619
  const { overrides } = useAppContext();
32266
- 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 });
32267
32621
  };
32268
32622
  var ComponentList = ({
32269
32623
  children,
@@ -32272,8 +32626,8 @@ var ComponentList = ({
32272
32626
  }) => {
32273
32627
  const { config, state, setUi } = useAppContext();
32274
32628
  const { expanded = true } = state.ui.componentList[id] || {};
32275
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: getClassName20({ isExpanded: expanded }), children: [
32276
- 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)(
32277
32631
  "button",
32278
32632
  {
32279
32633
  className: getClassName20("title"),
@@ -32286,15 +32640,17 @@ var ComponentList = ({
32286
32640
  }),
32287
32641
  title: expanded ? `Collapse${title ? ` ${title}` : ""}` : `Expand${title ? ` ${title}` : ""}`,
32288
32642
  children: [
32289
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { children: title }),
32290
- /* @__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 }) })
32291
32645
  ]
32292
32646
  }
32293
32647
  ),
32294
- /* @__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) => {
32295
- 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)(
32296
32651
  ComponentListItem,
32297
32652
  {
32653
+ label: (_a = config.components[componentKey]["label"]) != null ? _a : componentKey,
32298
32654
  name: componentKey,
32299
32655
  index: i
32300
32656
  },
@@ -32306,7 +32662,7 @@ var ComponentList = ({
32306
32662
  ComponentList.Item = ComponentListItem;
32307
32663
 
32308
32664
  // lib/use-component-list.tsx
32309
- var import_jsx_runtime24 = require("react/jsx-runtime");
32665
+ var import_jsx_runtime27 = require("react/jsx-runtime");
32310
32666
  var useComponentList = (config, ui) => {
32311
32667
  const [componentList, setComponentList] = (0, import_react20.useState)();
32312
32668
  (0, import_react20.useEffect)(() => {
@@ -32319,16 +32675,18 @@ var useComponentList = (config, ui) => {
32319
32675
  if (category.visible === false || !category.components) {
32320
32676
  return null;
32321
32677
  }
32322
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
32678
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
32323
32679
  ComponentList,
32324
32680
  {
32325
32681
  id: categoryKey,
32326
32682
  title: category.title || categoryKey,
32327
32683
  children: category.components.map((componentName, i) => {
32684
+ var _a2;
32328
32685
  matchedComponents.push(componentName);
32329
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
32686
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
32330
32687
  ComponentList.Item,
32331
32688
  {
32689
+ label: (_a2 = config.components[componentName]["label"]) != null ? _a2 : componentName,
32332
32690
  name: componentName,
32333
32691
  index: i
32334
32692
  },
@@ -32345,16 +32703,18 @@ var useComponentList = (config, ui) => {
32345
32703
  );
32346
32704
  if (remainingComponents.length > 0 && !((_a = ui.componentList.other) == null ? void 0 : _a.components) && ((_b = ui.componentList.other) == null ? void 0 : _b.visible) !== false) {
32347
32705
  _componentList.push(
32348
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
32706
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
32349
32707
  ComponentList,
32350
32708
  {
32351
32709
  id: "other",
32352
32710
  title: ((_c = ui.componentList.other) == null ? void 0 : _c.title) || "Other",
32353
32711
  children: remainingComponents.map((componentName, i) => {
32354
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
32712
+ var _a2;
32713
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
32355
32714
  ComponentList.Item,
32356
32715
  {
32357
32716
  name: componentName,
32717
+ label: (_a2 = config.components[componentName]["label"]) != null ? _a2 : componentName,
32358
32718
  index: i
32359
32719
  },
32360
32720
  componentName
@@ -32367,44 +32727,71 @@ var useComponentList = (config, ui) => {
32367
32727
  }
32368
32728
  setComponentList(_componentList);
32369
32729
  }
32370
- }, [config.categories, ui.componentList]);
32730
+ }, [config.categories, config.components, ui.componentList]);
32371
32731
  return componentList;
32372
32732
  };
32373
32733
 
32374
32734
  // components/Puck/components/Components/index.tsx
32375
32735
  var import_react21 = require("react");
32376
- var import_jsx_runtime25 = require("react/jsx-runtime");
32736
+ var import_jsx_runtime28 = require("react/jsx-runtime");
32377
32737
  var Components = () => {
32378
32738
  const { config, state, overrides } = useAppContext();
32379
32739
  const componentList = useComponentList(config, state.ui);
32380
32740
  const Wrapper = (0, import_react21.useMemo)(() => overrides.components || "div", [overrides]);
32381
- 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" }) });
32382
32742
  };
32383
32743
 
32384
32744
  // components/Puck/components/Preview/index.tsx
32385
32745
  init_react_import();
32386
32746
  var import_react22 = require("react");
32387
- 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);
32388
32758
  var Preview = ({ id = "puck-preview" }) => {
32389
- const { config, dispatch, state } = useAppContext();
32759
+ const { config, dispatch, state, setStatus, iframe } = useAppContext();
32390
32760
  const Page = (0, import_react22.useCallback)(
32391
32761
  (pageProps) => {
32392
32762
  var _a, _b;
32393
- 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 });
32394
32769
  },
32395
32770
  [config.root]
32396
32771
  );
32397
32772
  const rootProps = state.data.root.props || state.data.root;
32398
- const { disableZoom = false } = (0, import_react22.useContext)(dropZoneContext) || {};
32399
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
32773
+ const ref = (0, import_react22.useRef)(null);
32774
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
32400
32775
  "div",
32401
32776
  {
32777
+ className: getClassName21(),
32402
32778
  id,
32403
32779
  onClick: () => {
32404
32780
  dispatch({ type: "setUi", ui: __spreadProps(__spreadValues({}, state.ui), { itemSelector: null }) });
32405
32781
  },
32406
- style: { zoom: disableZoom ? 1 : 0.75 },
32407
- 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 }) })) })
32408
32795
  }
32409
32796
  );
32410
32797
  };
@@ -32436,9 +32823,24 @@ var areaContainsZones = (data, area) => {
32436
32823
  // components/LayerTree/index.tsx
32437
32824
  init_react_import();
32438
32825
 
32439
- // css-module:/home/runner/work/puck/puck/packages/core/components/LayerTree/styles.module.css#css-module
32440
- init_react_import();
32441
- 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
+ };
32442
32844
 
32443
32845
  // lib/scroll-into-view.ts
32444
32846
  init_react_import();
@@ -32466,11 +32868,12 @@ var isChildOfZone = (item, maybeChild, ctx) => {
32466
32868
  };
32467
32869
 
32468
32870
  // components/LayerTree/index.tsx
32469
- var import_jsx_runtime27 = require("react/jsx-runtime");
32470
- var getClassName21 = get_class_name_factory_default("LayerTree", styles_module_default16);
32471
- 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);
32472
32874
  var LayerTree = ({
32473
32875
  data,
32876
+ config,
32474
32877
  zoneContent,
32475
32878
  itemSelector,
32476
32879
  setItemSelector,
@@ -32479,15 +32882,16 @@ var LayerTree = ({
32479
32882
  }) => {
32480
32883
  const zones = data.zones || {};
32481
32884
  const ctx = (0, import_react23.useContext)(dropZoneContext);
32482
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_jsx_runtime27.Fragment, { children: [
32483
- label && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: getClassName21("zoneTitle"), children: [
32484
- /* @__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" }) }),
32485
32888
  " ",
32486
32889
  label
32487
32890
  ] }),
32488
- /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("ul", { className: getClassName21(), children: [
32489
- 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" }),
32490
32893
  zoneContent.map((item, i) => {
32894
+ var _a;
32491
32895
  const isSelected = (itemSelector == null ? void 0 : itemSelector.index) === i && (itemSelector.zone === zone || itemSelector.zone === rootDroppableId && !zone);
32492
32896
  const zonesForItem = findZonesForArea(data, item.props.id);
32493
32897
  const containsZone = Object.keys(zonesForItem).length > 0;
@@ -32501,7 +32905,7 @@ var LayerTree = ({
32501
32905
  const selectedItem = itemSelector && data ? getItem(itemSelector, data) : null;
32502
32906
  const isHovering = hoveringComponent === item.props.id;
32503
32907
  const childIsSelected = isChildOfZone(item, selectedItem, ctx);
32504
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
32908
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
32505
32909
  "li",
32506
32910
  {
32507
32911
  className: getClassNameLayer({
@@ -32511,7 +32915,7 @@ var LayerTree = ({
32511
32915
  childIsSelected
32512
32916
  }),
32513
32917
  children: [
32514
- /* @__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)(
32515
32919
  "button",
32516
32920
  {
32517
32921
  className: getClassNameLayer("clickable"),
@@ -32525,8 +32929,9 @@ var LayerTree = ({
32525
32929
  zone
32526
32930
  });
32527
32931
  const id = zoneContent[i].props.id;
32932
+ const frame = getFrame();
32528
32933
  scrollIntoView(
32529
- document.querySelector(
32934
+ frame == null ? void 0 : frame.querySelector(
32530
32935
  `[data-rfd-drag-handle-draggable-id="draggable-${id}"]`
32531
32936
  )
32532
32937
  );
@@ -32542,24 +32947,25 @@ var LayerTree = ({
32542
32947
  setHoveringComponent(null);
32543
32948
  },
32544
32949
  children: [
32545
- containsZone && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
32950
+ containsZone && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
32546
32951
  "div",
32547
32952
  {
32548
32953
  className: getClassNameLayer("chevron"),
32549
32954
  title: isSelected ? "Collapse" : "Expand",
32550
- children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(ChevronDown, { size: "12" })
32955
+ children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(ChevronDown, { size: "12" })
32551
32956
  }
32552
32957
  ),
32553
- /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: getClassNameLayer("title"), children: [
32554
- /* @__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" }) }),
32555
- /* @__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 })
32556
32961
  ] })
32557
32962
  ]
32558
32963
  }
32559
32964
  ) }),
32560
- 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)(
32561
32966
  LayerTree,
32562
32967
  {
32968
+ config,
32563
32969
  data,
32564
32970
  zoneContent: zones[zoneKey],
32565
32971
  setItemSelector,
@@ -32579,9 +32985,9 @@ var LayerTree = ({
32579
32985
 
32580
32986
  // components/Puck/components/Outline/index.tsx
32581
32987
  var import_react24 = require("react");
32582
- var import_jsx_runtime28 = require("react/jsx-runtime");
32988
+ var import_jsx_runtime31 = require("react/jsx-runtime");
32583
32989
  var Outline = () => {
32584
- const { dispatch, state, overrides } = useAppContext();
32990
+ const { dispatch, state, overrides, config } = useAppContext();
32585
32991
  const { data, ui } = state;
32586
32992
  const { itemSelector } = ui;
32587
32993
  const setItemSelector = (0, import_react24.useCallback)(
@@ -32594,10 +33000,11 @@ var Outline = () => {
32594
33000
  []
32595
33001
  );
32596
33002
  const Wrapper = (0, import_react24.useMemo)(() => overrides.outline || "div", [overrides]);
32597
- 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: [
32598
- (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)(
32599
33005
  LayerTree,
32600
33006
  {
33007
+ config,
32601
33008
  data,
32602
33009
  label: areaContainsZones(data, "root") ? rootDroppableId : "",
32603
33010
  zoneContent: data.content,
@@ -32607,9 +33014,10 @@ var Outline = () => {
32607
33014
  ),
32608
33015
  Object.entries(findZonesForArea(data, "root")).map(
32609
33016
  ([zoneKey, zone]) => {
32610
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
33017
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
32611
33018
  LayerTree,
32612
33019
  {
33020
+ config,
32613
33021
  data,
32614
33022
  label: zoneKey,
32615
33023
  zone: zoneKey,
@@ -32733,14 +33141,441 @@ function useHistoryStore() {
32733
33141
  };
32734
33142
  }
32735
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
+
32736
33571
  // components/Puck/index.tsx
32737
- var import_jsx_runtime29 = require("react/jsx-runtime");
32738
- 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);
32739
33574
  function Puck({
32740
33575
  children,
32741
33576
  config,
32742
33577
  data: initialData = { content: [], root: { props: { title: "" } } },
32743
- ui: initialUi = defaultAppState.ui,
33578
+ ui: initialUi,
32744
33579
  onChange,
32745
33580
  onPublish,
32746
33581
  plugins = [],
@@ -32748,32 +33583,63 @@ function Puck({
32748
33583
  renderHeader,
32749
33584
  renderHeaderActions,
32750
33585
  headerTitle,
32751
- headerPath
33586
+ headerPath,
33587
+ viewports = defaultViewports,
33588
+ iframe = {
33589
+ enabled: true
33590
+ }
32752
33591
  }) {
33592
+ var _a;
32753
33593
  const historyStore = useHistoryStore();
32754
- const [reducer] = (0, import_react26.useState)(
33594
+ const [reducer] = (0, import_react28.useState)(
32755
33595
  () => createReducer({ config, record: historyStore.record })
32756
33596
  );
32757
- const [initialAppState] = (0, import_react26.useState)(() => __spreadProps(__spreadValues({}, defaultAppState), {
32758
- data: initialData,
32759
- ui: __spreadProps(__spreadValues(__spreadValues({}, defaultAppState.ui), initialUi), {
32760
- // Store categories under componentList on state to allow render functions and plugins to modify
32761
- componentList: config.categories ? Object.entries(config.categories).reduce(
32762
- (acc, [categoryName, category]) => {
32763
- return __spreadProps(__spreadValues({}, acc), {
32764
- [categoryName]: {
32765
- title: category.title,
32766
- components: category.components,
32767
- expanded: category.defaultExpanded,
32768
- visible: category.visible
32769
- }
32770
- });
32771
- },
32772
- {}
32773
- ) : {}
32774
- })
32775
- }));
32776
- 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)(
32777
33643
  reducer,
32778
33644
  flushZones(initialAppState)
32779
33645
  );
@@ -32784,9 +33650,9 @@ function Puck({
32784
33650
  config,
32785
33651
  dispatch
32786
33652
  );
32787
- const [menuOpen, setMenuOpen] = (0, import_react26.useState)(false);
33653
+ const [menuOpen, setMenuOpen] = (0, import_react28.useState)(false);
32788
33654
  const { itemSelector, leftSideBarVisible, rightSideBarVisible } = ui;
32789
- const setItemSelector = (0, import_react26.useCallback)(
33655
+ const setItemSelector = (0, import_react28.useCallback)(
32790
33656
  (newItemSelector) => {
32791
33657
  if (newItemSelector === itemSelector)
32792
33658
  return;
@@ -32799,21 +33665,21 @@ function Puck({
32799
33665
  [itemSelector]
32800
33666
  );
32801
33667
  const selectedItem = itemSelector ? getItem(itemSelector, data) : null;
32802
- (0, import_react26.useEffect)(() => {
33668
+ (0, import_react28.useEffect)(() => {
32803
33669
  if (onChange)
32804
33670
  onChange(data);
32805
33671
  }, [data]);
32806
33672
  const { onDragStartOrUpdate, placeholderStyle } = usePlaceholderStyle();
32807
- const [draggedItem, setDraggedItem] = (0, import_react26.useState)();
33673
+ const [draggedItem, setDraggedItem] = (0, import_react28.useState)();
32808
33674
  const rootProps = data.root.props || data.root;
32809
- (0, import_react26.useEffect)(() => {
33675
+ (0, import_react28.useEffect)(() => {
32810
33676
  if (Object.keys(data.root).length > 0 && !data.root.props) {
32811
33677
  console.error(
32812
33678
  "Warning: Defining props on `root` is deprecated. Please use `root.props`. This will be a breaking change in a future release."
32813
33679
  );
32814
33680
  }
32815
33681
  }, []);
32816
- const toggleSidebars = (0, import_react26.useCallback)(
33682
+ const toggleSidebars = (0, import_react28.useCallback)(
32817
33683
  (sidebar) => {
32818
33684
  const widerViewport = window.matchMedia("(min-width: 638px)").matches;
32819
33685
  const sideBarVisible = sidebar === "left" ? leftSideBarVisible : rightSideBarVisible;
@@ -32827,7 +33693,7 @@ function Puck({
32827
33693
  },
32828
33694
  [dispatch, leftSideBarVisible, rightSideBarVisible]
32829
33695
  );
32830
- (0, import_react26.useEffect)(() => {
33696
+ (0, import_react28.useEffect)(() => {
32831
33697
  if (!window.matchMedia("(min-width: 638px)").matches) {
32832
33698
  dispatch({
32833
33699
  type: "setUi",
@@ -32850,59 +33716,54 @@ function Puck({
32850
33716
  window.removeEventListener("resize", handleResize);
32851
33717
  };
32852
33718
  }, []);
32853
- const defaultRender = (0, import_react26.useMemo)(() => {
32854
- 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 });
32855
33721
  return PuckDefault;
32856
33722
  }, []);
32857
- const defaultHeaderRender = (0, import_react26.useMemo)(() => {
33723
+ const defaultHeaderRender = (0, import_react28.useMemo)(() => {
32858
33724
  if (renderHeader) {
32859
33725
  console.warn(
32860
33726
  "`renderHeader` is deprecated. Please use `overrides.header` and the `usePuck` hook instead"
32861
33727
  );
32862
- const RenderHeader = (_a) => {
32863
- var _b = _a, { actions } = _b, props = __objRest(_b, ["actions"]);
33728
+ const RenderHeader = (_a2) => {
33729
+ var _b = _a2, { actions } = _b, props = __objRest(_b, ["actions"]);
32864
33730
  const Comp = renderHeader;
32865
- 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 }));
32866
33732
  };
32867
33733
  return RenderHeader;
32868
33734
  }
32869
33735
  return defaultRender;
32870
33736
  }, [renderHeader]);
32871
- const defaultHeaderActionsRender = (0, import_react26.useMemo)(() => {
33737
+ const defaultHeaderActionsRender = (0, import_react28.useMemo)(() => {
32872
33738
  if (renderHeaderActions) {
32873
33739
  console.warn(
32874
33740
  "`renderHeaderActions` is deprecated. Please use `overrides.headerActions` and the `usePuck` hook instead."
32875
33741
  );
32876
33742
  const RenderHeader = (props) => {
32877
33743
  const Comp = renderHeaderActions;
32878
- 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 }));
32879
33745
  };
32880
33746
  return RenderHeader;
32881
33747
  }
32882
33748
  return defaultRender;
32883
33749
  }, [renderHeader]);
32884
- const loadedOverrides = (0, import_react26.useMemo)(() => {
33750
+ const loadedOverrides = (0, import_react28.useMemo)(() => {
32885
33751
  return loadOverrides({ overrides, plugins });
32886
33752
  }, [plugins]);
32887
- const CustomPuck = (0, import_react26.useMemo)(
33753
+ const CustomPuck = (0, import_react28.useMemo)(
32888
33754
  () => loadedOverrides.puck || defaultRender,
32889
33755
  [loadedOverrides]
32890
33756
  );
32891
- const CustomPreview = (0, import_react26.useMemo)(
32892
- () => loadedOverrides.preview || defaultRender,
32893
- [loadedOverrides]
32894
- );
32895
- const CustomHeader = (0, import_react26.useMemo)(
33757
+ const CustomHeader = (0, import_react28.useMemo)(
32896
33758
  () => loadedOverrides.header || defaultHeaderRender,
32897
33759
  [loadedOverrides]
32898
33760
  );
32899
- const CustomHeaderActions = (0, import_react26.useMemo)(
33761
+ const CustomHeaderActions = (0, import_react28.useMemo)(
32900
33762
  () => loadedOverrides.headerActions || defaultHeaderActionsRender,
32901
33763
  [loadedOverrides]
32902
33764
  );
32903
- const disableZoom = children || loadedOverrides.puck ? true : false;
32904
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "Puck", children: [
32905
- /* @__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)(
32906
33767
  AppProvider,
32907
33768
  {
32908
33769
  value: {
@@ -32913,10 +33774,12 @@ function Puck({
32913
33774
  resolveData,
32914
33775
  plugins,
32915
33776
  overrides: loadedOverrides,
32916
- history
33777
+ history,
33778
+ viewports,
33779
+ iframe
32917
33780
  },
32918
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
32919
- import_dnd7.DragDropContext,
33781
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33782
+ DragDropContext,
32920
33783
  {
32921
33784
  onDragUpdate: (update) => {
32922
33785
  setDraggedItem(__spreadValues(__spreadValues({}, draggedItem), update));
@@ -32970,7 +33833,7 @@ function Puck({
32970
33833
  });
32971
33834
  }
32972
33835
  },
32973
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33836
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
32974
33837
  DropZoneProvider,
32975
33838
  {
32976
33839
  value: {
@@ -32982,77 +33845,75 @@ function Puck({
32982
33845
  draggedItem,
32983
33846
  placeholderStyle,
32984
33847
  mode: "edit",
32985
- areaId: "root",
32986
- disableZoom
33848
+ areaId: "root"
32987
33849
  },
32988
- 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)(
32989
33851
  "div",
32990
33852
  {
32991
- className: getClassName22({
33853
+ className: getClassName25({
32992
33854
  leftSideBarVisible,
32993
33855
  menuOpen,
32994
- rightSideBarVisible,
32995
- disableZoom
33856
+ rightSideBarVisible
32996
33857
  }),
32997
33858
  children: [
32998
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33859
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
32999
33860
  CustomHeader,
33000
33861
  {
33001
- actions: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
33002
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(CustomHeaderActions, {}),
33003
- /* @__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)(
33004
33865
  Button,
33005
33866
  {
33006
33867
  onClick: () => {
33007
33868
  onPublish && onPublish(data);
33008
33869
  },
33009
- icon: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Globe, { size: "14px" }),
33870
+ icon: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Globe, { size: "14px" }),
33010
33871
  children: "Publish"
33011
33872
  }
33012
33873
  )
33013
33874
  ] }),
33014
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("header", { className: getClassName22("header"), children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: getClassName22("headerInner"), children: [
33015
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: getClassName22("headerToggle"), children: [
33016
- /* @__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)(
33017
33878
  IconButton,
33018
33879
  {
33019
33880
  onClick: () => {
33020
33881
  toggleSidebars("left");
33021
33882
  },
33022
33883
  title: "Toggle left sidebar",
33023
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(PanelLeft, { focusable: "false" })
33884
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(PanelLeft, { focusable: "false" })
33024
33885
  }
33025
33886
  ) }),
33026
- /* @__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)(
33027
33888
  IconButton,
33028
33889
  {
33029
33890
  onClick: () => {
33030
33891
  toggleSidebars("right");
33031
33892
  },
33032
33893
  title: "Toggle right sidebar",
33033
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(PanelRight, { focusable: "false" })
33894
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(PanelRight, { focusable: "false" })
33034
33895
  }
33035
33896
  ) })
33036
33897
  ] }),
33037
- /* @__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: [
33038
33899
  headerTitle || rootProps.title || "Page",
33039
- 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: [
33040
33901
  " ",
33041
- /* @__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 })
33042
33903
  ] })
33043
33904
  ] }) }),
33044
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: getClassName22("headerTools"), children: [
33045
- /* @__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)(
33046
33907
  IconButton,
33047
33908
  {
33048
33909
  onClick: () => {
33049
33910
  return setMenuOpen(!menuOpen);
33050
33911
  },
33051
33912
  title: "Toggle menu bar",
33052
- 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" })
33053
33914
  }
33054
33915
  ) }),
33055
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33916
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
33056
33917
  MenuBar,
33057
33918
  {
33058
33919
  appState,
@@ -33060,7 +33921,7 @@ function Puck({
33060
33921
  dispatch,
33061
33922
  onPublish,
33062
33923
  menuOpen,
33063
- renderHeaderActions: () => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(CustomHeaderActions, {}),
33924
+ renderHeaderActions: () => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CustomHeaderActions, {}),
33064
33925
  setMenuOpen
33065
33926
  }
33066
33927
  )
@@ -33068,38 +33929,19 @@ function Puck({
33068
33929
  ] }) })
33069
33930
  }
33070
33931
  ),
33071
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: getClassName22("leftSideBar"), children: [
33072
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(SidebarSection, { title: "Components", noBorderTop: true, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Components, {}) }),
33073
- /* @__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, {}) })
33074
33935
  ] }),
33075
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
33076
- "div",
33077
- {
33078
- className: getClassName22("frame"),
33079
- onClick: () => setItemSelector(null),
33080
- children: [
33081
- /* @__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, {}) }) }),
33082
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
33083
- "div",
33084
- {
33085
- style: {
33086
- background: "var(--puck-color-grey-11)",
33087
- height: "100%",
33088
- flexGrow: 1
33089
- }
33090
- }
33091
- )
33092
- ]
33093
- }
33094
- ),
33095
- /* @__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)(
33096
33938
  SidebarSection,
33097
33939
  {
33098
33940
  noPadding: true,
33099
33941
  noBorderTop: true,
33100
33942
  showBreadcrumbs: true,
33101
- title: selectedItem ? selectedItem.type : "Page",
33102
- 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, {})
33103
33945
  }
33104
33946
  ) })
33105
33947
  ]
@@ -33111,7 +33953,7 @@ function Puck({
33111
33953
  )
33112
33954
  }
33113
33955
  ),
33114
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { id: "puck-portal-root" })
33956
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { id: "puck-portal-root" })
33115
33957
  ] });
33116
33958
  }
33117
33959
  Puck.Components = Components;
@@ -33121,13 +33963,16 @@ Puck.Preview = Preview;
33121
33963
 
33122
33964
  // components/Render/index.tsx
33123
33965
  init_react_import();
33124
- var import_jsx_runtime30 = require("react/jsx-runtime");
33125
- function Render({ config, data }) {
33966
+ var import_jsx_runtime35 = require("react/jsx-runtime");
33967
+ function Render({
33968
+ config,
33969
+ data
33970
+ }) {
33126
33971
  var _a;
33127
33972
  const rootProps = data.root.props || data.root;
33128
33973
  const title = (rootProps == null ? void 0 : rootProps.title) || "";
33129
33974
  if ((_a = config.root) == null ? void 0 : _a.render) {
33130
- 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)(
33131
33976
  config.root.render,
33132
33977
  __spreadProps(__spreadValues({}, rootProps), {
33133
33978
  puck: {
@@ -33136,11 +33981,11 @@ function Render({ config, data }) {
33136
33981
  title,
33137
33982
  editMode: false,
33138
33983
  id: "puck-root",
33139
- children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DropZone, { zone: rootDroppableId })
33984
+ children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropZone, { zone: rootDroppableId })
33140
33985
  })
33141
33986
  ) });
33142
33987
  }
33143
- 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 }) });
33144
33989
  }
33145
33990
 
33146
33991
  // lib/migrate.ts
@@ -33201,37 +34046,51 @@ function transformProps(data, propTransforms) {
33201
34046
 
33202
34047
  // lib/resolve-all-data.ts
33203
34048
  init_react_import();
33204
- var resolveAllData = (data, config, onResolveStart, onResolveEnd) => __async(void 0, null, function* () {
33205
- const dynamicRoot = yield resolveRootData(data, config);
33206
- const { zones = {} } = data;
33207
- const zoneKeys = Object.keys(zones);
33208
- const resolvedZones = {};
33209
- for (let i = 0; i < zoneKeys.length; i++) {
33210
- const zoneKey = zoneKeys[i];
33211
- resolvedZones[zoneKey] = yield resolveAllComponentData(
33212
- zones[zoneKey],
33213
- config,
33214
- onResolveStart,
33215
- onResolveEnd
33216
- );
33217
- }
33218
- return __spreadProps(__spreadValues({}, data), {
33219
- root: dynamicRoot,
33220
- content: yield resolveAllComponentData(
33221
- data.content,
33222
- config,
33223
- onResolveStart,
33224
- onResolveEnd
33225
- ),
33226
- 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
+ });
33227
34074
  });
33228
- });
34075
+ }
33229
34076
 
33230
34077
  // lib/use-puck.ts
33231
34078
  init_react_import();
33232
34079
  var usePuck = () => {
33233
- const { state: appState, config, history, dispatch } = useAppContext();
33234
- return { appState, config, dispatch, history };
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
+ };
33235
34094
  };
33236
34095
  // Annotate the CommonJS export names for ESM import in node:
33237
34096
  0 && (module.exports = {
@@ -33435,6 +34294,14 @@ lucide-react/dist/esm/icons/lock.js:
33435
34294
  * See the LICENSE file in the root directory of this source tree.
33436
34295
  *)
33437
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
+
33438
34305
  lucide-react/dist/esm/icons/more-vertical.js:
33439
34306
  (**
33440
34307
  * @license lucide-react v0.298.0 - ISC
@@ -33483,6 +34350,22 @@ lucide-react/dist/esm/icons/sliders-horizontal.js:
33483
34350
  * See the LICENSE file in the root directory of this source tree.
33484
34351
  *)
33485
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
+
33486
34369
  lucide-react/dist/esm/icons/trash.js:
33487
34370
  (**
33488
34371
  * @license lucide-react v0.298.0 - ISC
@@ -33507,6 +34390,22 @@ lucide-react/dist/esm/icons/unlock.js:
33507
34390
  * See the LICENSE file in the root directory of this source tree.
33508
34391
  *)
33509
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
+
33510
34409
  lucide-react/dist/esm/lucide-react.js:
33511
34410
  (**
33512
34411
  * @license lucide-react v0.298.0 - ISC