@epam/ai-dial-attachment-canvas 1.2.0-dev.21 → 1.2.0-dev.217

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 (34) hide show
  1. package/{LazyContentBoundary-CRXN6PG3.js → LazyContentBoundary-tNE1ExbI.js} +2 -1
  2. package/{PdfContent-D71LPAe3.js → PdfContent-BoAtghsO.js} +1 -1
  3. package/{attachment-canvas-nvhW3tKV.js → attachment-canvas-BgwyzrRC.js} +2 -2
  4. package/components/AttachmentCanvas/AttachmentCanvas.d.ts.map +1 -1
  5. package/components/AttachmentCanvasBody/AttachmentCanvasBody.d.ts.map +1 -1
  6. package/components/AttachmentCanvasContainer/AttachmentCanvasContainer.d.ts +5 -1
  7. package/components/AttachmentCanvasContainer/AttachmentCanvasContainer.d.ts.map +1 -1
  8. package/components/HtmlContent/HtmlContent.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/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/hooks/useMcpAppBridge/useMcpAppBridge.d.ts.map +1 -1
  19. package/index.css +2 -1
  20. package/index.d.ts +6 -2
  21. package/index.d.ts.map +1 -1
  22. package/index.js +646 -501
  23. package/models/attachment-canvas.d.ts +61 -14
  24. package/models/attachment-canvas.d.ts.map +1 -1
  25. package/{ooxml-highlight-surfaces-CaMjx8u-.js → ooxml-highlight-surfaces-BzgOKpBV.js} +182 -74
  26. package/package.json +5 -5
  27. package/types/attachment-canvas.d.ts +5 -0
  28. package/types/attachment-canvas.d.ts.map +1 -1
  29. package/utils/download.d.ts.map +1 -1
  30. package/utils/ooxml-highlight-surfaces.d.ts.map +1 -1
  31. package/utils/ooxml-table-row-highlight.d.ts +8 -0
  32. package/utils/ooxml-table-row-highlight.d.ts.map +1 -0
  33. package/utils/visualizer.d.ts +29 -1
  34. package/utils/visualizer.d.ts.map +1 -1
