@epam/ai-dial-attachment-canvas 1.1.0-dev.49 → 1.1.0-dev.492

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 (72) hide show
  1. package/LazyContentBoundary-CL7J_W9c.js +166 -0
  2. package/PdfContent-DhfjgYL-.js +260 -0
  3. package/PdfContent.css +1 -0
  4. package/attachment-canvas-Bp6WeQws.js +12 -0
  5. package/bounded-raw-part-cache-BfbSxRIL-DD07NKh9.js +37832 -0
  6. package/chart-ex-B0DgG3Dt.js +1009 -0
  7. package/comment-occurrence-CqejEuts-7SeKCBXk.js +6 -0
  8. package/comment-ui-runtime-DEtgcmj7-B1G7PH4z.js +170 -0
  9. package/comment-ui-runtime-TLHustXJ-DWCXG2mL.js +2 -0
  10. package/comment-ui-runtime-lXwVOgjW-Be4RALsI.js +112 -0
  11. package/comments-CAn2A_Xh-CdgNAj0h.js +282 -0
  12. package/components/AttachmentCanvas/AttachmentCanvas.d.ts.map +1 -1
  13. package/components/AttachmentCanvasBody/AttachmentCanvasBody.d.ts +4 -0
  14. package/components/AttachmentCanvasBody/AttachmentCanvasBody.d.ts.map +1 -0
  15. package/components/AttachmentCanvasContainer/AttachmentCanvasContainer.d.ts +14 -0
  16. package/components/AttachmentCanvasContainer/AttachmentCanvasContainer.d.ts.map +1 -1
  17. package/components/CodeContent/CodeContent.d.ts +24 -0
  18. package/components/CodeContent/CodeContent.d.ts.map +1 -0
  19. package/components/HtmlContent/HtmlContent.d.ts +21 -0
  20. package/components/HtmlContent/HtmlContent.d.ts.map +1 -0
  21. package/components/LazyContentBoundary/LazyContentBoundary.d.ts +73 -0
  22. package/components/LazyContentBoundary/LazyContentBoundary.d.ts.map +1 -0
  23. package/components/McpAppCanvasRenderer/McpAppCanvasRenderer.d.ts +12 -0
  24. package/components/McpAppCanvasRenderer/McpAppCanvasRenderer.d.ts.map +1 -0
  25. package/components/OoxmlContent/OoxmlContent.d.ts +22 -0
  26. package/components/OoxmlContent/OoxmlContent.d.ts.map +1 -0
  27. package/components/PdfContent/PdfContent.d.ts +55 -1
  28. package/components/PdfContent/PdfContent.d.ts.map +1 -1
  29. package/components/VisualizerCanvasRenderer/VisualizerCanvasRenderer.d.ts +26 -0
  30. package/components/VisualizerCanvasRenderer/VisualizerCanvasRenderer.d.ts.map +1 -0
  31. package/constants/file.d.ts +8 -0
  32. package/constants/file.d.ts.map +1 -1
  33. package/context/AttachmentCanvasContext.d.ts +5 -3
  34. package/context/AttachmentCanvasContext.d.ts.map +1 -1
  35. package/delimited-text-worker-host-DcHj_JZt-DWJmaPag.js +25 -0
  36. package/docx-B9qBTEkj.js +29822 -0
  37. package/hooks/useMcpAppBridge/useMcpAppBridge.d.ts +23 -0
  38. package/hooks/useMcpAppBridge/useMcpAppBridge.d.ts.map +1 -0
  39. package/hooks/useOpenAttachmentCanvas/useOpenAttachmentCanvas.d.ts +64 -0
  40. package/hooks/useOpenAttachmentCanvas/useOpenAttachmentCanvas.d.ts.map +1 -0
  41. package/index.css +1 -2
  42. package/index.d.ts +11 -3
  43. package/index.d.ts.map +1 -1
  44. package/index.js +1166 -17230
  45. package/line-distribute-IsUGfHXm-DeITjLzJ.js +1234 -0
  46. package/line-metrics-CBbw80Ko-DoOuwYxZ.js +60 -0
  47. package/models/attachment-canvas.d.ts +318 -11
  48. package/models/attachment-canvas.d.ts.map +1 -1
  49. package/ooxml-highlight-surfaces-DhK1KJcR.js +294 -0
  50. package/package.json +20 -11
  51. package/pptx-dkJw0-Vx.js +9179 -0
  52. package/read-only-comment-decoration-BTnWEeo5-BNhbteYc.js +94 -0
  53. package/read-only-comment-margin-plStyGfE-mggNAMB_.js +189 -0
  54. package/render-worker-host-BEfLZvSL-COy91Rd8.js +7 -0
  55. package/render-worker-host-Ba6Fchqr-DZeKpMWD.js +7 -0
  56. package/render-worker-host-C3xwtHnv-BBGHFdo9.js +7 -0
  57. package/renderer-module-contract-Cu-GKuPd-Bt0YZuzB.js +10063 -0
  58. package/types/attachment-canvas.d.ts +22 -0
  59. package/types/attachment-canvas.d.ts.map +1 -1
  60. package/utils/content.d.ts +11 -0
  61. package/utils/content.d.ts.map +1 -1
  62. package/utils/download.d.ts.map +1 -1
  63. package/utils/ooxml-highlight-geometry.d.ts +157 -0
  64. package/utils/ooxml-highlight-geometry.d.ts.map +1 -0
  65. package/utils/ooxml-highlight-surfaces.d.ts +42 -0
  66. package/utils/ooxml-highlight-surfaces.d.ts.map +1 -0
  67. package/utils/visualizer.d.ts +8 -0
  68. package/utils/visualizer.d.ts.map +1 -0
  69. package/utils/vite-external-matcher.d.ts +18 -0
  70. package/utils/vite-external-matcher.d.ts.map +1 -0
  71. package/visible-index-DPoQYSDt-9lRc-2Ik.js +162 -0
  72. package/xlsx-BAXMTJTG.js +8585 -0
