@epam/ai-dial-attachment-canvas 1.2.0-dev.2 → 1.2.0-dev.201

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 (68) 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 +5 -1
  8. package/components/AttachmentCanvasContainer/AttachmentCanvasContainer.d.ts.map +1 -1
  9. package/components/InlineGroupedVisualizer/InlineGroupedVisualizer.d.ts +40 -0
  10. package/components/InlineGroupedVisualizer/InlineGroupedVisualizer.d.ts.map +1 -0
  11. package/components/McpAppCanvasRenderer/McpAppCanvasRenderer.d.ts +3 -0
  12. package/components/McpAppCanvasRenderer/McpAppCanvasRenderer.d.ts.map +1 -1
  13. package/components/OoxmlContent/OoxmlContent.d.ts.map +1 -1
  14. package/components/PdfContent/PdfContent.d.ts.map +1 -1
  15. package/components/VisualizerCanvasRenderer/VisualizerCanvasRenderer.d.ts +5 -3
  16. package/components/VisualizerCanvasRenderer/VisualizerCanvasRenderer.d.ts.map +1 -1
  17. package/constants/public-class-names.d.ts +11 -0
  18. package/constants/public-class-names.d.ts.map +1 -0
  19. package/context/AttachmentCanvasContext.d.ts.map +1 -1
  20. package/hooks/useMcpAppBridge/useMcpAppBridge.d.ts.map +1 -1
  21. package/hooks/useOpenAttachmentCanvas/useOpenAttachmentCanvas.d.ts +14 -1
  22. package/hooks/useOpenAttachmentCanvas/useOpenAttachmentCanvas.d.ts.map +1 -1
  23. package/index.css +2 -1
  24. package/index.d.ts +7 -3
  25. package/index.d.ts.map +1 -1
  26. package/index.js +814 -691
  27. package/models/attachment-canvas.d.ts +55 -12
  28. package/models/attachment-canvas.d.ts.map +1 -1
  29. package/ooxml-highlight-surfaces-BzgOKpBV.js +459 -0
  30. package/package.json +6 -6
  31. package/test-setup.d.ts +10 -1
  32. package/test-setup.d.ts.map +1 -1
  33. package/types/attachment-canvas.d.ts +23 -1
  34. package/types/attachment-canvas.d.ts.map +1 -1
  35. package/utils/content.d.ts +16 -2
  36. package/utils/content.d.ts.map +1 -1
  37. package/utils/download.d.ts.map +1 -1
  38. package/utils/ooxml-highlight-geometry.d.ts +87 -3
  39. package/utils/ooxml-highlight-geometry.d.ts.map +1 -1
  40. package/utils/ooxml-highlight-surfaces.d.ts +33 -6
  41. package/utils/ooxml-highlight-surfaces.d.ts.map +1 -1
  42. package/utils/ooxml-table-row-highlight.d.ts +8 -0
  43. package/utils/ooxml-table-row-highlight.d.ts.map +1 -0
  44. package/utils/visualizer.d.ts +29 -1
  45. package/utils/visualizer.d.ts.map +1 -1
  46. package/utils/vite-external-matcher.d.ts +5 -5
  47. package/utils/vite-external-matcher.d.ts.map +1 -1
  48. package/bounded-raw-part-cache-BfbSxRIL-DD07NKh9.js +0 -37832
  49. package/chart-ex-B0DgG3Dt.js +0 -1009
  50. package/comment-occurrence-CqejEuts-7SeKCBXk.js +0 -6
  51. package/comment-ui-runtime-DEtgcmj7-B1G7PH4z.js +0 -170
  52. package/comment-ui-runtime-TLHustXJ-DWCXG2mL.js +0 -2
  53. package/comment-ui-runtime-lXwVOgjW-Be4RALsI.js +0 -112
  54. package/comments-CAn2A_Xh-CdgNAj0h.js +0 -282
  55. package/delimited-text-worker-host-DcHj_JZt-DWJmaPag.js +0 -25
  56. package/docx-B9qBTEkj.js +0 -29822
  57. package/line-distribute-IsUGfHXm-DeITjLzJ.js +0 -1234
  58. package/line-metrics-CBbw80Ko-DoOuwYxZ.js +0 -60
  59. package/ooxml-highlight-surfaces-DhK1KJcR.js +0 -294
  60. package/pptx-dkJw0-Vx.js +0 -9179
  61. package/read-only-comment-decoration-BTnWEeo5-BNhbteYc.js +0 -94
  62. package/read-only-comment-margin-plStyGfE-mggNAMB_.js +0 -189
  63. package/render-worker-host-BEfLZvSL-COy91Rd8.js +0 -7
  64. package/render-worker-host-Ba6Fchqr-DZeKpMWD.js +0 -7
  65. package/render-worker-host-C3xwtHnv-BBGHFdo9.js +0 -7
  66. package/renderer-module-contract-Cu-GKuPd-Bt0YZuzB.js +0 -10063
  67. package/visible-index-DPoQYSDt-9lRc-2Ik.js +0 -162
  68. package/xlsx-BAXMTJTG.js +0 -8585
@@ -1,9 +1,9 @@
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';
6
- import { CSSProperties } from 'react';
5
+ import { CallToolResult, Implementation } from '@modelcontextprotocol/sdk/types.js';
6
+ import { CSSProperties, ReactNode } from 'react';
7
7
  import { AttachmentContentType, AttachmentErrorType, OoxmlFileType, OoxmlHighlightKind } from '../types/attachment-canvas';
8
8
  /** Content payload for plain-text attachments. */
9
9
  export interface PlainTextCanvasContent {
@@ -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. */
@@ -393,6 +432,8 @@ export interface AttachmentCanvasProps {
393
432
  content: AttachmentCanvasContent;
394
433
  /** File name displayed as the panel title. */
395
434
  fileName?: string;
435
+ /** Host-supplied controls rendered in the header before the title. */
436
+ leftActions?: ReactNode;
396
437
  /** User-visible strings. */
397
438
  labels: AttachmentCanvasLabels;
398
439
  /** Called when the user activates the download button. When omitted the download button is hidden. Hidden automatically when content type is `Unsupported`. */
@@ -439,7 +480,7 @@ export interface AttachmentCanvasProps {
439
480
  configurePdfWorker?: () => void | Promise<void>;
440
481
  }
441
482
  /** 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'>;
483
+ 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
484
  /** Props for the `AttachmentCanvasBody` component. */
444
485
  export interface AttachmentCanvasBodyProps {
445
486
  /** The attachment content to render. */
@@ -463,6 +504,8 @@ export interface AttachmentCanvasBodyProps {
463
504
  codeBlockTheme?: CodeBlockTheme;
464
505
  /** Filename used when downloading a `MarkdownTable`'s content as CSV. Defaults to `'table.csv'`. Only relevant when content type is `MarkdownTable`. */
465
506
  tableDownloadFilename?: string;
507
+ /** 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`. */
508
+ onAppInfo?: (appInfo: Implementation) => void;
466
509
  /**
467
510
  * Fetches a PDF file by URL and returns its bytes as a `Blob`. Used when
468
511
  * 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 };