@measured/puck 0.10.0-canary.74cd3a7 → 0.10.0-canary.a7d9a28

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
@@ -327,7 +327,7 @@ var require_react_is_development = __commonJS({
327
327
  var ContextProvider = REACT_PROVIDER_TYPE;
328
328
  var Element = REACT_ELEMENT_TYPE;
329
329
  var ForwardRef = REACT_FORWARD_REF_TYPE;
330
- var Fragment11 = REACT_FRAGMENT_TYPE;
330
+ var Fragment9 = REACT_FRAGMENT_TYPE;
331
331
  var Lazy = REACT_LAZY_TYPE;
332
332
  var Memo = REACT_MEMO_TYPE;
333
333
  var Portal = REACT_PORTAL_TYPE;
@@ -386,7 +386,7 @@ var require_react_is_development = __commonJS({
386
386
  exports.ContextProvider = ContextProvider;
387
387
  exports.Element = Element;
388
388
  exports.ForwardRef = ForwardRef;
389
- exports.Fragment = Fragment11;
389
+ exports.Fragment = Fragment9;
390
390
  exports.Lazy = Lazy;
391
391
  exports.Memo = Memo;
392
392
  exports.Portal = Portal;
@@ -760,7 +760,7 @@ var require_factoryWithTypeCheckers = __commonJS({
760
760
  function validate(props, propName, componentName, location, propFullName) {
761
761
  if (!(props[propName] instanceof expectedClass)) {
762
762
  var expectedClassName = expectedClass.name || ANONYMOUS;
763
- var actualClassName = getClassName18(props[propName]);
763
+ var actualClassName = getClassName11(props[propName]);
764
764
  return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + actualClassName + "` supplied to `" + componentName + "`, expected ") + ("instance of `" + expectedClassName + "`."));
765
765
  }
766
766
  return null;
@@ -1012,7 +1012,7 @@ var require_factoryWithTypeCheckers = __commonJS({
1012
1012
  return type;
1013
1013
  }
1014
1014
  }
1015
- function getClassName18(propValue) {
1015
+ function getClassName11(propValue) {
1016
1016
  if (!propValue.constructor || !propValue.constructor.name) {
1017
1017
  return ANONYMOUS;
1018
1018
  }
@@ -1214,11 +1214,11 @@ var Button = ({
1214
1214
 
1215
1215
  // components/DropZone/index.tsx
1216
1216
  init_react_import();
1217
- var import_react22 = require("react");
1217
+ var import_react21 = require("react");
1218
1218
 
1219
1219
  // components/DraggableComponent/index.tsx
1220
1220
  init_react_import();
1221
- var import_react19 = require("react");
1221
+ var import_react18 = require("react");
1222
1222
  var import_react_beautiful_dnd = require("react-beautiful-dnd");
1223
1223
 
1224
1224
  // css-module:/home/runner/work/puck/puck/packages/core/components/DraggableComponent/styles.module.css#css-module
@@ -2130,7 +2130,7 @@ List.propTypes = {
2130
2130
  List.displayName = "List";
2131
2131
  var list_default = List;
2132
2132
 
2133
- // ../../node_modules/react-feather/dist/icons/plus.js
2133
+ // ../../node_modules/react-feather/dist/icons/sidebar.js
2134
2134
  init_react_import();
2135
2135
  var import_react14 = __toESM(require("react"));
2136
2136
  var import_prop_types12 = __toESM(require_prop_types());
@@ -2180,7 +2180,7 @@ function _objectWithoutPropertiesLoose12(source, excluded) {
2180
2180
  }
2181
2181
  return target;
2182
2182
  }
2183
- var Plus = (0, import_react14.forwardRef)(function(_ref, ref) {
2183
+ var Sidebar = (0, import_react14.forwardRef)(function(_ref, ref) {
2184
2184
  var _ref$color = _ref.color, color = _ref$color === void 0 ? "currentColor" : _ref$color, _ref$size = _ref.size, size = _ref$size === void 0 ? 24 : _ref$size, rest = _objectWithoutProperties12(_ref, ["color", "size"]);
2185
2185
  return /* @__PURE__ */ import_react14.default.createElement("svg", _extends12({
2186
2186
  ref,
@@ -2193,26 +2193,28 @@ var Plus = (0, import_react14.forwardRef)(function(_ref, ref) {
2193
2193
  strokeWidth: "2",
2194
2194
  strokeLinecap: "round",
2195
2195
  strokeLinejoin: "round"
2196
- }, rest), /* @__PURE__ */ import_react14.default.createElement("line", {
2197
- x1: "12",
2198
- y1: "5",
2199
- x2: "12",
2200
- y2: "19"
2196
+ }, rest), /* @__PURE__ */ import_react14.default.createElement("rect", {
2197
+ x: "3",
2198
+ y: "3",
2199
+ width: "18",
2200
+ height: "18",
2201
+ rx: "2",
2202
+ ry: "2"
2201
2203
  }), /* @__PURE__ */ import_react14.default.createElement("line", {
2202
- x1: "5",
2203
- y1: "12",
2204
- x2: "19",
2205
- y2: "12"
2204
+ x1: "9",
2205
+ y1: "3",
2206
+ x2: "9",
2207
+ y2: "21"
2206
2208
  }));
2207
2209
  });
2208
- Plus.propTypes = {
2210
+ Sidebar.propTypes = {
2209
2211
  color: import_prop_types12.default.string,
2210
2212
  size: import_prop_types12.default.oneOfType([import_prop_types12.default.string, import_prop_types12.default.number])
2211
2213
  };
2212
- Plus.displayName = "Plus";
2213
- var plus_default = Plus;
2214
+ Sidebar.displayName = "Sidebar";
2215
+ var sidebar_default = Sidebar;
2214
2216
 
2215
- // ../../node_modules/react-feather/dist/icons/sidebar.js
2217
+ // ../../node_modules/react-feather/dist/icons/trash.js
2216
2218
  init_react_import();
2217
2219
  var import_react15 = __toESM(require("react"));
2218
2220
  var import_prop_types13 = __toESM(require_prop_types());
@@ -2262,7 +2264,7 @@ function _objectWithoutPropertiesLoose13(source, excluded) {
2262
2264
  }
2263
2265
  return target;
2264
2266
  }
2265
- var Sidebar = (0, import_react15.forwardRef)(function(_ref, ref) {
2267
+ var Trash = (0, import_react15.forwardRef)(function(_ref, ref) {
2266
2268
  var _ref$color = _ref.color, color = _ref$color === void 0 ? "currentColor" : _ref$color, _ref$size = _ref.size, size = _ref$size === void 0 ? 24 : _ref$size, rest = _objectWithoutProperties13(_ref, ["color", "size"]);
2267
2269
  return /* @__PURE__ */ import_react15.default.createElement("svg", _extends13({
2268
2270
  ref,
@@ -2275,28 +2277,20 @@ var Sidebar = (0, import_react15.forwardRef)(function(_ref, ref) {
2275
2277
  strokeWidth: "2",
2276
2278
  strokeLinecap: "round",
2277
2279
  strokeLinejoin: "round"
2278
- }, rest), /* @__PURE__ */ import_react15.default.createElement("rect", {
2279
- x: "3",
2280
- y: "3",
2281
- width: "18",
2282
- height: "18",
2283
- rx: "2",
2284
- ry: "2"
2285
- }), /* @__PURE__ */ import_react15.default.createElement("line", {
2286
- x1: "9",
2287
- y1: "3",
2288
- x2: "9",
2289
- y2: "21"
2280
+ }, rest), /* @__PURE__ */ import_react15.default.createElement("polyline", {
2281
+ points: "3 6 5 6 21 6"
2282
+ }), /* @__PURE__ */ import_react15.default.createElement("path", {
2283
+ d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"
2290
2284
  }));
2291
2285
  });
2292
- Sidebar.propTypes = {
2286
+ Trash.propTypes = {
2293
2287
  color: import_prop_types13.default.string,
2294
2288
  size: import_prop_types13.default.oneOfType([import_prop_types13.default.string, import_prop_types13.default.number])
2295
2289
  };
2296
- Sidebar.displayName = "Sidebar";
2297
- var sidebar_default = Sidebar;
2290
+ Trash.displayName = "Trash";
2291
+ var trash_default = Trash;
2298
2292
 
2299
- // ../../node_modules/react-feather/dist/icons/trash.js
2293
+ // ../../node_modules/react-feather/dist/icons/type.js
2300
2294
  init_react_import();
2301
2295
  var import_react16 = __toESM(require("react"));
2302
2296
  var import_prop_types14 = __toESM(require_prop_types());
@@ -2346,7 +2340,7 @@ function _objectWithoutPropertiesLoose14(source, excluded) {
2346
2340
  }
2347
2341
  return target;
2348
2342
  }
2349
- var Trash = (0, import_react16.forwardRef)(function(_ref, ref) {
2343
+ var Type = (0, import_react16.forwardRef)(function(_ref, ref) {
2350
2344
  var _ref$color = _ref.color, color = _ref$color === void 0 ? "currentColor" : _ref$color, _ref$size = _ref.size, size = _ref$size === void 0 ? 24 : _ref$size, rest = _objectWithoutProperties14(_ref, ["color", "size"]);
2351
2345
  return /* @__PURE__ */ import_react16.default.createElement("svg", _extends14({
2352
2346
  ref,
@@ -2360,89 +2354,13 @@ var Trash = (0, import_react16.forwardRef)(function(_ref, ref) {
2360
2354
  strokeLinecap: "round",
2361
2355
  strokeLinejoin: "round"
2362
2356
  }, rest), /* @__PURE__ */ import_react16.default.createElement("polyline", {
2363
- points: "3 6 5 6 21 6"
2364
- }), /* @__PURE__ */ import_react16.default.createElement("path", {
2365
- d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"
2366
- }));
2367
- });
2368
- Trash.propTypes = {
2369
- color: import_prop_types14.default.string,
2370
- size: import_prop_types14.default.oneOfType([import_prop_types14.default.string, import_prop_types14.default.number])
2371
- };
2372
- Trash.displayName = "Trash";
2373
- var trash_default = Trash;
2374
-
2375
- // ../../node_modules/react-feather/dist/icons/type.js
2376
- init_react_import();
2377
- var import_react17 = __toESM(require("react"));
2378
- var import_prop_types15 = __toESM(require_prop_types());
2379
- function _extends15() {
2380
- _extends15 = Object.assign || function(target) {
2381
- for (var i = 1; i < arguments.length; i++) {
2382
- var source = arguments[i];
2383
- for (var key in source) {
2384
- if (Object.prototype.hasOwnProperty.call(source, key)) {
2385
- target[key] = source[key];
2386
- }
2387
- }
2388
- }
2389
- return target;
2390
- };
2391
- return _extends15.apply(this, arguments);
2392
- }
2393
- function _objectWithoutProperties15(source, excluded) {
2394
- if (source == null)
2395
- return {};
2396
- var target = _objectWithoutPropertiesLoose15(source, excluded);
2397
- var key, i;
2398
- if (Object.getOwnPropertySymbols) {
2399
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
2400
- for (i = 0; i < sourceSymbolKeys.length; i++) {
2401
- key = sourceSymbolKeys[i];
2402
- if (excluded.indexOf(key) >= 0)
2403
- continue;
2404
- if (!Object.prototype.propertyIsEnumerable.call(source, key))
2405
- continue;
2406
- target[key] = source[key];
2407
- }
2408
- }
2409
- return target;
2410
- }
2411
- function _objectWithoutPropertiesLoose15(source, excluded) {
2412
- if (source == null)
2413
- return {};
2414
- var target = {};
2415
- var sourceKeys = Object.keys(source);
2416
- var key, i;
2417
- for (i = 0; i < sourceKeys.length; i++) {
2418
- key = sourceKeys[i];
2419
- if (excluded.indexOf(key) >= 0)
2420
- continue;
2421
- target[key] = source[key];
2422
- }
2423
- return target;
2424
- }
2425
- var Type = (0, import_react17.forwardRef)(function(_ref, ref) {
2426
- var _ref$color = _ref.color, color = _ref$color === void 0 ? "currentColor" : _ref$color, _ref$size = _ref.size, size = _ref$size === void 0 ? 24 : _ref$size, rest = _objectWithoutProperties15(_ref, ["color", "size"]);
2427
- return /* @__PURE__ */ import_react17.default.createElement("svg", _extends15({
2428
- ref,
2429
- xmlns: "http://www.w3.org/2000/svg",
2430
- width: size,
2431
- height: size,
2432
- viewBox: "0 0 24 24",
2433
- fill: "none",
2434
- stroke: color,
2435
- strokeWidth: "2",
2436
- strokeLinecap: "round",
2437
- strokeLinejoin: "round"
2438
- }, rest), /* @__PURE__ */ import_react17.default.createElement("polyline", {
2439
2357
  points: "4 7 4 4 20 4 20 7"
2440
- }), /* @__PURE__ */ import_react17.default.createElement("line", {
2358
+ }), /* @__PURE__ */ import_react16.default.createElement("line", {
2441
2359
  x1: "9",
2442
2360
  y1: "20",
2443
2361
  x2: "15",
2444
2362
  y2: "20"
2445
- }), /* @__PURE__ */ import_react17.default.createElement("line", {
2363
+ }), /* @__PURE__ */ import_react16.default.createElement("line", {
2446
2364
  x1: "12",
2447
2365
  y1: "4",
2448
2366
  x2: "12",
@@ -2450,18 +2368,18 @@ var Type = (0, import_react17.forwardRef)(function(_ref, ref) {
2450
2368
  }));
2451
2369
  });
2452
2370
  Type.propTypes = {
2453
- color: import_prop_types15.default.string,
2454
- size: import_prop_types15.default.oneOfType([import_prop_types15.default.string, import_prop_types15.default.number])
2371
+ color: import_prop_types14.default.string,
2372
+ size: import_prop_types14.default.oneOfType([import_prop_types14.default.string, import_prop_types14.default.number])
2455
2373
  };
2456
2374
  Type.displayName = "Type";
2457
2375
  var type_default = Type;
2458
2376
 
2459
2377
  // lib/use-modifier-held.ts
2460
2378
  init_react_import();
2461
- var import_react18 = require("react");
2379
+ var import_react17 = require("react");
2462
2380
  var useModifierHeld = (modifier) => {
2463
- const [modifierHeld, setModifierHeld] = (0, import_react18.useState)(false);
2464
- (0, import_react18.useEffect)(() => {
2381
+ const [modifierHeld, setModifierHeld] = (0, import_react17.useState)(false);
2382
+ (0, import_react17.useEffect)(() => {
2465
2383
  function downHandler({ key }) {
2466
2384
  if (key === modifier) {
2467
2385
  setModifierHeld(true);
@@ -2505,7 +2423,7 @@ var DraggableComponent = ({
2505
2423
  style
2506
2424
  }) => {
2507
2425
  const isModifierHeld = useModifierHeld("Alt");
2508
- (0, import_react19.useEffect)(onMount, []);
2426
+ (0, import_react18.useEffect)(onMount, []);
2509
2427
  return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
2510
2428
  import_react_beautiful_dnd.Draggable,
2511
2429
  {
@@ -2549,13 +2467,13 @@ var DraggableComponent = ({
2549
2467
 
2550
2468
  // components/DroppableStrictMode/index.tsx
2551
2469
  init_react_import();
2552
- var import_react20 = require("react");
2470
+ var import_react19 = require("react");
2553
2471
  var import_react_beautiful_dnd2 = require("react-beautiful-dnd");
2554
2472
  var import_jsx_runtime3 = require("react/jsx-runtime");
2555
2473
  var DroppableStrictMode = (_a) => {
2556
2474
  var _b = _a, { children } = _b, props = __objRest(_b, ["children"]);
2557
- const [enabled, setEnabled] = (0, import_react20.useState)(false);
2558
- (0, import_react20.useEffect)(() => {
2475
+ const [enabled, setEnabled] = (0, import_react19.useState)(false);
2476
+ (0, import_react19.useEffect)(() => {
2559
2477
  const animation = requestAnimationFrame(() => setEnabled(true));
2560
2478
  return () => {
2561
2479
  cancelAnimationFrame(animation);
@@ -2634,7 +2552,7 @@ var styles_module_default2 = { "DropZone": "_DropZone_ou0z5_1", "DropZone-conten
2634
2552
 
2635
2553
  // components/DropZone/context.tsx
2636
2554
  init_react_import();
2637
- var import_react21 = require("react");
2555
+ var import_react20 = require("react");
2638
2556
  var import_use_debounce = require("use-debounce");
2639
2557
 
2640
2558
  // lib/get-zone-id.ts
@@ -2651,29 +2569,29 @@ var getZoneId = (zoneCompound) => {
2651
2569
 
2652
2570
  // components/DropZone/context.tsx
2653
2571
  var import_jsx_runtime4 = require("react/jsx-runtime");
2654
- var dropZoneContext = (0, import_react21.createContext)(null);
2572
+ var dropZoneContext = (0, import_react20.createContext)(null);
2655
2573
  var DropZoneProvider = ({
2656
2574
  children,
2657
2575
  value
2658
2576
  }) => {
2659
- const [hoveringArea, setHoveringArea] = (0, import_react21.useState)(null);
2660
- const [hoveringZone, setHoveringZone] = (0, import_react21.useState)(
2577
+ const [hoveringArea, setHoveringArea] = (0, import_react20.useState)(null);
2578
+ const [hoveringZone, setHoveringZone] = (0, import_react20.useState)(
2661
2579
  rootDroppableId
2662
2580
  );
2663
- const [hoveringComponent, setHoveringComponent] = (0, import_react21.useState)();
2581
+ const [hoveringComponent, setHoveringComponent] = (0, import_react20.useState)();
2664
2582
  const [hoveringAreaDb] = (0, import_use_debounce.useDebounce)(hoveringArea, 75, { leading: false });
2665
- const [areasWithZones, setAreasWithZones] = (0, import_react21.useState)(
2583
+ const [areasWithZones, setAreasWithZones] = (0, import_react20.useState)(
2666
2584
  {}
2667
2585
  );
2668
- const [activeZones, setActiveZones] = (0, import_react21.useState)({});
2586
+ const [activeZones, setActiveZones] = (0, import_react20.useState)({});
2669
2587
  const { dispatch = null } = value ? value : {};
2670
- const registerZoneArea = (0, import_react21.useCallback)(
2588
+ const registerZoneArea = (0, import_react20.useCallback)(
2671
2589
  (area) => {
2672
2590
  setAreasWithZones((latest) => __spreadProps(__spreadValues({}, latest), { [area]: true }));
2673
2591
  },
2674
2592
  [setAreasWithZones]
2675
2593
  );
2676
- const registerZone = (0, import_react21.useCallback)(
2594
+ const registerZone = (0, import_react20.useCallback)(
2677
2595
  (zoneCompound) => {
2678
2596
  if (!dispatch) {
2679
2597
  return;
@@ -2686,7 +2604,7 @@ var DropZoneProvider = ({
2686
2604
  },
2687
2605
  [setActiveZones, dispatch]
2688
2606
  );
2689
- const unregisterZone = (0, import_react21.useCallback)(
2607
+ const unregisterZone = (0, import_react20.useCallback)(
2690
2608
  (zoneCompound) => {
2691
2609
  if (!dispatch) {
2692
2610
  return;
@@ -2701,8 +2619,8 @@ var DropZoneProvider = ({
2701
2619
  },
2702
2620
  [setActiveZones, dispatch]
2703
2621
  );
2704
- const [pathData, setPathData] = (0, import_react21.useState)();
2705
- const registerPath = (0, import_react21.useCallback)(
2622
+ const [pathData, setPathData] = (0, import_react20.useState)();
2623
+ const registerPath = (0, import_react20.useCallback)(
2706
2624
  (selector) => {
2707
2625
  if (!(value == null ? void 0 : value.data)) {
2708
2626
  return;
@@ -2755,7 +2673,7 @@ var import_jsx_runtime5 = require("react/jsx-runtime");
2755
2673
  var getClassName3 = get_class_name_factory_default("DropZone", styles_module_default2);
2756
2674
  function DropZoneEdit({ zone, style }) {
2757
2675
  var _a;
2758
- const ctx = (0, import_react22.useContext)(dropZoneContext);
2676
+ const ctx = (0, import_react21.useContext)(dropZoneContext);
2759
2677
  const {
2760
2678
  // These all need setting via context
2761
2679
  data,
@@ -2772,12 +2690,12 @@ function DropZoneEdit({ zone, style }) {
2772
2690
  } = ctx || {};
2773
2691
  let content = data.content || [];
2774
2692
  let zoneCompound = rootDroppableId;
2775
- (0, import_react22.useEffect)(() => {
2693
+ (0, import_react21.useEffect)(() => {
2776
2694
  if (areaId && registerZoneArea) {
2777
2695
  registerZoneArea(areaId);
2778
2696
  }
2779
2697
  }, [areaId]);
2780
- (0, import_react22.useEffect)(() => {
2698
+ (0, import_react21.useEffect)(() => {
2781
2699
  if (ctx == null ? void 0 : ctx.registerZone) {
2782
2700
  ctx == null ? void 0 : ctx.registerZone(zoneCompound);
2783
2701
  }
@@ -2989,7 +2907,7 @@ function DropZoneEdit({ zone, style }) {
2989
2907
  );
2990
2908
  }
2991
2909
  function DropZoneRender({ zone }) {
2992
- const ctx = (0, import_react22.useContext)(dropZoneContext);
2910
+ const ctx = (0, import_react21.useContext)(dropZoneContext);
2993
2911
  const { data, areaId = "root", config } = ctx || {};
2994
2912
  let zoneCompound = rootDroppableId;
2995
2913
  let content = (data == null ? void 0 : data.content) || [];
@@ -3016,7 +2934,7 @@ function DropZoneRender({ zone }) {
3016
2934
  }) });
3017
2935
  }
3018
2936
  function DropZone(props) {
3019
- const ctx = (0, import_react22.useContext)(dropZoneContext);
2937
+ const ctx = (0, import_react21.useContext)(dropZoneContext);
3020
2938
  if ((ctx == null ? void 0 : ctx.mode) === "edit") {
3021
2939
  return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(DropZoneEdit, __spreadValues({}, props));
3022
2940
  }
@@ -3028,7 +2946,7 @@ init_react_import();
3028
2946
 
3029
2947
  // components/IconButton/IconButton.tsx
3030
2948
  init_react_import();
3031
- var import_react23 = require("react");
2949
+ var import_react22 = require("react");
3032
2950
 
3033
2951
  // css-module:/home/runner/work/puck/puck/packages/core/components/IconButton/IconButton.module.css#css-module
3034
2952
  init_react_import();
@@ -3050,7 +2968,7 @@ var IconButton = ({
3050
2968
  fullWidth,
3051
2969
  title
3052
2970
  }) => {
3053
- const [loading, setLoading] = (0, import_react23.useState)(false);
2971
+ const [loading, setLoading] = (0, import_react22.useState)(false);
3054
2972
  const ElementType = href ? "a" : "button";
3055
2973
  const el = /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
3056
2974
  ElementType,
@@ -3090,370 +3008,38 @@ var IconButton = ({
3090
3008
 
3091
3009
  // components/Puck/index.tsx
3092
3010
  init_react_import();
3093
- var import_react31 = require("react");
3094
- var import_react_beautiful_dnd5 = require("react-beautiful-dnd");
3095
-
3096
- // components/InputOrGroup/index.tsx
3097
- init_react_import();
3098
-
3099
- // css-module:/home/runner/work/puck/puck/packages/core/components/InputOrGroup/styles.module.css#css-module
3100
- init_react_import();
3101
- var styles_module_default3 = { "Input": "_Input_nkpu6_1", "Input-label": "_Input-label_nkpu6_27", "Input-labelIcon": "_Input-labelIcon_nkpu6_34", "Input-input": "_Input-input_nkpu6_39", "Input--readOnly": "_Input--readOnly_nkpu6_60", "Input-radioGroupItems": "_Input-radioGroupItems_nkpu6_69", "Input-radio": "_Input-radio_nkpu6_69", "Input-radioInner": "_Input-radioInner_nkpu6_86", "Input-radioInput": "_Input-radioInput_nkpu6_98" };
3102
-
3103
- // components/InputOrGroup/fields/index.tsx
3104
- init_react_import();
3105
-
3106
- // components/InputOrGroup/fields/ArrayField/index.tsx
3107
- init_react_import();
3108
-
3109
- // css-module:/home/runner/work/puck/puck/packages/core/components/InputOrGroup/fields/ArrayField/styles.module.css#css-module
3110
- init_react_import();
3111
- var styles_module_default4 = { "ArrayField": "_ArrayField_zp334_5", "ArrayField--isDraggingFrom": "_ArrayField--isDraggingFrom_zp334_13", "ArrayField-addButton": "_ArrayField-addButton_zp334_17", "ArrayField--hasItems": "_ArrayField--hasItems_zp334_31", "ArrayFieldItem": "_ArrayFieldItem_zp334_45", "ArrayFieldItem--isDragging": "_ArrayFieldItem--isDragging_zp334_53", "ArrayFieldItem--isExpanded": "_ArrayFieldItem--isExpanded_zp334_58", "ArrayFieldItem-summary": "_ArrayFieldItem-summary_zp334_72", "ArrayFieldItem-body": "_ArrayFieldItem-body_zp334_104", "ArrayFieldItem-fieldset": "_ArrayFieldItem-fieldset_zp334_112", "ArrayFieldItem-rhs": "_ArrayFieldItem-rhs_zp334_119", "ArrayFieldItem-actions": "_ArrayFieldItem-actions_zp334_125", "ArrayFieldItem-action": "_ArrayFieldItem-action_zp334_125" };
3112
-
3113
- // components/InputOrGroup/fields/ArrayField/index.tsx
3011
+ var import_react28 = require("react");
3114
3012
  var import_react_beautiful_dnd4 = require("react-beautiful-dnd");
3115
3013
 
3116
- // components/Draggable/index.tsx
3117
- init_react_import();
3118
- var import_react_beautiful_dnd3 = require("react-beautiful-dnd");
3119
- var import_jsx_runtime7 = require("react/jsx-runtime");
3120
- var Draggable2 = ({
3121
- className,
3122
- children,
3123
- id,
3124
- index,
3125
- showShadow,
3126
- disableAnimations = false
3127
- }) => {
3128
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_beautiful_dnd3.Draggable, { draggableId: id, index, children: (provided, snapshot) => {
3129
- var _a;
3130
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment, { children: [
3131
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
3132
- "div",
3133
- __spreadProps(__spreadValues(__spreadValues({
3134
- className: className && className(provided, snapshot),
3135
- ref: provided.innerRef
3136
- }, provided.draggableProps), provided.dragHandleProps), {
3137
- style: __spreadProps(__spreadValues({}, provided.draggableProps.style), {
3138
- transform: snapshot.isDragging || !disableAnimations ? (_a = provided.draggableProps.style) == null ? void 0 : _a.transform : "translate(0px, 0px)"
3139
- }),
3140
- children: children(provided, snapshot)
3141
- })
3142
- ),
3143
- showShadow && snapshot.isDragging && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
3144
- "div",
3145
- {
3146
- className: className && className(provided, snapshot),
3147
- style: { transform: "none !important" },
3148
- children: children(provided, snapshot)
3149
- }
3150
- )
3151
- ] });
3152
- } });
3153
- };
3154
-
3155
- // lib/generate-id.ts
3156
- init_react_import();
3157
- var import_crypto = require("crypto");
3158
- var generateId = (type) => `${type}-${(0, import_crypto.randomBytes)(20).toString("hex")}`;
3159
-
3160
- // components/InputOrGroup/fields/ArrayField/index.tsx
3161
- var import_react25 = require("react");
3162
-
3163
- // components/DragIcon/index.tsx
3164
- init_react_import();
3165
-
3166
- // css-module:/home/runner/work/puck/puck/packages/core/components/DragIcon/styles.module.css#css-module
3167
- init_react_import();
3168
- var styles_module_default5 = { "DragIcon": "_DragIcon_o29on_1" };
3169
-
3170
- // components/DragIcon/index.tsx
3171
- var import_jsx_runtime8 = require("react/jsx-runtime");
3172
- var getClassName5 = get_class_name_factory_default("DragIcon", styles_module_default5);
3173
- var DragIcon = () => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: getClassName5(), children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("svg", { viewBox: "0 0 20 20", width: "12", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("path", { d: "M7 2a2 2 0 1 0 .001 4.001A2 2 0 0 0 7 2zm0 6a2 2 0 1 0 .001 4.001A2 2 0 0 0 7 8zm0 6a2 2 0 1 0 .001 4.001A2 2 0 0 0 7 14zm6-8a2 2 0 1 0-.001-4.001A2 2 0 0 0 13 6zm0 2a2 2 0 1 0 .001 4.001A2 2 0 0 0 13 8zm0 6a2 2 0 1 0 .001 4.001A2 2 0 0 0 13 14z" }) }) });
3174
-
3175
- // components/Puck/context.tsx
3176
- init_react_import();
3177
- var import_react24 = require("react");
3178
- var defaultAppData = {
3179
- data: { content: [], root: { title: "" } },
3180
- state: {
3181
- leftSideBarVisible: true,
3182
- arrayState: {}
3183
- }
3184
- };
3185
- var appContext = (0, import_react24.createContext)({
3186
- appData: defaultAppData,
3187
- dispatch: () => null
3188
- });
3189
- var AppProvider = appContext.Provider;
3190
- var useAppContext = () => {
3191
- const mainContext = (0, import_react24.useContext)(appContext);
3192
- return __spreadProps(__spreadValues({}, mainContext), {
3193
- // Helper
3194
- setState: (state, recordHistory) => {
3195
- return mainContext.dispatch({
3196
- type: "setState",
3197
- state,
3198
- recordHistory
3199
- });
3200
- }
3201
- });
3202
- };
3203
-
3204
- // components/InputOrGroup/fields/ArrayField/index.tsx
3205
- var import_jsx_runtime9 = require("react/jsx-runtime");
3206
- var getClassNameInput = get_class_name_factory_default("Input", styles_module_default3);
3207
- var getClassName6 = get_class_name_factory_default("ArrayField", styles_module_default4);
3208
- var getClassNameItem = get_class_name_factory_default("ArrayFieldItem", styles_module_default4);
3209
- var ArrayField = ({
3210
- field,
3211
- onChange,
3212
- value,
3213
- name,
3214
- label
3215
- }) => {
3216
- const [arrayFieldId] = (0, import_react25.useState)(generateId("ArrayField"));
3217
- const { appData, setState } = useAppContext();
3218
- const arrayState = appData.state.arrayState[arrayFieldId] || {
3219
- items: Array.from(value).map((v) => ({
3220
- _arrayId: generateId("ArrayItem"),
3221
- data: v
3222
- })),
3223
- openId: ""
3224
- };
3225
- const setArrayState = (0, import_react25.useCallback)(
3226
- (newArrayState, recordHistory = false) => {
3227
- setState(
3228
- {
3229
- arrayState: __spreadProps(__spreadValues({}, appData.state.arrayState), {
3230
- [arrayFieldId]: __spreadValues(__spreadValues({}, arrayState), newArrayState)
3231
- })
3232
- },
3233
- recordHistory
3234
- );
3235
- },
3236
- [arrayState]
3237
- );
3238
- (0, import_react25.useEffect)(() => {
3239
- const newItems = Array.from(value).map((item, idx) => {
3240
- var _a;
3241
- return {
3242
- _arrayId: ((_a = arrayState.items[idx]) == null ? void 0 : _a._arrayId) || generateId("ArrayItem"),
3243
- data: item
3244
- };
3245
- });
3246
- setArrayState({ items: newItems });
3247
- }, [value]);
3248
- if (!field.arrayFields) {
3249
- return null;
3250
- }
3251
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: getClassNameInput(), children: [
3252
- /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("b", { className: getClassNameInput("label"), children: [
3253
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: getClassNameInput("labelIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(list_default, { size: 16 }) }),
3254
- label || name
3255
- ] }),
3256
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
3257
- import_react_beautiful_dnd4.DragDropContext,
3258
- {
3259
- onDragEnd: (event) => {
3260
- var _a;
3261
- if (event.destination) {
3262
- const newValue = reorder(
3263
- arrayState.items,
3264
- event.source.index,
3265
- (_a = event.destination) == null ? void 0 : _a.index
3266
- );
3267
- setArrayState(__spreadProps(__spreadValues({}, arrayState), { items: newValue }), false);
3268
- onChange(newValue.map(({ data }) => data));
3269
- }
3270
- },
3271
- children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(DroppableStrictMode_default, { droppableId: "array", children: (provided, snapshot) => {
3272
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
3273
- "div",
3274
- __spreadProps(__spreadValues({}, provided.droppableProps), {
3275
- ref: provided.innerRef,
3276
- className: getClassName6({
3277
- isDraggingFrom: !!snapshot.draggingFromThisWith,
3278
- hasItems: value.length > 0
3279
- }),
3280
- children: [
3281
- Array.isArray(value) && value.length > 0 ? arrayState.items.map(({ _arrayId, data }, i) => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
3282
- Draggable2,
3283
- {
3284
- id: _arrayId,
3285
- index: i,
3286
- className: (_, snapshot2) => getClassNameItem({
3287
- isExpanded: arrayState.openId === _arrayId,
3288
- isDragging: snapshot2.isDragging
3289
- }),
3290
- children: () => /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_jsx_runtime9.Fragment, { children: [
3291
- /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
3292
- "div",
3293
- {
3294
- onClick: () => {
3295
- if (arrayState.openId === _arrayId) {
3296
- setArrayState({
3297
- openId: ""
3298
- });
3299
- } else {
3300
- setArrayState({
3301
- openId: _arrayId
3302
- });
3303
- }
3304
- },
3305
- className: getClassNameItem("summary"),
3306
- children: [
3307
- field.getItemSummary ? field.getItemSummary(data, i) : `Item #${i}`,
3308
- /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: getClassNameItem("rhs"), children: [
3309
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: getClassNameItem("actions"), children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: getClassNameItem("action"), children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
3310
- IconButton,
3311
- {
3312
- onClick: () => {
3313
- const existingValue = [
3314
- ...value || []
3315
- ];
3316
- const existingItems = [
3317
- ...arrayState.items || []
3318
- ];
3319
- existingValue.splice(i, 1);
3320
- existingItems.splice(i, 1);
3321
- setArrayState(
3322
- { items: existingItems },
3323
- true
3324
- );
3325
- onChange(existingValue);
3326
- },
3327
- title: "Delete",
3328
- children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(trash_default, { size: 16 })
3329
- }
3330
- ) }) }),
3331
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(DragIcon, {}) })
3332
- ] })
3333
- ]
3334
- }
3335
- ),
3336
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: getClassNameItem("body"), children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
3337
- "fieldset",
3338
- {
3339
- className: getClassNameItem("fieldset"),
3340
- children: Object.keys(field.arrayFields).map(
3341
- (fieldName) => {
3342
- const subField = field.arrayFields[fieldName];
3343
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
3344
- InputOrGroup,
3345
- {
3346
- name: `${name}_${i}_${fieldName}`,
3347
- label: subField.label || fieldName,
3348
- field: subField,
3349
- value: data[fieldName],
3350
- onChange: (val) => onChange(
3351
- replace(value, i, __spreadProps(__spreadValues({}, data), {
3352
- [fieldName]: val
3353
- }))
3354
- )
3355
- },
3356
- `${name}_${i}_${fieldName}`
3357
- );
3358
- }
3359
- )
3360
- }
3361
- ) })
3362
- ] })
3363
- },
3364
- _arrayId
3365
- )) : null,
3366
- provided.placeholder,
3367
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
3368
- "button",
3369
- {
3370
- className: getClassName6("addButton"),
3371
- onClick: () => {
3372
- const existingValue = value || [];
3373
- onChange([...existingValue, field.defaultItemProps || {}]);
3374
- },
3375
- children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(plus_default, { size: "21" })
3376
- }
3377
- )
3378
- ]
3379
- })
3380
- );
3381
- } })
3382
- }
3383
- )
3384
- ] });
3385
- };
3386
-
3387
- // components/InputOrGroup/fields/DefaultField/index.tsx
3388
- init_react_import();
3389
- var import_jsx_runtime10 = require("react/jsx-runtime");
3390
- var getClassName7 = get_class_name_factory_default("Input", styles_module_default3);
3391
- var DefaultField = ({
3392
- field,
3393
- onChange,
3394
- readOnly,
3395
- value,
3396
- name,
3397
- label
3398
- }) => {
3399
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("label", { className: getClassName7({ readOnly }), children: [
3400
- /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: getClassName7("label"), children: [
3401
- /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: getClassName7("labelIcon"), children: [
3402
- field.type === "text" && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(type_default, { size: 16 }),
3403
- field.type === "number" && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(hash_default, { size: 16 })
3404
- ] }),
3405
- label || name
3406
- ] }),
3407
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
3408
- "input",
3409
- {
3410
- className: getClassName7("input"),
3411
- autoComplete: "off",
3412
- type: field.type,
3413
- name,
3414
- value: typeof value === "undefined" ? "" : value,
3415
- onChange: (e) => {
3416
- if (field.type === "number") {
3417
- onChange(Number(e.currentTarget.value));
3418
- } else {
3419
- onChange(e.currentTarget.value);
3420
- }
3421
- },
3422
- readOnly
3423
- }
3424
- )
3425
- ] });
3426
- };
3427
-
3428
- // components/InputOrGroup/fields/ExternalField/index.tsx
3014
+ // components/InputOrGroup/index.tsx
3429
3015
  init_react_import();
3430
3016
 
3431
3017
  // components/ExternalInput/index.tsx
3432
3018
  init_react_import();
3433
- var import_react26 = require("react");
3019
+ var import_react23 = require("react");
3434
3020
 
3435
3021
  // css-module:/home/runner/work/puck/puck/packages/core/components/ExternalInput/styles.module.css#css-module
3436
3022
  init_react_import();
3437
- var styles_module_default6 = { "ExternalInput": "_ExternalInput_l4bks_1", "ExternalInput-actions": "_ExternalInput-actions_l4bks_5", "ExternalInput-button": "_ExternalInput-button_l4bks_9", "ExternalInput-detachButton": "_ExternalInput-detachButton_l4bks_28", "ExternalInput--hasData": "_ExternalInput--hasData_l4bks_35", "ExternalInput-modal": "_ExternalInput-modal_l4bks_55", "ExternalInput--modalVisible": "_ExternalInput--modalVisible_l4bks_69", "ExternalInput-modalInner": "_ExternalInput-modalInner_l4bks_73", "ExternalInput-modalHeading": "_ExternalInput-modalHeading_l4bks_84", "ExternalInput-modalTableWrapper": "_ExternalInput-modalTableWrapper_l4bks_89" };
3023
+ var styles_module_default3 = { "ExternalInput": "_ExternalInput_l4bks_1", "ExternalInput-actions": "_ExternalInput-actions_l4bks_5", "ExternalInput-button": "_ExternalInput-button_l4bks_9", "ExternalInput-detachButton": "_ExternalInput-detachButton_l4bks_28", "ExternalInput--hasData": "_ExternalInput--hasData_l4bks_35", "ExternalInput-modal": "_ExternalInput-modal_l4bks_55", "ExternalInput--modalVisible": "_ExternalInput--modalVisible_l4bks_69", "ExternalInput-modalInner": "_ExternalInput-modalInner_l4bks_73", "ExternalInput-modalHeading": "_ExternalInput-modalHeading_l4bks_84", "ExternalInput-modalTableWrapper": "_ExternalInput-modalTableWrapper_l4bks_89" };
3438
3024
 
3439
3025
  // components/ExternalInput/index.tsx
3440
- var import_jsx_runtime11 = require("react/jsx-runtime");
3441
- var getClassName8 = get_class_name_factory_default("ExternalInput", styles_module_default6);
3026
+ var import_jsx_runtime7 = require("react/jsx-runtime");
3027
+ var getClassName5 = get_class_name_factory_default("ExternalInput", styles_module_default3);
3442
3028
  var ExternalInput = ({
3443
3029
  field,
3444
3030
  onChange,
3445
3031
  value = null
3446
3032
  }) => {
3447
- const [data, setData] = (0, import_react26.useState)([]);
3448
- const [isOpen, setOpen] = (0, import_react26.useState)(false);
3449
- const [selectedData, setSelectedData] = (0, import_react26.useState)(value);
3450
- const keys = (0, import_react26.useMemo)(
3033
+ const [data, setData] = (0, import_react23.useState)([]);
3034
+ const [isOpen, setOpen] = (0, import_react23.useState)(false);
3035
+ const [selectedData, setSelectedData] = (0, import_react23.useState)(value);
3036
+ const keys = (0, import_react23.useMemo)(
3451
3037
  () => Object.keys(data).filter(
3452
3038
  (key) => typeof data[key] === "string" || typeof data[key] === "number"
3453
3039
  ),
3454
3040
  [data]
3455
3041
  );
3456
- (0, import_react26.useEffect)(() => {
3042
+ (0, import_react23.useEffect)(() => {
3457
3043
  (() => __async(void 0, null, function* () {
3458
3044
  if (field.adaptor) {
3459
3045
  const listData = yield field.adaptor.fetchList(field.adaptorParams);
@@ -3464,35 +3050,35 @@ var ExternalInput = ({
3464
3050
  }))();
3465
3051
  }, [field.adaptor, field.adaptorParams]);
3466
3052
  if (!field.adaptor) {
3467
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { children: "Incorrectly configured" });
3053
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { children: "Incorrectly configured" });
3468
3054
  }
3469
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
3055
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
3470
3056
  "div",
3471
3057
  {
3472
- className: getClassName8({
3058
+ className: getClassName5({
3473
3059
  hasData: !!selectedData,
3474
3060
  modalVisible: isOpen
3475
3061
  }),
3476
3062
  children: [
3477
- /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: getClassName8("actions"), children: [
3478
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
3063
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: getClassName5("actions"), children: [
3064
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
3479
3065
  "button",
3480
3066
  {
3481
3067
  onClick: () => setOpen(true),
3482
- className: getClassName8("button"),
3483
- children: selectedData ? field.getItemSummary ? field.getItemSummary(selectedData) : `${field.adaptor.name} item` : /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_jsx_runtime11.Fragment, { children: [
3484
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(link_default, { size: "16" }),
3485
- /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("span", { children: [
3068
+ className: getClassName5("button"),
3069
+ children: selectedData ? field.getItemSummary ? field.getItemSummary(selectedData) : `${field.adaptor.name} item` : /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment, { children: [
3070
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(link_default, { size: "16" }),
3071
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("span", { children: [
3486
3072
  "Select from ",
3487
3073
  field.adaptor.name
3488
3074
  ] })
3489
3075
  ] })
3490
3076
  }
3491
3077
  ),
3492
- selectedData && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
3078
+ selectedData && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
3493
3079
  "button",
3494
3080
  {
3495
- className: getClassName8("detachButton"),
3081
+ className: getClassName5("detachButton"),
3496
3082
  onClick: () => {
3497
3083
  setSelectedData(null);
3498
3084
  onChange(null);
@@ -3501,17 +3087,17 @@ var ExternalInput = ({
3501
3087
  }
3502
3088
  )
3503
3089
  ] }),
3504
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: getClassName8("modal"), onClick: () => setOpen(false), children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
3090
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: getClassName5("modal"), onClick: () => setOpen(false), children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
3505
3091
  "div",
3506
3092
  {
3507
- className: getClassName8("modalInner"),
3093
+ className: getClassName5("modalInner"),
3508
3094
  onClick: (e) => e.stopPropagation(),
3509
3095
  children: [
3510
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("h2", { className: getClassName8("modalHeading"), children: "Select content" }),
3511
- data.length ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: getClassName8("modalTableWrapper"), children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("table", { children: [
3512
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("tr", { children: keys.map((key) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("th", { style: { textAlign: "left" }, children: key }, key)) }) }),
3513
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("tbody", { children: data.map((item, i) => {
3514
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
3096
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("h2", { className: getClassName5("modalHeading"), children: "Select content" }),
3097
+ data.length ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: getClassName5("modalTableWrapper"), children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("table", { children: [
3098
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("tr", { children: keys.map((key) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("th", { style: { textAlign: "left" }, children: key }, key)) }) }),
3099
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("tbody", { children: data.map((item, i) => {
3100
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
3515
3101
  "tr",
3516
3102
  {
3517
3103
  style: { whiteSpace: "nowrap" },
@@ -3520,12 +3106,12 @@ var ExternalInput = ({
3520
3106
  setOpen(false);
3521
3107
  setSelectedData(item);
3522
3108
  },
3523
- children: keys.map((key) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("td", { children: item[key] }, key))
3109
+ children: keys.map((key) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("td", { children: item[key] }, key))
3524
3110
  },
3525
3111
  i
3526
3112
  );
3527
3113
  }) })
3528
- ] }) }) : /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { style: { padding: 24 }, children: "No content" })
3114
+ ] }) }) : /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { style: { padding: 24 }, children: "No content" })
3529
3115
  ]
3530
3116
  }
3531
3117
  ) })
@@ -3534,189 +3120,204 @@ var ExternalInput = ({
3534
3120
  );
3535
3121
  };
3536
3122
 
3537
- // components/InputOrGroup/fields/ExternalField/index.tsx
3538
- var import_jsx_runtime12 = require("react/jsx-runtime");
3539
- var getClassName9 = get_class_name_factory_default("Input", styles_module_default3);
3540
- var ExternalField = ({
3541
- field,
3542
- onChange,
3543
- readOnly,
3544
- value,
3545
- name,
3546
- label
3547
- }) => {
3548
- if (!field.adaptor) {
3549
- return null;
3550
- }
3551
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: getClassName9(""), children: [
3552
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: getClassName9("label"), children: name === "_data" ? "External content" : label || name }),
3553
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ExternalInput, { field, onChange, value })
3554
- ] });
3555
- };
3556
-
3557
- // components/InputOrGroup/fields/RadioField/index.tsx
3558
- init_react_import();
3559
- var import_jsx_runtime13 = require("react/jsx-runtime");
3560
- var getClassName10 = get_class_name_factory_default("Input", styles_module_default3);
3561
- var RadioField = ({
3562
- field,
3563
- onChange,
3564
- readOnly,
3565
- value,
3566
- name
3567
- }) => {
3568
- if (!field.options) {
3569
- return null;
3570
- }
3571
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: getClassName10(), children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: getClassName10("radioGroup"), children: [
3572
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: getClassName10("label"), children: [
3573
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: getClassName10("labelIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(check_circle_default, { size: 16 }) }),
3574
- field.label || name
3575
- ] }),
3576
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: getClassName10("radioGroupItems"), children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
3577
- "label",
3578
- {
3579
- className: getClassName10("radio"),
3580
- children: [
3581
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3582
- "input",
3583
- {
3584
- type: "radio",
3585
- className: getClassName10("radioInput"),
3586
- value: option.value,
3587
- name,
3588
- onChange: (e) => {
3589
- if (e.currentTarget.value === "true" || e.currentTarget.value === "false") {
3590
- onChange(JSON.parse(e.currentTarget.value));
3591
- return;
3592
- }
3593
- onChange(e.currentTarget.value);
3594
- },
3595
- readOnly,
3596
- defaultChecked: value === option.value
3597
- }
3598
- ),
3599
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: getClassName10("radioInner"), children: option.label || option.value })
3600
- ]
3601
- },
3602
- option.label + option.value
3603
- )) })
3604
- ] }) });
3605
- };
3606
-
3607
- // components/InputOrGroup/fields/SelectField/index.tsx
3608
- init_react_import();
3609
- var import_jsx_runtime14 = require("react/jsx-runtime");
3610
- var getClassName11 = get_class_name_factory_default("Input", styles_module_default3);
3611
- var SelectField = ({
3612
- field,
3613
- onChange,
3614
- label,
3615
- value,
3616
- name
3617
- }) => {
3618
- if (!field.options) {
3619
- return null;
3620
- }
3621
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("label", { className: getClassName11(), children: [
3622
- /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: getClassName11("label"), children: [
3623
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: getClassName11("labelIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(chevron_down_default, { size: 16 }) }),
3624
- label || name
3625
- ] }),
3626
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
3627
- "select",
3628
- {
3629
- className: getClassName11("input"),
3630
- onChange: (e) => {
3631
- if (e.currentTarget.value === "true" || e.currentTarget.value === "false") {
3632
- onChange(Boolean(e.currentTarget.value));
3633
- return;
3634
- }
3635
- onChange(e.currentTarget.value);
3636
- },
3637
- value,
3638
- children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
3639
- "option",
3640
- {
3641
- label: option.label,
3642
- value: option.value
3643
- },
3644
- option.label + option.value
3645
- ))
3646
- }
3647
- )
3648
- ] });
3649
- };
3650
-
3651
- // components/InputOrGroup/fields/TextareaField/index.tsx
3123
+ // css-module:/home/runner/work/puck/puck/packages/core/components/InputOrGroup/styles.module.css#css-module
3652
3124
  init_react_import();
3653
- var import_jsx_runtime15 = require("react/jsx-runtime");
3654
- var getClassName12 = get_class_name_factory_default("Input", styles_module_default3);
3655
- var TextareaField = ({
3656
- onChange,
3657
- readOnly,
3658
- value,
3659
- name,
3660
- label
3661
- }) => {
3662
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("label", { className: getClassName12({ readOnly }), children: [
3663
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: getClassName12("label"), children: [
3664
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: getClassName12("labelIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(type_default, { size: 16 }) }),
3665
- label || name
3666
- ] }),
3667
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
3668
- "textarea",
3669
- {
3670
- className: getClassName12("input"),
3671
- autoComplete: "off",
3672
- name,
3673
- value: typeof value === "undefined" ? "" : value,
3674
- onChange: (e) => onChange(e.currentTarget.value),
3675
- readOnly,
3676
- rows: 5
3677
- }
3678
- )
3679
- ] });
3680
- };
3125
+ var styles_module_default4 = { "Input": "_Input_izwhv_1", "Input-label": "_Input-label_izwhv_27", "Input-labelIcon": "_Input-labelIcon_izwhv_34", "Input-input": "_Input-input_izwhv_39", "Input--readOnly": "_Input--readOnly_izwhv_60", "Input-arrayItem": "_Input-arrayItem_izwhv_69", "Input-fieldset": "_Input-fieldset_izwhv_95", "Input-arrayItemAction": "_Input-arrayItemAction_izwhv_116", "Input-addButton": "_Input-addButton_izwhv_135", "Input-array": "_Input-array_izwhv_69", "Input-radioGroupItems": "_Input-radioGroupItems_izwhv_156", "Input-radio": "_Input-radio_izwhv_156", "Input-radioInner": "_Input-radioInner_izwhv_173", "Input-radioInput": "_Input-radioInput_izwhv_185" };
3681
3126
 
3682
3127
  // components/InputOrGroup/index.tsx
3683
- var import_jsx_runtime16 = require("react/jsx-runtime");
3684
- var getClassName13 = get_class_name_factory_default("Input", styles_module_default3);
3128
+ var import_jsx_runtime8 = require("react/jsx-runtime");
3129
+ var getClassName6 = get_class_name_factory_default("Input", styles_module_default4);
3685
3130
  var FieldLabel = ({
3686
3131
  children,
3687
3132
  icon,
3688
3133
  label
3689
3134
  }) => {
3690
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("label", { children: [
3691
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: getClassName13("label"), children: [
3692
- icon ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: getClassName13("labelIcon"), children: icon }) : /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_jsx_runtime16.Fragment, {}),
3135
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { children: [
3136
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: getClassName6("label"), children: [
3137
+ icon ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: getClassName6("labelIcon"), children: icon }) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_jsx_runtime8.Fragment, {}),
3693
3138
  label
3694
3139
  ] }),
3695
3140
  children
3696
3141
  ] });
3697
3142
  };
3698
- var InputOrGroup = (props) => {
3699
- const { name, field, value, onChange, readOnly } = props;
3143
+ var InputOrGroup = ({
3144
+ name,
3145
+ field,
3146
+ value,
3147
+ label,
3148
+ onChange,
3149
+ readOnly
3150
+ }) => {
3700
3151
  if (field.type === "array") {
3701
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(ArrayField, __spreadValues({}, props));
3152
+ if (!field.arrayFields) {
3153
+ return null;
3154
+ }
3155
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: getClassName6(), children: [
3156
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("b", { className: getClassName6("label"), children: [
3157
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: getClassName6("labelIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(list_default, { size: 16 }) }),
3158
+ label || name
3159
+ ] }),
3160
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: getClassName6("array"), children: [
3161
+ Array.isArray(value) ? value.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
3162
+ "details",
3163
+ {
3164
+ className: getClassName6("arrayItem"),
3165
+ children: [
3166
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("summary", { children: [
3167
+ field.getItemSummary ? field.getItemSummary(item, i) : `Item #${i}`,
3168
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: getClassName6("arrayItemAction"), children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
3169
+ IconButton,
3170
+ {
3171
+ onClick: () => {
3172
+ const existingValue = value || [];
3173
+ existingValue.splice(i, 1);
3174
+ onChange(existingValue);
3175
+ },
3176
+ title: "Delete",
3177
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(trash_default, { size: 21 })
3178
+ }
3179
+ ) })
3180
+ ] }),
3181
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("fieldset", { className: getClassName6("fieldset"), children: Object.keys(field.arrayFields).map((fieldName) => {
3182
+ const subField = field.arrayFields[fieldName];
3183
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
3184
+ InputOrGroup,
3185
+ {
3186
+ name: `${name}_${i}_${fieldName}`,
3187
+ label: subField.label || fieldName,
3188
+ field: subField,
3189
+ value: item[fieldName],
3190
+ onChange: (val) => onChange(
3191
+ replace(value, i, __spreadProps(__spreadValues({}, item), { [fieldName]: val }))
3192
+ )
3193
+ },
3194
+ `${name}_${i}_${fieldName}`
3195
+ );
3196
+ }) })
3197
+ ]
3198
+ },
3199
+ `${name}_${i}`
3200
+ )) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", {}),
3201
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
3202
+ "button",
3203
+ {
3204
+ className: getClassName6("addButton"),
3205
+ onClick: () => {
3206
+ const existingValue = value || [];
3207
+ onChange([...existingValue, field.defaultItemProps || {}]);
3208
+ },
3209
+ children: "+ Add item"
3210
+ }
3211
+ )
3212
+ ] })
3213
+ ] });
3702
3214
  }
3703
3215
  if (field.type === "external") {
3704
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(ExternalField, __spreadValues({}, props));
3216
+ if (!field.adaptor) {
3217
+ return null;
3218
+ }
3219
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: getClassName6(""), children: [
3220
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: getClassName6("label"), children: name === "_data" ? "External content" : label || name }),
3221
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ExternalInput, { field, onChange, value })
3222
+ ] });
3705
3223
  }
