ooxml-core 1.6.2 → 1.8.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.
- package/dist/automation/index.cjs +11143 -6014
- package/dist/automation/index.mjs +11143 -6014
- package/dist/collab/session.d.ts.map +1 -1
- package/dist/color/index.cjs +103 -0
- package/dist/color/index.d.ts +1 -0
- package/dist/color/index.d.ts.map +1 -1
- package/dist/color/index.mjs +94 -1
- package/dist/color/theme-palette.d.ts +55 -0
- package/dist/color/theme-palette.d.ts.map +1 -0
- package/dist/docx/layout/page-cursor.d.ts.map +1 -1
- package/dist/docx/model.d.ts +2 -2
- package/dist/docx/model.d.ts.map +1 -1
- package/dist/docx/style-numbering-package.d.ts.map +1 -1
- package/dist/docx/tab-stops.d.ts.map +1 -1
- package/dist/docx/table-styles.d.ts.map +1 -1
- package/dist/docx/write-drawing.d.ts.map +1 -1
- package/dist/docx/write-table.d.ts.map +1 -1
- package/dist/geometry/connector-router-astar.d.ts +24 -0
- package/dist/geometry/connector-router-astar.d.ts.map +1 -0
- package/dist/geometry/connector-router-graph.d.ts +38 -0
- package/dist/geometry/connector-router-graph.d.ts.map +1 -0
- package/dist/geometry/connector-router-types.d.ts +53 -0
- package/dist/geometry/connector-router-types.d.ts.map +1 -0
- package/dist/geometry/connector-router.d.ts +35 -0
- package/dist/geometry/connector-router.d.ts.map +1 -0
- package/dist/geometry/guide-formula-api.d.ts.map +1 -1
- package/dist/geometry/index.cjs +344 -0
- package/dist/geometry/index.d.ts +2 -0
- package/dist/geometry/index.d.ts.map +1 -1
- package/dist/geometry/index.mjs +327 -1
- package/dist/geometry/nudge.d.ts +12 -0
- package/dist/geometry/nudge.d.ts.map +1 -0
- package/dist/geometry/preset-shape-definitions-chart-marks.d.ts.map +1 -1
- package/dist/geometry/preset-shape-paths.d.ts +1 -1
- package/dist/geometry/preset-shape-paths.d.ts.map +1 -1
- package/dist/geometry/rotation-drag.d.ts +6 -0
- package/dist/geometry/rotation-drag.d.ts.map +1 -1
- package/dist/index.cjs +535 -3
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +535 -4
- package/dist/math/omml-to-latex.d.ts.map +1 -1
- package/dist/pptx/automation/index.cjs +7 -2
- package/dist/pptx/automation/index.d.ts.map +1 -1
- package/dist/pptx/chunks/index-Cn-GzYGp.d.ts.map +1 -1
- package/dist/pptx/cli/index.cjs +7 -2
- package/dist/pptx/converter/index.cjs +7 -2
- package/dist/pptx/index.cjs +7 -2
- package/dist/pptx/signature-node/index.cjs +37 -7
- package/dist/pptx/signature-node/index.d.ts.map +1 -1
- package/dist/pptx/signature-node/index.mjs +37 -7
- package/dist/pptx/ui/index.cjs +22 -24
- package/dist/pptx/ui/index.d.ts +14 -7
- package/dist/pptx/ui/index.d.ts.map +1 -1
- package/dist/pptx/ui/index.mjs +22 -24
- package/dist/ribbon/add-in.d.ts +53 -0
- package/dist/ribbon/add-in.d.ts.map +1 -0
- package/dist/ribbon/index.cjs +28 -0
- package/dist/ribbon/index.d.ts +2 -0
- package/dist/ribbon/index.d.ts.map +1 -0
- package/dist/ribbon/index.mjs +23 -0
- package/dist/teams/files.d.ts.map +1 -1
- package/dist/teams/index.cjs +36 -17
- package/dist/teams/index.mjs +36 -17
- package/dist/text/font-metrics/advance-width.d.ts +9 -0
- package/dist/text/font-metrics/advance-width.d.ts.map +1 -0
- package/dist/text/font-metrics/design-advances.generated.d.ts +12 -0
- package/dist/text/font-metrics/design-advances.generated.d.ts.map +1 -0
- package/dist/text/index.cjs +53 -0
- package/dist/text/index.d.ts +1 -0
- package/dist/text/index.d.ts.map +1 -1
- package/dist/text/index.mjs +52 -1
- package/dist/visio/clipboard-types.d.ts +8 -0
- package/dist/visio/clipboard-types.d.ts.map +1 -1
- package/dist/visio/clipboard-xml.d.ts.map +1 -1
- package/dist/visio/clipboard.d.ts.map +1 -1
- package/dist/visio/connector-route-avoid.d.ts +24 -0
- package/dist/visio/connector-route-avoid.d.ts.map +1 -0
- package/dist/visio/connector-route-walk.d.ts +37 -0
- package/dist/visio/connector-route-walk.d.ts.map +1 -0
- package/dist/visio/connector-route.d.ts +5 -2
- package/dist/visio/connector-route.d.ts.map +1 -1
- package/dist/visio/create-document.d.ts +6 -0
- package/dist/visio/create-document.d.ts.map +1 -1
- package/dist/visio/edit-change-shape-builtin.d.ts +18 -0
- package/dist/visio/edit-change-shape-builtin.d.ts.map +1 -0
- package/dist/visio/edit-change-shape-commands.d.ts +10 -4
- package/dist/visio/edit-change-shape-commands.d.ts.map +1 -1
- package/dist/visio/edit-change-shape.d.ts +3 -1
- package/dist/visio/edit-change-shape.d.ts.map +1 -1
- package/dist/visio/edit-commands.d.ts +7 -1
- package/dist/visio/edit-commands.d.ts.map +1 -1
- package/dist/visio/edit-connector-layout.d.ts +2 -2
- package/dist/visio/edit-connector-layout.d.ts.map +1 -1
- package/dist/visio/edit-connector-obstacles.d.ts +14 -0
- package/dist/visio/edit-connector-obstacles.d.ts.map +1 -0
- package/dist/visio/edit-connector-reroute.d.ts +7 -0
- package/dist/visio/edit-connector-reroute.d.ts.map +1 -1
- package/dist/visio/edit-connector.d.ts +2 -0
- package/dist/visio/edit-connector.d.ts.map +1 -1
- package/dist/visio/edit-delete.d.ts +4 -2
- package/dist/visio/edit-delete.d.ts.map +1 -1
- package/dist/visio/edit-duplicate-scope.d.ts +7 -2
- package/dist/visio/edit-duplicate-scope.d.ts.map +1 -1
- package/dist/visio/edit-duplicate.d.ts.map +1 -1
- package/dist/visio/edit-formatting-cell-admission.d.ts.map +1 -1
- package/dist/visio/edit-formatting-commands.d.ts +17 -0
- package/dist/visio/edit-formatting-commands.d.ts.map +1 -1
- package/dist/visio/edit-formatting-paint.d.ts.map +1 -1
- package/dist/visio/edit-formatting-scope.d.ts +6 -1
- package/dist/visio/edit-formatting-scope.d.ts.map +1 -1
- package/dist/visio/edit-formatting-text.d.ts.map +1 -1
- package/dist/visio/edit-formatting.d.ts.map +1 -1
- package/dist/visio/edit-group-formulas.d.ts +22 -0
- package/dist/visio/edit-group-formulas.d.ts.map +1 -0
- package/dist/visio/edit-group-rotation.d.ts +3 -1
- package/dist/visio/edit-group-rotation.d.ts.map +1 -1
- package/dist/visio/edit-group.d.ts +10 -3
- package/dist/visio/edit-group.d.ts.map +1 -1
- package/dist/visio/edit-instance-checks.d.ts +18 -0
- package/dist/visio/edit-instance-checks.d.ts.map +1 -0
- package/dist/visio/edit-instance-clipboard.d.ts +22 -0
- package/dist/visio/edit-instance-clipboard.d.ts.map +1 -0
- package/dist/visio/edit-instance-delete.d.ts +19 -0
- package/dist/visio/edit-instance-delete.d.ts.map +1 -0
- package/dist/visio/edit-instance-duplicate.d.ts +17 -0
- package/dist/visio/edit-instance-duplicate.d.ts.map +1 -0
- package/dist/visio/edit-instance-format.d.ts +31 -0
- package/dist/visio/edit-instance-format.d.ts.map +1 -0
- package/dist/visio/edit-instance-geometry.d.ts +21 -0
- package/dist/visio/edit-instance-geometry.d.ts.map +1 -0
- package/dist/visio/edit-instance-group.d.ts +18 -0
- package/dist/visio/edit-instance-group.d.ts.map +1 -0
- package/dist/visio/edit-instance-order.d.ts +16 -0
- package/dist/visio/edit-instance-order.d.ts.map +1 -0
- package/dist/visio/edit-instance-recalculate.d.ts +32 -0
- package/dist/visio/edit-instance-recalculate.d.ts.map +1 -0
- package/dist/visio/edit-instance-replace.d.ts +18 -0
- package/dist/visio/edit-instance-replace.d.ts.map +1 -0
- package/dist/visio/edit-instance-scope.d.ts +29 -0
- package/dist/visio/edit-instance-scope.d.ts.map +1 -0
- package/dist/visio/edit-instance-shape.d.ts +52 -0
- package/dist/visio/edit-instance-shape.d.ts.map +1 -0
- package/dist/visio/edit-instance-sheet.d.ts +52 -0
- package/dist/visio/edit-instance-sheet.d.ts.map +1 -0
- package/dist/visio/edit-layer-properties.d.ts +22 -0
- package/dist/visio/edit-layer-properties.d.ts.map +1 -0
- package/dist/visio/edit-master-drop.d.ts +39 -0
- package/dist/visio/edit-master-drop.d.ts.map +1 -0
- package/dist/visio/edit-master-index.d.ts.map +1 -1
- package/dist/visio/edit-master-instance-extras.d.ts +15 -0
- package/dist/visio/edit-master-instance-extras.d.ts.map +1 -0
- package/dist/visio/edit-master-instance-group.d.ts +25 -0
- package/dist/visio/edit-master-instance-group.d.ts.map +1 -0
- package/dist/visio/edit-master-instance.d.ts +42 -0
- package/dist/visio/edit-master-instance.d.ts.map +1 -0
- package/dist/visio/edit-master-scope.d.ts.map +1 -1
- package/dist/visio/edit-page-auto-size.d.ts.map +1 -1
- package/dist/visio/edit-page-layout.d.ts +15 -0
- package/dist/visio/edit-page-layout.d.ts.map +1 -0
- package/dist/visio/edit-page-setup-commands.d.ts +3 -1
- package/dist/visio/edit-page-setup-commands.d.ts.map +1 -1
- package/dist/visio/edit-page-theme-refresh.d.ts +4 -0
- package/dist/visio/edit-page-theme-refresh.d.ts.map +1 -0
- package/dist/visio/edit-page-theme.d.ts.map +1 -1
- package/dist/visio/edit-pages.d.ts.map +1 -1
- package/dist/visio/edit-paste.d.ts +3 -1
- package/dist/visio/edit-paste.d.ts.map +1 -1
- package/dist/visio/edit-recalculate-index.d.ts.map +1 -1
- package/dist/visio/edit-recalculate-values.d.ts.map +1 -1
- package/dist/visio/edit-shape-order.d.ts +19 -4
- package/dist/visio/edit-shape-order.d.ts.map +1 -1
- package/dist/visio/edit-snap-glue.d.ts +16 -0
- package/dist/visio/edit-snap-glue.d.ts.map +1 -0
- package/dist/visio/edit-stencil-connector-drop.d.ts +9 -0
- package/dist/visio/edit-stencil-connector-drop.d.ts.map +1 -0
- package/dist/visio/edit-stencil-connector-layout.d.ts +14 -0
- package/dist/visio/edit-stencil-connector-layout.d.ts.map +1 -0
- package/dist/visio/edit-stencil-connector-write.d.ts +16 -0
- package/dist/visio/edit-stencil-connector-write.d.ts.map +1 -0
- package/dist/visio/edit-stencil-connector.d.ts +29 -0
- package/dist/visio/edit-stencil-connector.d.ts.map +1 -0
- package/dist/visio/edit-stencil-master.d.ts +17 -0
- package/dist/visio/edit-stencil-master.d.ts.map +1 -0
- package/dist/visio/edit-text-instance.d.ts +21 -0
- package/dist/visio/edit-text-instance.d.ts.map +1 -0
- package/dist/visio/edit-text-ranges.d.ts.map +1 -1
- package/dist/visio/edit-text-scope.d.ts +6 -1
- package/dist/visio/edit-text-scope.d.ts.map +1 -1
- package/dist/visio/edit-text-size-formula.d.ts +17 -0
- package/dist/visio/edit-text-size-formula.d.ts.map +1 -0
- package/dist/visio/edit-text-size.d.ts +34 -0
- package/dist/visio/edit-text-size.d.ts.map +1 -0
- package/dist/visio/edit-text-target.d.ts +11 -1
- package/dist/visio/edit-text-target.d.ts.map +1 -1
- package/dist/visio/edit-text.d.ts +2 -1
- package/dist/visio/edit-text.d.ts.map +1 -1
- package/dist/visio/edit.d.ts +1 -1
- package/dist/visio/edit.d.ts.map +1 -1
- package/dist/visio/formula-evaluate.d.ts +2 -0
- package/dist/visio/formula-evaluate.d.ts.map +1 -1
- package/dist/visio/formula-functions.d.ts +13 -0
- package/dist/visio/formula-functions.d.ts.map +1 -0
- package/dist/visio/formula-numeric-functions.d.ts.map +1 -1
- package/dist/visio/formula.d.ts +14 -0
- package/dist/visio/formula.d.ts.map +1 -1
- package/dist/visio/index.cjs +11307 -5982
- package/dist/visio/index.d.ts +11 -1
- package/dist/visio/index.d.ts.map +1 -1
- package/dist/visio/index.mjs +11281 -5983
- package/dist/visio/line-jumps.d.ts +21 -0
- package/dist/visio/line-jumps.d.ts.map +1 -0
- package/dist/visio/master-list.d.ts +20 -0
- package/dist/visio/master-list.d.ts.map +1 -0
- package/dist/visio/model.d.ts +41 -0
- package/dist/visio/model.d.ts.map +1 -1
- package/dist/visio/page-layout.d.ts +40 -0
- package/dist/visio/page-layout.d.ts.map +1 -0
- package/dist/visio/page-theme.d.ts.map +1 -1
- package/dist/visio/parser.d.ts.map +1 -1
- package/dist/visio/shape-connections.d.ts +2 -2
- package/dist/visio/shape-connections.d.ts.map +1 -1
- package/dist/visio/snap-glue.d.ts +49 -0
- package/dist/visio/snap-glue.d.ts.map +1 -0
- package/dist/visio/stencil-master-part.d.ts +15 -0
- package/dist/visio/stencil-master-part.d.ts.map +1 -0
- package/dist/visio/stencil-masters.d.ts +19 -0
- package/dist/visio/stencil-masters.d.ts.map +1 -0
- package/dist/visio/stencil-windows.d.ts +20 -0
- package/dist/visio/stencil-windows.d.ts.map +1 -0
- package/dist/visio/stencils.d.ts +2 -0
- package/dist/visio/stencils.d.ts.map +1 -1
- package/dist/visio/style.d.ts +5 -0
- package/dist/visio/style.d.ts.map +1 -1
- package/dist/visio/text-extent.d.ts +40 -0
- package/dist/visio/text-extent.d.ts.map +1 -0
- package/dist/visio/text-fields.d.ts.map +1 -1
- package/dist/visio/theme-color-ref.d.ts +33 -0
- package/dist/visio/theme-color-ref.d.ts.map +1 -0
- package/dist/visio/ui/auto-connect.d.ts +80 -0
- package/dist/visio/ui/auto-connect.d.ts.map +1 -0
- package/dist/visio/ui/connection-points.d.ts +7 -2
- package/dist/visio/ui/connection-points.d.ts.map +1 -1
- package/dist/visio/ui/connector-preview.d.ts +3 -2
- package/dist/visio/ui/connector-preview.d.ts.map +1 -1
- package/dist/visio/ui/contract.d.ts +7 -2
- package/dist/visio/ui/contract.d.ts.map +1 -1
- package/dist/visio/ui/data-graphics.d.ts +6 -2
- package/dist/visio/ui/data-graphics.d.ts.map +1 -1
- package/dist/visio/ui/edit-commands.d.ts.map +1 -1
- package/dist/visio/ui/edit-error.d.ts +4 -1
- package/dist/visio/ui/edit-error.d.ts.map +1 -1
- package/dist/visio/ui/formatting.d.ts +27 -0
- package/dist/visio/ui/formatting.d.ts.map +1 -1
- package/dist/visio/ui/guides.d.ts +14 -0
- package/dist/visio/ui/guides.d.ts.map +1 -1
- package/dist/visio/ui/index.cjs +27125 -3841
- package/dist/visio/ui/index.d.ts +4 -0
- package/dist/visio/ui/index.d.ts.map +1 -1
- package/dist/visio/ui/index.mjs +27090 -3842
- package/dist/visio/ui/master-drop.d.ts +38 -0
- package/dist/visio/ui/master-drop.d.ts.map +1 -0
- package/dist/visio/ui/page-edit.d.ts.map +1 -1
- package/dist/visio/ui/ruler-grid.d.ts +45 -0
- package/dist/visio/ui/ruler-grid.d.ts.map +1 -0
- package/dist/visio/ui/sample-drawing.d.ts +9 -0
- package/dist/visio/ui/sample-drawing.d.ts.map +1 -0
- package/dist/visio/ui/scene-validation.d.ts.map +1 -1
- package/dist/visio/ui/shape-change.d.ts +16 -4
- package/dist/visio/ui/shape-change.d.ts.map +1 -1
- package/dist/visio/ui/shape-clipboard.d.ts.map +1 -1
- package/dist/visio/ui/shape-duplicate.d.ts +7 -1
- package/dist/visio/ui/shape-duplicate.d.ts.map +1 -1
- package/dist/visio/ui/shape-group.d.ts.map +1 -1
- package/dist/visio/ui/shape-move.d.ts +6 -0
- package/dist/visio/ui/shape-move.d.ts.map +1 -1
- package/dist/visio/ui/shape-order.d.ts +6 -1
- package/dist/visio/ui/shape-order.d.ts.map +1 -1
- package/dist/visio/ui/shape-resize.d.ts.map +1 -1
- package/dist/visio/ui/shape-rotation.d.ts +10 -1
- package/dist/visio/ui/shape-rotation.d.ts.map +1 -1
- package/dist/visio/ui/size-position.d.ts.map +1 -1
- package/dist/visio/ui/snapshot-scene.d.ts.map +1 -1
- package/dist/xlsx/conditional-extensions.d.ts.map +1 -1
- package/dist/xlsx/edit/cell-shift.d.ts.map +1 -1
- package/dist/xlsx/edit/shift-rule-anchors.d.ts +9 -0
- package/dist/xlsx/edit/shift-rule-anchors.d.ts.map +1 -0
- package/dist/xlsx/edit/structure.d.ts.map +1 -1
- package/dist/xlsx/edit/table-edits.d.ts.map +1 -1
- package/dist/xlsx/formula/engine-util.d.ts.map +1 -1
- package/dist/xlsx/index.cjs +55 -15
- package/dist/xlsx/index.mjs +55 -15
- package/dist/xlsx/load/index.cjs +70 -16
- package/dist/xlsx/load/index.mjs +70 -16
- package/dist/xlsx/load/text-decode.d.ts.map +1 -1
- package/dist/xlsx/model.d.ts +2 -0
- package/dist/xlsx/model.d.ts.map +1 -1
- package/dist/xlsx/read/package.d.ts.map +1 -1
- package/dist/xlsx/read/tables.d.ts.map +1 -1
- package/dist/xlsx/ui/commands/number.d.ts.map +1 -1
- package/dist/xlsx/ui/commands/util.d.ts.map +1 -1
- package/dist/xlsx/ui/index.cjs +26 -0
- package/dist/xlsx/ui/index.mjs +26 -0
- package/dist/xlsx/ui/ribbon/parts.d.ts.map +1 -1
- package/dist/xlsx/write/conditional.d.ts.map +1 -1
- package/dist/xlsx/write/styles.d.ts.map +1 -1
- package/dist/xlsx/write/table-patch.d.ts.map +1 -1
- package/package.json +7 -1
package/dist/geometry/index.mjs
CHANGED
|
@@ -945,6 +945,309 @@ function curvedElbowPathD(startX, startY, endX, endY, segments, adj1, adj2, adj3
|
|
|
945
945
|
].join(" ");
|
|
946
946
|
}
|
|
947
947
|
|
|
948
|
+
// geometry/connector-router-types.ts
|
|
949
|
+
var PADDING_DEFAULT = 12;
|
|
950
|
+
var ROUTING_PADDING_DEFAULT = PADDING_DEFAULT;
|
|
951
|
+
var CANVAS_SENTINEL = 1e5;
|
|
952
|
+
|
|
953
|
+
// geometry/connector-router-graph.ts
|
|
954
|
+
function inflateRect(r, pad) {
|
|
955
|
+
return {
|
|
956
|
+
x: r.x - pad,
|
|
957
|
+
y: r.y - pad,
|
|
958
|
+
width: r.width + pad * 2,
|
|
959
|
+
height: r.height + pad * 2
|
|
960
|
+
};
|
|
961
|
+
}
|
|
962
|
+
function pointInRect(p, r) {
|
|
963
|
+
return p.x >= r.x && p.x <= r.x + r.width && p.y >= r.y && p.y <= r.y + r.height;
|
|
964
|
+
}
|
|
965
|
+
function segmentIntersectsRect(a, b, r) {
|
|
966
|
+
const minX = Math.min(a.x, b.x);
|
|
967
|
+
const maxX = Math.max(a.x, b.x);
|
|
968
|
+
const minY = Math.min(a.y, b.y);
|
|
969
|
+
const maxY = Math.max(a.y, b.y);
|
|
970
|
+
const rRight = r.x + r.width;
|
|
971
|
+
const rBottom = r.y + r.height;
|
|
972
|
+
if (maxX < r.x || minX > rRight || maxY < r.y || minY > rBottom) {
|
|
973
|
+
return false;
|
|
974
|
+
}
|
|
975
|
+
if (Math.abs(a.y - b.y) < 0.5) {
|
|
976
|
+
return a.y >= r.y && a.y <= rBottom && maxX >= r.x && minX <= rRight;
|
|
977
|
+
}
|
|
978
|
+
if (Math.abs(a.x - b.x) < 0.5) {
|
|
979
|
+
return a.x >= r.x && a.x <= rRight && maxY >= r.y && minY <= rBottom;
|
|
980
|
+
}
|
|
981
|
+
return true;
|
|
982
|
+
}
|
|
983
|
+
function directPathClear(start, end, inflated) {
|
|
984
|
+
for (const rect2 of inflated) {
|
|
985
|
+
if (segmentIntersectsRect(start, end, rect2)) {
|
|
986
|
+
return false;
|
|
987
|
+
}
|
|
988
|
+
}
|
|
989
|
+
return true;
|
|
990
|
+
}
|
|
991
|
+
function heuristic(a, b) {
|
|
992
|
+
return Math.abs(a.x - b.x) + Math.abs(a.y - b.y);
|
|
993
|
+
}
|
|
994
|
+
function pointKey(p) {
|
|
995
|
+
return `${Math.round(p.x)},${Math.round(p.y)}`;
|
|
996
|
+
}
|
|
997
|
+
function buildGraphNodes(start, end, inflated, canvasWidth, canvasHeight) {
|
|
998
|
+
const margin = 4;
|
|
999
|
+
const nodes = [start, end];
|
|
1000
|
+
for (const r of inflated) {
|
|
1001
|
+
const corners = [
|
|
1002
|
+
{ x: r.x - margin, y: r.y - margin },
|
|
1003
|
+
{ x: r.x + r.width + margin, y: r.y - margin },
|
|
1004
|
+
{ x: r.x - margin, y: r.y + r.height + margin },
|
|
1005
|
+
{ x: r.x + r.width + margin, y: r.y + r.height + margin }
|
|
1006
|
+
];
|
|
1007
|
+
for (const c of corners) {
|
|
1008
|
+
if (c.x >= 0 && c.x <= canvasWidth && c.y >= 0 && c.y <= canvasHeight) {
|
|
1009
|
+
let blocked = false;
|
|
1010
|
+
for (const rect2 of inflated) {
|
|
1011
|
+
if (pointInRect(c, rect2)) {
|
|
1012
|
+
blocked = true;
|
|
1013
|
+
break;
|
|
1014
|
+
}
|
|
1015
|
+
}
|
|
1016
|
+
if (!blocked) {
|
|
1017
|
+
nodes.push(c);
|
|
1018
|
+
}
|
|
1019
|
+
}
|
|
1020
|
+
}
|
|
1021
|
+
}
|
|
1022
|
+
const projections = [];
|
|
1023
|
+
for (const node of nodes) {
|
|
1024
|
+
projections.push({ x: start.x, y: node.y });
|
|
1025
|
+
projections.push({ x: node.x, y: start.y });
|
|
1026
|
+
projections.push({ x: end.x, y: node.y });
|
|
1027
|
+
projections.push({ x: node.x, y: end.y });
|
|
1028
|
+
}
|
|
1029
|
+
for (const p of projections) {
|
|
1030
|
+
if (p.x >= 0 && p.x <= canvasWidth && p.y >= 0 && p.y <= canvasHeight) {
|
|
1031
|
+
let blocked = false;
|
|
1032
|
+
for (const rect2 of inflated) {
|
|
1033
|
+
if (pointInRect(p, rect2)) {
|
|
1034
|
+
blocked = true;
|
|
1035
|
+
break;
|
|
1036
|
+
}
|
|
1037
|
+
}
|
|
1038
|
+
if (!blocked) {
|
|
1039
|
+
nodes.push(p);
|
|
1040
|
+
}
|
|
1041
|
+
}
|
|
1042
|
+
}
|
|
1043
|
+
return nodes;
|
|
1044
|
+
}
|
|
1045
|
+
|
|
1046
|
+
// geometry/connector-router-astar.ts
|
|
1047
|
+
var MAX_ASTAR_ITERATIONS = 2e3;
|
|
1048
|
+
function aStarOrthogonal(nodes, start, end, inflated) {
|
|
1049
|
+
const startKey = pointKey(start);
|
|
1050
|
+
const endKey = pointKey(end);
|
|
1051
|
+
const canConnect = (a, b) => {
|
|
1052
|
+
const isHoriz = Math.abs(a.y - b.y) < 1;
|
|
1053
|
+
const isVert = Math.abs(a.x - b.x) < 1;
|
|
1054
|
+
if (isHoriz || isVert) {
|
|
1055
|
+
for (const rect2 of inflated) {
|
|
1056
|
+
if (segmentIntersectsRect(a, b, rect2)) {
|
|
1057
|
+
return false;
|
|
1058
|
+
}
|
|
1059
|
+
}
|
|
1060
|
+
return true;
|
|
1061
|
+
}
|
|
1062
|
+
const bend1 = { x: b.x, y: a.y };
|
|
1063
|
+
const bend2 = { x: a.x, y: b.y };
|
|
1064
|
+
let path1Clear = true;
|
|
1065
|
+
let path2Clear = true;
|
|
1066
|
+
for (const rect2 of inflated) {
|
|
1067
|
+
if (path1Clear && (segmentIntersectsRect(a, bend1, rect2) || segmentIntersectsRect(bend1, b, rect2))) {
|
|
1068
|
+
path1Clear = false;
|
|
1069
|
+
}
|
|
1070
|
+
if (path2Clear && (segmentIntersectsRect(a, bend2, rect2) || segmentIntersectsRect(bend2, b, rect2))) {
|
|
1071
|
+
path2Clear = false;
|
|
1072
|
+
}
|
|
1073
|
+
if (!path1Clear && !path2Clear) {
|
|
1074
|
+
break;
|
|
1075
|
+
}
|
|
1076
|
+
}
|
|
1077
|
+
return path1Clear || path2Clear;
|
|
1078
|
+
};
|
|
1079
|
+
const gScore = /* @__PURE__ */ new Map();
|
|
1080
|
+
const fScore = /* @__PURE__ */ new Map();
|
|
1081
|
+
const cameFrom = /* @__PURE__ */ new Map();
|
|
1082
|
+
const bendPoint = /* @__PURE__ */ new Map();
|
|
1083
|
+
gScore.set(startKey, 0);
|
|
1084
|
+
fScore.set(startKey, heuristic(start, end));
|
|
1085
|
+
const openSet = /* @__PURE__ */ new Set([startKey]);
|
|
1086
|
+
const nodeMap = /* @__PURE__ */ new Map();
|
|
1087
|
+
for (const n of nodes) {
|
|
1088
|
+
nodeMap.set(pointKey(n), n);
|
|
1089
|
+
}
|
|
1090
|
+
const getLowest = () => {
|
|
1091
|
+
let best;
|
|
1092
|
+
let bestScore = Infinity;
|
|
1093
|
+
for (const key of openSet) {
|
|
1094
|
+
const score = fScore.get(key) ?? Infinity;
|
|
1095
|
+
if (score < bestScore) {
|
|
1096
|
+
bestScore = score;
|
|
1097
|
+
best = key;
|
|
1098
|
+
}
|
|
1099
|
+
}
|
|
1100
|
+
return best;
|
|
1101
|
+
};
|
|
1102
|
+
let iterations = 0;
|
|
1103
|
+
while (openSet.size > 0 && iterations < MAX_ASTAR_ITERATIONS) {
|
|
1104
|
+
iterations++;
|
|
1105
|
+
const currentKey = getLowest();
|
|
1106
|
+
if (currentKey === void 0) {
|
|
1107
|
+
break;
|
|
1108
|
+
}
|
|
1109
|
+
if (currentKey === endKey) {
|
|
1110
|
+
const path = [];
|
|
1111
|
+
let key = endKey;
|
|
1112
|
+
while (key !== void 0) {
|
|
1113
|
+
const node = nodeMap.get(key);
|
|
1114
|
+
if (node !== void 0) {
|
|
1115
|
+
const bp = bendPoint.get(key);
|
|
1116
|
+
if (bp !== void 0 && bp !== null) {
|
|
1117
|
+
path.unshift(node);
|
|
1118
|
+
path.unshift(bp);
|
|
1119
|
+
} else {
|
|
1120
|
+
path.unshift(node);
|
|
1121
|
+
}
|
|
1122
|
+
}
|
|
1123
|
+
key = cameFrom.get(key);
|
|
1124
|
+
}
|
|
1125
|
+
return path;
|
|
1126
|
+
}
|
|
1127
|
+
openSet.delete(currentKey);
|
|
1128
|
+
const current = nodeMap.get(currentKey);
|
|
1129
|
+
if (current === void 0) {
|
|
1130
|
+
continue;
|
|
1131
|
+
}
|
|
1132
|
+
for (const neighbor of nodes) {
|
|
1133
|
+
const neighborKey = pointKey(neighbor);
|
|
1134
|
+
if (neighborKey === currentKey) {
|
|
1135
|
+
continue;
|
|
1136
|
+
}
|
|
1137
|
+
if (!canConnect(current, neighbor)) {
|
|
1138
|
+
continue;
|
|
1139
|
+
}
|
|
1140
|
+
const isHoriz = Math.abs(current.y - neighbor.y) < 1;
|
|
1141
|
+
const isVert = Math.abs(current.x - neighbor.x) < 1;
|
|
1142
|
+
let dist;
|
|
1143
|
+
let bp = null;
|
|
1144
|
+
if (isHoriz || isVert) {
|
|
1145
|
+
dist = heuristic(current, neighbor);
|
|
1146
|
+
} else {
|
|
1147
|
+
const bend1 = { x: neighbor.x, y: current.y };
|
|
1148
|
+
const bend2 = { x: current.x, y: neighbor.y };
|
|
1149
|
+
let use1 = true;
|
|
1150
|
+
for (const rect2 of inflated) {
|
|
1151
|
+
if (segmentIntersectsRect(current, bend1, rect2) || segmentIntersectsRect(bend1, neighbor, rect2)) {
|
|
1152
|
+
use1 = false;
|
|
1153
|
+
break;
|
|
1154
|
+
}
|
|
1155
|
+
}
|
|
1156
|
+
bp = use1 ? bend1 : bend2;
|
|
1157
|
+
dist = Math.abs(current.x - bp.x) + Math.abs(current.y - bp.y) + Math.abs(bp.x - neighbor.x) + Math.abs(bp.y - neighbor.y);
|
|
1158
|
+
}
|
|
1159
|
+
const tentativeG = (gScore.get(currentKey) ?? Infinity) + dist;
|
|
1160
|
+
if (tentativeG < (gScore.get(neighborKey) ?? Infinity)) {
|
|
1161
|
+
cameFrom.set(neighborKey, currentKey);
|
|
1162
|
+
bendPoint.set(neighborKey, bp);
|
|
1163
|
+
gScore.set(neighborKey, tentativeG);
|
|
1164
|
+
fScore.set(neighborKey, tentativeG + heuristic(neighbor, end));
|
|
1165
|
+
openSet.add(neighborKey);
|
|
1166
|
+
}
|
|
1167
|
+
}
|
|
1168
|
+
}
|
|
1169
|
+
return [start, end];
|
|
1170
|
+
}
|
|
1171
|
+
function simplifyPath(points) {
|
|
1172
|
+
if (points.length <= 2) {
|
|
1173
|
+
return [...points];
|
|
1174
|
+
}
|
|
1175
|
+
const result = [points[0]];
|
|
1176
|
+
for (let i = 1; i < points.length - 1; i++) {
|
|
1177
|
+
const prev = result[result.length - 1];
|
|
1178
|
+
const curr = points[i];
|
|
1179
|
+
const next = points[i + 1];
|
|
1180
|
+
const sameX = Math.abs(prev.x - curr.x) < 1 && Math.abs(curr.x - next.x) < 1;
|
|
1181
|
+
const sameY = Math.abs(prev.y - curr.y) < 1 && Math.abs(curr.y - next.y) < 1;
|
|
1182
|
+
if (!sameX && !sameY) {
|
|
1183
|
+
result.push(curr);
|
|
1184
|
+
} else if (!sameX || !sameY) {
|
|
1185
|
+
if (!(sameX || sameY)) {
|
|
1186
|
+
result.push(curr);
|
|
1187
|
+
}
|
|
1188
|
+
}
|
|
1189
|
+
}
|
|
1190
|
+
result.push(points[points.length - 1]);
|
|
1191
|
+
return result;
|
|
1192
|
+
}
|
|
1193
|
+
|
|
1194
|
+
// geometry/connector-router.ts
|
|
1195
|
+
function routeCore(start, end, obstacles, padding, canvasWidth, canvasHeight) {
|
|
1196
|
+
if (obstacles.length === 0) {
|
|
1197
|
+
return [start, end];
|
|
1198
|
+
}
|
|
1199
|
+
const inflated = obstacles.map((r) => inflateRect(r, padding));
|
|
1200
|
+
if (directPathClear(start, end, inflated)) {
|
|
1201
|
+
return [start, end];
|
|
1202
|
+
}
|
|
1203
|
+
const midH = { x: end.x, y: start.y };
|
|
1204
|
+
const midV = { x: start.x, y: end.y };
|
|
1205
|
+
let elbowHClear = true;
|
|
1206
|
+
let elbowVClear = true;
|
|
1207
|
+
for (const rect2 of inflated) {
|
|
1208
|
+
if (elbowHClear && (segmentIntersectsRect(start, midH, rect2) || segmentIntersectsRect(midH, end, rect2))) {
|
|
1209
|
+
elbowHClear = false;
|
|
1210
|
+
}
|
|
1211
|
+
if (elbowVClear && (segmentIntersectsRect(start, midV, rect2) || segmentIntersectsRect(midV, end, rect2))) {
|
|
1212
|
+
elbowVClear = false;
|
|
1213
|
+
}
|
|
1214
|
+
if (!elbowHClear && !elbowVClear) {
|
|
1215
|
+
break;
|
|
1216
|
+
}
|
|
1217
|
+
}
|
|
1218
|
+
if (elbowHClear) {
|
|
1219
|
+
return [start, midH, end];
|
|
1220
|
+
}
|
|
1221
|
+
if (elbowVClear) {
|
|
1222
|
+
return [start, midV, end];
|
|
1223
|
+
}
|
|
1224
|
+
const nodes = buildGraphNodes(start, end, inflated, canvasWidth, canvasHeight);
|
|
1225
|
+
const path = aStarOrthogonal(nodes, start, end, inflated);
|
|
1226
|
+
return simplifyPath(path);
|
|
1227
|
+
}
|
|
1228
|
+
function routeConnector(options) {
|
|
1229
|
+
const { start, end, obstacles, canvasWidth, canvasHeight, padding = PADDING_DEFAULT } = options;
|
|
1230
|
+
return routeCore(start, end, obstacles, padding, canvasWidth, canvasHeight);
|
|
1231
|
+
}
|
|
1232
|
+
function waypointsToPathData(waypoints) {
|
|
1233
|
+
if (waypoints.length === 0) {
|
|
1234
|
+
return "";
|
|
1235
|
+
}
|
|
1236
|
+
return waypoints.map((point, index) => `${index === 0 ? "M" : "L"} ${point.x} ${point.y}`).join(" ");
|
|
1237
|
+
}
|
|
1238
|
+
function routeOrthogonalConnector(start, end, obstacles, opts) {
|
|
1239
|
+
const padding = opts?.padding ?? PADDING_DEFAULT;
|
|
1240
|
+
const canvasWidth = opts?.canvasWidth ?? CANVAS_SENTINEL;
|
|
1241
|
+
const canvasHeight = opts?.canvasHeight ?? CANVAS_SENTINEL;
|
|
1242
|
+
return routeCore(start, end, obstacles, padding, canvasWidth, canvasHeight);
|
|
1243
|
+
}
|
|
1244
|
+
function waypointsToPathD(waypoints) {
|
|
1245
|
+
if (waypoints.length === 0) {
|
|
1246
|
+
return "";
|
|
1247
|
+
}
|
|
1248
|
+
return waypoints.map((point, index) => `${index === 0 ? "M" : "L"}${point.x},${point.y}`).join(" ");
|
|
1249
|
+
}
|
|
1250
|
+
|
|
948
1251
|
// geometry/guide-formula-eval.ts
|
|
949
1252
|
var ANGLE_SCALE = 6e4;
|
|
950
1253
|
function angleToRadians(ooxmlAngle) {
|
|
@@ -15473,6 +15776,13 @@ function createRotationDrag(center, startPointer, startRotation, options = {}) {
|
|
|
15473
15776
|
return rotation;
|
|
15474
15777
|
};
|
|
15475
15778
|
}
|
|
15779
|
+
function snapAngle(angleDeg, step = 15, tolerance = step / 2) {
|
|
15780
|
+
const nearest = Math.round(angleDeg / step) * step;
|
|
15781
|
+
if (Math.abs(angleDeg - nearest) <= tolerance) {
|
|
15782
|
+
return (nearest % 360 + 360) % 360;
|
|
15783
|
+
}
|
|
15784
|
+
return angleDeg;
|
|
15785
|
+
}
|
|
15476
15786
|
|
|
15477
15787
|
// geometry/rotate-handle-placement.ts
|
|
15478
15788
|
function resolveRotateHandlePlacement(input) {
|
|
@@ -15890,4 +16200,20 @@ function autoAlignBoxes(boxes, options = {}) {
|
|
|
15890
16200
|
return result;
|
|
15891
16201
|
}
|
|
15892
16202
|
|
|
15893
|
-
|
|
16203
|
+
// geometry/nudge.ts
|
|
16204
|
+
function arrowKeyDelta(key, step) {
|
|
16205
|
+
switch (key) {
|
|
16206
|
+
case "ArrowLeft":
|
|
16207
|
+
return { dx: -step, dy: 0 };
|
|
16208
|
+
case "ArrowRight":
|
|
16209
|
+
return { dx: step, dy: 0 };
|
|
16210
|
+
case "ArrowUp":
|
|
16211
|
+
return { dx: 0, dy: -step };
|
|
16212
|
+
case "ArrowDown":
|
|
16213
|
+
return { dx: 0, dy: step };
|
|
16214
|
+
default:
|
|
16215
|
+
return null;
|
|
16216
|
+
}
|
|
16217
|
+
}
|
|
16218
|
+
|
|
16219
|
+
export { ACTION_BUTTON_CONNECTION_SITES, ACTION_BUTTON_PRESET_DEFINITIONS, ACTION_BUTTON_TEXT_RECTS, ANGLE_SCALE, ARROW_CALLOUT_CONNECTION_SITES, ARROW_CALLOUT_PRESET_DEFINITIONS, ARROW_CONNECTION_SITES, ARROW_PRESET_DEFINITIONS, ARROW_TEXT_RECTS, BASIC_SHAPE_CONNECTION_SITES_A, BASIC_SHAPE_CONNECTION_SITES_B, BRACE_CONNECTION_SITES, BRACE_TEXT_RECTS, CALLOUT_CONNECTION_SITES, CALLOUT_TEXT_RECTS, CANVAS_SENTINEL, CARDINAL_SITES, CHART_MARK_PRESET_DEFINITIONS, CIRCULAR_ARROW_CONNECTION_SITES, CIRCULAR_ARROW_TEXT_RECTS, CLIP_PATHS_CORE, CLIP_PATHS_EXTENDED, CLOUD_CALLOUT_PRESET_DEFINITIONS, CLOUD_CALLOUT_TAIL_COUNT, CLOUD_LOBE_COUNT, COM_AVLST_GROUND_TRUTH, CONNECTORS_BRACKETS_PRESET_DEFINITIONS, CURVED_ARROWS_CONNECTORS_PRESET_DEFINITIONS, CURVED_ARROW_CONNECTION_SITES, EPSILON, EXACT_CURVED_ARROW_PRESET_DEFINITIONS, EXTENDED_SHAPE_DEFINITIONS, FLOWCHART_CONNECTION_SITES, FLOWCHART_PRESET_DEFINITIONS, FLOWCHART_TEXT_RECTS, GEAR9_CONNECTION_SITES, GRAPH_LAYOUT_STYLES, IDENTITY_AFFINE, LEFT_CIRCULAR_ARROW_CONNECTION_SITES, LEFT_RIGHT_CIRCULAR_ARROW_CONNECTION_SITES, MATH_SYMBOL_CONNECTION_SITES, MISC_ARROW_CONNECTION_SITES, MISC_PRESET_DEFINITIONS, MISC_SHAPE_CONNECTION_SITES, MISC_TEXT_RECTS_A, MISC_TEXT_RECTS_B, PADDING_DEFAULT, POLYGON_CONNECTION_SITES, POLYGON_TEXT_RECTS, PRESET_GEOMETRY_ALIASES, PRESET_SHAPE_CATEGORY_LABELS, PRESET_SHAPE_CLIP_PATHS, PRESET_SHAPE_DEFINITIONS, PRESET_SHAPE_GEOMETRY_TABLE, PRIMARY_SHAPE_DEFINITIONS, QUAD_CONNECTION_SITES, QUAD_TEXT_RECTS, RECTS_SNIPS_PRESET_DEFINITIONS, RECT_VARIANT_CONNECTION_SITES, REFINED_ARROW_PRESET_DEFINITIONS, RIBBON_CONNECTION_SITES, RIBBON_TEXT_RECTS, ROUTING_PADDING_DEFAULT, SCROLLS_ACCENT_CALLOUTS_PRESET_DEFINITIONS, SNAP_THRESHOLD, STAR_CONNECTION_SITES, STAR_TEXT_RECTS, ST_SHAPE_TYPE_VALUES, TABS_DECORATIONS_PRESET_DEFINITIONS, TAB_CONNECTION_SITES, TAB_TEXT_RECTS, _internalForTests, aStarOrthogonal, alignElements, angleToRadians, arrowKeyDelta, at, autoAlignBoxes, buildCalloutLeaderLineSvgPath, buildGraphNodes, clipPolygons, combineShapes, composeAffine, computeAlign, computeDistribute, computeRotation, computeSnap, computeSnapToShape, computeUnionWalk, convexHull, createBuiltinVariables, createRotationDrag, cross2, curvedElbowPathD, cxn, dedupPoly, directPathClear, distributeElements, elbowCurveSegments, elbowSegmentCount, elbowWaypoints, ensureCCW, ensureCW, evaluateFormula, evaluateGuides, findAllIntersections, flattenSvgPath, fmtNum, fragmentShapes, gd, gear6, gear9, getAdjustmentAwareClipPath, getCalloutLeaderLineGeometry, getCalloutTier, getCalloutViewBoxBounds, getCloudCalloutClipPath, getCloudClipPath, getPresetConnectionSites, getPresetShapeClipPath, getPresetTextRect, heuristic, inflateRect, insertIntersections, intersectPolygons, intersectShapes, intersectSvgPaths, isCalloutShape, isConvex, isHorizontalPrimaryAxis, isStShapeType, layoutGraph, lineIntersection, lookupPresetConnectionSites, lookupPresetTextRectOverride, mergeOverlappingPolygons, mergeShapes, normalizeStShapeType, parseAdjustmentValues, parseFormula, parseGuideDefinitions, pointInPolygon, pointInRect, pointInTriangle, pointKey, polygonArea, polygonsToSvgPath, resolveAlignReferenceBox, resolveCoordinate, resolveOperand, resolveRotateHandlePlacement, routeConnector, routeOrthogonalConnector, segmentIntersection, segmentIntersectsRect, signedArea, simplifyPath, snapAngle, snapBox, snapToGridStep, snapValue, subtractPolygons, subtractShapes, subtractSvgPaths, sutherlandHodgman, svgPathToPolygons, triangulate, unionPolygons, unionShapes, unionSvgPaths, usesSlideReference, vec2Eq, waypointsToPathD, waypointsToPathData };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** A selection move, in screen directions: x grows right and y grows down. */
|
|
2
|
+
export interface NudgeDelta {
|
|
3
|
+
dx: number;
|
|
4
|
+
dy: number;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* The move an arrow key nudges a selection by, `step` units in the arrow's screen direction, or
|
|
8
|
+
* `null` for any other key. Each product picks its own units and steps (slide pixels in
|
|
9
|
+
* PowerPoint, page inches in Visio); a y-up product negates `dy`.
|
|
10
|
+
*/
|
|
11
|
+
export declare function arrowKeyDelta(key: string, step: number): NudgeDelta | null;
|
|
12
|
+
//# sourceMappingURL=nudge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nudge.d.ts","sourceRoot":"","sources":["../../geometry/nudge.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,MAAM,WAAW,UAAU;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACX;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAa1E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preset-shape-definitions-chart-marks.d.ts","sourceRoot":"","sources":["../../geometry/preset-shape-definitions-chart-marks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"preset-shape-definitions-chart-marks.d.ts","sourceRoot":"","sources":["../../geometry/preset-shape-definitions-chart-marks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAc,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAsFlG,4EAA4E;AAC5E,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,MAAM,EAAE,6BAA6B,CAIvF,CAAC"}
|
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
*/
|
|
10
10
|
export { type PresetShapeDefinition, type PresetShapeCategory } from './preset-shape-types.js';
|
|
11
11
|
export { PRESET_SHAPE_CLIP_PATHS, getPresetShapeClipPath } from './preset-shape-clip-paths.js';
|
|
12
|
-
export { PRESET_SHAPE_DEFINITIONS, PRESET_SHAPE_CATEGORY_LABELS
|
|
12
|
+
export { PRESET_SHAPE_DEFINITIONS, PRESET_SHAPE_CATEGORY_LABELS } from './preset-shape-definitions.js';
|
|
13
13
|
//# sourceMappingURL=preset-shape-paths.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preset-shape-paths.d.ts","sourceRoot":"","sources":["../../geometry/preset-shape-paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAC5F,OAAO,
|
|
1
|
+
{"version":3,"file":"preset-shape-paths.d.ts","sourceRoot":"","sources":["../../geometry/preset-shape-paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAC5F,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -12,4 +12,10 @@ export declare function computeRotation(center: RotationPoint, pointer: Rotation
|
|
|
12
12
|
export declare function createRotationDrag(center: RotationPoint, startPointer: RotationPoint, startRotation: number, options?: {
|
|
13
13
|
unwrapped?: boolean;
|
|
14
14
|
}): (pointer: RotationPoint) => number;
|
|
15
|
+
/**
|
|
16
|
+
* Snap an angle to the nearest `step` degrees when within `tolerance`, normalised to [0, 360).
|
|
17
|
+
* Office editors use it for Shift-drag rotation (step 15). Returns the original angle when no
|
|
18
|
+
* snap target is close enough.
|
|
19
|
+
*/
|
|
20
|
+
export declare function snapAngle(angleDeg: number, step?: number, tolerance?: number): number;
|
|
15
21
|
//# sourceMappingURL=rotation-drag.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rotation-drag.d.ts","sourceRoot":"","sources":["../../geometry/rotation-drag.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC7B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACV;AACD,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,CAGrF;AACD;;;;GAIG;AACH,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,aAAa,EAC3B,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACnC,CAAC,OAAO,EAAE,aAAa,KAAK,MAAM,CAyBpC"}
|
|
1
|
+
{"version":3,"file":"rotation-drag.d.ts","sourceRoot":"","sources":["../../geometry/rotation-drag.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC7B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACV;AACD,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,CAGrF;AACD;;;;GAIG;AACH,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,aAAa,EAC3B,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACnC,CAAC,OAAO,EAAE,aAAa,KAAK,MAAM,CAyBpC;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,SAAK,EAAE,SAAS,SAAW,GAAG,MAAM,CAMnF"}
|