stickyflow 0.11.3 → 0.12.0

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 (52) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/binding/index.cjs +9 -9
  3. package/dist/binding/index.d.cts +3 -3
  4. package/dist/binding/index.d.ts +3 -3
  5. package/dist/binding/index.js +3 -3
  6. package/dist/{chunk-WZA3DJJH.cjs → chunk-3OF37CZX.cjs} +15 -15
  7. package/dist/{chunk-WZA3DJJH.cjs.map → chunk-3OF37CZX.cjs.map} +1 -1
  8. package/dist/{chunk-V22J7Z4H.cjs → chunk-3XPNGIMV.cjs} +37 -37
  9. package/dist/chunk-3XPNGIMV.cjs.map +1 -0
  10. package/dist/{chunk-G6IW2IX3.js → chunk-4SXXMOXR.js} +31 -5
  11. package/dist/chunk-4SXXMOXR.js.map +1 -0
  12. package/dist/{chunk-GQRJSA73.cjs → chunk-EG7VZJZX.cjs} +23 -23
  13. package/dist/{chunk-GQRJSA73.cjs.map → chunk-EG7VZJZX.cjs.map} +1 -1
  14. package/dist/{chunk-BFQWCOEC.js → chunk-FYSJMUJI.js} +3 -3
  15. package/dist/{chunk-BFQWCOEC.js.map → chunk-FYSJMUJI.js.map} +1 -1
  16. package/dist/{chunk-W25SXORW.js → chunk-LDRUTQF7.js} +4 -4
  17. package/dist/{chunk-W25SXORW.js.map → chunk-LDRUTQF7.js.map} +1 -1
  18. package/dist/{chunk-IQQ5KBL6.js → chunk-Q4OIDWT6.js} +6 -6
  19. package/dist/chunk-Q4OIDWT6.js.map +1 -0
  20. package/dist/{chunk-UHKFJBY5.cjs → chunk-SKGJXCAO.cjs} +31 -5
  21. package/dist/chunk-SKGJXCAO.cjs.map +1 -0
  22. package/dist/{chunk-EBHO2FJ5.js → chunk-UCOMSZPC.js} +10 -9
  23. package/dist/chunk-UCOMSZPC.js.map +1 -0
  24. package/dist/{chunk-K5PGMZAD.cjs → chunk-ZE2KRWOM.cjs} +663 -662
  25. package/dist/chunk-ZE2KRWOM.cjs.map +1 -0
  26. package/dist/index.cjs +36 -36
  27. package/dist/index.d.cts +3 -3
  28. package/dist/index.d.ts +3 -3
  29. package/dist/index.js +5 -5
  30. package/dist/interaction/index.cjs +275 -237
  31. package/dist/interaction/index.cjs.map +1 -1
  32. package/dist/interaction/index.js +41 -3
  33. package/dist/interaction/index.js.map +1 -1
  34. package/dist/{runtime-C-C5v9po.d.cts → runtime-BJDaqo6f.d.cts} +1 -1
  35. package/dist/{runtime-lCAfU-1Q.d.ts → runtime-DaconR36.d.ts} +1 -1
  36. package/dist/{runtimeTypes-BDA_CfWh.d.ts → runtimeTypes-BE_GI1yU.d.ts} +1 -1
  37. package/dist/{runtimeTypes-B7p6b1Bi.d.cts → runtimeTypes-BE_nllY6.d.cts} +1 -1
  38. package/dist/stickyflow-diagram.global.js +39 -39
  39. package/dist/stickyflow-diagram.global.js.map +1 -1
  40. package/dist/viewer/index.cjs +9 -9
  41. package/dist/viewer/index.d.cts +1 -1
  42. package/dist/viewer/index.d.ts +1 -1
  43. package/dist/viewer/index.js +4 -4
  44. package/dist/web-component/index.cjs +6 -6
  45. package/dist/web-component/index.js +4 -4
  46. package/package.json +1 -1
  47. package/dist/chunk-EBHO2FJ5.js.map +0 -1
  48. package/dist/chunk-G6IW2IX3.js.map +0 -1
  49. package/dist/chunk-IQQ5KBL6.js.map +0 -1
  50. package/dist/chunk-K5PGMZAD.cjs.map +0 -1
  51. package/dist/chunk-UHKFJBY5.cjs.map +0 -1
  52. package/dist/chunk-V22J7Z4H.cjs.map +0 -1