3706
3224
  if (field.type === "select") {
3707
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(SelectField, __spreadValues({}, props));
3225
+ if (!field.options) {
3226
+ return null;
3227
+ }
3228
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { className: getClassName6(), children: [
3229
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: getClassName6("label"), children: [
3230
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: getClassName6("labelIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(chevron_down_default, { size: 16 }) }),
3231
+ label || name
3232
+ ] }),
3233
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
3234
+ "select",
3235
+ {
3236
+ className: getClassName6("input"),
3237
+ onChange: (e) => {
3238
+ if (e.currentTarget.value === "true" || e.currentTarget.value === "false") {
3239
+ onChange(Boolean(e.currentTarget.value));
3240
+ return;
3241
+ }
3242
+ onChange(e.currentTarget.value);
3243
+ },
3244
+ value,
3245
+ children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
3246
+ "option",
3247
+ {
3248
+ label: option.label,
3249
+ value: option.value
3250
+ },
3251
+ option.label + option.value
3252
+ ))
3253
+ }
3254
+ )
3255
+ ] });
3708
3256
  }
3709
3257
  if (field.type === "textarea") {
3710
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(TextareaField, __spreadValues({}, props));
3258
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { className: getClassName6({ readOnly }), children: [
3259
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: getClassName6("label"), children: [
3260
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: getClassName6("labelIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(type_default, { size: 16 }) }),
3261
+ label || name
3262
+ ] }),
3263
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
3264
+ "textarea",
3265
+ {
3266
+ className: getClassName6("input"),
3267
+ autoComplete: "off",
3268
+ name,
3269
+ value: typeof value === "undefined" ? "" : value,
3270
+ onChange: (e) => onChange(e.currentTarget.value),
3271
+ readOnly,
3272
+ rows: 5
3273
+ }
3274
+ )
3275
+ ] });
3711
3276
  }
