@measured/puck 0.12.0-canary.12cea1e → 0.12.0-canary.27e3e7e

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 Fragment12 = REACT_FRAGMENT_TYPE;
330
+ var Fragment13 = 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 = Fragment12;
389
+ exports.Fragment = Fragment13;
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 = getClassName19(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 getClassName19(propValue) {
1016
1016
  if (!propValue.constructor || !propValue.constructor.name) {
1017
1017
  return ANONYMOUS;
1018
1018
  }
@@ -9040,7 +9040,7 @@ var require_react_dom_development = __commonJS({
9040
9040
  var HostPortal = 4;
9041
9041
  var HostComponent = 5;
9042
9042
  var HostText = 6;
9043
- var Fragment12 = 7;
9043
+ var Fragment13 = 7;
9044
9044
  var Mode = 8;
9045
9045
  var ContextConsumer = 9;
9046
9046
  var ContextProvider = 10;
@@ -10196,7 +10196,7 @@ var require_react_dom_development = __commonJS({
10196
10196
  return "DehydratedFragment";
10197
10197
  case ForwardRef:
10198
10198
  return getWrappedName$1(type, type.render, "ForwardRef");
10199
- case Fragment12:
10199
+ case Fragment13:
10200
10200
  return "Fragment";
10201
10201
  case HostComponent:
10202
10202
  return type;
@@ -14313,7 +14313,7 @@ var require_react_dom_development = __commonJS({
14313
14313
  defaultPrevented: 0,
14314
14314
  isTrusted: 0
14315
14315
  };
14316
- var SyntheticEvent2 = createSyntheticEvent(EventInterface);
14316
+ var SyntheticEvent3 = createSyntheticEvent(EventInterface);
14317
14317
  var UIEventInterface = assign({}, EventInterface, {
14318
14318
  view: 0,
14319
14319
  detail: 0
@@ -14789,7 +14789,7 @@ var require_react_dom_development = __commonJS({
14789
14789
  enqueueStateRestore(target);
14790
14790
  var listeners = accumulateTwoPhaseListeners(inst, "onChange");
14791
14791
  if (listeners.length > 0) {
14792
- var event = new SyntheticEvent2("onChange", "change", null, nativeEvent, target);
14792
+ var event = new SyntheticEvent3("onChange", "change", null, nativeEvent, target);
14793
14793
  dispatchQueue.push({
14794
14794
  event,
14795
14795
  listeners
@@ -15293,7 +15293,7 @@ var require_react_dom_development = __commonJS({
15293
15293
  lastSelection = currentSelection;
15294
15294
  var listeners = accumulateTwoPhaseListeners(activeElementInst$1, "onSelect");
15295
15295
  if (listeners.length > 0) {
15296
- var event = new SyntheticEvent2("onSelect", "select", null, nativeEvent, nativeEventTarget);
15296
+ var event = new SyntheticEvent3("onSelect", "select", null, nativeEvent, nativeEventTarget);
15297
15297
  dispatchQueue.push({
15298
15298
  event,
15299
15299
  listeners
@@ -15405,7 +15405,7 @@ var require_react_dom_development = __commonJS({
15405
15405
  if (reactName === void 0) {
15406
15406
  return;
15407
15407
  }
15408
- var SyntheticEventCtor = SyntheticEvent2;
15408
+ var SyntheticEventCtor = SyntheticEvent3;
15409
15409
  var reactEventType = domEventName;
15410
15410
  switch (domEventName) {
15411
15411
  case "keypress":
@@ -19867,7 +19867,7 @@ var require_react_dom_development = __commonJS({
19867
19867
  }
19868
19868
  }
19869
19869
  function updateFragment2(returnFiber, current2, fragment, lanes, key) {
19870
- if (current2 === null || current2.tag !== Fragment12) {
19870
+ if (current2 === null || current2.tag !== Fragment13) {
19871
19871
  var created = createFiberFromFragment(fragment, returnFiber.mode, lanes, key);
19872
19872
  created.return = returnFiber;
19873
19873
  return created;
@@ -20270,7 +20270,7 @@ var require_react_dom_development = __commonJS({
20270
20270
  if (child.key === key) {
20271
20271
  var elementType = element.type;
20272
20272
  if (elementType === REACT_FRAGMENT_TYPE) {
20273
- if (child.tag === Fragment12) {
20273
+ if (child.tag === Fragment13) {
20274
20274
  deleteRemainingChildren(returnFiber, child.sibling);
20275
20275
  var existing = useFiber(child, element.props.children);
20276
20276
  existing.return = returnFiber;
@@ -24445,7 +24445,7 @@ var require_react_dom_development = __commonJS({
24445
24445
  var _resolvedProps2 = workInProgress2.elementType === type ? _unresolvedProps2 : resolveDefaultProps(type, _unresolvedProps2);
24446
24446
  return updateForwardRef(current2, workInProgress2, type, _resolvedProps2, renderLanes2);
24447
24447
  }
24448
- case Fragment12:
24448
+ case Fragment13:
24449
24449
  return updateFragment(current2, workInProgress2, renderLanes2);
24450
24450
  case Mode:
24451
24451
  return updateMode(current2, workInProgress2, renderLanes2);
@@ -24718,7 +24718,7 @@ var require_react_dom_development = __commonJS({
24718
24718
  case SimpleMemoComponent:
24719
24719
  case FunctionComponent:
24720
24720
  case ForwardRef:
24721
- case Fragment12:
24721
+ case Fragment13:
24722
24722
  case Mode:
24723
24723
  case Profiler:
24724
24724
  case ContextConsumer:
@@ -28977,7 +28977,7 @@ var require_react_dom_development = __commonJS({
28977
28977
  return fiber;
28978
28978
  }
28979
28979
  function createFiberFromFragment(elements, mode, lanes, key) {
28980
- var fiber = createFiber(Fragment12, elements, key, mode);
28980
+ var fiber = createFiber(Fragment13, elements, key, mode);
28981
28981
  fiber.lanes = lanes;
28982
28982
  return fiber;
28983
28983
  }
@@ -30125,7 +30125,7 @@ var import_react2 = require("react");
30125
30125
 
30126
30126
  // css-module:/home/runner/work/puck/puck/packages/core/components/Button/Button.module.css#css-module
30127
30127
  init_react_import();
30128
- var Button_module_default = { "Button": "_Button_1muck_1", "Button--medium": "_Button--medium_1muck_20", "Button--large": "_Button--large_1muck_27", "Button-icon": "_Button-icon_1muck_34", "Button--primary": "_Button--primary_1muck_42", "Button--secondary": "_Button--secondary_1muck_51", "Button--flush": "_Button--flush_1muck_62", "Button--disabled": "_Button--disabled_1muck_66", "Button--fullWidth": "_Button--fullWidth_1muck_76" };
30128
+ var Button_module_default = { "Button": "_Button_zx1c8_1", "Button--medium": "_Button--medium_zx1c8_21", "Button--large": "_Button--large_zx1c8_28", "Button-icon": "_Button-icon_zx1c8_35", "Button--primary": "_Button--primary_zx1c8_43", "Button--secondary": "_Button--secondary_zx1c8_52", "Button--flush": "_Button--flush_zx1c8_63", "Button--disabled": "_Button--disabled_zx1c8_67", "Button--fullWidth": "_Button--fullWidth_zx1c8_77" };
30129
30129
 
30130
30130
  // lib/get-class-name-factory.ts
30131
30131
  init_react_import();
@@ -32359,7 +32359,7 @@ var IconButton = ({
32359
32359
 
32360
32360
  // components/Puck/index.tsx
32361
32361
  init_react_import();
32362
- var import_react38 = require("react");
32362
+ var import_react39 = require("react");
32363
32363
  var import_dnd7 = require("@hello-pangea/dnd");
32364
32364
 
32365
32365
  // components/InputOrGroup/index.tsx
@@ -32367,10 +32367,10 @@ init_react_import();
32367
32367
 
32368
32368
  // css-module:/home/runner/work/puck/puck/packages/core/components/InputOrGroup/styles.module.css#css-module
32369
32369
  init_react_import();
32370
- var styles_module_default3 = { "Input": "_Input_1kw16_1", "Input-label": "_Input-label_1kw16_27", "Input-labelIcon": "_Input-labelIcon_1kw16_34", "Input-disabledIcon": "_Input-disabledIcon_1kw16_40", "Input-input": "_Input-input_1kw16_45", "Input--readOnly": "_Input--readOnly_1kw16_66", "Input-radioGroupItems": "_Input-radioGroupItems_1kw16_78", "Input-radio": "_Input-radio_1kw16_78", "Input-radioInner": "_Input-radioInner_1kw16_95", "Input-radioInput": "_Input-radioInput_1kw16_117" };
32370
+ var styles_module_default3 = { "Input": "_Input_199j9_1", "Input-label": "_Input-label_199j9_27", "Input-labelIcon": "_Input-labelIcon_199j9_35", "Input-disabledIcon": "_Input-disabledIcon_199j9_41", "Input-input": "_Input-input_199j9_46", "Input--readOnly": "_Input--readOnly_199j9_68", "Input-radioGroupItems": "_Input-radioGroupItems_199j9_86", "Input-radio": "_Input-radio_199j9_86", "Input-radioInner": "_Input-radioInner_199j9_103", "Input-radioInput": "_Input-radioInput_199j9_125" };
32371
32371
 
32372
32372
  // components/InputOrGroup/index.tsx
32373
- var import_react30 = require("react");
32373
+ var import_react31 = require("react");
32374
32374
 
32375
32375
  // components/InputOrGroup/fields/index.tsx
32376
32376
  init_react_import();
@@ -32380,7 +32380,7 @@ init_react_import();
32380
32380
 
32381
32381
  // css-module:/home/runner/work/puck/puck/packages/core/components/InputOrGroup/fields/ArrayField/styles.module.css#css-module
32382
32382
  init_react_import();
32383
- var styles_module_default4 = { "ArrayField": "_ArrayField_13rp0_5", "ArrayField--isDraggingFrom": "_ArrayField--isDraggingFrom_13rp0_13", "ArrayField-addButton": "_ArrayField-addButton_13rp0_17", "ArrayField--hasItems": "_ArrayField--hasItems_13rp0_31", "ArrayFieldItem": "_ArrayFieldItem_13rp0_45", "ArrayFieldItem--isDragging": "_ArrayFieldItem--isDragging_13rp0_53", "ArrayFieldItem--isExpanded": "_ArrayFieldItem--isExpanded_13rp0_58", "ArrayFieldItem-summary": "_ArrayFieldItem-summary_13rp0_72", "ArrayFieldItem--readOnly": "_ArrayFieldItem--readOnly_13rp0_84", "ArrayFieldItem-body": "_ArrayFieldItem-body_13rp0_105", "ArrayFieldItem-fieldset": "_ArrayFieldItem-fieldset_13rp0_113", "ArrayFieldItem-rhs": "_ArrayFieldItem-rhs_13rp0_120", "ArrayFieldItem-actions": "_ArrayFieldItem-actions_13rp0_126", "ArrayFieldItem-action": "_ArrayFieldItem-action_13rp0_126" };
32383
+ var styles_module_default4 = { "ArrayField": "_ArrayField_hsw7n_5", "ArrayField--isDraggingFrom": "_ArrayField--isDraggingFrom_hsw7n_13", "ArrayField-addButton": "_ArrayField-addButton_hsw7n_17", "ArrayField--hasItems": "_ArrayField--hasItems_hsw7n_31", "ArrayFieldItem": "_ArrayFieldItem_hsw7n_45", "ArrayFieldItem--isDragging": "_ArrayFieldItem--isDragging_hsw7n_53", "ArrayFieldItem--isExpanded": "_ArrayFieldItem--isExpanded_hsw7n_58", "ArrayFieldItem-summary": "_ArrayFieldItem-summary_hsw7n_73", "ArrayFieldItem--readOnly": "_ArrayFieldItem--readOnly_hsw7n_86", "ArrayFieldItem-body": "_ArrayFieldItem-body_hsw7n_107", "ArrayFieldItem-fieldset": "_ArrayFieldItem-fieldset_hsw7n_115", "ArrayFieldItem-rhs": "_ArrayFieldItem-rhs_hsw7n_122", "ArrayFieldItem-actions": "_ArrayFieldItem-actions_hsw7n_128", "ArrayFieldItem-action": "_ArrayFieldItem-action_hsw7n_128" };
32384
32384
 
32385
32385
  // components/InputOrGroup/fields/ArrayField/index.tsx
32386
32386
  var import_dnd4 = require("@hello-pangea/dnd");
@@ -32469,30 +32469,37 @@ var ArrayField = ({
32469
32469
  }) => {
32470
32470
  const [arrayFieldId] = (0, import_react27.useState)(generateId("ArrayField"));
32471
32471
  const { state, setUi } = useAppContext();
32472
- const arrayState = state.ui.arrayState[arrayFieldId] || {
32473
- items: Array.from(value || []).map((v) => ({
32474
- _arrayId: generateId("ArrayItem"),
32475
- data: v
32476
- })),
32477
- openId: ""
32478
- };
32472
+ const arrayStateRef = (0, import_react27.useRef)(
32473
+ state.ui.arrayState[arrayFieldId] || {
32474
+ items: [],
32475
+ openId: ""
32476
+ }
32477
+ );
32478
+ const arrayState = arrayStateRef.current;
32479
32479
  const setArrayState = (0, import_react27.useCallback)(
32480
- (newArrayState, recordHistory = false) => {
32480
+ (partialArrayState, recordHistory = false) => {
32481
32481
  setUi(
32482
32482
  {
32483
32483
  arrayState: __spreadProps(__spreadValues({}, state.ui.arrayState), {
32484
- [arrayFieldId]: __spreadValues(__spreadValues({}, arrayState), newArrayState)
32484
+ [arrayFieldId]: __spreadValues(__spreadValues({}, arrayState), partialArrayState)
32485
32485
  })
32486
32486
  },
32487
32487
  recordHistory
32488
32488
  );
32489
+ arrayStateRef.current = __spreadValues(__spreadValues({}, arrayState), partialArrayState);
32489
32490
  },
32490
32491
  [arrayState]
32491
32492
  );
32492
32493
  (0, import_react27.useEffect)(() => {
32494
+ let highestIndex = arrayState.items.reduce(
32495
+ (acc, item) => item._originalIndex > acc ? item._originalIndex : acc,
32496
+ -1
32497
+ );
32493
32498
  const newItems = Array.from(value || []).map((item, idx) => {
32494
32499
  var _a;
32500
+ const arrayStateItem = arrayState.items[idx];
32495
32501
  return {
32502
+ _originalIndex: typeof (arrayStateItem == null ? void 0 : arrayStateItem._originalIndex) !== "undefined" ? arrayStateItem._originalIndex : ++highestIndex,
32496
32503
  _arrayId: ((_a = arrayState.items[idx]) == null ? void 0 : _a._arrayId) || generateId("ArrayItem"),
32497
32504
  data: item
32498
32505
  };
@@ -32534,97 +32541,95 @@ var ArrayField = ({
32534
32541
  hasItems: Array.isArray(value) && value.length > 0
32535
32542
  }),
32536
32543
  children: [
32537
- Array.isArray(value) && value.length > 0 ? arrayState.items.map(({ _arrayId, data }, i) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
32538
- Draggable2,
32539
- {
32540
- id: _arrayId,
32541
- index: i,
32542
- className: (_, snapshot2) => getClassNameItem({
32543
- isExpanded: arrayState.openId === _arrayId,
32544
- isDragging: snapshot2.isDragging,
32545
- readOnly
32546
- }),
32547
- isDragDisabled: readOnly,
32548
- children: () => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
32549
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
32550
- "div",
32551
- {
32552
- onClick: () => {
32553
- if (arrayState.openId === _arrayId) {
32554
- setArrayState({
32555
- openId: ""
32556
- });
32557
- } else {
32558
- setArrayState({
32559
- openId: _arrayId
32560
- });
32561
- }
32562
- },
32563
- className: getClassNameItem("summary"),
32564
- children: [
32565
- field.getItemSummary ? field.getItemSummary(data, i) : `Item #${i}`,
32566
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: getClassNameItem("rhs"), children: [
32567
- !readOnly && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: getClassNameItem("actions"), children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: getClassNameItem("action"), children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
32568
- IconButton,
32569
- {
32570
- onClick: () => {
32571
- const existingValue = [
32572
- ...value || []
32573
- ];
32574
- const existingItems = [
32575
- ...arrayState.items || []
32576
- ];
32577
- existingValue.splice(i, 1);
32578
- existingItems.splice(i, 1);
32579
- setArrayState(
32580
- { items: existingItems },
32581
- true
32582
- );
32583
- onChange(existingValue);
32584
- },
32585
- title: "Delete",
32586
- children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(trash_default, { size: 16 })
32587
- }
32588
- ) }) }),
32589
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(DragIcon, {}) })
32590
- ] })
32591
- ]
32592
- }
32593
- ),
32594
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: getClassNameItem("body"), children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
32595
- "fieldset",
32596
- {
32597
- className: getClassNameItem("fieldset"),
32598
- children: Object.keys(field.arrayFields).map(
32599
- (fieldName) => {
32600
- const subField = field.arrayFields[fieldName];
32601
- const subFieldName = `${name}[${i}].${fieldName}`;
32602
- const wildcardFieldName = `${name}[*].${fieldName}`;
32603
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
32604
- InputOrGroup,
32605
- {
32606
- name: subFieldName,
32607
- label: subField.label || fieldName,
32608
- readOnly: typeof readOnlyFields[subFieldName] !== "undefined" ? readOnlyFields[subFieldName] : readOnlyFields[wildcardFieldName],
32609
- readOnlyFields,
32610
- field: subField,
32611
- value: data[fieldName],
32612
- onChange: (val) => onChange(
32613
- replace(value, i, __spreadProps(__spreadValues({}, data), {
32614
- [fieldName]: val
32615
- }))
32616
- )
32617
- },
32618
- subFieldName
32619
- );
32620
- }
32621
- )
32622
- }
32623
- ) })
32624
- ] })
32625
- },
32626
- _arrayId
32627
- )) : null,
32544
+ arrayState.items.map(({ data }, i) => {
32545
+ const { _arrayId, _originalIndex = i } = arrayState.items[i] || {};
32546
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
32547
+ Draggable2,
32548
+ {
32549
+ id: _arrayId,
32550
+ index: i,
32551
+ className: (_, snapshot2) => getClassNameItem({
32552
+ isExpanded: arrayState.openId === _arrayId,
32553
+ isDragging: snapshot2.isDragging,
32554
+ readOnly
32555
+ }),
32556
+ isDragDisabled: readOnly,
32557
+ children: () => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
32558
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
32559
+ "div",
32560
+ {
32561
+ onClick: () => {
32562
+ if (arrayState.openId === _arrayId) {
32563
+ setArrayState({
32564
+ openId: ""
32565
+ });
32566
+ } else {
32567
+ setArrayState({
32568
+ openId: _arrayId
32569
+ });
32570
+ }
32571
+ },
32572
+ className: getClassNameItem("summary"),
32573
+ children: [
32574
+ field.getItemSummary ? field.getItemSummary(data, i) : `Item #${_originalIndex}`,
32575
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: getClassNameItem("rhs"), children: [
32576
+ !readOnly && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: getClassNameItem("actions"), children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: getClassNameItem("action"), children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
32577
+ IconButton,
32578
+ {
32579
+ onClick: (e) => {
32580
+ e.stopPropagation();
32581
+ const existingValue = [
32582
+ ...value || []
32583
+ ];
32584
+ const existingItems = [
32585
+ ...arrayState.items || []
32586
+ ];
32587
+ existingValue.splice(i, 1);
32588
+ existingItems.splice(i, 1);
32589
+ setArrayState(
32590
+ { items: existingItems },
32591
+ true
32592
+ );
32593
+ onChange(existingValue);
32594
+ },
32595
+ title: "Delete",
32596
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(trash_default, { size: 16 })
32597
+ }
32598
+ ) }) }),
32599
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(DragIcon, {}) })
32600
+ ] })
32601
+ ]
32602
+ }
32603
+ ),
32604
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: getClassNameItem("body"), children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("fieldset", { className: getClassNameItem("fieldset"), children: Object.keys(field.arrayFields).map(
32605
+ (fieldName) => {
32606
+ const subField = field.arrayFields[fieldName];
32607
+ const subFieldName = `${name}[${i}].${fieldName}`;
32608
+ const wildcardFieldName = `${name}[*].${fieldName}`;
32609
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
32610
+ InputOrGroup,
32611
+ {
32612
+ name: subFieldName,
32613
+ label: subField.label || fieldName,
32614
+ readOnly: typeof readOnlyFields[subFieldName] !== "undefined" ? readOnlyFields[subFieldName] : readOnlyFields[wildcardFieldName],
32615
+ readOnlyFields,
32616
+ field: subField,
32617
+ value: data[fieldName],
32618
+ onChange: (val) => onChange(
32619
+ replace(value, i, __spreadProps(__spreadValues({}, data), {
32620
+ [fieldName]: val
32621
+ }))
32622
+ )
32623
+ },
32624
+ subFieldName
32625
+ );
32626
+ }
32627
+ ) }) })
32628
+ ] })
32629
+ },
32630
+ _arrayId
32631
+ );
32632
+ }),
32628
32633
  provided.placeholder,
32629
32634
  /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
32630
32635
  "button",
@@ -32692,18 +32697,19 @@ var DefaultField = ({
32692
32697
 
32693
32698
  // components/InputOrGroup/fields/ExternalField/index.tsx
32694
32699
  init_react_import();
32695
- var import_react29 = require("react");
32700
+ var import_react30 = require("react");
32696
32701
 
32697
32702
  // components/ExternalInput/index.tsx
32698
32703
  init_react_import();
32699
- var import_react28 = require("react");
32704
+ var import_react29 = require("react");
32700
32705
 
32701
32706
  // css-module:/home/runner/work/puck/puck/packages/core/components/ExternalInput/styles.module.css#css-module
32702
32707
  init_react_import();
32703
- var styles_module_default6 = { "ExternalInput": "_ExternalInput_z7jih_1", "ExternalInput-actions": "_ExternalInput-actions_z7jih_5", "ExternalInput-button": "_ExternalInput-button_z7jih_9", "ExternalInput-detachButton": "_ExternalInput-detachButton_z7jih_28", "ExternalInput--dataSelected": "_ExternalInput--dataSelected_z7jih_35", "ExternalInputModal": "_ExternalInputModal_z7jih_56", "ExternalInputModal-masthead": "_ExternalInputModal-masthead_z7jih_63", "ExternalInputModal-tableWrapper": "_ExternalInputModal-tableWrapper_z7jih_68", "ExternalInputModal-table": "_ExternalInputModal-table_z7jih_68", "ExternalInputModal-thead": "_ExternalInputModal-thead_z7jih_82", "ExternalInputModal-th": "_ExternalInputModal-th_z7jih_82", "ExternalInputModal-td": "_ExternalInputModal-td_z7jih_96", "ExternalInputModal-tr": "_ExternalInputModal-tr_z7jih_101", "ExternalInputModal-tbody": "_ExternalInputModal-tbody_z7jih_113", "ExternalInputModal--hasData": "_ExternalInputModal--hasData_z7jih_132", "ExternalInputModal-loadingBanner": "_ExternalInputModal-loadingBanner_z7jih_136", "ExternalInputModal--isLoading": "_ExternalInputModal--isLoading_z7jih_144", "ExternalInputModal-noContentBanner": "_ExternalInputModal-noContentBanner_z7jih_148", "ExternalInputModal--loaded": "_ExternalInputModal--loaded_z7jih_152" };
32708
+ var styles_module_default6 = { "ExternalInput": "_ExternalInput_157li_1", "ExternalInput-actions": "_ExternalInput-actions_157li_5", "ExternalInput-button": "_ExternalInput-button_157li_9", "ExternalInput-detachButton": "_ExternalInput-detachButton_157li_28", "ExternalInput--dataSelected": "_ExternalInput--dataSelected_157li_35", "ExternalInputModal": "_ExternalInputModal_157li_56", "ExternalInputModal-masthead": "_ExternalInputModal-masthead_157li_63", "ExternalInputModal-tableWrapper": "_ExternalInputModal-tableWrapper_157li_68", "ExternalInputModal-table": "_ExternalInputModal-table_157li_68", "ExternalInputModal-thead": "_ExternalInputModal-thead_157li_83", "ExternalInputModal-th": "_ExternalInputModal-th_157li_83", "ExternalInputModal-td": "_ExternalInputModal-td_157li_97", "ExternalInputModal-tr": "_ExternalInputModal-tr_157li_102", "ExternalInputModal-tbody": "_ExternalInputModal-tbody_157li_114", "ExternalInputModal--hasData": "_ExternalInputModal--hasData_157li_133", "ExternalInputModal-loadingBanner": "_ExternalInputModal-loadingBanner_157li_137", "ExternalInputModal--isLoading": "_ExternalInputModal--isLoading_157li_145", "ExternalInputModal-noContentBanner": "_ExternalInputModal-noContentBanner_157li_149", "ExternalInputModal--loaded": "_ExternalInputModal--loaded_157li_153" };
32704
32709
 
32705
32710
  // components/Modal/index.tsx
32706
32711
  init_react_import();
32712
+ var import_react28 = require("react");
32707
32713
 
32708
32714
  // css-module:/home/runner/work/puck/puck/packages/core/components/Modal/styles.module.css#css-module
32709
32715
  init_react_import();
@@ -32718,7 +32724,10 @@ var Modal = ({
32718
32724
  onClose,
32719
32725
  isOpen
32720
32726
  }) => {
32721
- const rootEl = document.getElementById("puck-portal-root");
32727
+ const [rootEl, setRootEl] = (0, import_react28.useState)(null);
32728
+ (0, import_react28.useEffect)(() => {
32729
+ setRootEl(document.getElementById("puck-portal-root"));
32730
+ }, []);
32722
32731
  if (!rootEl) {
32723
32732
  return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", {});
32724
32733
  }
@@ -32771,10 +32780,10 @@ var ExternalInput = ({
32771
32780
  name
32772
32781
  }) => {
32773
32782
  const { mapProp = (val) => val } = field || {};
32774
- const [data, setData] = (0, import_react28.useState)([]);
32775
- const [isOpen, setOpen] = (0, import_react28.useState)(false);
32776
- const [isLoading, setIsLoading] = (0, import_react28.useState)(true);
32777
- const keys = (0, import_react28.useMemo)(() => {
32783
+ const [data, setData] = (0, import_react29.useState)([]);
32784
+ const [isOpen, setOpen] = (0, import_react29.useState)(false);
32785
+ const [isLoading, setIsLoading] = (0, import_react29.useState)(true);
32786
+ const keys = (0, import_react29.useMemo)(() => {
32778
32787
  const validKeys = /* @__PURE__ */ new Set();
32779
32788
  for (const item of data) {
32780
32789
  for (const key of Object.keys(item)) {
@@ -32785,7 +32794,7 @@ var ExternalInput = ({
32785
32794
  }
32786
32795
  return Array.from(validKeys);
32787
32796
  }, [data]);
32788
- (0, import_react28.useEffect)(() => {
32797
+ (0, import_react29.useEffect)(() => {
32789
32798
  (() => __async(void 0, null, function* () {
32790
32799
  const listData = dataCache[name] || (yield field.fetchList());
32791
32800
  if (listData) {
@@ -32884,7 +32893,7 @@ var ExternalField = ({
32884
32893
  var _a, _b, _c;
32885
32894
  const validField = field;
32886
32895
  const deprecatedField = field;
32887
- (0, import_react29.useEffect)(() => {
32896
+ (0, import_react30.useEffect)(() => {
32888
32897
  if (deprecatedField.adaptor) {
32889
32898
  console.error(
32890
32899
  "Warning: The `adaptor` API is deprecated. Please use updated APIs on the `external` field instead. This will be a breaking change in a future release."
@@ -32906,7 +32915,7 @@ var ExternalField = ({
32906
32915
  name,
32907
32916
  field: __spreadProps(__spreadValues({}, validField), {
32908
32917
  // DEPRECATED
32909
- placeholder: ((_a = deprecatedField.adaptor) == null ? void 0 : _a.name) ? `Select from ${deprecatedField.adaptor.name}` : validField.placeholder,
32918
+ placeholder: ((_a = deprecatedField.adaptor) == null ? void 0 : _a.name) ? `Select from ${deprecatedField.adaptor.name}` : validField.placeholder || "Select data",
32910
32919
  mapProp: ((_b = deprecatedField.adaptor) == null ? void 0 : _b.mapProp) || validField.mapProp,
32911
32920
  fetchList: ((_c = deprecatedField.adaptor) == null ? void 0 : _c.fetchList) ? () => __async(void 0, null, function* () {
32912
32921
  return yield deprecatedField.adaptor.fetchList(
@@ -33101,17 +33110,19 @@ var FieldLabelInternal = ({
33101
33110
  var InputOrGroup = (_a) => {
33102
33111
  var _b = _a, { onChange } = _b, props = __objRest(_b, ["onChange"]);
33103
33112
  const { name, field, value, readOnly } = props;
33104
- const [localValue, setLocalValue] = (0, import_react30.useState)(value);
33105
- const [localValueDb] = (0, import_use_debounce2.useDebounce)(localValue, 50, { leading: true });
33106
- (0, import_react30.useEffect)(() => {
33107
- if (value !== localValueDb) {
33108
- onChange(localValueDb);
33109
- }
33110
- }, [localValueDb]);
33111
- const onChangeLocal = (0, import_react30.useCallback)((val) => {
33113
+ const [localValue, setLocalValue] = (0, import_react31.useState)(value);
33114
+ const onChangeDb = (0, import_use_debounce2.useDebouncedCallback)(
33115
+ (val) => {
33116
+ onChange(val);
33117
+ },
33118
+ 50,
33119
+ { leading: true }
33120
+ );
33121
+ const onChangeLocal = (0, import_react31.useCallback)((val) => {
33112
33122
  setLocalValue(val);
33123
+ onChangeDb(val);
33113
33124
  }, []);
33114
- (0, import_react30.useEffect)(() => {
33125
+ (0, import_react31.useEffect)(() => {
33115
33126
  setLocalValue(value);
33116
33127
  }, [value]);
33117
33128
  const localProps = {
@@ -33152,7 +33163,7 @@ var import_dnd6 = require("@hello-pangea/dnd");
33152
33163
 
33153
33164
  // css-module:/home/runner/work/puck/puck/packages/core/components/ComponentList/styles.module.css#css-module
33154
33165
  init_react_import();
33155
- var styles_module_default9 = { "ComponentList": "_ComponentList_3rdy2_1", "ComponentList--isExpanded": "_ComponentList--isExpanded_3rdy2_6", "ComponentList-content": "_ComponentList-content_3rdy2_10", "ComponentList-title": "_ComponentList-title_3rdy2_18", "ComponentList-titleIcon": "_ComponentList-titleIcon_3rdy2_39", "ComponentListItem": "_ComponentListItem_3rdy2_43", "ComponentListItem-draggable": "_ComponentListItem-draggable_3rdy2_43", "ComponentListItemIcon": "_ComponentListItemIcon_3rdy2_61", "ComponentList--isDraggingFrom": "_ComponentList--isDraggingFrom_3rdy2_65" };
33166
+ var styles_module_default9 = { "ComponentList": "_ComponentList_1m8r5_1", "ComponentList--isExpanded": "_ComponentList--isExpanded_1m8r5_6", "ComponentList-content": "_ComponentList-content_1m8r5_10", "ComponentList-title": "_ComponentList-title_1m8r5_18", "ComponentList-titleIcon": "_ComponentList-titleIcon_1m8r5_39", "ComponentListItem": "_ComponentListItem_1m8r5_43", "ComponentListItem-draggable": "_ComponentListItem-draggable_1m8r5_43", "ComponentListItem-name": "_ComponentListItem-name_1m8r5_60", "ComponentList--isDraggingFrom": "_ComponentList--isDraggingFrom_1m8r5_66" };
33156
33167
 
33157
33168
  // components/ComponentList/index.tsx
33158
33169
  var import_jsx_runtime18 = require("react/jsx-runtime");
@@ -33172,7 +33183,7 @@ var ComponentListItem = ({
33172
33183
  disableAnimations: true,
33173
33184
  className: () => getClassNameItem2("draggable"),
33174
33185
  children: () => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [
33175
- component,
33186
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: getClassNameItem2("name"), children: component }),
33176
33187
  /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: getClassNameItem2("icon"), children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(DragIcon, {}) })
33177
33188
  ] })
33178
33189
  },
@@ -33241,10 +33252,10 @@ ComponentList.Item = ComponentListItem;
33241
33252
 
33242
33253
  // lib/use-placeholder-style.ts
33243
33254
  init_react_import();
33244
- var import_react31 = require("react");
33255
+ var import_react32 = require("react");
33245
33256
  var usePlaceholderStyle = () => {
33246
33257
  const queryAttr = "data-rfd-drag-handle-draggable-id";
33247
- const [placeholderStyle, setPlaceholderStyle] = (0, import_react31.useState)();
33258
+ const [placeholderStyle, setPlaceholderStyle] = (0, import_react32.useState)();
33248
33259
  const onDragStartOrUpdate = (draggedItem) => {
33249
33260
  var _a;
33250
33261
  const draggableId = draggedItem.draggableId;
@@ -33292,11 +33303,11 @@ init_react_import();
33292
33303
 
33293
33304
  // css-module:/home/runner/work/puck/puck/packages/core/components/SidebarSection/styles.module.css#css-module
33294
33305
  init_react_import();
33295
- var styles_module_default10 = { "SidebarSection": "_SidebarSection_r7dv3_1", "SidebarSection-title": "_SidebarSection-title_r7dv3_12", "SidebarSection-content": "_SidebarSection-content_r7dv3_19", "SidebarSection--noPadding": "_SidebarSection--noPadding_r7dv3_24", "SidebarSection-breadcrumbLabel": "_SidebarSection-breadcrumbLabel_r7dv3_33", "SidebarSection-breadcrumbs": "_SidebarSection-breadcrumbs_r7dv3_44", "SidebarSection-breadcrumb": "_SidebarSection-breadcrumb_r7dv3_33", "SidebarSection-heading": "_SidebarSection-heading_r7dv3_56", "SidebarSection-loadingOverlay": "_SidebarSection-loadingOverlay_r7dv3_60" };
33306
+ var styles_module_default10 = { "SidebarSection": "_SidebarSection_1uyg2_1", "SidebarSection-title": "_SidebarSection-title_1uyg2_12", "SidebarSection-content": "_SidebarSection-content_1uyg2_19", "SidebarSection--noPadding": "_SidebarSection--noPadding_1uyg2_24", "SidebarSection-breadcrumbLabel": "_SidebarSection-breadcrumbLabel_1uyg2_37", "SidebarSection-breadcrumbs": "_SidebarSection-breadcrumbs_1uyg2_48", "SidebarSection-breadcrumb": "_SidebarSection-breadcrumb_1uyg2_37", "SidebarSection-heading": "_SidebarSection-heading_1uyg2_60", "SidebarSection-loadingOverlay": "_SidebarSection-loadingOverlay_1uyg2_64" };
33296
33307
 
33297
33308
  // lib/use-breadcrumbs.ts
33298
33309
  init_react_import();
33299
- var import_react32 = require("react");
33310
+ var import_react33 = require("react");
33300
33311
  var convertPathDataToBreadcrumbs = (selectedItem, pathData, data) => {
33301
33312
  const id = selectedItem ? selectedItem == null ? void 0 : selectedItem.props.id : "";
33302
33313
  const currentPathData = pathData && id && pathData[id] ? __spreadValues({}, pathData[id]) : { label: "Page", path: [] };
@@ -33346,8 +33357,8 @@ var useBreadcrumbs = (renderCount) => {
33346
33357
  state: { data },
33347
33358
  selectedItem
33348
33359
  } = useAppContext();
33349
- const dzContext = (0, import_react32.useContext)(dropZoneContext);
33350
- return (0, import_react32.useMemo)(() => {
33360
+ const dzContext = (0, import_react33.useContext)(dropZoneContext);
33361
+ return (0, import_react33.useMemo)(() => {
33351
33362
  const breadcrumbs = convertPathDataToBreadcrumbs(
33352
33363
  selectedItem,
33353
33364
  dzContext == null ? void 0 : dzContext.pathData,
@@ -33399,15 +33410,15 @@ init_react_import();
33399
33410
 
33400
33411
  // lib/use-puck-history.ts
33401
33412
  init_react_import();
33402
- var import_react34 = require("react");
33413
+ var import_react35 = require("react");
33403
33414
 
33404
33415
  // lib/use-action-history.ts
33405
33416
  init_react_import();
33406
- var import_react33 = require("react");
33417
+ var import_react34 = require("react");
33407
33418
  var EMPTY_HISTORY_INDEX = -1;
33408
33419
  function useActionHistory() {
33409
- const [histories, setHistories] = (0, import_react33.useState)([]);
33410
- const [currentHistoryIndex, setCurrentHistoryIndex] = (0, import_react33.useState)(EMPTY_HISTORY_INDEX);
33420
+ const [histories, setHistories] = (0, import_react34.useState)([]);
33421
+ const [currentHistoryIndex, setCurrentHistoryIndex] = (0, import_react34.useState)(EMPTY_HISTORY_INDEX);
33411
33422
  const currentHistory = histories[currentHistoryIndex];
33412
33423
  const canRewind = currentHistoryIndex > EMPTY_HISTORY_INDEX;
33413
33424
  const canForward = currentHistoryIndex < histories.length - 1;
@@ -33486,7 +33497,7 @@ function usePuckHistory({
33486
33497
  dispatch
33487
33498
  });
33488
33499
  }, DEBOUNCE_TIME);
33489
- (0, import_react34.useEffect)(() => {
33500
+ (0, import_react35.useEffect)(() => {
33490
33501
  historyEmitter.on(RECORD_DIFF, handleRecordDiff);
33491
33502
  return () => {
33492
33503
  historyEmitter.off(RECORD_DIFF, handleRecordDiff);
@@ -33828,7 +33839,7 @@ init_react_import();
33828
33839
 
33829
33840
  // css-module:/home/runner/work/puck/puck/packages/core/components/LayerTree/styles.module.css#css-module
33830
33841
  init_react_import();
33831
- var styles_module_default11 = { "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" };
33842
+ var styles_module_default11 = { "LayerTree": "_LayerTree_o89yt_1", "LayerTree-zoneTitle": "_LayerTree-zoneTitle_o89yt_11", "LayerTree-helper": "_LayerTree-helper_o89yt_17", "Layer": "_Layer_o89yt_1", "Layer-inner": "_Layer-inner_o89yt_29", "Layer--containsZone": "_Layer--containsZone_o89yt_35", "Layer-clickable": "_Layer-clickable_o89yt_39", "Layer--isSelected": "_Layer--isSelected_o89yt_48", "Layer--isHovering": "_Layer--isHovering_o89yt_49", "Layer-chevron": "_Layer-chevron_o89yt_65", "Layer--childIsSelected": "_Layer--childIsSelected_o89yt_66", "Layer-zones": "_Layer-zones_o89yt_70", "Layer-title": "_Layer-title_o89yt_84", "Layer-name": "_Layer-name_o89yt_93", "Layer-icon": "_Layer-icon_o89yt_99", "Layer-zoneIcon": "_Layer-zoneIcon_o89yt_104" };
33832
33843
 
33833
33844
  // lib/scroll-into-view.ts
33834
33845
  init_react_import();
@@ -33842,7 +33853,7 @@ var scrollIntoView = (el) => {
33842
33853
  };
33843
33854
 
33844
33855
  // components/LayerTree/index.tsx
33845
- var import_react35 = require("react");
33856
+ var import_react36 = require("react");
33846
33857
 
33847
33858
  // lib/find-zones-for-area.ts
33848
33859
  init_react_import();
@@ -33880,7 +33891,7 @@ var LayerTree = ({
33880
33891
  label
33881
33892
  }) => {
33882
33893
  const zones = data.zones || {};
33883
- const ctx = (0, import_react35.useContext)(dropZoneContext);
33894
+ const ctx = (0, import_react36.useContext)(dropZoneContext);
33884
33895
  return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
33885
33896
  label && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: getClassName17("zoneTitle"), children: [
33886
33897
  /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassName17("zoneIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(layers_default, { size: "16" }) }),
@@ -33954,7 +33965,7 @@ var LayerTree = ({
33954
33965
  ),
33955
33966
  /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: getClassNameLayer("title"), children: [
33956
33967
  /* @__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" }) }),
33957
- item.type
33968
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassNameLayer("name"), children: item.type })
33958
33969
  ] })
33959
33970
  ]
33960
33971
  }
@@ -34005,11 +34016,11 @@ var flushZones = (appState) => {
34005
34016
 
34006
34017
  // lib/use-component-list.tsx
34007
34018
  init_react_import();
34008
- var import_react36 = require("react");
34019
+ var import_react37 = require("react");
34009
34020
  var import_jsx_runtime21 = require("react/jsx-runtime");
34010
34021
  var useComponentList = (config, ui) => {
34011
- const [componentList, setComponentList] = (0, import_react36.useState)();
34012
- (0, import_react36.useEffect)(() => {
34022
+ const [componentList, setComponentList] = (0, import_react37.useState)();
34023
+ (0, import_react37.useEffect)(() => {
34013
34024
  var _a, _b, _c;
34014
34025
  if (Object.keys(ui.componentList).length > 0) {
34015
34026
  const matchedComponents = [];
@@ -34075,7 +34086,7 @@ var useComponentList = (config, ui) => {
34075
34086
 
34076
34087
  // lib/use-resolved-data.ts
34077
34088
  init_react_import();
34078
- var import_react37 = require("react");
34089
+ var import_react38 = require("react");
34079
34090
 
34080
34091
  // lib/resolve-component-data.ts
34081
34092
  init_react_import();
@@ -34190,19 +34201,19 @@ var resolveRootData = (data, config) => __async(void 0, null, function* () {
34190
34201
 
34191
34202
  // lib/use-resolved-data.ts
34192
34203
  var useResolvedData = (data, config, dispatch) => {
34193
- const [{ resolverKey, newData }, setResolverState] = (0, import_react37.useState)({
34204
+ const [{ resolverKey, newData }, setResolverState] = (0, import_react38.useState)({
34194
34205
  resolverKey: 0,
34195
34206
  newData: data
34196
34207
  });
34197
- const [componentState, setComponentState] = (0, import_react37.useState)({});
34208
+ const [componentState, setComponentState] = (0, import_react38.useState)({});
34198
34209
  const deferredSetStates = {};
34199
- const setComponentLoading = (0, import_react37.useCallback)(
34210
+ const setComponentLoading = (0, import_react38.useCallback)(
34200
34211
  (id, loading, defer = 0) => {
34201
34212
  if (deferredSetStates[id]) {
34202
34213
  clearTimeout(deferredSetStates[id]);
34203
34214
  delete deferredSetStates[id];
34204
34215
  }
34205
- const setLoading = deferredSetStates[id] = setTimeout(() => {
34216
+ deferredSetStates[id] = setTimeout(() => {
34206
34217
  setComponentState((prev) => __spreadProps(__spreadValues({}, prev), {
34207
34218
  [id]: __spreadProps(__spreadValues({}, prev[id]), { loading })
34208
34219
  }));
@@ -34254,10 +34265,10 @@ var useResolvedData = (data, config, dispatch) => {
34254
34265
  });
34255
34266
  yield Promise.all(promises);
34256
34267
  });
34257
- (0, import_react37.useEffect)(() => {
34268
+ (0, import_react38.useEffect)(() => {
34258
34269
  runResolvers();
34259
34270
  }, [resolverKey]);
34260
- const resolveData = (0, import_react37.useCallback)((newData2 = data) => {
34271
+ const resolveData = (0, import_react38.useCallback)((newData2 = data) => {
34261
34272
  setResolverState((curr) => ({
34262
34273
  resolverKey: curr.resolverKey + 1,
34263
34274
  newData: newData2
@@ -34269,8 +34280,13 @@ var useResolvedData = (data, config, dispatch) => {
34269
34280
  };
34270
34281
  };
34271
34282
 
34283
+ // css-module:/home/runner/work/puck/puck/packages/core/components/Puck/styles.module.css#css-module
34284
+ init_react_import();
34285
+ var styles_module_default12 = { "Puck": "_Puck_vj9gy_19", "Puck--leftSideBarVisible": "_Puck--leftSideBarVisible_vj9gy_36", "Puck-header": "_Puck-header_vj9gy_72", "Puck-headerInner": "_Puck-headerInner_vj9gy_79", "Puck-headerToggle": "_Puck-headerToggle_vj9gy_89", "Puck-headerTitle": "_Puck-headerTitle_vj9gy_93", "Puck-headerPath": "_Puck-headerPath_vj9gy_97", "Puck-headerTools": "_Puck-headerTools_vj9gy_104", "Puck-leftSideBar": "_Puck-leftSideBar_vj9gy_110", "Puck-frame": "_Puck-frame_vj9gy_119", "Puck-root": "_Puck-root_vj9gy_127", "Puck-page": "_Puck-page_vj9gy_139", "Puck-rightSideBar": "_Puck-rightSideBar_vj9gy_143" };
34286
+
34272
34287
  // components/Puck/index.tsx
34273
34288
  var import_jsx_runtime22 = require("react/jsx-runtime");
34289
+ var getClassName18 = get_class_name_factory_default("Puck", styles_module_default12);
34274
34290
  var defaultPageFields = {
34275
34291
  title: { type: "text" }
34276
34292
  };
@@ -34299,8 +34315,8 @@ function Puck({
34299
34315
  headerPath
34300
34316
  }) {
34301
34317
  var _a, _b;
34302
- const [reducer] = (0, import_react38.useState)(() => createReducer({ config }));
34303
- const initialAppState = __spreadProps(__spreadValues({}, defaultAppState), {
34318
+ const [reducer] = (0, import_react39.useState)(() => createReducer({ config }));
34319
+ const [initialAppState] = (0, import_react39.useState)(__spreadProps(__spreadValues({}, defaultAppState), {
34304
34320
  data: initialData,
34305
34321
  ui: __spreadProps(__spreadValues({}, defaultAppState.ui), {
34306
34322
  // Store categories under componentList on state to allow render functions and plugins to modify
@@ -34318,8 +34334,8 @@ function Puck({
34318
34334
  {}
34319
34335
  ) : {}
34320
34336
  })
34321
- });
34322
- const [appState, dispatch] = (0, import_react38.useReducer)(
34337
+ }));
34338
+ const [appState, dispatch] = (0, import_react39.useReducer)(
34323
34339
  reducer,
34324
34340
  flushZones(initialAppState)
34325
34341
  );
@@ -34334,7 +34350,7 @@ function Puck({
34334
34350
  dispatch
34335
34351
  });
34336
34352
  const { itemSelector, leftSideBarVisible } = ui;
34337
- const setItemSelector = (0, import_react38.useCallback)(
34353
+ const setItemSelector = (0, import_react39.useCallback)(
34338
34354
  (newItemSelector) => {
34339
34355
  dispatch({
34340
34356
  type: "setUi",
@@ -34344,7 +34360,7 @@ function Puck({
34344
34360
  []
34345
34361
  );
34346
34362
  const selectedItem = itemSelector ? getItem(itemSelector, data) : null;
34347
- const Page = (0, import_react38.useCallback)(
34363
+ const Page = (0, import_react39.useCallback)(
34348
34364
  (pageProps) => {
34349
34365
  var _a2, _b2;
34350
34366
  return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
@@ -34360,7 +34376,7 @@ function Puck({
34360
34376
  },
34361
34377
  [config.root]
34362
34378
  );
34363
- const PageFieldWrapper = (0, import_react38.useCallback)(
34379
+ const PageFieldWrapper = (0, import_react39.useCallback)(
34364
34380
  (props) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34365
34381
  PluginRenderer,
34366
34382
  {
@@ -34373,7 +34389,7 @@ function Puck({
34373
34389
  ),
34374
34390
  []
34375
34391
  );
34376
- const ComponentFieldWrapper = (0, import_react38.useCallback)(
34392
+ const ComponentFieldWrapper = (0, import_react39.useCallback)(
34377
34393
  (props) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34378
34394
  PluginRenderer,
34379
34395
  {
@@ -34386,7 +34402,7 @@ function Puck({
34386
34402
  ),
34387
34403
  []
34388
34404
  );
34389
- const ComponentListWrapper = (0, import_react38.useCallback)((props) => {
34405
+ const ComponentListWrapper = (0, import_react39.useCallback)((props) => {
34390
34406
  const children = /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34391
34407
  PluginRenderer,
34392
34408
  {
@@ -34406,22 +34422,22 @@ function Puck({
34406
34422
  const FieldWrapper = itemSelector ? ComponentFieldWrapper : PageFieldWrapper;
34407
34423
  const rootFields = ((_a = config.root) == null ? void 0 : _a.fields) || defaultPageFields;
34408
34424
  let fields = selectedItem ? ((_b = config.components[selectedItem.type]) == null ? void 0 : _b.fields) || {} : rootFields;
34409
- (0, import_react38.useEffect)(() => {
34425
+ (0, import_react39.useEffect)(() => {
34410
34426
  if (onChange)
34411
34427
  onChange(data);
34412
34428
  }, [data]);
34413
34429
  const { onDragStartOrUpdate, placeholderStyle } = usePlaceholderStyle();
34414
- const [draggedItem, setDraggedItem] = (0, import_react38.useState)();
34430
+ const [draggedItem, setDraggedItem] = (0, import_react39.useState)();
34415
34431
  const componentList = useComponentList(config, appState.ui);
34416
34432
  const rootProps = data.root.props || data.root;
34417
- (0, import_react38.useEffect)(() => {
34433
+ (0, import_react39.useEffect)(() => {
34418
34434
  if (Object.keys(data.root).length > 0 && !data.root.props) {
34419
34435
  console.error(
34420
34436
  "Warning: Defining props on `root` is deprecated. Please use `root.props`. This will be a breaking change in a future release."
34421
34437
  );
34422
34438
  }
34423
34439
  }, []);
34424
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "puck", children: [
34440
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
34425
34441
  /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34426
34442
  AppProvider,
34427
34443
  {
@@ -34495,361 +34511,237 @@ function Puck({
34495
34511
  },
34496
34512
  children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(dropZoneContext.Consumer, { children: (ctx) => {
34497
34513
  var _a2, _b2;
34498
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
34499
- "div",
34500
- {
34501
- style: {
34502
- display: "grid",
34503
- gridTemplateAreas: '"header header header" "left editor right"',
34504
- gridTemplateColumns: `${leftSideBarVisible ? "288px" : "0px"} auto 288px`,
34505
- gridTemplateRows: "min-content auto",
34506
- height: "100vh",
34507
- position: "fixed",
34508
- top: 0,
34509
- bottom: 0,
34510
- left: 0,
34511
- right: 0
34512
- },
34513
- children: [
34514
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34515
- "header",
34516
- {
34517
- style: {
34518
- gridArea: "header",
34519
- color: "var(--puck-color-black)",
34520
- background: "var(--puck-color-white)",
34521
- borderBottom: "1px solid var(--puck-color-grey-8)"
34522
- },
34523
- children: renderHeader ? renderHeader({
34514
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: getClassName18({ leftSideBarVisible }), children: [
34515
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("header", { className: getClassName18("header"), children: renderHeader ? renderHeader({
34516
+ children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34517
+ Button,
34518
+ {
34519
+ onClick: () => {
34520
+ onPublish(data);
34521
+ },
34522
+ icon: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(globe_default, { size: "14px" }),
34523
+ children: "Publish"
34524
+ }
34525
+ ),
34526
+ dispatch,
34527
+ state: appState
34528
+ }) : /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: getClassName18("headerInner"), children: [
34529
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: getClassName18("headerToggle"), children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34530
+ IconButton,
34531
+ {
34532
+ onClick: () => dispatch({
34533
+ type: "setUi",
34534
+ ui: {
34535
+ leftSideBarVisible: !leftSideBarVisible
34536
+ }
34537
+ }),
34538
+ title: "Toggle left sidebar",
34539
+ children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(sidebar_default, {})
34540
+ }
34541
+ ) }),
34542
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: getClassName18("headerTitle"), children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(Heading, { rank: 2, size: "xs", children: [
34543
+ headerTitle || rootProps.title || "Page",
34544
+ headerPath && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_jsx_runtime22.Fragment, { children: [
34545
+ " ",
34546
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("code", { className: getClassName18("headerPath"), children: headerPath })
34547
+ ] })
34548
+ ] }) }),
34549
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: getClassName18("headerTools"), children: [
34550
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { style: { display: "flex" }, children: [
34551
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34552
+ IconButton,
34553
+ {
34554
+ title: "undo",
34555
+ disabled: !canRewind,
34556
+ onClick: rewind,
34524
34557
  children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34525
- Button,
34558
+ chevron_left_default,
34526
34559
  {
34527
- onClick: () => {
34528
- onPublish(data);
34529
- },
34530
- icon: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(globe_default, { size: "14px" }),
34531
- children: "Publish"
34560
+ size: 21,
34561
+ stroke: canRewind ? "var(--puck-color-black)" : "var(--puck-color-grey-7)"
34532
34562
  }
34533
- ),
34534
- dispatch,
34535
- state: appState
34536
- }) : /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
34537
- "div",
34538
- {
34539
- style: {
34540
- display: "grid",
34541
- padding: 16,
34542
- gridTemplateAreas: '"left middle right"',
34543
- gridTemplateColumns: "344px auto 344px",
34544
- gridTemplateRows: "auto"
34545
- },
34546
- children: [
34547
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34548
- "div",
34549
- {
34550
- style: {
34551
- display: "flex",
34552
- gap: 16
34553
- },
34554
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34555
- IconButton,
34556
- {
34557
- onClick: () => dispatch({
34558
- type: "setUi",
34559
- ui: {
34560
- leftSideBarVisible: !leftSideBarVisible
34561
- }
34562
- }),
34563
- title: "Toggle left sidebar",
34564
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(sidebar_default, {})
34565
- }
34566
- )
34567
- }
34568
- ),
34569
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34570
- "div",
34571
- {
34572
- style: {
34573
- display: "flex",
34574
- justifyContent: "center",
34575
- alignItems: "center"
34576
- },
34577
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(Heading, { rank: 2, size: "xs", children: [
34578
- headerTitle || rootProps.title || "Page",
34579
- headerPath && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34580
- "small",
34581
- {
34582
- style: { fontWeight: 400, marginLeft: 4 },
34583
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("code", { children: headerPath })
34584
- }
34585
- )
34586
- ] })
34587
- }
34588
- ),
34589
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
34590
- "div",
34591
- {
34592
- style: {
34593
- display: "flex",
34594
- gap: 16,
34595
- justifyContent: "flex-end"
34596
- },
34597
- children: [
34598
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { style: { display: "flex" }, children: [
34599
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34600
- IconButton,
34601
- {
34602
- title: "undo",
34603
- disabled: !canRewind,
34604
- onClick: rewind,
34605
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34606
- chevron_left_default,
34607
- {
34608
- size: 21,
34609
- stroke: canRewind ? "var(--puck-color-black)" : "var(--puck-color-grey-7)"
34610
- }
34611
- )
34612
- }
34613
- ),
34614
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34615
- IconButton,
34616
- {
34617
- title: "redo",
34618
- disabled: !canForward,
34619
- onClick: forward,
34620
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34621
- chevron_right_default,
34622
- {
34623
- size: 21,
34624
- stroke: canForward ? "var(--puck-color-black)" : "var(--puck-color-grey-7)"
34625
- }
34626
- )
34627
- }
34628
- )
34629
- ] }),
34630
- renderHeaderActions && renderHeaderActions({
34631
- state: appState,
34632
- dispatch
34633
- }),
34634
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34635
- Button,
34636
- {
34637
- onClick: () => {
34638
- onPublish(data);
34639
- },
34640
- icon: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(globe_default, { size: "14px" }),
34641
- children: "Publish"
34642
- }
34643
- )
34644
- ]
34645
- }
34646
- )
34647
- ]
34648
- }
34649
- )
34650
- }
34651
- ),
34652
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
34653
- "div",
34563
+ )
34564
+ }
34565
+ ),
34566
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34567
+ IconButton,
34568
+ {
34569
+ title: "redo",
34570
+ disabled: !canForward,
34571
+ onClick: forward,
34572
+ children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34573
+ chevron_right_default,
34574
+ {
34575
+ size: 21,
34576
+ stroke: canForward ? "var(--puck-color-black)" : "var(--puck-color-grey-7)"
34577
+ }
34578
+ )
34579
+ }
34580
+ )
34581
+ ] }),
34582
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { children: renderHeaderActions && renderHeaderActions({
34583
+ state: appState,
34584
+ dispatch
34585
+ }) }),
34586
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34587
+ Button,
34654
34588
  {
34655
- style: {
34656
- gridArea: "left",
34657
- background: "var(--puck-color-grey-11)",
34658
- borderRight: "1px solid var(--puck-color-grey-8)",
34659
- overflowY: "auto",
34660
- display: "flex",
34661
- flexDirection: "column"
34589
+ onClick: () => {
34590
+ onPublish(data);
34662
34591
  },
34663
- children: [
34664
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(SidebarSection, { title: "Components", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ComponentListWrapper, { children: componentList ? componentList : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ComponentList, { id: "all" }) }) }),
34665
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(SidebarSection, { title: "Outline", children: [
34666
- (ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId]) && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34667
- LayerTree,
34668
- {
34669
- data,
34670
- label: areaContainsZones(data, "root") ? rootDroppableId : "",
34671
- zoneContent: data.content,
34672
- setItemSelector,
34673
- itemSelector
34674
- }
34675
- ),
34676
- Object.entries(findZonesForArea(data, "root")).map(
34677
- ([zoneKey, zone]) => {
34678
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34679
- LayerTree,
34680
- {
34681
- data,
34682
- label: zoneKey,
34683
- zone: zoneKey,
34684
- zoneContent: zone,
34685
- setItemSelector,
34686
- itemSelector
34687
- },
34688
- zoneKey
34689
- );
34690
- }
34691
- )
34692
- ] })
34693
- ]
34592
+ icon: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(globe_default, { size: "14px" }),
34593
+ children: "Publish"
34694
34594
  }
34695
- ),
34696
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
34697
- "div",
34595
+ ) })
34596
+ ] })
34597
+ ] }) }),
34598
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: getClassName18("leftSideBar"), children: [
34599
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(SidebarSection, { title: "Components", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ComponentListWrapper, { children: componentList ? componentList : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ComponentList, { id: "all" }) }) }),
34600
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(SidebarSection, { title: "Outline", children: [
34601
+ (ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId]) && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34602
+ LayerTree,
34698
34603
  {
34699
- style: {
34700
- overflowY: "auto",
34701
- gridArea: "editor",
34702
- position: "relative",
34703
- display: "flex",
34704
- flexDirection: "column"
34705
- },
34706
- onClick: () => setItemSelector(null),
34707
- id: "puck-frame",
34708
- children: [
34709
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34710
- "div",
34711
- {
34712
- className: "puck-root",
34713
- style: {
34714
- boxShadow: "0px 0px 0px 32px var(--puck-color-grey-10)",
34715
- margin: 32,
34716
- zoom: 0.75
34717
- },
34718
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34719
- "div",
34720
- {
34721
- style: {
34722
- border: "1px solid var(--puck-color-grey-8)"
34723
- },
34724
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34725
- Page,
34726
- __spreadProps(__spreadValues({
34727
- dispatch,
34728
- state: appState
34729
- }, data.root), {
34730
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DropZone, { zone: rootDroppableId })
34731
- })
34732
- )
34733
- }
34734
- )
34735
- }
34736
- ),
34737
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34738
- "div",
34739
- {
34740
- style: {
34741
- background: "var(--puck-color-grey-10)",
34742
- height: "100%",
34743
- flexGrow: 1
34744
- }
34745
- }
34746
- )
34747
- ]
34604
+ data,
34605
+ label: areaContainsZones(data, "root") ? rootDroppableId : "",
34606
+ zoneContent: data.content,
34607
+ setItemSelector,
34608
+ itemSelector
34748
34609
  }
34749
34610
  ),
34750
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34751
- "div",
34752
- {
34753
- style: {
34754
- borderLeft: "1px solid var(--puck-color-grey-8)",
34755
- overflowY: "auto",
34756
- gridArea: "right",
34757
- fontFamily: "var(--puck-font-stack)",
34758
- display: "flex",
34759
- flexDirection: "column",
34760
- background: "var(--puck-color-white)"
34761
- },
34762
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(FieldWrapper, { dispatch, state: appState, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34763
- SidebarSection,
34611
+ Object.entries(findZonesForArea(data, "root")).map(
34612
+ ([zoneKey, zone]) => {
34613
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34614
+ LayerTree,
34764
34615
  {
34765
- noPadding: true,
34766
- showBreadcrumbs: true,
34767
- title: selectedItem ? selectedItem.type : "Page",
34768
- isLoading: selectedItem ? (_a2 = componentState[selectedItem == null ? void 0 : selectedItem.props.id]) == null ? void 0 : _a2.loading : (_b2 = componentState["puck-root"]) == null ? void 0 : _b2.loading,
34769
- children: Object.keys(fields).map((fieldName) => {
34770
- const field = fields[fieldName];
34771
- const onChange2 = (value) => {
34772
- var _a3, _b3;
34773
- let currentProps;
34774
- if (selectedItem) {
34775
- currentProps = selectedItem.props;
34776
- } else {
34777
- currentProps = data.root;
34778
- }
34779
- const newProps = __spreadProps(__spreadValues({}, currentProps), {
34780
- [fieldName]: value
34781
- });
34782
- if (itemSelector) {
34783
- const action = {
34784
- type: "replace",
34785
- destinationIndex: itemSelector.index,
34786
- destinationZone: itemSelector.zone || rootDroppableId,
34787
- data: __spreadProps(__spreadValues({}, selectedItem), { props: newProps })
34788
- };
34789
- if ((_a3 = config.components[selectedItem.type]) == null ? void 0 : _a3.resolveData) {
34790
- resolveData(replaceAction(data, action));
34791
- } else {
34792
- dispatch(action);
34793
- }
34794
- } else {
34795
- if (data.root.props) {
34796
- if ((_b3 = config.root) == null ? void 0 : _b3.resolveData) {
34797
- resolveData(__spreadProps(__spreadValues({}, data), {
34798
- root: { props: { newProps } }
34799
- }));
34800
- } else {
34801
- dispatch({
34802
- type: "setData",
34803
- data: { root: { props: { newProps } } }
34804
- });
34805
- }
34806
- } else {
34807
- dispatch({
34808
- type: "setData",
34809
- data: { root: newProps }
34810
- });
34811
- }
34812
- }
34813
- };
34814
- if (selectedItem && itemSelector) {
34815
- const { readOnly = {} } = selectedItem;
34816
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34817
- InputOrGroup,
34818
- {
34819
- field,
34820
- name: fieldName,
34821
- label: field.label,
34822
- readOnly: readOnly[fieldName],
34823
- readOnlyFields: readOnly,
34824
- value: selectedItem.props[fieldName],
34825
- onChange: onChange2
34826
- },
34827
- `${selectedItem.props.id}_${fieldName}`
34828
- );
34829
- } else {
34830
- const { readOnly = {} } = data.root;
34831
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34832
- InputOrGroup,
34833
- {
34834
- field,
34835
- name: fieldName,
34836
- label: field.label,
34837
- readOnly: readOnly[fieldName],
34838
- readOnlyFields: readOnly,
34839
- value: rootProps[fieldName],
34840
- onChange: onChange2
34841
- },
34842
- `page_${fieldName}`
34843
- );
34844
- }
34845
- })
34846
- }
34847
- ) })
34616
+ data,
34617
+ label: zoneKey,
34618
+ zone: zoneKey,
34619
+ zoneContent: zone,
34620
+ setItemSelector,
34621
+ itemSelector
34622
+ },
34623
+ zoneKey
34624
+ );
34848
34625
  }
34849
34626
  )
34850
- ]
34851
- }
34852
- );
34627
+ ] })
34628
+ ] }),
34629
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
34630
+ "div",
34631
+ {
34632
+ className: getClassName18("frame"),
34633
+ onClick: () => setItemSelector(null),
34634
+ id: "puck-frame",
34635
+ children: [
34636
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: getClassName18("root"), children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: getClassName18("page"), children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34637
+ Page,
34638
+ __spreadProps(__spreadValues({
34639
+ dispatch,
34640
+ state: appState
34641
+ }, rootProps), {
34642
+ children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DropZone, { zone: rootDroppableId })
34643
+ })
34644
+ ) }) }),
34645
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34646
+ "div",
34647
+ {
34648
+ style: {
34649
+ background: "var(--puck-color-grey-10)",
34650
+ height: "100%",
34651
+ flexGrow: 1
34652
+ }
34653
+ }
34654
+ )
34655
+ ]
34656
+ }
34657
+ ),
34658
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: getClassName18("rightSideBar"), children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(FieldWrapper, { dispatch, state: appState, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34659
+ SidebarSection,
34660
+ {
34661
+ noPadding: true,
34662
+ showBreadcrumbs: true,
34663
+ title: selectedItem ? selectedItem.type : "Page",
34664
+ isLoading: selectedItem ? (_a2 = componentState[selectedItem == null ? void 0 : selectedItem.props.id]) == null ? void 0 : _a2.loading : (_b2 = componentState["puck-root"]) == null ? void 0 : _b2.loading,
34665
+ children: Object.keys(fields).map((fieldName) => {
34666
+ const field = fields[fieldName];
34667
+ const onChange2 = (value) => {
34668
+ var _a3, _b3;
34669
+ let currentProps;
34670
+ if (selectedItem) {
34671
+ currentProps = selectedItem.props;
34672
+ } else {
34673
+ currentProps = rootProps;
34674
+ }
34675
+ const newProps = __spreadProps(__spreadValues({}, currentProps), {
34676
+ [fieldName]: value
34677
+ });
34678
+ if (itemSelector) {
34679
+ const action = {
34680
+ type: "replace",
34681
+ destinationIndex: itemSelector.index,
34682
+ destinationZone: itemSelector.zone || rootDroppableId,
34683
+ data: __spreadProps(__spreadValues({}, selectedItem), { props: newProps })
34684
+ };
34685
+ if ((_a3 = config.components[selectedItem.type]) == null ? void 0 : _a3.resolveData) {
34686
+ resolveData(replaceAction(data, action));
34687
+ } else {
34688
+ dispatch(action);
34689
+ }
34690
+ } else {
34691
+ if (data.root.props) {
34692
+ if ((_b3 = config.root) == null ? void 0 : _b3.resolveData) {
34693
+ resolveData(__spreadProps(__spreadValues({}, data), {
34694
+ root: { props: newProps }
34695
+ }));
34696
+ } else {
34697
+ dispatch({
34698
+ type: "setData",
34699
+ data: { root: { props: newProps } }
34700
+ });
34701
+ }
34702
+ } else {
34703
+ dispatch({
34704
+ type: "setData",
34705
+ data: { root: newProps }
34706
+ });
34707
+ }
34708
+ }
34709
+ };
34710
+ if (selectedItem && itemSelector) {
34711
+ const { readOnly = {} } = selectedItem;
34712
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34713
+ InputOrGroup,
34714
+ {
34715
+ field,
34716
+ name: fieldName,
34717
+ label: field.label,
34718
+ readOnly: readOnly[fieldName],
34719
+ readOnlyFields: readOnly,
34720
+ value: selectedItem.props[fieldName],
34721
+ onChange: onChange2
34722
+ },
34723
+ `${selectedItem.props.id}_${fieldName}`
34724
+ );
34725
+ } else {
34726
+ const { readOnly = {} } = data.root;
34727
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
34728
+ InputOrGroup,
34729
+ {
34730
+ field,
34731
+ name: fieldName,
34732
+ label: field.label,
34733
+ readOnly: readOnly[fieldName],
34734
+ readOnlyFields: readOnly,
34735
+ value: rootProps[fieldName],
34736
+ onChange: onChange2
34737
+ },
34738
+ `page_${fieldName}`
34739
+ );
34740
+ }
34741
+ })
34742
+ }
34743
+ ) }) })
34744
+ ] });
34853
34745
  } })
34854
34746
  }
34855
34747
  )