@reacteditor/core 0.0.3 → 0.0.5

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.
Files changed (46) hide show
  1. package/dist/{Editor-2TYODRQT.mjs → Editor-POJT3RA2.mjs} +8 -8
  2. package/dist/{Editor-GBV2O5RD.css → Editor-WYZZDKT3.css} +7 -7
  3. package/dist/{Render-VDC7AEQK.mjs → Render-JNABKPAF.mjs} +1 -1
  4. package/dist/{Render-EFT7YD2C.css → Render-WBTAN6PO.css} +1 -1
  5. package/dist/{actions-BCDhqbeL.d.mts → actions-CQmL3wwa.d.mts} +11 -6
  6. package/dist/{actions-BCDhqbeL.d.ts → actions-CQmL3wwa.d.ts} +11 -6
  7. package/dist/{chunk-6Q6A3BQH.mjs → chunk-43G2QHSV.mjs} +12 -12
  8. package/dist/{chunk-HMTHZBH6.mjs → chunk-5N6RK26Z.mjs} +1 -1
  9. package/dist/{chunk-ZHNRSSMW.mjs → chunk-DCL4UC2H.mjs} +1 -1
  10. package/dist/{chunk-2LVYDXZS.mjs → chunk-IUOWXGYR.mjs} +2 -2
  11. package/dist/{chunk-M2RKJTNY.mjs → chunk-JEDWXGVP.mjs} +1 -1
  12. package/dist/{chunk-MFI3RDA4.mjs → chunk-KC727YFW.mjs} +1 -1
  13. package/dist/{chunk-QX2COKIL.mjs → chunk-QB3US7UE.mjs} +235 -266
  14. package/dist/{chunk-VUEM62JF.mjs → chunk-UB2DES2O.mjs} +17 -6
  15. package/dist/{chunk-TCVU3WEN.mjs → chunk-X7IRHSQN.mjs} +4 -4
  16. package/dist/{chunk-VD3EVRUF.mjs → chunk-YFRH22NT.mjs} +2 -2
  17. package/dist/{full-ELX6RALJ.css → full-5442HPZH.css} +6 -6
  18. package/dist/{full-7KJICNR5.mjs → full-HZMEMWCN.mjs} +6 -6
  19. package/dist/{index-DVwiIwYU.d.mts → index-BOP2qNVA.d.mts} +1 -1
  20. package/dist/{index-ComBHfdn.d.ts → index-_G46lHpL.d.ts} +1 -1
  21. package/dist/index.css +93 -92
  22. package/dist/index.d.mts +11 -20
  23. package/dist/index.d.ts +11 -20
  24. package/dist/index.js +269 -296
  25. package/dist/index.mjs +10 -10
  26. package/dist/internal.d.mts +2 -2
  27. package/dist/internal.d.ts +2 -2
  28. package/dist/internal.js +17 -6
  29. package/dist/internal.mjs +1 -1
  30. package/dist/{loaded-IJNA4SY5.mjs → loaded-35JQLXSA.mjs} +3 -3
  31. package/dist/{loaded-TBSVRJPY.css → loaded-KZZU4RNL.css} +1 -1
  32. package/dist/{loaded-CBJRWD4Z.mjs → loaded-QJMKRN35.mjs} +3 -3
  33. package/dist/{loaded-DGSPK47E.mjs → loaded-U6ZILQXM.mjs} +3 -3
  34. package/dist/no-external.css +93 -92
  35. package/dist/no-external.d.mts +4 -4
  36. package/dist/no-external.d.ts +4 -4
  37. package/dist/no-external.js +269 -296
  38. package/dist/no-external.mjs +10 -10
  39. package/dist/rsc.css +1 -1
  40. package/dist/rsc.d.mts +2 -2
  41. package/dist/rsc.d.ts +2 -2
  42. package/dist/rsc.js +4 -4
  43. package/dist/rsc.mjs +2 -2
  44. package/dist/{walk-tree-BPIigVTF.d.mts → walk-tree-Dwv3c_9M.d.mts} +1 -1
  45. package/dist/{walk-tree-BZq1CPCH.d.ts → walk-tree-DxSkPLnl.d.ts} +1 -1
  46. package/package.json +8 -3
package/dist/index.js CHANGED
@@ -186,16 +186,16 @@ var init_get_class_name_factory = __esm({
186
186
  }
187
187
  });
188
188
 
