@epam/ai-dial-attachment-canvas 1.2.0-dev.1 → 1.2.0-dev.101

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 (67) hide show
  1. package/{LazyContentBoundary-CL7J_W9c.js → LazyContentBoundary-tNE1ExbI.js} +2 -1
  2. package/{PdfContent-DhfjgYL-.js → PdfContent-BoAtghsO.js} +1 -1
  3. package/PdfContent.css +1 -1
  4. package/{attachment-canvas-Bp6WeQws.js → attachment-canvas-BgwyzrRC.js} +5 -3
  5. package/components/AttachmentCanvas/AttachmentCanvas.d.ts.map +1 -1
  6. package/components/AttachmentCanvasBody/AttachmentCanvasBody.d.ts.map +1 -1
  7. package/components/AttachmentCanvasContainer/AttachmentCanvasContainer.d.ts.map +1 -1
  8. package/components/InlineGroupedVisualizer/InlineGroupedVisualizer.d.ts +36 -0
  9. package/components/InlineGroupedVisualizer/InlineGroupedVisualizer.d.ts.map +1 -0
  10. package/components/McpAppCanvasRenderer/McpAppCanvasRenderer.d.ts +3 -0
  11. package/components/McpAppCanvasRenderer/McpAppCanvasRenderer.d.ts.map +1 -1
  12. package/components/OoxmlContent/OoxmlContent.d.ts.map +1 -1
  13. package/components/PdfContent/PdfContent.d.ts.map +1 -1
  14. package/components/VisualizerCanvasRenderer/VisualizerCanvasRenderer.d.ts +5 -3
  15. package/components/VisualizerCanvasRenderer/VisualizerCanvasRenderer.d.ts.map +1 -1
  16. package/constants/public-class-names.d.ts +11 -0
  17. package/constants/public-class-names.d.ts.map +1 -0
  18. package/context/AttachmentCanvasContext.d.ts.map +1 -1
  19. package/hooks/useMcpAppBridge/useMcpAppBridge.d.ts.map +1 -1
  20. package/hooks/useOpenAttachmentCanvas/useOpenAttachmentCanvas.d.ts +14 -1
  21. package/hooks/useOpenAttachmentCanvas/useOpenAttachmentCanvas.d.ts.map +1 -1
  22. package/index.css +2 -1
  23. package/index.d.ts +7 -3
  24. package/index.d.ts.map +1 -1
  25. package/index.js +834 -714
  26. package/models/attachment-canvas.d.ts +52 -11
  27. package/models/attachment-canvas.d.ts.map +1 -1
  28. package/ooxml-highlight-surfaces-BzgOKpBV.js +459 -0
  29. package/package.json +6 -6
  30. package/test-setup.d.ts +10 -1
  31. package/test-setup.d.ts.map +1 -1
  32. package/types/attachment-canvas.d.ts +23 -1
  33. package/types/attachment-canvas.d.ts.map +1 -1
  34. package/utils/content.d.ts +16 -2
  35. package/utils/content.d.ts.map +1 -1
  36. package/utils/download.d.ts.map +1 -1
  37. package/utils/ooxml-highlight-geometry.d.ts +87 -3
  38. package/utils/ooxml-highlight-geometry.d.ts.map +1 -1
  39. package/utils/ooxml-highlight-surfaces.d.ts +33 -6
  40. package/utils/ooxml-highlight-surfaces.d.ts.map +1 -1
  41. package/utils/ooxml-table-row-highlight.d.ts +8 -0
  42. package/utils/ooxml-table-row-highlight.d.ts.map +1 -0
  43. package/utils/visualizer.d.ts +29 -1
  44. package/utils/visualizer.d.ts.map +1 -1
  45. package/utils/vite-external-matcher.d.ts +5 -5
  46. package/utils/vite-external-matcher.d.ts.map +1 -1
  47. package/bounded-raw-part-cache-BfbSxRIL-DD07NKh9.js +0 -37832
  48. package/chart-ex-B0DgG3Dt.js +0 -1009
  49. package/comment-occurrence-CqejEuts-7SeKCBXk.js +0 -6
  50. package/comment-ui-runtime-DEtgcmj7-B1G7PH4z.js +0 -170
  51. package/comment-ui-runtime-TLHustXJ-DWCXG2mL.js +0 -2
  52. package/comment-ui-runtime-lXwVOgjW-Be4RALsI.js +0 -112
  53. package/comments-CAn2A_Xh-CdgNAj0h.js +0 -282
  54. package/delimited-text-worker-host-DcHj_JZt-DWJmaPag.js +0 -25
  55. package/docx-B9qBTEkj.js +0 -29822
  56. package/line-distribute-IsUGfHXm-DeITjLzJ.js +0 -1234
  57. package/line-metrics-CBbw80Ko-DoOuwYxZ.js +0 -60
  58. package/ooxml-highlight-surfaces-DhK1KJcR.js +0 -294
  59. package/pptx-dkJw0-Vx.js +0 -9179
  60. package/read-only-comment-decoration-BTnWEeo5-BNhbteYc.js +0 -94
  61. package/read-only-comment-margin-plStyGfE-mggNAMB_.js +0 -189
  62. package/render-worker-host-BEfLZvSL-COy91Rd8.js +0 -7
  63. package/render-worker-host-Ba6Fchqr-DZeKpMWD.js +0 -7
  64. package/render-worker-host-C3xwtHnv-BBGHFdo9.js +0 -7
  65. package/renderer-module-contract-Cu-GKuPd-Bt0YZuzB.js +0 -10063
  66. package/visible-index-DPoQYSDt-9lRc-2Ik.js +0 -162
  67. package/xlsx-BAXMTJTG.js +0 -8585
