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

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
@@ -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.