@measured/puck 0.17.0-canary.35170f8 → 0.17.0-canary.361e5f9

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.js CHANGED
@@ -99,35 +99,45 @@ var require_classnames = __commonJS({
99
99
  (function() {
100
100
  "use strict";
101
101
  var hasOwn = {}.hasOwnProperty;
102
- var nativeCodeString = "[native code]";
103
102
  function classNames() {
104
- var classes = [];
103
+ var classes = "";
105
104
  for (var i = 0; i < arguments.length; i++) {
106
105
  var arg = arguments[i];
107
- if (!arg) continue;
108
- var argType = typeof arg;
109
- if (argType === "string" || argType === "number") {
110
- classes.push(arg);
111
- } else if (Array.isArray(arg)) {
112
- if (arg.length) {
113
- var inner = classNames.apply(null, arg);
114
- if (inner) {
115
- classes.push(inner);
116
- }
117
- }
118
- } else if (argType === "object") {
119
- if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes("[native code]")) {
120
- classes.push(arg.toString());
121
- continue;
122
- }
123
- for (var key in arg) {
124
- if (hasOwn.call(arg, key) && arg[key]) {
125
- classes.push(key);
126
- }
127
- }
106
+ if (arg) {
107
+ classes = appendClass(classes, parseValue(arg));
128
108
  }
129
109
  }
130
- return classes.join(" ");
110
+ return classes;
111
+ }
112
+ function parseValue(arg) {
113
+ if (typeof arg === "string" || typeof arg === "number") {
114
+ return arg;
115
+ }
116
+ if (typeof arg !== "object") {
117
+ return "";
118
+ }
119
+ if (Array.isArray(arg)) {
120
+ return classNames.apply(null, arg);
121
+ }
122
+ if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes("[native code]")) {
123
+ return arg.toString();
124
+ }
125
+ var classes = "";
126
+ for (var key in arg) {
127
+ if (hasOwn.call(arg, key) && arg[key]) {
128
+ classes = appendClass(classes, key);
129
+ }
130
+ }
131
+ return classes;
132
+ }
133
+ function appendClass(value, newClass) {
134
+ if (!newClass) {
135
+ return value;
136
+ }
137
+ if (value) {
138
+ return value + " " + newClass;
139
+ }
140
+ return value + newClass;
131
141
  }
132
142
  if (typeof module2 !== "undefined" && module2.exports) {
133
143
  classNames.default = classNames;
@@ -279,7 +289,7 @@ init_react_import();
279
289
  var styles_module_default2 = { "InputWrapper": "_InputWrapper_1l5m8_1", "Input": "_Input_1l5m8_1", "Input-label": "_Input-label_1l5m8_26", "Input-labelIcon": "_Input-labelIcon_1l5m8_35", "Input-disabledIcon": "_Input-disabledIcon_1l5m8_42", "Input-input": "_Input-input_1l5m8_47", "Input--readOnly": "_Input--readOnly_1l5m8_91", "Input-radioGroupItems": "_Input-radioGroupItems_1l5m8_102", "Input-radio": "_Input-radio_1l5m8_102", "Input-radioInner": "_Input-radioInner_1l5m8_119", "Input-radioInput": "_Input-radioInput_1l5m8_164" };
280
290
 
281
291
  // components/AutoField/index.tsx
282
- var import_react13 = require("react");
292
+ var import_react16 = require("react");
283
293
 
284
294
  // components/AutoField/fields/index.tsx
285
295
  init_react_import();
@@ -296,6 +306,17 @@ init_react_import();
296
306
 
297
307
  // ../../node_modules/lucide-react/dist/esm/createLucideIcon.js
298
308
  init_react_import();
309
+ var import_react3 = require("react");
310
+
311
+ // ../../node_modules/lucide-react/dist/esm/shared/src/utils.js
312
+ init_react_import();
313
+ var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
314
+ var mergeClasses = (...classes) => classes.filter((className, index, array) => {
315
+ return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index;
316
+ }).join(" ").trim();
317
+
318
+ // ../../node_modules/lucide-react/dist/esm/Icon.js
319
+ init_react_import();
299
320
  var import_react2 = require("react");
300
321
 
301
322
  // ../../node_modules/lucide-react/dist/esm/defaultAttributes.js
@@ -312,41 +333,61 @@ var defaultAttributes = {
312
333
  strokeLinejoin: "round"
313
334
  };
314
335
 
336
+ // ../../node_modules/lucide-react/dist/esm/Icon.js
337
+ var Icon = (0, import_react2.forwardRef)(
338
+ (_a, ref) => {
339
+ var _b = _a, {
340
+ color = "currentColor",
341
+ size = 24,
342
+ strokeWidth = 2,
343
+ absoluteStrokeWidth,
344
+ className = "",
345
+ children,
346
+ iconNode
347
+ } = _b, rest = __objRest(_b, [
348
+ "color",
349
+ "size",
350
+ "strokeWidth",
351
+ "absoluteStrokeWidth",
352
+ "className",
353
+ "children",
354
+ "iconNode"
355
+ ]);
356
+ return (0, import_react2.createElement)(
357
+ "svg",
358
+ __spreadValues(__spreadProps(__spreadValues({
359
+ ref
360
+ }, defaultAttributes), {
361
+ width: size,
362
+ height: size,
363
+ stroke: color,
364
+ strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,
365
+ className: mergeClasses("lucide", className)
366
+ }), rest),
367
+ [
368
+ ...iconNode.map(([tag, attrs]) => (0, import_react2.createElement)(tag, attrs)),
369
+ ...Array.isArray(children) ? children : [children]
370
+ ]
371
+ );
372
+ }
373
+ );
374
+
315
375
  // ../../node_modules/lucide-react/dist/esm/createLucideIcon.js
316
- var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase().trim();
317
376
  var createLucideIcon = (iconName, iconNode) => {
318
- const Component = (0, import_react2.forwardRef)(
377
+ const Component = (0, import_react3.forwardRef)(
319
378
  (_a, ref) => {
320
- var _b = _a, { color = "currentColor", size = 24, strokeWidth = 2, absoluteStrokeWidth, className = "", children } = _b, rest = __objRest(_b, ["color", "size", "strokeWidth", "absoluteStrokeWidth", "className", "children"]);
321
- return (0, import_react2.createElement)(
322
- "svg",
323
- __spreadValues(__spreadProps(__spreadValues({
324
- ref
325
- }, defaultAttributes), {
326
- width: size,
327
- height: size,
328
- stroke: color,
329
- strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,
330
- className: ["lucide", `lucide-${toKebabCase(iconName)}`, className].join(" ")
331
- }), rest),
332
- [
333
- ...iconNode.map(([tag, attrs]) => (0, import_react2.createElement)(tag, attrs)),
334
- ...Array.isArray(children) ? children : [children]
335
- ]
336
- );
379
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
380
+ return (0, import_react3.createElement)(Icon, __spreadValues({
381
+ ref,
382
+ iconNode,
383
+ className: mergeClasses(`lucide-${toKebabCase(iconName)}`, className)
384
+ }, props));
337
385
  }
338
386
  );
339
387
  Component.displayName = `${iconName}`;
340
388
  return Component;
341
389
  };
342
390
 
343
- // ../../node_modules/lucide-react/dist/esm/icons/check-circle.js
344
- init_react_import();
345
- var CheckCircle = createLucideIcon("CheckCircle", [
346
- ["path", { d: "M22 11.08V12a10 10 0 1 1-5.93-9.14", key: "g774vq" }],
347
- ["path", { d: "m9 11 3 3L22 4", key: "1pflzl" }]
348
- ]);
349
-
350
391
  // ../../node_modules/lucide-react/dist/esm/icons/chevron-down.js
351
392
  init_react_import();
352
393
  var ChevronDown = createLucideIcon("ChevronDown", [
@@ -363,6 +404,13 @@ var ChevronRight = createLucideIcon("ChevronRight", [
363
404
  init_react_import();
364
405
  var ChevronUp = createLucideIcon("ChevronUp", [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]]);
365
406
 
407
+ // ../../node_modules/lucide-react/dist/esm/icons/circle-check-big.js
408
+ init_react_import();
409
+ var CircleCheckBig = createLucideIcon("CircleCheckBig", [
410
+ ["path", { d: "M21.801 10A10 10 0 1 1 17 3.335", key: "yps3ct" }],
411
+ ["path", { d: "m9 11 3 3L22 4", key: "1pflzl" }]
412
+ ]);
413
+
366
414
  // ../../node_modules/lucide-react/dist/esm/icons/copy.js
367
415
  init_react_import();
368
416
  var Copy = createLucideIcon("Copy", [
@@ -370,6 +418,14 @@ var Copy = createLucideIcon("Copy", [
370
418
  ["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }]
371
419
  ]);
372
420
 
421
+ // ../../node_modules/lucide-react/dist/esm/icons/ellipsis-vertical.js
422
+ init_react_import();
423
+ var EllipsisVertical = createLucideIcon("EllipsisVertical", [
424
+ ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
425
+ ["circle", { cx: "12", cy: "5", r: "1", key: "gxeob9" }],
426
+ ["circle", { cx: "12", cy: "19", r: "1", key: "lyex9k" }]
427
+ ]);
428
+
373
429
  // ../../node_modules/lucide-react/dist/esm/icons/globe.js
374
430
  init_react_import();
375
431
  var Globe = createLucideIcon("Globe", [
@@ -393,12 +449,24 @@ var Layers = createLucideIcon("Layers", [
393
449
  [
394
450
  "path",
395
451
  {
396
- d: "m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z",
397
- key: "8b97xw"
452
+ d: "M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",
453
+ key: "zw3jo"
454
+ }
455
+ ],
456
+ [
457
+ "path",
458
+ {
459
+ d: "M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",
460
+ key: "1wduqc"
398
461
  }
399
462
  ],
400
- ["path", { d: "m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65", key: "dd6zsq" }],
401
- ["path", { d: "m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65", key: "ep9fru" }]
463
+ [
464
+ "path",
465
+ {
466
+ d: "M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",
467
+ key: "kqbvx6"
468
+ }
469
+ ]
402
470
  ]);
403
471
 
404
472
  // ../../node_modules/lucide-react/dist/esm/icons/layout-grid.js
@@ -420,12 +488,19 @@ var Link = createLucideIcon("Link", [
420
488
  // ../../node_modules/lucide-react/dist/esm/icons/list.js
421
489
  init_react_import();
422
490
  var List = createLucideIcon("List", [
423
- ["line", { x1: "8", x2: "21", y1: "6", y2: "6", key: "7ey8pc" }],
424
- ["line", { x1: "8", x2: "21", y1: "12", y2: "12", key: "rjfblc" }],
425
- ["line", { x1: "8", x2: "21", y1: "18", y2: "18", key: "c3b1m8" }],
426
- ["line", { x1: "3", x2: "3.01", y1: "6", y2: "6", key: "1g7gq3" }],
427
- ["line", { x1: "3", x2: "3.01", y1: "12", y2: "12", key: "1pjlvk" }],
428
- ["line", { x1: "3", x2: "3.01", y1: "18", y2: "18", key: "28t2mc" }]
491
+ ["path", { d: "M3 12h.01", key: "nlz23k" }],
492
+ ["path", { d: "M3 18h.01", key: "1tta3j" }],
493
+ ["path", { d: "M3 6h.01", key: "1rqtza" }],
494
+ ["path", { d: "M8 12h13", key: "1za7za" }],
495
+ ["path", { d: "M8 18h13", key: "1lx6n3" }],
496
+ ["path", { d: "M8 6h13", key: "ik3vkj" }]
497
+ ]);
498
+
499
+ // ../../node_modules/lucide-react/dist/esm/icons/lock-open.js
500
+ init_react_import();
501
+ var LockOpen = createLucideIcon("LockOpen", [
502
+ ["rect", { width: "18", height: "11", x: "3", y: "11", rx: "2", ry: "2", key: "1w4ew1" }],
503
+ ["path", { d: "M7 11V7a5 5 0 0 1 9.9-1", key: "1mm8w8" }]
429
504
  ]);
430
505
 
431
506
  // ../../node_modules/lucide-react/dist/esm/icons/lock.js
@@ -443,26 +518,18 @@ var Monitor = createLucideIcon("Monitor", [
443
518
  ["line", { x1: "12", x2: "12", y1: "17", y2: "21", key: "vw1qmm" }]
444
519
  ]);
445
520
 
446
- // ../../node_modules/lucide-react/dist/esm/icons/more-vertical.js
447
- init_react_import();
448
- var MoreVertical = createLucideIcon("MoreVertical", [
449
- ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
450
- ["circle", { cx: "12", cy: "5", r: "1", key: "gxeob9" }],
451
- ["circle", { cx: "12", cy: "19", r: "1", key: "lyex9k" }]
452
- ]);
453
-
454
521
  // ../../node_modules/lucide-react/dist/esm/icons/panel-left.js
455
522
  init_react_import();
456
523
  var PanelLeft = createLucideIcon("PanelLeft", [
457
- ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }],
458
- ["line", { x1: "9", x2: "9", y1: "3", y2: "21", key: "13tij5" }]
524
+ ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
525
+ ["path", { d: "M9 3v18", key: "fh3hqa" }]
459
526
  ]);
460
527
 
461
528
  // ../../node_modules/lucide-react/dist/esm/icons/panel-right.js
462
529
  init_react_import();
463
530
  var PanelRight = createLucideIcon("PanelRight", [
464
- ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }],
465
- ["line", { x1: "15", x2: "15", y1: "3", y2: "21", key: "1hpv9i" }]
531
+ ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
532
+ ["path", { d: "M15 3v18", key: "14nvp0" }]
466
533
  ]);
467
534
 
468
535
  // ../../node_modules/lucide-react/dist/esm/icons/plus.js
@@ -476,7 +543,7 @@ var Plus = createLucideIcon("Plus", [
476
543
  init_react_import();
477
544
  var Redo2 = createLucideIcon("Redo2", [
478
545
  ["path", { d: "m15 14 5-5-5-5", key: "12vg1m" }],
479
- ["path", { d: "M20 9H9.5A5.5 5.5 0 0 0 4 14.5v0A5.5 5.5 0 0 0 9.5 20H13", key: "19mnr4" }]
546
+ ["path", { d: "M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13", key: "6uklza" }]
480
547
  ]);
481
548
 
482
549
  // ../../node_modules/lucide-react/dist/esm/icons/search.js
@@ -534,14 +601,7 @@ var Type = createLucideIcon("Type", [
534
601
  init_react_import();
535
602
  var Undo2 = createLucideIcon("Undo2", [
536
603
  ["path", { d: "M9 14 4 9l5-5", key: "102s5s" }],
537
- ["path", { d: "M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5v0a5.5 5.5 0 0 1-5.5 5.5H11", key: "llx8ln" }]
538
- ]);
539
-
540
- // ../../node_modules/lucide-react/dist/esm/icons/unlock.js
541
- init_react_import();
542
- var Unlock = createLucideIcon("Unlock", [
543
- ["rect", { width: "18", height: "11", x: "3", y: "11", rx: "2", ry: "2", key: "1w4ew1" }],
544
- ["path", { d: "M7 11V7a5 5 0 0 1 9.9-1", key: "1mm8w8" }]
604
+ ["path", { d: "M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11", key: "f3b9sd" }]
545
605
  ]);
546
606
 
547
607
  // ../../node_modules/lucide-react/dist/esm/icons/zoom-in.js
@@ -566,7 +626,7 @@ init_react_import();
566
626
 
567
627
  // components/IconButton/IconButton.tsx
568
628
  init_react_import();
569
- var import_react3 = require("react");
629
+ var import_react4 = require("react");
570
630
 
571
631
  // css-module:/home/runner/work/puck/puck/packages/core/components/IconButton/IconButton.module.css#css-module
572
632
  init_react_import();
@@ -643,7 +703,7 @@ var IconButton = ({
643
703
  fullWidth,
644
704
  title
645
705
  }) => {
646
- const [loading, setLoading] = (0, import_react3.useState)(false);
706
+ const [loading, setLoading] = (0, import_react4.useState)(false);
647
707
  const ElementType = href ? "a" : "button";
648
708
  const el = /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
649
709
  ElementType,
@@ -687,7 +747,7 @@ var import_dnd = require("@measured/dnd");
687
747
 
688
748
  // components/Puck/context.tsx
689
749
  init_react_import();
690
- var import_react6 = require("react");
750
+ var import_react7 = require("react");
691
751
 
692
752
  // lib/get-item.ts
693
753
  init_react_import();
@@ -732,7 +792,7 @@ var import_ua_parser_js = require("ua-parser-js");
732
792
 
733
793
  // lib/use-resolved-permissions.ts
734
794
  init_react_import();
735
- var import_react4 = require("react");
795
+ var import_react5 = require("react");
736
796
 
737
797
  // lib/flatten-data.ts
738
798
  init_react_import();
@@ -757,9 +817,9 @@ var getChanged = (newItem, oldItem) => {
757
817
 
758
818
  // lib/use-resolved-permissions.ts
759
819
  var useResolvedPermissions = (config, appState, globalPermissions, setComponentLoading, unsetComponentLoading) => {
760
- const [cache3, setCache] = (0, import_react4.useState)({});
761
- const [resolvedPermissions, setResolvedPermissions] = (0, import_react4.useState)({});
762
- const resolveDataForItem = (0, import_react4.useCallback)(
820
+ const [cache3, setCache] = (0, import_react5.useState)({});
821
+ const [resolvedPermissions, setResolvedPermissions] = (0, import_react5.useState)({});
822
+ const resolveDataForItem = (0, import_react5.useCallback)(
763
823
  (item, force = false) => __async(void 0, null, function* () {
764
824
  var _a, _b, _c;
765
825
  const componentConfig = item.type === "root" ? config.root : config.components[item.type];
@@ -806,7 +866,7 @@ var useResolvedPermissions = (config, appState, globalPermissions, setComponentL
806
866
  force
807
867
  );
808
868
  };
809
- const resolvePermissions = (0, import_react4.useCallback)(
869
+ const resolvePermissions = (0, import_react5.useCallback)(
810
870
  (..._0) => __async(void 0, [..._0], function* ({ item, type, root } = {}, force = false) {
811
871
  if (item) {
812
872
  yield resolveDataForItem(item, force);
@@ -825,16 +885,16 @@ var useResolvedPermissions = (config, appState, globalPermissions, setComponentL
825
885
  }),
826
886
  [config, appState]
827
887
  );
828
- const refreshPermissions = (0, import_react4.useCallback)(
888
+ const refreshPermissions = (0, import_react5.useCallback)(
829
889
  (params) => __async(void 0, null, function* () {
830
890
  resolvePermissions(params, true);
831
891
  }),
832
892
  [config, appState]
833
893
  );
834
- (0, import_react4.useEffect)(() => {
894
+ (0, import_react5.useEffect)(() => {
835
895
  resolvePermissions();
836
896
  }, [config, appState.data]);
837
- const getPermissions = (0, import_react4.useCallback)(
897
+ const getPermissions = (0, import_react5.useCallback)(
838
898
  ({ item, type, root } = {}) => {
839
899
  if (item) {
840
900
  const componentConfig = config.components[item.type];
@@ -862,7 +922,7 @@ var useResolvedPermissions = (config, appState, globalPermissions, setComponentL
862
922
 
863
923
  // lib/use-resolved-data.ts
864
924
  init_react_import();
865
- var import_react5 = require("react");
925
+ var import_react6 = require("react");
866
926
 
867
927
  // lib/resolve-component-data.ts
868
928
  init_react_import();
@@ -959,12 +1019,12 @@ function resolveRootData(data, config) {
959
1019
 
960
1020
  // lib/use-resolved-data.ts
961
1021
  var useResolvedData = (appState, config, dispatch, setComponentLoading, unsetComponentLoading, refreshPermissions) => {
962
- const [{ resolverKey, newAppState }, setResolverState] = (0, import_react5.useState)({
1022
+ const [{ resolverKey, newAppState }, setResolverState] = (0, import_react6.useState)({
963
1023
  resolverKey: 0,
964
1024
  newAppState: appState
965
1025
  });
966
1026
  const deferredSetStates = {};
967
- const _setComponentLoading = (0, import_react5.useCallback)(
1027
+ const _setComponentLoading = (0, import_react6.useCallback)(
968
1028
  (id, loading, defer2 = 0) => {
969
1029
  if (deferredSetStates[id]) {
970
1030
  clearTimeout(deferredSetStates[id]);
@@ -1039,10 +1099,10 @@ var useResolvedData = (appState, config, dispatch, setComponentLoading, unsetCom
1039
1099
  });
1040
1100
  yield Promise.all(promises);
1041
1101
  });
1042
- (0, import_react5.useEffect)(() => {
1102
+ (0, import_react6.useEffect)(() => {
1043
1103
  runResolvers();
1044
1104
  }, [resolverKey]);
1045
- const resolveData = (0, import_react5.useCallback)((newAppState2 = appState) => {
1105
+ const resolveData = (0, import_react6.useCallback)((newAppState2 = appState) => {
1046
1106
  setResolverState((curr) => ({
1047
1107
  resolverKey: curr.resolverKey + 1,
1048
1108
  newAppState: newAppState2
@@ -1102,18 +1162,18 @@ var defaultContext = {
1102
1162
  getPermissions: () => ({}),
1103
1163
  refreshPermissions: () => null
1104
1164
  };
1105
- var appContext = (0, import_react6.createContext)(defaultContext);
1165
+ var appContext = (0, import_react7.createContext)(defaultContext);
1106
1166
  var AppProvider = ({
1107
1167
  children,
1108
1168
  value
1109
1169
  }) => {
1110
- const [zoomConfig, setZoomConfig] = (0, import_react6.useState)(defaultContext.zoomConfig);
1111
- const [status, setStatus] = (0, import_react6.useState)("LOADING");
1112
- (0, import_react6.useEffect)(() => {
1170
+ const [zoomConfig, setZoomConfig] = (0, import_react7.useState)(defaultContext.zoomConfig);
1171
+ const [status, setStatus] = (0, import_react7.useState)("LOADING");
1172
+ (0, import_react7.useEffect)(() => {
1113
1173
  setStatus("MOUNTED");
1114
1174
  }, []);
1115
- const [safariFallbackMode, setSafariFallbackMode] = (0, import_react6.useState)(false);
1116
- (0, import_react6.useEffect)(() => {
1175
+ const [safariFallbackMode, setSafariFallbackMode] = (0, import_react7.useState)(false);
1176
+ (0, import_react7.useEffect)(() => {
1117
1177
  var _a, _b, _c;
1118
1178
  const ua = new import_ua_parser_js.UAParser(navigator.userAgent);
1119
1179
  const { browser } = ua.getResult();
@@ -1131,7 +1191,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
1131
1191
  }
1132
1192
  }, []);
1133
1193
  const selectedItem = value.state.ui.itemSelector ? getItem(value.state.ui.itemSelector, value.state.data) : void 0;
1134
- const [componentState, setComponentState] = (0, import_react6.useState)({});
1194
+ const [componentState, setComponentState] = (0, import_react7.useState)({});
1135
1195
  const setComponentLoading = (id) => {
1136
1196
  setComponentState((prev) => {
1137
1197
  var _a;
@@ -1188,7 +1248,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
1188
1248
  );
1189
1249
  };
1190
1250
  function useAppContext() {
1191
- const mainContext = (0, import_react6.useContext)(appContext);
1251
+ const mainContext = (0, import_react7.useContext)(appContext);
1192
1252
  return __spreadProps(__spreadValues({}, mainContext), {
1193
1253
  // Helpers
1194
1254
  setUi: (ui, recordHistory) => {
@@ -1292,7 +1352,7 @@ var Draggable = ({
1292
1352
  };
1293
1353
 
1294
1354
  // components/AutoField/fields/ArrayField/index.tsx
1295
- var import_react7 = require("react");
1355
+ var import_react8 = require("react");
1296
1356
 
1297
1357
  // components/DragIcon/index.tsx
1298
1358
  init_react_import();
@@ -1343,11 +1403,11 @@ var ArrayField = ({
1343
1403
  }),
1344
1404
  openId: ""
1345
1405
  };
1346
- const [localState, setLocalState] = (0, import_react7.useState)({ arrayState, value });
1347
- (0, import_react7.useEffect)(() => {
1406
+ const [localState, setLocalState] = (0, import_react8.useState)({ arrayState, value });
1407
+ (0, import_react8.useEffect)(() => {
1348
1408
  setLocalState({ arrayState, value });
1349
1409
  }, [value, state.ui.arrayState[id]]);
1350
- const mapArrayStateToUi = (0, import_react7.useCallback)(
1410
+ const mapArrayStateToUi = (0, import_react8.useCallback)(
1351
1411
  (partialArrayState) => {
1352
1412
  return {
1353
1413
  arrayState: __spreadProps(__spreadValues({}, state.ui.arrayState), {
@@ -1357,13 +1417,13 @@ var ArrayField = ({
1357
1417
  },
1358
1418
  [arrayState]
1359
1419
  );
1360
- const getHighestIndex = (0, import_react7.useCallback)(() => {
1420
+ const getHighestIndex = (0, import_react8.useCallback)(() => {
1361
1421
  return arrayState.items.reduce(
1362
1422
  (acc, item) => item._originalIndex > acc ? item._originalIndex : acc,
1363
1423
  -1
1364
1424
  );
1365
1425
  }, [arrayState]);
1366
- const regenerateArrayState = (0, import_react7.useCallback)(
1426
+ const regenerateArrayState = (0, import_react8.useCallback)(
1367
1427
  (value2) => {
1368
1428
  let highestIndex = getHighestIndex();
1369
1429
  const newItems = Array.from(value2 || []).map((item, idx) => {
@@ -1382,12 +1442,12 @@ var ArrayField = ({
1382
1442
  },
1383
1443
  [arrayState]
1384
1444
  );
1385
- (0, import_react7.useEffect)(() => {
1445
+ (0, import_react8.useEffect)(() => {
1386
1446
  if (arrayState.items.length > 0) {
1387
1447
  setUi(mapArrayStateToUi(arrayState));
1388
1448
  }
1389
1449
  }, []);
1390
- const [hovering, setHovering] = (0, import_react7.useState)(false);
1450
+ const [hovering, setHovering] = (0, import_react8.useState)(false);
1391
1451
  const forceReadOnly = getPermissions({ item: selectedItem }).edit === false;
1392
1452
  if (field.type !== "array" || !field.arrayFields) {
1393
1453
  return null;
@@ -1637,6 +1697,7 @@ var DefaultField = ({
1637
1697
  className: getClassName6("input"),
1638
1698
  autoComplete: "off",
1639
1699
  type: field.type,
1700
+ title: label || name,
1640
1701
  name,
1641
1702
  value: typeof value === "undefined" ? "" : value.toString(),
1642
1703
  onChange: (e) => {
@@ -1659,11 +1720,11 @@ var DefaultField = ({
1659
1720
 
1660
1721
  // components/AutoField/fields/ExternalField/index.tsx
1661
1722
  init_react_import();
1662
- var import_react11 = require("react");
1723
+ var import_react12 = require("react");
1663
1724
 
1664
1725
  // components/ExternalInput/index.tsx
1665
1726
  init_react_import();
1666
- var import_react10 = require("react");
1727
+ var import_react11 = require("react");
1667
1728
 
1668
1729
  // css-module:/home/runner/work/puck/puck/packages/core/components/ExternalInput/styles.module.css#css-module
1669
1730
  init_react_import();
@@ -1671,7 +1732,7 @@ var styles_module_default6 = { "ExternalInput-actions": "_ExternalInput-actions_
1671
1732
 
1672
1733
  // components/Modal/index.tsx
1673
1734
  init_react_import();
1674
- var import_react8 = require("react");
1735
+ var import_react9 = require("react");
1675
1736
 
1676
1737
  // css-module:/home/runner/work/puck/puck/packages/core/components/Modal/styles.module.css#css-module
1677
1738
  init_react_import();
@@ -1686,8 +1747,8 @@ var Modal = ({
1686
1747
  onClose,
1687
1748
  isOpen
1688
1749
  }) => {
1689
- const [rootEl, setRootEl] = (0, import_react8.useState)(null);
1690
- (0, import_react8.useEffect)(() => {
1750
+ const [rootEl, setRootEl] = (0, import_react9.useState)(null);
1751
+ (0, import_react9.useEffect)(() => {
1691
1752
  setRootEl(document.getElementById("puck-portal-root"));
1692
1753
  }, []);
1693
1754
  if (!rootEl) {
@@ -1734,7 +1795,7 @@ init_react_import();
1734
1795
 
1735
1796
  // components/Button/Button.tsx
1736
1797
  init_react_import();
1737
- var import_react9 = require("react");
1798
+ var import_react10 = require("react");
1738
1799
 
1739
1800
  // css-module:/home/runner/work/puck/puck/packages/core/components/Button/Button.module.css#css-module
1740
1801
  init_react_import();
@@ -1757,8 +1818,8 @@ var Button = ({
1757
1818
  size = "medium",
1758
1819
  loading: loadingProp = false
1759
1820
  }) => {
1760
- const [loading, setLoading] = (0, import_react9.useState)(loadingProp);
1761
- (0, import_react9.useEffect)(() => setLoading(loadingProp), [loadingProp]);
1821
+ const [loading, setLoading] = (0, import_react10.useState)(loadingProp);
1822
+ (0, import_react10.useEffect)(() => setLoading(loadingProp), [loadingProp]);
1762
1823
  const ElementType = href ? "a" : type ? "button" : "span";
1763
1824
  const el = /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
1764
1825
  ElementType,
@@ -1811,28 +1872,28 @@ var ExternalInput = ({
1811
1872
  mapRow = (val) => val,
1812
1873
  filterFields
1813
1874
  } = field || {};
1814
- const [data, setData] = (0, import_react10.useState)([]);
1815
- const [isOpen, setOpen] = (0, import_react10.useState)(false);
1816
- const [isLoading, setIsLoading] = (0, import_react10.useState)(true);
1875
+ const [data, setData] = (0, import_react11.useState)([]);
1876
+ const [isOpen, setOpen] = (0, import_react11.useState)(false);
1877
+ const [isLoading, setIsLoading] = (0, import_react11.useState)(true);
1817
1878
  const hasFilterFields = !!filterFields;
1818
- const [filters, setFilters] = (0, import_react10.useState)(field.initialFilters || {});
1819
- const [filtersToggled, setFiltersToggled] = (0, import_react10.useState)(hasFilterFields);
1820
- const mappedData = (0, import_react10.useMemo)(() => {
1879
+ const [filters, setFilters] = (0, import_react11.useState)(field.initialFilters || {});
1880
+ const [filtersToggled, setFiltersToggled] = (0, import_react11.useState)(hasFilterFields);
1881
+ const mappedData = (0, import_react11.useMemo)(() => {
1821
1882
  return data.map(mapRow);
1822
1883
  }, [data]);
1823
- const keys = (0, import_react10.useMemo)(() => {
1884
+ const keys = (0, import_react11.useMemo)(() => {
1824
1885
  const validKeys = /* @__PURE__ */ new Set();
1825
1886
  for (const item of mappedData) {
1826
1887
  for (const key of Object.keys(item)) {
1827
- if (typeof item[key] === "string" || typeof item[key] === "number" || (0, import_react10.isValidElement)(item[key])) {
1888
+ if (typeof item[key] === "string" || typeof item[key] === "number" || (0, import_react11.isValidElement)(item[key])) {
1828
1889
  validKeys.add(key);
1829
1890
  }
1830
1891
  }
1831
1892
  }
1832
1893
  return Array.from(validKeys);
1833
1894
  }, [mappedData]);
1834
- const [searchQuery, setSearchQuery] = (0, import_react10.useState)(field.initialQuery || "");
1835
- const search = (0, import_react10.useCallback)(
1895
+ const [searchQuery, setSearchQuery] = (0, import_react11.useState)(field.initialQuery || "");
1896
+ const search = (0, import_react11.useCallback)(
1836
1897
  (query, filters2) => __async(void 0, null, function* () {
1837
1898
  setIsLoading(true);
1838
1899
  const cacheKey = `${id}-${query}-${JSON.stringify(filters2)}`;
@@ -1845,7 +1906,7 @@ var ExternalInput = ({
1845
1906
  }),
1846
1907
  [id, field]
1847
1908
  );
1848
- const Footer = (0, import_react10.useCallback)(
1909
+ const Footer = (0, import_react11.useCallback)(
1849
1910
  (props) => field.renderFooter ? field.renderFooter(props) : /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("span", { className: getClassNameModal("footer"), children: [
1850
1911
  props.items.length,
1851
1912
  " result",
@@ -1853,7 +1914,7 @@ var ExternalInput = ({
1853
1914
  ] }),
1854
1915
  [field.renderFooter]
1855
1916
  );
1856
- (0, import_react10.useEffect)(() => {
1917
+ (0, import_react11.useEffect)(() => {
1857
1918
  search(searchQuery, filters);
1858
1919
  }, []);
1859
1920
  return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
@@ -1889,7 +1950,7 @@ var ExternalInput = ({
1889
1950
  onChange(null);
1890
1951
  },
1891
1952
  disabled: readOnly,
1892
- children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Unlock, { size: 16 })
1953
+ children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(LockOpen, { size: 16 })
1893
1954
  }
1894
1955
  )
1895
1956
  ] }),
@@ -2016,7 +2077,7 @@ var ExternalField = ({
2016
2077
  var _a, _b, _c;
2017
2078
  const validField = field;
2018
2079
  const deprecatedField = field;
2019
- (0, import_react11.useEffect)(() => {
2080
+ (0, import_react12.useEffect)(() => {
2020
2081
  if (deprecatedField.adaptor) {
2021
2082
  console.error(
2022
2083
  "Warning: The `adaptor` API is deprecated. Please use updated APIs on the `external` field instead. This will be a breaking change in a future release."
@@ -2051,6 +2112,20 @@ var ExternalField = ({
2051
2112
 
2052
2113
  // components/AutoField/fields/RadioField/index.tsx
2053
2114
  init_react_import();
2115
+ var import_react13 = require("react");
2116
+
2117
+ // lib/safe-json-parse.ts
2118
+ init_react_import();
2119
+ var safeJsonParse = (str) => {
2120
+ try {
2121
+ const jsonValue = JSON.parse(str);
2122
+ return jsonValue;
2123
+ } catch (e) {
2124
+ return str;
2125
+ }
2126
+ };
2127
+
2128
+ // components/AutoField/fields/RadioField/index.tsx
2054
2129
  var import_jsx_runtime16 = require("react/jsx-runtime");
2055
2130
  var getClassName11 = get_class_name_factory_default("Input", styles_module_default2);
2056
2131
  var RadioField = ({
@@ -2063,13 +2138,17 @@ var RadioField = ({
2063
2138
  label,
2064
2139
  Label
2065
2140
  }) => {
2141
+ const flatOptions = (0, import_react13.useMemo)(
2142
+ () => field.type === "radio" ? field.options.map(({ value: value2 }) => value2) : [],
2143
+ [field]
2144
+ );
2066
2145
  if (field.type !== "radio" || !field.options) {
2067
2146
  return null;
2068
2147
  }
2069
2148
  return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2070
2149
  Label,
2071
2150
  {
2072
- icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(CheckCircle, { size: 16 }),
2151
+ icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(CircleCheckBig, { size: 16 }),
2073
2152
  label: label || name,
2074
2153
  readOnly,
2075
2154
  el: "div",
@@ -2086,11 +2165,12 @@ var RadioField = ({
2086
2165
  value: option.value,
2087
2166
  name,
2088
2167
  onChange: (e) => {
2089
- if (e.currentTarget.value === "true" || e.currentTarget.value === "false") {
2090
- onChange(JSON.parse(e.currentTarget.value));
2091
- return;
2168
+ const jsonValue = safeJsonParse(e.target.value) || e.target.value;
2169
+ if (flatOptions.indexOf(jsonValue) > -1) {
2170
+ onChange(jsonValue);
2171
+ } else {
2172
+ onChange(e.target.value);
2092
2173
  }
2093
- onChange(e.currentTarget.value);
2094
2174
  },
2095
2175
  disabled: readOnly,
2096
2176
  checked: value === option.value
@@ -2107,6 +2187,7 @@ var RadioField = ({
2107
2187
 
2108
2188
  // components/AutoField/fields/SelectField/index.tsx
2109
2189
  init_react_import();
2190
+ var import_react14 = require("react");
2110
2191
  var import_jsx_runtime17 = require("react/jsx-runtime");
2111
2192
  var getClassName12 = get_class_name_factory_default("Input", styles_module_default2);
2112
2193
  var SelectField = ({
@@ -2119,6 +2200,10 @@ var SelectField = ({
2119
2200
  readOnly,
2120
2201
  id
2121
2202
  }) => {
2203
+ const flatOptions = (0, import_react14.useMemo)(
2204
+ () => field.type === "select" ? field.options.map(({ value: value2 }) => value2) : [],
2205
+ [field]
2206
+ );
2122
2207
  if (field.type !== "select" || !field.options) {
2123
2208
  return null;
2124
2209
  }
@@ -2132,14 +2217,16 @@ var SelectField = ({
2132
2217
  "select",
2133
2218
  {
2134
2219
  id,
2220
+ title: label || name,
2135
2221
  className: getClassName12("input"),
2136
2222
  disabled: readOnly,
2137
2223
  onChange: (e) => {
2138
- if (e.currentTarget.value === "true" || e.currentTarget.value === "false") {
2139
- onChange(JSON.parse(e.currentTarget.value));
2140
- return;
2224
+ const jsonValue = safeJsonParse(e.target.value) || e.target.value;
2225
+ if (flatOptions.indexOf(jsonValue) > -1) {
2226
+ onChange(jsonValue);
2227
+ } else {
2228
+ onChange(e.target.value);
2141
2229
  }
2142
- onChange(e.currentTarget.value);
2143
2230
  },
2144
2231
  value,
2145
2232
  children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
@@ -2218,7 +2305,7 @@ var ObjectField = ({
2218
2305
  Label,
2219
2306
  {
2220
2307
  label: label || name,
2221
- icon: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(MoreVertical, { size: 16 }),
2308
+ icon: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(EllipsisVertical, { size: 16 }),
2222
2309
  el: "div",
2223
2310
  readOnly,
2224
2311
  children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: getClassName14(), children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("fieldset", { className: getClassName14("fieldset"), children: Object.keys(field.objectFields).map((fieldName) => {
@@ -2253,7 +2340,7 @@ var ObjectField = ({
2253
2340
 
2254
2341
  // lib/use-safe-id.ts
2255
2342
  init_react_import();
2256
- var import_react12 = __toESM(require("react"));
2343
+ var import_react15 = __toESM(require("react"));
2257
2344
 
2258
2345
  // lib/generate-id.ts
2259
2346
  init_react_import();
@@ -2262,10 +2349,10 @@ var generateId = (type) => type ? `${type}-${(0, import_uuid.v4)()}` : (0, impor
2262
2349
 
2263
2350
  // lib/use-safe-id.ts
2264
2351
  var useSafeId = () => {
2265
- if (typeof import_react12.default.useId !== "undefined") {
2266
- return import_react12.default.useId();
2352
+ if (typeof import_react15.default.useId !== "undefined") {
2353
+ return import_react15.default.useId();
2267
2354
  }
2268
- const [id] = (0, import_react12.useState)(generateId());
2355
+ const [id] = (0, import_react15.useState)(generateId());
2269
2356
  return id;
2270
2357
  };
2271
2358
 
@@ -2299,7 +2386,7 @@ var FieldLabelInternal2 = ({
2299
2386
  readOnly
2300
2387
  }) => {
2301
2388
  const { overrides } = useAppContext();
2302
- const Wrapper = (0, import_react13.useMemo)(
2389
+ const Wrapper = (0, import_react16.useMemo)(
2303
2390
  () => overrides.fieldLabel || FieldLabel,
2304
2391
  [overrides]
2305
2392
  );
@@ -2352,7 +2439,7 @@ function AutoFieldInternal(props) {
2352
2439
  Label,
2353
2440
  id: resolvedId
2354
2441
  });
2355
- const onFocus = (0, import_react13.useCallback)(
2442
+ const onFocus = (0, import_react16.useCallback)(
2356
2443
  (e) => {
2357
2444
  if (mergedProps.name && e.target.nodeName === "INPUT") {
2358
2445
  e.stopPropagation();
@@ -2366,7 +2453,7 @@ function AutoFieldInternal(props) {
2366
2453
  },
2367
2454
  [mergedProps.name]
2368
2455
  );
2369
- const onBlur = (0, import_react13.useCallback)((e) => {
2456
+ const onBlur = (0, import_react16.useCallback)((e) => {
2370
2457
  if ("name" in e.target) {
2371
2458
  dispatch({
2372
2459
  type: "setUi",
@@ -2385,12 +2472,23 @@ function AutoFieldInternal(props) {
2385
2472
  }
2386
2473
  const children = defaultFields[field.type](mergedProps);
2387
2474
  const Render2 = render[field.type];
2388
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassNameWrapper(), onFocus, onBlur, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Render2, __spreadProps(__spreadValues({}, mergedProps), { children })) });
2475
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2476
+ "div",
2477
+ {
2478
+ className: getClassNameWrapper(),
2479
+ onFocus,
2480
+ onBlur,
2481
+ onClick: (e) => {
2482
+ e.stopPropagation();
2483
+ },
2484
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Render2, __spreadProps(__spreadValues({}, mergedProps), { children }))
2485
+ }
2486
+ );
2389
2487
  }
2390
2488
  function AutoFieldPrivate(props) {
2391
2489
  const { state } = useAppContext();
2392
2490
  const { value, onChange } = props;
2393
- const [localValue, setLocalValue] = (0, import_react13.useState)(value);
2491
+ const [localValue, setLocalValue] = (0, import_react16.useState)(value);
2394
2492
  const onChangeDb = (0, import_use_debounce.useDebouncedCallback)(
2395
2493
  (val, ui) => {
2396
2494
  onChange(val, ui);
@@ -2398,11 +2496,11 @@ function AutoFieldPrivate(props) {
2398
2496
  50,
2399
2497
  { leading: true }
2400
2498
  );
2401
- const onChangeLocal = (0, import_react13.useCallback)((val, ui) => {
2499
+ const onChangeLocal = (0, import_react16.useCallback)((val, ui) => {
2402
2500
  setLocalValue(val);
2403
2501
  onChangeDb(val, ui);
2404
2502
  }, []);
2405
- (0, import_react13.useEffect)(() => {
2503
+ (0, import_react16.useEffect)(() => {
2406
2504
  if (state.ui.field.focus !== props.name) {
2407
2505
  setLocalValue(value);
2408
2506
  }
@@ -2414,7 +2512,7 @@ function AutoFieldPrivate(props) {
2414
2512
  return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(AutoFieldInternal, __spreadValues(__spreadValues({}, props), localProps));
2415
2513
  }
2416
2514
  function AutoField(props) {
2417
- const DefaultLabel = (0, import_react13.useMemo)(() => {
2515
+ const DefaultLabel = (0, import_react16.useMemo)(() => {
2418
2516
  const DefaultLabel2 = (labelProps) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2419
2517
  "div",
2420
2518
  __spreadProps(__spreadValues({}, labelProps), {
@@ -2434,11 +2532,11 @@ init_react_import();
2434
2532
  var styles_module_default10 = { "Drawer": "_Drawer_1oa7v_1", "DrawerItem--disabled": "_DrawerItem--disabled_1oa7v_5", "DrawerItem-draggable": "_DrawerItem-draggable_1oa7v_5", "DrawerItem-default": "_DrawerItem-default_1oa7v_11", "DrawerItem-draggableWrapper": "_DrawerItem-draggableWrapper_1oa7v_11", "DrawerItem": "_DrawerItem_1oa7v_5", "Drawer--isDraggingFrom": "_Drawer--isDraggingFrom_1oa7v_36", "DrawerItem-name": "_DrawerItem-name_1oa7v_54" };
2435
2533
 
2436
2534
  // components/Drawer/index.tsx
2437
- var import_react14 = require("react");
2535
+ var import_react17 = require("react");
2438
2536
  var import_jsx_runtime21 = require("react/jsx-runtime");
2439
2537
  var getClassName16 = get_class_name_factory_default("Drawer", styles_module_default10);
2440
2538
  var getClassNameItem2 = get_class_name_factory_default("DrawerItem", styles_module_default10);
2441
- var drawerContext = (0, import_react14.createContext)({
2539
+ var drawerContext = (0, import_react17.createContext)({
2442
2540
  droppableId: ""
2443
2541
  });
2444
2542
  var DrawerDraggable = ({
@@ -2469,9 +2567,9 @@ var DrawerItem = ({
2469
2567
  index,
2470
2568
  isDragDisabled
2471
2569
  }) => {
2472
- const ctx = (0, import_react14.useContext)(drawerContext);
2570
+ const ctx = (0, import_react17.useContext)(drawerContext);
2473
2571
  const resolvedId = `${ctx.droppableId}::${id || name}`;
2474
- const CustomInner = (0, import_react14.useMemo)(
2572
+ const CustomInner = (0, import_react17.useMemo)(
2475
2573
  () => children || (({ children: children2, name: name2 }) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassNameItem2("default"), children: children2 })),
2476
2574
  [children]
2477
2575
  );
@@ -2512,11 +2610,11 @@ Drawer.Item = DrawerItem;
2512
2610
 
2513
2611
  // components/DropZone/index.tsx
2514
2612
  init_react_import();
2515
- var import_react18 = require("react");
2613
+ var import_react21 = require("react");
2516
2614
 
2517
2615
  // components/DraggableComponent/index.tsx
2518
2616
  init_react_import();
2519
- var import_react16 = require("react");
2617
+ var import_react19 = require("react");
2520
2618
  var import_dnd4 = require("@measured/dnd");
2521
2619
 
2522
2620
  // css-module:/home/runner/work/puck/puck/packages/core/components/DraggableComponent/styles.module.css#css-module
@@ -2525,10 +2623,10 @@ var styles_module_default11 = { "DraggableComponent": "_DraggableComponent_1bhad
2525
2623
 
2526
2624
  // lib/use-modifier-held.ts
2527
2625
  init_react_import();
2528
- var import_react15 = require("react");
2626
+ var import_react18 = require("react");
2529
2627
  var useModifierHeld = (modifier) => {
2530
- const [modifierHeld, setModifierHeld] = (0, import_react15.useState)(false);
2531
- (0, import_react15.useEffect)(() => {
2628
+ const [modifierHeld, setModifierHeld] = (0, import_react18.useState)(false);
2629
+ (0, import_react18.useEffect)(() => {
2532
2630
  function downHandler({ key }) {
2533
2631
  if (key === modifier) {
2534
2632
  setModifierHeld(true);
@@ -2597,14 +2695,14 @@ var DraggableComponent = ({
2597
2695
  const { zoomConfig, status, overrides, selectedItem, getPermissions } = useAppContext();
2598
2696
  const isModifierHeld = useModifierHeld("Alt");
2599
2697
  const El = status !== "LOADING" ? import_dnd4.Draggable : DefaultDraggable;
2600
- (0, import_react16.useEffect)(onMount, []);
2601
- const [disableSecondaryAnimation, setDisableSecondaryAnimation] = (0, import_react16.useState)(false);
2602
- (0, import_react16.useEffect)(() => {
2698
+ (0, import_react19.useEffect)(onMount, []);
2699
+ const [disableSecondaryAnimation, setDisableSecondaryAnimation] = (0, import_react19.useState)(false);
2700
+ (0, import_react19.useEffect)(() => {
2603
2701
  if (isIos()) {
2604
2702
  setDisableSecondaryAnimation(true);
2605
2703
  }
2606
2704
  }, []);
2607
- const CustomActionBar = (0, import_react16.useMemo)(
2705
+ const CustomActionBar = (0, import_react19.useMemo)(
2608
2706
  () => overrides.actionBar || DefaultActionBar,
2609
2707
  [overrides.actionBar]
2610
2708
  );
@@ -2682,7 +2780,7 @@ var styles_module_default12 = { "DropZone": "_DropZone_djoti_1", "DropZone-conte
2682
2780
 
2683
2781
  // components/DropZone/context.tsx
2684
2782
  init_react_import();
2685
- var import_react17 = require("react");
2783
+ var import_react20 = require("react");
2686
2784
  var import_use_debounce2 = require("use-debounce");
2687
2785
 
2688
2786
  // lib/get-zone-id.ts
@@ -2699,29 +2797,29 @@ var getZoneId = (zoneCompound) => {
2699
2797
 
2700
2798
  // components/DropZone/context.tsx
2701
2799
  var import_jsx_runtime23 = require("react/jsx-runtime");
2702
- var dropZoneContext = (0, import_react17.createContext)(null);
2800
+ var dropZoneContext = (0, import_react20.createContext)(null);
2703
2801
  var DropZoneProvider = ({
2704
2802
  children,
2705
2803
  value
2706
2804
  }) => {
2707
- const [hoveringArea, setHoveringArea] = (0, import_react17.useState)(null);
2708
- const [hoveringZone, setHoveringZone] = (0, import_react17.useState)(
2805
+ const [hoveringArea, setHoveringArea] = (0, import_react20.useState)(null);
2806
+ const [hoveringZone, setHoveringZone] = (0, import_react20.useState)(
2709
2807
  rootDroppableId
2710
2808
  );
2711
- const [hoveringComponent, setHoveringComponent] = (0, import_react17.useState)();
2809
+ const [hoveringComponent, setHoveringComponent] = (0, import_react20.useState)();
2712
2810
  const [hoveringAreaDb] = (0, import_use_debounce2.useDebounce)(hoveringArea, 75, { leading: false });
2713
- const [areasWithZones, setAreasWithZones] = (0, import_react17.useState)(
2811
+ const [areasWithZones, setAreasWithZones] = (0, import_react20.useState)(
2714
2812
  {}
2715
2813
  );
2716
- const [activeZones, setActiveZones] = (0, import_react17.useState)({});
2814
+ const [activeZones, setActiveZones] = (0, import_react20.useState)({});
2717
2815
  const { dispatch = null } = value ? value : {};
2718
- const registerZoneArea = (0, import_react17.useCallback)(
2816
+ const registerZoneArea = (0, import_react20.useCallback)(
2719
2817
  (area) => {
2720
2818
  setAreasWithZones((latest) => __spreadProps(__spreadValues({}, latest), { [area]: true }));
2721
2819
  },
2722
2820
  [setAreasWithZones]
2723
2821
  );
2724
- const registerZone = (0, import_react17.useCallback)(
2822
+ const registerZone = (0, import_react20.useCallback)(
2725
2823
  (zoneCompound) => {
2726
2824
  if (!dispatch) {
2727
2825
  return;
@@ -2734,7 +2832,7 @@ var DropZoneProvider = ({
2734
2832
  },
2735
2833
  [setActiveZones, dispatch]
2736
2834
  );
2737
- const unregisterZone = (0, import_react17.useCallback)(
2835
+ const unregisterZone = (0, import_react20.useCallback)(
2738
2836
  (zoneCompound) => {
2739
2837
  if (!dispatch) {
2740
2838
  return;
@@ -2749,8 +2847,8 @@ var DropZoneProvider = ({
2749
2847
  },
2750
2848
  [setActiveZones, dispatch]
2751
2849
  );
2752
- const [pathData, setPathData] = (0, import_react17.useState)();
2753
- const registerPath = (0, import_react17.useCallback)(
2850
+ const [pathData, setPathData] = (0, import_react20.useState)();
2851
+ const registerPath = (0, import_react20.useCallback)(
2754
2852
  (selector) => {
2755
2853
  if (!(value == null ? void 0 : value.data)) {
2756
2854
  return;
@@ -2775,7 +2873,7 @@ var DropZoneProvider = ({
2775
2873
  },
2776
2874
  [value, setPathData]
2777
2875
  );
2778
- const [zoneWillDrag, setZoneWillDrag] = (0, import_react17.useState)("");
2876
+ const [zoneWillDrag, setZoneWillDrag] = (0, import_react20.useState)("");
2779
2877
  return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_jsx_runtime23.Fragment, { children: value && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2780
2878
  dropZoneContext.Provider,
2781
2879
  {
@@ -2807,7 +2905,7 @@ var getClassName18 = get_class_name_factory_default("DropZone", styles_module_de
2807
2905
  function DropZoneEdit({ zone, allow, disallow, style }) {
2808
2906
  var _a;
2809
2907
  const appContext2 = useAppContext();
2810
- const ctx = (0, import_react18.useContext)(dropZoneContext);
2908
+ const ctx = (0, import_react21.useContext)(dropZoneContext);
2811
2909
  const {
2812
2910
  // These all need setting via context
2813
2911
  data,
@@ -2826,12 +2924,12 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
2826
2924
  } = ctx || {};
2827
2925
  let content = data.content || [];
2828
2926
  let zoneCompound = rootDroppableId;
2829
- (0, import_react18.useEffect)(() => {
2927
+ (0, import_react21.useEffect)(() => {
2830
2928
  if (areaId && registerZoneArea) {
2831
2929
  registerZoneArea(areaId);
2832
2930
  }
2833
2931
  }, [areaId]);
2834
- (0, import_react18.useEffect)(() => {
2932
+ (0, import_react21.useEffect)(() => {
2835
2933
  if (ctx == null ? void 0 : ctx.registerZone) {
2836
2934
  ctx == null ? void 0 : ctx.registerZone(zoneCompound);
2837
2935
  }
@@ -3087,7 +3185,7 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
3087
3185
  );
3088
3186
  }
3089
3187
  function DropZoneRender({ zone }) {
3090
- const ctx = (0, import_react18.useContext)(dropZoneContext);
3188
+ const ctx = (0, import_react21.useContext)(dropZoneContext);
3091
3189
  const { data, areaId = "root", config } = ctx || {};
3092
3190
  let zoneCompound = rootDroppableId;
3093
3191
  let content = (data == null ? void 0 : data.content) || [];
@@ -3119,7 +3217,7 @@ function DropZoneRender({ zone }) {
3119
3217
  }) });
3120
3218
  }
3121
3219
  function DropZone(props) {
3122
- const ctx = (0, import_react18.useContext)(dropZoneContext);
3220
+ const ctx = (0, import_react21.useContext)(dropZoneContext);
3123
3221
  if ((ctx == null ? void 0 : ctx.mode) === "edit") {
3124
3222
  return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DropZoneEdit, __spreadValues({}, props));
3125
3223
  }
@@ -3128,11 +3226,11 @@ function DropZone(props) {
3128
3226
 
3129
3227
  // components/Puck/index.tsx
3130
3228
  init_react_import();
3131
- var import_react32 = require("react");
3229
+ var import_react36 = require("react");
3132
3230
 
3133
3231
  // lib/use-placeholder-style.ts
3134
3232
  init_react_import();
3135
- var import_react19 = require("react");
3233
+ var import_react22 = require("react");
3136
3234
 
3137
3235
  // lib/get-frame.ts
3138
3236
  init_react_import();
@@ -3147,7 +3245,7 @@ var getFrame = () => {
3147
3245
  // lib/use-placeholder-style.ts
3148
3246
  var usePlaceholderStyle = () => {
3149
3247
  const queryAttr = "data-rfd-drag-handle-draggable-id";
3150
- const [placeholderStyle, setPlaceholderStyle] = (0, import_react19.useState)();
3248
+ const [placeholderStyle, setPlaceholderStyle] = (0, import_react22.useState)();
3151
3249
  const onDragStartOrUpdate = (draggedItem) => {
3152
3250
  var _a;
3153
3251
  const draggableId = draggedItem.draggableId;
@@ -3200,7 +3298,7 @@ var styles_module_default13 = { "SidebarSection": "_SidebarSection_125qe_1", "Si
3200
3298
 
3201
3299
  // lib/use-breadcrumbs.ts
3202
3300
  init_react_import();
3203
- var import_react20 = require("react");
3301
+ var import_react23 = require("react");
3204
3302
  var convertPathDataToBreadcrumbs = (selectedItem, pathData, data) => {
3205
3303
  const id = selectedItem ? selectedItem == null ? void 0 : selectedItem.props.id : "";
3206
3304
  const currentPathData = pathData && id && pathData[id] ? __spreadValues({}, pathData[id]) : { label: "Page", path: [] };
@@ -3250,8 +3348,8 @@ var useBreadcrumbs = (renderCount) => {
3250
3348
  state: { data },
3251
3349
  selectedItem
3252
3350
  } = useAppContext();
3253
- const dzContext = (0, import_react20.useContext)(dropZoneContext);
3254
- return (0, import_react20.useMemo)(() => {
3351
+ const dzContext = (0, import_react23.useContext)(dropZoneContext);
3352
+ return (0, import_react23.useMemo)(() => {
3255
3353
  const breadcrumbs = convertPathDataToBreadcrumbs(
3256
3354
  selectedItem,
3257
3355
  dzContext == null ? void 0 : dzContext.pathData,
@@ -3735,7 +3833,23 @@ init_react_import();
3735
3833
  var styles_module_default16 = { "PuckFields": "_PuckFields_jp3lw_1", "PuckFields--isLoading": "_PuckFields--isLoading_jp3lw_6", "PuckFields-loadingOverlay": "_PuckFields-loadingOverlay_jp3lw_10", "PuckFields-loadingOverlayInner": "_PuckFields-loadingOverlayInner_jp3lw_25" };
3736
3834
 
3737
3835
  // components/Puck/components/Fields/index.tsx
3738
- var import_react21 = require("react");
3836
+ var import_react25 = require("react");
3837
+
3838
+ // lib/use-parent.ts
3839
+ init_react_import();
3840
+ var import_react24 = require("react");
3841
+ var useParent = (itemSelector) => {
3842
+ var _a;
3843
+ const { selectedItem, state } = useAppContext();
3844
+ const { pathData } = (0, import_react24.useContext)(dropZoneContext) || {};
3845
+ const item = itemSelector ? getItem(itemSelector, state.data) : selectedItem;
3846
+ const breadcrumbs = convertPathDataToBreadcrumbs(item, pathData, state.data);
3847
+ const lastItem = breadcrumbs[breadcrumbs.length - 1];
3848
+ const parent = (lastItem == null ? void 0 : lastItem.selector) ? (_a = getItem(lastItem.selector, state.data)) != null ? _a : null : null;
3849
+ return parent || null;
3850
+ };
3851
+
3852
+ // components/Puck/components/Fields/index.tsx
3739
3853
  var import_jsx_runtime27 = require("react/jsx-runtime");
3740
3854
  var getClassName21 = get_class_name_factory_default("PuckFields", styles_module_default16);
3741
3855
  var defaultPageFields = {
@@ -3749,23 +3863,24 @@ var DefaultFields = ({
3749
3863
  var useResolvedFields = () => {
3750
3864
  var _a, _b;
3751
3865
  const { selectedItem, state, config } = useAppContext();
3866
+ const parent = useParent();
3752
3867
  const { data } = state;
3753
3868
  const rootFields = ((_a = config.root) == null ? void 0 : _a.fields) || defaultPageFields;
3754
3869
  const componentConfig = selectedItem ? config.components[selectedItem.type] : null;
3755
- const defaultFields = (0, import_react21.useMemo)(
3870
+ const defaultFields = (0, import_react25.useMemo)(
3756
3871
  () => (selectedItem ? componentConfig == null ? void 0 : componentConfig.fields : rootFields) || {},
3757
3872
  [selectedItem, rootFields, componentConfig == null ? void 0 : componentConfig.fields]
3758
3873
  );
3759
3874
  const rootProps = data.root.props || data.root;
3760
- const [lastSelectedData, setLastSelectedData] = (0, import_react21.useState)({});
3761
- const [resolvedFields, setResolvedFields] = (0, import_react21.useState)(defaultFields);
3762
- const [fieldsLoading, setFieldsLoading] = (0, import_react21.useState)(false);
3875
+ const [lastSelectedData, setLastSelectedData] = (0, import_react25.useState)({});
3876
+ const [resolvedFields, setResolvedFields] = (0, import_react25.useState)(defaultFields);
3877
+ const [fieldsLoading, setFieldsLoading] = (0, import_react25.useState)(false);
3763
3878
  const defaultResolveFields = (_componentData, _params) => defaultFields;
3764
3879
  const componentData = selectedItem ? selectedItem : { props: rootProps, readOnly: data.root.readOnly };
3765
3880
  const hasComponentResolver = selectedItem && (componentConfig == null ? void 0 : componentConfig.resolveFields);
3766
3881
  const hasRootResolver = !selectedItem && ((_b = config.root) == null ? void 0 : _b.resolveFields);
3767
3882
  const hasResolver = hasComponentResolver || hasRootResolver;
3768
- const resolveFields = (0, import_react21.useCallback)(
3883
+ const resolveFields = (0, import_react25.useCallback)(
3769
3884
  (..._0) => __async(void 0, [..._0], function* (fields = {}) {
3770
3885
  var _a2;
3771
3886
  const lastData = ((_a2 = lastSelectedData.props) == null ? void 0 : _a2.id) === componentData.props.id ? lastSelectedData : null;
@@ -3779,7 +3894,8 @@ var useResolvedFields = () => {
3779
3894
  fields,
3780
3895
  lastFields: resolvedFields,
3781
3896
  lastData,
3782
- appState: state
3897
+ appState: state,
3898
+ parent
3783
3899
  }
3784
3900
  );
3785
3901
  }
@@ -3789,7 +3905,8 @@ var useResolvedFields = () => {
3789
3905
  fields,
3790
3906
  lastFields: resolvedFields,
3791
3907
  lastData,
3792
- appState: state
3908
+ appState: state,
3909
+ parent
3793
3910
  });
3794
3911
  }
3795
3912
  return defaultResolveFields(componentData, {
@@ -3801,7 +3918,7 @@ var useResolvedFields = () => {
3801
3918
  }),
3802
3919
  [data, config, componentData, selectedItem, resolvedFields, state]
3803
3920
  );
3804
- (0, import_react21.useEffect)(() => {
3921
+ (0, import_react25.useEffect)(() => {
3805
3922
  if (hasResolver) {
3806
3923
  setFieldsLoading(true);
3807
3924
  resolveFields(defaultFields).then((fields) => {
@@ -3811,7 +3928,7 @@ var useResolvedFields = () => {
3811
3928
  } else {
3812
3929
  setResolvedFields(defaultFields);
3813
3930
  }
3814
- }, [data, defaultFields, state.ui.itemSelector, hasResolver]);
3931
+ }, [data, defaultFields, selectedItem, hasResolver]);
3815
3932
  return [resolvedFields, fieldsLoading];
3816
3933
  };
3817
3934
  var Fields = () => {
@@ -3832,7 +3949,7 @@ var Fields = () => {
3832
3949
  const componentResolving = selectedItem ? ((_a = componentState[selectedItem == null ? void 0 : selectedItem.props.id]) == null ? void 0 : _a.loadingCount) > 0 : ((_b = componentState["puck-root"]) == null ? void 0 : _b.loadingCount) > 0;
3833
3950
  const isLoading = fieldsResolving || componentResolving;
3834
3951
  const rootProps = data.root.props || data.root;
3835
- const Wrapper = (0, import_react21.useMemo)(() => overrides.fields || DefaultFields, [overrides]);
3952
+ const Wrapper = (0, import_react25.useMemo)(() => overrides.fields || DefaultFields, [overrides]);
3836
3953
  return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
3837
3954
  "form",
3838
3955
  {
@@ -3911,34 +4028,36 @@ var Fields = () => {
3911
4028
  const { edit } = getPermissions({
3912
4029
  item: selectedItem
3913
4030
  });
4031
+ const id = `${selectedItem.props.id}_${field.type}_${fieldName}`;
3914
4032
  return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
3915
4033
  AutoFieldPrivate,
3916
4034
  {
3917
4035
  field,
3918
4036
  name: fieldName,
3919
- id: `${selectedItem.props.id}_${fieldName}`,
4037
+ id,
3920
4038
  readOnly: !edit || readOnly[fieldName],
3921
4039
  value: selectedItem.props[fieldName],
3922
4040
  onChange
3923
4041
  },
3924
- `${selectedItem.props.id}_${fieldName}`
4042
+ id
3925
4043
  );
3926
4044
  } else {
3927
4045
  const readOnly = data.root.readOnly || {};
3928
4046
  const { edit } = getPermissions({
3929
4047
  root: true
3930
4048
  });
4049
+ const id = `root_${field.type}_${fieldName}`;
3931
4050
  return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
3932
4051
  AutoFieldPrivate,
3933
4052
  {
3934
4053
  field,
3935
4054
  name: fieldName,
3936
- id: `root_${fieldName}`,
4055
+ id,
3937
4056
  readOnly: !edit || readOnly[fieldName],
3938
4057
  value: rootProps[fieldName],
3939
4058
  onChange
3940
4059
  },
3941
- `page_${fieldName}`
4060
+ id
3942
4061
  );
3943
4062
  }
3944
4063
  }) }),
@@ -3953,7 +4072,7 @@ init_react_import();
3953
4072
 
3954
4073
  // lib/use-component-list.tsx
3955
4074
  init_react_import();
3956
- var import_react22 = require("react");
4075
+ var import_react26 = require("react");
3957
4076
 
3958
4077
  // components/ComponentList/index.tsx
3959
4078
  init_react_import();
@@ -4031,8 +4150,8 @@ ComponentList.Item = ComponentListItem;
4031
4150
  // lib/use-component-list.tsx
4032
4151
  var import_jsx_runtime29 = require("react/jsx-runtime");
4033
4152
  var useComponentList = (config, ui) => {
4034
- const [componentList, setComponentList] = (0, import_react22.useState)();
4035
- (0, import_react22.useEffect)(() => {
4153
+ const [componentList, setComponentList] = (0, import_react26.useState)();
4154
+ (0, import_react26.useEffect)(() => {
4036
4155
  var _a, _b, _c;
4037
4156
  if (Object.keys(ui.componentList).length > 0) {
4038
4157
  const matchedComponents = [];
@@ -4101,22 +4220,22 @@ var useComponentList = (config, ui) => {
4101
4220
  };
4102
4221
 
4103
4222
  // components/Puck/components/Components/index.tsx
4104
- var import_react23 = require("react");
4223
+ var import_react27 = require("react");
4105
4224
  var import_jsx_runtime30 = require("react/jsx-runtime");
4106
4225
  var Components = () => {
4107
4226
  const { config, state, overrides } = useAppContext();
4108
4227
  const componentList = useComponentList(config, state.ui);
4109
- const Wrapper = (0, import_react23.useMemo)(() => overrides.components || "div", [overrides]);
4228
+ const Wrapper = (0, import_react27.useMemo)(() => overrides.components || "div", [overrides]);
4110
4229
  return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Wrapper, { children: componentList ? componentList : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(ComponentList, { id: "all" }) });
4111
4230
  };
4112
4231
 
4113
4232
  // components/Puck/components/Preview/index.tsx
4114
4233
  init_react_import();
4115
- var import_react25 = require("react");
4234
+ var import_react29 = require("react");
4116
4235
 
4117
4236
  // components/AutoFrame/index.tsx
4118
4237
  init_react_import();
4119
- var import_react24 = require("react");
4238
+ var import_react28 = require("react");
4120
4239
  var import_object_hash = __toESM(require("object-hash"));
4121
4240
  var import_react_dom2 = require("react-dom");
4122
4241
  var import_jsx_runtime31 = require("react/jsx-runtime");
@@ -4162,7 +4281,7 @@ var CopyHostStyles = ({
4162
4281
  onStylesLoaded = () => null
4163
4282
  }) => {
4164
4283
  const { document: doc, window: win } = useFrame();
4165
- (0, import_react24.useEffect)(() => {
4284
+ (0, import_react28.useEffect)(() => {
4166
4285
  if (!win || !doc) {
4167
4286
  return () => {
4168
4287
  };
@@ -4321,8 +4440,8 @@ var CopyHostStyles = ({
4321
4440
  }, []);
4322
4441
  return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_jsx_runtime31.Fragment, { children });
4323
4442
  };
4324
- var autoFrameContext = (0, import_react24.createContext)({});
4325
- var useFrame = () => (0, import_react24.useContext)(autoFrameContext);
4443
+ var autoFrameContext = (0, import_react28.createContext)({});
4444
+ var useFrame = () => (0, import_react28.useContext)(autoFrameContext);
4326
4445
  function AutoFrame(_a) {
4327
4446
  var _b = _a, {
4328
4447
  children,
@@ -4337,11 +4456,11 @@ function AutoFrame(_a) {
4337
4456
  "id",
4338
4457
  "onStylesLoaded"
4339
4458
  ]);
4340
- const [loaded, setLoaded] = (0, import_react24.useState)(false);
4341
- const [ctx, setCtx] = (0, import_react24.useState)({});
4342
- const ref = (0, import_react24.useRef)(null);
4343
- const [mountTarget, setMountTarget] = (0, import_react24.useState)();
4344
- (0, import_react24.useEffect)(() => {
4459
+ const [loaded, setLoaded] = (0, import_react28.useState)(false);
4460
+ const [ctx, setCtx] = (0, import_react28.useState)({});
4461
+ const ref = (0, import_react28.useRef)(null);
4462
+ const [mountTarget, setMountTarget] = (0, import_react28.useState)();
4463
+ (0, import_react28.useEffect)(() => {
4345
4464
  var _a2;
4346
4465
  if (ref.current) {
4347
4466
  setCtx({
@@ -4377,7 +4496,7 @@ var import_jsx_runtime32 = require("react/jsx-runtime");
4377
4496
  var getClassName23 = get_class_name_factory_default("PuckPreview", styles_module_default18);
4378
4497
  var Preview = ({ id = "puck-preview" }) => {
4379
4498
  const { config, dispatch, state, setStatus, iframe, overrides } = useAppContext();
4380
- const Page = (0, import_react25.useCallback)(
4499
+ const Page = (0, import_react29.useCallback)(
4381
4500
  (pageProps) => {
4382
4501
  var _a, _b;
4383
4502
  return ((_a = config.root) == null ? void 0 : _a.render) ? (_b = config.root) == null ? void 0 : _b.render(__spreadValues({
@@ -4386,7 +4505,7 @@ var Preview = ({ id = "puck-preview" }) => {
4386
4505
  },
4387
4506
  [config.root]
4388
4507
  );
4389
- const Frame = (0, import_react25.useMemo)(() => overrides.iframe, [overrides]);
4508
+ const Frame = (0, import_react29.useMemo)(() => overrides.iframe, [overrides]);
4390
4509
  const rootProps = state.data.root.props || state.data.root;
4391
4510
  return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
4392
4511
  "div",
@@ -4475,7 +4594,7 @@ var scrollIntoView = (el) => {
4475
4594
  };
4476
4595
 
4477
4596
  // components/LayerTree/index.tsx
4478
- var import_react26 = require("react");
4597
+ var import_react30 = require("react");
4479
4598
 
4480
4599
  // lib/is-child-of-zone.ts
4481
4600
  init_react_import();
@@ -4502,7 +4621,7 @@ var LayerTree = ({
4502
4621
  label
4503
4622
  }) => {
4504
4623
  const zones = data.zones || {};
4505
- const ctx = (0, import_react26.useContext)(dropZoneContext);
4624
+ const ctx = (0, import_react30.useContext)(dropZoneContext);
4506
4625
  return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_jsx_runtime33.Fragment, { children: [
4507
4626
  label && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: getClassName24("zoneTitle"), children: [
4508
4627
  /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: getClassName24("zoneIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Layers, { size: "16" }) }),
@@ -4608,13 +4727,13 @@ var LayerTree = ({
4608
4727
  };
4609
4728
 
4610
4729
  // components/Puck/components/Outline/index.tsx
4611
- var import_react27 = require("react");
4730
+ var import_react31 = require("react");
4612
4731
  var import_jsx_runtime34 = require("react/jsx-runtime");
4613
4732
  var Outline = () => {
4614
4733
  const { dispatch, state, overrides, config } = useAppContext();
4615
4734
  const { data, ui } = state;
4616
4735
  const { itemSelector } = ui;
4617
- const setItemSelector = (0, import_react27.useCallback)(
4736
+ const setItemSelector = (0, import_react31.useCallback)(
4618
4737
  (newItemSelector) => {
4619
4738
  dispatch({
4620
4739
  type: "setUi",
@@ -4623,7 +4742,7 @@ var Outline = () => {
4623
4742
  },
4624
4743
  []
4625
4744
  );
4626
- const Wrapper = (0, import_react27.useMemo)(() => overrides.outline || "div", [overrides]);
4745
+ const Wrapper = (0, import_react31.useMemo)(() => overrides.outline || "div", [overrides]);
4627
4746
  return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Wrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(dropZoneContext.Consumer, { children: (ctx) => /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
4628
4747
  (ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId]) && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
4629
4748
  LayerTree,
@@ -4712,19 +4831,19 @@ function usePuckHistory({
4712
4831
 
4713
4832
  // lib/use-history-store.ts
4714
4833
  init_react_import();
4715
- var import_react28 = require("react");
4834
+ var import_react32 = require("react");
4716
4835
  var import_use_debounce3 = require("use-debounce");
4717
4836
  var EMPTY_HISTORY_INDEX = 0;
4718
4837
  function useHistoryStore(initialHistory) {
4719
4838
  var _a, _b;
4720
- const [histories, setHistories] = (0, import_react28.useState)(
4839
+ const [histories, setHistories] = (0, import_react32.useState)(
4721
4840
  (_a = initialHistory == null ? void 0 : initialHistory.histories) != null ? _a : []
4722
4841
  );
4723
4842
  const updateHistories = (histories2) => {
4724
4843
  setHistories(histories2);
4725
4844
  setIndex(histories2.length - 1);
4726
4845
  };
4727
- const [index, setIndex] = (0, import_react28.useState)(
4846
+ const [index, setIndex] = (0, import_react32.useState)(
4728
4847
  (_b = initialHistory == null ? void 0 : initialHistory.index) != null ? _b : EMPTY_HISTORY_INDEX
4729
4848
  );
4730
4849
  const hasPast = index > EMPTY_HISTORY_INDEX;
@@ -4884,11 +5003,11 @@ var getBox = function getBox2(el) {
4884
5003
  };
4885
5004
 
4886
5005
  // components/Puck/components/Canvas/index.tsx
4887
- var import_react30 = require("react");
5006
+ var import_react34 = require("react");
4888
5007
 
4889
5008
  // components/ViewportControls/index.tsx
4890
5009
  init_react_import();
4891
- var import_react29 = require("react");
5010
+ var import_react33 = require("react");
4892
5011
 
4893
5012
  // css-module:/home/runner/work/puck/puck/packages/core/components/ViewportControls/styles.module.css#css-module
4894
5013
  init_react_import();
@@ -4911,8 +5030,8 @@ var ViewportButton = ({
4911
5030
  onClick
4912
5031
  }) => {
4913
5032
  const { state } = useAppContext();
4914
- const [isActive, setIsActive] = (0, import_react29.useState)(false);
4915
- (0, import_react29.useEffect)(() => {
5033
+ const [isActive, setIsActive] = (0, import_react33.useState)(false);
5034
+ (0, import_react33.useEffect)(() => {
4916
5035
  setIsActive(width === state.ui.viewports.current.width);
4917
5036
  }, [width, state.ui.viewports.current.width]);
4918
5037
  return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: getClassNameButton({ isActive }), children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
@@ -4948,7 +5067,7 @@ var ViewportControls = ({
4948
5067
  const defaultsContainAutoZoom = defaultZoomOptions.find(
4949
5068
  (option) => option.value === autoZoom
4950
5069
  );
4951
- const zoomOptions = (0, import_react29.useMemo)(
5070
+ const zoomOptions = (0, import_react33.useMemo)(
4952
5071
  () => [
4953
5072
  ...defaultZoomOptions,
4954
5073
  ...defaultsContainAutoZoom ? [] : [
@@ -5071,17 +5190,17 @@ var Canvas = () => {
5071
5190
  const { status, iframe } = useAppContext();
5072
5191
  const { dispatch, state, overrides, setUi, zoomConfig, setZoomConfig } = useAppContext();
5073
5192
  const { ui } = state;
5074
- const frameRef = (0, import_react30.useRef)(null);
5075
- const [showTransition, setShowTransition] = (0, import_react30.useState)(false);
5076
- const defaultRender = (0, import_react30.useMemo)(() => {
5193
+ const frameRef = (0, import_react34.useRef)(null);
5194
+ const [showTransition, setShowTransition] = (0, import_react34.useState)(false);
5195
+ const defaultRender = (0, import_react34.useMemo)(() => {
5077
5196
  const PuckDefault = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_jsx_runtime36.Fragment, { children });
5078
5197
  return PuckDefault;
5079
5198
  }, []);
5080
- const CustomPreview = (0, import_react30.useMemo)(
5199
+ const CustomPreview = (0, import_react34.useMemo)(
5081
5200
  () => overrides.preview || defaultRender,
5082
5201
  [overrides]
5083
5202
  );
5084
- const getFrameDimensions = (0, import_react30.useCallback)(() => {
5203
+ const getFrameDimensions = (0, import_react34.useCallback)(() => {
5085
5204
  if (frameRef.current) {
5086
5205
  const frame = frameRef.current;
5087
5206
  const box = getBox(frame);
@@ -5089,7 +5208,7 @@ var Canvas = () => {
5089
5208
  }
5090
5209
  return { width: 0, height: 0 };
5091
5210
  }, [frameRef]);
5092
- const resetAutoZoom = (0, import_react30.useCallback)(
5211
+ const resetAutoZoom = (0, import_react34.useCallback)(
5093
5212
  (ui2 = state.ui) => {
5094
5213
  if (frameRef.current) {
5095
5214
  setZoomConfig(
@@ -5099,11 +5218,11 @@ var Canvas = () => {
5099
5218
  },
5100
5219
  [frameRef, zoomConfig, state.ui]
5101
5220
  );
5102
- (0, import_react30.useEffect)(() => {
5221
+ (0, import_react34.useEffect)(() => {
5103
5222
  setShowTransition(false);
5104
5223
  resetAutoZoom();
5105
5224
  }, [frameRef, ui.leftSideBarVisible, ui.rightSideBarVisible]);
5106
- (0, import_react30.useEffect)(() => {
5225
+ (0, import_react34.useEffect)(() => {
5107
5226
  const { height: frameHeight } = getFrameDimensions();
5108
5227
  if (ui.viewports.current.height === "auto") {
5109
5228
  setZoomConfig(__spreadProps(__spreadValues({}, zoomConfig), {
@@ -5111,13 +5230,13 @@ var Canvas = () => {
5111
5230
  }));
5112
5231
  }
5113
5232
  }, [zoomConfig.zoom]);
5114
- (0, import_react30.useEffect)(() => {
5233
+ (0, import_react34.useEffect)(() => {
5115
5234
  if (ZOOM_ON_CHANGE) {
5116
5235
  setShowTransition(true);
5117
5236
  resetAutoZoom(ui);
5118
5237
  }
5119
5238
  }, [ui.viewports.current.width]);
5120
- (0, import_react30.useEffect)(() => {
5239
+ (0, import_react34.useEffect)(() => {
5121
5240
  const observer = new ResizeObserver(() => {
5122
5241
  setShowTransition(false);
5123
5242
  resetAutoZoom();
@@ -5129,8 +5248,8 @@ var Canvas = () => {
5129
5248
  observer.disconnect();
5130
5249
  };
5131
5250
  }, []);
5132
- const [showLoader, setShowLoader] = (0, import_react30.useState)(false);
5133
- (0, import_react30.useEffect)(() => {
5251
+ const [showLoader, setShowLoader] = (0, import_react34.useState)(false);
5252
+ (0, import_react34.useEffect)(() => {
5134
5253
  setTimeout(() => {
5135
5254
  setShowLoader(true);
5136
5255
  }, 500);
@@ -5233,7 +5352,7 @@ var insertComponent = (componentType, zone, index, {
5233
5352
 
5234
5353
  // lib/use-loaded-overrides.ts
5235
5354
  init_react_import();
5236
- var import_react31 = require("react");
5355
+ var import_react35 = require("react");
5237
5356
 
5238
5357
  // lib/load-overrides.ts
5239
5358
  init_react_import();
@@ -5272,7 +5391,7 @@ var useLoadedOverrides = ({
5272
5391
  overrides,
5273
5392
  plugins
5274
5393
  }) => {
5275
- return (0, import_react31.useMemo)(() => {
5394
+ return (0, import_react35.useMemo)(() => {
5276
5395
  return loadOverrides({ overrides, plugins });
5277
5396
  }, [plugins, overrides]);
5278
5397
  };
@@ -5311,7 +5430,7 @@ function Puck({
5311
5430
  enabled: true,
5312
5431
  waitForStyles: true
5313
5432
  }, _iframe);
5314
- const [generatedAppState] = (0, import_react32.useState)(() => {
5433
+ const [generatedAppState] = (0, import_react36.useState)(() => {
5315
5434
  var _a2, _b, _c, _d, _e, _f, _g, _h, _i;
5316
5435
  const initial = __spreadValues(__spreadValues({}, defaultAppState.ui), initialUi);
5317
5436
  let clientUiState = {};
@@ -5383,22 +5502,22 @@ function Puck({
5383
5502
  histories,
5384
5503
  index: initialHistoryIndex
5385
5504
  });
5386
- const [reducer] = (0, import_react32.useState)(
5505
+ const [reducer] = (0, import_react36.useState)(
5387
5506
  () => createReducer({
5388
5507
  config,
5389
5508
  record: historyStore.record,
5390
5509
  onAction
5391
5510
  })
5392
5511
  );
5393
- const [appState, dispatch] = (0, import_react32.useReducer)(
5512
+ const [appState, dispatch] = (0, import_react36.useReducer)(
5394
5513
  reducer,
5395
5514
  flushZones(initialAppState)
5396
5515
  );
5397
5516
  const { data, ui } = appState;
5398
5517
  const history = usePuckHistory({ dispatch, initialAppState, historyStore });
5399
- const [menuOpen, setMenuOpen] = (0, import_react32.useState)(false);
5518
+ const [menuOpen, setMenuOpen] = (0, import_react36.useState)(false);
5400
5519
  const { itemSelector, leftSideBarVisible, rightSideBarVisible } = ui;
5401
- const setItemSelector = (0, import_react32.useCallback)(
5520
+ const setItemSelector = (0, import_react36.useCallback)(
5402
5521
  (newItemSelector) => {
5403
5522
  if (newItemSelector === itemSelector) return;
5404
5523
  dispatch({
@@ -5410,13 +5529,13 @@ function Puck({
5410
5529
  [itemSelector]
5411
5530
  );
5412
5531
  const selectedItem = itemSelector ? getItem(itemSelector, data) : null;
5413
- (0, import_react32.useEffect)(() => {
5532
+ (0, import_react36.useEffect)(() => {
5414
5533
  if (onChange) onChange(data);
5415
5534
  }, [data]);
5416
5535
  const { onDragStartOrUpdate, placeholderStyle } = usePlaceholderStyle();
5417
- const [draggedItem, setDraggedItem] = (0, import_react32.useState)();
5536
+ const [draggedItem, setDraggedItem] = (0, import_react36.useState)();
5418
5537
  const rootProps = data.root.props || data.root;
5419
- const toggleSidebars = (0, import_react32.useCallback)(
5538
+ const toggleSidebars = (0, import_react36.useCallback)(
5420
5539
  (sidebar) => {
5421
5540
  const widerViewport = window.matchMedia("(min-width: 638px)").matches;
5422
5541
  const sideBarVisible = sidebar === "left" ? leftSideBarVisible : rightSideBarVisible;
@@ -5430,7 +5549,7 @@ function Puck({
5430
5549
  },
5431
5550
  [dispatch, leftSideBarVisible, rightSideBarVisible]
5432
5551
  );
5433
- (0, import_react32.useEffect)(() => {
5552
+ (0, import_react36.useEffect)(() => {
5434
5553
  if (!window.matchMedia("(min-width: 638px)").matches) {
5435
5554
  dispatch({
5436
5555
  type: "setUi",
@@ -5453,7 +5572,7 @@ function Puck({
5453
5572
  window.removeEventListener("resize", handleResize);
5454
5573
  };
5455
5574
  }, []);
5456
- const defaultHeaderRender = (0, import_react32.useMemo)(() => {
5575
+ const defaultHeaderRender = (0, import_react36.useMemo)(() => {
5457
5576
  if (renderHeader) {
5458
5577
  console.warn(
5459
5578
  "`renderHeader` is deprecated. Please use `overrides.header` and the `usePuck` hook instead"
@@ -5467,7 +5586,7 @@ function Puck({
5467
5586
  }
5468
5587
  return DefaultOverride;
5469
5588
  }, [renderHeader]);
5470
- const defaultHeaderActionsRender = (0, import_react32.useMemo)(() => {
5589
+ const defaultHeaderActionsRender = (0, import_react36.useMemo)(() => {
5471
5590
  if (renderHeaderActions) {
5472
5591
  console.warn(
5473
5592
  "`renderHeaderActions` is deprecated. Please use `overrides.headerActions` and the `usePuck` hook instead."
@@ -5484,20 +5603,20 @@ function Puck({
5484
5603
  overrides,
5485
5604
  plugins
5486
5605
  });
5487
- const CustomPuck = (0, import_react32.useMemo)(
5606
+ const CustomPuck = (0, import_react36.useMemo)(
5488
5607
  () => loadedOverrides.puck || DefaultOverride,
5489
5608
  [loadedOverrides]
5490
5609
  );
5491
- const CustomHeader = (0, import_react32.useMemo)(
5610
+ const CustomHeader = (0, import_react36.useMemo)(
5492
5611
  () => loadedOverrides.header || defaultHeaderRender,
5493
5612
  [loadedOverrides]
5494
5613
  );
5495
- const CustomHeaderActions = (0, import_react32.useMemo)(
5614
+ const CustomHeaderActions = (0, import_react36.useMemo)(
5496
5615
  () => loadedOverrides.headerActions || defaultHeaderActionsRender,
5497
5616
  [loadedOverrides]
5498
5617
  );
5499
- const [mounted, setMounted] = (0, import_react32.useState)(false);
5500
- (0, import_react32.useEffect)(() => {
5618
+ const [mounted, setMounted] = (0, import_react36.useState)(false);
5619
+ (0, import_react36.useEffect)(() => {
5501
5620
  setMounted(true);
5502
5621
  }, []);
5503
5622
  const selectedComponentConfig = selectedItem && config.components[selectedItem.type];
@@ -5900,6 +6019,11 @@ var usePuck = () => {
5900
6019
  getPermissions,
5901
6020
  refreshPermissions
5902
6021
  } = useAppContext();
6022
+ if (dispatch === defaultContext.dispatch) {
6023
+ throw new Error(
6024
+ "usePuck was used outside of the <Puck> component. The usePuck hook must be rendered within the <Puck> context as children, overrides or plugins as described in https://puckeditor.com/docs/api-reference/functions/use-puck."
6025
+ );
6026
+ }
5903
6027
  return {
5904
6028
  appState,
5905
6029
  config,
@@ -5950,25 +6074,33 @@ classnames/index.js:
5950
6074
  http://jedwatson.github.io/classnames
5951
6075
  *)
5952
6076
 
6077
+ lucide-react/dist/esm/shared/src/utils.js:
6078
+ (**
6079
+ * @license lucide-react v0.468.0 - ISC
6080
+ *
6081
+ * This source code is licensed under the ISC license.
6082
+ * See the LICENSE file in the root directory of this source tree.
6083
+ *)
6084
+
5953
6085
  lucide-react/dist/esm/defaultAttributes.js:
5954
6086
  (**
5955
- * @license lucide-react v0.298.0 - ISC
6087
+ * @license lucide-react v0.468.0 - ISC
5956
6088
  *
5957
6089
  * This source code is licensed under the ISC license.
5958
6090
  * See the LICENSE file in the root directory of this source tree.
5959
6091
  *)
5960
6092
 
5961
- lucide-react/dist/esm/createLucideIcon.js:
6093
+ lucide-react/dist/esm/Icon.js:
5962
6094
  (**
5963
- * @license lucide-react v0.298.0 - ISC
6095
+ * @license lucide-react v0.468.0 - ISC
5964
6096
  *
5965
6097
  * This source code is licensed under the ISC license.
5966
6098
  * See the LICENSE file in the root directory of this source tree.
5967
6099
  *)
5968
6100
 
5969
- lucide-react/dist/esm/icons/check-circle.js:
6101
+ lucide-react/dist/esm/createLucideIcon.js:
5970
6102
  (**
5971
- * @license lucide-react v0.298.0 - ISC
6103
+ * @license lucide-react v0.468.0 - ISC
5972
6104
  *
5973
6105
  * This source code is licensed under the ISC license.
5974
6106
  * See the LICENSE file in the root directory of this source tree.
@@ -5976,7 +6108,7 @@ lucide-react/dist/esm/icons/check-circle.js:
5976
6108
 
5977
6109
  lucide-react/dist/esm/icons/chevron-down.js:
5978
6110
  (**
5979
- * @license lucide-react v0.298.0 - ISC
6111
+ * @license lucide-react v0.468.0 - ISC
5980
6112
  *
5981
6113
  * This source code is licensed under the ISC license.
5982
6114
  * See the LICENSE file in the root directory of this source tree.
@@ -5984,7 +6116,7 @@ lucide-react/dist/esm/icons/chevron-down.js:
5984
6116
 
5985
6117
  lucide-react/dist/esm/icons/chevron-right.js:
5986
6118
  (**
5987
- * @license lucide-react v0.298.0 - ISC
6119
+ * @license lucide-react v0.468.0 - ISC
5988
6120
  *
5989
6121
  * This source code is licensed under the ISC license.
5990
6122
  * See the LICENSE file in the root directory of this source tree.
@@ -5992,7 +6124,15 @@ lucide-react/dist/esm/icons/chevron-right.js:
5992
6124
 
5993
6125
  lucide-react/dist/esm/icons/chevron-up.js:
5994
6126
  (**
5995
- * @license lucide-react v0.298.0 - ISC
6127
+ * @license lucide-react v0.468.0 - ISC
6128
+ *
6129
+ * This source code is licensed under the ISC license.
6130
+ * See the LICENSE file in the root directory of this source tree.
6131
+ *)
6132
+
6133
+ lucide-react/dist/esm/icons/circle-check-big.js:
6134
+ (**
6135
+ * @license lucide-react v0.468.0 - ISC
5996
6136
  *
5997
6137
  * This source code is licensed under the ISC license.
5998
6138
  * See the LICENSE file in the root directory of this source tree.
@@ -6000,7 +6140,15 @@ lucide-react/dist/esm/icons/chevron-up.js:
6000
6140
 
6001
6141
  lucide-react/dist/esm/icons/copy.js:
6002
6142
  (**
6003
- * @license lucide-react v0.298.0 - ISC
6143
+ * @license lucide-react v0.468.0 - ISC
6144
+ *
6145
+ * This source code is licensed under the ISC license.
6146
+ * See the LICENSE file in the root directory of this source tree.
6147
+ *)
6148
+
6149
+ lucide-react/dist/esm/icons/ellipsis-vertical.js:
6150
+ (**
6151
+ * @license lucide-react v0.468.0 - ISC
6004
6152
  *
6005
6153
  * This source code is licensed under the ISC license.
6006
6154
  * See the LICENSE file in the root directory of this source tree.
@@ -6008,7 +6156,7 @@ lucide-react/dist/esm/icons/copy.js:
6008
6156
 
6009
6157
  lucide-react/dist/esm/icons/globe.js:
6010
6158
  (**
6011
- * @license lucide-react v0.298.0 - ISC
6159
+ * @license lucide-react v0.468.0 - ISC
6012
6160
  *
6013
6161
  * This source code is licensed under the ISC license.
6014
6162
  * See the LICENSE file in the root directory of this source tree.
@@ -6016,7 +6164,7 @@ lucide-react/dist/esm/icons/globe.js:
6016
6164
 
6017
6165
  lucide-react/dist/esm/icons/hash.js:
6018
6166
  (**
6019
- * @license lucide-react v0.298.0 - ISC
6167
+ * @license lucide-react v0.468.0 - ISC
6020
6168
  *
6021
6169
  * This source code is licensed under the ISC license.
6022
6170
  * See the LICENSE file in the root directory of this source tree.
@@ -6024,7 +6172,7 @@ lucide-react/dist/esm/icons/hash.js:
6024
6172
 
6025
6173
  lucide-react/dist/esm/icons/layers.js:
6026
6174
  (**
6027
- * @license lucide-react v0.298.0 - ISC
6175
+ * @license lucide-react v0.468.0 - ISC
6028
6176
  *
6029
6177
  * This source code is licensed under the ISC license.
6030
6178
  * See the LICENSE file in the root directory of this source tree.
@@ -6032,7 +6180,7 @@ lucide-react/dist/esm/icons/layers.js:
6032
6180
 
6033
6181
  lucide-react/dist/esm/icons/layout-grid.js:
6034
6182
  (**
6035
- * @license lucide-react v0.298.0 - ISC
6183
+ * @license lucide-react v0.468.0 - ISC
6036
6184
  *
6037
6185
  * This source code is licensed under the ISC license.
6038
6186
  * See the LICENSE file in the root directory of this source tree.
@@ -6040,7 +6188,7 @@ lucide-react/dist/esm/icons/layout-grid.js:
6040
6188
 
6041
6189
  lucide-react/dist/esm/icons/link.js:
6042
6190
  (**
6043
- * @license lucide-react v0.298.0 - ISC
6191
+ * @license lucide-react v0.468.0 - ISC
6044
6192
  *
6045
6193
  * This source code is licensed under the ISC license.
6046
6194
  * See the LICENSE file in the root directory of this source tree.
@@ -6048,31 +6196,31 @@ lucide-react/dist/esm/icons/link.js:
6048
6196
 
6049
6197
  lucide-react/dist/esm/icons/list.js:
6050
6198
  (**
6051
- * @license lucide-react v0.298.0 - ISC
6199
+ * @license lucide-react v0.468.0 - ISC
6052
6200
  *
6053
6201
  * This source code is licensed under the ISC license.
6054
6202
  * See the LICENSE file in the root directory of this source tree.
6055
6203
  *)
6056
6204
 
6057
- lucide-react/dist/esm/icons/lock.js:
6205
+ lucide-react/dist/esm/icons/lock-open.js:
6058
6206
  (**
6059
- * @license lucide-react v0.298.0 - ISC
6207
+ * @license lucide-react v0.468.0 - ISC
6060
6208
  *
6061
6209
  * This source code is licensed under the ISC license.
6062
6210
  * See the LICENSE file in the root directory of this source tree.
6063
6211
  *)
6064
6212
 
6065
- lucide-react/dist/esm/icons/monitor.js:
6213
+ lucide-react/dist/esm/icons/lock.js:
6066
6214
  (**
6067
- * @license lucide-react v0.298.0 - ISC
6215
+ * @license lucide-react v0.468.0 - ISC
6068
6216
  *
6069
6217
  * This source code is licensed under the ISC license.
6070
6218
  * See the LICENSE file in the root directory of this source tree.
6071
6219
  *)
6072
6220
 
6073
- lucide-react/dist/esm/icons/more-vertical.js:
6221
+ lucide-react/dist/esm/icons/monitor.js:
6074
6222
  (**
6075
- * @license lucide-react v0.298.0 - ISC
6223
+ * @license lucide-react v0.468.0 - ISC
6076
6224
  *
6077
6225
  * This source code is licensed under the ISC license.
6078
6226
  * See the LICENSE file in the root directory of this source tree.
@@ -6080,7 +6228,7 @@ lucide-react/dist/esm/icons/more-vertical.js:
6080
6228
 
6081
6229
  lucide-react/dist/esm/icons/panel-left.js:
6082
6230
  (**
6083
- * @license lucide-react v0.298.0 - ISC
6231
+ * @license lucide-react v0.468.0 - ISC
6084
6232
  *
6085
6233
  * This source code is licensed under the ISC license.
6086
6234
  * See the LICENSE file in the root directory of this source tree.
@@ -6088,7 +6236,7 @@ lucide-react/dist/esm/icons/panel-left.js:
6088
6236
 
6089
6237
  lucide-react/dist/esm/icons/panel-right.js:
6090
6238
  (**
6091
- * @license lucide-react v0.298.0 - ISC
6239
+ * @license lucide-react v0.468.0 - ISC
6092
6240
  *
6093
6241
  * This source code is licensed under the ISC license.
6094
6242
  * See the LICENSE file in the root directory of this source tree.
@@ -6096,7 +6244,7 @@ lucide-react/dist/esm/icons/panel-right.js:
6096
6244
 
6097
6245
  lucide-react/dist/esm/icons/plus.js:
6098
6246
  (**
6099
- * @license lucide-react v0.298.0 - ISC
6247
+ * @license lucide-react v0.468.0 - ISC
6100
6248
  *
6101
6249
  * This source code is licensed under the ISC license.
6102
6250
  * See the LICENSE file in the root directory of this source tree.
@@ -6104,7 +6252,7 @@ lucide-react/dist/esm/icons/plus.js:
6104
6252
 
6105
6253
  lucide-react/dist/esm/icons/redo-2.js:
6106
6254
  (**
6107
- * @license lucide-react v0.298.0 - ISC
6255
+ * @license lucide-react v0.468.0 - ISC
6108
6256
  *
6109
6257
  * This source code is licensed under the ISC license.
6110
6258
  * See the LICENSE file in the root directory of this source tree.
@@ -6112,7 +6260,7 @@ lucide-react/dist/esm/icons/redo-2.js:
6112
6260
 
6113
6261
  lucide-react/dist/esm/icons/search.js:
6114
6262
  (**
6115
- * @license lucide-react v0.298.0 - ISC
6263
+ * @license lucide-react v0.468.0 - ISC
6116
6264
  *
6117
6265
  * This source code is licensed under the ISC license.
6118
6266
  * See the LICENSE file in the root directory of this source tree.
@@ -6120,7 +6268,7 @@ lucide-react/dist/esm/icons/search.js:
6120
6268
 
6121
6269
  lucide-react/dist/esm/icons/sliders-horizontal.js:
6122
6270
  (**
6123
- * @license lucide-react v0.298.0 - ISC
6271
+ * @license lucide-react v0.468.0 - ISC
6124
6272
  *
6125
6273
  * This source code is licensed under the ISC license.
6126
6274
  * See the LICENSE file in the root directory of this source tree.
@@ -6128,7 +6276,7 @@ lucide-react/dist/esm/icons/sliders-horizontal.js:
6128
6276
 
6129
6277
  lucide-react/dist/esm/icons/smartphone.js:
6130
6278
  (**
6131
- * @license lucide-react v0.298.0 - ISC
6279
+ * @license lucide-react v0.468.0 - ISC
6132
6280
  *
6133
6281
  * This source code is licensed under the ISC license.
6134
6282
  * See the LICENSE file in the root directory of this source tree.
@@ -6136,7 +6284,7 @@ lucide-react/dist/esm/icons/smartphone.js:
6136
6284
 
6137
6285
  lucide-react/dist/esm/icons/tablet.js:
6138
6286
  (**
6139
- * @license lucide-react v0.298.0 - ISC
6287
+ * @license lucide-react v0.468.0 - ISC
6140
6288
  *
6141
6289
  * This source code is licensed under the ISC license.
6142
6290
  * See the LICENSE file in the root directory of this source tree.
@@ -6144,7 +6292,7 @@ lucide-react/dist/esm/icons/tablet.js:
6144
6292
 
6145
6293
  lucide-react/dist/esm/icons/trash.js:
6146
6294
  (**
6147
- * @license lucide-react v0.298.0 - ISC
6295
+ * @license lucide-react v0.468.0 - ISC
6148
6296
  *
6149
6297
  * This source code is licensed under the ISC license.
6150
6298
  * See the LICENSE file in the root directory of this source tree.
@@ -6152,7 +6300,7 @@ lucide-react/dist/esm/icons/trash.js:
6152
6300
 
6153
6301
  lucide-react/dist/esm/icons/type.js:
6154
6302
  (**
6155
- * @license lucide-react v0.298.0 - ISC
6303
+ * @license lucide-react v0.468.0 - ISC
6156
6304
  *
6157
6305
  * This source code is licensed under the ISC license.
6158
6306
  * See the LICENSE file in the root directory of this source tree.
@@ -6160,15 +6308,7 @@ lucide-react/dist/esm/icons/type.js:
6160
6308
 
6161
6309
  lucide-react/dist/esm/icons/undo-2.js:
6162
6310
  (**
6163
- * @license lucide-react v0.298.0 - ISC
6164
- *
6165
- * This source code is licensed under the ISC license.
6166
- * See the LICENSE file in the root directory of this source tree.
6167
- *)
6168
-
6169
- lucide-react/dist/esm/icons/unlock.js:
6170
- (**
6171
- * @license lucide-react v0.298.0 - ISC
6311
+ * @license lucide-react v0.468.0 - ISC
6172
6312
  *
6173
6313
  * This source code is licensed under the ISC license.
6174
6314
  * See the LICENSE file in the root directory of this source tree.
@@ -6176,7 +6316,7 @@ lucide-react/dist/esm/icons/unlock.js:
6176
6316
 
6177
6317
  lucide-react/dist/esm/icons/zoom-in.js:
6178
6318
  (**
6179
- * @license lucide-react v0.298.0 - ISC
6319
+ * @license lucide-react v0.468.0 - ISC
6180
6320
  *
6181
6321
  * This source code is licensed under the ISC license.
6182
6322
  * See the LICENSE file in the root directory of this source tree.
@@ -6184,7 +6324,7 @@ lucide-react/dist/esm/icons/zoom-in.js:
6184
6324
 
6185
6325
  lucide-react/dist/esm/icons/zoom-out.js:
6186
6326
  (**
6187
- * @license lucide-react v0.298.0 - ISC
6327
+ * @license lucide-react v0.468.0 - ISC
6188
6328
  *
6189
6329
  * This source code is licensed under the ISC license.
6190
6330
  * See the LICENSE file in the root directory of this source tree.
@@ -6192,7 +6332,7 @@ lucide-react/dist/esm/icons/zoom-out.js:
6192
6332
 
6193
6333
  lucide-react/dist/esm/lucide-react.js:
6194
6334
  (**
6195
- * @license lucide-react v0.298.0 - ISC
6335
+ * @license lucide-react v0.468.0 - ISC
6196
6336
  *
6197
6337
  * This source code is licensed under the ISC license.
6198
6338
  * See the LICENSE file in the root directory of this source tree.