@@ -1,5 +1,5 @@
1
- import { screenRectOf, Emitter, resolveOwner, isCameraGesture, pointerUserPoint, clearAlignmentGuides, updateAlignmentGuides, pxPerUnit, findOwnerNode, isPrimary, SVG_NAMESPACE, isTextLabel, findSnapCandidateBounds, symbolDeclaredBounds, updateQuickDuplicateBubbles, isometricGeometryOf, updateHalo, axisArrowPlacements, updateAxisArrowGroup, PATH_HALO_ATTR, findAllOwnerNodes, findIsometricApexCandidates, DERIVED_HEIGHT_ROLES, resizeHandlePositions, ISO_HALO_ATTR, ISO_DUPLICATE_BUBBLES_ATTR, pathGeometryOf } from '../chunk-BFQWCOEC.js';
2
- import { sflToCanvasState, isIsometricObject, rgbToHex, parseHexRgb, rgbToHsv, tokenizeSource, roundedOrthogonalPathData, seriesLabelOffsetXProp, seriesLabelOffsetYProp, radarVertexPoint, AXIS_SIN, AXIS_COS, freeformPathData, CORNER_RADIUS_ATTR, isometricFaces, roundedPolygonPath, isometricTopFaceCenter, calculateLinkRoute, pointAtPort, roundedBarPath, barShapePath, formatBarLabel, LABEL_WIDTH, LEADER_INSET, clipSegmentToRect, radarValueAtPoint, radarSeriesPath, hsvToRgb, estimateTextWidth, wrapText, personLabelArea, isometricFaceCenter, PATH_POINT_INDEX_ATTR, linePathData, barLabelSize, BAR_LABEL, pillPath, getLineMidpoint, labelGapDash, pillCornerRadius, SQUARE_CORNER_ATTR, cornersRoundedRectPath, localShapePath, relativeOffsetOnRectangleSide, edgePointToward, SYMBOL_POINTS_ATTR, SYMBOL_TENSION_ATTR } from '../chunk-G6IW2IX3.js';
1
+ import { screenRectOf, Emitter, resolveOwner, isCameraGesture, pointerUserPoint, clearAlignmentGuides, updateAlignmentGuides, pxPerUnit, findOwnerNode, isPrimary, SVG_NAMESPACE, isTextLabel, findSnapCandidateBounds, symbolDeclaredBounds, updateQuickDuplicateBubbles, isometricGeometryOf, updateHalo, axisArrowPlacements, updateAxisArrowGroup, PATH_HALO_ATTR, findAllOwnerNodes, findIsometricApexCandidates, DERIVED_HEIGHT_ROLES, resizeHandlePositions, ISO_HALO_ATTR, ISO_DUPLICATE_BUBBLES_ATTR, pathGeometryOf } from '../chunk-FYSJMUJI.js';
2
+ import { sflToCanvasState, isIsometricObject, rgbToHex, parseHexRgb, rgbToHsv, tokenizeSource, roundedOrthogonalPathData, seriesLabelOffsetXProp, seriesLabelOffsetYProp, radarVertexPoint, AXIS_SIN, AXIS_COS, freeformPathData, CORNER_RADIUS_ATTR, isometricFaces, roundedPolygonPath, isometricTopFaceCenter, calculateLinkRoute, pointAtPort, roundedBarPath, barShapePath, formatBarLabel, LABEL_WIDTH, LEADER_INSET, clipSegmentToRect, radarValueAtPoint, radarSeriesPath, hsvToRgb, estimateTextWidth, wrapText, personLabelArea, isometricFaceCenter, PATH_POINT_INDEX_ATTR, linePathData, barLabelSize, BAR_LABEL, pillPath, getLineMidpoint, labelGapDash, pillCornerRadius, SQUARE_CORNER_ATTR, cornersRoundedRectPath, localShapePath, relativeOffsetOnRectangleSide, edgePointToward, SYMBOL_POINTS_ATTR, SYMBOL_TENSION_ATTR } from '../chunk-4SXXMOXR.js';
3
3
 