189
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/ActionBar/styles.module.css/#css-module-data
189
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/ActionBar/styles.module.css/#css-module-data
190
190
  var init_css_module_data = __esm({
191
- "css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/ActionBar/styles.module.css/#css-module-data"() {
191
+ "css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/ActionBar/styles.module.css/#css-module-data"() {
192
192
  }
193
193
  });
194
194
 
195
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/ActionBar/styles.module.css#css-module
195
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/ActionBar/styles.module.css#css-module
196
196
  var styles_module_default;
197
197
  var init_styles_module = __esm({
198
- "css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/ActionBar/styles.module.css#css-module"() {
198
+ "css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/ActionBar/styles.module.css#css-module"() {
199
199
  "use strict";
200
200
  init_react_import();
201
201
  init_css_module_data();
@@ -1214,16 +1214,16 @@ var init_lucide_react = __esm({
1214
1214
  }
1215
1215
  });
1216
1216
 
1217
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/IconButton/IconButton.module.css/#css-module-data
1217
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/IconButton/IconButton.module.css/#css-module-data
1218
1218
  var init_css_module_data2 = __esm({
1219
- "css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/IconButton/IconButton.module.css/#css-module-data"() {
1219
+ "css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/IconButton/IconButton.module.css/#css-module-data"() {
1220
1220
  }
1221
1221
  });
1222
1222
 
1223
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/IconButton/IconButton.module.css#css-module
1223
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/IconButton/IconButton.module.css#css-module
1224
1224
  var IconButton_module_default;
1225
1225
  var init_IconButton_module = __esm({
1226
- "css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/IconButton/IconButton.module.css#css-module"() {
1226
+ "css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/IconButton/IconButton.module.css#css-module"() {
1227
1227
  "use strict";
1228
1228
  init_react_import();
1229
1229
  init_css_module_data2();
@@ -1841,20 +1841,31 @@ var init_populate_ids = __esm({
1841
1841
 
1842
1842
  // reducer/actions/insert.ts
1843
1843
  function insertAction(state, action, appStore) {
1844
+ var _a, _b;
1844
1845
  const id = action.id || generateId(action.componentType);
1846
+ const componentConfig = appStore.config.components[action.componentType];
1847
+ const isGlobalType = (componentConfig == null ? void 0 : componentConfig.global) === true;
1848
+ const defaultProps = (componentConfig == null ? void 0 : componentConfig.defaultProps) || {};
1845
1849
  const emptyComponentData = populateIds(
1846
- {
1850
+ __spreadValues({
1847
1851
  type: action.componentType,
1848
- props: __spreadProps(__spreadValues({}, appStore.config.components[action.componentType].defaultProps || {}), {
1849
- id
1850
- })
1851
- },
1852
+ props: __spreadProps(__spreadValues({}, defaultProps), { id })
1853
+ }, isGlobalType ? { synced: true } : {}),
1852
1854
  appStore.config
1853
1855
  );
1854
1856
  const [parentId] = action.destinationZone.split(":");
1855
1857
  const idsInPath = getIdsForParent(action.destinationZone, state);
1858
+ let nextData = state.data;
1859
+ if (isGlobalType && !((_a = nextData.globals) != null ? _a : {})[action.componentType]) {
1860
+ nextData = __spreadProps(__spreadValues({}, nextData), {
1861
+ globals: __spreadProps(__spreadValues({}, (_b = nextData.globals) != null ? _b : {}), {
1862
+ [action.componentType]: { props: __spreadValues({}, defaultProps) }
1863
+ })
1864
+ });
1865
+ }
1866
+ const seededState = nextData === state.data ? state : __spreadProps(__spreadValues({}, state), { data: nextData });
1856
1867
  return walkAppState(
1857
- state,
1868
+ seededState,
1858
1869
  appStore.config,
1859
1870
  (content, zoneCompound) => {
1860
1871
  if (zoneCompound === action.destinationZone) {
@@ -3561,16 +3572,16 @@ var init_lib = __esm({
3561
3572
  }
3562
3573
  });
3563
3574
 
3564
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/Loader/styles.module.css/#css-module-data
3575
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/Loader/styles.module.css/#css-module-data
3565
3576
  var init_css_module_data3 = __esm({
3566
- "css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/Loader/styles.module.css/#css-module-data"() {
3577
+ "css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/Loader/styles.module.css/#css-module-data"() {
3567
3578
  }
3568
3579
  });
3569
3580
 
3570
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/Loader/styles.module.css#css-module
3581
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/Loader/styles.module.css#css-module
3571
3582
  var styles_module_default4;
3572
3583
  var init_styles_module2 = __esm({
3573
- "css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/Loader/styles.module.css#css-module"() {
3584
+ "css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/Loader/styles.module.css#css-module"() {
3574
3585
  "use strict";
3575
3586
  init_react_import();
3576
3587
  init_css_module_data3();
@@ -3686,16 +3697,16 @@ var init_IconButton2 = __esm({
3686
3697
  }
3687
3698
  });
3688
3699
 
3689
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/RichTextMenu/styles.module.css/#css-module-data
3700
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/RichTextMenu/styles.module.css/#css-module-data
3690
3701
  var init_css_module_data4 = __esm({
3691
- "css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/RichTextMenu/styles.module.css/#css-module-data"() {
3702
+ "css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/RichTextMenu/styles.module.css/#css-module-data"() {
3692
3703
  }
3693
3704
  });
3694
3705
 
3695
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/RichTextMenu/styles.module.css#css-module
3706
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/RichTextMenu/styles.module.css#css-module
3696
3707
  var styles_module_default10;
3697
3708
  var init_styles_module3 = __esm({
3698
- "css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/RichTextMenu/styles.module.css#css-module"() {
3709
+ "css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/RichTextMenu/styles.module.css#css-module"() {
3699
3710
  "use strict";
3700
3711
  init_react_import();
3701
3712
  init_css_module_data4();
@@ -3703,16 +3714,16 @@ var init_styles_module3 = __esm({
3703
3714
  }
3704
3715
  });
3705
3716
 
3706
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/RichTextMenu/components/Control/styles.module.css/#css-module-data
3717
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/RichTextMenu/components/Control/styles.module.css/#css-module-data
3707
3718
  var init_css_module_data5 = __esm({
3708
- "css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/RichTextMenu/components/Control/styles.module.css/#css-module-data"() {
3719
+ "css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/RichTextMenu/components/Control/styles.module.css/#css-module-data"() {
3709
3720
  }
3710
3721
  });
3711
3722
 
3712
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/RichTextMenu/components/Control/styles.module.css#css-module
3723
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/RichTextMenu/components/Control/styles.module.css#css-module
3713
3724
  var styles_module_default11;
3714
3725
  var init_styles_module4 = __esm({
3715
- "css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/RichTextMenu/components/Control/styles.module.css#css-module"() {
3726
+ "css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/RichTextMenu/components/Control/styles.module.css#css-module"() {
3716
3727
  "use strict";
3717
3728
  init_react_import();
3718
3729
  init_css_module_data5();
@@ -3897,16 +3908,16 @@ var init_AlignJustify = __esm({
3897
3908
  }
3898
3909
  });
3899
3910
 
3900
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/Select/styles.module.css/#css-module-data
3911
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/Select/styles.module.css/#css-module-data
3901
3912
  var init_css_module_data6 = __esm({
3902
- "css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/Select/styles.module.css/#css-module-data"() {
3913
+ "css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/Select/styles.module.css/#css-module-data"() {
3903
3914
  }
3904
3915
  });
3905
3916
 
3906
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/Select/styles.module.css#css-module
3917
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/Select/styles.module.css#css-module
3907
3918
  var styles_module_default12;
3908
3919
  var init_styles_module5 = __esm({
3909
- "css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/Select/styles.module.css#css-module"() {
3920
+ "css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/Select/styles.module.css#css-module"() {
3910
3921
  "use strict";
3911
3922
  init_react_import();
3912
3923
  init_css_module_data6();
@@ -4871,16 +4882,16 @@ var init_inner = __esm({
4871
4882
  }
4872
4883
  });
4873
4884
 
4874
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/RichTextEditor/styles.module.css/#css-module-data
4885
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/RichTextEditor/styles.module.css/#css-module-data
4875
4886
  var init_css_module_data7 = __esm({
4876
- "css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/RichTextEditor/styles.module.css/#css-module-data"() {
4887
+ "css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/RichTextEditor/styles.module.css/#css-module-data"() {
4877
4888
  }
4878
4889
  });
4879
4890
 
4880
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/RichTextEditor/styles.module.css#css-module
4891
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/RichTextEditor/styles.module.css#css-module
4881
4892
  var styles_module_default13;
4882
4893
  var init_styles_module6 = __esm({
4883
- "css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/RichTextEditor/styles.module.css#css-module"() {
4894
+ "css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/RichTextEditor/styles.module.css#css-module"() {
4884
4895
  "use strict";
4885
4896
  init_react_import();
4886
4897
  init_css_module_data7();
@@ -5531,7 +5542,7 @@ init_ActionBar();
5531
5542
  init_react_import();
5532
5543
  init_get_class_name_factory();
5533
5544
 
5534
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/AutoField/styles.module.css#css-module
5545
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/AutoField/styles.module.css#css-module
5535
5546
  init_react_import();
5536
5547
  var styles_module_default2 = { "InputWrapper": "_InputWrapper_yqqgz_1", "Input-label": "_Input-label_yqqgz_5", "Input-labelIcon": "_Input-labelIcon_yqqgz_15", "Input-disabledIcon": "_Input-disabledIcon_yqqgz_22", "Input-input": "_Input-input_yqqgz_27", "Input": "_Input_yqqgz_1", "Input--readOnly": "_Input--readOnly_yqqgz_87", "Input-radioGroupItems": "_Input-radioGroupItems_yqqgz_98", "Input-radio": "_Input-radio_yqqgz_98", "Input-radioInner": "_Input-radioInner_yqqgz_115", "Input-radioInput": "_Input-radioInput_yqqgz_147" };
5537
5548
 
@@ -5545,7 +5556,7 @@ init_react_import();
5545
5556
  init_react_import();
5546
5557
  init_get_class_name_factory();
5547
5558
 
5548
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/AutoField/fields/ArrayField/styles.module.css#css-module
5559
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/AutoField/fields/ArrayField/styles.module.css#css-module
5549
5560
  init_react_import();
5550
5561
  var styles_module_default3 = { "ArrayField": "_ArrayField_13xcf_5", "ArrayField--isDraggingFrom": "_ArrayField--isDraggingFrom_13xcf_14", "ArrayField-addButton": "_ArrayField-addButton_13xcf_19", "ArrayField--hasItems": "_ArrayField--hasItems_13xcf_35", "ArrayField-inner": "_ArrayField-inner_13xcf_61", "ArrayFieldItem": "_ArrayFieldItem_13xcf_69", "ArrayFieldItem--isDragging": "_ArrayFieldItem--isDragging_13xcf_78", "ArrayFieldItem--isExpanded": "_ArrayFieldItem--isExpanded_13xcf_82", "ArrayFieldItem-summary": "_ArrayFieldItem-summary_13xcf_97", "ArrayFieldItem--noFields": "_ArrayFieldItem--noFields_13xcf_118", "ArrayFieldItem-body": "_ArrayFieldItem-body_13xcf_147", "ArrayFieldItem-fieldset": "_ArrayFieldItem-fieldset_13xcf_156", "ArrayFieldItem-rhs": "_ArrayFieldItem-rhs_13xcf_164", "ArrayFieldItem-actions": "_ArrayFieldItem-actions_13xcf_170" };
5551
5562
 
@@ -5612,7 +5623,7 @@ var import_react17 = require("react");
5612
5623
  init_react_import();
5613
5624
  init_lib();
5614
5625
 
5615
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/DragIcon/styles.module.css#css-module
5626
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/DragIcon/styles.module.css#css-module
5616
5627
  init_react_import();
5617
5628
  var styles_module_default5 = { "DragIcon": "_DragIcon_53afe_1", "DragIcon--disabled": "_DragIcon--disabled_53afe_8" };
5618
5629
 
@@ -5633,11 +5644,14 @@ init_react_import();
5633
5644
  var import_react12 = require("react");
5634
5645
  var import_react13 = require("@dnd-kit/react");
5635
5646
  var import_utilities = require("@dnd-kit/dom/utilities");
5636
- var touchDefault = { delay: { value: 200, tolerance: 10 } };
5637
- var otherDefault = {
5638
- delay: { value: 200, tolerance: 10 },
5639
- distance: { value: 5 }
5640
- };
5647
+ var import_dom = require("@dnd-kit/dom");
5648
+ var touchDefault = [
5649
+ new import_dom.PointerActivationConstraints.Delay({ value: 200, tolerance: 10 })
5650
+ ];
5651
+ var otherDefault = [
5652
+ new import_dom.PointerActivationConstraints.Delay({ value: 200, tolerance: 10 }),
5653
+ new import_dom.PointerActivationConstraints.Distance({ value: 5 })
5654
+ ];
5641
5655
  var useSensors = ({
5642
5656
  other = otherDefault,
5643
5657
  mouse,
@@ -5666,7 +5680,7 @@ var useSensors = ({
5666
5680
 
5667
5681
  // lib/dnd/collision/dynamic/index.ts
5668
5682
  init_react_import();
5669
- var import_abstract8 = require("@dnd-kit/abstract");
5683
+ var import_abstract2 = require("@dnd-kit/abstract");
5670
5684
 
5671
5685
  // lib/dnd/collision/directional/index.ts
5672
5686
  init_react_import();
@@ -5811,70 +5825,8 @@ var trackMovementInterval = (point, dragAxis = "dynamic") => {
5811
5825
  return intervalCache;
5812
5826
  };
5813
5827
 
5814
- // ../../node_modules/@dnd-kit/collision/dist/index.js
5815
- init_react_import();
5816
- var import_abstract2 = require("@dnd-kit/abstract");
5817
- var import_geometry2 = require("@dnd-kit/geometry");
5818
- var import_abstract3 = require("@dnd-kit/abstract");
5819
- var import_geometry3 = require("@dnd-kit/geometry");
5820
- var import_abstract4 = require("@dnd-kit/abstract");
5821
- var import_geometry4 = require("@dnd-kit/geometry");
5822
- var import_abstract5 = require("@dnd-kit/abstract");
5823
- var import_geometry5 = require("@dnd-kit/geometry");
5824
- var import_abstract6 = require("@dnd-kit/abstract");
5825
- var import_geometry6 = require("@dnd-kit/geometry");
5826
- var import_abstract7 = require("@dnd-kit/abstract");
5827
- var import_geometry7 = require("@dnd-kit/geometry");
5828
- var pointerIntersection = ({
5829
- dragOperation,
5830
- droppable
5831
- }) => {
5832
- const pointerCoordinates = dragOperation.position.current;
5833
- if (!pointerCoordinates) {
5834
- return null;
5835
- }
5836
- const { id } = droppable;
5837
- if (!droppable.shape) {
5838
- return null;
5839
- }
5840
- if (droppable.shape.containsPoint(pointerCoordinates)) {
5841
- const distance = import_geometry2.Point.distance(droppable.shape.center, pointerCoordinates);
5842
- return {
5843
- id,
5844
- value: 1 / distance,
5845
- type: import_abstract2.CollisionType.PointerIntersection,
5846
- priority: import_abstract2.CollisionPriority.High
5847
- };
5848
- }
5849
- return null;
5850
- };
5851
- var closestCorners = (input) => {
5852
- const { dragOperation, droppable } = input;
5853
- const { shape, position } = dragOperation;
5854
- if (!droppable.shape) {
5855
- return null;
5856
- }
5857
- const shapeCorners = shape ? import_geometry4.Rectangle.from(shape.current.boundingRectangle).corners : void 0;
5858
- const distance = import_geometry4.Rectangle.from(
5859
- droppable.shape.boundingRectangle
5860
- ).corners.reduce(
5861
- (acc, corner, index) => {
5862
- var _a;
5863
- return acc + import_geometry4.Point.distance(
5864
- import_geometry4.Point.from(corner),
5865
- (_a = shapeCorners == null ? void 0 : shapeCorners[index]) != null ? _a : position.current
5866
- );
5867
- },
5868
- 0
5869
- );
5870
- const value = distance / 4;
5871
- return {
5872
- id: droppable.id,
5873
- value: 1 / value,
5874
- type: import_abstract4.CollisionType.Collision,
5875
- priority: import_abstract4.CollisionPriority.Normal
5876
- };
5877
- };
5828
+ // lib/dnd/collision/dynamic/index.ts
5829
+ var import_collision = require("@dnd-kit/collision");
5878
5830
 
5879
5831
  // lib/dnd/collision/dynamic/store.ts
5880
5832
  init_react_import();
@@ -5912,7 +5864,7 @@ var createDynamicCollisionDetector = (dragAxis, midpointOffset = 0.05) => ((inpu
5912
5864
  collisionDebug(dragCenter, dropCenter, droppable.id.toString(), "yellow");
5913
5865
  if (collision) {
5914
5866
  return __spreadProps(__spreadValues({}, collision), {
5915
- priority: import_abstract8.CollisionPriority.Highest,
5867
+ priority: import_abstract2.CollisionPriority.Highest,
5916
5868
  data
5917
5869
  });
5918
5870
  }
@@ -5930,8 +5882,8 @@ var createDynamicCollisionDetector = (dragAxis, midpointOffset = 0.05) => ((inpu
5930
5882
  const collision = {
5931
5883
  id: droppable.id,
5932
5884
  value: intersectionRatio,
5933
- priority: import_abstract8.CollisionPriority.High,
5934
- type: import_abstract8.CollisionType.Collision
5885
+ priority: import_abstract2.CollisionPriority.High,
5886
+ type: import_abstract2.CollisionType.Collision
5935
5887
  };
5936
5888
  const shouldFlushId = flushNext === droppable.id;
5937
5889
  flushNext = "";
@@ -5941,7 +5893,7 @@ var createDynamicCollisionDetector = (dragAxis, midpointOffset = 0.05) => ((inpu
5941
5893
  const xAxisIntersection = dropShape.boundingRectangle.right > dragShape.boundingRectangle.left && dropShape.boundingRectangle.left < dragShape.boundingRectangle.right;
5942
5894
  const yAxisIntersection = dropShape.boundingRectangle.bottom > dragShape.boundingRectangle.top && dropShape.boundingRectangle.top < dragShape.boundingRectangle.bottom;
5943
5895
  if (dragAxis === "y" && xAxisIntersection || yAxisIntersection) {
5944
- const fallbackCollision = closestCorners(input);
5896
+ const fallbackCollision = (0, import_collision.closestCorners)(input);
5945
5897
  if (fallbackCollision) {
5946
5898
  const direction = getDirection(dragAxis, {
5947
5899
  x: dragShape.center.x - (((_d = droppable.shape) == null ? void 0 : _d.center.x) || 0),
@@ -5958,7 +5910,7 @@ var createDynamicCollisionDetector = (dragAxis, midpointOffset = 0.05) => ((inpu
5958
5910
  );
5959
5911
  flushNext = droppable.id;
5960
5912
  return __spreadProps(__spreadValues({}, fallbackCollision), {
5961
- priority: import_abstract8.CollisionPriority.Low,
5913
+ priority: import_abstract2.CollisionPriority.Low,
5962
5914
  data
5963
5915
  });
5964
5916
  }
@@ -5970,7 +5922,7 @@ var createDynamicCollisionDetector = (dragAxis, midpointOffset = 0.05) => ((inpu
5970
5922
  direction || ""
5971
5923
  );
5972
5924
  return __spreadProps(__spreadValues({}, fallbackCollision), {
5973
- priority: import_abstract8.CollisionPriority.Lowest,
5925
+ priority: import_abstract2.CollisionPriority.Lowest,
5974
5926
  data
5975
5927
  });
5976
5928
  }
@@ -5982,6 +5934,7 @@ var createDynamicCollisionDetector = (dragAxis, midpointOffset = 0.05) => ((inpu
5982
5934
 
5983
5935
  // components/Sortable/index.tsx
5984
5936
  var import_sortable = require("@dnd-kit/react/sortable");
5937
+ var import_dom2 = require("@dnd-kit/dom");
5985
5938
  var import_jsx_runtime6 = require("react/jsx-runtime");
5986
5939
  var SortableProvider = ({
5987
5940
  children,
@@ -5990,7 +5943,7 @@ var SortableProvider = ({
5990
5943
  onMove
5991
5944
  }) => {
5992
5945
  const sensors = useSensors({
5993
- mouse: { distance: { value: 5 } }
5946
+ mouse: [new import_dom2.PointerActivationConstraints.Distance({ value: 5 })]
5994
5947
  });
5995
5948
  return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
5996
5949
  import_react14.DragDropProvider,
@@ -6717,7 +6670,7 @@ var import_react22 = require("react");
6717
6670
  init_react_import();
6718
6671
  var import_react21 = require("react");
6719
6672
 
6720
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/ExternalInput/styles.module.css#css-module
6673
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/ExternalInput/styles.module.css#css-module
6721
6674
  init_react_import();
6722
6675
  var styles_module_default6 = { "ExternalInput-actions": "_ExternalInput-actions_3fhqq_1", "ExternalInput-button": "_ExternalInput-button_3fhqq_5", "ExternalInput--dataSelected": "_ExternalInput--dataSelected_3fhqq_25", "ExternalInput--readOnly": "_ExternalInput--readOnly_3fhqq_32", "ExternalInput-detachButton": "_ExternalInput-detachButton_3fhqq_36", "ExternalInput": "_ExternalInput_3fhqq_1", "ExternalInputModal": "_ExternalInputModal_3fhqq_82", "ExternalInputModal-grid": "_ExternalInputModal-grid_3fhqq_92", "ExternalInputModal--filtersToggled": "_ExternalInputModal--filtersToggled_3fhqq_103", "ExternalInputModal-filters": "_ExternalInputModal-filters_3fhqq_108", "ExternalInputModal-masthead": "_ExternalInputModal-masthead_3fhqq_127", "ExternalInputModal-tableWrapper": "_ExternalInputModal-tableWrapper_3fhqq_136", "ExternalInputModal-table": "_ExternalInputModal-table_3fhqq_136", "ExternalInputModal-thead": "_ExternalInputModal-thead_3fhqq_152", "ExternalInputModal-th": "_ExternalInputModal-th_3fhqq_152", "ExternalInputModal-td": "_ExternalInputModal-td_3fhqq_167", "ExternalInputModal-tr": "_ExternalInputModal-tr_3fhqq_172", "ExternalInputModal-tbody": "_ExternalInputModal-tbody_3fhqq_179", "ExternalInputModal--hasData": "_ExternalInputModal--hasData_3fhqq_205", "ExternalInputModal-loadingBanner": "_ExternalInputModal-loadingBanner_3fhqq_209", "ExternalInputModal--isLoading": "_ExternalInputModal--isLoading_3fhqq_226", "ExternalInputModal-searchForm": "_ExternalInputModal-searchForm_3fhqq_230", "ExternalInputModal-search": "_ExternalInputModal-search_3fhqq_230", "ExternalInputModal-searchIcon": "_ExternalInputModal-searchIcon_3fhqq_267", "ExternalInputModal-searchIconText": "_ExternalInputModal-searchIconText_3fhqq_292", "ExternalInputModal-searchInput": "_ExternalInputModal-searchInput_3fhqq_302", "ExternalInputModal-searchActions": "_ExternalInputModal-searchActions_3fhqq_316", "ExternalInputModal-searchActionIcon": "_ExternalInputModal-searchActionIcon_3fhqq_329", "ExternalInputModal-footerContainer": "_ExternalInputModal-footerContainer_3fhqq_333", "ExternalInputModal-footer": "_ExternalInputModal-footer_3fhqq_333", "ExternalInputModal-field": "_ExternalInputModal-field_3fhqq_346" };
6723
6676
 
@@ -6730,7 +6683,7 @@ init_react_import();
6730
6683
  var import_react19 = require("react");
6731
6684
  init_get_class_name_factory();
6732
6685
 
6733
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/Modal/styles.module.css#css-module
6686
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/Modal/styles.module.css#css-module
6734
6687
  init_react_import();
6735
6688
  var styles_module_default7 = { "Modal": "_Modal_1qmqa_1", "Modal--isOpen": "_Modal--isOpen_1qmqa_15", "Modal-inner": "_Modal-inner_1qmqa_19" };
6736
6689
 
@@ -6766,7 +6719,7 @@ var Modal = ({
6766
6719
  // components/Heading/index.tsx
6767
6720
  init_react_import();
6768
6721
 
6769
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/Heading/styles.module.css#css-module
6722
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/Heading/styles.module.css#css-module
6770
6723
  init_react_import();
6771
6724
  var styles_module_default8 = { "Heading": "_Heading_crcfw_1", "Heading--xxxxl": "_Heading--xxxxl_crcfw_13", "Heading--xxxl": "_Heading--xxxl_crcfw_19", "Heading--xxl": "_Heading--xxl_crcfw_23", "Heading--xl": "_Heading--xl_crcfw_27", "Heading--l": "_Heading--l_crcfw_31", "Heading--m": "_Heading--m_crcfw_35", "Heading--s": "_Heading--s_crcfw_39", "Heading--xs": "_Heading--xs_crcfw_43" };
6772
6725
 
@@ -6797,7 +6750,7 @@ init_react_import();
6797
6750
  init_react_import();
6798
6751
  var import_react20 = require("react");
6799
6752
 
6800
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/Button/Button.module.css#css-module
6753
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/Button/Button.module.css#css-module
6801
6754
  init_react_import();
6802
6755
  var Button_module_default = { "Button": "_Button_1g3xu_1", "Button--medium": "_Button--medium_1g3xu_31", "Button--large": "_Button--large_1g3xu_39", "Button-icon": "_Button-icon_1g3xu_46", "Button--primary": "_Button--primary_1g3xu_50", "Button--secondary": "_Button--secondary_1g3xu_71", "Button--flush": "_Button--flush_1g3xu_88", "Button--disabled": "_Button--disabled_1g3xu_92", "Button--fullWidth": "_Button--fullWidth_1g3xu_100", "Button-spinner": "_Button-spinner_1g3xu_105" };
6803
6756
 
@@ -7235,7 +7188,7 @@ var SelectPrimitive = __toESM(require("@radix-ui/react-select"));
7235
7188
  init_lucide_react();
7236
7189
  init_lib();
7237
7190
 
7238
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/ui/Select/styles.module.css#css-module
7191
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/ui/Select/styles.module.css#css-module
7239
7192
  init_react_import();
7240
7193
  var styles_module_default9 = { "FeSelect-trigger": "_FeSelect-trigger_13era_3", "FeSelect-triggerIcon": "_FeSelect-triggerIcon_13era_54", "FeSelect-content": "_FeSelect-content_13era_61", "FeSelect-viewport": "_FeSelect-viewport_13era_84", "FeSelect-item": "_FeSelect-item_13era_93", "FeSelect-itemIndicator": "_FeSelect-itemIndicator_13era_119", "FeSelect-group": "_FeSelect-group_13era_131", "FeSelect-label": "_FeSelect-label_13era_135", "FeSelect-separator": "_FeSelect-separator_13era_144", "FeSelect-scrollButton": "_FeSelect-scrollButton_13era_152" };
7241
7194
 
@@ -7527,7 +7480,7 @@ var RichtextField = ({
7527
7480
  init_react_import();
7528
7481
  init_get_class_name_factory();
7529
7482
 
7530
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/AutoField/fields/ObjectField/styles.module.css#css-module
7483
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/AutoField/fields/ObjectField/styles.module.css#css-module
7531
7484
  init_react_import();
7532
7485
  var styles_module_default14 = { "ObjectField": "_ObjectField_1o8gv_5", "ObjectField-fieldset": "_ObjectField-fieldset_1o8gv_13" };
7533
7486
 
@@ -7846,7 +7799,7 @@ function AutoField(props) {
7846
7799
  // components/ComponentList/index.tsx
7847
7800
  init_react_import();
7848
7801
 
7849
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/ComponentList/styles.module.css#css-module
7802
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/ComponentList/styles.module.css#css-module
7850
7803
  init_react_import();
7851
7804
  var styles_module_default15 = { "ComponentList": "_ComponentList_apsvr_1", "ComponentList--isExpanded": "_ComponentList--isExpanded_apsvr_5", "ComponentList-content": "_ComponentList-content_apsvr_9", "ComponentList-title": "_ComponentList-title_apsvr_17", "ComponentList-titleIcon": "_ComponentList-titleIcon_apsvr_54" };
7852
7805
 
@@ -7859,7 +7812,7 @@ init_store();
7859
7812
  // components/Drawer/index.tsx
7860
7813
  init_react_import();
7861
7814
 
7862
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/Drawer/styles.module.css#css-module
7815
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/Drawer/styles.module.css#css-module
7863
7816
  init_react_import();
7864
7817
  var styles_module_default16 = { "Drawer": "_Drawer_rcm43_1", "Drawer--tile": "_Drawer--tile_rcm43_8", "Drawer-draggable": "_Drawer-draggable_rcm43_19", "Drawer-draggableBg": "_Drawer-draggableBg_rcm43_23", "DrawerItem-draggable": "_DrawerItem-draggable_rcm43_33", "DrawerItem-icon": "_DrawerItem-icon_rcm43_50", "DrawerItem--disabled": "_DrawerItem--disabled_rcm43_56", "DrawerItem": "_DrawerItem_rcm43_33", "Drawer--isDraggingFrom": "_Drawer--isDraggingFrom_rcm43_66", "DrawerItem-name": "_DrawerItem-name_rcm43_91" };
7865
7818
 
@@ -7873,7 +7826,7 @@ init_react_import();
7873
7826
  var import_react69 = require("@dnd-kit/react");
7874
7827
  init_store();
7875
7828
  var import_react70 = require("react");
7876
- var import_dom = require("@dnd-kit/dom");
7829
+ var import_dom4 = require("@dnd-kit/dom");
7877
7830
 
7878
7831
  // components/DropZone/index.tsx
7879
7832
  init_react_import();
@@ -7883,7 +7836,7 @@ var import_react67 = require("react");
7883
7836
  init_react_import();
7884
7837
  var import_react51 = require("react");
7885
7838
 
7886
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/DraggableComponent/styles.module.css#css-module
7839
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/DraggableComponent/styles.module.css#css-module
7887
7840
  init_react_import();
7888
7841
  var styles_module_default17 = { "DraggableComponent": "_DraggableComponent_d90mv_1", "DraggableComponent-overlayWrapper": "_DraggableComponent-overlayWrapper_d90mv_12", "DraggableComponent-overlay": "_DraggableComponent-overlay_d90mv_12", "DraggableComponent-loadingOverlay": "_DraggableComponent-loadingOverlay_d90mv_36", "DraggableComponent--hover": "_DraggableComponent--hover_d90mv_53", "DraggableComponent--isSelected": "_DraggableComponent--isSelected_d90mv_60", "DraggableComponent--isGlobal": "_DraggableComponent--isGlobal_d90mv_69", "DraggableComponent-actionsOverlay": "_DraggableComponent-actionsOverlay_d90mv_105", "DraggableComponent-actions": "_DraggableComponent-actions_d90mv_105" };
7889
7842
 
@@ -7971,6 +7924,7 @@ var DropZoneProvider = ({
7971
7924
  var import_shallow4 = require("zustand/react/shallow");
7972
7925
  init_get_item();
7973
7926
  var import_sortable2 = require("@dnd-kit/react/sortable");
7927
+ var import_dom3 = require("@dnd-kit/dom");
7974
7928
 
7975
7929
  // lib/dnd/use-on-drag-finished.ts
7976
7930
  init_react_import();
@@ -8120,6 +8074,13 @@ var DraggableComponent = ({
8120
8074
  () => createDynamicCollisionDetector(dragAxis),
8121
8075
  [dragAxis]
8122
8076
  );
8077
+ const sortablePlugins = (0, import_react51.useMemo)(
8078
+ () => (defaults) => [
8079
+ ...defaults,
8080
+ import_dom3.Feedback.configure({ feedback: "clone" })
8081
+ ],
8082
+ []
8083
+ );
8123
8084
  const {
8124
8085
  ref: sortableRef,
8125
8086
  isDragging: thisIsDragging,
@@ -8145,8 +8106,7 @@ var DraggableComponent = ({
8145
8106
  transition: {
8146
8107
  duration: 200,
8147
8108
  easing: "cubic-bezier(0.2, 0, 0, 1)"
8148
- },
8149
- feedback: "clone"
8109
+ }
8150
8110
  });
8151
8111
  (0, import_react51.useEffect)(() => {
8152
8112
  const isEnabled = zoneStore.getState().enabledIndex[zoneCompound];
@@ -8625,13 +8585,14 @@ init_setup_zone();
8625
8585
  init_root_droppable_id();
8626
8586
  init_lib();
8627
8587
 
8628
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/DropZone/styles.module.css#css-module
8588
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/DropZone/styles.module.css#css-module
8629
8589
  init_react_import();
8630
8590
  var styles_module_default18 = { "DropZone": "_DropZone_q9qsx_1", "DropZone--hasChildren": "_DropZone--hasChildren_q9qsx_11", "DropZone--isAreaSelected": "_DropZone--isAreaSelected_q9qsx_24", "DropZone--hoveringOverArea": "_DropZone--hoveringOverArea_q9qsx_25", "DropZone--isRootZone": "_DropZone--isRootZone_q9qsx_25", "DropZone--isDestination": "_DropZone--isDestination_q9qsx_39", "DropZone-item": "_DropZone-item_q9qsx_48", "DropZone-hitbox": "_DropZone-hitbox_q9qsx_52", "DropZone--isEnabled": "_DropZone--isEnabled_q9qsx_60", "DropZone--isAnimating": "_DropZone--isAnimating_q9qsx_70" };
8631
8591
 
8632
8592
  // components/DropZone/index.tsx
8633
8593
  init_store();
8634
8594
  var import_react68 = require("@dnd-kit/react");
8595
+ var import_collision2 = require("@dnd-kit/collision");
8635
8596
 
8636
8597
  // components/DropZone/lib/use-min-empty-height.ts
8637
8598
  init_react_import();
@@ -9067,49 +9028,49 @@ var ContextSlotRender = ({
9067
9028
 
9068
9029
  // lib/resolve-globals.ts
9069
9030
  init_react_import();
9070
- function resolveItem(item, globalData, config, visitedTypes) {
9071
- var _a, _b, _c, _d, _e;
9031
+ function resolveItem(item, globals, config, visitedTypes) {
9032
+ var _a, _b, _c, _d;
9072
9033
  const type = item.type;
9073
9034
  const componentConfig = config.components[type];
9074
- const globalEntry = globalData[type];
9075
- const isUnlinked = ((_a = item.props) == null ? void 0 : _a.__synced) === false;
9035
+ const globalEntry = globals[type];
9076
9036
  const shouldApplyGlobal = Boolean(
9077
- (componentConfig == null ? void 0 : componentConfig.global) && globalEntry && !visitedTypes.has(type) && !isUnlinked
9037
+ (componentConfig == null ? void 0 : componentConfig.global) && item.synced && globalEntry && !visitedTypes.has(type)
9078
9038
  );
9079
9039
  let mergedProps;
9080
9040
  if (shouldApplyGlobal) {
9081
9041
  mergedProps = __spreadProps(__spreadValues({}, globalEntry.props), {
9082
- children: (_b = item.props) == null ? void 0 : _b.children,
9083
- id: (_c = item.props) == null ? void 0 : _c.id
9042
+ children: (_a = item.props) == null ? void 0 : _a.children,
9043
+ id: (_b = item.props) == null ? void 0 : _b.id
9084
9044
  });
9085
9045
  } else {
9086
- if ((componentConfig == null ? void 0 : componentConfig.global) && globalEntry && visitedTypes.has(type) && typeof process !== "undefined" && process.env.NODE_ENV !== "production") {
9046
+ if ((componentConfig == null ? void 0 : componentConfig.global) && item.synced && globalEntry && visitedTypes.has(type) && typeof process !== "undefined" && process.env.NODE_ENV !== "production") {
9087
9047
  console.warn(
9088
9048
  `[resolveGlobals] cycle detected while resolving global "${type}" \u2014 leaving reference unresolved`
9089
9049
  );
9090
9050
  }
9091
- mergedProps = __spreadValues({}, (_d = item.props) != null ? _d : {});
9051
+ mergedProps = __spreadValues({}, (_c = item.props) != null ? _c : {});
9092
9052
  }
9093
- const fields = (_e = componentConfig == null ? void 0 : componentConfig.fields) != null ? _e : {};
9053
+ const fields = (_d = componentConfig == null ? void 0 : componentConfig.fields) != null ? _d : {};
9094
9054
  const nextVisited = shouldApplyGlobal ? /* @__PURE__ */ new Set([...visitedTypes, type]) : visitedTypes;
9095
9055
  for (const [fieldName, fieldDef] of Object.entries(fields)) {
9096
9056
  if ((fieldDef == null ? void 0 : fieldDef.type) === "slot") {
9097
9057
  const slotValue = mergedProps[fieldName];
9098
9058
  if (Array.isArray(slotValue)) {
9099
9059
  mergedProps[fieldName] = slotValue.map(
9100
- (child) => child && typeof child === "object" && "type" in child && "props" in child ? resolveItem(child, globalData, config, nextVisited) : child
9060
+ (child) => child && typeof child === "object" && "type" in child && "props" in child ? resolveItem(child, globals, config, nextVisited) : child
9101
9061
  );
9102
9062
  }
9103
9063
  }
9104
9064
  }
9105
9065
  return __spreadProps(__spreadValues({}, item), { props: mergedProps });
9106
9066
  }
9107
- function resolveGlobals(data, globalData, config) {
9067
+ function resolveGlobals(data, config) {
9108
9068
  var _a;
9109
- if (!globalData || Object.keys(globalData).length === 0) return data;
9069
+ const globals = data.globals;
9070
+ if (!globals || Object.keys(globals).length === 0) return data;
9110
9071
  const visited = /* @__PURE__ */ new Set();
9111
9072
  const content = ((_a = data.content) != null ? _a : []).map(
9112
- (item) => resolveItem(item, globalData, config, visited)
9073
+ (item) => resolveItem(item, globals, config, visited)
9113
9074
  );
9114
9075
  return __spreadProps(__spreadValues({}, data), { content });
9115
9076
  }
@@ -9124,7 +9085,6 @@ var renderContext = import_react61.default.createContext({
9124
9085
  function Render({
9125
9086
  config,
9126
9087
  data,
9127
- globalData,
9128
9088
  metadata = {}
9129
9089
  }) {
9130
9090
  var _a, _b;
@@ -9133,8 +9093,8 @@ function Render({
9133
9093
  root: data.root || {},
9134
9094
  content: data.content || []
9135
9095
  });
9136
- return resolveGlobals(base, globalData, config);
9137
- }, [data, globalData, config]);
9096
+ return resolveGlobals(base, config);
9097
+ }, [data, config]);
9138
9098
  const rootProps = "props" in defaultedData.root ? defaultedData.root.props : defaultedData.root;
9139
9099
  const title = (rootProps == null ? void 0 : rootProps.title) || "";
9140
9100
  const pageProps = __spreadProps(__spreadValues({}, rootProps), {
@@ -9272,7 +9232,7 @@ var registerOverlayPortal = (el, opts = {}) => {
9272
9232
  // components/InlineTextField/index.tsx
9273
9233
  init_store();
9274
9234
 
9275
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/InlineTextField/styles.module.css#css-module
9235
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/InlineTextField/styles.module.css#css-module
9276
9236
  init_react_import();
9277
9237
  var styles_module_default19 = { "InlineTextField": "_InlineTextField_104qp_1" };
9278
9238
 
@@ -10126,7 +10086,7 @@ var DropZoneEdit = (0, import_react67.forwardRef)(
10126
10086
  id: zoneCompound,
10127
10087
  collisionPriority: isEnabled ? depth : 0,
10128
10088
  disabled: !isDropEnabled,
10129
- collisionDetector: pointerIntersection,
10089
+ collisionDetector: import_collision2.pointerIntersection,
10130
10090
  type: "dropzone",
10131
10091
  data: {
10132
10092
  areaId,
@@ -10290,7 +10250,8 @@ init_get_item();
10290
10250
 
10291
10251
  // lib/dnd/NestedDroppablePlugin.ts
10292
10252
  init_react_import();
10293
- var import_abstract9 = require("@dnd-kit/abstract");
10253
+ var import_abstract3 = require("@dnd-kit/abstract");
10254
+ var import_utilities2 = require("@dnd-kit/dom/utilities");
10294
10255
 
10295
10256
  // lib/throttle.ts
10296
10257
  init_react_import();
@@ -10360,25 +10321,6 @@ var GlobalPosition = class {
10360
10321
  }
10361
10322
  };
10362
10323
 
10363
- // lib/bubble-pointer-event.ts
10364
- init_react_import();
10365
- var BaseEvent = typeof PointerEvent !== "undefined" ? PointerEvent : Event;
10366
- var BubbledPointerEvent = class extends BaseEvent {
10367
- constructor(type, data) {
10368
- super(type, data);
10369
- this._originalTarget = null;
10370
- this.originalTarget = data.originalTarget;
10371
- }
10372
- // Necessary for Firefox
10373
- set originalTarget(target) {
10374
- this._originalTarget = target;
10375
- }
10376
- // Necessary for Firefox
10377
- get originalTarget() {
10378
- return this._originalTarget;
10379
- }
10380
- };
10381
-
10382
10324
  // lib/dnd/NestedDroppablePlugin.ts
10383
10325
  init_root_droppable_id();
10384
10326
  var depthSort = (candidates) => {
@@ -10514,7 +10456,7 @@ var findDeepestCandidate = (position, manager) => {
10514
10456
  area: rootAreaId
10515
10457
  };
10516
10458
  };
10517
- var createNestedDroppablePlugin = ({ onChange }, id) => class NestedDroppablePlugin extends import_abstract9.Plugin {
10459
+ var createNestedDroppablePlugin = ({ onChange }, id) => class NestedDroppablePlugin extends import_abstract3.Plugin {
10518
10460
  constructor(manager, options) {
10519
10461
  super(manager);
10520
10462
  if (typeof window === "undefined") {
@@ -10522,7 +10464,7 @@ var createNestedDroppablePlugin = ({ onChange }, id) => class NestedDroppablePlu
10522
10464
  }
10523
10465
  this.registerEffect(() => {
10524
10466
  const handleMove = (event) => {
10525
- const target = event instanceof BubbledPointerEvent ? event.originalTarget || event.target : event.target;
10467
+ const target = event.target;
10526
10468
  const position = new GlobalPosition(target, {
10527
10469
  x: event.clientX,
10528
10470
  y: event.clientY
@@ -10540,15 +10482,55 @@ var createNestedDroppablePlugin = ({ onChange }, id) => class NestedDroppablePlu
10540
10482
  const handlePointerMove = (event) => {
10541
10483
  handleMoveThrottled(event);
10542
10484
  };
10543
- document.body.addEventListener("pointermove", handlePointerMove, {
10544
- capture: true
10545
- // dndkit's PointerSensor prevents propagation during drag
10546
- });
10547
- const cleanup = () => {
10548
- document.body.removeEventListener("pointermove", handlePointerMove, {
10485
+ const bound = /* @__PURE__ */ new Set();
10486
+ const bind = (doc) => {
10487
+ if (bound.has(doc)) return;
10488
+ bound.add(doc);
10489
+ doc.addEventListener("pointermove", handlePointerMove, {
10549
10490
  capture: true
10491
+ // dndkit's PointerSensor prevents propagation during drag
10550
10492
  });
10551
10493
  };
10494
+ const bindAll = () => {
10495
+ for (const doc of (0, import_utilities2.getDocuments)()) bind(doc);
10496
+ };
10497
+ bindAll();
10498
+ const onIframeLoad = () => bindAll();
10499
+ const observed = /* @__PURE__ */ new Set();
10500
+ const observeFrame = (el) => {
10501
+ if (observed.has(el)) return;
10502
+ observed.add(el);
10503
+ el.addEventListener("load", onIframeLoad);
10504
+ };
10505
+ for (const el of Array.from(
10506
+ document.querySelectorAll(
10507
+ "iframe, frame"
10508
+ )
10509
+ )) {
10510
+ observeFrame(el);
10511
+ }
10512
+ const observer = new MutationObserver((mutations) => {
10513
+ for (const m of mutations) {
10514
+ for (const node of Array.from(m.addedNodes)) {
10515
+ if (node instanceof HTMLIFrameElement || typeof HTMLFrameElement !== "undefined" && node instanceof HTMLFrameElement) {
10516
+ observeFrame(node);
10517
+ }
10518
+ }
10519
+ }
10520
+ bindAll();
10521
+ });
10522
+ observer.observe(document.body, { childList: true, subtree: true });
10523
+ const cleanup = () => {
10524
+ observer.disconnect();
10525
+ for (const el of observed) {
10526
+ el.removeEventListener("load", onIframeLoad);
10527
+ }
10528
+ for (const doc of bound) {
10529
+ doc.removeEventListener("pointermove", handlePointerMove, {
10530
+ capture: true
10531
+ });
10532
+ }
10533
+ };
10552
10534
  return cleanup;
10553
10535
  });
10554
10536
  }
@@ -10784,7 +10766,9 @@ var DragDropContextClient = ({
10784
10766
  }
10785
10767
  }, []);
10786
10768
  const [plugins] = (0, import_react70.useState)(() => [
10787
- ...disableAutoScroll ? import_dom.defaultPreset.plugins.filter((plugin) => plugin !== import_dom.AutoScroller) : import_dom.defaultPreset.plugins,
10769
+ import_dom4.ScrollListener,
10770
+ import_dom4.Scroller,
10771
+ ...disableAutoScroll ? import_dom4.defaultPreset.plugins.filter((plugin) => plugin !== import_dom4.AutoScroller) : import_dom4.defaultPreset.plugins,
10788
10772
  createNestedDroppablePlugin(
10789
10773
  {
10790
10774
  onChange: (params, manager) => {
@@ -11299,7 +11283,7 @@ init_Loader();
11299
11283
  init_root_droppable_id();
11300
11284
  init_store();
11301
11285
 
11302
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/Editor/components/Fields/styles.module.css#css-module
11286
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/Editor/components/Fields/styles.module.css#css-module
11303
11287
  init_react_import();
11304
11288
  var styles_module_default20 = { "EditorFields": "_EditorFields_1di93_1", "EditorFields--isLoading": "_EditorFields--isLoading_1di93_6", "EditorFields-loadingOverlay": "_EditorFields-loadingOverlay_1di93_10", "EditorFields-loadingOverlayInner": "_EditorFields-loadingOverlayInner_1di93_25", "EditorFields-field": "_EditorFields-field_1di93_32", "EditorFields--wrapFields": "_EditorFields--wrapFields_1di93_36", "EditorFields-syncButton": "_EditorFields-syncButton_1di93_46", "EditorFields-syncButton--unlinked": "_EditorFields-syncButton--unlinked_1di93_78" };
11305
11289
 
@@ -11416,29 +11400,22 @@ var FieldsChild = ({ fieldName }) => {
11416
11400
  };
11417
11401
  var FieldsChildMemo = (0, import_react74.memo)(FieldsChild);
11418
11402
  var GlobalSyncButton = () => {
11419
- var _a;
11420
11403
  const appStore = useAppStoreApi();
11421
11404
  const selectedItem = useAppStore((s) => s.selectedItem);
11422
11405
  const isGlobalType = useAppStore(
11423
11406
  (s) => {
11424
- var _a2;
11425
- return selectedItem ? ((_a2 = s.config.components[selectedItem.type]) == null ? void 0 : _a2.global) === true : false;
11407
+ var _a;
11408
+ return selectedItem ? ((_a = s.config.components[selectedItem.type]) == null ? void 0 : _a.global) === true : false;
11426
11409
  }
11427
11410
  );
11428
11411
  if (!selectedItem || !isGlobalType) return null;
11429
- const isUnlinked = ((_a = selectedItem.props) == null ? void 0 : _a.__synced) === false;
11412
+ const isUnlinked = selectedItem.synced === false;
11430
11413
  const onClick = () => __async(null, null, function* () {
11431
11414
  const { dispatch, state, resolveComponentData: resolveComponentData2 } = appStore.getState();
11432
- const newProps = __spreadValues({}, selectedItem.props);
11433
- if (isUnlinked) {
11434
- delete newProps.__synced;
11435
- } else {
11436
- newProps.__synced = false;
11437
- }
11438
11415
  const latestSelector = getSelectorForId(state, selectedItem.props.id);
11439
11416
  if (!latestSelector) return;
11440
11417
  const resolved = yield resolveComponentData2(
11441
- __spreadProps(__spreadValues({}, selectedItem), { props: newProps }),
11418
+ __spreadProps(__spreadValues({}, selectedItem), { synced: isUnlinked ? true : false }),
11442
11419
  "replace"
11443
11420
  );
11444
11421
  dispatch({
@@ -11507,7 +11484,7 @@ init_store();
11507
11484
  var import_react75 = require("react");
11508
11485
  init_lucide_react();
11509
11486
 
11510
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/Editor/components/Components/styles.module.css#css-module
11487
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/Editor/components/Components/styles.module.css#css-module
11511
11488
  init_react_import();
11512
11489
  var styles_module_default21 = { "Components-search": "_Components-search_4hb2y_1", "Components-searchIcon": "_Components-searchIcon_4hb2y_8", "Components-searchInput": "_Components-searchInput_4hb2y_16", "Components-empty": "_Components-empty_4hb2y_39" };
11513
11490
 
@@ -11901,7 +11878,7 @@ function AutoFrame(_a) {
11901
11878
  AutoFrame.displayName = "AutoFrame";
11902
11879
  var AutoFrame_default = AutoFrame;
11903
11880
 
11904
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/Editor/components/Preview/styles.module.css#css-module
11881
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/Editor/components/Preview/styles.module.css#css-module
11905
11882
  init_react_import();
11906
11883
  var styles_module_default22 = { "EditorPreview": "_EditorPreview_xou64_1", "EditorPreview-frame": "_EditorPreview-frame_xou64_6" };
11907
11884
 
@@ -11909,44 +11886,6 @@ var styles_module_default22 = { "EditorPreview": "_EditorPreview_xou64_1", "Edit
11909
11886
  init_lib();
11910
11887
  var import_jsx_runtime76 = require("react/jsx-runtime");
11911
11888
  var getClassName30 = get_class_name_factory_default("EditorPreview", styles_module_default22);
11912
- var useBubbleIframeEvents = (ref) => {
11913
- const status = useAppStore((s) => s.status);
11914
- (0, import_react77.useEffect)(() => {
11915
- if (ref.current && status === "READY") {
11916
- const iframe = ref.current;
11917
- const handlePointerMove = (event) => {
11918
- const evt = new BubbledPointerEvent("pointermove", __spreadProps(__spreadValues({}, event), {
11919
- bubbles: true,
11920
- cancelable: false,
11921
- clientX: event.clientX,
11922
- clientY: event.clientY,
11923
- originalTarget: event.target
11924
- }));
11925
- iframe.dispatchEvent(evt);
11926
- };
11927
- const register = () => {
11928
- var _a;
11929
- unregister();
11930
- (_a = iframe.contentDocument) == null ? void 0 : _a.addEventListener(
11931
- "pointermove",
11932
- handlePointerMove,
11933
- { capture: true }
11934
- );
11935
- };
11936
- const unregister = () => {
11937
- var _a;
11938
- (_a = iframe.contentDocument) == null ? void 0 : _a.removeEventListener(
11939
- "pointermove",
11940
- handlePointerMove
11941
- );
11942
- };
11943
- register();
11944
- return () => {
11945
- unregister();
11946
- };
11947
- }
11948
- }, [status]);
11949
- };
11950
11889
  var Preview2 = ({ id = "editor-preview" }) => {
11951
11890
  const dispatch = useAppStore((s) => s.dispatch);
11952
11891
  const root = useAppStore((s) => s.state.data.root);
@@ -11979,7 +11918,6 @@ var Preview2 = ({ id = "editor-preview" }) => {
11979
11918
  const Frame = (0, import_react77.useMemo)(() => overrides.iframe, [overrides]);
11980
11919
  const rootProps = root.props || root;
11981
11920
  const ref = (0, import_react77.useRef)(null);
11982
- useBubbleIframeEvents(ref);
11983
11921
  const inner = !renderData ? /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
11984
11922
  Page,
11985
11923
  __spreadProps(__spreadValues({}, rootProps), {
@@ -12050,9 +11988,9 @@ init_react_import();
12050
11988
  // components/LayerTree/index.tsx
12051
11989
  init_react_import();
12052
11990
 
12053
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/LayerTree/styles.module.css#css-module
11991
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/LayerTree/styles.module.css#css-module
12054
11992
  init_react_import();
12055
- var styles_module_default23 = { "LayerTree": "_LayerTree_vc8bi_1", "LayerTree-zoneTitle": "_LayerTree-zoneTitle_vc8bi_11", "LayerTree-helper": "_LayerTree-helper_vc8bi_17", "Layer": "_Layer_vc8bi_1", "Layer-inner": "_Layer-inner_vc8bi_34", "Layer--containsZone": "_Layer--containsZone_vc8bi_42", "Layer-clickable": "_Layer-clickable_vc8bi_46", "Layer--isSelected": "_Layer--isSelected_vc8bi_68", "Layer-icon": "_Layer-icon_vc8bi_80", "Layer-zoneIcon": "_Layer-zoneIcon_vc8bi_81", "Layer-chevron": "_Layer-chevron_vc8bi_85", "Layer--childIsSelected": "_Layer--childIsSelected_vc8bi_97", "Layer-zones": "_Layer-zones_vc8bi_101", "Layer-title": "_Layer-title_vc8bi_117", "Layer-name": "_Layer-name_vc8bi_130", "Layer--isGlobal": "_Layer--isGlobal_vc8bi_150", "Layer--isUnlinked": "_Layer--isUnlinked_vc8bi_171", "Layer-unlinkedGlyph": "_Layer-unlinkedGlyph_vc8bi_175" };
11993
+ var styles_module_default23 = { "LayerTree": "_LayerTree_1wyf0_1", "LayerTree-zoneTitle": "_LayerTree-zoneTitle_1wyf0_11", "LayerTree-helper": "_LayerTree-helper_1wyf0_17", "Layer": "_Layer_1wyf0_1", "Layer-inner": "_Layer-inner_1wyf0_34", "Layer--containsZone": "_Layer--containsZone_1wyf0_42", "Layer-clickable": "_Layer-clickable_1wyf0_46", "Layer--isSelected": "_Layer--isSelected_1wyf0_68", "Layer-icon": "_Layer-icon_1wyf0_80", "Layer-zoneIcon": "_Layer-zoneIcon_1wyf0_81", "Layer-chevron": "_Layer-chevron_1wyf0_85", "Layer--childIsSelected": "_Layer--childIsSelected_1wyf0_97", "Layer-zones": "_Layer-zones_1wyf0_101", "Layer-title": "_Layer-title_1wyf0_117", "Layer-name": "_Layer-name_1wyf0_130", "Layer--isGlobal": "_Layer--isGlobal_1wyf0_150", "Layer--isUnlinked": "_Layer--isUnlinked_1wyf0_171", "Layer-unlinkedGlyph": "_Layer-unlinkedGlyph_1wyf0_175" };
12056
11994
 
12057
11995
  // components/LayerTree/index.tsx
12058
11996
  init_get_class_name_factory();
@@ -12190,8 +12128,8 @@ var Layer = (0, import_react78.forwardRef)(function Layer2({
12190
12128
  );
12191
12129
  const isUnlinked = useAppStore(
12192
12130
  (s) => {
12193
- var _a, _b, _c;
12194
- return ((_c = (_b = (_a = s.state.indexes.nodes[node.itemId]) == null ? void 0 : _a.data) == null ? void 0 : _b.props) == null ? void 0 : _c.__synced) === false;
12131
+ var _a, _b;
12132
+ return ((_b = (_a = s.state.indexes.nodes[node.itemId]) == null ? void 0 : _a.data) == null ? void 0 : _b.synced) === false;
12195
12133
  }
12196
12134
  );
12197
12135
  const containsZone = node.childZones.length > 0;
@@ -12724,16 +12662,16 @@ init_populate_ids();
12724
12662
 
12725
12663
  // lib/split-global-data.ts
12726
12664
  init_react_import();
12727
- function splitGlobalData(data, config) {
12728
- var _a;
12729
- const extracted = {};
12665
+ function splitGlobals(data, config) {
12666
+ var _a, _b;
12667
+ const extracted = __spreadValues({}, (_a = data.globals) != null ? _a : {});
12730
12668
  function visit(node) {
12731
- var _a2, _b;
12669
+ var _a2, _b2;
12732
12670
  const type = node.type;
12733
12671
  const componentConfig = config.components[type];
12734
12672
  const fields = (_a2 = componentConfig == null ? void 0 : componentConfig.fields) != null ? _a2 : {};
12735
- const isGlobal = (componentConfig == null ? void 0 : componentConfig.global) === true;
12736
- const processedProps = __spreadValues({}, (_b = node.props) != null ? _b : {});
12673
+ const isGlobalType = (componentConfig == null ? void 0 : componentConfig.global) === true;
12674
+ const processedProps = __spreadValues({}, (_b2 = node.props) != null ? _b2 : {});
12737
12675
  for (const [fieldName, fieldDef] of Object.entries(fields)) {
12738
12676
  if ((fieldDef == null ? void 0 : fieldDef.type) === "slot") {
12739
12677
  const slotValue = processedProps[fieldName];
@@ -12744,27 +12682,25 @@ function splitGlobalData(data, config) {
12744
12682
  }
12745
12683
  }
12746
12684
  }
12747
- if (!isGlobal) {
12748
- return __spreadProps(__spreadValues({}, node), { props: processedProps });
12749
- }
12750
- if (processedProps.__synced === false) {
12685
+ if (!isGlobalType || !node.synced) {
12751
12686
  return __spreadProps(__spreadValues({}, node), { props: processedProps });
12752
12687
  }
12753
12688
  const _c = processedProps, { children, id } = _c, sharedProps = __objRest(_c, ["children", "id"]);
12754
- if (!extracted[type]) {
12755
- extracted[type] = { props: sharedProps };
12756
- }
12689
+ extracted[type] = { props: sharedProps };
12757
12690
  const instanceProps = { id };
12758
12691
  if (children !== void 0) instanceProps.children = children;
12759
- return __spreadProps(__spreadValues({}, node), { props: instanceProps });
12692
+ return __spreadProps(__spreadValues({}, node), {
12693
+ props: instanceProps,
12694
+ synced: true
12695
+ });
12760
12696
  }
12761
- const strippedContent = ((_a = data.content) != null ? _a : []).map(
12697
+ const strippedContent = ((_b = data.content) != null ? _b : []).map(
12762
12698
  (item) => visit(item)
12763
12699
  );
12764
- return {
12765
- data: __spreadProps(__spreadValues({}, data), { content: strippedContent }),
12766
- globalData: extracted
12767
- };
12700
+ return __spreadProps(__spreadValues({}, data), {
12701
+ content: strippedContent,
12702
+ globals: extracted
12703
+ });
12768
12704
  }
12769
12705
 
12770
12706
  // components/Editor/index.tsx
@@ -12775,7 +12711,7 @@ init_react_import();
12775
12711
  var import_react91 = require("react");
12776
12712
  init_lib();
12777
12713
 
12778
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/Editor/components/Layout/styles.module.css#css-module
12714
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/Editor/components/Layout/styles.module.css#css-module
12779
12715
  init_react_import();
12780
12716
  var styles_module_default24 = { "Editor": "_Editor_17yd6_19", "Editor-portal": "_Editor-portal_17yd6_32", "EditorLayout": "_EditorLayout_17yd6_37", "EditorLayout-inner": "_EditorLayout-inner_17yd6_41", "Editor--hidePlugins": "_Editor--hidePlugins_17yd6_73", "EditorLayout--mounted": "_EditorLayout--mounted_17yd6_78", "EditorLayout--mobilePanelHeightToggle": "_EditorLayout--mobilePanelHeightToggle_17yd6_82", "EditorLayout--leftSideBarVisible": "_EditorLayout--leftSideBarVisible_17yd6_82", "EditorLayout--mobilePanelCustomHeight": "_EditorLayout--mobilePanelCustomHeight_17yd6_87", "EditorLayout--mobilePanelHeightMinContent": "_EditorLayout--mobilePanelHeightMinContent_17yd6_105", "EditorLayout--rightSideBarVisible": "_EditorLayout--rightSideBarVisible_17yd6_127", "EditorLayout-mounted": "_EditorLayout-mounted_17yd6_146", "EditorLayout-nav": "_EditorLayout-nav_17yd6_187", "Editor-fieldSideBarToolbar": "_Editor-fieldSideBarToolbar_17yd6_203", "Editor-fieldSideBarHistory": "_Editor-fieldSideBarHistory_17yd6_213", "Editor-fieldSideBarActions": "_Editor-fieldSideBarActions_17yd6_219", "EditorLayout-mobilePanel": "_EditorLayout-mobilePanel_17yd6_225", "EditorLayout-mobilePanelContent": "_EditorLayout-mobilePanelContent_17yd6_245", "EditorLayout-mobileDragHandle": "_EditorLayout-mobileDragHandle_17yd6_252", "EditorLayout-mobileDragHandlePill": "_EditorLayout-mobileDragHandlePill_17yd6_266", "EditorPluginTab": "_EditorPluginTab_17yd6_273", "EditorPluginTab--visible": "_EditorPluginTab--visible_17yd6_279", "EditorPluginTab-body": "_EditorPluginTab-body_17yd6_284" };
12781
12717
 
@@ -12840,7 +12776,7 @@ var usePreviewModeHotkeys = () => {
12840
12776
  // components/SidebarSection/index.tsx
12841
12777
  init_react_import();
12842
12778
 
12843
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/SidebarSection/styles.module.css#css-module
12779
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/SidebarSection/styles.module.css#css-module
12844
12780
  init_react_import();
12845
12781
  var styles_module_default25 = { "SidebarSection": "_SidebarSection_1jefg_1", "SidebarSection-title": "_SidebarSection-title_1jefg_12", "SidebarSection--noBorderTop": "_SidebarSection--noBorderTop_1jefg_20", "SidebarSection-content": "_SidebarSection-content_1jefg_24", "SidebarSection-breadcrumbLabel": "_SidebarSection-breadcrumbLabel_1jefg_33", "SidebarSection-breadcrumbs": "_SidebarSection-breadcrumbs_1jefg_62", "SidebarSection-breadcrumb": "_SidebarSection-breadcrumb_1jefg_33", "SidebarSection-heading": "_SidebarSection-heading_1jefg_74", "SidebarSection-loadingOverlay": "_SidebarSection-loadingOverlay_1jefg_88" };
12846
12782
 
@@ -12851,7 +12787,7 @@ init_Loader();
12851
12787
  // components/Breadcrumbs/index.tsx
12852
12788
  init_react_import();
12853
12789
 
12854
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/Breadcrumbs/styles.module.css#css-module
12790
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/Breadcrumbs/styles.module.css#css-module
12855
12791
  init_react_import();
12856
12792
  var styles_module_default26 = { "Breadcrumbs": "_Breadcrumbs_cvmoz_1", "Breadcrumbs-breadcrumb": "_Breadcrumbs-breadcrumb_cvmoz_10", "Breadcrumbs-breadcrumbLabel": "_Breadcrumbs-breadcrumbLabel_cvmoz_17" };
12857
12793
 
@@ -12967,7 +12903,7 @@ init_store();
12967
12903
  init_lib();
12968
12904
  init_IconButton2();
12969
12905
 
12970
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/BrowserBar/styles.module.css#css-module
12906
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/BrowserBar/styles.module.css#css-module
12971
12907
  init_react_import();
12972
12908
  var styles_module_default27 = { "BrowserBar": "_BrowserBar_oz0sq_1", "BrowserBar-urlTrigger": "_BrowserBar-urlTrigger_oz0sq_16", "BrowserBar-urlIcon": "_BrowserBar-urlIcon_oz0sq_47", "BrowserBar-urlText": "_BrowserBar-urlText_oz0sq_52", "BrowserBar-urlPath": "_BrowserBar-urlPath_oz0sq_64", "BrowserBar-urlTitle": "_BrowserBar-urlTitle_oz0sq_69", "BrowserBar-actions": "_BrowserBar-actions_oz0sq_82", "BrowserBar-deviceIcon": "_BrowserBar-deviceIcon_oz0sq_89" };
12973
12909
 
@@ -13059,9 +12995,9 @@ var BrowserBar = ({
13059
12995
  ] });
13060
12996
  };
13061
12997
 
13062
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/Editor/components/Canvas/styles.module.css#css-module
12998
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/Editor/components/Canvas/styles.module.css#css-module
13063
12999
  init_react_import();
13064
- var styles_module_default28 = { "EditorCanvas": "_EditorCanvas_19sb3_1", "EditorCanvas-controls": "_EditorCanvas-controls_19sb3_17", "EditorCanvas--fullScreen": "_EditorCanvas--fullScreen_19sb3_22", "EditorCanvas-inner": "_EditorCanvas-inner_19sb3_33", "EditorCanvas-rootColumn": "_EditorCanvas-rootColumn_19sb3_46", "EditorCanvas-root": "_EditorCanvas-root_19sb3_46", "EditorCanvas--ready": "_EditorCanvas--ready_19sb3_83", "EditorCanvas-loader": "_EditorCanvas-loader_19sb3_88", "EditorCanvas--showLoader": "_EditorCanvas--showLoader_19sb3_98", "EditorCanvas-browserBar": "_EditorCanvas-browserBar_19sb3_108", "EditorCanvas-zoomControls": "_EditorCanvas-zoomControls_19sb3_113" };
13000
+ var styles_module_default28 = { "EditorCanvas": "_EditorCanvas_k9klu_1", "EditorCanvas-controls": "_EditorCanvas-controls_k9klu_17", "EditorCanvas--fullScreen": "_EditorCanvas--fullScreen_k9klu_22", "EditorCanvas-inner": "_EditorCanvas-inner_k9klu_33", "EditorCanvas-rootColumn": "_EditorCanvas-rootColumn_k9klu_46", "EditorCanvas-root": "_EditorCanvas-root_k9klu_46", "EditorCanvas--ready": "_EditorCanvas--ready_k9klu_83", "EditorCanvas-loader": "_EditorCanvas-loader_k9klu_88", "EditorCanvas--showLoader": "_EditorCanvas--showLoader_k9klu_100", "EditorCanvas-browserBar": "_EditorCanvas-browserBar_k9klu_109", "EditorCanvas-zoomControls": "_EditorCanvas-zoomControls_k9klu_114" };
13065
13001
 
13066
13002
  // components/Editor/components/Canvas/index.tsx
13067
13003
  init_lib();
@@ -13103,7 +13039,7 @@ var MIN_ZOOM = 0.25;
13103
13039
  var MAX_ZOOM = 3;
13104
13040
  var TRANSITION_DURATION = 150;
13105
13041
  var Canvas = () => {
13106
- var _a;
13042
+ var _a, _b;
13107
13043
  const { frameRef } = useCanvasFrame();
13108
13044
  const {
13109
13045
  viewports: viewportOptions = defaultViewports,
@@ -13167,19 +13103,18 @@ var Canvas = () => {
13167
13103
  }, 500);
13168
13104
  }, []);
13169
13105
  const appStoreApi = useAppStoreApi();
13170
- (0, import_react87.useEffect)(() => {
13171
- var _a2, _b;
13172
- if (typeof window === "undefined") return;
13173
- if ((_a2 = uiProp == null ? void 0 : uiProp.viewports) == null ? void 0 : _a2.current) return;
13106
+ const autoSelectingRef = (0, import_react87.useRef)(true);
13107
+ const pickClosestViewport = (0, import_react87.useCallback)(() => {
13108
+ var _a2, _b2;
13109
+ if (typeof window === "undefined") return null;
13174
13110
  const viewportWidth = window.innerWidth;
13175
- const frameWidth = (_b = frameRef.current) == null ? void 0 : _b.getBoundingClientRect().width;
13176
- if (!viewportWidth) return;
13177
- if (!frameWidth) return;
13178
- if (viewportOptions.length === 0) return;
13111
+ const frameWidth = (_a2 = frameRef.current) == null ? void 0 : _a2.getBoundingClientRect().width;
13112
+ if (!viewportWidth) return null;
13113
+ if (!frameWidth) return null;
13114
+ if (viewportOptions.length === 0) return null;
13179
13115
  const fullWidthViewport = Object.values(viewportOptions).find(
13180
13116
  (v) => v.width === "100%"
13181
13117
  );
13182
- const containsFullWidthViewport = !!fullWidthViewport;
13183
13118
  const viewportDifferences = Object.entries(viewportOptions).filter(([_, value]) => value.width !== "100%").map(([key, value]) => ({
13184
13119
  key,
13185
13120
  diff: Math.abs(
@@ -13187,10 +13122,19 @@ var Canvas = () => {
13187
13122
  ),
13188
13123
  value
13189
13124
  })).sort((a, b) => a.diff > b.diff ? 1 : -1);
13190
- let closestViewport = viewportDifferences[0].value;
13191
- if (closestViewport.width < frameWidth && containsFullWidthViewport) {
13125
+ let closestViewport = (_b2 = viewportDifferences[0]) == null ? void 0 : _b2.value;
13126
+ if (!closestViewport) return null;
13127
+ if (closestViewport.width < frameWidth && fullWidthViewport) {
13192
13128
  closestViewport = fullWidthViewport;
13193
13129
  }
13130
+ return closestViewport;
13131
+ }, [viewportOptions, frameRef]);
13132
+ (0, import_react87.useEffect)(() => {
13133
+ var _a2;
13134
+ if (typeof window === "undefined") return;
13135
+ if ((_a2 = uiProp == null ? void 0 : uiProp.viewports) == null ? void 0 : _a2.current) return;
13136
+ const closestViewport = pickClosestViewport();
13137
+ if (!closestViewport) return;
13194
13138
  if (iframe.enabled) {
13195
13139
  const s = appStoreApi.getState();
13196
13140
  const appState = {
@@ -13212,12 +13156,47 @@ var Canvas = () => {
13212
13156
  appStoreApi.setState(__spreadProps(__spreadValues({}, appState), { history }));
13213
13157
  }
13214
13158
  }, [
13215
- viewportOptions,
13159
+ pickClosestViewport,
13216
13160
  frameRef.current,
13217
13161
  iframe,
13218
13162
  appStoreApi,
13219
13163
  (_a = uiProp == null ? void 0 : uiProp.viewports) == null ? void 0 : _a.current
13220
13164
  ]);
13165
+ (0, import_react87.useEffect)(() => {
13166
+ var _a2;
13167
+ if (typeof window === "undefined") return;
13168
+ if (!iframe.enabled) return;
13169
+ if ((_a2 = uiProp == null ? void 0 : uiProp.viewports) == null ? void 0 : _a2.current) return;
13170
+ const target = frameRef.current;
13171
+ if (!target) return;
13172
+ const observer = new ResizeObserver(() => {
13173
+ if (!autoSelectingRef.current) return;
13174
+ const closestViewport = pickClosestViewport();
13175
+ if (!closestViewport) return;
13176
+ const s = appStoreApi.getState();
13177
+ const current = s.state.ui.viewports.current;
13178
+ if (current.width === closestViewport.width && current.height === (closestViewport.height || "auto")) {
13179
+ return;
13180
+ }
13181
+ setUi({
13182
+ viewports: __spreadProps(__spreadValues({}, s.state.ui.viewports), {
13183
+ current: __spreadProps(__spreadValues({}, current), {
13184
+ width: closestViewport.width,
13185
+ height: closestViewport.height || "auto"
13186
+ })
13187
+ })
13188
+ });
13189
+ });
13190
+ observer.observe(target);
13191
+ return () => observer.disconnect();
13192
+ }, [
13193
+ pickClosestViewport,
13194
+ frameRef,
13195
+ iframe.enabled,
13196
+ (_b = uiProp == null ? void 0 : uiProp.viewports) == null ? void 0 : _b.current,
13197
+ appStoreApi,
13198
+ setUi
13199
+ ]);
13221
13200
  return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
13222
13201
  "div",
13223
13202
  {
@@ -13257,6 +13236,7 @@ var Canvas = () => {
13257
13236
  BrowserBar,
13258
13237
  {
13259
13238
  onViewportChange: (viewport) => {
13239
+ autoSelectingRef.current = false;
13260
13240
  setShowTransition(true);
13261
13241
  isResizingRef.current = true;
13262
13242
  const uiViewport = __spreadProps(__spreadValues({}, viewport), {
@@ -13381,7 +13361,7 @@ init_react_import();
13381
13361
  var import_react89 = require("react");
13382
13362
  init_get_class_name_factory();
13383
13363
 
13384
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/Editor/components/ResizeHandle/styles.module.css#css-module
13364
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/Editor/components/ResizeHandle/styles.module.css#css-module
13385
13365
  init_react_import();
13386
13366
  var styles_module_default29 = { "ResizeHandle": "_ResizeHandle_s0ymy_2", "ResizeHandle--left": "_ResizeHandle--left_s0ymy_16", "ResizeHandle--right": "_ResizeHandle--right_s0ymy_20" };
13387
13367
 
@@ -13455,7 +13435,7 @@ var ResizeHandle = ({
13455
13435
  // components/Editor/components/Sidebar/index.tsx
13456
13436
  init_get_class_name_factory();
13457
13437
 
13458
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/Editor/components/Sidebar/styles.module.css#css-module
13438
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/Editor/components/Sidebar/styles.module.css#css-module
13459
13439
  init_react_import();
13460
13440
  var styles_module_default30 = { "Sidebar": "_Sidebar_6tp4l_1", "Sidebar--isVisible": "_Sidebar--isVisible_6tp4l_9", "Sidebar--left": "_Sidebar--left_6tp4l_13", "Sidebar--right": "_Sidebar--right_6tp4l_25", "Sidebar-resizeHandle": "_Sidebar-resizeHandle_6tp4l_37" };
13461
13441
 
@@ -13557,7 +13537,7 @@ var useDeleteHotkeys = () => {
13557
13537
  // components/Editor/components/Nav/index.tsx
13558
13538
  init_react_import();
13559
13539
 
13560
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/components/Editor/components/Nav/styles.module.css#css-module
13540
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/components/Editor/components/Nav/styles.module.css#css-module
13561
13541
  init_react_import();
13562
13542
  var styles_module_default31 = { "Nav": "_Nav_kjoi9_1", "Nav-list": "_Nav-list_kjoi9_18", "Nav-footer": "_Nav-footer_kjoi9_42", "NavItem-link": "_NavItem-link_kjoi9_55", "NavItem-linkLabel": "_NavItem-linkLabel_kjoi9_83", "NavItem": "_NavItem_kjoi9_55", "NavItem-linkIcon": "_NavItem-linkIcon_kjoi9_108", "NavItem--active": "_NavItem--active_kjoi9_121", "NavItem--mobileOnly": "_NavItem--mobileOnly_kjoi9_132", "NavItem--desktopOnly": "_NavItem--desktopOnly_kjoi9_137" };
13563
13543
 
@@ -13607,7 +13587,7 @@ init_lucide_react();
13607
13587
  init_react_import();
13608
13588
  init_lucide_react();
13609
13589
 
13610
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/plugins/blocks/styles.module.css#css-module
13590
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/plugins/blocks/styles.module.css#css-module
13611
13591
  init_react_import();
13612
13592
  var styles_module_default32 = { "BlocksPlugin": "_BlocksPlugin_15ud0_1" };
13613
13593
 
@@ -13626,7 +13606,7 @@ var blocksPlugin = () => ({
13626
13606
  init_react_import();
13627
13607
  init_lucide_react();
13628
13608
 
13629
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/plugins/outline/styles.module.css#css-module
13609
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/plugins/outline/styles.module.css#css-module
13630
13610
  init_react_import();
13631
13611
  var styles_module_default33 = { "OutlinePlugin": "_OutlinePlugin_q92j6_1" };
13632
13612
 
@@ -13646,7 +13626,7 @@ init_react_import();
13646
13626
  init_lucide_react();
13647
13627
  init_store();
13648
13628
 
13649
- // css-module:/Users/rami/Documents/apps/frontend-react-editor/packages/core/plugins/fields/styles.module.css#css-module
13629
+ // css-module:/Users/rami/Documents/apps/react-editor/packages/core/plugins/fields/styles.module.css#css-module
13650
13630
  init_react_import();
13651
13631
  var styles_module_default34 = { "FieldsPlugin": "_FieldsPlugin_l8h4q_1", "FieldsPlugin-header": "_FieldsPlugin-header_l8h4q_7" };
13652
13632
 
@@ -14108,10 +14088,8 @@ function EditorProvider({ children }) {
14108
14088
  const {
14109
14089
  config,
14110
14090
  data: initialData,
14111
- globalData: initialGlobalData,
14112
14091
  ui: initialUi,
14113
14092
  onChange,
14114
- onGlobalsChange,
14115
14093
  permissions = {},
14116
14094
  plugins,
14117
14095
  overrides,
@@ -14132,7 +14110,7 @@ function EditorProvider({ children }) {
14132
14110
  [_iframe]
14133
14111
  );
14134
14112
  const [generatedAppState] = (0, import_react92.useState)(() => {
14135
- var _a, _b, _c, _d, _e;
14113
+ var _a, _b, _c, _d, _e, _f;
14136
14114
  const initial = __spreadValues(__spreadValues({}, defaultAppState.ui), initialUi);
14137
14115
  let clientUiState = {};
14138
14116
  if (Object.keys((initialData == null ? void 0 : initialData.root) || {}).length > 0 && !((_a = initialData == null ? void 0 : initialData.root) == null ? void 0 : _a.props)) {
@@ -14146,20 +14124,20 @@ function EditorProvider({ children }) {
14146
14124
  toComponent(__spreadProps(__spreadValues({}, initialData == null ? void 0 : initialData.root), { props: defaultedRootProps })),
14147
14125
  config
14148
14126
  );
14149
- const seededGlobalData = __spreadValues({}, initialGlobalData != null ? initialGlobalData : {});
14150
- for (const [type, comp] of Object.entries((_d = config.components) != null ? _d : {})) {
14151
- if ((comp == null ? void 0 : comp.global) && !seededGlobalData[type]) {
14152
- seededGlobalData[type] = {
14153
- props: __spreadValues({}, (_e = comp == null ? void 0 : comp.defaultProps) != null ? _e : {})
14127
+ const seededGlobals = __spreadValues({}, (_d = initialData == null ? void 0 : initialData.globals) != null ? _d : {});
14128
+ for (const [type, comp] of Object.entries((_e = config.components) != null ? _e : {})) {
14129
+ if ((comp == null ? void 0 : comp.global) && !seededGlobals[type]) {
14130
+ seededGlobals[type] = {
14131
+ props: __spreadValues({}, (_f = comp == null ? void 0 : comp.defaultProps) != null ? _f : {})
14154
14132
  };
14155
14133
  }
14156
14134
  }
14157
14135
  const composedData = resolveGlobals(
14158
14136
  __spreadProps(__spreadValues({}, initialData), {
14159
14137
  root: __spreadProps(__spreadValues({}, initialData == null ? void 0 : initialData.root), { props: root.props }),
14160
- content: initialData.content || []
14138
+ content: initialData.content || [],
14139
+ globals: seededGlobals
14161
14140
  }),
14162
- seededGlobalData,
14163
14141
  config
14164
14142
  );
14165
14143
  const newAppState = __spreadProps(__spreadValues({}, defaultAppState), {
@@ -14267,23 +14245,18 @@ function EditorProvider({ children }) {
14267
14245
  initialAppState
14268
14246
  });
14269
14247
  const previousData = (0, import_react92.useRef)(null);
14270
- const previousGlobalData = (0, import_react92.useRef)(null);
14271
14248
  (0, import_react92.useEffect)(() => {
14272
14249
  return appStore.subscribe(
14273
14250
  (s) => s.state.data,
14274
14251
  (data) => {
14275
- const split = splitGlobalData(data, config);
14276
- if (onChange && !(0, import_fast_equals4.deepEqual)(split.data, previousData.current)) {
14277
- onChange(split.data);
14278
- previousData.current = split.data;
14279
- }
14280
- if (onGlobalsChange && !(0, import_fast_equals4.deepEqual)(split.globalData, previousGlobalData.current)) {
14281
- onGlobalsChange(split.globalData);
14282
- previousGlobalData.current = split.globalData;
14252
+ const split = splitGlobals(data, config);
14253
+ if (onChange && !(0, import_fast_equals4.deepEqual)(split, previousData.current)) {
14254
+ onChange(split);
14255
+ previousData.current = split;
14283
14256
  }
14284
14257
  }
14285
14258
  );
14286
- }, [onChange, onGlobalsChange, config]);
14259
+ }, [onChange, config]);
14287
14260
  useRegisterPermissionsSlice(appStore, permissions);
14288
14261
  const uEditorStore = useRegisterUseEditorStore(appStore);
14289
14262
  (0, import_react92.useEffect)(() => {