@@ -0,0 +1,60 @@
1
+ //#region ../../node_modules/@silurus/ooxml/dist/line-metrics-CBbw80Ko.js
2
+ var e = [
3
+ [(e) => e.includes("meiryo ui") || e.includes("meiryoui") || e.includes("メイリオ") && e.includes("ui"), {
4
+ asc: 2171 * 1.3 / 2048,
5
+ desc: 430 * 1.3 / 2048,
6
+ eaOnly: !0
7
+ }],
8
+ [(e) => e.includes("meiryo") || e.includes("メイリオ"), {
9
+ asc: 2210 / 2048,
10
+ desc: 1059 / 2048
11
+ }],
12
+ [(e) => !e.includes("ui") && (e.includes("yu mincho") || e.includes("yumincho") || e.includes("游明朝") || e.includes("yu gothic") || e.includes("yugothic") || e.includes("游ゴシック")), {
13
+ asc: 1802 * 1.3 / 2048,
14
+ desc: 455 * 1.3 / 2048,
15
+ eaOnly: !0
16
+ }],
17
+ [(e) => e.includes("sakkal majalla") || e.includes("majalla"), {
18
+ asc: 1810 / 2048,
19
+ desc: 1050 / 2048
20
+ }],
21
+ [(e) => e === "times new roman", {
22
+ asc: 1825 / 2048,
23
+ desc: 530 / 2048
24
+ }],
25
+ [(e) => e === "arial", {
26
+ asc: 1854 / 2048,
27
+ desc: 501 / 2048
28
+ }]
29
+ ];
30
+ function t(t, n) {
31
+ if (!t) return null;
32
+ let r = t.toLowerCase();
33
+ for (let [t, i] of e) if (t(r) && (n || !i.eaOnly)) return i;
34
+ return null;
35
+ }
36
+ function n(e, n = !1) {
37
+ let r = t(e, n);
38
+ return r === null ? null : r.asc + r.desc;
39
+ }
40
+ function r(e, t, r = !1) {
41
+ let i = n(e, r);
42
+ return i === null ? 0 : i * t;
43
+ }
44
+ function i(e, n, r, i, a = !1) {
45
+ let o = t(e, a);
46
+ if (o === null) return {
47
+ ascent: r,
48
+ descent: i
49
+ };
50
+ let s = (o.asc + o.desc) * n;
51
+ return r + i <= s ? {
52
+ ascent: r,
53
+ descent: i
54
+ } : {
55
+ ascent: o.asc * n,
56
+ descent: o.desc * n
57
+ };
58
+ }
59
+ //#endregion
60
+ export { r as n, i as t };
@@ -1,8 +1,10 @@
1
- import { CodeBlockTheme } from '@epam/ai-dial-chat-shared';
1
+ import { CodeBlockTheme, CustomVisualizerDataLayout } 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
+ import { McpUiHostContext } from '@mcp-ui/client';
5
+ import { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
4
6
  import { CSSProperties } from 'react';
5
- import { AttachmentContentType, AttachmentErrorType } from '../types/attachment-canvas';
7
+ import { AttachmentContentType, AttachmentErrorType, OoxmlFileType, OoxmlHighlightKind } from '../types/attachment-canvas';
6
8
  /** Content payload for plain-text attachments. */
7
9
  export interface PlainTextCanvasContent {
8
10
  /** Discriminates the content type to select the correct renderer. */
@@ -24,6 +26,13 @@ export interface MarkdownCanvasContent {
24
26
  /** Raw Markdown string to render. */
25
27
  text: string;
26
28
  }
29
+ /** Content payload for a Markdown table opened standalone (e.g. via a table's "open in canvas" action). */
30
+ export interface MarkdownTableCanvasContent {
31
+ /** Discriminates the content type to select the correct renderer. */
32
+ type: AttachmentContentType.MarkdownTable;
33
+ /** The table serialized back to Markdown syntax. */
34
+ text: string;
35
+ }
27
36
  /** Content payload for JSON file attachments. */
28
37
  export interface JsonCanvasContent {
29
38
  /** Discriminates the content type to select the correct renderer. */
@@ -41,6 +50,78 @@ export interface PdfCanvasContent {
41
50
  highlights?: InputHighlightData[];
42
51
  /** ID of the highlight to scroll to and select on initial load. */
43
52
  selectedHighlightId?: string;
53
+ /** 1-based page to navigate to on initial load, independent of highlight geometry. */
54
+ page?: number;
55
+ }
56
+ /** A cited character range inside a DOCX story, addressed by story name and source-tree path. */
57
+ export interface OoxmlDocxHighlightLocation {
58
+ /** Discriminates this location within `OoxmlHighlightLocation`. */
59
+ kind: OoxmlHighlightKind.DocxTextRange;
60
+ /** Name of the DOCX story the range lives in, as an opaque string (only `'body'` is confirmed upstream). */
61
+ story: string;
62
+ /** Source-tree element indices identifying the paragraph, matched element-wise. */
63
+ path: number[];
64
+ /** Inclusive start character offset within the story's matched text. */
65
+ start: number;
66
+ /** Exclusive end character offset, already converted from the wire's inclusive `end`. */
67
+ endExclusive: number;
68
+ /** The cited text, compared against the text resolved over `[start, endExclusive)`. */
69
+ text: string;
70
+ }
71
+ /** A cited character range inside a single shape on one PPTX slide. */
72
+ export interface OoxmlPptxHighlightLocation {
73
+ /** Discriminates this location within `OoxmlHighlightLocation`. */
74
+ kind: OoxmlHighlightKind.PptxTextRange;
75
+ /** 1-based slide number. */
76
+ slide: number;
77
+ /** Shape identifier, compared as a string against the run's own `shapeId`. */
78
+ shapeId: string;
79
+ /** Inclusive start character offset within the shape's matched text. */
80
+ start: number;
81
+ /** Exclusive end character offset, already converted from the wire's inclusive `end`. */
82
+ endExclusive: number;
83
+ /** The cited text, compared against the text resolved over `[start, endExclusive)`. */
84
+ text: string;
85
+ }
86
+ /** A 1-based cell address, matching `@silurus/ooxml`'s own `CellAddress`. */
87
+ export interface OoxmlCellAddress {
88
+ /** 1-based row number. */
89
+ row: number;
90
+ /** 1-based column number. */
91
+ col: number;
92
+ }
93
+ /** A cited cell, or contiguous same-row cell range, on a named XLSX sheet. */
94
+ export interface OoxmlXlsxHighlightLocation {
95
+ /** Discriminates this location within `OoxmlHighlightLocation`. */
96
+ kind: OoxmlHighlightKind.XlsxCellRange;
97
+ /** Sheet name, matched exactly against the workbook's own sheet names. */
98
+ sheet: string;
99
+ /** First cell of the range. 1-based, passed to the viewer unconverted. */
100
+ start: OoxmlCellAddress;
101
+ /** Last cell of the range, on the same row as `start`. Omitted for a single cell. */
102
+ end?: OoxmlCellAddress;
103
+ }
104
+ /** A cited location inside an Office document, in document coordinates. */
105
+ export type OoxmlHighlightLocation = OoxmlDocxHighlightLocation | OoxmlPptxHighlightLocation | OoxmlXlsxHighlightLocation;
106
+ /** One citation's highlight: the locations it resolved to, under a stable id. */
107
+ export interface OoxmlHighlight {
108
+ /** Stable id, used to mark exactly one highlight selected. */
109
+ id: string;
110
+ /** One or more locations — a single citation may carry several selectors. */
111
+ locations: OoxmlHighlightLocation[];
112
+ }
113
+ /** Content payload for OOXML document and CSV spreadsheet attachments. */
114
+ export interface OoxmlCanvasContent {
115
+ /** Discriminates the content type to select the correct renderer. */
116
+ type: AttachmentContentType.Ooxml;
117
+ /** Resolved download URL or object URL for the source file. */
118
+ url: string;
119
+ /** The document format used to select and configure the format-specific renderer. */
120
+ format: OoxmlFileType;
121
+ /** Cited locations to draw over the document. Omitted, never `[]`, when there is nothing to highlight. */
122
+ highlights?: OoxmlHighlight[];
123
+ /** Id of the highlight to navigate to and emphasise. Omitted when the clicked citation resolved to no location. */
124
+ selectedHighlightId?: string;
44
125
  }
45
126
  /** Content payload for audio file attachments. */
46
127
  export interface AudioCanvasContent {
@@ -51,6 +132,66 @@ export interface AudioCanvasContent {
51
132
  /** MIME type forwarded to the `<audio>` element (e.g. `audio/webm`). */
52
133
  mimeType?: string;
53
134
  }
135
+ /** Content payload for syntax-highlighted source-code or text file attachments. */
136
+ export interface CodeCanvasContent {
137
+ /** Discriminates the content type to select the correct renderer. */
138
+ type: AttachmentContentType.Code;
139
+ /** The raw source text to display. */
140
+ text: string;
141
+ /** `react-syntax-highlighter` language identifier (e.g. `'typescript'`). `undefined` renders plain monospace. */
142
+ language?: string;
143
+ }
144
+ /** Content payload for HTML file attachments or external HTML URL sources. */
145
+ export interface HtmlCanvasContent {
146
+ /** Discriminates the content type to select the correct renderer. */
147
+ type: AttachmentContentType.Html;
148
+ /** Full HTML text rendered via `srcdoc` in a sandboxed iframe. Used for file attachments. */
149
+ srcdoc?: string;
150
+ /** External URL rendered via `src` in a sandboxed iframe. Used for external link sources. */
151
+ url?: string;
152
+ }
153
+ /** Content payload for a custom-visualizer attachment rendered inside a sandboxed iframe. */
154
+ export interface VisualizerCanvasContent {
155
+ /** Discriminates the content type to select the correct renderer. */
156
+ type: AttachmentContentType.Visualizer;
157
+ /** Iframe `src`, resolved from the matching registry entry's `url`. */
158
+ url: string;
159
+ /** The attachment's own MIME type (not the registry entry's raw, possibly comma-separated, `contentType`). */
160
+ mimeType: string;
161
+ /** Opaque attachment payload consumed by the visualizer. */
162
+ data: unknown;
163
+ /** Presentation layout hints (`themeId`, `width`, `height`, `mobileHeight`). */
164
+ layout: CustomVisualizerDataLayout;
165
+ /** postMessage protocol namespace — MUST equal the registry entry's `title`, or the iframe never receives data. */
166
+ visualizerName: string;
167
+ /** Milliseconds to wait for a `send()` request's response before rejecting. From the registry entry; does NOT bound the handshake. */
168
+ requestTimeout?: number;
169
+ }
170
+ /** 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
+ export type McpAppDisplayMode = NonNullable<McpUiHostContext['displayMode']>;
172
+ /** Content payload for an MCP App's `ui://` resource, rendered in a sandboxed iframe via an isolated-origin sandbox proxy. */
173
+ export interface McpAppCanvasContent {
174
+ /** Discriminates the content type to select the correct renderer. */
175
+ type: AttachmentContentType.McpApp;
176
+ /** HTML body of the tool's `ui://` resource, fetched by the app layer — never fetched by this lib. */
177
+ html: string;
178
+ /** Isolated-origin URL of the MCP Apps sandbox-proxy page, resolved by the app layer from its own config. */
179
+ sandboxUrl: string;
180
+ /** Arguments of the original tool call that produced this resource, passed to the mounted app so it renders that invocation immediately instead of an empty initial state. */
181
+ toolInput?: Record<string, unknown>;
182
+ /** Result of the original tool call that produced this resource, passed to the mounted app so it renders that invocation immediately instead of an empty initial state. */
183
+ toolResult?: CallToolResult;
184
+ /** 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
+ hostContext?: McpUiHostContext;
186
+ /** Forwards a `tools/call` request issued by the mounted app to the owning MCP session via the app layer. */
187
+ onToolCall: (name: string, args: unknown) => Promise<CallToolResult>;
188
+ /** 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). */
189
+ onOpenLink?: (url: string) => boolean | void;
190
+ /** Handles the mounted app's `ui/request-display-mode` request. Returns the mode actually applied, which may differ from the requested one; returning `undefined` (or omitting the callback) answers the app with the current mode. */
191
+ onRequestDisplayMode?: (mode: McpAppDisplayMode) => McpAppDisplayMode | void;
192
+ /** Re-fetches the resource and re-resolves the tool result from scratch, bypassing any cache the app layer keeps. Shows a reload action in the canvas header when provided; omit to hide it. */
193
+ onReload?: () => void;
194
+ }
54
195
  /** Content payload for attachments whose format cannot be previewed. */
55
196
  export interface UnsupportedCanvasContent {
56
197
  /** Discriminates the content type to select the correct renderer. */
@@ -66,15 +207,61 @@ export interface ErrorCanvasContent {
66
207
  errorType: AttachmentErrorType;
67
208
  /** Remote URL of the file, if known. Ignored for download purposes when `errorType` is `Forbidden`. */
68
209
  url?: string;
210
+ /** Overrides the default `loadErrorLabel`/`forbiddenErrorLabel` message, for callers whose failed content isn't a generic "file" (e.g. an MCP App). */
211
+ label?: string;
69
212
  }
70
213
  /** The content payload passed to AttachmentCanvas. */
71
- export type AttachmentCanvasContent = PlainTextCanvasContent | ImageCanvasContent | AudioCanvasContent | MarkdownCanvasContent | JsonCanvasContent | PdfCanvasContent | UnsupportedCanvasContent | ErrorCanvasContent;
214
+ export type AttachmentCanvasContent = PlainTextCanvasContent | ImageCanvasContent | AudioCanvasContent | MarkdownCanvasContent | MarkdownTableCanvasContent | JsonCanvasContent | PdfCanvasContent | OoxmlCanvasContent | CodeCanvasContent | HtmlCanvasContent | VisualizerCanvasContent | McpAppCanvasContent | UnsupportedCanvasContent | ErrorCanvasContent;
72
215
  /** Themeable color overrides for the AttachmentCanvas content body. */
73
216
  export interface AttachmentCanvasColors {
74
217
  /** Primary text color for the content body. */
75
218
  text?: string;
219
+ /** Status/summary line text color. Defaults to `--text-secondary`. */
220
+ statusText?: string;
221
+ /** Error icon color. Defaults to `--text-error`. */
222
+ errorIcon?: string;
223
+ /** "Open in new tab" link color in the blocked-iframe panel. Defaults to `--text-accent`. */
224
+ openInNewTabText?: string;
225
+ /** Border color of the JSON viewer wrapper. Defaults to `--stroke-secondary`. */
226
+ jsonBorder?: string;
227
+ /** Background color of the JSON viewer wrapper. Defaults to `--bg-layer-base`. */
228
+ jsonBackground?: string;
229
+ /** JSON key/label color. Defaults to `--text-primary`. */
230
+ jsonLabel?: string;
231
+ /** JSON expandable key/label color. Defaults to `--text-primary`. */
232
+ jsonClickableLabel?: string;
233
+ /** JSON punctuation (braces, commas, colons) color. Defaults to `--text-secondary`. */
234
+ jsonPunctuation?: string;
235
+ /** JSON string-literal color. Defaults to `--text-success`. */
236
+ jsonString?: string;
237
+ /** JSON number-literal color. Defaults to `--text-accent`. */
238
+ jsonNumber?: string;
239
+ /** JSON boolean-literal color. Defaults to `--text-warning`. */
240
+ jsonBoolean?: string;
241
+ /** JSON `null`-literal color. Defaults to `--text-secondary`. */
242
+ jsonNull?: string;
243
+ /** Expand/collapse triangle color. Defaults to `--text-secondary`. */
244
+ jsonToggleIcon?: string;
245
+ /** Expand/collapse triangle color on hover. Defaults to `--text-primary`. */
246
+ jsonToggleIconHover?: string;
247
+ /** Background color of the OOXML/CSV viewer surface and its loading/error overlay. Defaults to `--bg-layer-raised`. */
248
+ ooxmlBackground?: string;
249
+ /** Border color of the XLSX formula panel and value field. Defaults to `--stroke-secondary`. */
250
+ ooxmlFormulaBorder?: string;
251
+ /** Background color of the XLSX formula value field. Defaults to `--bg-layer-base`. */
252
+ ooxmlFormulaBackground?: string;
253
+ /** Text color of the XLSX formula panel. Defaults to `--text-primary`. */
254
+ ooxmlFormulaText?: string;
255
+ /** Border color of a cited-location highlight rectangle. Defaults to `--stroke-accent`. */
256
+ ooxmlHighlightBorder?: string;
257
+ /** Fill color of a cited-location highlight rectangle. Defaults to `transparent`, so the cited text keeps its own contrast. */
258
+ ooxmlHighlightBackground?: string;
259
+ /** Text color of the collapsed-content ellipsis. Defaults to `--text-secondary`. */
260
+ jsonCollapsedText?: string;
261
+ /** Background color of the collapsed-content ellipsis. Defaults to `--bg-layer-raised`. */
262
+ jsonCollapsedBackground?: string;
76
263
  }
77
- /** Themeable typography overrides for the AttachmentCanvas content body. */
264
+ /** Themeable typography overrides for the AttachmentCanvas plain-text content body. */
78
265
  export interface AttachmentCanvasTypography {
79
266
  /** CSS font-family value. */
80
267
  fontFamily?: string;
@@ -87,27 +274,33 @@ export interface AttachmentCanvasTypography {
87
274
  /** CSS letter-spacing value. */
88
275
  letterSpacing?: string;
89
276
  /**
90
- * A single CSS utility class applied to the content body instead of
91
- * individual typography vars. When set, individual typography fields
92
- * are ignored.
277
+ * A single CSS utility class applied to the content body instead of the
278
+ * individual typography fields above. When set, those fields are ignored.
93
279
  */
94
280
  fontClassName?: string;
281
+ /** CSS utility class applied to the JSON tree viewer. Defaults to `'dial-code-text'`. */
282
+ jsonClassName?: string;
283
+ /** CSS utility class applied to the decorative XLSX `fx` label. Defaults to `'dial-italic-text'`. */
284
+ xlsxFormulaLabelClassName?: string;
95
285
  }
96
- /** Combined style override prop for AttachmentCanvas. */
97
- export interface AttachmentCanvasStyles {
286
+ /** Style override prop for `AttachmentCanvasBody`'s content-rendering area. */
287
+ export interface AttachmentCanvasBodyStyles {
98
288
  /** Color overrides for the content body, applied as CSS custom properties. */
99
289
  colors?: AttachmentCanvasColors;
100
290
  /** Typography overrides for the content body. */
101
291
  typography?: AttachmentCanvasTypography;
102
292
  /** Extra class name(s) merged onto the scrollable content body element. */
103
293
  bodyClassName?: string;
104
- /** Extra class name(s) merged onto the panel width wrapper. */
105
- className?: string;
106
294
  /**
107
295
  * Arbitrary CSS custom properties applied inline to the content body.
108
296
  * Merged after the typed color/typography vars, so they can override them.
109
297
  */
110
298
  cssVars?: CSSProperties;
299
+ }
300
+ /** Combined style override prop for AttachmentCanvas. */
301
+ export interface AttachmentCanvasStyles extends AttachmentCanvasBodyStyles {
302
+ /** Extra class name(s) merged onto the panel width wrapper. */
303
+ className?: string;
111
304
  /** Style overrides forwarded to the underlying SidebarPanel (panel chrome). */
112
305
  panelStyles?: SidebarPanelStyles;
113
306
  }
@@ -117,6 +310,8 @@ export interface AttachmentCanvasLabels {
117
310
  ariaLabel: string;
118
311
  /** Accessible label for the close button. Defaults to `'Close'`. */
119
312
  closeLabel?: string;
313
+ /** Accessible label for the panel's drag-to-resize handle. Defaults to `'Resize panel'`. */
314
+ resizeLabel?: string;
120
315
  /** Message shown in the canvas body when the content type is `Unsupported`. Defaults to `'Preview is not supported for this file'`. */
121
316
  unsupportedLabel?: string;
122
317
  /** Message shown in the canvas body when content type is `Error` with `errorType: LoadFailed`. Defaults to `'Failed to load file'`. */
@@ -137,6 +332,54 @@ export interface AttachmentCanvasLabels {
137
332
  copyJsonLabel?: string;
138
333
  /** Tooltip and accessible label for the copy-JSON button after a successful copy. Defaults to `'Copied!'`. */
139
334
  copiedJsonLabel?: string;
335
+ /** Message shown inside the visualizer canvas when the iframe handshake fails. Defaults to `'Failed to load visualizer'`. */
336
+ visualizerErrorLabel?: string;
337
+ /** Message shown when a URL-sourced iframe is blocked by the page's CSP or X-Frame-Options. Defaults to `'This page cannot be displayed in preview'`. */
338
+ htmlFrameBlockedLabel?: string;
339
+ /** Label for the "Open in new tab" fallback link shown alongside `htmlFrameBlockedLabel`. Defaults to `'Open in new tab'`. */
340
+ htmlOpenInNewTabLabel?: string;
341
+ /** Tooltip and `aria-label` for the toggle button when the rendered view is active (clicking switches to source). Defaults to `'View source'`. */
342
+ htmlViewSourceLabel?: string;
343
+ /** Tooltip and `aria-label` for the toggle button when the source view is active (clicking switches back to rendered). Defaults to `'View rendered'`. */
344
+ htmlViewRenderedLabel?: string;
345
+ /** Tooltip and accessible label for the MCP App reload button. Only shown when content type is `McpApp` and `content.onReload` is provided. Defaults to `'Reload'`. */
346
+ mcpAppReloadLabel?: string;
347
+ /** Accessible name for the PDF viewer's floating thumbnails panel region. Defaults to `'Thumbnails'`. */
348
+ pdfThumbnailsLabel?: string;
349
+ /** Accessible label for the FAB button that opens the PDF thumbnails panel. Defaults to `'Show thumbnails'`. */
350
+ pdfShowThumbnailsLabel?: string;
351
+ /** Accessible label for the FAB button that closes the PDF thumbnails panel. Defaults to `'Hide thumbnails'`. */
352
+ pdfHideThumbnailsLabel?: string;
353
+ /** Accessible label for the current-page number input at the top of the PDF thumbnails panel. Defaults to `'Page number'`. */
354
+ pdfPageNumberLabel?: string;
355
+ /** Accessible status text announced while the PDF viewer's dynamic import is loading. Defaults to `'Loading…'`. */
356
+ pdfContentLoadingLabel?: string;
357
+ /** Message shown when the PDF viewer's dynamic import fails to load. Defaults to `'Failed to load content'`. */
358
+ pdfContentErrorLabel?: string;
359
+ /** Label and accessible name for the retry control shown alongside `pdfContentErrorLabel`. Defaults to `'Retry'`. */
360
+ pdfContentRetryLabel?: string;
361
+ /** Accessible label for the active XLSX cell's formula panel. Defaults to `'Formula'`. */
362
+ xlsxFormulaLabel?: string;
363
+ /** Accessible status text announced while the syntax-highlighter engine's dynamic import is loading. Defaults to `'Loading…'`. */
364
+ codeContentLoadingLabel?: string;
365
+ /** Message shown when the syntax-highlighter engine's dynamic import fails to load. Defaults to `'Failed to load content'`. */
366
+ codeContentErrorLabel?: string;
367
+ /** Label and accessible name for the retry control shown alongside `codeContentErrorLabel`. Defaults to `'Retry'`. */
368
+ 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;
375
+ /** Status announced after a Markdown table has been copied. */
376
+ tableCopiedLabel?: string;
377
+ /** Label for downloading a Markdown table as CSV. */
378
+ tableDownloadCsvLabel?: string;
379
+ /** Accessible name for the OOXML citation-highlights overlay region. Defaults to `'Cited locations'`. */
380
+ ooxmlHighlightsLabel?: string;
381
+ /** Status announced once navigation to the selected OOXML citation highlight completes. Defaults to `'Scrolled to the cited location'`. */
382
+ ooxmlHighlightNavigatedLabel?: string;
140
383
  }
141
384
  /** Props for the AttachmentCanvas component. */
142
385
  export interface AttachmentCanvasProps {
@@ -160,6 +403,8 @@ export interface AttachmentCanvasProps {
160
403
  onCopyMarkdown?: () => void;
161
404
  /** Called when the user activates the copy-JSON button. When omitted the button is hidden. Only relevant when content type is `Json`. */
162
405
  onCopyJson?: () => void;
406
+ /** Filename used when downloading a `MarkdownTable`'s content as CSV. Defaults to `'table.csv'`. */
407
+ tableDownloadFilename?: string;
163
408
  /** Whether the viewport is in mobile breakpoint — disables drag-to-resize. */
164
409
  isMobile?: boolean;
165
410
  /** Initial panel width in pixels (when resizable). Defaults to `min(maxWidth, 2/3 of viewport width)`. */
@@ -180,5 +425,67 @@ export interface AttachmentCanvasProps {
180
425
  * plain `fetch` if not provided.
181
426
  */
182
427
  loadPdf?: (url: string) => Promise<Blob>;
428
+ /**
429
+ * Configures `pdfjs-dist`'s worker (`GlobalWorkerOptions.workerSrc`) for the
430
+ * host app. Called once, the first time a PDF attachment is opened, and
431
+ * awaited before the viewer mounts. Concurrent PDF opens share one
432
+ * in-flight call; a successful call is memoized so later opens never
433
+ * repeat it. A rejected call is not cached — the next PDF open (or a
434
+ * subsequent retry) invokes it again. When omitted,
435
+ * `@epam/pdf-highlighter-kit`'s own CDN-hosted worker fallback is used
436
+ * instead, so PDF rendering still works, just without the host's own
437
+ * bundled worker asset.
438
+ */
439
+ configurePdfWorker?: () => void | Promise<void>;
440
+ }
441
+ /** 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'>;
443
+ /** Props for the `AttachmentCanvasBody` component. */
444
+ export interface AttachmentCanvasBodyProps {
445
+ /** The attachment content to render. */
446
+ content: AttachmentCanvasContent;
447
+ /** When `true`, renders a loading spinner instead of content. Defaults to `false`. */
448
+ isLoading?: boolean;
449
+ /** File name used for image `alt` text and the audio player's accessible label. */
450
+ fileName?: string;
451
+ /**
452
+ * Whether an `Html` content type renders its raw source instead of the
453
+ * sandboxed rendered view. Ignored for every other content type. Defaults
454
+ * to `false`. The host owns this toggle's state since the corresponding
455
+ * toggle button lives outside this component.
456
+ */
457
+ isHtmlSourceView?: boolean;
458
+ /** User-visible strings for content states (unsupported/error/HTML-blocked messages). */
459
+ labels?: AttachmentCanvasBodyLabels;
460
+ /** Style overrides for the content body. */
461
+ styles?: AttachmentCanvasBodyStyles;
462
+ /** Syntax highlight color theme forwarded to MarkdownRenderer/CodeContent code blocks. */
463
+ codeBlockTheme?: CodeBlockTheme;
464
+ /** Filename used when downloading a `MarkdownTable`'s content as CSV. Defaults to `'table.csv'`. Only relevant when content type is `MarkdownTable`. */
465
+ tableDownloadFilename?: string;
466
+ /**
467
+ * Fetches a PDF file by URL and returns its bytes as a `Blob`. Used when
468
+ * content type is `Pdf` to load the file before rendering. Defaults to a
469
+ * plain `fetch` if not provided.
470
+ */
471
+ loadPdf?: (url: string) => Promise<Blob>;
472
+ /**
473
+ * Hides the PDF renderer's own title/zoom toolbar row for `Pdf` content —
474
+ * for hosts that render their own header and don't want it duplicated.
475
+ * Ignored for every other content type. Defaults to `false`.
476
+ */
477
+ hidePdfToolbar?: boolean;
478
+ /**
479
+ * Configures `pdfjs-dist`'s worker (`GlobalWorkerOptions.workerSrc`) for the
480
+ * host app. Called once, the first time a PDF attachment is opened, and
481
+ * awaited before the viewer mounts. Concurrent PDF opens share one
482
+ * in-flight call; a successful call is memoized so later opens never
483
+ * repeat it. A rejected call is not cached — the next PDF open (or a
484
+ * subsequent retry) invokes it again. When omitted,
485
+ * `@epam/pdf-highlighter-kit`'s own CDN-hosted worker fallback is used
486
+ * instead, so PDF rendering still works, just without the host's own
487
+ * bundled worker asset.
488
+ */
489
+ configurePdfWorker?: () => void | Promise<void>;
183
490
  }
184
491
  //# sourceMappingURL=attachment-canvas.d.ts.map
@@ -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":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,0BAA0B,EAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EACnB,MAAM,4BAA4B,CAAC;AAEpC,kDAAkD;AAClD,MAAM,WAAW,sBAAsB;IACrC,qEAAqE;IACrE,IAAI,EAAE,qBAAqB,CAAC,SAAS,CAAC;IACtC,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,6CAA6C;AAC7C,MAAM,WAAW,kBAAkB;IACjC,qEAAqE;IACrE,IAAI,EAAE,qBAAqB,CAAC,KAAK,CAAC;IAClC,yEAAyE;IACzE,GAAG,EAAE,MAAM,CAAC;CACb;AAED,qDAAqD;AACrD,MAAM,WAAW,qBAAqB;IACpC,qEAAqE;IACrE,IAAI,EAAE,qBAAqB,CAAC,QAAQ,CAAC;IACrC,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,2GAA2G;AAC3G,MAAM,WAAW,0BAA0B;IACzC,qEAAqE;IACrE,IAAI,EAAE,qBAAqB,CAAC,aAAa,CAAC;IAC1C,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,iDAAiD;AACjD,MAAM,WAAW,iBAAiB;IAChC,qEAAqE;IACrE,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC;IACjC,iEAAiE;IACjE,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,gDAAgD;AAChD,MAAM,WAAW,gBAAgB;IAC/B,qEAAqE;IACrE,IAAI,EAAE,qBAAqB,CAAC,GAAG,CAAC;IAChC,4DAA4D;IAC5D,GAAG,EAAE,MAAM,CAAC;IACZ,sDAAsD;IACtD,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAClC,mEAAmE;IACnE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sFAAsF;IACtF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,iGAAiG;AACjG,MAAM,WAAW,0BAA0B;IACzC,mEAAmE;IACnE,IAAI,EAAE,kBAAkB,CAAC,aAAa,CAAC;IACvC,4GAA4G;IAC5G,KAAK,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,yFAAyF;IACzF,YAAY,EAAE,MAAM,CAAC;IACrB,uFAAuF;IACvF,IAAI,EAAE,MAAM,CAAC;CACd;AAED,uEAAuE;AACvE,MAAM,WAAW,0BAA0B;IACzC,mEAAmE;IACnE,IAAI,EAAE,kBAAkB,CAAC,aAAa,CAAC;IACvC,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,OAAO,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,yFAAyF;IACzF,YAAY,EAAE,MAAM,CAAC;IACrB,uFAAuF;IACvF,IAAI,EAAE,MAAM,CAAC;CACd;AAED,6EAA6E;AAC7E,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,6BAA6B;IAC7B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,8EAA8E;AAC9E,MAAM,WAAW,0BAA0B;IACzC,mEAAmE;IACnE,IAAI,EAAE,kBAAkB,CAAC,aAAa,CAAC;IACvC,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,KAAK,EAAE,gBAAgB,CAAC;IACxB,qFAAqF;IACrF,GAAG,CAAC,EAAE,gBAAgB,CAAC;CACxB;AAED,2EAA2E;AAC3E,MAAM,MAAM,sBAAsB,GAC9B,0BAA0B,GAC1B,0BAA0B,GAC1B,0BAA0B,CAAC;AAE/B,iFAAiF;AACjF,MAAM,WAAW,cAAc;IAC7B,8DAA8D;IAC9D,EAAE,EAAE,MAAM,CAAC;IACX,6EAA6E;IAC7E,SAAS,EAAE,sBAAsB,EAAE,CAAC;CACrC;AAED,0EAA0E;AAC1E,MAAM,WAAW,kBAAkB;IACjC,qEAAqE;IACrE,IAAI,EAAE,qBAAqB,CAAC,KAAK,CAAC;IAClC,+DAA+D;IAC/D,GAAG,EAAE,MAAM,CAAC;IACZ,qFAAqF;IACrF,MAAM,EAAE,aAAa,CAAC;IACtB,0GAA0G;IAC1G,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,mHAAmH;IACnH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,kDAAkD;AAClD,MAAM,WAAW,kBAAkB;IACjC,qEAAqE;IACrE,IAAI,EAAE,qBAAqB,CAAC,KAAK,CAAC;IAClC,wDAAwD;IACxD,GAAG,EAAE,MAAM,CAAC;IACZ,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,mFAAmF;AACnF,MAAM,WAAW,iBAAiB;IAChC,qEAAqE;IACrE,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC;IACjC,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,iHAAiH;IACjH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,8EAA8E;AAC9E,MAAM,WAAW,iBAAiB;IAChC,qEAAqE;IACrE,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC;IACjC,6FAA6F;IAC7F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6FAA6F;IAC7F,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,6FAA6F;AAC7F,MAAM,WAAW,uBAAuB;IACtC,qEAAqE;IACrE,IAAI,EAAE,qBAAqB,CAAC,UAAU,CAAC;IACvC,uEAAuE;IACvE,GAAG,EAAE,MAAM,CAAC;IACZ,8GAA8G;IAC9G,QAAQ,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,IAAI,EAAE,OAAO,CAAC;IACd,gFAAgF;IAChF,MAAM,EAAE,0BAA0B,CAAC;IACnC,mHAAmH;IACnH,cAAc,EAAE,MAAM,CAAC;IACvB,sIAAsI;IACtI,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qJAAqJ;AACrJ,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC;AAE7E,8HAA8H;AAC9H,MAAM,WAAW,mBAAmB;IAClC,qEAAqE;IACrE,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC;IACnC,sGAAsG;IACtG,IAAI,EAAE,MAAM,CAAC;IACb,6GAA6G;IAC7G,UAAU,EAAE,MAAM,CAAC;IACnB,8KAA8K;IAC9K,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,2KAA2K;IAC3K,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,0JAA0J;IAC1J,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,6GAA6G;IAC7G,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IACrE,wPAAwP;IACxP,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC;IAC7C,uOAAuO;IACvO,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,iBAAiB,GAAG,IAAI,CAAC;IAC7E,gMAAgM;IAChM,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,wEAAwE;AACxE,MAAM,WAAW,wBAAwB;IACvC,qEAAqE;IACrE,IAAI,EAAE,qBAAqB,CAAC,WAAW,CAAC;IACxC,+EAA+E;IAC/E,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,gGAAgG;AAChG,MAAM,WAAW,kBAAkB;IACjC,qEAAqE;IACrE,IAAI,EAAE,qBAAqB,CAAC,KAAK,CAAC;IAClC,yCAAyC;IACzC,SAAS,EAAE,mBAAmB,CAAC;IAC/B,uGAAuG;IACvG,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uJAAuJ;IACvJ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,sDAAsD;AACtD,MAAM,MAAM,uBAAuB,GAC/B,sBAAsB,GACtB,kBAAkB,GAClB,kBAAkB,GAClB,qBAAqB,GACrB,0BAA0B,GAC1B,iBAAiB,GACjB,gBAAgB,GAChB,kBAAkB,GAClB,iBAAiB,GACjB,iBAAiB,GACjB,uBAAuB,GACvB,mBAAmB,GACnB,wBAAwB,GACxB,kBAAkB,CAAC;AAEvB,uEAAuE;AACvE,MAAM,WAAW,sBAAsB;IACrC,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6FAA6F;IAC7F,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uFAAuF;IACvF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uHAAuH;IACvH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gGAAgG;IAChG,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uFAAuF;IACvF,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,2FAA2F;IAC3F,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,+HAA+H;IAC/H,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2FAA2F;IAC3F,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,uFAAuF;AACvF,MAAM,WAAW,0BAA0B;IACzC,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yFAAyF;IACzF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qGAAqG;IACrG,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,+EAA+E;AAC/E,MAAM,WAAW,0BAA0B;IACzC,8EAA8E;IAC9E,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,iDAAiD;IACjD,UAAU,CAAC,EAAE,0BAA0B,CAAC;IACxC,2EAA2E;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,yDAAyD;AACzD,MAAM,WAAW,sBAAuB,SAAQ,0BAA0B;IACxE,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC;AAED,iEAAiE;AACjE,MAAM,WAAW,sBAAsB;IACrC,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4FAA4F;IAC5F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uIAAuI;IACvI,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uIAAuI;IACvI,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gKAAgK;IAChK,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6GAA6G;IAC7G,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8GAA8G;IAC9G,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,2HAA2H;IAC3H,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qHAAqH;IACrH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gHAAgH;IAChH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8GAA8G;IAC9G,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6HAA6H;IAC7H,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,yJAAyJ;IACzJ,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,8HAA8H;IAC9H,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kJAAkJ;IAClJ,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,yJAAyJ;IACzJ,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,uKAAuK;IACvK,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yGAAyG;IACzG,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gHAAgH;IAChH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,iHAAiH;IACjH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,8HAA8H;IAC9H,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mHAAmH;IACnH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,gHAAgH;IAChH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qHAAqH;IACrH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,0FAA0F;IAC1F,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kIAAkI;IAClI,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,+HAA+H;IAC/H,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sHAAsH;IACtH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iDAAiD;IACjD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kDAAkD;IAClD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qDAAqD;IACrD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,yGAAyG;IACzG,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,2IAA2I;IAC3I,4BAA4B,CAAC,EAAE,MAAM,CAAC;CACvC;AAED,gDAAgD;AAChD,MAAM,WAAW,qBAAqB;IACpC,6CAA6C;IAC7C,MAAM,EAAE,OAAO,CAAC;IAChB,+GAA+G;IAC/G,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gEAAgE;IAChE,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,0DAA0D;IAC1D,OAAO,EAAE,uBAAuB,CAAC;IACjC,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4BAA4B;IAC5B,MAAM,EAAE,sBAAsB,CAAC;IAC/B,+JAA+J;IAC/J,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,8IAA8I;IAC9I,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,oJAAoJ;IACpJ,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,yIAAyI;IACzI,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,oGAAoG;IACpG,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0GAA0G;IAC1G,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,mFAAmF;IACnF,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,8EAA8E;IAC9E,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC;;;;;;;;;;OAUG;IACH,kBAAkB,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAED,wEAAwE;AACxE,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAC3C,sBAAsB,EACpB,kBAAkB,GAClB,gBAAgB,GAChB,qBAAqB,GACrB,sBAAsB,GACtB,uBAAuB,GACvB,uBAAuB,GACvB,oBAAoB,GACpB,wBAAwB,GACxB,wBAAwB,GACxB,oBAAoB,GACpB,wBAAwB,GACxB,sBAAsB,GACtB,sBAAsB,GACtB,kBAAkB,GAClB,yBAAyB,GACzB,uBAAuB,GACvB,uBAAuB,GACvB,mBAAmB,GACnB,mBAAmB,GACnB,wBAAwB,GACxB,kBAAkB,GAClB,uBAAuB,GACvB,sBAAsB,GACtB,8BAA8B,CACjC,CAAC;AAEF,sDAAsD;AACtD,MAAM,WAAW,yBAAyB;IACxC,wCAAwC;IACxC,OAAO,EAAE,uBAAuB,CAAC;IACjC,sFAAsF;IACtF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yFAAyF;IACzF,MAAM,CAAC,EAAE,0BAA0B,CAAC;IACpC,4CAA4C;IAC5C,MAAM,CAAC,EAAE,0BAA0B,CAAC;IACpC,0FAA0F;IAC1F,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,wJAAwJ;IACxJ,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;;;;OAUG;IACH,kBAAkB,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD"}