@@ -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. */
@@ -145,10 +165,14 @@ export interface CodeCanvasContent {
145
165
  export interface HtmlCanvasContent {
146
166
  /** Discriminates the content type to select the correct renderer. */
147
167
  type: AttachmentContentType.Html;
148
- /** Full HTML text rendered via `srcdoc` in a sandboxed iframe. Used for file attachments. */
168
+ /** Full HTML text rendered via `srcdoc` in a sandboxed iframe. Populated only when no `url` is available (local, non-downloadable file attachments); when `url` is set, "View source" instead calls `resolveSourceText`. */
149
169
  srcdoc?: string;
150
- /** External URL rendered via `src` in a sandboxed iframe. Used for external link sources. */
170
+ /** URL rendered via `src` in a sandboxed iframe when `srcdoc` is absent, or in preference to `srcdoc` when `isSameOriginUrl` is set. Also used as the download-button/"Open in new tab" target. */
151
171
  url?: string;
172
+ /** True when `url`'s origin matches the embedding document's own origin. Forces the iframe sandbox to omit `allow-same-origin` — granting it would let a same-origin framed document reach this page's own cookies/storage — and makes `src` take precedence over `srcdoc`; also skips the `contentDocument` block-detection check, since the iframe is intentionally opaque-origin either way. */
173
+ isSameOriginUrl?: boolean;
174
+ /** Lazily fetches the full HTML source text for the "View source" toggle. Used instead of an eagerly-populated `srcdoc` when `url` is set; absent when `srcdoc` is already populated. */
175
+ resolveSourceText?: () => Promise<string>;
152
176
  }
153
177
  /** Content payload for a custom-visualizer attachment rendered inside a sandboxed iframe. */
154
178
  export interface VisualizerCanvasContent {
@@ -167,6 +191,21 @@ export interface VisualizerCanvasContent {
167
191
  /** Milliseconds to wait for a `send()` request's response before rejecting. From the registry entry; does NOT bound the handshake. */
168
192
  requestTimeout?: number;
169
193
  }
194
+ /** Content payload for an application-scoped grouped visualizer: every attachment a message's visualizer claims, rendered together inside one sandboxed iframe. */
195
+ export interface GroupedVisualizerCanvasContent {
196
+ /** Discriminates the content type to select the correct renderer. */
197
+ type: AttachmentContentType.GroupedVisualizer;
198
+ /** Iframe `src`, resolved from the matching registry entry's `url`. */
199
+ url: string;
200
+ /** One item per claimed attachment, in the message's attachment order. Each `url` is absolute, resolved by the host. */
201
+ attachments: GroupedAttachmentItem[];
202
+ /** Presentation layout hints (`themeId`, `width`, `height`, `mobileHeight`) shared by every item. */
203
+ layout: CustomVisualizerDataLayout;
204
+ /** postMessage protocol namespace — MUST equal the registry entry's `title`, or the iframe never receives data. */
205
+ visualizerName: string;
206
+ /** Milliseconds to wait for a `send()` request's response before rejecting. From the registry entry; does NOT bound the handshake. */
207
+ requestTimeout?: number;
208
+ }
170
209
  /** 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
210
  export type McpAppDisplayMode = NonNullable<McpUiHostContext['displayMode']>;
172
211
  /** Content payload for an MCP App's `ui://` resource, rendered in a sandboxed iframe via an isolated-origin sandbox proxy. */
@@ -183,6 +222,8 @@ export interface McpAppCanvasContent {
183
222
  toolResult?: CallToolResult;
184
223
  /** 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
224
  hostContext?: McpUiHostContext;
225
+ /** Host identity (`name`/`version`) delivered during the `ui/initialize` handshake. Defaults to a generic `'MCP-UI Host'` identity when omitted. */
226
+ hostInfo?: Implementation;
186
227
  /** Forwards a `tools/call` request issued by the mounted app to the owning MCP session via the app layer. */
187
228
  onToolCall: (name: string, args: unknown) => Promise<CallToolResult>;
188
229
  /** 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 +252,7 @@ export interface ErrorCanvasContent {
211
252
  label?: string;
212
253
  }
213
254
  /** The content payload passed to AttachmentCanvas. */
214
- export type AttachmentCanvasContent = PlainTextCanvasContent | ImageCanvasContent | AudioCanvasContent | MarkdownCanvasContent | MarkdownTableCanvasContent | JsonCanvasContent | PdfCanvasContent | OoxmlCanvasContent | CodeCanvasContent | HtmlCanvasContent | VisualizerCanvasContent | McpAppCanvasContent | UnsupportedCanvasContent | ErrorCanvasContent;
255
+ export type AttachmentCanvasContent = PlainTextCanvasContent | ImageCanvasContent | AudioCanvasContent | MarkdownCanvasContent | MarkdownTableCanvasContent | JsonCanvasContent | PdfCanvasContent | OoxmlCanvasContent | CodeCanvasContent | HtmlCanvasContent | VisualizerCanvasContent | GroupedVisualizerCanvasContent | McpAppCanvasContent | UnsupportedCanvasContent | ErrorCanvasContent;
215
256
  /** Themeable color overrides for the AttachmentCanvas content body. */
216
257
  export interface AttachmentCanvasColors {
217
258
  /** Primary text color for the content body. */
@@ -260,6 +301,10 @@ export interface AttachmentCanvasColors {
260
301
  jsonCollapsedText?: string;
261
302
  /** Background color of the collapsed-content ellipsis. Defaults to `--bg-layer-raised`. */
262
303
  jsonCollapsedBackground?: string;
304
+ /** Divider color between the file name and the MCP App name in the panel title. Defaults to `--text-secondary`. */
305
+ mcpAppDividerColor?: string;
306
+ /** MCP App version text color in the panel title. Defaults to `--text-secondary`. */
307
+ mcpAppVersionColor?: string;
263
308
  }
264
309
  /** Themeable typography overrides for the AttachmentCanvas plain-text content body. */
265
310
  export interface AttachmentCanvasTypography {
@@ -282,6 +327,8 @@ export interface AttachmentCanvasTypography {
282
327
  jsonClassName?: string;
283
328
  /** CSS utility class applied to the decorative XLSX `fx` label. Defaults to `'dial-italic-text'`. */
284
329
  xlsxFormulaLabelClassName?: string;
330
+ /** CSS utility class applied to the MCP App version text in the panel title. Defaults to `'dial-caption-text'`. */
331
+ mcpAppVersionClassName?: string;
285
332
  }
286
333
  /** Style override prop for `AttachmentCanvasBody`'s content-rendering area. */
287
334
  export interface AttachmentCanvasBodyStyles {
@@ -366,12 +413,8 @@ export interface AttachmentCanvasLabels {
366
413
  codeContentErrorLabel?: string;
367
414
  /** Label and accessible name for the retry control shown alongside `codeContentErrorLabel`. Defaults to `'Retry'`. */
368
415
  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;
416
+ /** Label for the copy action on a Markdown table (copies as Markdown format). */
417
+ tableCopyLabel?: string;
375
418
  /** Status announced after a Markdown table has been copied. */
376
419
  tableCopiedLabel?: string;
377
420
  /** Label for downloading a Markdown table as CSV. */
@@ -393,6 +436,8 @@ export interface AttachmentCanvasProps {
393
436
  content: AttachmentCanvasContent;
394
437
  /** File name displayed as the panel title. */
395
438
  fileName?: string;
439
+ /** Host-supplied controls rendered in the header before the title. */
440
+ leftActions?: ReactNode;
396
441
  /** User-visible strings. */
397
442
  labels: AttachmentCanvasLabels;
398
443
  /** Called when the user activates the download button. When omitted the download button is hidden. Hidden automatically when content type is `Unsupported`. */
@@ -439,7 +484,7 @@ export interface AttachmentCanvasProps {
439
484
  configurePdfWorker?: () => void | Promise<void>;
440
485
  }
441
486
  /** 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'>;
487
+ 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
488
  /** Props for the `AttachmentCanvasBody` component. */
444
489
  export interface AttachmentCanvasBodyProps {
445
490
  /** The attachment content to render. */
@@ -463,6 +508,8 @@ export interface AttachmentCanvasBodyProps {
463
508
  codeBlockTheme?: CodeBlockTheme;
464
509
  /** Filename used when downloading a `MarkdownTable`'s content as CSV. Defaults to `'table.csv'`. Only relevant when content type is `MarkdownTable`. */
465
510
  tableDownloadFilename?: string;
511
+ /** 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`. */
512
+ onAppInfo?: (appInfo: Implementation) => void;
466
513
  /**
467
514
  * Fetches a PDF file by URL and returns its bytes as a `Blob`. Used when
468
515
  * 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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"}
@@ -1,4 +1,4 @@
1
- import { a as e, i as t } from "./attachment-canvas-nvhW3tKV.js";
1
+ import { a as e, i as t } from "./attachment-canvas-BgwyzrRC.js";
2
2
  //#region src/utils/ooxml-highlight-geometry.ts
3
3
  var n = 4 / 3, r = 9525, i = 2, a = 1, o = 0, s = 16, c = .25, l = () => {
4
4
  let e = document.createElement("canvas").getContext("2d");
@@ -161,10 +161,93 @@ var n = 4 / 3, r = 9525, i = 2, a = 1, o = 0, s = 16, c = .25, l = () => {
161
161
  width: Math.max(0, l),
162
162
  isClippedAtEnd: !0
163
163
  }];
164
- }, E = (e) => {
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) => {
165
248
  for (let t of e.querySelectorAll("div")) if (t.style.overflow === "auto") return t;
166
249
  return null;
167
- }, D = (e) => {
250
+ }, P = (e) => {
168
251
  let t = e.querySelector("canvas");
169
252
  if (t == null) return {
170
253
  left: 0,
@@ -175,117 +258,142 @@ var n = 4 / 3, r = 9525, i = 2, a = 1, o = 0, s = 16, c = .25, l = () => {
175
258
  left: n.left - r.left,
176
259
  top: n.top - r.top
177
260
  };
178
- }, O = (e, t) => {
261
+ }, F = (e, t) => {
179
262
  let n = Math.min(e.length, t.length);
180
263
  for (let r = 0; r < n; r += 1) if (e[r] !== t[r]) return e[r] - t[r];
181
264
  return e.length - t.length;
182
- }, k = (n, r, i, a) => {
183
- let o = l(), s = /* @__PURE__ */ new Map(), c = 0, d = (e) => u(r.pageSize(e), i.getScale()), m = (e) => u(r.pageSize(e), 1), h = async (e) => {
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) => {
184
267
  let t = s.get(e);
185
268
  if (t != null) return t;
186
- let n = await r.collectPageRuns(e, { width: m(e).width });
269
+ let n = await r.collectPageRuns(e, { width: h(e).width });
187
270
  return a() ? [] : (s.set(e, n), n);
188
- }, g = async (e, t = a) => {
271
+ }, _ = async (e, t = a) => {
189
272
  let n = [];
190
273
  for (let i = 0; i < r.pageCount; i += 1) {
191
- let r = await h(i);
274
+ let r = await g(i);
192
275
  if (t()) return [];
193
276
  let a = r.filter((t) => t.source != null && t.source.story === e.story);
194
- if (a.some((t) => t.source != null && O(t.source.path, e.path) === 0)) {
277
+ if (a.some((t) => t.source != null && F(t.source.path, e.path) === 0)) {
195
278
  n.push({
196
279
  pageIndex: i,
197
280
  runs: r,
198
- pageBox: m(i)
281
+ pageBox: h(i)
199
282
  });
200
283
  continue;
201
284
  }
202
- let o = a.length > 0 && a.every((t) => t.source != null && O(t.source.path, e.path) > 0);
285
+ let o = a.length > 0 && a.every((t) => t.source != null && F(t.source.path, e.path) > 0);
203
286
  if (n.length > 0 || o) break;
204
287
  }
205
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
+ };
206
325
  };
207
326
  return {
208
327
  measure: async (e) => {
209
- let r = E(n);
328
+ let r = N(n);
210
329
  if (r == null) return [];
211
330
  let i = [];
212
331
  for (let n of e) for (let e of n.locations) {
213
- if (e.kind !== t.DocxTextRange) continue;
214
- let s = await g(e);
332
+ if (e.kind !== t.DocxTextRange && e.kind !== t.DocxTableRow) continue;
333
+ let o = await v(e);
215
334
  if (a()) return [];
216
- for (let { pageIndex: t, rects: a } of b({
217
- location: e,
218
- pages: s,
219
- measure: o
220
- })) {
221
- let e = f({
222
- index: t,
223
- sizeAt: d,
335
+ for (let { pageIndex: e, rects: t } of o.pageRects) {
336
+ let a = f({
337
+ index: e,
338
+ sizeAt: m,
224
339
  hostClientWidth: r.clientWidth
225
- }), o = d(t);
226
- for (let t of a) i.push({
227
- left: e.left + t.left * o.width - r.scrollLeft,
228
- top: e.top + t.top * o.height - r.scrollTop,
229
- width: t.width * o.width,
230
- height: t.height * o.height,
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,
231
346
  highlightId: n.id
232
347
  });
233
348
  }
234
349
  }
235
350
  return i;
236
351
  },
237
- navigate: async (s) => {
238
- if (s.kind !== t.DocxTextRange) return e.Unresolved;
239
- c += 1;
240
- let l = c, u = () => a() || l !== c;
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;
241
356
  try {
242
357
  await r.waitUntilLayoutComplete();
243
358
  } catch {
244
359
  return e.Unresolved;
245
360
  }
246
- if (u()) return e.Superseded;
247
- let f = await g(s, u);
248
- if (u()) return e.Superseded;
249
- let m = f.at(0);
250
- if (m == null) return e.Unresolved;
251
- let h = E(n);
252
- if (h == null) return e.Unresolved;
253
- let _ = b({
254
- location: s,
255
- pages: f,
256
- measure: o
257
- });
258
- if (u()) return e.Superseded;
259
- let v = _.find((e) => e.pageIndex === m.pageIndex)?.rects.at(0);
260
- if (v == null) return i.scrollToPage(m.pageIndex), e.Navigated;
261
- let y = p({
262
- pageIndex: m.pageIndex,
263
- rect: v,
264
- sizeAt: d,
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,
265
373
  host: {
266
- clientWidth: h.clientWidth,
267
- clientHeight: h.clientHeight,
268
- scrollWidth: h.scrollWidth,
269
- scrollHeight: h.scrollHeight,
270
- scrollLeft: h.scrollLeft
374
+ clientWidth: f.clientWidth,
375
+ clientHeight: f.clientHeight,
376
+ scrollWidth: f.scrollWidth,
377
+ scrollHeight: f.scrollHeight,
378
+ scrollLeft: f.scrollLeft
271
379
  }
272
380
  });
273
- return typeof h.scrollTo == "function" ? h.scrollTo({
274
- top: y.top,
275
- left: y.left,
381
+ return typeof f.scrollTo == "function" ? f.scrollTo({
382
+ top: g.top,
383
+ left: g.left,
276
384
  behavior: "auto"
277
- }) : (h.scrollTop = y.top, h.scrollLeft = y.left), e.Navigated;
385
+ }) : (f.scrollTop = g.top, f.scrollLeft = g.left), e.Navigated;
278
386
  }
279
387
  };
280
- }, A = (n, r, i, a) => {
388
+ }, L = (n, r, i, a) => {
281
389
  let o = l(), s = () => d(r.slideWidth, r.slideHeight, i.getScale()), c = (e) => e < 1 || e > r.slideCount ? null : e - 1;
282
390
  return {
283
391
  measure: async (e) => {
284
- let i = E(n);
392
+ let i = N(n);
285
393
  if (i == null) return [];
286
394
  let l = [];
287
395
  for (let n of e) for (let e of n.locations) {
288
- if (e.kind !== t.PptxTextRange) continue;
396
+ if (e.kind !== t.PptxTextRange && e.kind !== t.PptxTableRow) continue;
289
397
  let u = c(e.slide);
290
398
  if (u == null) continue;
291
399
  let d = await r.collectSlideRuns(u, s().width);
@@ -294,29 +402,29 @@ var n = 4 / 3, r = 9525, i = 2, a = 1, o = 0, s = 16, c = .25, l = () => {
294
402
  index: u,
295
403
  sizeAt: s,
296
404
  hostClientWidth: i.clientWidth
297
- });
298
- for (let t of S({
405
+ }), m = e.kind === t.PptxTableRow ? M(e, d) : S({
299
406
  location: e,
300
407
  runs: d,
301
408
  measure: o
302
- })) l.push({
303
- ...t,
304
- left: p.left + t.left - i.scrollLeft,
305
- top: p.top + t.top - i.scrollTop,
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,
306
414
  highlightId: n.id
307
415
  });
308
416
  }
309
417
  return l;
310
418
  },
311
419
  navigate: async (n) => {
312
- if (n.kind !== t.PptxTextRange) return e.Unresolved;
420
+ if (n.kind !== t.PptxTextRange && n.kind !== t.PptxTableRow) return e.Unresolved;
313
421
  let r = c(n.slide);
314
422
  return r == null ? e.Unresolved : (i.scrollToSlide(r), e.Navigated);
315
423
  }
316
424
  };
317
- }, j = (n, r, i) => ({
425
+ }, R = (n, r, i) => ({
318
426
  measure: async (e) => {
319
- let i = D(n), a = n.clientWidth - i.left, o = [];
427
+ let i = P(n), a = n.clientWidth - i.left, o = [];
320
428
  for (let n of e) for (let e of n.locations) {
321
429
  if (e.kind !== t.XlsxCellRange) continue;
322
430
  let s = C(e.sheet, r.sheetNames);
@@ -348,4 +456,4 @@ var n = 4 / 3, r = 9525, i = 2, a = 1, o = 0, s = 16, c = .25, l = () => {
348
456
  }
349
457
  });
350
458
  //#endregion
351
- export { e as OoxmlNavigationOutcome, k as createDocxHighlightSurface, A as createPptxHighlightSurface, j as createXlsxHighlightSurface };
459
+ export { e as OoxmlNavigationOutcome, I as createDocxHighlightSurface, L as createPptxHighlightSurface, R as createXlsxHighlightSurface };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@epam/ai-dial-attachment-canvas",
3
3
  "description": "Canvas viewer for rendering attachment content — images, PDFs, Office documents, CSV, JSON, markdown, and plain text",
4
- "version": "1.2.0-dev.21",
4
+ "version": "1.2.0-dev.217",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "main": "./index.js",
@@ -21,7 +21,7 @@
21
21
  "@tabler/icons-react": "^3.44.0",
22
22
  "react-json-view-lite": "^2.5.0",
23
23
  "react-syntax-highlighter": "^16.1.1",
24
- "@epam/ai-dial-react-pdf-highlighter": "0.2.0",
24
+ "@epam/ai-dial-react-pdf-highlighter": "0.3.0-dev.1",
25
25
  "@epam/ai-dial-shared": "0.48.0",
26
26
  "@epam/ai-dial-visualizer-connector": "0.48.0",
27
27
  "@epam/pdf-highlighter-kit": "^0.0.19",
@@ -29,11 +29,11 @@
29
29
  "@modelcontextprotocol/sdk": "^1.29.0",
30
30
  "@modelcontextprotocol/ext-apps": "1.7.5",
31
31
  "pdfjs-dist": "^5.4.149",
32
- "@epam/ai-dial-sidebar": "1.2.0-dev.21"
32
+ "@epam/ai-dial-sidebar": "1.2.0-dev.217"
33
33
  },
34
34
  "peerDependencies": {
35
- "@epam/ai-dial-chat-shared": "1.2.0-dev.21",
36
- "@epam/ai-dial-ui-kit": "^0.14.2",
35
+ "@epam/ai-dial-chat-shared": "1.2.0-dev.217",
36
+ "@epam/ai-dial-ui-kit": "^0.15.0-dev.27",
37
37
  "react": "^19.2.8"
38
38
  },
39
39
  "repository": {
@@ -11,6 +11,7 @@ export declare enum AttachmentContentType {
11
11
  Code = "code",
12
12
  Html = "html",
13
13
  Visualizer = "visualizer",
14
+ GroupedVisualizer = "grouped_visualizer",
14
15
  McpApp = "mcp_app",
15
16
  Unsupported = "unsupported",
16
17
  Error = "error"
@@ -28,6 +29,10 @@ export declare enum OoxmlHighlightKind {
28
29
  DocxTextRange = "docxTextRange",
29
30
  /** A character range inside a single PPTX shape on one slide. */
30
31
  PptxTextRange = "pptxTextRange",
32
+ /** A complete DOCX table row identified by its cell text. */
33
+ DocxTableRow = "docxTableRow",
34
+ /** A complete PPTX table row identified by its cell text on one slide. */
35
+ PptxTableRow = "pptxTableRow",
31
36
  /** One cell, or a contiguous same-row cell range, on a named XLSX sheet. */
32
37
  XlsxCellRange = "xlsxCellRange"
33
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"attachment-canvas.d.ts","sourceRoot":"","sources":["../../src/types/attachment-canvas.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,oBAAY,qBAAqB;IAC/B,SAAS,eAAe;IACxB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,aAAa,mBAAmB;IAChC,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,UAAU,eAAe;IACzB,MAAM,YAAY;IAClB,WAAW,gBAAgB;IAC3B,KAAK,UAAU;CAChB;AAED,qFAAqF;AACrF,oBAAY,aAAa;IACvB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,IAAI,SAAS;IACb,GAAG,QAAQ;CACZ;AAED,iGAAiG;AACjG,oBAAY,kBAAkB;IAC5B,2FAA2F;IAC3F,aAAa,kBAAkB;IAC/B,iEAAiE;IACjE,aAAa,kBAAkB;IAC/B,4EAA4E;IAC5E,aAAa,kBAAkB;CAChC;AAED,iEAAiE;AACjE,oBAAY,mBAAmB;IAC7B,8EAA8E;IAC9E,UAAU,gBAAgB;IAC1B,wFAAwF;IACxF,SAAS,cAAc;CACxB;AAED;;;;;;;;GAQG;AACH,oBAAY,sBAAsB;IAChC,2EAA2E;IAC3E,SAAS,cAAc;IACvB,qHAAqH;IACrH,UAAU,eAAe;IACzB,kFAAkF;IAClF,UAAU,eAAe;CAC1B"}
1
+ {"version":3,"file":"attachment-canvas.d.ts","sourceRoot":"","sources":["../../src/types/attachment-canvas.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,oBAAY,qBAAqB;IAC/B,SAAS,eAAe;IACxB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,aAAa,mBAAmB;IAChC,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,UAAU,eAAe;IACzB,iBAAiB,uBAAuB;IACxC,MAAM,YAAY;IAClB,WAAW,gBAAgB;IAC3B,KAAK,UAAU;CAChB;AAED,qFAAqF;AACrF,oBAAY,aAAa;IACvB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,IAAI,SAAS;IACb,GAAG,QAAQ;CACZ;AAED,iGAAiG;AACjG,oBAAY,kBAAkB;IAC5B,2FAA2F;IAC3F,aAAa,kBAAkB;IAC/B,iEAAiE;IACjE,aAAa,kBAAkB;IAC/B,6DAA6D;IAC7D,YAAY,iBAAiB;IAC7B,0EAA0E;IAC1E,YAAY,iBAAiB;IAC7B,4EAA4E;IAC5E,aAAa,kBAAkB;CAChC;AAED,iEAAiE;AACjE,oBAAY,mBAAmB;IAC7B,8EAA8E;IAC9E,UAAU,gBAAgB;IAC1B,wFAAwF;IACxF,SAAS,cAAc;CACxB;AAED;;;;;;;;GAQG;AACH,oBAAY,sBAAsB;IAChC,2EAA2E;IAC3E,SAAS,cAAc;IACvB,qHAAqH;IACrH,UAAU,eAAe;IACzB,kFAAkF;IAClF,UAAU,eAAe;CAC1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../src/utils/download.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAoB3E,kEAAkE;AAClE,eAAO,MAAM,cAAc,GAAI,SAAS,uBAAuB,KAAG,OA6BjE,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,gBAAgB,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,IAAI,CAIhE,CAAC;AAuCF,gEAAgE;AAChE,eAAO,MAAM,yBAAyB,GACpC,SAAS,uBAAuB,EAChC,WAAW,MAAM,KAChB,IA8DF,CAAC"}
1
+ {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../src/utils/download.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAoB3E,kEAAkE;AAClE,eAAO,MAAM,cAAc,GAAI,SAAS,uBAAuB,KAAG,OA8BjE,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,gBAAgB,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,IAAI,CAIhE,CAAC;AAuCF,gEAAgE;AAChE,eAAO,MAAM,yBAAyB,GACpC,SAAS,uBAAuB,EAChC,WAAW,MAAM,KAChB,IA8DF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ooxml-highlight-surfaces.d.ts","sourceRoot":"","sources":["../../src/utils/ooxml-highlight-surfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAEV,cAAc,EACd,sBAAsB,EACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAEL,sBAAsB,EACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAIL,KAAK,kBAAkB,EASxB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAElC;;;;;;GAMG;AACH,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC,8DAA8D;IAC9D,OAAO,CACL,UAAU,EAAE,SAAS,cAAc,EAAE,GACpC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;CAC7E;AAsDD;;;;GAIG;AACH,UAAU,qBAAqB;IAC7B,yGAAyG;IACzG,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,uCAAuC;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,kEAAkE;IAClE,eAAe,CACb,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GACtB,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAC9B,oFAAoF;IACpF,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C;AAED,yEAAyE;AACzE,UAAU,mBAAmB;IAC3B,QAAQ,IAAI,MAAM,CAAC;IACnB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,0EAA0E;AAC1E,eAAO,MAAM,0BAA0B,GACrC,WAAW,WAAW,EACtB,cAAc,qBAAqB,EACnC,QAAQ,mBAAmB,EAC3B,YAAY,MAAM,OAAO,KACxB,qBA0NF,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,0BAA0B,GACrC,WAAW,WAAW,EACtB,cAAc,gBAAgB,EAC9B,QAAQ;IAAE,QAAQ,IAAI,MAAM,CAAC;IAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAClE,YAAY,MAAM,OAAO,KACxB,qBAiEF,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,0BAA0B,GACrC,WAAW,WAAW,EACtB,QAAQ,UAAU,EAClB,YAAY,MAAM,OAAO,KACxB,qBA0DD,CAAC"}
1
+ {"version":3,"file":"ooxml-highlight-surfaces.d.ts","sourceRoot":"","sources":["../../src/utils/ooxml-highlight-surfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAGV,cAAc,EACd,sBAAsB,EACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAEL,sBAAsB,EACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAKL,KAAK,kBAAkB,EASxB,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAElC;;;;;;GAMG;AACH,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC,8DAA8D;IAC9D,OAAO,CACL,UAAU,EAAE,SAAS,cAAc,EAAE,GACpC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;CAC7E;AAsDD;;;;GAIG;AACH,UAAU,qBAAqB;IAC7B,yGAAyG;IACzG,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,uCAAuC;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,kEAAkE;IAClE,eAAe,CACb,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GACtB,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAC9B,oFAAoF;IACpF,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C;AAED,yEAAyE;AACzE,UAAU,mBAAmB;IAC3B,QAAQ,IAAI,MAAM,CAAC;IACnB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,0EAA0E;AAC1E,eAAO,MAAM,0BAA0B,GACrC,WAAW,WAAW,EACtB,cAAc,qBAAqB,EACnC,QAAQ,mBAAmB,EAC3B,YAAY,MAAM,OAAO,KACxB,qBA8PF,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,0BAA0B,GACrC,WAAW,WAAW,EACtB,cAAc,gBAAgB,EAC9B,QAAQ;IAAE,QAAQ,IAAI,MAAM,CAAC;IAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAClE,YAAY,MAAM,OAAO,KACxB,qBAwEF,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,0BAA0B,GACrC,WAAW,WAAW,EACtB,QAAQ,UAAU,EAClB,YAAY,MAAM,OAAO,KACxB,qBA0DD,CAAC"}