3712
3277
  if (field.type === "radio") {
3713
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(RadioField, __spreadValues({}, props));
3278
+ if (!field.options) {
3279
+ return null;
3280
+ }
3281
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: getClassName6(), children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: getClassName6("radioGroup"), children: [
3282
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: getClassName6("label"), children: [
3283
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: getClassName6("labelIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(check_circle_default, { size: 16 }) }),
3284
+ field.label || name
3285
+ ] }),
3286
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: getClassName6("radioGroupItems"), children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
3287
+ "label",
3288
+ {
3289
+ className: getClassName6("radio"),
3290
+ children: [
3291
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
3292
+ "input",
3293
+ {
3294
+ type: "radio",
3295
+ className: getClassName6("radioInput"),
3296
+ value: option.value,
3297
+ name,
3298
+ onChange: (e) => {
3299
+ if (e.currentTarget.value === "true" || e.currentTarget.value === "false") {
3300
+ onChange(JSON.parse(e.currentTarget.value));
3301
+ return;
3302
+ }
3303
+ onChange(e.currentTarget.value);
3304
+ },
3305
+ readOnly,
3306
+ defaultChecked: value === option.value
3307
+ }
3308
+ ),
3309
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: getClassName6("radioInner"), children: option.label || option.value })
3310
+ ]
3311
+ },
3312
+ option.label + option.value
3313
+ )) })
3314
+ ] }) });
3714
3315
  }