4
4
  // src/runtime/interaction/chartValue/coordinates.ts
5
5
  function pointerUserY(svg, event) {
@@ -6477,7 +6477,7 @@ function braceDelta(masked) {
6477
6477
  }
6478
6478
 
6479
6479
  // src/runtime/interaction/sflPatch/scan/blocks.ts
6480
- var OWNER_HEADER = /^\s*(Entity|Shape|Text|Image|Container|Chart|Path|Link|Isometric|Widget|Component|Connection|Shader)\s+([A-Za-z_][A-Za-z0-9_]*)\b/;
6480
+ var OWNER_HEADER = /^\s*(Entity|Shape|Text|Image|Container|Screen|Chart|Path|Link|Isometric|Widget|Component|Connection|Shader)\s+([A-Za-z_][A-Za-z0-9_]*)\b/;
6481
6481
  var VALID_IDENT = /^[A-Za-z_][A-Za-z0-9_]*$/;
6482
6482
  function blockEndIn(masked, startLine) {
6483
6483
  let depth = 0;
@@ -6949,6 +6949,42 @@ function outermostRemovalRanges(ranges) {
6949
6949
  }
6950
6950
 
6951
6951
  // src/runtime/interaction/sflPatch/canvasObjectPatch/remove.ts
6952
+ var GROUP_HEADER = /^\s*Group\s+([A-Za-z_][A-Za-z0-9_]*)\b/;
6953
+ var CHILD_BLOCK = /^\s*[A-Z][A-Za-z]*\s+[A-Za-z_]/;
6954
+ function enclosingGroups(lines, line) {
6955
+ const masked = maskLines(lines);
6956
+ if (masked === null) {
6957
+ return [];
6958
+ }
6959
+ const open = [];
6960
+ for (let i = 0; i < line; i++) {
6961
+ const delta = braceDelta(masked[i]);
6962
+ if (delta > 0) {
6963
+ const group = masked[i].match(GROUP_HEADER);
6964
+ open.push(group ? group[1] : null);
6965
+ for (let extra = 1; extra < delta; extra++) {
6966
+ open.push(null);
6967
+ }
6968
+ } else {
6969
+ open.splice(open.length + delta, -delta);
6970
+ }
6971
+ }
6972
+ return open.filter((name) => name !== null).reverse();
6973
+ }
6974
+ function removeEmptiedGroups(lines, groups) {
6975
+ for (const name of groups) {
6976
+ const masked = maskLines(lines);
6977
+ const start = masked?.findIndex((line) => line.match(GROUP_HEADER)?.[1] === name) ?? -1;
6978
+ if (!masked || start < 0) {
6979
+ return;
6980
+ }
6981
+ const end = blockEndLine(lines, start);
6982
+ if (masked.slice(start + 1, end).some((line) => CHILD_BLOCK.test(line))) {
6983
+ return;
6984
+ }
6985
+ lines.splice(start, end - start + 1);
6986
+ }
6987
+ }
6952
6988
  function removeCanvasObject(sfl, id, options = {}) {
6953
6989
  const lines = sfl.split("\n");
6954
6990
  const canvasObjectRange = findOwnerBlock(lines, id);
@@ -6964,6 +7000,7 @@ function removeCanvasObject(sfl, id, options = {}) {
6964
7000
  }
6965
7001
  return sfl;
6966
7002
  }
7003
+ const groups = enclosingGroups(lines, canvasObjectRange.start);
6967
7004
  const ranges = [canvasObjectRange];
6968
7005
  if (options.alsoRemoveLinks ?? true) {
6969
7006
  ranges.push(...findReferencingLinkRanges(lines, id));
@@ -6972,6 +7009,7 @@ function removeCanvasObject(sfl, id, options = {}) {
6972
7009
  for (const range of removalRanges) {
6973
7010
  lines.splice(range.start, range.end - range.start + 1);
6974
7011
  }
7012
+ removeEmptiedGroups(lines, groups);
6975
7013
  return lines.join("\n");
6976
7014
  }
6977
7015