@@ -1,8 +1,8 @@
1
- import { CodeBlockTheme, CustomVisualizerDataLayout } from '@epam/ai-dial-chat-shared';
1
+ import { CodeBlockTheme, CustomVisualizerDataLayout, GroupedAttachmentItem } from '@epam/ai-dial-chat-shared';
2
2
  import { SidebarPanelStyles } from '@epam/ai-dial-sidebar';
3
3
  import { InputHighlightData } from '@epam/pdf-highlighter-kit';
4
4
  import { McpUiHostContext } from '@mcp-ui/client';
5
- import { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
5
+ import { CallToolResult, Implementation } from '@modelcontextprotocol/sdk/types.js';
6
6
  import { CSSProperties } from 'react';
7
7
  import { AttachmentContentType, AttachmentErrorType, OoxmlFileType, OoxmlHighlightKind } from '../types/attachment-canvas';
8
8
  /** Content payload for plain-text attachments. */
@@ -83,6 +83,26 @@ export interface OoxmlPptxHighlightLocation {
83
83
  /** The cited text, compared against the text resolved over `[start, endExclusive)`. */
84
84
  text: string;
85
85
  }
86
+ /** A complete table row in the DOCX body, matched by cell text. */
87
+ export interface OoxmlDocxTableRowLocation {
88
+ /** Location kind. */
89
+ kind: OoxmlHighlightKind.DocxTableRow;
90
+ /** Plain text of each cell, in column order. */
91
+ cells: string[];
92
+ /** 1-based matching row in document order. */
93
+ occurrence: number;
94
+ }
95
+ /** A complete table row on one PPTX slide, matched by cell text. */
96
+ export interface OoxmlPptxTableRowLocation {
97
+ /** Location kind. */
98
+ kind: OoxmlHighlightKind.PptxTableRow;
99
+ /** Plain text of each cell, in column order. */
100
+ cells: string[];
101
+ /** 1-based matching row on the specified slide. */
102
+ occurrence: number;
103
+ /** 1-based slide number. */
104
+ slide: number;
105
+ }
86
106
  /** A 1-based cell address, matching `@silurus/ooxml`'s own `CellAddress`. */
87
107
  export interface OoxmlCellAddress {
88
108
  /** 1-based row number. */
@@ -102,7 +122,7 @@ export interface OoxmlXlsxHighlightLocation {
102
122
  end?: OoxmlCellAddress;
103
123
  }
104
124
  /** A cited location inside an Office document, in document coordinates. */
105
- export type OoxmlHighlightLocation = OoxmlDocxHighlightLocation | OoxmlPptxHighlightLocation | OoxmlXlsxHighlightLocation;
125
+ export type OoxmlHighlightLocation = OoxmlDocxHighlightLocation | OoxmlPptxHighlightLocation | OoxmlDocxTableRowLocation | OoxmlPptxTableRowLocation | OoxmlXlsxHighlightLocation;
106
126
  /** One citation's highlight: the locations it resolved to, under a stable id. */
107
127
  export interface OoxmlHighlight {
108
128
  /** Stable id, used to mark exactly one highlight selected. */
@@ -167,6 +187,21 @@ export interface VisualizerCanvasContent {
167
187
  /** Milliseconds to wait for a `send()` request's response before rejecting. From the registry entry; does NOT bound the handshake. */
168
188
  requestTimeout?: number;
169
189
  }
190
+ /** Content payload for an application-scoped grouped visualizer: every attachment a message's visualizer claims, rendered together inside one sandboxed iframe. */
191
+ export interface GroupedVisualizerCanvasContent {
192
+ /** Discriminates the content type to select the correct renderer. */
193
+ type: AttachmentContentType.GroupedVisualizer;
194
+ /** Iframe `src`, resolved from the matching registry entry's `url`. */
195
+ url: string;
196
+ /** One item per claimed attachment, in the message's attachment order. Each `url` is absolute, resolved by the host. */
197
+ attachments: GroupedAttachmentItem[];
198
+ /** Presentation layout hints (`themeId`, `width`, `height`, `mobileHeight`) shared by every item. */
199
+ layout: CustomVisualizerDataLayout;
200
+ /** postMessage protocol namespace — MUST equal the registry entry's `title`, or the iframe never receives data. */
201
+ visualizerName: string;
202
+ /** Milliseconds to wait for a `send()` request's response before rejecting. From the registry entry; does NOT bound the handshake. */
203
+ requestTimeout?: number;
204
+ }
170
205
  /** Display mode an MCP App can ask the host to switch to via `ui/request-display-mode` — the MCP UI protocol's `inline`/`fullscreen`/`pip` union. */
171
206
  export type McpAppDisplayMode = NonNullable<McpUiHostContext['displayMode']>;
172
207
  /** Content payload for an MCP App's `ui://` resource, rendered in a sandboxed iframe via an isolated-origin sandbox proxy. */
@@ -183,6 +218,8 @@ export interface McpAppCanvasContent {
183
218
  toolResult?: CallToolResult;
184
219
  /** UI context delivered to the View during the `ui/initialize` handshake; built by the app layer from the active theme, locale, and CSS design tokens. */
185
220
  hostContext?: McpUiHostContext;
221
+ /** Host identity (`name`/`version`) delivered during the `ui/initialize` handshake. Defaults to a generic `'MCP-UI Host'` identity when omitted. */
222
+ hostInfo?: Implementation;
186
223
  /** Forwards a `tools/call` request issued by the mounted app to the owning MCP session via the app layer. */
187
224
  onToolCall: (name: string, args: unknown) => Promise<CallToolResult>;
188
225
  /** Handles the mounted app's `ui/open-link` request. Return `false` when the URL must not be opened — the app then receives an error result. When omitted, the renderer itself opens http(s) URLs in a new browser tab (other schemes are rejected). */
@@ -211,7 +248,7 @@ export interface ErrorCanvasContent {
211
248
  label?: string;
212
249
  }
213
250
  /** The content payload passed to AttachmentCanvas. */
214
- export type AttachmentCanvasContent = PlainTextCanvasContent | ImageCanvasContent | AudioCanvasContent | MarkdownCanvasContent | MarkdownTableCanvasContent | JsonCanvasContent | PdfCanvasContent | OoxmlCanvasContent | CodeCanvasContent | HtmlCanvasContent | VisualizerCanvasContent | McpAppCanvasContent | UnsupportedCanvasContent | ErrorCanvasContent;
251
+ export type AttachmentCanvasContent = PlainTextCanvasContent | ImageCanvasContent | AudioCanvasContent | MarkdownCanvasContent | MarkdownTableCanvasContent | JsonCanvasContent | PdfCanvasContent | OoxmlCanvasContent | CodeCanvasContent | HtmlCanvasContent | VisualizerCanvasContent | GroupedVisualizerCanvasContent | McpAppCanvasContent | UnsupportedCanvasContent | ErrorCanvasContent;
215
252
  /** Themeable color overrides for the AttachmentCanvas content body. */
216
253
  export interface AttachmentCanvasColors {
217
254
  /** Primary text color for the content body. */
@@ -260,6 +297,10 @@ export interface AttachmentCanvasColors {
260
297
  jsonCollapsedText?: string;
261
298
  /** Background color of the collapsed-content ellipsis. Defaults to `--bg-layer-raised`. */
262
299
  jsonCollapsedBackground?: string;
300
+ /** Divider color between the file name and the MCP App name in the panel title. Defaults to `--text-secondary`. */
301
+ mcpAppDividerColor?: string;
302
+ /** MCP App version text color in the panel title. Defaults to `--text-secondary`. */
303
+ mcpAppVersionColor?: string;
263
304
  }
264
305
  /** Themeable typography overrides for the AttachmentCanvas plain-text content body. */
265
306
  export interface AttachmentCanvasTypography {
@@ -282,6 +323,8 @@ export interface AttachmentCanvasTypography {
282
323
  jsonClassName?: string;
283
324
  /** CSS utility class applied to the decorative XLSX `fx` label. Defaults to `'dial-italic-text'`. */
284
325
  xlsxFormulaLabelClassName?: string;
326
+ /** CSS utility class applied to the MCP App version text in the panel title. Defaults to `'dial-caption-text'`. */
327
+ mcpAppVersionClassName?: string;
285
328
  }
286
329
  /** Style override prop for `AttachmentCanvasBody`'s content-rendering area. */
287
330
  export interface AttachmentCanvasBodyStyles {
@@ -366,12 +409,8 @@ export interface AttachmentCanvasLabels {
366
409
  codeContentErrorLabel?: string;
367
410
  /** Label and accessible name for the retry control shown alongside `codeContentErrorLabel`. Defaults to `'Retry'`. */
368
411
  codeContentRetryLabel?: string;
369
- /** Label for copying a Markdown table as CSV. */
370
- tableCopyCsvLabel?: string;
371
- /** Label for copying a Markdown table as text. */
372
- tableCopyTxtLabel?: string;
373
- /** Label for copying a Markdown table as Markdown. */
374
- tableCopyMarkdownLabel?: string;
412
+ /** Label for the copy action on a Markdown table (copies as Markdown format). */
413
+ tableCopyLabel?: string;
375
414
  /** Status announced after a Markdown table has been copied. */
376
415
  tableCopiedLabel?: string;
377
416
  /** Label for downloading a Markdown table as CSV. */
@@ -439,7 +478,7 @@ export interface AttachmentCanvasProps {
439
478
  configurePdfWorker?: () => void | Promise<void>;
440
479
  }
441
480
  /** User-visible strings for `AttachmentCanvasBody`'s content states. */
442
- export type AttachmentCanvasBodyLabels = Pick<AttachmentCanvasLabels, 'unsupportedLabel' | 'loadErrorLabel' | 'forbiddenErrorLabel' | 'visualizerErrorLabel' | 'htmlFrameBlockedLabel' | 'htmlOpenInNewTabLabel' | 'pdfThumbnailsLabel' | 'pdfShowThumbnailsLabel' | 'pdfHideThumbnailsLabel' | 'pdfPageNumberLabel' | 'pdfContentLoadingLabel' | 'pdfContentErrorLabel' | 'pdfContentRetryLabel' | 'xlsxFormulaLabel' | 'codeContentLoadingLabel' | 'codeContentErrorLabel' | 'codeContentRetryLabel' | 'tableCopyCsvLabel' | 'tableCopyTxtLabel' | 'tableCopyMarkdownLabel' | 'tableCopiedLabel' | 'tableDownloadCsvLabel' | 'ooxmlHighlightsLabel' | 'ooxmlHighlightNavigatedLabel'>;
481
+ export type AttachmentCanvasBodyLabels = Pick<AttachmentCanvasLabels, 'unsupportedLabel' | 'loadErrorLabel' | 'forbiddenErrorLabel' | 'visualizerErrorLabel' | 'htmlFrameBlockedLabel' | 'htmlOpenInNewTabLabel' | 'pdfThumbnailsLabel' | 'pdfShowThumbnailsLabel' | 'pdfHideThumbnailsLabel' | 'pdfPageNumberLabel' | 'pdfContentLoadingLabel' | 'pdfContentErrorLabel' | 'pdfContentRetryLabel' | 'xlsxFormulaLabel' | 'codeContentLoadingLabel' | 'codeContentErrorLabel' | 'codeContentRetryLabel' | 'tableCopyLabel' | 'tableCopiedLabel' | 'tableDownloadCsvLabel' | 'ooxmlHighlightsLabel' | 'ooxmlHighlightNavigatedLabel'>;
443
482
  /** Props for the `AttachmentCanvasBody` component. */
444
483
  export interface AttachmentCanvasBodyProps {
445
484
  /** The attachment content to render. */
@@ -463,6 +502,8 @@ export interface AttachmentCanvasBodyProps {
463
502
  codeBlockTheme?: CodeBlockTheme;
464
503
  /** Filename used when downloading a `MarkdownTable`'s content as CSV. Defaults to `'table.csv'`. Only relevant when content type is `MarkdownTable`. */
465
504
  tableDownloadFilename?: string;
505
+ /** Called once a mounted `McpApp` completes its `ui/initialize` handshake, with its declared name/version. Only relevant when content type is `McpApp`; omitted when the app didn't declare an `appInfo`. */
506
+ onAppInfo?: (appInfo: Implementation) => void;
466
507
  /**
467
508
  * Fetches a PDF file by URL and returns its bytes as a `Blob`. Used when
468
509
  * content type is `Pdf` to load the file before rendering. Defaults to a
@@ -1 +1 @@
1
- {"version":3,"file":"attachment-canvas.d.ts","sourceRoot":"","sources":["../../src/models/attachment-canvas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attachment-canvas.d.ts","sourceRoot":"","sources":["../../src/models/attachment-canvas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,459 @@
1
+ import { a as e, i as t } from "./attachment-canvas-BgwyzrRC.js";
2
+ //#region src/utils/ooxml-highlight-geometry.ts
3
+ var n = 4 / 3, r = 9525, i = 2, a = 1, o = 0, s = 16, c = .25, l = () => {
4
+ let e = document.createElement("canvas").getContext("2d");
5
+ if (e != null) return (t, n) => (e.font !== t && (e.font = t), e.measureText(n).width);
6
+ }, u = (e, t) => ({
7
+ width: e.widthPt * n * t,
8
+ height: e.heightPt * n * t
9
+ }), d = (e, t, n) => ({
10
+ width: e / r * n,
11
+ height: t / r * n
12
+ }), f = ({ index: e, sizeAt: t, hostClientWidth: n, layout: r }) => {
13
+ let i = r?.gap ?? s, a = r?.paddingTop ?? i, o = r?.paddingLeft ?? i, c = a + e * i;
14
+ for (let n = 0; n < e; n += 1) c += t(n).height;
15
+ let { width: l } = t(e);
16
+ return {
17
+ left: Math.max(o, (n - l) / 2),
18
+ top: c
19
+ };
20
+ }, p = ({ pageIndex: e, rect: t, sizeAt: n, host: r, layout: i }) => {
21
+ let a = f({
22
+ index: e,
23
+ sizeAt: n,
24
+ hostClientWidth: r.clientWidth,
25
+ layout: i
26
+ }), o = n(e), s = a.top + t.top * o.height, l = Math.min(r.clientHeight * c, s), u = Math.max(0, r.scrollHeight - r.clientHeight), d = Math.min(Math.max(s - l, 0), u), p = a.left + t.left * o.width, m = p + t.width * o.width, h = Math.max(0, r.scrollWidth - r.clientWidth), g = r.scrollLeft;
27
+ return p < r.scrollLeft ? g = p : m > r.scrollLeft + r.clientWidth && (g = m - r.clientWidth), g = Math.min(Math.max(g, 0), h), {
28
+ top: d,
29
+ left: g
30
+ };
31
+ }, m = (e) => {
32
+ let t = [...e].sort((e, t) => e.top - t.top || e.left - t.left), n = [];
33
+ for (let e of t) {
34
+ let t = n.at(-1), r = t != null && Math.abs(t.top - e.top) <= i && Math.abs(t.height - e.height) <= i, o = t != null && e.left <= t.left + t.width + a;
35
+ if (r && o) {
36
+ t.width = Math.max(t.left + t.width, e.left + e.width) - t.left, t.height = Math.max(t.height, e.height);
37
+ continue;
38
+ }
39
+ n.push({ ...e });
40
+ }
41
+ return n;
42
+ }, h = (e, t, n) => Math.min(Math.max(e, t), n), g = (e, t) => e.length === t.length && e.every((e, n) => e === t[n]), _ = (e, t, n) => {
43
+ if (!e) return 1;
44
+ let r = n();
45
+ return !(r > 0) || t >= r ? 1 : t / r;
46
+ }, v = (e, t, n, r, i, a, o, s) => {
47
+ if (o <= a) return null;
48
+ if (a <= 0 && o >= e.length) return {
49
+ left: t.x,
50
+ top: t.y,
51
+ width: t.width,
52
+ height: t.height
53
+ };
54
+ if (s == null) return null;
55
+ let c = (e) => s(n, e), l = a <= 0 ? 0 : c(e.slice(0, a)), u = o >= e.length ? c(e) : c(e.slice(0, o)), d = [...e.slice(0, a)].length, f = [...e.slice(a, o)].length, p = _(i, t.width, () => c(e)), m = (l + d * r) * p, h = (Math.max(0, u - l) + Math.max(0, f - 1) * r) * p;
56
+ return h <= 0 ? null : {
57
+ left: t.x + m,
58
+ top: t.y,
59
+ width: h,
60
+ height: t.height
61
+ };
62
+ }, y = (e, t, n, r, i, a, o) => {
63
+ let s = /* @__PURE__ */ new Map();
64
+ if (!Number.isInteger(n) || !Number.isInteger(r) || n < 0 || r <= n || r > t.length || t.slice(n, r) !== i) return s;
65
+ for (let t of e) {
66
+ if (t.end <= n || t.start >= r || a(t.run)) continue;
67
+ let e = h(n - t.start, 0, t.end - t.start), i = o(t, e, h(r - t.start, e, t.end - t.start));
68
+ if (i == null) continue;
69
+ let c = s.get(t.surfaceIndex);
70
+ if (c == null) {
71
+ s.set(t.surfaceIndex, [i]);
72
+ continue;
73
+ }
74
+ c.push(i);
75
+ }
76
+ for (let [e, t] of s) s.set(e, m(t));
77
+ return s;
78
+ }, b = ({ location: e, pages: t, measure: n }) => {
79
+ let r = [], i = "", a = /* @__PURE__ */ new Map();
80
+ for (let { pageIndex: n, runs: o, pageBox: s } of t) {
81
+ a.set(n, s);
82
+ for (let t of o) {
83
+ if (t.source == null || t.sourceRunIndex == null || t.source.story !== e.story || !g(t.source.path, e.path)) continue;
84
+ let a = t.highlightBounds, o = a == null ? {
85
+ x: t.x,
86
+ y: t.y,
87
+ width: t.w,
88
+ height: t.h
89
+ } : {
90
+ x: a.x,
91
+ y: a.y,
92
+ width: a.width,
93
+ height: a.height
94
+ };
95
+ r.push({
96
+ run: t,
97
+ box: o,
98
+ start: i.length,
99
+ end: i.length + t.text.length,
100
+ surfaceIndex: n
101
+ }), i += t.text;
102
+ }
103
+ }
104
+ return [...y(r, i, e.start, e.endExclusive, e.text, (e) => e.transform != null, ({ run: e, box: t }, r, i) => v(e.text, t, e.font, e.letterSpacingPx ?? 0, e.eastAsianVert === !0, r, i, n))].sort(([e], [t]) => e - t).map(([e, t]) => {
105
+ let n = a.get(e);
106
+ return n == null || n.width <= 0 || n.height <= 0 ? {
107
+ pageIndex: e,
108
+ rects: []
109
+ } : {
110
+ pageIndex: e,
111
+ rects: t.map((e) => ({
112
+ left: e.left / n.width,
113
+ top: e.top / n.height,
114
+ width: e.width / n.width,
115
+ height: e.height / n.height
116
+ }))
117
+ };
118
+ });
119
+ }, x = (e) => e.rotation !== 0 || (e.textBodyRotation ?? 0) !== 0 || e.shapeFlipH === !0 || e.shapeFlipV === !0, S = ({ location: e, runs: t, measure: n }) => {
120
+ let r = [], i = "";
121
+ for (let n of t) n.shapeId != null && String(n.shapeId) === e.shapeId && (n.origin === "master" || n.origin === "layout" || (r.push({
122
+ run: n,
123
+ box: {
124
+ x: n.shapeX + n.inShapeX,
125
+ y: n.shapeY + n.inShapeY,
126
+ width: n.w,
127
+ height: n.h
128
+ },
129
+ start: i.length,
130
+ end: i.length + n.text.length,
131
+ surfaceIndex: o
132
+ }), i += n.text));
133
+ return y(r, i, e.start, e.endExclusive, e.text, x, ({ run: e, box: t }, r, i) => v(e.text, t, e.font, 0, !1, r, i, n)).get(o) ?? [];
134
+ }, C = (e, t) => {
135
+ let n = t.indexOf(e);
136
+ return n === -1 ? null : n;
137
+ }, w = ({ row: e, col: t }) => {
138
+ let n = "", r = t;
139
+ for (; r > 0;) {
140
+ let e = (r - 1) % 26;
141
+ n = String.fromCharCode(65 + e) + n, r = Math.floor((r - 1) / 26);
142
+ }
143
+ return `${n}${e}`;
144
+ }, T = ({ location: e, getCellViewportRect: t, viewportWidth: n }) => {
145
+ let { start: r, end: i } = e, a = i == null ? r.col : i.col;
146
+ if (i != null && (i.row !== r.row || i.col < r.col)) return [];
147
+ let o = [];
148
+ for (let e = r.col; e <= a; e += 1) {
149
+ let n = t({
150
+ row: r.row,
151
+ col: e
152
+ });
153
+ n != null && o.push(n);
154
+ }
155
+ if (o.length === 0) return [];
156
+ let s = m(o);
157
+ if (n == null || s.length !== 1) return s;
158
+ let [c] = s, l = Math.min(c.width, n - c.left);
159
+ return l >= c.width ? s : [{
160
+ ...c,
161
+ width: Math.max(0, l),
162
+ isClippedAtEnd: !0
163
+ }];
164
+ }, E = (e) => e.replace(/\s+/g, " ").trim(), D = (e, t, n) => t.length > 1 && t.some((e) => E(e) !== "") && [...e.keys()].every((e) => e >= 0 && e < t.length) && t.every((t, r) => E(n(e.get(r) ?? [])) === E(t)), O = (e, t, n, r) => {
165
+ let i = e.get(t);
166
+ i ?? (i = /* @__PURE__ */ new Map(), e.set(t, i));
167
+ let a = i.get(n);
168
+ a == null ? i.set(n, [r]) : a.push(r);
169
+ }, k = (e) => {
170
+ let t = "", n;
171
+ for (let r of e) n != null && (r.pageIndex !== n.pageIndex || r.run.y !== n.run.y || r.run.source?.path.at(-1) !== n.run.source?.path.at(-1)) && (t += " "), t += r.run.text, n = r;
172
+ return t;
173
+ }, A = (e, n) => {
174
+ if (!Number.isSafeInteger(e.occurrence) || e.occurrence < 1) return [];
175
+ let r = /* @__PURE__ */ new Map();
176
+ for (let { pageIndex: e, runs: t } of n) for (let n of t) {
177
+ let t = n.source;
178
+ if (t?.story !== "body" || n.sourceRunIndex == null || t.path.length < 4 || (t.path.length - 1) % 3 != 0) continue;
179
+ let i = JSON.stringify([t.storyInstance, t.path.slice(0, -2)]), a = t.path.at(-2);
180
+ a != null && O(r, i, a, {
181
+ run: n,
182
+ pageIndex: e
183
+ });
184
+ }
185
+ let i = 0;
186
+ for (let a of r.values()) {
187
+ if (!D(a, e.cells, k) || (i += 1, i !== e.occurrence)) continue;
188
+ let r = /* @__PURE__ */ new Map();
189
+ for (let e of [...a.keys()].sort((e, t) => e - t)) for (let { run: t } of a.get(e) ?? []) {
190
+ let e = JSON.stringify(t.source?.path), n = r.get(e);
191
+ n == null ? r.set(e, [t]) : n.push(t);
192
+ }
193
+ let o = /* @__PURE__ */ new Map();
194
+ for (let e of r.values()) {
195
+ let r = e[0].source;
196
+ if (r == null) continue;
197
+ let i = e.map((e) => e.text).join(""), a = new Set(e);
198
+ for (let e of b({
199
+ location: {
200
+ kind: t.DocxTextRange,
201
+ story: r.story,
202
+ path: [...r.path],
203
+ start: 0,
204
+ endExclusive: i.length,
205
+ text: i
206
+ },
207
+ pages: n.map((e) => ({
208
+ ...e,
209
+ runs: e.runs.filter((e) => a.has(e))
210
+ }))
211
+ })) {
212
+ let t = o.get(e.pageIndex);
213
+ t == null ? o.set(e.pageIndex, e) : t.rects.push(...e.rects);
214
+ }
215
+ }
216
+ return [...o.values()].sort((e, t) => e.pageIndex - t.pageIndex);
217
+ }
218
+ return [];
219
+ }, j = (e) => {
220
+ let t = "", n;
221
+ for (let r of e) n != null && r.inShapeY !== n.inShapeY && (t += " "), t += r.text, n = r;
222
+ return t;
223
+ }, M = (e, n) => {
224
+ if (!Number.isSafeInteger(e.occurrence) || e.occurrence < 1) return [];
225
+ let r = /* @__PURE__ */ new Map();
226
+ for (let e of n) e.tableCell == null || e.shapeId == null || e.origin === "master" || e.origin === "layout" || O(r, JSON.stringify([
227
+ e.elementIndex,
228
+ e.shapeId,
229
+ e.tableCell.row
230
+ ]), e.tableCell.column, e);
231
+ let i = 0;
232
+ for (let n of r.values()) if (D(n, e.cells, j) && (i += 1, i === e.occurrence)) return [...n.values()].flatMap((n) => {
233
+ let r = n.map((e) => e.text).join("");
234
+ return S({
235
+ location: {
236
+ kind: t.PptxTextRange,
237
+ slide: e.slide,
238
+ shapeId: String(n[0].shapeId),
239
+ start: 0,
240
+ endExclusive: r.length,
241
+ text: r
242
+ },
243
+ runs: n
244
+ });
245
+ });
246
+ return [];
247
+ }, N = (e) => {
248
+ for (let t of e.querySelectorAll("div")) if (t.style.overflow === "auto") return t;
249
+ return null;
250
+ }, P = (e) => {
251
+ let t = e.querySelector("canvas");
252
+ if (t == null) return {
253
+ left: 0,
254
+ top: 0
255
+ };
256
+ let n = t.getBoundingClientRect(), r = e.getBoundingClientRect();
257
+ return {
258
+ left: n.left - r.left,
259
+ top: n.top - r.top
260
+ };
261
+ }, F = (e, t) => {
262
+ let n = Math.min(e.length, t.length);
263
+ for (let r = 0; r < n; r += 1) if (e[r] !== t[r]) return e[r] - t[r];
264
+ return e.length - t.length;
265
+ }, I = (n, r, i, a) => {
266
+ let o = l(), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Map(), d = 0, m = (e) => u(r.pageSize(e), i.getScale()), h = (e) => u(r.pageSize(e), 1), g = async (e) => {
267
+ let t = s.get(e);
268
+ if (t != null) return t;
269
+ let n = await r.collectPageRuns(e, { width: h(e).width });
270
+ return a() ? [] : (s.set(e, n), n);
271
+ }, _ = async (e, t = a) => {
272
+ let n = [];
273
+ for (let i = 0; i < r.pageCount; i += 1) {
274
+ let r = await g(i);
275
+ if (t()) return [];
276
+ let a = r.filter((t) => t.source != null && t.source.story === e.story);
277
+ if (a.some((t) => t.source != null && F(t.source.path, e.path) === 0)) {
278
+ n.push({
279
+ pageIndex: i,
280
+ runs: r,
281
+ pageBox: h(i)
282
+ });
283
+ continue;
284
+ }
285
+ let o = a.length > 0 && a.every((t) => t.source != null && F(t.source.path, e.path) > 0);
286
+ if (n.length > 0 || o) break;
287
+ }
288
+ return n;
289
+ }, v = async (e, n = a) => {
290
+ if (e.kind === t.DocxTextRange) {
291
+ let t = await _(e, n);
292
+ return {
293
+ firstPageIndex: t.at(0)?.pageIndex,
294
+ pageRects: b({
295
+ location: e,
296
+ pages: t,
297
+ measure: o
298
+ })
299
+ };
300
+ }
301
+ let i = JSON.stringify([e.cells, e.occurrence]), s = c.get(i);
302
+ if (s == null) {
303
+ try {
304
+ await r.waitUntilLayoutComplete();
305
+ } catch {
306
+ return { pageRects: [] };
307
+ }
308
+ if (n()) return { pageRects: [] };
309
+ let t = [];
310
+ for (let e = 0; e < r.pageCount; e += 1) {
311
+ let r = await g(e);
312
+ if (n()) return { pageRects: [] };
313
+ t.push({
314
+ pageIndex: e,
315
+ runs: r,
316
+ pageBox: h(e)
317
+ });
318
+ }
319
+ s = A(e, t), c.set(i, s);
320
+ }
321
+ return {
322
+ firstPageIndex: s.at(0)?.pageIndex,
323
+ pageRects: s
324
+ };
325
+ };
326
+ return {
327
+ measure: async (e) => {
328
+ let r = N(n);
329
+ if (r == null) return [];
330
+ let i = [];
331
+ for (let n of e) for (let e of n.locations) {
332
+ if (e.kind !== t.DocxTextRange && e.kind !== t.DocxTableRow) continue;
333
+ let o = await v(e);
334
+ if (a()) return [];
335
+ for (let { pageIndex: e, rects: t } of o.pageRects) {
336
+ let a = f({
337
+ index: e,
338
+ sizeAt: m,
339
+ hostClientWidth: r.clientWidth
340
+ }), o = m(e);
341
+ for (let e of t) i.push({
342
+ left: a.left + e.left * o.width - r.scrollLeft,
343
+ top: a.top + e.top * o.height - r.scrollTop,
344
+ width: e.width * o.width,
345
+ height: e.height * o.height,
346
+ highlightId: n.id
347
+ });
348
+ }
349
+ }
350
+ return i;
351
+ },
352
+ navigate: async (o) => {
353
+ if (o.kind !== t.DocxTextRange && o.kind !== t.DocxTableRow) return e.Unresolved;
354
+ d += 1;
355
+ let s = d, c = () => a() || s !== d;
356
+ try {
357
+ await r.waitUntilLayoutComplete();
358
+ } catch {
359
+ return e.Unresolved;
360
+ }
361
+ if (c()) return e.Superseded;
362
+ let { firstPageIndex: l, pageRects: u } = await v(o, c);
363
+ if (c()) return e.Superseded;
364
+ if (l == null) return e.Unresolved;
365
+ let f = N(n);
366
+ if (f == null) return e.Unresolved;
367
+ let h = u.find((e) => e.pageIndex === l)?.rects.at(0);
368
+ if (h == null) return i.scrollToPage(l), e.Navigated;
369
+ let g = p({
370
+ pageIndex: l,
371
+ rect: h,
372
+ sizeAt: m,
373
+ host: {
374
+ clientWidth: f.clientWidth,
375
+ clientHeight: f.clientHeight,
376
+ scrollWidth: f.scrollWidth,
377
+ scrollHeight: f.scrollHeight,
378
+ scrollLeft: f.scrollLeft
379
+ }
380
+ });
381
+ return typeof f.scrollTo == "function" ? f.scrollTo({
382
+ top: g.top,
383
+ left: g.left,
384
+ behavior: "auto"
385
+ }) : (f.scrollTop = g.top, f.scrollLeft = g.left), e.Navigated;
386
+ }
387
+ };
388
+ }, L = (n, r, i, a) => {
389
+ let o = l(), s = () => d(r.slideWidth, r.slideHeight, i.getScale()), c = (e) => e < 1 || e > r.slideCount ? null : e - 1;
390
+ return {
391
+ measure: async (e) => {
392
+ let i = N(n);
393
+ if (i == null) return [];
394
+ let l = [];
395
+ for (let n of e) for (let e of n.locations) {
396
+ if (e.kind !== t.PptxTextRange && e.kind !== t.PptxTableRow) continue;
397
+ let u = c(e.slide);
398
+ if (u == null) continue;
399
+ let d = await r.collectSlideRuns(u, s().width);
400
+ if (a()) return [];
401
+ let p = f({
402
+ index: u,
403
+ sizeAt: s,
404
+ hostClientWidth: i.clientWidth
405
+ }), m = e.kind === t.PptxTableRow ? M(e, d) : S({
406
+ location: e,
407
+ runs: d,
408
+ measure: o
409
+ });
410
+ for (let e of m) l.push({
411
+ ...e,
412
+ left: p.left + e.left - i.scrollLeft,
413
+ top: p.top + e.top - i.scrollTop,
414
+ highlightId: n.id
415
+ });
416
+ }
417
+ return l;
418
+ },
419
+ navigate: async (n) => {
420
+ if (n.kind !== t.PptxTextRange && n.kind !== t.PptxTableRow) return e.Unresolved;
421
+ let r = c(n.slide);
422
+ return r == null ? e.Unresolved : (i.scrollToSlide(r), e.Navigated);
423
+ }
424
+ };
425
+ }, R = (n, r, i) => ({
426
+ measure: async (e) => {
427
+ let i = P(n), a = n.clientWidth - i.left, o = [];
428
+ for (let n of e) for (let e of n.locations) {
429
+ if (e.kind !== t.XlsxCellRange) continue;
430
+ let s = C(e.sheet, r.sheetNames);
431
+ if (!(s == null || s !== r.sheetIndex)) for (let t of T({
432
+ location: e,
433
+ getCellViewportRect: (e) => {
434
+ let t = r.getCellViewportRect(e);
435
+ return t == null ? null : {
436
+ left: t.x,
437
+ top: t.y,
438
+ width: t.width,
439
+ height: t.height
440
+ };
441
+ },
442
+ viewportWidth: a
443
+ })) o.push({
444
+ ...t,
445
+ left: i.left + t.left,
446
+ top: i.top + t.top,
447
+ highlightId: n.id
448
+ });
449
+ }
450
+ return o;
451
+ },
452
+ navigate: async (n) => {
453
+ if (n.kind !== t.XlsxCellRange) return e.Unresolved;
454
+ let a = C(n.sheet, r.sheetNames);
455
+ return a == null ? e.Unresolved : a !== r.sheetIndex && (await r.goToSheet(a), i()) ? e.Superseded : (await r.scrollToCell(w(n.start), { align: "center" }), e.Navigated);
456
+ }
457
+ });
458
+ //#endregion
459
+ export { e as OoxmlNavigationOutcome, I as createDocxHighlightSurface, L as createPptxHighlightSurface, R as createXlsxHighlightSurface };