3715
3316
  if (field.type === "custom") {
3716
3317
  if (!field.render) {
3717
3318
  return null;
3718
3319
  }
3719
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: getClassName13(), children: field.render({
3320
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: getClassName6(), children: field.render({
3720
3321
  field,
3721
3322
  name,
3722
3323
  value,
@@ -3724,46 +3325,96 @@ var InputOrGroup = (props) => {
3724
3325
  readOnly
3725
3326
  }) });
3726
3327
  }
3727
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(DefaultField, __spreadValues({}, props));
3328
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { className: getClassName6({ readOnly }), children: [
3329
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: getClassName6("label"), children: [
3330
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: getClassName6("labelIcon"), children: [
3331
+ field.type === "text" && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(type_default, { size: 16 }),
3332
+ field.type === "number" && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(hash_default, { size: 16 })
3333
+ ] }),
3334
+ label || name
3335
+ ] }),
3336
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
3337
+ "input",
3338
+ {
3339
+ className: getClassName6("input"),
3340
+ autoComplete: "off",
3341
+ type: field.type,
3342
+ name,
3343
+ value: typeof value === "undefined" ? "" : value,
3344
+ onChange: (e) => {
3345
+ if (field.type === "number") {
3346
+ onChange(Number(e.currentTarget.value));
3347
+ } else {
3348
+ onChange(e.currentTarget.value);
3349
+ }
3350
+ },
3351
+ readOnly
3352
+ }
3353
+ )
3354
+ ] });
3728
3355
  };
