@superblocksteam/library 2.0.3-next.82 → 2.0.3-next.84

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 (26) hide show
  1. package/dist/{allPaths-Cr6ygq5z.js → allPaths-CvesNb4a.js} +2 -2
  2. package/dist/{allPaths-Cr6ygq5z.js.map → allPaths-CvesNb4a.js.map} +1 -1
  3. package/dist/{allPaths-CrW5qHJY.js → allPaths-Dt9bbzot.js} +2 -2
  4. package/dist/{allPaths-CrW5qHJY.js.map → allPaths-Dt9bbzot.js.map} +1 -1
  5. package/dist/{allPathsLoader-CB6RpBm8.js → allPathsLoader-BnEIC5v0.js} +3 -3
  6. package/dist/{allPathsLoader-Die2eFiY.js.map → allPathsLoader-BnEIC5v0.js.map} +1 -1
  7. package/dist/{allPathsLoader-Die2eFiY.js → allPathsLoader-HEXlQA7P.js} +3 -3
  8. package/dist/{allPathsLoader-CB6RpBm8.js.map → allPathsLoader-HEXlQA7P.js.map} +1 -1
  9. package/dist/{index-C7S72F_O.js → index-B1Axsb0U.js} +171 -168
  10. package/dist/{index-C7S72F_O.js.map → index-B1Axsb0U.js.map} +1 -1
  11. package/dist/index.css +0 -34
  12. package/dist/index.js +2 -2
  13. package/dist/{splitPathsBySizeLoader-v13UHQHK.js → splitPathsBySizeLoader-Cm_jV-X8.js} +2 -2
  14. package/dist/{splitPathsBySizeLoader-v13UHQHK.js.map → splitPathsBySizeLoader-Cm_jV-X8.js.map} +1 -1
  15. package/dist/{splitPathsBySizeLoader-Byhb9_SF.js → splitPathsBySizeLoader-UZhMZCtt.js} +2 -2
  16. package/dist/{splitPathsBySizeLoader-Byhb9_SF.js.map → splitPathsBySizeLoader-UZhMZCtt.js.map} +1 -1
  17. package/dist-types/edit-mode/dnd/droppable-widget.d.ts +1 -0
  18. package/dist-types/edit-mode/dnd/grid-store.d.ts +2 -0
  19. package/dist-types/edit-mode/edit-wrapper.d.ts +2 -1
  20. package/dist-types/edit-mode/features/resizing-store.d.ts +5 -2
  21. package/dist-types/edit-mode/features/runtime-entities-manager.d.ts +1 -0
  22. package/dist-types/lib/internal-details/lib/features/component-registry.d.ts +1 -0
  23. package/dist-types/lib/internal-details/sb-wrapper.d.ts +4 -1
  24. package/dist-types/lib/user-facing/components/grid/index.d.ts +1 -1
  25. package/dist-types/lib/user-facing/components/modal/modal-component.d.ts +1 -0
  26. package/package.json +2 -2
