@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.mjs CHANGED
@@ -23,35 +23,45 @@ var require_classnames = __commonJS({
23
23
  (function() {
24
24
  "use strict";
25
25
  var hasOwn = {}.hasOwnProperty;
26
- var nativeCodeString = "[native code]";
27
26
  function classNames() {
28
- var classes = [];
27
+ var classes = "";
29
28
  for (var i = 0; i < arguments.length; i++) {
30
29
  var arg = arguments[i];
31
- if (!arg) continue;
32
- var argType = typeof arg;
33
- if (argType === "string" || argType === "number") {
34
- classes.push(arg);
35
- } else if (Array.isArray(arg)) {
36
- if (arg.length) {
37
- var inner = classNames.apply(null, arg);
38
- if (inner) {
39
- classes.push(inner);
40
- }
41
- }
42
- } else if (argType === "object") {
43
- if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes("[native code]")) {
44
- classes.push(arg.toString());
45
- continue;
46
- }
47
- for (var key in arg) {
48
- if (hasOwn.call(arg, key) && arg[key]) {
49
- classes.push(key);
50
- }
51
- }
30
+ if (arg) {
31
+ classes = appendClass(classes, parseValue(arg));
32
+ }
33
+ }
34
+ return classes;
35
+ }
36
+ function parseValue(arg) {
37
+ if (typeof arg === "string" || typeof arg === "number") {
38
+ return arg;
39
+ }
40
+ if (typeof arg !== "object") {
41
+ return "";
42
+ }
43
+ if (Array.isArray(arg)) {
44
+ return classNames.apply(null, arg);
45
+ }
46
+ if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes("[native code]")) {
47
+ return arg.toString();
48
+ }
49
+ var classes = "";
50
+ for (var key in arg) {
51
+ if (hasOwn.call(arg, key) && arg[key]) {
52
+ classes = appendClass(classes, key);
52
53
  }
53
54
  }
54
- return classes.join(" ");
55
+ return classes;
56
+ }
57
+ function appendClass(value, newClass) {
58
+ if (!newClass) {
59
+ return value;
60
+ }
61
+ if (value) {
62
+ return value + " " + newClass;
63
+ }
64
+ return value + newClass;
55
65
  }
56
66
  if (typeof module !== "undefined" && module.exports) {
57
67
  classNames.default = classNames;
@@ -184,7 +194,7 @@ var styles_module_default2 = { "InputWrapper": "_InputWrapper_1l5m8_1", "Input":
184
194
  import {
185
195
  useCallback as useCallback5,
186
196
  useEffect as useEffect9,
187
- useMemo as useMemo2,
197
+ useMemo as useMemo4,
188
198
  useState as useState10
189
199
  } from "react";
190
200
 
@@ -203,6 +213,17 @@ init_react_import();
203
213
 
204
214
  // ../../node_modules/lucide-react/dist/esm/createLucideIcon.js
205
215
  init_react_import();
216
+ import { forwardRef as forwardRef2, createElement as createElement2 } from "react";
217
+
218
+ // ../../node_modules/lucide-react/dist/esm/shared/src/utils.js
219
+ init_react_import();
220
+ var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
221
+ var mergeClasses = (...classes) => classes.filter((className, index, array) => {
222
+ return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index;
223
+ }).join(" ").trim();
224
+
225
+ // ../../node_modules/lucide-react/dist/esm/Icon.js
226
+ init_react_import();
206
227
  import { forwardRef, createElement } from "react";
207
228
 
208
229
  // ../../node_modules/lucide-react/dist/esm/defaultAttributes.js
@@ -219,41 +240,61 @@ var defaultAttributes = {
219
240
  strokeLinejoin: "round"
220
241
  };
221
242
 
243
+ // ../../node_modules/lucide-react/dist/esm/Icon.js
244
+ var Icon = forwardRef(
245
+ (_a, ref) => {
246
+ var _b = _a, {
247
+ color = "currentColor",
248
+ size = 24,
249
+ strokeWidth = 2,
250
+ absoluteStrokeWidth,
251
+ className = "",
252
+ children,
253
+ iconNode
254
+ } = _b, rest = __objRest(_b, [
255
+ "color",
256
+ "size",
257
+ "strokeWidth",
258
+ "absoluteStrokeWidth",
259
+ "className",
260
+ "children",
261
+ "iconNode"
262
+ ]);
263
+ return createElement(
264
+ "svg",
265
+ __spreadValues(__spreadProps(__spreadValues({
266
+ ref
267
+ }, defaultAttributes), {
268
+ width: size,
269
+ height: size,
270
+ stroke: color,
271
+ strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,
272
+ className: mergeClasses("lucide", className)
273
+ }), rest),
274
+ [
275
+ ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),
276
+ ...Array.isArray(children) ? children : [children]
277
+ ]
278
+ );
279
+ }
280
+ );
281
+
222
282
  // ../../node_modules/lucide-react/dist/esm/createLucideIcon.js
223
- var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase().trim();
224
283
  var createLucideIcon = (iconName, iconNode) => {
225
- const Component = forwardRef(
284
+ const Component = forwardRef2(
226
285
  (_a, ref) => {
227
- var _b = _a, { color = "currentColor", size = 24, strokeWidth = 2, absoluteStrokeWidth, className = "", children } = _b, rest = __objRest(_b, ["color", "size", "strokeWidth", "absoluteStrokeWidth", "className", "children"]);
228
- return createElement(
229
- "svg",
230
- __spreadValues(__spreadProps(__spreadValues({
231
- ref
232
- }, defaultAttributes), {
233
- width: size,
234
- height: size,
235
- stroke: color,
236
- strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,
237
- className: ["lucide", `lucide-${toKebabCase(iconName)}`, className].join(" ")
238
- }), rest),
239
- [
240
- ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),
241
- ...Array.isArray(children) ? children : [children]
242
- ]
243
- );
286
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
287
+ return createElement2(Icon, __spreadValues({
288
+ ref,
289
+ iconNode,
290
+ className: mergeClasses(`lucide-${toKebabCase(iconName)}`, className)
291
+ }, props));
244
292
  }
245
293
  );
246
294
  Component.displayName = `${iconName}`;
247
295
  return Component;
248
296
  };
249
297
 
250
- // ../../node_modules/lucide-react/dist/esm/icons/check-circle.js
251
- init_react_import();
252
- var CheckCircle = createLucideIcon("CheckCircle", [
253
- ["path", { d: "M22 11.08V12a10 10 0 1 1-5.93-9.14", key: "g774vq" }],
254
- ["path", { d: "m9 11 3 3L22 4", key: "1pflzl" }]
255
- ]);
256
-
257
298
  // ../../node_modules/lucide-react/dist/esm/icons/chevron-down.js
258
299
  init_react_import();
259
300
  var ChevronDown = createLucideIcon("ChevronDown", [
@@ -270,6 +311,13 @@ var ChevronRight = createLucideIcon("ChevronRight", [
270
311
  init_react_import();
271
312
  var ChevronUp = createLucideIcon("ChevronUp", [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]]);
272
313
 
314
+ // ../../node_modules/lucide-react/dist/esm/icons/circle-check-big.js
315
+ init_react_import();
316
+ var CircleCheckBig = createLucideIcon("CircleCheckBig", [
317
+ ["path", { d: "M21.801 10A10 10 0 1 1 17 3.335", key: "yps3ct" }],
318
+ ["path", { d: "m9 11 3 3L22 4", key: "1pflzl" }]
319
+ ]);
320
+
273
321
  // ../../node_modules/lucide-react/dist/esm/icons/copy.js
274
322
  init_react_import();
275
323
  var Copy = createLucideIcon("Copy", [
@@ -277,6 +325,14 @@ var Copy = createLucideIcon("Copy", [
277
325
  ["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" }]
278
326
  ]);
279
327
 
328
+ // ../../node_modules/lucide-react/dist/esm/icons/ellipsis-vertical.js
329
+ init_react_import();
330
+ var EllipsisVertical = createLucideIcon("EllipsisVertical", [
331
+ ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
332
+ ["circle", { cx: "12", cy: "5", r: "1", key: "gxeob9" }],
333
+ ["circle", { cx: "12", cy: "19", r: "1", key: "lyex9k" }]
334
+ ]);
335
+
280
336
  // ../../node_modules/lucide-react/dist/esm/icons/globe.js
281
337
  init_react_import();
282
338
  var Globe = createLucideIcon("Globe", [
@@ -300,12 +356,24 @@ var Layers = createLucideIcon("Layers", [
300
356
  [
301
357
  "path",
302
358
  {
303
- 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",
304
- key: "8b97xw"
359
+ 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",
360
+ key: "zw3jo"
361
+ }
362
+ ],
363
+ [
364
+ "path",
365
+ {
366
+ 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",
367
+ key: "1wduqc"
305
368
  }
306
369
  ],
307
- ["path", { d: "m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65", key: "dd6zsq" }],
308
- ["path", { d: "m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65", key: "ep9fru" }]
370
+ [
371
+ "path",
372
+ {
373
+ 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",
374
+ key: "kqbvx6"
375
+ }
376
+ ]
309
377
  ]);
310
378
 
311
379
  // ../../node_modules/lucide-react/dist/esm/icons/layout-grid.js
@@ -327,12 +395,19 @@ var Link = createLucideIcon("Link", [
327
395
  // ../../node_modules/lucide-react/dist/esm/icons/list.js
328
396
  init_react_import();
329
397
  var List = createLucideIcon("List", [
330
- ["line", { x1: "8", x2: "21", y1: "6", y2: "6", key: "7ey8pc" }],
331
- ["line", { x1: "8", x2: "21", y1: "12", y2: "12", key: "rjfblc" }],
332
- ["line", { x1: "8", x2: "21", y1: "18", y2: "18", key: "c3b1m8" }],
333
- ["line", { x1: "3", x2: "3.01", y1: "6", y2: "6", key: "1g7gq3" }],
334
- ["line", { x1: "3", x2: "3.01", y1: "12", y2: "12", key: "1pjlvk" }],
335
- ["line", { x1: "3", x2: "3.01", y1: "18", y2: "18", key: "28t2mc" }]
398
+ ["path", { d: "M3 12h.01", key: "nlz23k" }],
399
+ ["path", { d: "M3 18h.01", key: "1tta3j" }],
400
+ ["path", { d: "M3 6h.01", key: "1rqtza" }],
401
+ ["path", { d: "M8 12h13", key: "1za7za" }],
402
+ ["path", { d: "M8 18h13", key: "1lx6n3" }],
403
+ ["path", { d: "M8 6h13", key: "ik3vkj" }]
404
+ ]);
405
+
406
+ // ../../node_modules/lucide-react/dist/esm/icons/lock-open.js
407
+ init_react_import();
408
+ var LockOpen = createLucideIcon("LockOpen", [
409
+ ["rect", { width: "18", height: "11", x: "3", y: "11", rx: "2", ry: "2", key: "1w4ew1" }],
410
+ ["path", { d: "M7 11V7a5 5 0 0 1 9.9-1", key: "1mm8w8" }]
336
411
  ]);
337
412
 
338
413
  // ../../node_modules/lucide-react/dist/esm/icons/lock.js
@@ -350,26 +425,18 @@ var Monitor = createLucideIcon("Monitor", [
350
425
  ["line", { x1: "12", x2: "12", y1: "17", y2: "21", key: "vw1qmm" }]
351
426
  ]);
352
427
 
353
- // ../../node_modules/lucide-react/dist/esm/icons/more-vertical.js
354
- init_react_import();
355
- var MoreVertical = createLucideIcon("MoreVertical", [
356
- ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
357
- ["circle", { cx: "12", cy: "5", r: "1", key: "gxeob9" }],
358
- ["circle", { cx: "12", cy: "19", r: "1", key: "lyex9k" }]
359
- ]);
360
-
361
428
  // ../../node_modules/lucide-react/dist/esm/icons/panel-left.js
362
429
  init_react_import();
363
430
  var PanelLeft = createLucideIcon("PanelLeft", [
364
- ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }],
365
- ["line", { x1: "9", x2: "9", y1: "3", y2: "21", key: "13tij5" }]
431
+ ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
432
+ ["path", { d: "M9 3v18", key: "fh3hqa" }]
366
433
  ]);
367
434
 
368
435
  // ../../node_modules/lucide-react/dist/esm/icons/panel-right.js
369
436
  init_react_import();
370
437
  var PanelRight = createLucideIcon("PanelRight", [
371
- ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }],
372
- ["line", { x1: "15", x2: "15", y1: "3", y2: "21", key: "1hpv9i" }]
438
+ ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
439
+ ["path", { d: "M15 3v18", key: "14nvp0" }]
373
440
  ]);
374
441
 
375
442
  // ../../node_modules/lucide-react/dist/esm/icons/plus.js
@@ -383,7 +450,7 @@ var Plus = createLucideIcon("Plus", [
383
450
  init_react_import();
384
451
  var Redo2 = createLucideIcon("Redo2", [
385
452
  ["path", { d: "m15 14 5-5-5-5", key: "12vg1m" }],
386
- ["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" }]
453
+ ["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" }]
387
454
  ]);
388
455
 
389
456
  // ../../node_modules/lucide-react/dist/esm/icons/search.js
@@ -441,14 +508,7 @@ var Type = createLucideIcon("Type", [
441
508
  init_react_import();
442
509
  var Undo2 = createLucideIcon("Undo2", [
443
510
  ["path", { d: "M9 14 4 9l5-5", key: "102s5s" }],
444
- ["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" }]
445
- ]);
446
-
447
- // ../../node_modules/lucide-react/dist/esm/icons/unlock.js
448
- init_react_import();
449
- var Unlock = createLucideIcon("Unlock", [
450
- ["rect", { width: "18", height: "11", x: "3", y: "11", rx: "2", ry: "2", key: "1w4ew1" }],
451
- ["path", { d: "M7 11V7a5 5 0 0 1 9.9-1", key: "1mm8w8" }]
511
+ ["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" }]
452
512
  ]);
453
513
 
454
514
  // ../../node_modules/lucide-react/dist/esm/icons/zoom-in.js
@@ -1449,6 +1509,7 @@ var DefaultField = ({
1449
1509
  className: getClassName6("input"),
1450
1510
  autoComplete: "off",
1451
1511
  type: field.type,
1512
+ title: label || name,
1452
1513
  name,
1453
1514
  value: typeof value === "undefined" ? "" : value.toString(),
1454
1515
  onChange: (e) => {
@@ -1707,7 +1768,7 @@ var ExternalInput = ({
1707
1768
  onChange(null);
1708
1769
  },
1709
1770
  disabled: readOnly,
1710
- children: /* @__PURE__ */ jsx14(Unlock, { size: 16 })
1771
+ children: /* @__PURE__ */ jsx14(LockOpen, { size: 16 })
1711
1772
  }
1712
1773
  )
1713
1774
  ] }),
@@ -1869,6 +1930,20 @@ var ExternalField = ({
1869
1930
 
1870
1931
  // components/AutoField/fields/RadioField/index.tsx
1871
1932
  init_react_import();
1933
+ import { useMemo as useMemo2 } from "react";
1934
+
1935
+ // lib/safe-json-parse.ts
1936
+ init_react_import();
1937
+ var safeJsonParse = (str) => {
1938
+ try {
1939
+ const jsonValue = JSON.parse(str);
1940
+ return jsonValue;
1941
+ } catch (e) {
1942
+ return str;
1943
+ }
1944
+ };
1945
+
1946
+ // components/AutoField/fields/RadioField/index.tsx
1872
1947
  import { jsx as jsx16, jsxs as jsxs8 } from "react/jsx-runtime";
1873
1948
  var getClassName11 = get_class_name_factory_default("Input", styles_module_default2);
1874
1949
  var RadioField = ({
@@ -1881,13 +1956,17 @@ var RadioField = ({
1881
1956
  label,
1882
1957
  Label
1883
1958
  }) => {
1959
+ const flatOptions = useMemo2(
1960
+ () => field.type === "radio" ? field.options.map(({ value: value2 }) => value2) : [],
1961
+ [field]
1962
+ );
1884
1963
  if (field.type !== "radio" || !field.options) {
1885
1964
  return null;
1886
1965
  }
1887
1966
  return /* @__PURE__ */ jsx16(
1888
1967
  Label,
1889
1968
  {
1890
- icon: /* @__PURE__ */ jsx16(CheckCircle, { size: 16 }),
1969
+ icon: /* @__PURE__ */ jsx16(CircleCheckBig, { size: 16 }),
1891
1970
  label: label || name,
1892
1971
  readOnly,
1893
1972
  el: "div",
@@ -1904,11 +1983,12 @@ var RadioField = ({
1904
1983
  value: option.value,
1905
1984
  name,
1906
1985
  onChange: (e) => {
1907
- if (e.currentTarget.value === "true" || e.currentTarget.value === "false") {
1908
- onChange(JSON.parse(e.currentTarget.value));
1909
- return;
1986
+ const jsonValue = safeJsonParse(e.target.value) || e.target.value;
1987
+ if (flatOptions.indexOf(jsonValue) > -1) {
1988
+ onChange(jsonValue);
1989
+ } else {
1990
+ onChange(e.target.value);
1910
1991
  }
1911
- onChange(e.currentTarget.value);
1912
1992
  },
1913
1993
  disabled: readOnly,
1914
1994
  checked: value === option.value
@@ -1925,6 +2005,7 @@ var RadioField = ({
1925
2005
 
1926
2006
  // components/AutoField/fields/SelectField/index.tsx
1927
2007
  init_react_import();
2008
+ import { useMemo as useMemo3 } from "react";
1928
2009
  import { jsx as jsx17 } from "react/jsx-runtime";
1929
2010
  var getClassName12 = get_class_name_factory_default("Input", styles_module_default2);
1930
2011
  var SelectField = ({
@@ -1937,6 +2018,10 @@ var SelectField = ({
1937
2018
  readOnly,
1938
2019
  id
1939
2020
  }) => {
2021
+ const flatOptions = useMemo3(
2022
+ () => field.type === "select" ? field.options.map(({ value: value2 }) => value2) : [],
2023
+ [field]
2024
+ );
1940
2025
  if (field.type !== "select" || !field.options) {
1941
2026
  return null;
1942
2027
  }
@@ -1950,14 +2035,16 @@ var SelectField = ({
1950
2035
  "select",
1951
2036
  {
1952
2037
  id,
2038
+ title: label || name,
1953
2039
  className: getClassName12("input"),
1954
2040
  disabled: readOnly,
1955
2041
  onChange: (e) => {
1956
- if (e.currentTarget.value === "true" || e.currentTarget.value === "false") {
1957
- onChange(JSON.parse(e.currentTarget.value));
1958
- return;
2042
+ const jsonValue = safeJsonParse(e.target.value) || e.target.value;
2043
+ if (flatOptions.indexOf(jsonValue) > -1) {
2044
+ onChange(jsonValue);
2045
+ } else {
2046
+ onChange(e.target.value);
1959
2047
  }
1960
- onChange(e.currentTarget.value);
1961
2048
  },
1962
2049
  value,
1963
2050
  children: field.options.map((option) => /* @__PURE__ */ jsx17(
@@ -2036,7 +2123,7 @@ var ObjectField = ({
2036
2123
  Label,
2037
2124
  {
2038
2125
  label: label || name,
2039
- icon: /* @__PURE__ */ jsx19(MoreVertical, { size: 16 }),
2126
+ icon: /* @__PURE__ */ jsx19(EllipsisVertical, { size: 16 }),
2040
2127
  el: "div",
2041
2128
  readOnly,
2042
2129
  children: /* @__PURE__ */ jsx19("div", { className: getClassName14(), children: /* @__PURE__ */ jsx19("fieldset", { className: getClassName14("fieldset"), children: Object.keys(field.objectFields).map((fieldName) => {
@@ -2117,7 +2204,7 @@ var FieldLabelInternal2 = ({
2117
2204
  readOnly
2118
2205
  }) => {
2119
2206
  const { overrides } = useAppContext();
2120
- const Wrapper = useMemo2(
2207
+ const Wrapper = useMemo4(
2121
2208
  () => overrides.fieldLabel || FieldLabel,
2122
2209
  [overrides]
2123
2210
  );
@@ -2203,7 +2290,18 @@ function AutoFieldInternal(props) {
2203
2290
  }
2204
2291
  const children = defaultFields[field.type](mergedProps);
2205
2292
  const Render2 = render[field.type];
2206
- return /* @__PURE__ */ jsx20("div", { className: getClassNameWrapper(), onFocus, onBlur, children: /* @__PURE__ */ jsx20(Render2, __spreadProps(__spreadValues({}, mergedProps), { children })) });
2293
+ return /* @__PURE__ */ jsx20(
2294
+ "div",
2295
+ {
2296
+ className: getClassNameWrapper(),
2297
+ onFocus,
2298
+ onBlur,
2299
+ onClick: (e) => {
2300
+ e.stopPropagation();
2301
+ },
2302
+ children: /* @__PURE__ */ jsx20(Render2, __spreadProps(__spreadValues({}, mergedProps), { children }))
2303
+ }
2304
+ );
2207
2305
  }
2208
2306
  function AutoFieldPrivate(props) {
2209
2307
  const { state } = useAppContext();
@@ -2232,7 +2330,7 @@ function AutoFieldPrivate(props) {
2232
2330
  return /* @__PURE__ */ jsx20(AutoFieldInternal, __spreadValues(__spreadValues({}, props), localProps));
2233
2331
  }
2234
2332
  function AutoField(props) {
2235
- const DefaultLabel = useMemo2(() => {
2333
+ const DefaultLabel = useMemo4(() => {
2236
2334
  const DefaultLabel2 = (labelProps) => /* @__PURE__ */ jsx20(
2237
2335
  "div",
2238
2336
  __spreadProps(__spreadValues({}, labelProps), {
@@ -2255,7 +2353,7 @@ var styles_module_default10 = { "Drawer": "_Drawer_1oa7v_1", "DrawerItem--disabl
2255
2353
  import {
2256
2354
  createContext as createContext2,
2257
2355
  useContext as useContext2,
2258
- useMemo as useMemo3
2356
+ useMemo as useMemo5
2259
2357
  } from "react";
2260
2358
  import { jsx as jsx21, jsxs as jsxs10 } from "react/jsx-runtime";
2261
2359
  var getClassName16 = get_class_name_factory_default("Drawer", styles_module_default10);
@@ -2293,7 +2391,7 @@ var DrawerItem = ({
2293
2391
  }) => {
2294
2392
  const ctx = useContext2(drawerContext);
2295
2393
  const resolvedId = `${ctx.droppableId}::${id || name}`;
2296
- const CustomInner = useMemo3(
2394
+ const CustomInner = useMemo5(
2297
2395
  () => children || (({ children: children2, name: name2 }) => /* @__PURE__ */ jsx21("div", { className: getClassNameItem2("default"), children: children2 })),
2298
2396
  [children]
2299
2397
  );
@@ -2340,7 +2438,7 @@ import { useContext as useContext3, useEffect as useEffect12 } from "react";
2340
2438
  init_react_import();
2341
2439
  import {
2342
2440
  useEffect as useEffect11,
2343
- useMemo as useMemo4,
2441
+ useMemo as useMemo6,
2344
2442
  useState as useState12
2345
2443
  } from "react";
2346
2444
  import { Draggable as Draggable2 } from "@measured/dnd";
@@ -2430,7 +2528,7 @@ var DraggableComponent = ({
2430
2528
  setDisableSecondaryAnimation(true);
2431
2529
  }
2432
2530
  }, []);
2433
- const CustomActionBar = useMemo4(
2531
+ const CustomActionBar = useMemo6(
2434
2532
  () => overrides.actionBar || DefaultActionBar,
2435
2533
  [overrides.actionBar]
2436
2534
  );
@@ -2961,7 +3059,7 @@ init_react_import();
2961
3059
  import {
2962
3060
  useCallback as useCallback11,
2963
3061
  useEffect as useEffect18,
2964
- useMemo as useMemo13,
3062
+ useMemo as useMemo15,
2965
3063
  useReducer,
2966
3064
  useState as useState21
2967
3065
  } from "react";
@@ -3036,7 +3134,7 @@ var styles_module_default13 = { "SidebarSection": "_SidebarSection_125qe_1", "Si
3036
3134
 
3037
3135
  // lib/use-breadcrumbs.ts
3038
3136
  init_react_import();
3039
- import { useContext as useContext4, useMemo as useMemo5 } from "react";
3137
+ import { useContext as useContext4, useMemo as useMemo7 } from "react";
3040
3138
  var convertPathDataToBreadcrumbs = (selectedItem, pathData, data) => {
3041
3139
  const id = selectedItem ? selectedItem == null ? void 0 : selectedItem.props.id : "";
3042
3140
  const currentPathData = pathData && id && pathData[id] ? __spreadValues({}, pathData[id]) : { label: "Page", path: [] };
@@ -3087,7 +3185,7 @@ var useBreadcrumbs = (renderCount) => {
3087
3185
  selectedItem
3088
3186
  } = useAppContext();
3089
3187
  const dzContext = useContext4(dropZoneContext);
3090
- return useMemo5(() => {
3188
+ return useMemo7(() => {
3091
3189
  const breadcrumbs = convertPathDataToBreadcrumbs(
3092
3190
  selectedItem,
3093
3191
  dzContext == null ? void 0 : dzContext.pathData,
@@ -3571,7 +3669,23 @@ init_react_import();
3571
3669
  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" };
3572
3670
 
3573
3671
  // components/Puck/components/Fields/index.tsx
3574
- import { useCallback as useCallback7, useEffect as useEffect13, useMemo as useMemo6, useState as useState15 } from "react";
3672
+ import { useCallback as useCallback7, useEffect as useEffect13, useMemo as useMemo8, useState as useState15 } from "react";
3673
+
3674
+ // lib/use-parent.ts
3675
+ init_react_import();
3676
+ import { useContext as useContext5 } from "react";
3677
+ var useParent = (itemSelector) => {
3678
+ var _a;
3679
+ const { selectedItem, state } = useAppContext();
3680
+ const { pathData } = useContext5(dropZoneContext) || {};
3681
+ const item = itemSelector ? getItem(itemSelector, state.data) : selectedItem;
3682
+ const breadcrumbs = convertPathDataToBreadcrumbs(item, pathData, state.data);
3683
+ const lastItem = breadcrumbs[breadcrumbs.length - 1];
3684
+ const parent = (lastItem == null ? void 0 : lastItem.selector) ? (_a = getItem(lastItem.selector, state.data)) != null ? _a : null : null;
3685
+ return parent || null;
3686
+ };
3687
+
3688
+ // components/Puck/components/Fields/index.tsx
3575
3689
  import { Fragment as Fragment12, jsx as jsx27, jsxs as jsxs15 } from "react/jsx-runtime";
3576
3690
  var getClassName21 = get_class_name_factory_default("PuckFields", styles_module_default16);
3577
3691
  var defaultPageFields = {
@@ -3585,10 +3699,11 @@ var DefaultFields = ({
3585
3699
  var useResolvedFields = () => {
3586
3700
  var _a, _b;
3587
3701
  const { selectedItem, state, config } = useAppContext();
3702
+ const parent = useParent();
3588
3703
  const { data } = state;
3589
3704
  const rootFields = ((_a = config.root) == null ? void 0 : _a.fields) || defaultPageFields;
3590
3705
  const componentConfig = selectedItem ? config.components[selectedItem.type] : null;
3591
- const defaultFields = useMemo6(
3706
+ const defaultFields = useMemo8(
3592
3707
  () => (selectedItem ? componentConfig == null ? void 0 : componentConfig.fields : rootFields) || {},
3593
3708
  [selectedItem, rootFields, componentConfig == null ? void 0 : componentConfig.fields]
3594
3709
  );
@@ -3615,7 +3730,8 @@ var useResolvedFields = () => {
3615
3730
  fields,
3616
3731
  lastFields: resolvedFields,
3617
3732
  lastData,
3618
- appState: state
3733
+ appState: state,
3734
+ parent
3619
3735
  }
3620
3736
  );
3621
3737
  }
@@ -3625,7 +3741,8 @@ var useResolvedFields = () => {
3625
3741
  fields,
3626
3742
  lastFields: resolvedFields,
3627
3743
  lastData,
3628
- appState: state
3744
+ appState: state,
3745
+ parent
3629
3746
  });
3630
3747
  }
3631
3748
  return defaultResolveFields(componentData, {
@@ -3647,7 +3764,7 @@ var useResolvedFields = () => {
3647
3764
  } else {
3648
3765
  setResolvedFields(defaultFields);
3649
3766
  }
3650
- }, [data, defaultFields, state.ui.itemSelector, hasResolver]);
3767
+ }, [data, defaultFields, selectedItem, hasResolver]);
3651
3768
  return [resolvedFields, fieldsLoading];
3652
3769
  };
3653
3770
  var Fields = () => {
@@ -3668,7 +3785,7 @@ var Fields = () => {
3668
3785
  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;
3669
3786
  const isLoading = fieldsResolving || componentResolving;
3670
3787
  const rootProps = data.root.props || data.root;
3671
- const Wrapper = useMemo6(() => overrides.fields || DefaultFields, [overrides]);
3788
+ const Wrapper = useMemo8(() => overrides.fields || DefaultFields, [overrides]);
3672
3789
  return /* @__PURE__ */ jsxs15(
3673
3790
  "form",
3674
3791
  {
@@ -3747,34 +3864,36 @@ var Fields = () => {
3747
3864
  const { edit } = getPermissions({
3748
3865
  item: selectedItem
3749
3866
  });
3867
+ const id = `${selectedItem.props.id}_${field.type}_${fieldName}`;
3750
3868
  return /* @__PURE__ */ jsx27(
3751
3869
  AutoFieldPrivate,
3752
3870
  {
3753
3871
  field,
3754
3872
  name: fieldName,
3755
- id: `${selectedItem.props.id}_${fieldName}`,
3873
+ id,
3756
3874
  readOnly: !edit || readOnly[fieldName],
3757
3875
  value: selectedItem.props[fieldName],
3758
3876
  onChange
3759
3877
  },
3760
- `${selectedItem.props.id}_${fieldName}`
3878
+ id
3761
3879
  );
3762
3880
  } else {
3763
3881
  const readOnly = data.root.readOnly || {};
3764
3882
  const { edit } = getPermissions({
3765
3883
  root: true
3766
3884
  });
3885
+ const id = `root_${field.type}_${fieldName}`;
3767
3886
  return /* @__PURE__ */ jsx27(
3768
3887
  AutoFieldPrivate,
3769
3888
  {
3770
3889
  field,
3771
3890
  name: fieldName,
3772
- id: `root_${fieldName}`,
3891
+ id,
3773
3892
  readOnly: !edit || readOnly[fieldName],
3774
3893
  value: rootProps[fieldName],
3775
3894
  onChange
3776
3895
  },
3777
- `page_${fieldName}`
3896
+ id
3778
3897
  );
3779
3898
  }
3780
3899
  }) }),
@@ -3937,24 +4056,24 @@ var useComponentList = (config, ui) => {
3937
4056
  };
3938
4057
 
3939
4058
  // components/Puck/components/Components/index.tsx
3940
- import { useMemo as useMemo7 } from "react";
4059
+ import { useMemo as useMemo9 } from "react";
3941
4060
  import { jsx as jsx30 } from "react/jsx-runtime";
3942
4061
  var Components = () => {
3943
4062
  const { config, state, overrides } = useAppContext();
3944
4063
  const componentList = useComponentList(config, state.ui);
3945
- const Wrapper = useMemo7(() => overrides.components || "div", [overrides]);
4064
+ const Wrapper = useMemo9(() => overrides.components || "div", [overrides]);
3946
4065
  return /* @__PURE__ */ jsx30(Wrapper, { children: componentList ? componentList : /* @__PURE__ */ jsx30(ComponentList, { id: "all" }) });
3947
4066
  };
3948
4067
 
3949
4068
  // components/Puck/components/Preview/index.tsx
3950
4069
  init_react_import();
3951
- import { useCallback as useCallback8, useMemo as useMemo8 } from "react";
4070
+ import { useCallback as useCallback8, useMemo as useMemo10 } from "react";
3952
4071
 
3953
4072
  // components/AutoFrame/index.tsx
3954
4073
  init_react_import();
3955
4074
  import {
3956
4075
  createContext as createContext4,
3957
- useContext as useContext5,
4076
+ useContext as useContext6,
3958
4077
  useEffect as useEffect15,
3959
4078
  useRef as useRef3,
3960
4079
  useState as useState17
@@ -4164,7 +4283,7 @@ var CopyHostStyles = ({
4164
4283
  return /* @__PURE__ */ jsx31(Fragment13, { children });
4165
4284
  };
4166
4285
  var autoFrameContext = createContext4({});
4167
- var useFrame = () => useContext5(autoFrameContext);
4286
+ var useFrame = () => useContext6(autoFrameContext);
4168
4287
  function AutoFrame(_a) {
4169
4288
  var _b = _a, {
4170
4289
  children,
@@ -4228,7 +4347,7 @@ var Preview = ({ id = "puck-preview" }) => {
4228
4347
  },
4229
4348
  [config.root]
4230
4349
  );
4231
- const Frame = useMemo8(() => overrides.iframe, [overrides]);
4350
+ const Frame = useMemo10(() => overrides.iframe, [overrides]);
4232
4351
  const rootProps = state.data.root.props || state.data.root;
4233
4352
  return /* @__PURE__ */ jsx32(
4234
4353
  "div",
@@ -4317,7 +4436,7 @@ var scrollIntoView = (el) => {
4317
4436
  };
4318
4437
 
4319
4438
  // components/LayerTree/index.tsx
4320
- import { useContext as useContext6 } from "react";
4439
+ import { useContext as useContext7 } from "react";
4321
4440
 
4322
4441
  // lib/is-child-of-zone.ts
4323
4442
  init_react_import();
@@ -4344,7 +4463,7 @@ var LayerTree = ({
4344
4463
  label
4345
4464
  }) => {
4346
4465
  const zones = data.zones || {};
4347
- const ctx = useContext6(dropZoneContext);
4466
+ const ctx = useContext7(dropZoneContext);
4348
4467
  return /* @__PURE__ */ jsxs17(Fragment15, { children: [
4349
4468
  label && /* @__PURE__ */ jsxs17("div", { className: getClassName24("zoneTitle"), children: [
4350
4469
  /* @__PURE__ */ jsx33("div", { className: getClassName24("zoneIcon"), children: /* @__PURE__ */ jsx33(Layers, { size: "16" }) }),
@@ -4450,7 +4569,7 @@ var LayerTree = ({
4450
4569
  };
4451
4570
 
4452
4571
  // components/Puck/components/Outline/index.tsx
4453
- import { useCallback as useCallback9, useMemo as useMemo9 } from "react";
4572
+ import { useCallback as useCallback9, useMemo as useMemo11 } from "react";
4454
4573
  import { Fragment as Fragment16, jsx as jsx34, jsxs as jsxs18 } from "react/jsx-runtime";
4455
4574
  var Outline = () => {
4456
4575
  const { dispatch, state, overrides, config } = useAppContext();
@@ -4465,7 +4584,7 @@ var Outline = () => {
4465
4584
  },
4466
4585
  []
4467
4586
  );
4468
- const Wrapper = useMemo9(() => overrides.outline || "div", [overrides]);
4587
+ const Wrapper = useMemo11(() => overrides.outline || "div", [overrides]);
4469
4588
  return /* @__PURE__ */ jsx34(Wrapper, { children: /* @__PURE__ */ jsx34(dropZoneContext.Consumer, { children: (ctx) => /* @__PURE__ */ jsxs18(Fragment16, { children: [
4470
4589
  (ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId]) && /* @__PURE__ */ jsx34(
4471
4590
  LayerTree,
@@ -4729,14 +4848,14 @@ var getBox = function getBox2(el) {
4729
4848
  import {
4730
4849
  useCallback as useCallback10,
4731
4850
  useEffect as useEffect17,
4732
- useMemo as useMemo11,
4851
+ useMemo as useMemo13,
4733
4852
  useRef as useRef4,
4734
4853
  useState as useState20
4735
4854
  } from "react";
4736
4855
 
4737
4856
  // components/ViewportControls/index.tsx
4738
4857
  init_react_import();
4739
- import { useEffect as useEffect16, useMemo as useMemo10, useState as useState19 } from "react";
4858
+ import { useEffect as useEffect16, useMemo as useMemo12, useState as useState19 } from "react";
4740
4859
 
4741
4860
  // css-module:/home/runner/work/puck/puck/packages/core/components/ViewportControls/styles.module.css#css-module
4742
4861
  init_react_import();
@@ -4796,7 +4915,7 @@ var ViewportControls = ({
4796
4915
  const defaultsContainAutoZoom = defaultZoomOptions.find(
4797
4916
  (option) => option.value === autoZoom
4798
4917
  );
4799
- const zoomOptions = useMemo10(
4918
+ const zoomOptions = useMemo12(
4800
4919
  () => [
4801
4920
  ...defaultZoomOptions,
4802
4921
  ...defaultsContainAutoZoom ? [] : [
@@ -4921,11 +5040,11 @@ var Canvas = () => {
4921
5040
  const { ui } = state;
4922
5041
  const frameRef = useRef4(null);
4923
5042
  const [showTransition, setShowTransition] = useState20(false);
4924
- const defaultRender = useMemo11(() => {
5043
+ const defaultRender = useMemo13(() => {
4925
5044
  const PuckDefault = ({ children }) => /* @__PURE__ */ jsx36(Fragment17, { children });
4926
5045
  return PuckDefault;
4927
5046
  }, []);
4928
- const CustomPreview = useMemo11(
5047
+ const CustomPreview = useMemo13(
4929
5048
  () => overrides.preview || defaultRender,
4930
5049
  [overrides]
4931
5050
  );
@@ -5081,7 +5200,7 @@ var insertComponent = (componentType, zone, index, {
5081
5200
 
5082
5201
  // lib/use-loaded-overrides.ts
5083
5202
  init_react_import();
5084
- import { useMemo as useMemo12 } from "react";
5203
+ import { useMemo as useMemo14 } from "react";
5085
5204
 
5086
5205
  // lib/load-overrides.ts
5087
5206
  init_react_import();
@@ -5120,7 +5239,7 @@ var useLoadedOverrides = ({
5120
5239
  overrides,
5121
5240
  plugins
5122
5241
  }) => {
5123
- return useMemo12(() => {
5242
+ return useMemo14(() => {
5124
5243
  return loadOverrides({ overrides, plugins });
5125
5244
  }, [plugins, overrides]);
5126
5245
  };
@@ -5301,7 +5420,7 @@ function Puck({
5301
5420
  window.removeEventListener("resize", handleResize);
5302
5421
  };
5303
5422
  }, []);
5304
- const defaultHeaderRender = useMemo13(() => {
5423
+ const defaultHeaderRender = useMemo15(() => {
5305
5424
  if (renderHeader) {
5306
5425
  console.warn(
5307
5426
  "`renderHeader` is deprecated. Please use `overrides.header` and the `usePuck` hook instead"
@@ -5315,7 +5434,7 @@ function Puck({
5315
5434
  }
5316
5435
  return DefaultOverride;
5317
5436
  }, [renderHeader]);
5318
- const defaultHeaderActionsRender = useMemo13(() => {
5437
+ const defaultHeaderActionsRender = useMemo15(() => {
5319
5438
  if (renderHeaderActions) {
5320
5439
  console.warn(
5321
5440
  "`renderHeaderActions` is deprecated. Please use `overrides.headerActions` and the `usePuck` hook instead."
@@ -5332,15 +5451,15 @@ function Puck({
5332
5451
  overrides,
5333
5452
  plugins
5334
5453
  });
5335
- const CustomPuck = useMemo13(
5454
+ const CustomPuck = useMemo15(
5336
5455
  () => loadedOverrides.puck || DefaultOverride,
5337
5456
  [loadedOverrides]
5338
5457
  );
5339
- const CustomHeader = useMemo13(
5458
+ const CustomHeader = useMemo15(
5340
5459
  () => loadedOverrides.header || defaultHeaderRender,
5341
5460
  [loadedOverrides]
5342
5461
  );
5343
- const CustomHeaderActions = useMemo13(
5462
+ const CustomHeaderActions = useMemo15(
5344
5463
  () => loadedOverrides.headerActions || defaultHeaderActionsRender,
5345
5464
  [loadedOverrides]
5346
5465
  );
@@ -5708,6 +5827,11 @@ var usePuck = () => {
5708
5827
  getPermissions,
5709
5828
  refreshPermissions
5710
5829
  } = useAppContext();
5830
+ if (dispatch === defaultContext.dispatch) {
5831
+ throw new Error(
5832
+ "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."
5833
+ );
5834
+ }
5711
5835
  return {
5712
5836
  appState,
5713
5837
  config,
@@ -5757,25 +5881,33 @@ classnames/index.js:
5757
5881
  http://jedwatson.github.io/classnames
5758
5882
  *)
5759
5883
 
5884
+ lucide-react/dist/esm/shared/src/utils.js:
5885
+ (**
5886
+ * @license lucide-react v0.468.0 - ISC
5887
+ *
5888
+ * This source code is licensed under the ISC license.
5889
+ * See the LICENSE file in the root directory of this source tree.
5890
+ *)
5891
+
5760
5892
  lucide-react/dist/esm/defaultAttributes.js:
5761
5893
  (**
5762
- * @license lucide-react v0.298.0 - ISC
5894
+ * @license lucide-react v0.468.0 - ISC
5763
5895
  *
5764
5896
  * This source code is licensed under the ISC license.
5765
5897
  * See the LICENSE file in the root directory of this source tree.
5766
5898
  *)
5767
5899
 
5768
- lucide-react/dist/esm/createLucideIcon.js:
5900
+ lucide-react/dist/esm/Icon.js:
5769
5901
  (**
5770
- * @license lucide-react v0.298.0 - ISC
5902
+ * @license lucide-react v0.468.0 - ISC
5771
5903
  *
5772
5904
  * This source code is licensed under the ISC license.
5773
5905
  * See the LICENSE file in the root directory of this source tree.
5774
5906
  *)
5775
5907
 
5776
- lucide-react/dist/esm/icons/check-circle.js:
5908
+ lucide-react/dist/esm/createLucideIcon.js:
5777
5909
  (**
5778
- * @license lucide-react v0.298.0 - ISC
5910
+ * @license lucide-react v0.468.0 - ISC
5779
5911
  *
5780
5912
  * This source code is licensed under the ISC license.
5781
5913
  * See the LICENSE file in the root directory of this source tree.
@@ -5783,7 +5915,7 @@ lucide-react/dist/esm/icons/check-circle.js:
5783
5915
 
5784
5916
  lucide-react/dist/esm/icons/chevron-down.js:
5785
5917
  (**
5786
- * @license lucide-react v0.298.0 - ISC
5918
+ * @license lucide-react v0.468.0 - ISC
5787
5919
  *
5788
5920
  * This source code is licensed under the ISC license.
5789
5921
  * See the LICENSE file in the root directory of this source tree.
@@ -5791,7 +5923,7 @@ lucide-react/dist/esm/icons/chevron-down.js:
5791
5923
 
5792
5924
  lucide-react/dist/esm/icons/chevron-right.js:
5793
5925
  (**
5794
- * @license lucide-react v0.298.0 - ISC
5926
+ * @license lucide-react v0.468.0 - ISC
5795
5927
  *
5796
5928
  * This source code is licensed under the ISC license.
5797
5929
  * See the LICENSE file in the root directory of this source tree.
@@ -5799,7 +5931,15 @@ lucide-react/dist/esm/icons/chevron-right.js:
5799
5931
 
5800
5932
  lucide-react/dist/esm/icons/chevron-up.js:
5801
5933
  (**
5802
- * @license lucide-react v0.298.0 - ISC
5934
+ * @license lucide-react v0.468.0 - ISC
5935
+ *
5936
+ * This source code is licensed under the ISC license.
5937
+ * See the LICENSE file in the root directory of this source tree.
5938
+ *)
5939
+
5940
+ lucide-react/dist/esm/icons/circle-check-big.js:
5941
+ (**
5942
+ * @license lucide-react v0.468.0 - ISC
5803
5943
  *
5804
5944
  * This source code is licensed under the ISC license.
5805
5945
  * See the LICENSE file in the root directory of this source tree.
@@ -5807,7 +5947,15 @@ lucide-react/dist/esm/icons/chevron-up.js:
5807
5947
 
5808
5948
  lucide-react/dist/esm/icons/copy.js:
5809
5949
  (**
5810
- * @license lucide-react v0.298.0 - ISC
5950
+ * @license lucide-react v0.468.0 - ISC
5951
+ *
5952
+ * This source code is licensed under the ISC license.
5953
+ * See the LICENSE file in the root directory of this source tree.
5954
+ *)
5955
+
5956
+ lucide-react/dist/esm/icons/ellipsis-vertical.js:
5957
+ (**
5958
+ * @license lucide-react v0.468.0 - ISC
5811
5959
  *
5812
5960
  * This source code is licensed under the ISC license.
5813
5961
  * See the LICENSE file in the root directory of this source tree.
@@ -5815,7 +5963,7 @@ lucide-react/dist/esm/icons/copy.js:
5815
5963
 
5816
5964
  lucide-react/dist/esm/icons/globe.js:
5817
5965
  (**
5818
- * @license lucide-react v0.298.0 - ISC
5966
+ * @license lucide-react v0.468.0 - ISC
5819
5967
  *
5820
5968
  * This source code is licensed under the ISC license.
5821
5969
  * See the LICENSE file in the root directory of this source tree.
@@ -5823,7 +5971,7 @@ lucide-react/dist/esm/icons/globe.js:
5823
5971
 
5824
5972
  lucide-react/dist/esm/icons/hash.js:
5825
5973
  (**
5826
- * @license lucide-react v0.298.0 - ISC
5974
+ * @license lucide-react v0.468.0 - ISC
5827
5975
  *
5828
5976
  * This source code is licensed under the ISC license.
5829
5977
  * See the LICENSE file in the root directory of this source tree.
@@ -5831,7 +5979,7 @@ lucide-react/dist/esm/icons/hash.js:
5831
5979
 
5832
5980
  lucide-react/dist/esm/icons/layers.js:
5833
5981
  (**
5834
- * @license lucide-react v0.298.0 - ISC
5982
+ * @license lucide-react v0.468.0 - ISC
5835
5983
  *
5836
5984
  * This source code is licensed under the ISC license.
5837
5985
  * See the LICENSE file in the root directory of this source tree.
@@ -5839,7 +5987,7 @@ lucide-react/dist/esm/icons/layers.js:
5839
5987
 
5840
5988
  lucide-react/dist/esm/icons/layout-grid.js:
5841
5989
  (**
5842
- * @license lucide-react v0.298.0 - ISC
5990
+ * @license lucide-react v0.468.0 - ISC
5843
5991
  *
5844
5992
  * This source code is licensed under the ISC license.
5845
5993
  * See the LICENSE file in the root directory of this source tree.
@@ -5847,7 +5995,7 @@ lucide-react/dist/esm/icons/layout-grid.js:
5847
5995
 
5848
5996
  lucide-react/dist/esm/icons/link.js:
5849
5997
  (**
5850
- * @license lucide-react v0.298.0 - ISC
5998
+ * @license lucide-react v0.468.0 - ISC
5851
5999
  *
5852
6000
  * This source code is licensed under the ISC license.
5853
6001
  * See the LICENSE file in the root directory of this source tree.
@@ -5855,31 +6003,31 @@ lucide-react/dist/esm/icons/link.js:
5855
6003
 
5856
6004
  lucide-react/dist/esm/icons/list.js:
5857
6005
  (**
5858
- * @license lucide-react v0.298.0 - ISC
6006
+ * @license lucide-react v0.468.0 - ISC
5859
6007
  *
5860
6008
  * This source code is licensed under the ISC license.
5861
6009
  * See the LICENSE file in the root directory of this source tree.
5862
6010
  *)
5863
6011
 
5864
- lucide-react/dist/esm/icons/lock.js:
6012
+ lucide-react/dist/esm/icons/lock-open.js:
5865
6013
  (**
5866
- * @license lucide-react v0.298.0 - ISC
6014
+ * @license lucide-react v0.468.0 - ISC
5867
6015
  *
5868
6016
  * This source code is licensed under the ISC license.
5869
6017
  * See the LICENSE file in the root directory of this source tree.
5870
6018
  *)
5871
6019
 
5872
- lucide-react/dist/esm/icons/monitor.js:
6020
+ lucide-react/dist/esm/icons/lock.js:
5873
6021
  (**
5874
- * @license lucide-react v0.298.0 - ISC
6022
+ * @license lucide-react v0.468.0 - ISC
5875
6023
  *
5876
6024
  * This source code is licensed under the ISC license.
5877
6025
  * See the LICENSE file in the root directory of this source tree.
5878
6026
  *)
5879
6027
 
5880
- lucide-react/dist/esm/icons/more-vertical.js:
6028
+ lucide-react/dist/esm/icons/monitor.js:
5881
6029
  (**
5882
- * @license lucide-react v0.298.0 - ISC
6030
+ * @license lucide-react v0.468.0 - ISC
5883
6031
  *
5884
6032
  * This source code is licensed under the ISC license.
5885
6033
  * See the LICENSE file in the root directory of this source tree.
@@ -5887,7 +6035,7 @@ lucide-react/dist/esm/icons/more-vertical.js:
5887
6035
 
5888
6036
  lucide-react/dist/esm/icons/panel-left.js:
5889
6037
  (**
5890
- * @license lucide-react v0.298.0 - ISC
6038
+ * @license lucide-react v0.468.0 - ISC
5891
6039
  *
5892
6040
  * This source code is licensed under the ISC license.
5893
6041
  * See the LICENSE file in the root directory of this source tree.
@@ -5895,7 +6043,7 @@ lucide-react/dist/esm/icons/panel-left.js:
5895
6043
 
5896
6044
  lucide-react/dist/esm/icons/panel-right.js:
5897
6045
  (**
5898
- * @license lucide-react v0.298.0 - ISC
6046
+ * @license lucide-react v0.468.0 - ISC
5899
6047
  *
5900
6048
  * This source code is licensed under the ISC license.
5901
6049
  * See the LICENSE file in the root directory of this source tree.
@@ -5903,7 +6051,7 @@ lucide-react/dist/esm/icons/panel-right.js:
5903
6051
 
5904
6052
  lucide-react/dist/esm/icons/plus.js:
5905
6053
  (**
5906
- * @license lucide-react v0.298.0 - ISC
6054
+ * @license lucide-react v0.468.0 - ISC
5907
6055
  *
5908
6056
  * This source code is licensed under the ISC license.
5909
6057
  * See the LICENSE file in the root directory of this source tree.
@@ -5911,7 +6059,7 @@ lucide-react/dist/esm/icons/plus.js:
5911
6059
 
5912
6060
  lucide-react/dist/esm/icons/redo-2.js:
5913
6061
  (**
5914
- * @license lucide-react v0.298.0 - ISC
6062
+ * @license lucide-react v0.468.0 - ISC
5915
6063
  *
5916
6064
  * This source code is licensed under the ISC license.
5917
6065
  * See the LICENSE file in the root directory of this source tree.
@@ -5919,7 +6067,7 @@ lucide-react/dist/esm/icons/redo-2.js:
5919
6067
 
5920
6068
  lucide-react/dist/esm/icons/search.js:
5921
6069
  (**
5922
- * @license lucide-react v0.298.0 - ISC
6070
+ * @license lucide-react v0.468.0 - ISC
5923
6071
  *
5924
6072
  * This source code is licensed under the ISC license.
5925
6073
  * See the LICENSE file in the root directory of this source tree.
@@ -5927,7 +6075,7 @@ lucide-react/dist/esm/icons/search.js:
5927
6075
 
5928
6076
  lucide-react/dist/esm/icons/sliders-horizontal.js:
5929
6077
  (**
5930
- * @license lucide-react v0.298.0 - ISC
6078
+ * @license lucide-react v0.468.0 - ISC
5931
6079
  *
5932
6080
  * This source code is licensed under the ISC license.
5933
6081
  * See the LICENSE file in the root directory of this source tree.
@@ -5935,7 +6083,7 @@ lucide-react/dist/esm/icons/sliders-horizontal.js:
5935
6083
 
5936
6084
  lucide-react/dist/esm/icons/smartphone.js:
5937
6085
  (**
5938
- * @license lucide-react v0.298.0 - ISC
6086
+ * @license lucide-react v0.468.0 - ISC
5939
6087
  *
5940
6088
  * This source code is licensed under the ISC license.
5941
6089
  * See the LICENSE file in the root directory of this source tree.
@@ -5943,7 +6091,7 @@ lucide-react/dist/esm/icons/smartphone.js:
5943
6091
 
5944
6092
  lucide-react/dist/esm/icons/tablet.js:
5945
6093
  (**
5946
- * @license lucide-react v0.298.0 - ISC
6094
+ * @license lucide-react v0.468.0 - ISC
5947
6095
  *
5948
6096
  * This source code is licensed under the ISC license.
5949
6097
  * See the LICENSE file in the root directory of this source tree.
@@ -5951,7 +6099,7 @@ lucide-react/dist/esm/icons/tablet.js:
5951
6099
 
5952
6100
  lucide-react/dist/esm/icons/trash.js:
5953
6101
  (**
5954
- * @license lucide-react v0.298.0 - ISC
6102
+ * @license lucide-react v0.468.0 - ISC
5955
6103
  *
5956
6104
  * This source code is licensed under the ISC license.
5957
6105
  * See the LICENSE file in the root directory of this source tree.
@@ -5959,7 +6107,7 @@ lucide-react/dist/esm/icons/trash.js:
5959
6107
 
5960
6108
  lucide-react/dist/esm/icons/type.js:
5961
6109
  (**
5962
- * @license lucide-react v0.298.0 - ISC
6110
+ * @license lucide-react v0.468.0 - ISC
5963
6111
  *
5964
6112
  * This source code is licensed under the ISC license.
5965
6113
  * See the LICENSE file in the root directory of this source tree.
@@ -5967,15 +6115,7 @@ lucide-react/dist/esm/icons/type.js:
5967
6115
 
5968
6116
  lucide-react/dist/esm/icons/undo-2.js:
5969
6117
  (**
5970
- * @license lucide-react v0.298.0 - ISC
5971
- *
5972
- * This source code is licensed under the ISC license.
5973
- * See the LICENSE file in the root directory of this source tree.
5974
- *)
5975
-
5976
- lucide-react/dist/esm/icons/unlock.js:
5977
- (**
5978
- * @license lucide-react v0.298.0 - ISC
6118
+ * @license lucide-react v0.468.0 - ISC
5979
6119
  *
5980
6120
  * This source code is licensed under the ISC license.
5981
6121
  * See the LICENSE file in the root directory of this source tree.
@@ -5983,7 +6123,7 @@ lucide-react/dist/esm/icons/unlock.js:
5983
6123
 
5984
6124
  lucide-react/dist/esm/icons/zoom-in.js:
5985
6125
  (**
5986
- * @license lucide-react v0.298.0 - ISC
6126
+ * @license lucide-react v0.468.0 - ISC
5987
6127
  *
5988
6128
  * This source code is licensed under the ISC license.
5989
6129
  * See the LICENSE file in the root directory of this source tree.
@@ -5991,7 +6131,7 @@ lucide-react/dist/esm/icons/zoom-in.js:
5991
6131
 
5992
6132
  lucide-react/dist/esm/icons/zoom-out.js:
5993
6133
  (**
5994
- * @license lucide-react v0.298.0 - ISC
6134
+ * @license lucide-react v0.468.0 - ISC
5995
6135
  *
5996
6136
  * This source code is licensed under the ISC license.
5997
6137
  * See the LICENSE file in the root directory of this source tree.
@@ -5999,7 +6139,7 @@ lucide-react/dist/esm/icons/zoom-out.js:
5999
6139
 
6000
6140
  lucide-react/dist/esm/lucide-react.js:
6001
6141
  (**
6002
- * @license lucide-react v0.298.0 - ISC
6142
+ * @license lucide-react v0.468.0 - ISC
6003
6143
  *
6004
6144
  * This source code is licensed under the ISC license.
6005
6145
  * See the LICENSE file in the root directory of this source tree.