3729
3356
 
3730
3357
  // components/ComponentList/index.tsx
3731
3358
  init_react_import();
3359
+ var import_react_beautiful_dnd3 = require("react-beautiful-dnd");
3732
3360
 
3733
3361
  // css-module:/home/runner/work/puck/puck/packages/core/components/ComponentList/styles.module.css#css-module
3734
3362
  init_react_import();
3735
- var styles_module_default7 = { "ComponentList": "_ComponentList_bvy0z_1", "ComponentList-item": "_ComponentList-item_bvy0z_6", "ComponentList-itemIcon": "_ComponentList-itemIcon_bvy0z_24", "ComponentList--isDraggingFrom": "_ComponentList--isDraggingFrom_bvy0z_28" };
3363
+ var styles_module_default5 = { "ComponentList": "_ComponentList_1ybn0_1", "ComponentList-item": "_ComponentList-item_1ybn0_9", "ComponentList-itemShadow": "_ComponentList-itemShadow_1ybn0_10", "ComponentList-itemIcon": "_ComponentList-itemIcon_1ybn0_28" };
3736
3364
 
3737
3365
  // components/ComponentList/index.tsx
3738
- var import_jsx_runtime17 = require("react/jsx-runtime");
3739
- var getClassName14 = get_class_name_factory_default("ComponentList", styles_module_default7);
3366
+ var import_jsx_runtime9 = require("react/jsx-runtime");
3367
+ var getClassName7 = get_class_name_factory_default("ComponentList", styles_module_default5);
3740
3368
  var ComponentList = ({ config }) => {
3741
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DroppableStrictMode_default, { droppableId: "component-list", isDropDisabled: true, children: (provided, snapshot) => /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
3369
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(DroppableStrictMode_default, { droppableId: "component-list", isDropDisabled: true, children: (provided, snapshot) => /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
3742
3370
  "div",
3743
3371
  __spreadProps(__spreadValues({}, provided.droppableProps), {
3744
3372
  ref: provided.innerRef,
3745
- className: getClassName14({
3746
- isDraggingFrom: !!snapshot.draggingFromThisWith
3747
- }),
3373
+ className: getClassName7(),
3748
3374
  children: [
3749
3375
  Object.keys(config.components).map((componentKey, i) => {
3750
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3751
- Draggable2,
3376
+ const componentConfig = config[componentKey];
3377
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
3378
+ import_react_beautiful_dnd3.Draggable,
3752
3379
  {
3753
- id: componentKey,
3380
+ draggableId: componentKey,
3754
3381
  index: i,
3755
- showShadow: true,
3756
- disableAnimations: true,
3757
- className: () => getClassName14("item"),
3758
- children: () => /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_jsx_runtime17.Fragment, { children: [
3759
- componentKey,
3760
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: getClassName14("itemIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DragIcon, {}) })
3761
- ] })
3382
+ children: (provided2, snapshot2) => {
3383
+ var _a;
3384
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_jsx_runtime9.Fragment, { children: [
3385
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
3386
+ "div",
3387
+ __spreadProps(__spreadValues(__spreadValues({
3388
+ ref: provided2.innerRef
3389
+ }, provided2.draggableProps), provided2.dragHandleProps), {
3390
+ className: getClassName7("item"),
3391
+ style: __spreadProps(__spreadValues({}, provided2.draggableProps.style), {
3392
+ transform: snapshot2.isDragging ? (_a = provided2.draggableProps.style) == null ? void 0 : _a.transform : "translate(0px, 0px)"
3393
+ }),
3394
+ children: [
3395
+ componentKey,
3396
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: getClassName7("itemIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(grid_default, { size: 18 }) })
3397
+ ]
3398
+ })
3399
+ ),
3400
+ snapshot2.isDragging && /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
3401
+ "div",
3402
+ {
3403
+ className: getClassName7("itemShadow"),
3404
+ style: { transform: "none !important" },
3405
+ children: [
3406
+ componentKey,
3407
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: getClassName7("itemIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(grid_default, { size: 18 }) })
3408
+ ]
3409
+ }
3410
+ )
3411
+ ] });
3412
+ }
3762
3413
  },
3763
3414
  componentKey
3764
3415
  );
3765
3416
  }),
3766
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { style: { display: "none" }, children: provided.placeholder })
3417
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { style: { display: "none" }, children: provided.placeholder })
3767
3418
  ]
3768
3419
  })
