ooxml-core 1.11.0 → 1.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.
- package/dist/automation/index.cjs +210 -20
- package/dist/automation/index.mjs +210 -20
- package/dist/docx/embedded.cjs +1 -1
- package/dist/docx/embedded.mjs +1 -1
- package/dist/docx/index.cjs +1 -1
- package/dist/docx/index.mjs +1 -1
- package/dist/docx/layout/adapt-table.d.ts.map +1 -1
- package/dist/docx/layout/flow-table.d.ts.map +1 -1
- package/dist/docx/layout/index.cjs +145 -9
- package/dist/docx/layout/index.d.ts +1 -0
- package/dist/docx/layout/index.d.ts.map +1 -1
- package/dist/docx/layout/index.mjs +145 -10
- package/dist/docx/layout/input.d.ts +5 -0
- package/dist/docx/layout/input.d.ts.map +1 -1
- package/dist/docx/layout/layout-session.d.ts +10 -0
- package/dist/docx/layout/layout-session.d.ts.map +1 -0
- package/dist/docx/layout/nested-fragment-edges.d.ts.map +1 -1
- package/dist/docx/layout/paragraph-cache.d.ts +8 -0
- package/dist/docx/layout/paragraph-cache.d.ts.map +1 -0
- package/dist/docx/layout/paragraph-layout.d.ts.map +1 -1
- package/dist/docx/layout/paragraph-tokens.d.ts +1 -1
- package/dist/docx/layout/paragraph-tokens.d.ts.map +1 -1
- package/dist/docx/layout/table-paragraph-keeps.d.ts +14 -0
- package/dist/docx/layout/table-paragraph-keeps.d.ts.map +1 -0
- package/dist/docx/load/index.cjs +1 -1
- package/dist/docx/load/index.mjs +1 -1
- package/dist/docx/ui/index.cjs +83 -6
- package/dist/docx/ui/index.mjs +83 -7
- package/dist/docx/ui/ribbon-action-ids.d.ts +1 -1
- package/dist/docx/ui/ribbon-action-ids.d.ts.map +1 -1
- package/dist/docx/ui/word-count.d.ts +3 -0
- package/dist/docx/ui/word-count.d.ts.map +1 -1
- package/dist/geometry/element-transform.d.ts +90 -0
- package/dist/geometry/element-transform.d.ts.map +1 -0
- package/dist/geometry/index.cjs +90 -0
- package/dist/geometry/index.d.ts +1 -0
- package/dist/geometry/index.d.ts.map +1 -1
- package/dist/geometry/index.mjs +83 -1
- package/dist/index.cjs +90 -0
- package/dist/index.mjs +90 -0
- package/dist/visio/index.cjs +314 -39
- package/dist/visio/index.d.ts +1 -0
- package/dist/visio/index.d.ts.map +1 -1
- package/dist/visio/index.mjs +313 -40
- package/dist/visio/model.d.ts +12 -0
- package/dist/visio/model.d.ts.map +1 -1
- package/dist/visio/paper-sizes.d.ts +5 -0
- package/dist/visio/paper-sizes.d.ts.map +1 -1
- package/dist/visio/parser.d.ts.map +1 -1
- package/dist/visio/print-count.d.ts +20 -0
- package/dist/visio/print-count.d.ts.map +1 -0
- package/dist/visio/print-settings.d.ts +14 -0
- package/dist/visio/print-settings.d.ts.map +1 -0
- package/dist/visio/ui/index.cjs +194 -4
- package/dist/visio/ui/index.mjs +194 -4
- package/dist/xlsx/ui/ribbon/parts.d.ts +1 -0
- package/dist/xlsx/ui/ribbon/parts.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { LayoutParagraph, LayoutTable } from './input.js';
|
|
2
|
+
import type { RowLayout } from './table-layout.js';
|
|
3
|
+
/** Source-backed admission for the measured ordinary, note-free keep-lines profile. */
|
|
4
|
+
export declare function tableParagraphKeeps(table: LayoutTable): TableParagraphKeeps | undefined;
|
|
5
|
+
/** Uses existing paragraph boxes and source tokens; it does not lay out or paginate another story. */
|
|
6
|
+
export declare class TableParagraphKeeps {
|
|
7
|
+
private readonly sources;
|
|
8
|
+
constructor(sources: ReadonlyMap<string, LayoutParagraph>);
|
|
9
|
+
/** Before an ordinary row starts, a first kept paragraph can defer the entire row. */
|
|
10
|
+
startupMinimum(row: RowLayout): number;
|
|
11
|
+
/** Defer an unstarted paragraph and its following cell content, leaving other cells independent. */
|
|
12
|
+
cuts(row: RowLayout, available: number, fresh: boolean): Map<string, number> | undefined;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=table-paragraph-keeps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-paragraph-keeps.d.ts","sourceRoot":"","sources":["../../../docx/layout/table-paragraph-keeps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD,uFAAuF;AACvF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,mBAAmB,GAAG,SAAS,CAgDvF;AAED,sGAAsG;AACtG,qBAAa,mBAAmB;IACnB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAApC,YAA6B,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,EAAI;IAC9E,sFAAsF;IACtF,cAAc,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAUrC;IACD,oGAAoG;IACpG,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAoBvF;CACD"}
|
package/dist/docx/load/index.cjs
CHANGED
|
@@ -11859,7 +11859,7 @@ function parseRowProperties(row) {
|
|
|
11859
11859
|
const result = {};
|
|
11860
11860
|
const height = first2(trPr, "trHeight");
|
|
11861
11861
|
const heightTwips = dxa(getW(height, "val"));
|
|
11862
|
-
if (heightTwips) {
|
|
11862
|
+
if (heightTwips !== void 0) {
|
|
11863
11863
|
result.heightTwips = heightTwips;
|
|
11864
11864
|
result.heightRule = getW(height, "hRule") === "exact" ? "exact" : "atLeast";
|
|
11865
11865
|
}
|
package/dist/docx/load/index.mjs
CHANGED
|
@@ -11853,7 +11853,7 @@ function parseRowProperties(row) {
|
|
|
11853
11853
|
const result = {};
|
|
11854
11854
|
const height = first2(trPr, "trHeight");
|
|
11855
11855
|
const heightTwips = dxa(getW(height, "val"));
|
|
11856
|
-
if (heightTwips) {
|
|
11856
|
+
if (heightTwips !== void 0) {
|
|
11857
11857
|
result.heightTwips = heightTwips;
|
|
11858
11858
|
result.heightRule = getW(height, "hRule") === "exact" ? "exact" : "atLeast";
|
|
11859
11859
|
}
|
package/dist/docx/ui/index.cjs
CHANGED
|
@@ -9690,6 +9690,33 @@ function createToggleFormat(schema, getModel = () => void 0) {
|
|
|
9690
9690
|
// docx/ui/ribbon-action-ids.ts
|
|
9691
9691
|
var RIBBON_ACTION_IDS = [
|
|
9692
9692
|
"paste",
|
|
9693
|
+
"paste-options",
|
|
9694
|
+
"underline-style",
|
|
9695
|
+
"bullets-options",
|
|
9696
|
+
"numbering-options",
|
|
9697
|
+
"document-themes",
|
|
9698
|
+
"document-colors",
|
|
9699
|
+
"document-fonts",
|
|
9700
|
+
"document-paragraph-spacing",
|
|
9701
|
+
"document-effects",
|
|
9702
|
+
"set-default-formatting",
|
|
9703
|
+
"envelopes",
|
|
9704
|
+
"labels",
|
|
9705
|
+
"start-mail-merge",
|
|
9706
|
+
"select-recipients",
|
|
9707
|
+
"edit-recipient-list",
|
|
9708
|
+
"highlight-merge-fields",
|
|
9709
|
+
"address-block",
|
|
9710
|
+
"greeting-line",
|
|
9711
|
+
"insert-merge-field",
|
|
9712
|
+
"merge-rules",
|
|
9713
|
+
"match-fields",
|
|
9714
|
+
"update-labels",
|
|
9715
|
+
"preview-results",
|
|
9716
|
+
"find-recipient",
|
|
9717
|
+
"check-merge-errors",
|
|
9718
|
+
"finish-merge",
|
|
9719
|
+
"help",
|
|
9693
9720
|
"delete-comment",
|
|
9694
9721
|
"previous-comment",
|
|
9695
9722
|
"next-comment",
|
|
@@ -9836,6 +9863,33 @@ var RIBBON_ACTION_IDS = [
|
|
|
9836
9863
|
];
|
|
9837
9864
|
var RIBBON_ACTION_LABELS = {
|
|
9838
9865
|
paste: "Paste",
|
|
9866
|
+
"paste-options": "Paste options",
|
|
9867
|
+
"underline-style": "Underline style",
|
|
9868
|
+
"bullets-options": "Bullets options",
|
|
9869
|
+
"numbering-options": "Numbering options",
|
|
9870
|
+
"document-themes": "Themes",
|
|
9871
|
+
"document-colors": "Colors",
|
|
9872
|
+
"document-fonts": "Fonts",
|
|
9873
|
+
"document-paragraph-spacing": "Paragraph spacing",
|
|
9874
|
+
"document-effects": "Effects",
|
|
9875
|
+
"set-default-formatting": "Set as Default",
|
|
9876
|
+
envelopes: "Envelopes",
|
|
9877
|
+
labels: "Labels",
|
|
9878
|
+
"start-mail-merge": "Start Mail Merge",
|
|
9879
|
+
"select-recipients": "Select Recipients",
|
|
9880
|
+
"edit-recipient-list": "Edit Recipient List",
|
|
9881
|
+
"highlight-merge-fields": "Highlight Merge Fields",
|
|
9882
|
+
"address-block": "Address Block",
|
|
9883
|
+
"greeting-line": "Greeting Line",
|
|
9884
|
+
"insert-merge-field": "Insert Merge Field",
|
|
9885
|
+
"merge-rules": "Rules",
|
|
9886
|
+
"match-fields": "Match Fields",
|
|
9887
|
+
"update-labels": "Update Labels",
|
|
9888
|
+
"preview-results": "Preview Results",
|
|
9889
|
+
"find-recipient": "Find Recipient",
|
|
9890
|
+
"check-merge-errors": "Check for Errors",
|
|
9891
|
+
"finish-merge": "Finish & Merge",
|
|
9892
|
+
help: "Help",
|
|
9839
9893
|
"delete-comment": "Delete comment",
|
|
9840
9894
|
"previous-comment": "Previous comment",
|
|
9841
9895
|
"next-comment": "Next comment",
|
|
@@ -10512,18 +10566,40 @@ function applyThemeColors(host, previous, colors) {
|
|
|
10512
10566
|
}
|
|
10513
10567
|
|
|
10514
10568
|
// docx/ui/word-count.ts
|
|
10569
|
+
var segmenters = /* @__PURE__ */ new Map();
|
|
10570
|
+
var documentCounts = /* @__PURE__ */ new WeakMap();
|
|
10515
10571
|
function countWords(text2, locale) {
|
|
10516
10572
|
if (typeof Intl.Segmenter === "function") {
|
|
10517
|
-
|
|
10518
|
-
|
|
10519
|
-
|
|
10520
|
-
|
|
10521
|
-
|
|
10573
|
+
const key = locale || "";
|
|
10574
|
+
let segmenter = segmenters.get(key);
|
|
10575
|
+
if (!segmenter) {
|
|
10576
|
+
try {
|
|
10577
|
+
segmenter = new Intl.Segmenter(locale || void 0, { granularity: "word" });
|
|
10578
|
+
} catch {
|
|
10579
|
+
segmenter = new Intl.Segmenter(void 0, { granularity: "word" });
|
|
10580
|
+
}
|
|
10581
|
+
if (segmenters.size >= 16) segmenters.clear();
|
|
10582
|
+
segmenters.set(key, segmenter);
|
|
10522
10583
|
}
|
|
10523
|
-
|
|
10584
|
+
let count = 0;
|
|
10585
|
+
for (const part of segmenter.segment(text2)) if (part.isWordLike) count++;
|
|
10586
|
+
return count;
|
|
10524
10587
|
}
|
|
10525
10588
|
return text2.match(/[\p{L}\p{N}][\p{L}\p{M}\p{N}'’]*/gu)?.length ?? 0;
|
|
10526
10589
|
}
|
|
10590
|
+
function documentWordCount(node, locale) {
|
|
10591
|
+
const key = locale || "";
|
|
10592
|
+
const cached2 = documentCounts.get(node);
|
|
10593
|
+
const value = cached2?.get(key);
|
|
10594
|
+
if (value !== void 0) return value;
|
|
10595
|
+
let count = 0;
|
|
10596
|
+
if (node.isTextblock) count = countWords(node.textBetween(0, node.content.size, " "), locale);
|
|
10597
|
+
else node.forEach((child) => count += documentWordCount(child, locale));
|
|
10598
|
+
const counts = cached2 ?? /* @__PURE__ */ new Map();
|
|
10599
|
+
counts.set(key, count);
|
|
10600
|
+
documentCounts.set(node, counts);
|
|
10601
|
+
return count;
|
|
10602
|
+
}
|
|
10527
10603
|
|
|
10528
10604
|
// docx/ui/zoom-fit.ts
|
|
10529
10605
|
var PAGE_GAP = 24;
|
|
@@ -10580,6 +10656,7 @@ exports.deleteAroundMarkers = deleteAroundMarkers;
|
|
|
10580
10656
|
exports.deleteComment = deleteComment;
|
|
10581
10657
|
exports.deleteFieldSelection = deleteFieldSelection;
|
|
10582
10658
|
exports.dispatchIsolatedCommand = dispatchIsolatedCommand;
|
|
10659
|
+
exports.documentWordCount = documentWordCount;
|
|
10583
10660
|
exports.expectDefined = expectDefined;
|
|
10584
10661
|
exports.explicitOffFields = explicitOffFields;
|
|
10585
10662
|
exports.extraRunFields = extraRunFields;
|
package/dist/docx/ui/index.mjs
CHANGED
|
@@ -9668,6 +9668,33 @@ function createToggleFormat(schema, getModel = () => void 0) {
|
|
|
9668
9668
|
// docx/ui/ribbon-action-ids.ts
|
|
9669
9669
|
var RIBBON_ACTION_IDS = [
|
|
9670
9670
|
"paste",
|
|
9671
|
+
"paste-options",
|
|
9672
|
+
"underline-style",
|
|
9673
|
+
"bullets-options",
|
|
9674
|
+
"numbering-options",
|
|
9675
|
+
"document-themes",
|
|
9676
|
+
"document-colors",
|
|
9677
|
+
"document-fonts",
|
|
9678
|
+
"document-paragraph-spacing",
|
|
9679
|
+
"document-effects",
|
|
9680
|
+
"set-default-formatting",
|
|
9681
|
+
"envelopes",
|
|
9682
|
+
"labels",
|
|
9683
|
+
"start-mail-merge",
|
|
9684
|
+
"select-recipients",
|
|
9685
|
+
"edit-recipient-list",
|
|
9686
|
+
"highlight-merge-fields",
|
|
9687
|
+
"address-block",
|
|
9688
|
+
"greeting-line",
|
|
9689
|
+
"insert-merge-field",
|
|
9690
|
+
"merge-rules",
|
|
9691
|
+
"match-fields",
|
|
9692
|
+
"update-labels",
|
|
9693
|
+
"preview-results",
|
|
9694
|
+
"find-recipient",
|
|
9695
|
+
"check-merge-errors",
|
|
9696
|
+
"finish-merge",
|
|
9697
|
+
"help",
|
|
9671
9698
|
"delete-comment",
|
|
9672
9699
|
"previous-comment",
|
|
9673
9700
|
"next-comment",
|
|
@@ -9814,6 +9841,33 @@ var RIBBON_ACTION_IDS = [
|
|
|
9814
9841
|
];
|
|
9815
9842
|
var RIBBON_ACTION_LABELS = {
|
|
9816
9843
|
paste: "Paste",
|
|
9844
|
+
"paste-options": "Paste options",
|
|
9845
|
+
"underline-style": "Underline style",
|
|
9846
|
+
"bullets-options": "Bullets options",
|
|
9847
|
+
"numbering-options": "Numbering options",
|
|
9848
|
+
"document-themes": "Themes",
|
|
9849
|
+
"document-colors": "Colors",
|
|
9850
|
+
"document-fonts": "Fonts",
|
|
9851
|
+
"document-paragraph-spacing": "Paragraph spacing",
|
|
9852
|
+
"document-effects": "Effects",
|
|
9853
|
+
"set-default-formatting": "Set as Default",
|
|
9854
|
+
envelopes: "Envelopes",
|
|
9855
|
+
labels: "Labels",
|
|
9856
|
+
"start-mail-merge": "Start Mail Merge",
|
|
9857
|
+
"select-recipients": "Select Recipients",
|
|
9858
|
+
"edit-recipient-list": "Edit Recipient List",
|
|
9859
|
+
"highlight-merge-fields": "Highlight Merge Fields",
|
|
9860
|
+
"address-block": "Address Block",
|
|
9861
|
+
"greeting-line": "Greeting Line",
|
|
9862
|
+
"insert-merge-field": "Insert Merge Field",
|
|
9863
|
+
"merge-rules": "Rules",
|
|
9864
|
+
"match-fields": "Match Fields",
|
|
9865
|
+
"update-labels": "Update Labels",
|
|
9866
|
+
"preview-results": "Preview Results",
|
|
9867
|
+
"find-recipient": "Find Recipient",
|
|
9868
|
+
"check-merge-errors": "Check for Errors",
|
|
9869
|
+
"finish-merge": "Finish & Merge",
|
|
9870
|
+
help: "Help",
|
|
9817
9871
|
"delete-comment": "Delete comment",
|
|
9818
9872
|
"previous-comment": "Previous comment",
|
|
9819
9873
|
"next-comment": "Next comment",
|
|
@@ -10490,18 +10544,40 @@ function applyThemeColors(host, previous, colors) {
|
|
|
10490
10544
|
}
|
|
10491
10545
|
|
|
10492
10546
|
// docx/ui/word-count.ts
|
|
10547
|
+
var segmenters = /* @__PURE__ */ new Map();
|
|
10548
|
+
var documentCounts = /* @__PURE__ */ new WeakMap();
|
|
10493
10549
|
function countWords(text2, locale) {
|
|
10494
10550
|
if (typeof Intl.Segmenter === "function") {
|
|
10495
|
-
|
|
10496
|
-
|
|
10497
|
-
|
|
10498
|
-
|
|
10499
|
-
|
|
10551
|
+
const key = locale || "";
|
|
10552
|
+
let segmenter = segmenters.get(key);
|
|
10553
|
+
if (!segmenter) {
|
|
10554
|
+
try {
|
|
10555
|
+
segmenter = new Intl.Segmenter(locale || void 0, { granularity: "word" });
|
|
10556
|
+
} catch {
|
|
10557
|
+
segmenter = new Intl.Segmenter(void 0, { granularity: "word" });
|
|
10558
|
+
}
|
|
10559
|
+
if (segmenters.size >= 16) segmenters.clear();
|
|
10560
|
+
segmenters.set(key, segmenter);
|
|
10500
10561
|
}
|
|
10501
|
-
|
|
10562
|
+
let count = 0;
|
|
10563
|
+
for (const part of segmenter.segment(text2)) if (part.isWordLike) count++;
|
|
10564
|
+
return count;
|
|
10502
10565
|
}
|
|
10503
10566
|
return text2.match(/[\p{L}\p{N}][\p{L}\p{M}\p{N}'’]*/gu)?.length ?? 0;
|
|
10504
10567
|
}
|
|
10568
|
+
function documentWordCount(node, locale) {
|
|
10569
|
+
const key = locale || "";
|
|
10570
|
+
const cached2 = documentCounts.get(node);
|
|
10571
|
+
const value = cached2?.get(key);
|
|
10572
|
+
if (value !== void 0) return value;
|
|
10573
|
+
let count = 0;
|
|
10574
|
+
if (node.isTextblock) count = countWords(node.textBetween(0, node.content.size, " "), locale);
|
|
10575
|
+
else node.forEach((child) => count += documentWordCount(child, locale));
|
|
10576
|
+
const counts = cached2 ?? /* @__PURE__ */ new Map();
|
|
10577
|
+
counts.set(key, count);
|
|
10578
|
+
documentCounts.set(node, counts);
|
|
10579
|
+
return count;
|
|
10580
|
+
}
|
|
10505
10581
|
|
|
10506
10582
|
// docx/ui/zoom-fit.ts
|
|
10507
10583
|
var PAGE_GAP = 24;
|
|
@@ -10512,4 +10588,4 @@ function fitZoomPercent(mode, viewport, page) {
|
|
|
10512
10588
|
return Math.max(10, Math.min(500, Math.floor(ratio * 100)));
|
|
10513
10589
|
}
|
|
10514
10590
|
|
|
10515
|
-
export { CollaborationAuthority, CollaborationClient, DirtyState, EDITOR_THEME_MODES, FIELD_RESULT_REPAIR_META, HEADER_FOOTER_INPUT, NotePartsStep, PAGE_GAP, PARAGRAPH_KEEP_KEYS, REMOTE_TRANSACTION_META, RIBBON_ACTION_IDS, RIBBON_ACTION_LABELS, SectionPartsStep, THEME_KEYS, WordYjsCollaboration, WordYjsComments, WordYjsMedia, acceptAllChanges, acceptChangeAtCursor, acceptRevisionRange, addComment, appendInlineNode, applyMarkFormatting, applyRunFormattingPatch, applyThemeColors, applyWordLink, authorColor, backstageFocus, chartNodeSpec, clearDirectRunFormatting, collectRevisionRanges, commentAnchors, commentHistoryAttributes, commentIdsAtSelection, commentIdsFromMarks, commentIdsFromNode, commentThreadsFromDoc, countWords, createCollaborationIdGenerator, createToggleFormat, cssBorderSide, darkTheme, deleteAroundMarkers, deleteComment, deleteFieldSelection, dispatchIsolatedCommand, expectDefined, explicitOffFields, extraRunFields, extraRunProperties, fieldGuardPlugin, fieldMarkerNodeSpec, fieldResultRanges, fieldsBalanced, fitZoomPercent, formattingRevision, freezeBatch, goToComment, goToNextChange, goToPreviousChange, hardBreakNodeSpec, hasAnyChange, hasChangeAtCursor, hasNoteRevisions, imageNodeSpec, inlineNodeRun, insertWordHardBreak, isNavigableHref, isRibbonActionId, isWordYjsRemoteTransaction, ligatureCss, ligatureStyle, lightTheme, linkFromMarks, linkMarkSpec, markSpecs, marksForRun, moveName, nodeChart, nodeNumbering, normalizeRibbonActions, normalizeThemeMode, notePartsJson, noteReferenceNodeSpec, pageBreakNodeSpec, paragraphAttrs, paragraphBoxCss, paragraphFormattingRevision, paragraphFromAttrs, parseBatch, parseBordersJson, placementClass, refreshWordYjsPresence, rejectAllChanges, rejectChangeAtCursor, rejectRevisionRange, removeCommentAnchor, removeCommentThread, removeWordLink, repairCollaborativeDocumentIds, repairCollaborativeParagraphIds, replaceAroundMarkers, replyToComment, resolveCellVisuals, resolveComment, resolveNoteRevisions, restoreNoteParts, restoreSectionParts, reviewMarks, ribbonActionIdForLabel, runPropertiesMark, runToInlineNodes, sameJson2 as sameJson, sameRuns, sectionPartsJson, setCommentThreads, setReviewRecordingPreferences, svgMarkupSpec, swatchColor, tableCellStyle, tableStructureGuardPlugin, tableStyle, themeDrawing, themeToCssVars, toggleTrackChanges, toggleTrackFormatting, toggleTrackMoves, trackChangesPlugin, trackChangesPluginKey, updateCommentThreads, wordHighlightColors, wordLinkRangeAt, wordYjsPluginKey, wordYjsPresencePlugin, wordYjsRedo, wordYjsUndo };
|
|
10591
|
+
export { CollaborationAuthority, CollaborationClient, DirtyState, EDITOR_THEME_MODES, FIELD_RESULT_REPAIR_META, HEADER_FOOTER_INPUT, NotePartsStep, PAGE_GAP, PARAGRAPH_KEEP_KEYS, REMOTE_TRANSACTION_META, RIBBON_ACTION_IDS, RIBBON_ACTION_LABELS, SectionPartsStep, THEME_KEYS, WordYjsCollaboration, WordYjsComments, WordYjsMedia, acceptAllChanges, acceptChangeAtCursor, acceptRevisionRange, addComment, appendInlineNode, applyMarkFormatting, applyRunFormattingPatch, applyThemeColors, applyWordLink, authorColor, backstageFocus, chartNodeSpec, clearDirectRunFormatting, collectRevisionRanges, commentAnchors, commentHistoryAttributes, commentIdsAtSelection, commentIdsFromMarks, commentIdsFromNode, commentThreadsFromDoc, countWords, createCollaborationIdGenerator, createToggleFormat, cssBorderSide, darkTheme, deleteAroundMarkers, deleteComment, deleteFieldSelection, dispatchIsolatedCommand, documentWordCount, expectDefined, explicitOffFields, extraRunFields, extraRunProperties, fieldGuardPlugin, fieldMarkerNodeSpec, fieldResultRanges, fieldsBalanced, fitZoomPercent, formattingRevision, freezeBatch, goToComment, goToNextChange, goToPreviousChange, hardBreakNodeSpec, hasAnyChange, hasChangeAtCursor, hasNoteRevisions, imageNodeSpec, inlineNodeRun, insertWordHardBreak, isNavigableHref, isRibbonActionId, isWordYjsRemoteTransaction, ligatureCss, ligatureStyle, lightTheme, linkFromMarks, linkMarkSpec, markSpecs, marksForRun, moveName, nodeChart, nodeNumbering, normalizeRibbonActions, normalizeThemeMode, notePartsJson, noteReferenceNodeSpec, pageBreakNodeSpec, paragraphAttrs, paragraphBoxCss, paragraphFormattingRevision, paragraphFromAttrs, parseBatch, parseBordersJson, placementClass, refreshWordYjsPresence, rejectAllChanges, rejectChangeAtCursor, rejectRevisionRange, removeCommentAnchor, removeCommentThread, removeWordLink, repairCollaborativeDocumentIds, repairCollaborativeParagraphIds, replaceAroundMarkers, replyToComment, resolveCellVisuals, resolveComment, resolveNoteRevisions, restoreNoteParts, restoreSectionParts, reviewMarks, ribbonActionIdForLabel, runPropertiesMark, runToInlineNodes, sameJson2 as sameJson, sameRuns, sectionPartsJson, setCommentThreads, setReviewRecordingPreferences, svgMarkupSpec, swatchColor, tableCellStyle, tableStructureGuardPlugin, tableStyle, themeDrawing, themeToCssVars, toggleTrackChanges, toggleTrackFormatting, toggleTrackMoves, trackChangesPlugin, trackChangesPluginKey, updateCommentThreads, wordHighlightColors, wordLinkRangeAt, wordYjsPluginKey, wordYjsPresencePlugin, wordYjsRedo, wordYjsUndo };
|
|
@@ -5,7 +5,7 @@ import type { LegacyRibbonLabel } from './ribbon-legacy-labels.js';
|
|
|
5
5
|
* `element-api.test.ts` fails when a control is added to or removed from the ribbon without
|
|
6
6
|
* updating this list.
|
|
7
7
|
*/
|
|
8
|
-
export declare const RIBBON_ACTION_IDS: readonly ['paste', 'delete-comment', 'previous-comment', 'next-comment', 'insert-caption', 'cross-reference', 'ruler', 'page-setup-dialog', 'cover-page', 'bookmark', 'sort', 'find-options', 'select-options', 'add-text', 'blank-page', 'read-aloud', 'gridlines', 'navigation-pane', 'shading', 'borders', 'header', 'footer', 'page-number', 'header-footer-link', 'header-footer-close', 'header-footer-go-header', 'header-footer-go-footer', 'header-footer-previous', 'header-footer-next', 'header-from-top', 'footer-from-bottom', 'page-size', 'font-dialog', 'paragraph-dialog', 'indent-left', 'indent-right', 'zoom-actual-size', 'multiple-pages', 'page-width', 'one-page', 'word-count', 'spelling', 'symbol', 'date-and-time', 'line-numbers', 'multilevel-list', 'drop-cap', 'change-case', 'format-painter', 'show-paragraph-marks', 'select-all', 'replace', 'cut', 'copy', 'grow-font', 'shrink-font', 'font-family', 'font-size', 'bold', 'italic', 'underline', 'strikethrough', 'superscript', 'subscript', 'font-color', 'text-highlight', 'clear-formatting', 'decrease-indent', 'increase-indent', 'spacing-after', 'spacing-before', 'line-spacing', 'bulleted-list', 'numbered-list', 'decrease-list-level', 'increase-list-level', 'remove-list', 'align-left', 'align-center', 'align-right', 'justify', 'find-and-replace', 'insert-table', 'insert-picture', 'format-picture', 'insert-link', 'insert-page-break', 'insert-column-break', 'margins', 'orientation', 'vertical-alignment', 'columns', 'page-color', 'text-box', 'page-borders', 'watermark', 'hyphenation', 'page-number-format', 'page-numbering', 'different-first-page', 'different-odd-and-even-pages', 'next-page-section-break', 'continuous-section-break', 'even-page-section-break', 'odd-page-section-break', 'insert-table-of-contents', 'update-table-of-contents', 'update-fields', 'insert-table-of-figures', 'insert-footnote', 'insert-endnote', 'paragraph-direction', 'text-language', 'custom-text-language-tag', 'east-asian-language', 'custom-east-asian-language-tag', 'complex-script-language', 'custom-complex-script-language-tag', 'run-direction', 'track-changes', 'tracking-options', 'display-for-review', 'previous-change', 'next-change', 'accept', 'reject', 'accept-all', 'reject-all', 'add-comment', 'comments', 'show-hidden-text', 'page-thumbnails', 'zoom', 'zoom-dialog', 'layout-view', 'print', 'insert-row-above', 'insert-row-below', 'delete-row', 'insert-column-left', 'insert-column-right', 'delete-column', 'delete-table', 'table-properties'];
|
|
8
|
+
export declare const RIBBON_ACTION_IDS: readonly ['paste', 'paste-options', 'underline-style', 'bullets-options', 'numbering-options', 'document-themes', 'document-colors', 'document-fonts', 'document-paragraph-spacing', 'document-effects', 'set-default-formatting', 'envelopes', 'labels', 'start-mail-merge', 'select-recipients', 'edit-recipient-list', 'highlight-merge-fields', 'address-block', 'greeting-line', 'insert-merge-field', 'merge-rules', 'match-fields', 'update-labels', 'preview-results', 'find-recipient', 'check-merge-errors', 'finish-merge', 'help', 'delete-comment', 'previous-comment', 'next-comment', 'insert-caption', 'cross-reference', 'ruler', 'page-setup-dialog', 'cover-page', 'bookmark', 'sort', 'find-options', 'select-options', 'add-text', 'blank-page', 'read-aloud', 'gridlines', 'navigation-pane', 'shading', 'borders', 'header', 'footer', 'page-number', 'header-footer-link', 'header-footer-close', 'header-footer-go-header', 'header-footer-go-footer', 'header-footer-previous', 'header-footer-next', 'header-from-top', 'footer-from-bottom', 'page-size', 'font-dialog', 'paragraph-dialog', 'indent-left', 'indent-right', 'zoom-actual-size', 'multiple-pages', 'page-width', 'one-page', 'word-count', 'spelling', 'symbol', 'date-and-time', 'line-numbers', 'multilevel-list', 'drop-cap', 'change-case', 'format-painter', 'show-paragraph-marks', 'select-all', 'replace', 'cut', 'copy', 'grow-font', 'shrink-font', 'font-family', 'font-size', 'bold', 'italic', 'underline', 'strikethrough', 'superscript', 'subscript', 'font-color', 'text-highlight', 'clear-formatting', 'decrease-indent', 'increase-indent', 'spacing-after', 'spacing-before', 'line-spacing', 'bulleted-list', 'numbered-list', 'decrease-list-level', 'increase-list-level', 'remove-list', 'align-left', 'align-center', 'align-right', 'justify', 'find-and-replace', 'insert-table', 'insert-picture', 'format-picture', 'insert-link', 'insert-page-break', 'insert-column-break', 'margins', 'orientation', 'vertical-alignment', 'columns', 'page-color', 'text-box', 'page-borders', 'watermark', 'hyphenation', 'page-number-format', 'page-numbering', 'different-first-page', 'different-odd-and-even-pages', 'next-page-section-break', 'continuous-section-break', 'even-page-section-break', 'odd-page-section-break', 'insert-table-of-contents', 'update-table-of-contents', 'update-fields', 'insert-table-of-figures', 'insert-footnote', 'insert-endnote', 'paragraph-direction', 'text-language', 'custom-text-language-tag', 'east-asian-language', 'custom-east-asian-language-tag', 'complex-script-language', 'custom-complex-script-language-tag', 'run-direction', 'track-changes', 'tracking-options', 'display-for-review', 'previous-change', 'next-change', 'accept', 'reject', 'accept-all', 'reject-all', 'add-comment', 'comments', 'show-hidden-text', 'page-thumbnails', 'zoom', 'zoom-dialog', 'layout-view', 'print', 'insert-row-above', 'insert-row-below', 'delete-row', 'insert-column-left', 'insert-column-right', 'delete-column', 'delete-table', 'table-properties'];
|
|
9
9
|
export type RibbonActionId = (typeof RIBBON_ACTION_IDS)[number];
|
|
10
10
|
/** English control label of each action, the lookup key into the locale strings. Display-only. */
|
|
11
11
|
export declare const RIBBON_ACTION_LABELS: Readonly<Record<RibbonActionId, string>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ribbon-action-ids.d.ts","sourceRoot":"","sources":["../../../docx/ui/ribbon-action-ids.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,YAC7B,OAAO,EACP,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,OAAO,EACP,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,MAAM,EACN,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,YAAY,EACZ,SAAS,EACT,KAAK,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,MAAM,EACN,QAAQ,EACR,WAAW,EACX,eAAe,EACf,aAAa,EACb,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,aAAa,EACb,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,SAAS,EACT,YAAY,EACZ,UAAU,EACV,cAAc,EACd,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,8BAA8B,EAC9B,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,EAC1B,eAAe,EACf,yBAAyB,EACzB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,0BAA0B,EAC1B,qBAAqB,EACrB,gCAAgC,EAChC,yBAAyB,EACzB,oCAAoC,EACpC,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,MAAM,EACN,aAAa,EACb,aAAa,EACb,OAAO,EACP,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,kBAAkB,CACT,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhE,kGAAkG;AAClG,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"ribbon-action-ids.d.ts","sourceRoot":"","sources":["../../../docx/ui/ribbon-action-ids.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import type { Node } from 'prosemirror-model';
|
|
1
2
|
/** Unicode-aware word counting; segmentation is provided by the host's ICU data. */
|
|
2
3
|
export declare function countWords(text: string, locale?: string): number;
|
|
4
|
+
/** Immutable editor subtrees retain their counts across typing, selection changes and undo. */
|
|
5
|
+
export declare function documentWordCount(node: Node, locale?: string): number;
|
|
3
6
|
//# sourceMappingURL=word-count.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"word-count.d.ts","sourceRoot":"","sources":["../../../docx/ui/word-count.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"word-count.d.ts","sourceRoot":"","sources":["../../../docx/ui/word-count.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAK9C,oFAAoF;AACpF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAmBhE;AAED,+FAA+F;AAC/F,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAYrE"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/** Format-neutral move and resize geometry, extracted from the PowerPoint editing overlay. */
|
|
2
|
+
export declare const DEFAULT_INTERACTION_MIN_SIZE = 12;
|
|
3
|
+
/** Axis-aligned box in element (unscaled) coordinate space, plus rotation. */
|
|
4
|
+
export interface InteractionBox {
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
width: number;
|
|
8
|
+
height: number;
|
|
9
|
+
/** Degrees. Defaults to 0 when omitted. */
|
|
10
|
+
rotation?: number;
|
|
11
|
+
}
|
|
12
|
+
/** Result of a drag/resize/rotate computation. */
|
|
13
|
+
export interface BoxTransform {
|
|
14
|
+
x: number;
|
|
15
|
+
y: number;
|
|
16
|
+
width: number;
|
|
17
|
+
height: number;
|
|
18
|
+
rotation: number;
|
|
19
|
+
}
|
|
20
|
+
/** The eight resize handles, named by compass direction. */
|
|
21
|
+
export type ResizeHandleId = 'nw' | 'n' | 'ne' | 'e' | 'se' | 's' | 'sw' | 'w';
|
|
22
|
+
export declare const RESIZE_HANDLES: readonly ResizeHandleId[];
|
|
23
|
+
/** Where one resize handle sits on the box, and the cursor it shows. */
|
|
24
|
+
export interface ResizeHandleGeometry {
|
|
25
|
+
/** CSS cursor value (not a class name). */
|
|
26
|
+
cursor: string;
|
|
27
|
+
/** Fractional x within the box: 0 = left edge, 1 = right edge. */
|
|
28
|
+
fx: number;
|
|
29
|
+
/** Fractional y within the box: 0 = top edge, 1 = bottom edge. */
|
|
30
|
+
fy: number;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* The canonical placement + cursor for all eight handles.
|
|
34
|
+
*
|
|
35
|
+
* All five bindings had their own copy of this table: Vue as `HANDLE_META`,
|
|
36
|
+
* Svelte and Vanilla as a `HANDLE_CURSORS` / `HANDLE_POSITIONS` pair, Angular
|
|
37
|
+
* as a `switch` plus a string-matching `handleAnchor`, and React as `cursor-*`
|
|
38
|
+
* Tailwind classes on hand-placed corner/edge lists. Five copies of eight
|
|
39
|
+
* constants is five chances for one binding to put a handle on the wrong corner
|
|
40
|
+
* or show a resize cursor pointing the wrong way, with nothing to catch it.
|
|
41
|
+
*/
|
|
42
|
+
export declare const RESIZE_HANDLE_GEOMETRY: Readonly<Record<ResizeHandleId, ResizeHandleGeometry>>;
|
|
43
|
+
/**
|
|
44
|
+
* Rotate-handle stem length in SCREEN px, i.e. constant at any zoom.
|
|
45
|
+
*
|
|
46
|
+
* The overlay lives inside the zoom-scaled stage, so this is divided by the
|
|
47
|
+
* zoom wherever it is applied; a stem that scaled with the zoom would drift
|
|
48
|
+
* away from the box as the user zoomed out.
|
|
49
|
+
*/
|
|
50
|
+
export declare const ROTATE_STEM_PX = 24;
|
|
51
|
+
export interface Point {
|
|
52
|
+
x: number;
|
|
53
|
+
y: number;
|
|
54
|
+
}
|
|
55
|
+
export interface ResizeOptions {
|
|
56
|
+
/** Minimum width/height in element px. Defaults to `DEFAULT_INTERACTION_MIN_SIZE`. */
|
|
57
|
+
minSize?: number;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Rotate a screen-space delta into element-local space.
|
|
61
|
+
*
|
|
62
|
+
* Given a vector expressed in the canvas (screen) frame and the element's
|
|
63
|
+
* rotation in degrees, return the same vector expressed in the element's local
|
|
64
|
+
* (un-rotated) frame. This is the inverse rotation of `rotationDeg`.
|
|
65
|
+
*/
|
|
66
|
+
export declare function rotateDelta(dx: number, dy: number, rotationDeg: number): Point;
|
|
67
|
+
/** Center point of a box in element coordinates. */
|
|
68
|
+
export declare function boxCenter(box: InteractionBox): Point;
|
|
69
|
+
/**
|
|
70
|
+
* Apply a screen-space pointer delta as a plain move of the whole box.
|
|
71
|
+
*
|
|
72
|
+
* Position is stored axis-aligned, so rotation does NOT affect a move - we only
|
|
73
|
+
* scale the screen delta down by `zoom` to get element px.
|
|
74
|
+
*/
|
|
75
|
+
export declare function applyDragDelta(box: InteractionBox, dxScreen: number, dyScreen: number, zoom: number): BoxTransform;
|
|
76
|
+
/**
|
|
77
|
+
* Compute the new geometry for a resize drag on a given handle.
|
|
78
|
+
*
|
|
79
|
+
* `dxScreen`/`dyScreen` are the *total* pointer delta from the gesture start,
|
|
80
|
+
* in screen px. They are scaled by `zoom` into element px and (when the element
|
|
81
|
+
* is rotated) rotated into the element's local frame so the handle behaves
|
|
82
|
+
* intuitively. The min-size clamp uses `opts.minSize` (default
|
|
83
|
+
* `DEFAULT_INTERACTION_MIN_SIZE`).
|
|
84
|
+
*
|
|
85
|
+
* The returned box keeps the element's `rotation` unchanged. x/y describe the
|
|
86
|
+
* new axis-aligned top-left in element space; for rotated elements this matches
|
|
87
|
+
* the React behaviour of resizing in local space under a CSS transform.
|
|
88
|
+
*/
|
|
89
|
+
export declare function applyResize(box: InteractionBox, handle: ResizeHandleId, dxScreen: number, dyScreen: number, zoom: number, opts?: ResizeOptions): BoxTransform;
|
|
90
|
+
//# sourceMappingURL=element-transform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"element-transform.d.ts","sourceRoot":"","sources":["../../geometry/element-transform.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C,8EAA8E;AAC9E,MAAM,WAAW,cAAc;IAC9B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,kDAAkD;AAClD,MAAM,WAAW,YAAY;IAC5B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,4DAA4D;AAC5D,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC;AAE/E,eAAO,MAAM,cAAc,EAAE,SAAS,cAAc,EAS1C,CAAC;AAEX,wEAAwE;AACxE,MAAM,WAAW,oBAAoB;IACpC,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,EAAE,EAAE,MAAM,CAAC;IACX,kEAAkE;IAClE,EAAE,EAAE,MAAM,CAAC;CACX;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,oBAAoB,CAAC,CASzF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,MAAM,WAAW,KAAK;IACrB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACV;AAED,MAAM,WAAW,aAAa;IAC7B,sFAAsF;IACtF,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAYD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,KAAK,CAW9E;AAED,oDAAoD;AACpD,wBAAgB,SAAS,CAAC,GAAG,EAAE,cAAc,GAAG,KAAK,CAEpD;AAMD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC7B,GAAG,EAAE,cAAc,EACnB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACV,YAAY,CASd;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAC1B,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,aAAkB,GACtB,YAAY,CAmCd"}
|
package/dist/geometry/index.cjs
CHANGED
|
@@ -16218,6 +16218,88 @@ function arrowKeyDelta(key, step) {
|
|
|
16218
16218
|
}
|
|
16219
16219
|
}
|
|
16220
16220
|
|
|
16221
|
+
// geometry/element-transform.ts
|
|
16222
|
+
var DEFAULT_INTERACTION_MIN_SIZE = 12;
|
|
16223
|
+
var RESIZE_HANDLES = [
|
|
16224
|
+
"nw",
|
|
16225
|
+
"n",
|
|
16226
|
+
"ne",
|
|
16227
|
+
"e",
|
|
16228
|
+
"se",
|
|
16229
|
+
"s",
|
|
16230
|
+
"sw",
|
|
16231
|
+
"w"
|
|
16232
|
+
];
|
|
16233
|
+
var RESIZE_HANDLE_GEOMETRY = {
|
|
16234
|
+
nw: { cursor: "nwse-resize", fx: 0, fy: 0 },
|
|
16235
|
+
n: { cursor: "ns-resize", fx: 0.5, fy: 0 },
|
|
16236
|
+
ne: { cursor: "nesw-resize", fx: 1, fy: 0 },
|
|
16237
|
+
e: { cursor: "ew-resize", fx: 1, fy: 0.5 },
|
|
16238
|
+
se: { cursor: "nwse-resize", fx: 1, fy: 1 },
|
|
16239
|
+
s: { cursor: "ns-resize", fx: 0.5, fy: 1 },
|
|
16240
|
+
sw: { cursor: "nesw-resize", fx: 0, fy: 1 },
|
|
16241
|
+
w: { cursor: "ew-resize", fx: 0, fy: 0.5 }
|
|
16242
|
+
};
|
|
16243
|
+
var ROTATE_STEM_PX = 24;
|
|
16244
|
+
var DEG_TO_RAD = Math.PI / 180;
|
|
16245
|
+
function rotationOf(box) {
|
|
16246
|
+
return box.rotation ?? 0;
|
|
16247
|
+
}
|
|
16248
|
+
function rotateDelta(dx, dy, rotationDeg) {
|
|
16249
|
+
if (!rotationDeg) {
|
|
16250
|
+
return { x: dx, y: dy };
|
|
16251
|
+
}
|
|
16252
|
+
const rad = -rotationDeg * DEG_TO_RAD;
|
|
16253
|
+
const cos = Math.cos(rad);
|
|
16254
|
+
const sin = Math.sin(rad);
|
|
16255
|
+
return {
|
|
16256
|
+
x: dx * cos - dy * sin,
|
|
16257
|
+
y: dx * sin + dy * cos
|
|
16258
|
+
};
|
|
16259
|
+
}
|
|
16260
|
+
function boxCenter(box) {
|
|
16261
|
+
return { x: box.x + box.width / 2, y: box.y + box.height / 2 };
|
|
16262
|
+
}
|
|
16263
|
+
function applyDragDelta(box, dxScreen, dyScreen, zoom) {
|
|
16264
|
+
const scale = zoom || 1;
|
|
16265
|
+
return {
|
|
16266
|
+
x: box.x + dxScreen / scale,
|
|
16267
|
+
y: box.y + dyScreen / scale,
|
|
16268
|
+
width: box.width,
|
|
16269
|
+
height: box.height,
|
|
16270
|
+
rotation: rotationOf(box)
|
|
16271
|
+
};
|
|
16272
|
+
}
|
|
16273
|
+
function applyResize(box, handle, dxScreen, dyScreen, zoom, opts = {}) {
|
|
16274
|
+
const scale = zoom || 1;
|
|
16275
|
+
const minSize = opts.minSize ?? DEFAULT_INTERACTION_MIN_SIZE;
|
|
16276
|
+
const rotation = rotationOf(box);
|
|
16277
|
+
const local = rotateDelta(dxScreen / scale, dyScreen / scale, rotation);
|
|
16278
|
+
const dx = local.x;
|
|
16279
|
+
const dy = local.y;
|
|
16280
|
+
let newX = box.x;
|
|
16281
|
+
let newY = box.y;
|
|
16282
|
+
let newW = box.width;
|
|
16283
|
+
let newH = box.height;
|
|
16284
|
+
const affectsLeft = handle === "nw" || handle === "w" || handle === "sw";
|
|
16285
|
+
const affectsRight = handle === "ne" || handle === "e" || handle === "se";
|
|
16286
|
+
const affectsTop = handle === "nw" || handle === "n" || handle === "ne";
|
|
16287
|
+
const affectsBottom = handle === "sw" || handle === "s" || handle === "se";
|
|
16288
|
+
if (affectsRight) {
|
|
16289
|
+
newW = Math.max(minSize, box.width + dx);
|
|
16290
|
+
} else if (affectsLeft) {
|
|
16291
|
+
newW = Math.max(minSize, box.width - dx);
|
|
16292
|
+
newX = box.x + (box.width - newW);
|
|
16293
|
+
}
|
|
16294
|
+
if (affectsBottom) {
|
|
16295
|
+
newH = Math.max(minSize, box.height + dy);
|
|
16296
|
+
} else if (affectsTop) {
|
|
16297
|
+
newH = Math.max(minSize, box.height - dy);
|
|
16298
|
+
newY = box.y + (box.height - newH);
|
|
16299
|
+
}
|
|
16300
|
+
return { x: newX, y: newY, width: newW, height: newH, rotation };
|
|
16301
|
+
}
|
|
16302
|
+
|
|
16221
16303
|
exports.ACTION_BUTTON_CONNECTION_SITES = ACTION_BUTTON_CONNECTION_SITES;
|
|
16222
16304
|
exports.ACTION_BUTTON_PRESET_DEFINITIONS = ACTION_BUTTON_PRESET_DEFINITIONS;
|
|
16223
16305
|
exports.ACTION_BUTTON_TEXT_RECTS = ACTION_BUTTON_TEXT_RECTS;
|
|
@@ -16247,6 +16329,7 @@ exports.COM_AVLST_GROUND_TRUTH = COM_AVLST_GROUND_TRUTH;
|
|
|
16247
16329
|
exports.CONNECTORS_BRACKETS_PRESET_DEFINITIONS = CONNECTORS_BRACKETS_PRESET_DEFINITIONS;
|
|
16248
16330
|
exports.CURVED_ARROWS_CONNECTORS_PRESET_DEFINITIONS = CURVED_ARROWS_CONNECTORS_PRESET_DEFINITIONS;
|
|
16249
16331
|
exports.CURVED_ARROW_CONNECTION_SITES = CURVED_ARROW_CONNECTION_SITES;
|
|
16332
|
+
exports.DEFAULT_INTERACTION_MIN_SIZE = DEFAULT_INTERACTION_MIN_SIZE;
|
|
16250
16333
|
exports.EPSILON = EPSILON;
|
|
16251
16334
|
exports.EXACT_CURVED_ARROW_PRESET_DEFINITIONS = EXACT_CURVED_ARROW_PRESET_DEFINITIONS;
|
|
16252
16335
|
exports.EXTENDED_SHAPE_DEFINITIONS = EXTENDED_SHAPE_DEFINITIONS;
|
|
@@ -16278,8 +16361,11 @@ exports.QUAD_TEXT_RECTS = QUAD_TEXT_RECTS;
|
|
|
16278
16361
|
exports.RECTS_SNIPS_PRESET_DEFINITIONS = RECTS_SNIPS_PRESET_DEFINITIONS;
|
|
16279
16362
|
exports.RECT_VARIANT_CONNECTION_SITES = RECT_VARIANT_CONNECTION_SITES;
|
|
16280
16363
|
exports.REFINED_ARROW_PRESET_DEFINITIONS = REFINED_ARROW_PRESET_DEFINITIONS;
|
|
16364
|
+
exports.RESIZE_HANDLES = RESIZE_HANDLES;
|
|
16365
|
+
exports.RESIZE_HANDLE_GEOMETRY = RESIZE_HANDLE_GEOMETRY;
|
|
16281
16366
|
exports.RIBBON_CONNECTION_SITES = RIBBON_CONNECTION_SITES;
|
|
16282
16367
|
exports.RIBBON_TEXT_RECTS = RIBBON_TEXT_RECTS;
|
|
16368
|
+
exports.ROTATE_STEM_PX = ROTATE_STEM_PX;
|
|
16283
16369
|
exports.ROUTING_PADDING_DEFAULT = ROUTING_PADDING_DEFAULT;
|
|
16284
16370
|
exports.SCROLLS_ACCENT_CALLOUTS_PRESET_DEFINITIONS = SCROLLS_ACCENT_CALLOUTS_PRESET_DEFINITIONS;
|
|
16285
16371
|
exports.SNAP_THRESHOLD = SNAP_THRESHOLD;
|
|
@@ -16293,9 +16379,12 @@ exports._internalForTests = _internalForTests;
|
|
|
16293
16379
|
exports.aStarOrthogonal = aStarOrthogonal;
|
|
16294
16380
|
exports.alignElements = alignElements;
|
|
16295
16381
|
exports.angleToRadians = angleToRadians;
|
|
16382
|
+
exports.applyDragDelta = applyDragDelta;
|
|
16383
|
+
exports.applyResize = applyResize;
|
|
16296
16384
|
exports.arrowKeyDelta = arrowKeyDelta;
|
|
16297
16385
|
exports.at = at;
|
|
16298
16386
|
exports.autoAlignBoxes = autoAlignBoxes;
|
|
16387
|
+
exports.boxCenter = boxCenter;
|
|
16299
16388
|
exports.buildCalloutLeaderLineSvgPath = buildCalloutLeaderLineSvgPath;
|
|
16300
16389
|
exports.buildGraphNodes = buildGraphNodes;
|
|
16301
16390
|
exports.clipPolygons = clipPolygons;
|
|
@@ -16369,6 +16458,7 @@ exports.resolveAlignReferenceBox = resolveAlignReferenceBox;
|
|
|
16369
16458
|
exports.resolveCoordinate = resolveCoordinate;
|
|
16370
16459
|
exports.resolveOperand = resolveOperand;
|
|
16371
16460
|
exports.resolveRotateHandlePlacement = resolveRotateHandlePlacement;
|
|
16461
|
+
exports.rotateDelta = rotateDelta;
|
|
16372
16462
|
exports.routeConnector = routeConnector;
|
|
16373
16463
|
exports.routeOrthogonalConnector = routeOrthogonalConnector;
|
|
16374
16464
|
exports.segmentIntersection = segmentIntersection;
|
package/dist/geometry/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../geometry/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../geometry/index.ts"],"names":[],"mappings":"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"}
|