@@ -2703,14 +2703,14 @@ function getLoaderFn$1(options) {
2703
2703
  if (!(loader === "all")) return [3, 3];
2704
2704
  return [4, import(
2705
2705
  /* webpackChunkName: "blueprint-icons-all-paths-loader" */
2706
- "./allPathsLoader-CB6RpBm8.js"
2706
+ "./allPathsLoader-HEXlQA7P.js"
2707
2707
  )];
2708
2708
  case 2:
2709
2709
  return [2, _b2.sent().allPathsLoader];
2710
2710
  case 3:
2711
2711
  return [4, import(
2712
2712
  /* webpackChunkName: "blueprint-icons-split-paths-by-size-loader" */
2713
- "./splitPathsBySizeLoader-Byhb9_SF.js"
2713
+ "./splitPathsBySizeLoader-UZhMZCtt.js"
2714
2714
  )];
2715
2715
  case 4:
2716
2716
  return [2, _b2.sent().splitPathsBySizeLoader];
@@ -64972,14 +64972,6 @@ const StackLikeContainerTypes = /* @__PURE__ */ new Set([
64972
64972
  ...VStackLikeContainerTypes,
64973
64973
  ...HStackLikeContainerTypes
64974
64974
  ]);
64975
- const DroppableContainerTypes = /* @__PURE__ */ new Set([
64976
- "SbPage",
64977
- "SbSection",
64978
- "SbColumn",
64979
- "SbContainer",
64980
- "SbModal",
64981
- "SbSlideout"
64982
- ]);
64983
64975
  function rule(description, restriction) {
64984
64976
  return {
64985
64977
  description,
@@ -65038,7 +65030,11 @@ const isDragAndDropTypeValid = ({
65038
65030
  return triggeredRestriction == null;
65039
65031
  };
65040
65032
  const isTypeDroppable = (type5) => {
65041
- return DroppableContainerTypes.has(type5);
65033
+ const component = rootStore.componentRegistry.getComponent(type5);
65034
+ if (component && component.isDroppable === true) {
65035
+ return true;
65036
+ }
65037
+ return false;
65042
65038
  };
65043
65039
  const isTypeDraggable = (type5) => {
65044
65040
  return type5 !== "SbPage" && type5 !== "SbSlideout" && type5 !== "SbModal";
@@ -65192,27 +65188,35 @@ class GridManager {
65192
65188
  };
65193
65189
  }
65194
65190
  get lazyTargetGridInfo() {
65195
- var _a2;
65191
+ var _a2, _b2;
65196
65192
  const targetRect = this.dnd.activeTargetRect;
65197
65193
  const dropTargetId = this.dnd.dropTargetId;
65198
65194
  if (!targetRect || !dropTargetId) {
65199
65195
  return null;
65200
65196
  }
65201
- const dropTargetWidgetProps = (_a2 = getEditStore().runtimeEntitiesManager.getEditorWidgetMeta(
65202
- dropTargetId
65203
- )) == null ? void 0 : _a2.props;
65204
- const targetColumns = dropTargetWidgetProps == null ? void 0 : dropTargetWidgetProps.columns;
65197
+ const dropTargetWidgetMeta = getEditStore().runtimeEntitiesManager.getEditorWidgetMeta(dropTargetId);
65198
+ if (!(dropTargetWidgetMeta == null ? void 0 : dropTargetWidgetMeta.scopeId) || !(dropTargetWidgetMeta == null ? void 0 : dropTargetWidgetMeta.name)) {
65199
+ return null;
65200
+ }
65201
+ const entityValues = this.root.entityManager.getEntity(
65202
+ dropTargetWidgetMeta.scopeId,
65203
+ dropTargetWidgetMeta.name
65204
+ );
65205
+ const targetColumns = entityValues == null ? void 0 : entityValues.columns;
65205
65206
  if (!targetColumns) {
65206
65207
  return null;
65207
65208
  }
65208
- const tileWidth = targetRect.width / targetColumns;
65209
- const tileHeight = 12;
65209
+ const targetPadding = entityValues == null ? void 0 : entityValues.padding;
65210
+ const xPadding = (((_a2 = targetPadding == null ? void 0 : targetPadding.left) == null ? void 0 : _a2.value) ?? 0) + (((_b2 = targetPadding == null ? void 0 : targetPadding.right) == null ? void 0 : _b2.value) ?? 0);
65211
+ const tileWidth = (targetRect.width - xPadding) / targetColumns;
65212
+ const tileHeight = (entityValues == null ? void 0 : entityValues.rowSize) ?? 12;
65210
65213
  const targetHeightGU = Math.ceil(targetRect.height / tileHeight);
65211
65214
  return {
65212
65215
  targetColumns,
65213
65216
  tileWidth,
65214
65217
  tileHeight,
65215
- targetHeightGU
65218
+ targetHeightGU,
65219
+ targetPadding
65216
65220
  };
65217
65221
  }
65218
65222
  getGridPositionInfo(positionPx) {
@@ -65224,7 +65228,7 @@ class GridManager {
65224
65228
  if (!targetGridInfo) {
65225
65229
  return null;
65226
65230
  }
65227
- const { tileWidth, tileHeight } = targetGridInfo;
65231
+ const { tileWidth, tileHeight, targetPadding } = targetGridInfo;
65228
65232
  const relativeX = positionPx.left - targetRect.left;
65229
65233
  const relativeY = positionPx.top - targetRect.top;
65230
65234
  const xGU = Math.round(relativeX / tileWidth);
@@ -65237,7 +65241,8 @@ class GridManager {
65237
65241
  widthGU,
65238
65242
  heightGU,
65239
65243
  tileWidth,
65240
- tileHeight
65244
+ tileHeight,
65245
+ targetPadding
65241
65246
  };
65242
65247
  }
65243
65248
  get lazyChildGridPositionsGU() {
@@ -65307,7 +65312,8 @@ class GridManager {
65307
65312
  if (!collidingRectGU) {
65308
65313
  return null;
65309
65314
  }
65310
- const { tileWidth, tileHeight } = this.lazyTargetGridInfo;
65315
+ const targetGridInfo = this.lazyTargetGridInfo;
65316
+ const { tileWidth, tileHeight } = targetGridInfo;
65311
65317
  Object.entries(childPositions).forEach(([id2, childPosition]) => {
65312
65318
  if (id2 === this.draggedInstanceId) {
65313
65319
  return false;
@@ -65947,15 +65953,16 @@ const GridDefaults = {
65947
65953
  DEFAULT_GRID_COLUMN_WIDTH: 12
65948
65954
  };
65949
65955
  class ResizingManager {
65950
- constructor() {
65956
+ constructor(root2) {
65951
65957
  __publicField(this, "_activeResizes", /* @__PURE__ */ new Map());
65958
+ this.root = root2;
65952
65959
  makeAutoObservable(this);
65953
65960
  registerStores({
65954
65961
  ResizingManager: this
65955
65962
  });
65956
65963
  }
65957
65964
  startResizing(dragStartX, dragStartY, instanceId, position2) {
65958
- var _a2, _b2, _c2, _d2, _e2, _f2, _g2, _h2, _i, _j;
65965
+ var _a2, _b2, _c2, _d2, _e2, _f2, _g2, _h2, _i, _j, _k, _l2, _m2;
65959
65966
  const widget = getEditStore().runtimeEntitiesManager.getEditorWidgetMeta(instanceId);
65960
65967
  if (!widget) {
65961
65968
  console.error(`Could not find metadata ${instanceId}`);
@@ -65969,8 +65976,13 @@ class ResizingManager {
65969
65976
  console.error(`Could not find parent for ${instanceId}`);
65970
65977
  return;
65971
65978
  }
65972
- const parentWidth = (_a2 = getBoundingBoxForWidget(parentInstanceId)) == null ? void 0 : _a2.width;
65973
- const columns = (_b2 = parentWidget == null ? void 0 : parentWidget.props) == null ? void 0 : _b2.columns;
65979
+ const parentEntity = parentWidget.scopeId && parentWidget.name ? this.root.entityManager.getEntity(
65980
+ parentWidget.scopeId,
65981
+ parentWidget.name
65982
+ ) : null;
65983
+ const columns = (parentEntity == null ? void 0 : parentEntity.columns) ?? ((_a2 = parentWidget == null ? void 0 : parentWidget.props) == null ? void 0 : _a2.columns);
65984
+ const parentPadding = (parentEntity == null ? void 0 : parentEntity.padding) ?? ((_b2 = parentWidget == null ? void 0 : parentWidget.props) == null ? void 0 : _b2.padding);
65985
+ const parentWidth = (((_c2 = getBoundingBoxForWidget(parentInstanceId)) == null ? void 0 : _c2.width) ?? 0) - (((_d2 = parentPadding == null ? void 0 : parentPadding.left) == null ? void 0 : _d2.value) ?? 0) - (((_e2 = parentPadding == null ? void 0 : parentPadding.right) == null ? void 0 : _e2.value) ?? 0);
65974
65986
  const isOnGrid = isWidgetGrid(parentWidget) && parentWidth && columns;
65975
65987
  const gridUnitWidth = isOnGrid ? parentWidth / columns : GridDefaults.DEFAULT_GRID_COLUMN_WIDTH;
65976
65988
  const gridUnitHeight = GridDefaults.DEFAULT_GRID_ROW_HEIGHT;
@@ -65987,10 +65999,10 @@ class ResizingManager {
65987
65999
  dragStartX,
65988
66000
  dragStartY,
65989
66001
  start: {
65990
- width: ((_d2 = (_c2 = widget == null ? void 0 : widget.props) == null ? void 0 : _c2.width) == null ? void 0 : _d2.value) ?? 0,
65991
- height: ((_f2 = (_e2 = widget == null ? void 0 : widget.props) == null ? void 0 : _e2.height) == null ? void 0 : _f2.value) ?? 0,
65992
- marginLeft: ((_h2 = (_g2 = widget == null ? void 0 : widget.props) == null ? void 0 : _g2.marginLeft) == null ? void 0 : _h2.value) ?? 0,
65993
- marginTop: ((_j = (_i = widget == null ? void 0 : widget.props) == null ? void 0 : _i.marginTop) == null ? void 0 : _j.value) ?? 0
66002
+ width: ((_g2 = (_f2 = widget == null ? void 0 : widget.props) == null ? void 0 : _f2.width) == null ? void 0 : _g2.value) ?? 0,
66003
+ height: ((_i = (_h2 = widget == null ? void 0 : widget.props) == null ? void 0 : _h2.height) == null ? void 0 : _i.value) ?? 0,
66004
+ marginLeft: ((_k = (_j = widget == null ? void 0 : widget.props) == null ? void 0 : _j.marginLeft) == null ? void 0 : _k.value) ?? 0,
66005
+ marginTop: ((_m2 = (_l2 = widget == null ? void 0 : widget.props) == null ? void 0 : _l2.marginTop) == null ? void 0 : _m2.value) ?? 0
65994
66006
  },
65995
66007
  resizedPosition: position2,
65996
66008
  widthToUpdate: null,
@@ -66001,7 +66013,8 @@ class ResizingManager {
66001
66013
  gridUnitHeight,
66002
66014
  potentialCollisions,
66003
66015
  widgetGU,
66004
- isApplyingResize: false
66016
+ isApplyingResize: false,
66017
+ parentPadding
66005
66018
  });
66006
66019
  }
66007
66020
  // Potential collisions are the siblings of the resizing widget
@@ -66232,7 +66245,7 @@ class UIStore {
66232
66245
  this.root = root2;
66233
66246
  this.editStore = editStore2;
66234
66247
  this.dnd = new DragAndDropManager(root2);
66235
- this.resizing = new ResizingManager();
66248
+ this.resizing = new ResizingManager(root2);
66236
66249
  makeObservable(this, {
66237
66250
  _selectedSourceIds: observable,
66238
66251
  _selectedInstanceIds: observable,
@@ -108761,6 +108774,7 @@ const ReactiveComponent = observer(function Component2({
108761
108774
  name,
108762
108775
  ...reactiveProps,
108763
108776
  ...instanceIdProps,
108777
+ dropTargetRef: widgetProps.dropTargetRef,
108764
108778
  style: styleProp,
108765
108779
  ...testProps,
108766
108780
  children
@@ -112894,10 +112908,17 @@ const DroppableWidget = observer(
112894
112908
  });
112895
112909
  const widgetNode = useWidgetNodeRef(props.instanceId);
112896
112910
  useEffect(() => {
112897
- if (widgetNode) {
112898
- setDroppableNodeRef(widgetNode);
112911
+ var _a3;
112912
+ let targetNode = null;
112913
+ if ((_a3 = props.dropTargetRef) == null ? void 0 : _a3.current) {
112914
+ targetNode = props.dropTargetRef.current;
112915
+ } else if (widgetNode) {
112916
+ targetNode = widgetNode;
112899
112917
  }
112900
- }, [widgetNode, setDroppableNodeRef]);
112918
+ if (targetNode) {
112919
+ setDroppableNodeRef(targetNode);
112920
+ }
112921
+ }, [widgetNode, setDroppableNodeRef, props.dropTargetRef]);
112901
112922
  return /* @__PURE__ */ jsxRuntimeExports.jsx(React__default.Fragment, { children: props.children });
112902
112923
  }
112903
112924
  );
@@ -112938,7 +112959,7 @@ const useScope = () => {
112938
112959
  const CANVAS_ROOT_ID = "canvas-root";
112939
112960
  const MODAL_TARGET_ROOT_ID = "modal-target-root";
112940
112961
  const CollisionsLayer = observer(() => {
112941
- var _a2, _b2;
112962
+ var _a2, _b2, _c2;
112942
112963
  const editStore2 = getEditStore();
112943
112964
  const dropTargetId = editStore2.ui.dnd.dropTargetId;
112944
112965
  const isDragging = editStore2.ui.dnd.isDragging;
@@ -112955,6 +112976,7 @@ const CollisionsLayer = observer(() => {
112955
112976
  parentInstanceId,
112956
112977
  tileWidth: resize.gridUnitWidth,
112957
112978
  tileHeight: resize.gridUnitHeight,
112979
+ targetPadding: resize.parentPadding,
112958
112980
  collisionRects: resize.potentialCollisions
112959
112981
  },
112960
112982
  resize.sourceId
@@ -112966,6 +112988,7 @@ const CollisionsLayer = observer(() => {
112966
112988
  parentInstanceId: dropTargetId,
112967
112989
  tileWidth: (_a2 = editStore2.ui.dnd.grid.lazyActiveRectGU) == null ? void 0 : _a2.tileWidth,
112968
112990
  tileHeight: (_b2 = editStore2.ui.dnd.grid.lazyActiveRectGU) == null ? void 0 : _b2.tileHeight,
112991
+ targetPadding: (_c2 = editStore2.ui.dnd.grid.lazyActiveRectGU) == null ? void 0 : _c2.targetPadding,
112969
112992
  collisionRects: editStore2.ui.dnd.grid.lazyChildGridPositionsGU
112970
112993
  }
112971
112994
  )
@@ -112973,7 +112996,13 @@ const CollisionsLayer = observer(() => {
112973
112996
  });
112974
112997
  const Collisions = observer(
112975
112998
  (props) => {
112976
- const { parentInstanceId, tileWidth, tileHeight, collisionRects } = props;
112999
+ const {
113000
+ parentInstanceId,
113001
+ tileWidth,
113002
+ tileHeight,
113003
+ collisionRects,
113004
+ targetPadding
113005
+ } = props;
112977
113006
  const editStore2 = getEditStore();
112978
113007
  const { theme } = useTheme();
112979
113008
  const children = parentInstanceId ? editStore2.runtimeEntitiesManager.getEditorWidgetChildrenMeta(parentInstanceId).filter((child) => !editStore2.ui.isInstanceSelected(child.instanceId)) : [];
@@ -112990,7 +113019,8 @@ const Collisions = observer(
112990
113019
  {
112991
113020
  parentInstanceId,
112992
113021
  tileWidth,
112993
- tileHeight
113022
+ tileHeight,
113023
+ targetPadding
112994
113024
  }
112995
113025
  ),
112996
113026
  children.map((child) => {
@@ -113029,38 +113059,42 @@ const Collisions = observer(
113029
113059
  }
113030
113060
  );
113031
113061
  const DotsPattern = qe$1.div`
113032
- &.sb-edit-drop-target-outline {
113033
- background-size: ${(props) => `${props.tileWidth}px ${props.tileHeight}px`};
113034
- background-position: ${(props) => `${props.tileWidth * 0.45}px ${props.tileHeight * 0.45}px`};
113035
- background-image: radial-gradient(
113036
- circle at center,
113037
- #cccccc 1px,
113038
- transparent 1px
113039
- );
113040
- }
113062
+ margin-left: -2px;
113063
+ margin-top: -2px;
113064
+ width: calc(100% + 4px);
113065
+ height: calc(100% + 4px);
113066
+ background-size: ${(props) => `${props.tileWidth}px ${props.tileHeight}px`};
113067
+ background-image: radial-gradient(
113068
+ circle at 1px 1px,
113069
+ #cccccc 1px,
113070
+ transparent 1px
113071
+ );
113041
113072
  `;
113042
113073
  const GridDots = observer(
113043
113074
  (props) => {
113044
- const { parentInstanceId, tileWidth, tileHeight } = props;
113075
+ var _a2, _b2, _c2, _d2;
113076
+ const { parentInstanceId, tileWidth, tileHeight, targetPadding } = props;
113045
113077
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
113046
113078
  "div",
113047
113079
  {
113080
+ className: "sb-edit-drop-target-outline",
113048
113081
  style: {
113049
113082
  position: "absolute",
113050
113083
  top: "anchor(top)",
113051
113084
  left: "anchor(left)",
113052
113085
  right: "anchor(right)",
113053
113086
  bottom: "anchor(bottom)",
113054
- positionAnchor: getWidgetAnchorName(parentInstanceId)
113055
- },
113056
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(
113057
- DotsPattern,
113058
- {
113059
- className: "sb-edit-drop-target-outline",
113060
- tileWidth,
113061
- tileHeight
113087
+ positionAnchor: getWidgetAnchorName(parentInstanceId),
113088
+ width: "unset",
113089
+ height: "unset",
113090
+ ...targetPadding && {
113091
+ paddingTop: `${((_a2 = targetPadding.top) == null ? void 0 : _a2.value) ?? 0}px`,
113092
+ paddingRight: `${((_b2 = targetPadding.right) == null ? void 0 : _b2.value) ?? 0}px`,
113093
+ paddingBottom: `${((_c2 = targetPadding.bottom) == null ? void 0 : _c2.value) ?? 0}px`,
113094
+ paddingLeft: `${((_d2 = targetPadding.left) == null ? void 0 : _d2.value) ?? 0}px`
113062
113095
  }
113063
- )
113096
+ },
113097
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(DotsPattern, { tileWidth, tileHeight })
113064
113098
  }
113065
113099
  );
113066
113100
  }
@@ -113087,6 +113121,7 @@ const snapCenterToCursor = (_ref2) => {
113087
113121
  return transform;
113088
113122
  };
113089
113123
  const GridDropPreview = observer(() => {
113124
+ var _a2, _b2, _c2, _d2;
113090
113125
  const editStore2 = getEditStore();
113091
113126
  const dropTargetId = editStore2.ui.dnd.dropTargetId;
113092
113127
  const dropTargetWidgetType = editStore2.ui.dnd.dropTargetWidgetType;
@@ -113094,7 +113129,7 @@ const GridDropPreview = observer(() => {
113094
113129
  if (!activeInfo) {
113095
113130
  return null;
113096
113131
  }
113097
- const { xGU, yGU, widthGU, heightGU, tileWidth, tileHeight } = activeInfo;
113132
+ const { xGU, yGU, widthGU, heightGU, tileWidth, tileHeight, targetPadding } = activeInfo;
113098
113133
  const isFreePos = editStore2.ui.dnd.grid.lazyIsFreePos;
113099
113134
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
113100
113135
  "div",
@@ -113108,7 +113143,13 @@ const GridDropPreview = observer(() => {
113108
113143
  positionAnchor: getWidgetDropAreaAnchorName(
113109
113144
  dropTargetId,
113110
113145
  dropTargetWidgetType
113111
- )
113146
+ ),
113147
+ ...targetPadding && {
113148
+ paddingTop: `${((_a2 = targetPadding.top) == null ? void 0 : _a2.value) ?? 0}px`,
113149
+ paddingRight: `${((_b2 = targetPadding.right) == null ? void 0 : _b2.value) ?? 0}px`,
113150
+ paddingBottom: `${((_c2 = targetPadding.bottom) == null ? void 0 : _c2.value) ?? 0}px`,
113151
+ paddingLeft: `${((_d2 = targetPadding.left) == null ? void 0 : _d2.value) ?? 0}px`
113152
+ }
113112
113153
  },
113113
113154
  children: [
113114
113155
  /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -113117,7 +113158,7 @@ const GridDropPreview = observer(() => {
113117
113158
  className: "sb-edit-drag-preview",
113118
113159
  "data-is-valid-drop": isFreePos,
113119
113160
  style: {
113120
- position: "absolute",
113161
+ position: "relative",
113121
113162
  width: widthGU * tileWidth,
113122
113163
  height: heightGU * tileHeight,
113123
113164
  top: yGU * tileHeight,
@@ -114432,6 +114473,8 @@ const NamePillDiv = (params) => {
114432
114473
  right: "anchor(right)",
114433
114474
  positionAnchor: getWidgetRectAnchorName(instanceId),
114434
114475
  visibility: anyIsDragging ? "hidden" : "visible",
114476
+ marginTop: "1px",
114477
+ marginBottom: "1px",
114435
114478
  ...type5 === "ERROR" && {
114436
114479
  backgroundColor: colors.DANGER
114437
114480
  },
@@ -119857,7 +119900,7 @@ var Item2 = ContextMenuItem$1;
119857
119900
  const ContextMenuContent = "_ContextMenuContent_hv73e_5";
119858
119901
  const ContextMenuItem = "_ContextMenuItem_hv73e_21";
119859
119902
  const ContextMenuLabel = "_ContextMenuLabel_hv73e_57";
119860
- const styles$1 = {
119903
+ const styles = {
119861
119904
  ContextMenuContent,
119862
119905
  ContextMenuItem,
119863
119906
  ContextMenuLabel
@@ -119885,8 +119928,8 @@ const RightClickMenu = ({
119885
119928
  );
119886
119929
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(Root2, { children: [
119887
119930
  /* @__PURE__ */ jsxRuntimeExports.jsx(Trigger, { children }),
119888
- /* @__PURE__ */ jsxRuntimeExports.jsx(Portal2, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Content2, { className: styles$1.ContextMenuContent, children: [
119889
- /* @__PURE__ */ jsxRuntimeExports.jsxs(Label2, { className: styles$1.ContextMenuLabel, children: [
119931
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Portal2, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Content2, { className: styles.ContextMenuContent, children: [
119932
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(Label2, { className: styles.ContextMenuLabel, children: [
119890
119933
  "Add component to ",
119891
119934
  props.componentName
119892
119935
  ] }),
@@ -119894,7 +119937,7 @@ const RightClickMenu = ({
119894
119937
  (componentType) => /* @__PURE__ */ jsxRuntimeExports.jsx(
119895
119938
  Item2,
119896
119939
  {
119897
- className: styles$1.ContextMenuItem,
119940
+ className: styles.ContextMenuItem,
119898
119941
  onSelect: () => handleOnSelect(componentType),
119899
119942
  children: componentType
119900
119943
  },
@@ -120047,7 +120090,7 @@ const EditWrapper = observer(function EditWrapper2(props) {
120047
120090
  }),
120048
120091
  className: "sb-anchor-name",
120049
120092
  "data-can-drag": !isRoot,
120050
- "data-can-drop": props.isContainer,
120093
+ "data-can-drop": props.isDroppable,
120051
120094
  "data-selected": isSelected,
120052
120095
  "data-has-local-binding": hasLocalBinding,
120053
120096
  id: getEditWrapperId(props.identifier.instanceId),
@@ -120070,7 +120113,7 @@ const EditWrapper = observer(function EditWrapper2(props) {
120070
120113
  children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
120071
120114
  RightClickMenuWrapper,
120072
120115
  {
120073
- disabled: !props.isContainer,
120116
+ disabled: !props.isDroppable,
120074
120117
  componentName: identifier2.name.isAnonymous ? (meta == null ? void 0 : meta.type) ?? "Unknown" : identifier2.name.value,
120075
120118
  sourceId: identifier2.sourceId,
120076
120119
  scopeName,
@@ -120118,8 +120161,15 @@ const EditWrapper = observer(function EditWrapper2(props) {
120118
120161
  }
120119
120162
  );
120120
120163
  }
120121
- if (isTypeDroppable(props.type) && !isInCustomComponent && props.type !== "SbModal") {
120122
- content = /* @__PURE__ */ jsxRuntimeExports.jsx(DroppableWidget, { instanceId: props.identifier.instanceId, children: content });
120164
+ if (isTypeDroppable(props.type) && !isInCustomComponent) {
120165
+ content = /* @__PURE__ */ jsxRuntimeExports.jsx(
120166
+ DroppableWidget,
120167
+ {
120168
+ instanceId: props.identifier.instanceId,
120169
+ dropTargetRef: props.dropTargetRef,
120170
+ children: content
120171
+ }
120172
+ );
120123
120173
  }
120124
120174
  if (props.isCustomComponent) {
120125
120175
  content = /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -120393,6 +120443,7 @@ const registerSbComponent = (type5, config2, Component3) => {
120393
120443
  } = props;
120394
120444
  return rest;
120395
120445
  }, [props]);
120446
+ const dropTargetRef = useRef(null);
120396
120447
  useTrackRuntimeWidget(identifier2.current.instanceId, {
120397
120448
  name: identifier2.current.name,
120398
120449
  type: type5,
@@ -120408,9 +120459,10 @@ const registerSbComponent = (type5, config2, Component3) => {
120408
120459
  type: type5,
120409
120460
  widgetProps,
120410
120461
  component: Component3,
120411
- isContainer: Boolean(config2.container),
120412
120462
  isCustomComponent: config2.customComponent ?? false,
120413
120463
  identifier: identifier2.current,
120464
+ dropTargetRef,
120465
+ isDroppable: config2.container ?? false,
120414
120466
  children: props.children
120415
120467
  }
120416
120468
  );
@@ -120430,6 +120482,7 @@ const registerSbComponent = (type5, config2, Component3) => {
120430
120482
  SbComponent.sbType = type5;
120431
120483
  SbComponent.displayName = type5;
120432
120484
  SbComponent.isCustomComponent = config2.customComponent ?? false;
120485
+ SbComponent.isDroppable = config2.container ?? false;
120433
120486
  SbComponent.hideInRightClickMenu = type5 === "SbColumn" || type5 === "SbSection";
120434
120487
  if (config2.customComponent) {
120435
120488
  rootStore.componentRegistry.addCustomComponent(type5, SbComponent);
@@ -121606,10 +121659,6 @@ const generateClassName = (seed2) => {
121606
121659
  return `superblocks_widget_${seed2}`;
121607
121660
  };
121608
121661
  const getCanvasClassName = () => "canvas";
121609
- const dotGridLayer = "_dotGridLayer_35nlx_20";
121610
- const styles = {
121611
- dotGridLayer
121612
- };
121613
121662
  const getChildName = (child) => {
121614
121663
  return child.props.name ?? child.props[WIDGET_SOURCE_ID_ATTRIBUTE];
121615
121664
  };
@@ -121742,7 +121791,7 @@ const InternalGrid = ({
121742
121791
  children = EMPTY_ARRAY$1,
121743
121792
  ...props
121744
121793
  }) => {
121745
- var _a2, _b2;
121794
+ var _a2;
121746
121795
  const isEditing = Boolean((_a2 = rootStore.editStore) == null ? void 0 : _a2.isInitialized);
121747
121796
  const { style: style2, ...passThroughProps } = usePassthroughProps(props);
121748
121797
  const rowHeight = props.rowSize ?? 12;
@@ -121767,9 +121816,9 @@ const InternalGrid = ({
121767
121816
  );
121768
121817
  const positions = childrenArray.reduce(
121769
121818
  (acc, child) => {
121770
- var _a3, _b3, _c2;
121819
+ var _a3, _b2, _c2;
121771
121820
  let width = ((_a3 = child.props.width) == null ? void 0 : _a3.value) ?? 1;
121772
- if (((_b3 = child.props.width) == null ? void 0 : _b3.mode) === "fill") {
121821
+ if (((_b2 = child.props.width) == null ? void 0 : _b2.mode) === "fill") {
121773
121822
  width = columns;
121774
121823
  }
121775
121824
  acc[getChildName(child)] = {
@@ -121796,63 +121845,44 @@ const InternalGrid = ({
121796
121845
  ...style2
121797
121846
  };
121798
121847
  }, [columns, props.spacing, rowHeight, style2]);
121799
- const gridRef = React__default.useRef(null);
121800
- const collected = {
121801
- currentOffset: void 0
121802
- };
121803
- const isCurrentDropTarget = false;
121804
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
121805
- DragDisplay,
121806
- {
121807
- showGrid: isCurrentDropTarget,
121808
- pointer: collected.currentOffset,
121809
- rowSize: rowHeight,
121810
- columnSize: (((_b2 = gridRef.current) == null ? void 0 : _b2.clientWidth) ?? 1) / columns,
121811
- passThroughProps,
121812
- children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: gridStyle, ref: gridRef, className: props.className, children: [
121813
- isCurrentDropTarget,
121814
- childrenArray.map((child) => {
121815
- var _a3;
121816
- const heightMode = child.props.height ?? "fit";
121817
- const top2 = gridPositions[getChildName(child)].top;
121818
- const left2 = gridPositions[getChildName(child)].left;
121819
- const rows = gridPositions[getChildName(child)].height;
121820
- const columns2 = gridPositions[getChildName(child)].width;
121821
- const Component3 = heightMode === "fit" ? MeasuredComponent : StaticComponent;
121822
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
121823
- "div",
121824
- {
121825
- style: {
121826
- gridRow: `${top2 + 1} / span ${rows}`,
121827
- gridColumn: `${left2 + 1} / span ${columns2}`,
121828
- width: "100%",
121829
- maxWidth: "100%"
121830
- },
121831
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(
121832
- Component3,
121833
- {
121834
- staticHeight: (((_a3 = child.props.height) == null ? void 0 : _a3.value) ?? 0) * rowHeight,
121835
- onHeightChanged: (height) => {
121836
- dispatchHeight({
121837
- type: "SET_HEIGHT",
121838
- name: getChildName(child),
121839
- height
121840
- });
121841
- },
121842
- children: child
121843
- }
121844
- )
121848
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(DragDisplay, { passThroughProps, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: gridStyle, className: props.className, children: childrenArray.map((child) => {
121849
+ var _a3;
121850
+ const heightMode = child.props.height ?? "fit";
121851
+ const top2 = gridPositions[getChildName(child)].top;
121852
+ const left2 = gridPositions[getChildName(child)].left;
121853
+ const rows = gridPositions[getChildName(child)].height;
121854
+ const columns2 = gridPositions[getChildName(child)].width;
121855
+ const Component3 = heightMode === "fit" ? MeasuredComponent : StaticComponent;
121856
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
121857
+ "div",
121858
+ {
121859
+ style: {
121860
+ gridRow: `${top2 + 1} / span ${rows}`,
121861
+ gridColumn: `${left2 + 1} / span ${columns2}`,
121862
+ width: "100%",
121863
+ maxWidth: "100%"
121864
+ },
121865
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(
121866
+ Component3,
121867
+ {
121868
+ staticHeight: (((_a3 = child.props.height) == null ? void 0 : _a3.value) ?? 0) * rowHeight,
121869
+ onHeightChanged: (height) => {
121870
+ dispatchHeight({
121871
+ type: "SET_HEIGHT",
121872
+ name: getChildName(child),
121873
+ height
121874
+ });
121845
121875
  },
121846
- getChildName(child)
121847
- );
121848
- })
121849
- ] })
121850
- }
121851
- );
121876
+ children: child
121877
+ }
121878
+ )
121879
+ },
121880
+ getChildName(child)
121881
+ );
121882
+ }) }) });
121852
121883
  };
121853
121884
  const DragDisplay = (props) => {
121854
- const pointerSize = 8;
121855
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(
121885
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
121856
121886
  "div",
121857
121887
  {
121858
121888
  style: {
@@ -121861,32 +121891,7 @@ const DragDisplay = (props) => {
121861
121891
  height: "100%"
121862
121892
  },
121863
121893
  ...props.passThroughProps,
121864
- children: [
121865
- props.showGrid && /* @__PURE__ */ jsxRuntimeExports.jsx(
121866
- "div",
121867
- {
121868
- className: styles.dotGridLayer,
121869
- style: {
121870
- backgroundSize: `${props.columnSize}px ${props.rowSize}px`
121871
- }
121872
- }
121873
- ),
121874
- props.children,
121875
- props.pointer && /* @__PURE__ */ jsxRuntimeExports.jsx(
121876
- "div",
121877
- {
121878
- style: {
121879
- position: "absolute",
121880
- left: props.pointer.x - pointerSize / 2,
121881
- top: props.pointer.y - pointerSize / 2,
121882
- width: pointerSize,
121883
- height: pointerSize,
121884
- backgroundColor: "red",
121885
- opacity: 0.5
121886
- }
121887
- }
121888
- )
121889
- ]
121894
+ children: props.children
121890
121895
  }
121891
121896
  );
121892
121897
  };
@@ -122070,12 +122075,6 @@ const InternalContainer = (props) => {
122070
122075
  shouldApplyEmptyContainerMinHeight
122071
122076
  ]
122072
122077
  );
122073
- const gridProps = {
122074
- //spacing: props.spacing,
122075
- columns: props.columns,
122076
- rows: props.rows,
122077
- rowSize: props.rowSize
122078
- };
122079
122078
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
122080
122079
  StyledContainerWrapper,
122081
122080
  {
@@ -122090,7 +122089,9 @@ const InternalContainer = (props) => {
122090
122089
  spacing: props.spacing ?? Dim.px(0),
122091
122090
  isVisible: props.isVisible ?? true,
122092
122091
  "data-container-layer": "container-inner-grid",
122093
- ...gridProps,
122092
+ columns: props.columns,
122093
+ rows: props.rows,
122094
+ rowSize: props.rowSize,
122094
122095
  children: props.children
122095
122096
  }
122096
122097
  ) : props.layout === "horizontal" ? /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -137191,6 +137192,7 @@ const ModalComponent = (props) => {
137191
137192
  props.isEditing ? /* @__PURE__ */ jsxRuntimeExports.jsx(
137192
137193
  "div",
137193
137194
  {
137195
+ ref: props.dropTargetRef,
137194
137196
  id: getEditWrapperIdWithType(props.instanceId, "SbModal"),
137195
137197
  style: {
137196
137198
  anchorName: getWidgetDropAreaAnchorName(
@@ -137198,7 +137200,7 @@ const ModalComponent = (props) => {
137198
137200
  "SbModal"
137199
137201
  )
137200
137202
  },
137201
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(DroppableWidget, { instanceId: props.instanceId, children: modalInternalContainer })
137203
+ children: modalInternalContainer
137202
137204
  }
137203
137205
  ) : modalInternalContainer
137204
137206
  ]
@@ -137287,7 +137289,7 @@ const SbModal = registerSbComponent(
137287
137289
  const passThroughProps = usePassthroughProps(props);
137288
137290
  const { update } = useActions();
137289
137291
  const { features, isEditing } = useEditor();
137290
- const { onOpen, onClose: onClose2 } = props;
137292
+ const { onOpen, onClose: onClose2, dropTargetRef } = props;
137291
137293
  const selectedInstanceId = features.selectWidget.value;
137292
137294
  const modalInstanceId = props[WIDGET_INSTANCE_ID_ATTRIBUTE];
137293
137295
  const modalSourceId = props[WIDGET_SOURCE_ID_ATTRIBUTE];
@@ -137399,6 +137401,7 @@ const SbModal = registerSbComponent(
137399
137401
  columns: props.columns,
137400
137402
  rows: props.rows,
137401
137403
  rowSize: props.rowSize,
137404
+ dropTargetRef,
137402
137405
  children: props.children
137403
137406
  }
137404
137407
  );
@@ -147475,14 +147478,14 @@ function getLoaderFn(options) {
147475
147478
  if (!(loader === "all")) return [3, 3];
147476
147479
  return [4, import(
147477
147480
  /* webpackChunkName: "blueprint-icons-all-paths-loader" */
147478
- "./allPathsLoader-Die2eFiY.js"
147481
+ "./allPathsLoader-BnEIC5v0.js"
147479
147482
  )];
147480
147483
  case 2:
147481
147484
  return [2, _b2.sent().allPathsLoader];
147482
147485
  case 3:
147483
147486
  return [4, import(
147484
147487
  /* webpackChunkName: "blueprint-icons-split-paths-by-size-loader" */
147485
- "./splitPathsBySizeLoader-v13UHQHK.js"
147488
+ "./splitPathsBySizeLoader-Cm_jV-X8.js"
147486
147489
  )];
147487
147490
  case 4:
147488
147491
  return [2, _b2.sent().splitPathsBySizeLoader];
@@ -195984,4 +195987,4 @@ export {
195984
195987
  SbProvider as y,
195985
195988
  SbEventFlow as z
195986
195989
  };
195987
- //# sourceMappingURL=index-C7S72F_O.js.map
195990
+ //# sourceMappingURL=index-B1Axsb0U.js.map