3769
3420
  ) });
@@ -3771,10 +3422,10 @@ var ComponentList = ({ config }) => {
3771
3422
 
3772
3423
  // lib/use-placeholder-style.ts
3773
3424
  init_react_import();
3774
- var import_react27 = require("react");
3425
+ var import_react24 = require("react");
3775
3426
  var usePlaceholderStyle = () => {
3776
3427
  const queryAttr = "data-rbd-drag-handle-draggable-id";
3777
- const [placeholderStyle, setPlaceholderStyle] = (0, import_react27.useState)();
3428
+ const [placeholderStyle, setPlaceholderStyle] = (0, import_react24.useState)();
3778
3429
  const onDragStartOrUpdate = (draggedItem) => {
3779
3430
  var _a;
3780
3431
  const draggableId = draggedItem.draggableId;
@@ -3822,24 +3473,24 @@ init_react_import();
3822
3473
 
3823
3474
  // css-module:/home/runner/work/puck/puck/packages/core/components/SidebarSection/styles.module.css#css-module
3824
3475
  init_react_import();
3825
- var styles_module_default8 = { "SidebarSection": "_SidebarSection_f1p35_1", "SidebarSection-title": "_SidebarSection-title_f1p35_12", "SidebarSection-content": "_SidebarSection-content_f1p35_19", "SidebarSection--noPadding": "_SidebarSection--noPadding_f1p35_24", "SidebarSection-breadcrumbLabel": "_SidebarSection-breadcrumbLabel_f1p35_33", "SidebarSection-breadcrumbs": "_SidebarSection-breadcrumbs_f1p35_44", "SidebarSection-breadcrumb": "_SidebarSection-breadcrumb_f1p35_33", "SidebarSection-heading": "_SidebarSection-heading_f1p35_56" };
3476
+ var styles_module_default6 = { "SidebarSection": "_SidebarSection_f1p35_1", "SidebarSection-title": "_SidebarSection-title_f1p35_12", "SidebarSection-content": "_SidebarSection-content_f1p35_19", "SidebarSection--noPadding": "_SidebarSection--noPadding_f1p35_24", "SidebarSection-breadcrumbLabel": "_SidebarSection-breadcrumbLabel_f1p35_33", "SidebarSection-breadcrumbs": "_SidebarSection-breadcrumbs_f1p35_44", "SidebarSection-breadcrumb": "_SidebarSection-breadcrumb_f1p35_33", "SidebarSection-heading": "_SidebarSection-heading_f1p35_56" };
3826
3477
 
3827
3478
  // components/Heading/index.tsx
3828
3479
  init_react_import();
3829
3480
 
3830
3481
  // css-module:/home/runner/work/puck/puck/packages/core/components/Heading/styles.module.css#css-module
3831
3482
  init_react_import();
3832
- var styles_module_default9 = { "Heading": "_Heading_1bvy5_1", "Heading--xxxxl": "_Heading--xxxxl_1bvy5_13", "Heading--xxxl": "_Heading--xxxl_1bvy5_19", "Heading--xxl": "_Heading--xxl_1bvy5_23", "Heading--xl": "_Heading--xl_1bvy5_27", "Heading--l": "_Heading--l_1bvy5_31", "Heading--m": "_Heading--m_1bvy5_35", "Heading--s": "_Heading--s_1bvy5_39", "Heading--xs": "_Heading--xs_1bvy5_43" };
3483
+ var styles_module_default7 = { "Heading": "_Heading_1bvy5_1", "Heading--xxxxl": "_Heading--xxxxl_1bvy5_13", "Heading--xxxl": "_Heading--xxxl_1bvy5_19", "Heading--xxl": "_Heading--xxl_1bvy5_23", "Heading--xl": "_Heading--xl_1bvy5_27", "Heading--l": "_Heading--l_1bvy5_31", "Heading--m": "_Heading--m_1bvy5_35", "Heading--s": "_Heading--s_1bvy5_39", "Heading--xs": "_Heading--xs_1bvy5_43" };
3833
3484
 
3834
3485
  // components/Heading/index.tsx
3835
- var import_jsx_runtime18 = require("react/jsx-runtime");
3836
- var getClassName15 = get_class_name_factory_default("Heading", styles_module_default9);
3486
+ var import_jsx_runtime10 = require("react/jsx-runtime");
3487
+ var getClassName8 = get_class_name_factory_default("Heading", styles_module_default7);
3837
3488
  var Heading = ({ children, rank, size = "m" }) => {
3838
3489
  const Tag = rank ? `h${rank}` : "span";
3839
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
3490
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
3840
3491
  Tag,
3841
3492
  {
3842
- className: getClassName15({
3493
+ className: getClassName8({
3843
3494
  [size]: true
3844
3495
  }),
3845
3496
  children
@@ -3848,8 +3499,8 @@ var Heading = ({ children, rank, size = "m" }) => {
3848
3499
  };
3849
3500
 
3850
3501
  // components/SidebarSection/index.tsx
3851
- var import_jsx_runtime19 = require("react/jsx-runtime");
3852
- var getClassName16 = get_class_name_factory_default("SidebarSection", styles_module_default8);
3502
+ var import_jsx_runtime11 = require("react/jsx-runtime");
3503
+ var getClassName9 = get_class_name_factory_default("SidebarSection", styles_module_default6);
3853
3504
  var SidebarSection = ({
3854
3505
  children,
3855
3506
  title,
@@ -3858,22 +3509,22 @@ var SidebarSection = ({
3858
3509
  breadcrumbClick,
3859
3510
  noPadding
3860
3511
  }) => {
3861
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: getClassName16({ noPadding }), style: { background }, children: [
3862
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: getClassName16("title"), children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: getClassName16("breadcrumbs"), children: [
3863
- breadcrumbs.map((breadcrumb, i) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: getClassName16("breadcrumb"), children: [
3864
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
3512
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: getClassName9({ noPadding }), style: { background }, children: [
3513
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: getClassName9("title"), children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: getClassName9("breadcrumbs"), children: [
3514
+ breadcrumbs.map((breadcrumb, i) => /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: getClassName9("breadcrumb"), children: [
3515
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
3865
3516
  "div",
3866
3517
  {
3867
- className: getClassName16("breadcrumbLabel"),
3518
+ className: getClassName9("breadcrumbLabel"),
3868
3519
  onClick: () => breadcrumbClick && breadcrumbClick(breadcrumb),
3869
3520
  children: breadcrumb.label
3870
3521
  }
3871
3522
  ),
3872
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(chevron_right_default, { size: 16 })
3523
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(chevron_right_default, { size: 16 })
3873
3524
  ] }, i)),
3874
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: getClassName16("heading"), children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Heading, { rank: 2, size: "xs", children: title }) })
3525
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: getClassName9("heading"), children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Heading, { rank: 2, size: "xs", children: title }) })
3875
3526
  ] }) }),
3876
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: getClassName16("content"), children })
3527
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: getClassName9("content"), children })
3877
3528
  ] });
3878
3529
  };
3879
3530
 
@@ -3882,15 +3533,15 @@ init_react_import();
3882
3533
 
3883
3534
  // lib/use-puck-history.ts
3884
3535
  init_react_import();
3885
- var import_react29 = require("react");
3536
+ var import_react26 = require("react");
3886
3537
 
3887
3538
  // lib/use-action-history.ts
3888
3539
  init_react_import();
3889
- var import_react28 = require("react");
3540
+ var import_react25 = require("react");
3890
3541
  var EMPTY_HISTORY_INDEX = -1;
3891
3542
  function useActionHistory() {
3892
- const [histories, setHistories] = (0, import_react28.useState)([]);
3893
- const [currentHistoryIndex, setCurrentHistoryIndex] = (0, import_react28.useState)(EMPTY_HISTORY_INDEX);
3543
+ const [histories, setHistories] = (0, import_react25.useState)([]);
3544
+ const [currentHistoryIndex, setCurrentHistoryIndex] = (0, import_react25.useState)(EMPTY_HISTORY_INDEX);
3894
3545
  const currentHistory = histories[currentHistoryIndex];
3895
3546
  const canRewind = currentHistoryIndex > EMPTY_HISTORY_INDEX;
3896
3547
  const canForward = currentHistoryIndex < histories.length - 1;
@@ -3962,7 +3613,7 @@ function usePuckHistory({
3962
3613
  dispatch
3963
3614
  });
3964
3615
  }, DEBOUNCE_TIME);
3965
- (0, import_react29.useEffect)(() => {
3616
+ (0, import_react26.useEffect)(() => {
3966
3617
  historyEmitter.on(RECORD_DIFF, handleRecordDiff);
3967
3618
  return () => {
3968
3619
  historyEmitter.off(RECORD_DIFF, handleRecordDiff);
@@ -3997,6 +3648,13 @@ var remove = (list, index) => {
3997
3648
 
3998
3649
  // lib/reduce-related-zones.ts
3999
3650
  init_react_import();
3651
+
3652
+ // lib/generate-id.ts
3653
+ init_react_import();
3654
+ var import_crypto = require("crypto");
3655
+ var generateId = (type) => `${type}-${(0, import_crypto.randomBytes)(20).toString("hex")}`;
3656
+
3657
+ // lib/reduce-related-zones.ts
4000
3658
  var reduceRelatedZones = (item, data, fn) => {
4001
3659
  return __spreadProps(__spreadValues({}, data), {
4002
3660
  zones: Object.keys(data.zones || {}).reduce(
@@ -4293,7 +3951,7 @@ init_react_import();
4293
3951
 
4294
3952
  // css-module:/home/runner/work/puck/puck/packages/core/components/LayerTree/styles.module.css#css-module
4295
3953
  init_react_import();
4296
- var styles_module_default10 = { "LayerTree": "_LayerTree_1dcmd_1", "LayerTree-zoneTitle": "_LayerTree-zoneTitle_1dcmd_11", "LayerTree-helper": "_LayerTree-helper_1dcmd_17", "Layer": "_Layer_1dcmd_1", "Layer-inner": "_Layer-inner_1dcmd_29", "Layer--containsZone": "_Layer--containsZone_1dcmd_35", "Layer-clickable": "_Layer-clickable_1dcmd_39", "Layer--isSelected": "_Layer--isSelected_1dcmd_48", "Layer--isHovering": "_Layer--isHovering_1dcmd_49", "Layer-chevron": "_Layer-chevron_1dcmd_65", "Layer--childIsSelected": "_Layer--childIsSelected_1dcmd_66", "Layer-zones": "_Layer-zones_1dcmd_70", "Layer-title": "_Layer-title_1dcmd_84", "Layer-icon": "_Layer-icon_1dcmd_92", "Layer-zoneIcon": "_Layer-zoneIcon_1dcmd_97" };
3954
+ var styles_module_default8 = { "LayerTree": "_LayerTree_1dcmd_1", "LayerTree-zoneTitle": "_LayerTree-zoneTitle_1dcmd_11", "LayerTree-helper": "_LayerTree-helper_1dcmd_17", "Layer": "_Layer_1dcmd_1", "Layer-inner": "_Layer-inner_1dcmd_29", "Layer--containsZone": "_Layer--containsZone_1dcmd_35", "Layer-clickable": "_Layer-clickable_1dcmd_39", "Layer--isSelected": "_Layer--isSelected_1dcmd_48", "Layer--isHovering": "_Layer--isHovering_1dcmd_49", "Layer-chevron": "_Layer-chevron_1dcmd_65", "Layer--childIsSelected": "_Layer--childIsSelected_1dcmd_66", "Layer-zones": "_Layer-zones_1dcmd_70", "Layer-title": "_Layer-title_1dcmd_84", "Layer-icon": "_Layer-icon_1dcmd_92", "Layer-zoneIcon": "_Layer-zoneIcon_1dcmd_97" };
4297
3955
 
4298
3956
  // lib/scroll-into-view.ts
4299
3957
  init_react_import();
@@ -4307,7 +3965,7 @@ var scrollIntoView = (el) => {
4307
3965
  };
4308
3966
 
4309
3967
  // components/LayerTree/index.tsx
4310
- var import_react30 = require("react");
3968
+ var import_react27 = require("react");
4311
3969
 
4312
3970
  // lib/find-zones-for-area.ts
4313
3971
  init_react_import();
@@ -4336,9 +3994,9 @@ var isChildOfZone = (item, maybeChild, ctx) => {
4336
3994
  };
4337
3995
 
4338
3996
  // components/LayerTree/index.tsx
4339
- var import_jsx_runtime20 = require("react/jsx-runtime");
4340
- var getClassName17 = get_class_name_factory_default("LayerTree", styles_module_default10);
4341
- var getClassNameLayer = get_class_name_factory_default("Layer", styles_module_default10);
3997
+ var import_jsx_runtime12 = require("react/jsx-runtime");
3998
+ var getClassName10 = get_class_name_factory_default("LayerTree", styles_module_default8);
3999
+ var getClassNameLayer = get_class_name_factory_default("Layer", styles_module_default8);
4342
4000
  var LayerTree = ({
4343
4001
  data,
4344
4002
  zoneContent,
@@ -4348,15 +4006,15 @@ var LayerTree = ({
4348
4006
  label
4349
4007
  }) => {
4350
4008
  const zones = data.zones || {};
4351
- const ctx = (0, import_react30.useContext)(dropZoneContext);
4352
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
4353
- label && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: getClassName17("zoneTitle"), children: [
4354
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassName17("zoneIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(layers_default, { size: "16" }) }),
4009
+ const ctx = (0, import_react27.useContext)(dropZoneContext);
4010
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
4011
+ label && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: getClassName10("zoneTitle"), children: [
4012
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: getClassName10("zoneIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(layers_default, { size: "16" }) }),
4355
4013
  " ",
4356
4014
  label
4357
4015
  ] }),
4358
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("ul", { className: getClassName17(), children: [
4359
- zoneContent.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassName17("helper"), children: "No items" }),
4016
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("ul", { className: getClassName10(), children: [
4017
+ zoneContent.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: getClassName10("helper"), children: "No items" }),
4360
4018
  zoneContent.map((item, i) => {
4361
4019
  const isSelected = (itemSelector == null ? void 0 : itemSelector.index) === i && (itemSelector.zone === zone || itemSelector.zone === rootDroppableId && !zone);
4362
4020
  const zonesForItem = findZonesForArea(data, item.props.id);
@@ -4371,7 +4029,7 @@ var LayerTree = ({
4371
4029
  const selectedItem = itemSelector && data ? getItem(itemSelector, data) : null;
4372
4030
  const isHovering = hoveringComponent === item.props.id;
4373
4031
  const childIsSelected = isChildOfZone(item, selectedItem, ctx);
4374
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
4032
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
4375
4033
  "li",
4376
4034
  {
4377
4035
  className: getClassNameLayer({
@@ -4381,7 +4039,7 @@ var LayerTree = ({
4381
4039
  childIsSelected
4382
4040
  }),
4383
4041
  children: [
4384
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassNameLayer("inner"), children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
4042
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: getClassNameLayer("inner"), children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
4385
4043
  "div",
4386
4044
  {
4387
4045
  className: getClassNameLayer("clickable"),
@@ -4412,22 +4070,22 @@ var LayerTree = ({
4412
4070
  setHoveringComponent(null);
4413
4071
  },
4414
4072
  children: [
4415
- containsZone && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4073
+ containsZone && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
4416
4074
  "div",
4417
4075
  {
4418
4076
  className: getClassNameLayer("chevron"),
4419
4077
  title: isSelected ? "Collapse" : "Expand",
4420
- children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(chevron_down_default, { size: "12" })
4078
+ children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(chevron_down_default, { size: "12" })
4421
4079
  }
4422
4080
  ),
4423
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: getClassNameLayer("title"), children: [
4424
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassNameLayer("icon"), children: item.type === "Text" || item.type === "Heading" ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(type_default, { size: "16" }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(grid_default, { size: "16" }) }),
4081
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: getClassNameLayer("title"), children: [
4082
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: getClassNameLayer("icon"), children: item.type === "Text" || item.type === "Heading" ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(type_default, { size: "16" }) : /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(grid_default, { size: "16" }) }),
4425
4083
  item.type
4426
4084
  ] })
4427
4085
  ]
4428
4086
  }
4429
4087
  ) }),
4430
- containsZone && Object.keys(zonesForItem).map((zoneKey, idx) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassNameLayer("zones"), children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4088
+ containsZone && Object.keys(zonesForItem).map((zoneKey, idx) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: getClassNameLayer("zones"), children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
4431
4089
  LayerTree,
4432
4090
  {
4433
4091
  data,
@@ -4472,7 +4130,7 @@ var flushZones = (appData) => {
4472
4130
  };
4473
4131
 
4474
4132
  // components/Puck/index.tsx
4475
- var import_jsx_runtime21 = require("react/jsx-runtime");
4133
+ var import_jsx_runtime13 = require("react/jsx-runtime");
4476
4134
  var defaultPageFields = {
4477
4135
  title: { type: "text" }
4478
4136
  };
@@ -4483,7 +4141,7 @@ var PluginRenderer = ({
4483
4141
  renderMethod
4484
4142
  }) => {
4485
4143
  return plugins.filter((item) => item[renderMethod]).map((item) => item[renderMethod]).reduce(
4486
- (accChildren, Item) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Item, { data, children: accChildren }),
4144
+ (accChildren, Item) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Item, { data, children: accChildren }),
4487
4145
  children
4488
4146
  );
4489
4147
  };
@@ -4499,15 +4157,12 @@ function Puck({
4499
4157
  headerPath
4500
4158
  }) {
4501
4159
  var _a, _b;
4502
- const [reducer] = (0, import_react31.useState)(() => createReducer({ config }));
4160
+ const [reducer] = (0, import_react28.useState)(() => createReducer({ config }));
4503
4161
  const initialAppData = {
4504
4162
  data: initialData,
4505
- state: {
4506
- leftSideBarVisible: true,
4507
- arrayState: {}
4508
- }
4163
+ state: { leftSideBarVisible: true, itemSelector: null }
4509
4164
  };
4510
- const [appData, dispatch] = (0, import_react31.useReducer)(
4165
+ const [appData, dispatch] = (0, import_react28.useReducer)(
4511
4166
  reducer,
4512
4167
  flushZones(initialAppData)
4513
4168
  );
@@ -4517,7 +4172,7 @@ function Puck({
4517
4172
  dispatch
4518
4173
  });
4519
4174
  const { itemSelector, leftSideBarVisible } = state;
4520
- const setItemSelector = (0, import_react31.useCallback)(
4175
+ const setItemSelector = (0, import_react28.useCallback)(
4521
4176
  (newItemSelector) => {
4522
4177
  dispatch({
4523
4178
  type: "setState",
@@ -4527,10 +4182,10 @@ function Puck({
4527
4182
  []
4528
4183
  );
4529
4184
  const selectedItem = itemSelector ? getItem(itemSelector, data) : null;
4530
- const Page = (0, import_react31.useCallback)(
4185
+ const Page = (0, import_react28.useCallback)(
4531
4186
  (pageProps) => {
4532
4187
  var _a2, _b2;
4533
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4188
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
4534
4189
  PluginRenderer,
4535
4190
  {
4536
4191
  plugins,
@@ -4542,8 +4197,8 @@ function Puck({
4542
4197
  },
4543
4198
  [config.root]
4544
4199
  );
4545
- const PageFieldWrapper = (0, import_react31.useCallback)(
4546
- (props) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4200
+ const PageFieldWrapper = (0, import_react28.useCallback)(
4201
+ (props) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
4547
4202
  PluginRenderer,
4548
4203
  {
4549
4204
  plugins,
@@ -4554,8 +4209,8 @@ function Puck({
4554
4209
  ),
4555
4210
  []
4556
4211
  );
4557
- const ComponentFieldWrapper = (0, import_react31.useCallback)(
4558
- (props) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4212
+ const ComponentFieldWrapper = (0, import_react28.useCallback)(
4213
+ (props) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
4559
4214
  PluginRenderer,
4560
4215
  {
4561
4216
  plugins,
@@ -4569,14 +4224,14 @@ function Puck({
4569
4224
  const FieldWrapper = itemSelector ? ComponentFieldWrapper : PageFieldWrapper;
4570
4225
  const rootFields = ((_a = config.root) == null ? void 0 : _a.fields) || defaultPageFields;
4571
4226
  let fields = selectedItem ? ((_b = config.components[selectedItem.type]) == null ? void 0 : _b.fields) || {} : rootFields;
4572
- (0, import_react31.useEffect)(() => {
4227
+ (0, import_react28.useEffect)(() => {
4573
4228
  if (onChange)
4574
4229
  onChange(data);
4575
4230
  }, [data]);
4576
4231
  const { onDragStartOrUpdate, placeholderStyle } = usePlaceholderStyle();
4577
- const [draggedItem, setDraggedItem] = (0, import_react31.useState)();
4578
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "puck", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(AppProvider, { value: { appData, dispatch }, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4579
- import_react_beautiful_dnd5.DragDropContext,
4232
+ const [draggedItem, setDraggedItem] = (0, import_react28.useState)();
4233
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "puck", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
4234
+ import_react_beautiful_dnd4.DragDropContext,
4580
4235
  {
4581
4236
  onDragUpdate: (update) => {
4582
4237
  setDraggedItem(__spreadValues(__spreadValues({}, draggedItem), update));
@@ -4627,7 +4282,7 @@ function Puck({
4627
4282
  });
4628
4283
  }
4629
4284
  },
4630
- children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4285
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
4631
4286
  DropZoneProvider,
4632
4287
  {
4633
4288
  value: {
@@ -4641,13 +4296,13 @@ function Puck({
4641
4296
  mode: "edit",
4642
4297
  areaId: "root"
4643
4298
  },
4644
- children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(dropZoneContext.Consumer, { children: (ctx) => {
4299
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(dropZoneContext.Consumer, { children: (ctx) => {
4645
4300
  let path = (ctx == null ? void 0 : ctx.pathData) && selectedItem ? ctx == null ? void 0 : ctx.pathData[selectedItem == null ? void 0 : selectedItem.props.id] : void 0;
4646
4301
  if (path) {
4647
4302
  path = [{ label: "Page", selector: null }, ...path];
4648
4303
  path = path.slice(path.length - 2, path.length - 1);
4649
4304
  }
4650
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
4305
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
4651
4306
  "div",
4652
4307
  {
4653
4308
  style: {
@@ -4663,7 +4318,7 @@ function Puck({
4663
4318
  right: 0
4664
4319
  },
4665
4320
  children: [
4666
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4321
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
4667
4322
  "header",
4668
4323
  {
4669
4324
  style: {
@@ -4673,19 +4328,19 @@ function Puck({
4673
4328
  borderBottom: "1px solid var(--puck-color-grey-8)"
4674
4329
  },
4675
4330
  children: renderHeader ? renderHeader({
4676
- children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4331
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
4677
4332
  Button,
4678
4333
  {
4679
4334
  onClick: () => {
4680
4335
  onPublish(data);
4681
4336
  },
4682
- icon: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(globe_default, { size: "14px" }),
4337
+ icon: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(globe_default, { size: "14px" }),
4683
4338
  children: "Publish"
4684
4339
  }
4685
4340
  ),
4686
4341
  data,
4687
4342
  dispatch
4688
- }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
4343
+ }) : /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
4689
4344
  "div",
4690
4345
  {
4691
4346
  style: {
@@ -4696,14 +4351,14 @@ function Puck({
4696
4351
  gridTemplateRows: "auto"
4697
4352
  },
4698
4353
  children: [
4699
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4354
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
4700
4355
  "div",
4701
4356
  {
4702
4357
  style: {
4703
4358
  display: "flex",
4704
4359
  gap: 16
4705
4360
  },
4706
- children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4361
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
4707
4362
  IconButton,
4708
4363
  {
4709
4364
  onClick: () => dispatch({
@@ -4713,12 +4368,12 @@ function Puck({
4713
4368
  }
4714
4369
  }),
4715
4370
  title: "Toggle left sidebar",
4716
- children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(sidebar_default, {})
4371
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(sidebar_default, {})
4717
4372
  }
4718
4373
  )
4719
4374
  }
4720
4375
  ),
4721
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4376
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
4722
4377
  "div",
4723
4378
  {
4724
4379
  style: {
@@ -4726,19 +4381,13 @@ function Puck({
4726
4381
  justifyContent: "center",
4727
4382
  alignItems: "center"
4728
4383
  },
4729
- children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Heading, { rank: 2, size: "xs", children: [
4384
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Heading, { rank: 2, size: "xs", children: [
4730
4385
  headerTitle || data.root.title || "Page",
4731
- headerPath && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4732
- "small",
4733
- {
4734
- style: { fontWeight: 400, marginLeft: 4 },
4735
- children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("code", { children: headerPath })
4736
- }
4737
- )
4386
+ headerPath && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("small", { style: { fontWeight: 400, marginLeft: 4 }, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("code", { children: headerPath }) })
4738
4387
  ] })
4739
4388
  }
4740
4389
  ),
4741
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
4390
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
4742
4391
  "div",
4743
4392
  {
4744
4393
  style: {
@@ -4747,14 +4396,14 @@ function Puck({
4747
4396
  justifyContent: "flex-end"
4748
4397
  },
4749
4398
  children: [
4750
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { style: { display: "flex" }, children: [
4751
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4399
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { style: { display: "flex" }, children: [
4400
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
4752
4401
  IconButton,
4753
4402
  {
4754
4403
  title: "undo",
4755
4404
  disabled: !canRewind,
4756
4405
  onClick: rewind,
4757
- children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4406
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
4758
4407
  chevron_left_default,
4759
4408
  {
4760
4409
  size: 21,
@@ -4763,13 +4412,13 @@ function Puck({
4763
4412
  )
4764
4413
  }
4765
4414
  ),
4766
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4415
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
4767
4416
  IconButton,
4768
4417
  {
4769
4418
  title: "redo",
4770
4419
  disabled: !canForward,
4771
4420
  onClick: forward,
4772
- children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4421
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
4773
4422
  chevron_right_default,
4774
4423
  {
4775
4424
  size: 21,
@@ -4780,13 +4429,13 @@ function Puck({
4780
4429
  )
4781
4430
  ] }),
4782
4431
  renderHeaderActions && renderHeaderActions({ data, dispatch }),
4783
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4432
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
4784
4433
  Button,
4785
4434
  {
4786
4435
  onClick: () => {
4787
4436
  onPublish(data);
4788
4437
  },
4789
- icon: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(globe_default, { size: "14px" }),
4438
+ icon: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(globe_default, { size: "14px" }),
4790
4439
  children: "Publish"
4791
4440
  }
4792
4441
  )
@@ -4798,7 +4447,7 @@ function Puck({
4798
4447
  )
4799
4448
  }
4800
4449
  ),
4801
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
4450
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
4802
4451
  "div",
4803
4452
  {
4804
4453
  style: {
@@ -4810,9 +4459,9 @@ function Puck({
4810
4459
  flexDirection: "column"
4811
4460
  },
4812
4461
  children: [
4813
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(SidebarSection, { title: "Components", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ComponentList, { config }) }),
4814
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(SidebarSection, { title: "Outline", children: [
4815
- (ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId]) && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4462
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(SidebarSection, { title: "Components", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(ComponentList, { config }) }),
4463
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(SidebarSection, { title: "Outline", children: [
4464
+ (ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId]) && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
4816
4465
  LayerTree,
4817
4466
  {
4818
4467
  data,
@@ -4824,7 +4473,7 @@ function Puck({
4824
4473
  ),
4825
4474
  Object.entries(findZonesForArea(data, "root")).map(
4826
4475
  ([zoneKey, zone]) => {
4827
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4476
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
4828
4477
  LayerTree,
4829
4478
  {
4830
4479
  data,
@@ -4842,7 +4491,7 @@ function Puck({
4842
4491
  ]
4843
4492
  }
4844
4493
  ),
4845
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
4494
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
4846
4495
  "div",
4847
4496
  {
4848
4497
  style: {
@@ -4855,7 +4504,7 @@ function Puck({
4855
4504
  onClick: () => setItemSelector(null),
4856
4505
  id: "puck-frame",
4857
4506
  children: [
4858
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4507
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
4859
4508
  "div",
4860
4509
  {
4861
4510
  className: "puck-root",
@@ -4864,18 +4513,18 @@ function Puck({
4864
4513
  margin: 32,
4865
4514
  zoom: 0.75
4866
4515
  },
4867
- children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4516
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
4868
4517
  "div",
4869
4518
  {
4870
4519
  style: {
4871
4520
  border: "1px solid var(--puck-color-grey-8)"
4872
4521
  },
4873
- children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Page, __spreadProps(__spreadValues({ data }, data.root), { children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DropZone, { zone: rootDroppableId }) }))
4522
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Page, __spreadProps(__spreadValues({ data }, data.root), { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DropZone, { zone: rootDroppableId }) }))
4874
4523
  }
4875
4524
  )
4876
4525
  }
4877
4526
  ),
4878
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4527
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
4879
4528
  "div",
4880
4529
  {
4881
4530
  style: {
@@ -4888,7 +4537,7 @@ function Puck({
4888
4537
  ]
4889
4538
  }
4890
4539
  ),
4891
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4540
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
4892
4541
  "div",
4893
4542
  {
4894
4543
  style: {
@@ -4900,7 +4549,7 @@ function Puck({
4900
4549
  flexDirection: "column",
4901
4550
  background: "var(--puck-color-white)"
4902
4551
  },
4903
- children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(FieldWrapper, { data, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4552
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(FieldWrapper, { data, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
4904
4553
  SidebarSection,
4905
4554
  {
4906
4555
  noPadding: true,
@@ -4959,7 +4608,7 @@ function Puck({
4959
4608
  }
4960
4609
  };
4961
4610
  if (selectedItem && itemSelector) {
4962
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4611
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
4963
4612
  InputOrGroup,
4964
4613
  {
4965
4614
  field,
@@ -4975,15 +4624,13 @@ function Puck({
4975
4624
  `${selectedItem.props.id}_${fieldName}`
4976
4625
  );
4977
4626
  } else {
4978
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4627
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
4979
4628
  InputOrGroup,
4980
4629
  {
4981
4630
  field,
4982
4631
  name: fieldName,
4983
4632
  label: field.label,
4984
- readOnly: ((_d = (_c = data.root._meta) == null ? void 0 : _c.locked) == null ? void 0 : _d.indexOf(
4985
- fieldName
4986
- )) > -1,
4633
+ readOnly: ((_d = (_c = data.root._meta) == null ? void 0 : _c.locked) == null ? void 0 : _d.indexOf(fieldName)) > -1,
4987
4634
  value: data.root[fieldName],
4988
4635
  onChange: onChange2
4989
4636
  },
@@ -5002,17 +4649,17 @@ function Puck({
5002
4649
  }
5003
4650
  )
5004
4651
  }
5005
- ) }) });
4652
+ ) });
5006
4653
  }
5007
4654
 
5008
4655
  // components/Render/index.tsx
5009
4656
  init_react_import();
5010
- var import_jsx_runtime22 = require("react/jsx-runtime");
4657
+ var import_jsx_runtime14 = require("react/jsx-runtime");
5011
4658
  function Render({ config, data }) {
5012
4659
  if (config.root) {
5013
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DropZoneProvider, { value: { data, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(config.root.render, __spreadProps(__spreadValues({}, data.root), { editMode: false, id: "puck-root", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DropZone, { zone: rootDroppableId }) })) });
4660
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(DropZoneProvider, { value: { data, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(config.root.render, __spreadProps(__spreadValues({}, data.root), { editMode: false, id: "puck-root", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(DropZone, { zone: rootDroppableId }) })) });
5014
4661
  }
5015
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DropZoneProvider, { value: { data, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DropZone, { zone: rootDroppableId }) });
4662
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(DropZoneProvider, { value: { data, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(DropZone, { zone: rootDroppableId }) });
5016
4663
  }
5017
4664
  // Annotate the CommonJS export names for ESM import in node:
5018
4665
  0 && (module.exports = {