@epam/ai-dial-quotations 1.2.0-dev.34 → 1.2.0-dev.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.css +1 -1
- package/index.d.ts +1 -1
- package/index.d.ts.map +1 -1
- package/index.js +75 -47
- package/models/office-highlight.d.ts +21 -1
- package/models/office-highlight.d.ts.map +1 -1
- package/package.json +2 -2
- package/utils/annotation.d.ts +1 -1
- package/utils/annotation.d.ts.map +1 -1
- package/utils/office-table-anchor.d.ts +5 -0
- package/utils/office-table-anchor.d.ts.map +1 -0
package/index.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
._card_1kph1_1{background:var(--cc-card-bg,var(--bg-layer-raised,#fcfcfc))}._quote_1kph1_5{color:var(--cc-quote-text,var(--text-secondary,#57647a))}._title_1kph1_9{color:var(--cc-title-text,var(--text-primary,#161b2d))}._switcher_1kph1_13{color:var(--cc-switcher-text,var(--text-secondary,#57647a))}._sourceName_1kph1_17{color:var(--cc-source-name-text,var(--text-primary,#161b2d))}._content_xzs0h_1>svg{fill:var(--cc-card-bg,var(--bg-layer-raised,#fcfcfc));stroke:#0000}
|
|
2
|
-
/*$vite$:1*/.visible{visibility:visible}.collapse{visibility:collapse}.absolute{position:absolute}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-3{margin-bottom:.75rem}.ms-1{margin-inline-start:.25rem}.line-clamp-6{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:6}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.min-h-\[3lh\]{min-height:3lh}.w-\[400px\]{width:400px}.min-w-0{min-width:0}.\!max-w-none{max-width:none!important}.shrink-0{flex-shrink:0}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.break-words{overflow-wrap:break-word}.\!rounded-none{border-radius:0!important}.rounded-lg{border-radius:.5rem}.\!border-0{border-width:0!important}.\!bg-transparent{background-color:transparent!important}.\!p-0{padding:0!important}.p-4{padding:1rem}.ps-3{padding-inline-start:.75rem}.align-middle{vertical-align:middle}.\!shadow-none{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.shadow-lg{--tw-shadow:0 8px 44px 0 var(--shadow-lg,#2764d914);--tw-shadow-colored:0 8px 44px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.\[text-wrap\:pretty\]{text-wrap:pretty}.last\:mb-0:last-child{margin-bottom:0}.rtl\:scale-x-\[-1\]:where([dir=rtl],[dir=rtl] *){--tw-scale-x:-1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
|
|
2
|
+
/*$vite$:1*/.visible{visibility:visible}.collapse{visibility:collapse}.absolute{position:absolute}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-3{margin-bottom:.75rem}.ms-1{margin-inline-start:.25rem}.line-clamp-6{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:6}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table-cell{display:table-cell}.table-row{display:table-row}.hidden{display:none}.min-h-\[3lh\]{min-height:3lh}.w-\[400px\]{width:400px}.min-w-0{min-width:0}.\!max-w-none{max-width:none!important}.shrink-0{flex-shrink:0}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.break-words{overflow-wrap:break-word}.\!rounded-none{border-radius:0!important}.rounded-lg{border-radius:.5rem}.\!border-0{border-width:0!important}.\!bg-transparent{background-color:transparent!important}.\!p-0{padding:0!important}.p-4{padding:1rem}.ps-3{padding-inline-start:.75rem}.align-middle{vertical-align:middle}.\!shadow-none{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.shadow-lg{--tw-shadow:0 8px 44px 0 var(--shadow-lg,#2764d914);--tw-shadow-colored:0 8px 44px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.\[text-wrap\:pretty\]{text-wrap:pretty}.last\:mb-0:last-child{margin-bottom:0}.rtl\:scale-x-\[-1\]:where([dir=rtl],[dir=rtl] *){--tw-scale-x:-1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
|
package/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export type { UseCitationMarkdownComponentsCallbacks } from './hooks/useCitation
|
|
|
13
13
|
export { gatherSameSourceAnnotations, groupAnnotations, groupAnnotationsByCitId, groupAnnotationsBySource, } from './utils/group-annotations-by-source';
|
|
14
14
|
export type { AnnotationGroup } from './utils/group-annotations-by-source';
|
|
15
15
|
export { annotationHighlightId, annotationsToPdfHighlights, annotationToOfficeHighlightLocations, getAnnotationPdfPage, isDocxRangeSelector, isExcelRcRangeSelector, isPptxRangeSelector, resolveMessageAnnotations, } from './utils/annotation';
|
|
16
|
-
export type { DocxOfficeHighlightLocation, ExcelOfficeHighlightLocation, OfficeHighlightLocation, PptxOfficeHighlightLocation, } from './models/office-highlight';
|
|
16
|
+
export type { DocxOfficeHighlightLocation, DocxTableRowOfficeHighlightLocation, ExcelOfficeHighlightLocation, OfficeHighlightLocation, PptxOfficeHighlightLocation, PptxTableRowOfficeHighlightLocation, } from './models/office-highlight';
|
|
17
17
|
export { injectCitationSentinels, replaceSentinelsInChildren, stripCitTagsWhileStreaming, } from './utils/citation-injection';
|
|
18
18
|
export { isReferenceOnlyAttachment, parsePdfPageReference, getReferenceAttachmentGroups, } from './utils/reference-attachment';
|
|
19
19
|
export type { PdfPageReference } from './utils/reference-attachment';
|
package/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,YAAY,EACV,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAClF,YAAY,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAG5F,OAAO,EACL,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,qEAAqE,CAAC;AACpH,YAAY,EAAE,sCAAsC,EAAE,MAAM,qEAAqE,CAAC;AAGlI,OAAO,EACL,2BAA2B,EAC3B,gBAAgB,EAChB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAE3E,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,oCAAoC,EACpC,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,EACvB,2BAA2B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,YAAY,EACV,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAClF,YAAY,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAG5F,OAAO,EACL,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,qEAAqE,CAAC;AACpH,YAAY,EAAE,sCAAsC,EAAE,MAAM,qEAAqE,CAAC;AAGlI,OAAO,EACL,2BAA2B,EAC3B,gBAAgB,EAChB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAE3E,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,oCAAoC,EACpC,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,2BAA2B,EAC3B,mCAAmC,EACnC,4BAA4B,EAC5B,uBAAuB,EACvB,2BAA2B,EAC3B,mCAAmC,GACpC,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC"}
|
package/index.js
CHANGED
|
@@ -146,13 +146,40 @@ var T = {
|
|
|
146
146
|
labelClassName: l
|
|
147
147
|
})
|
|
148
148
|
});
|
|
149
|
-
}, N = {
|
|
149
|
+
}, N = (e) => {
|
|
150
|
+
let t = e.trim();
|
|
151
|
+
if (!t.startsWith("|") || !t.endsWith("|") || /[\r\n]/.test(t)) return;
|
|
152
|
+
let n = [], r = "";
|
|
153
|
+
for (let e = 1; e < t.length; e += 1) {
|
|
154
|
+
let i = t[e], a = t[e + 1];
|
|
155
|
+
i === "\\" && a != null && /[!-/:-@[-`{-~]/.test(a) ? (r += a, e += 1) : i === "|" ? (n.push(r.trim()), r = "") : r += i;
|
|
156
|
+
}
|
|
157
|
+
if (!(r !== "" || n.length < 2 || n.every((e) => e === "" || /^:?-{3,}:?$/.test(e)))) return n;
|
|
158
|
+
}, ee = (e) => {
|
|
159
|
+
if (e.type !== "docx_text_anchor" && e.type !== "pptx_text_anchor") return;
|
|
160
|
+
let { text: t, occurrence: n, slide: r } = e;
|
|
161
|
+
if (typeof t != "string" || typeof n != "number" || !Number.isSafeInteger(n) || n < 1) return;
|
|
162
|
+
let i = N(t);
|
|
163
|
+
if (i != null) {
|
|
164
|
+
if (e.type === "docx_text_anchor") return {
|
|
165
|
+
type: "docx_text_anchor",
|
|
166
|
+
cells: i,
|
|
167
|
+
occurrence: n
|
|
168
|
+
};
|
|
169
|
+
if (!(typeof r != "number" || !Number.isSafeInteger(r) || r < 1)) return {
|
|
170
|
+
type: "pptx_text_anchor",
|
|
171
|
+
cells: i,
|
|
172
|
+
occurrence: n,
|
|
173
|
+
slide: r
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
}, te = {
|
|
150
177
|
backgroundColor: "transparent",
|
|
151
178
|
borderColor: "var(--stroke-accent, #1D4ED8)",
|
|
152
179
|
borderWidth: "2px",
|
|
153
180
|
opacity: .5,
|
|
154
181
|
hoverOpacity: .5
|
|
155
|
-
},
|
|
182
|
+
}, ne = (e) => {
|
|
156
183
|
if (typeof e != "object" || !e) return;
|
|
157
184
|
let t = e, { lt: n, wh: r } = t;
|
|
158
185
|
if (Array.isArray(n) && Array.isArray(r) && n.length >= 2 && r.length >= 2) {
|
|
@@ -182,7 +209,7 @@ var T = {
|
|
|
182
209
|
x2: i,
|
|
183
210
|
y2: a
|
|
184
211
|
});
|
|
185
|
-
} else t.type === "pdf_region" && (n =
|
|
212
|
+
} else t.type === "pdf_region" && (n = ne(t.bbox));
|
|
186
213
|
if (n == null) return;
|
|
187
214
|
let i = t.page;
|
|
188
215
|
if (!(typeof i != "number" || !Number.isInteger(i) || i < 1) && [
|
|
@@ -197,7 +224,7 @@ var T = {
|
|
|
197
224
|
x2: n.x2,
|
|
198
225
|
y2: n.y2
|
|
199
226
|
};
|
|
200
|
-
},
|
|
227
|
+
}, re = (e) => e.flatMap((e, t) => {
|
|
201
228
|
let n = e.body?.selector;
|
|
202
229
|
if (n == null) return [];
|
|
203
230
|
let i = (Array.isArray(n) ? n : [n]).flatMap((e) => {
|
|
@@ -208,9 +235,9 @@ var T = {
|
|
|
208
235
|
return i.length === 0 ? [] : [{
|
|
209
236
|
id: String(e.index ?? t),
|
|
210
237
|
bboxes: i,
|
|
211
|
-
style:
|
|
238
|
+
style: te
|
|
212
239
|
}];
|
|
213
|
-
}),
|
|
240
|
+
}), ie = (e, t) => String(e.index ?? t), ae = (e) => {
|
|
214
241
|
let t = e.body?.selector;
|
|
215
242
|
if (t == null) return;
|
|
216
243
|
let n = Array.isArray(t) ? t : [t];
|
|
@@ -219,26 +246,26 @@ var T = {
|
|
|
219
246
|
let t = P(e);
|
|
220
247
|
if (t != null) return t.page;
|
|
221
248
|
}
|
|
222
|
-
},
|
|
249
|
+
}, F = (e) => {
|
|
223
250
|
let t = e.custom_content?.annotations;
|
|
224
251
|
if (t?.length) return t.filter((e) => e != null && e.body?.source?.attachment?.url != null).map(a);
|
|
225
252
|
let n = e.custom_fields;
|
|
226
253
|
if (typeof n != "object" || !n) return [];
|
|
227
254
|
let r = n.annotations;
|
|
228
255
|
return !Array.isArray(r) || r.length === 0 ? [] : o(r, e.custom_content?.attachments ?? []).map(a);
|
|
229
|
-
},
|
|
256
|
+
}, I = (e) => {
|
|
230
257
|
if (e.type !== "docx_text_range") return !1;
|
|
231
258
|
let t = e;
|
|
232
259
|
return typeof t.story == "string" && Array.isArray(t.path) && t.path.every((e) => typeof e == "number") && typeof t.start == "number" && typeof t.end == "number" && typeof t.text == "string";
|
|
233
|
-
},
|
|
260
|
+
}, L = (e) => {
|
|
234
261
|
if (e.type !== "pptx_text_range") return !1;
|
|
235
262
|
let t = e;
|
|
236
263
|
return typeof t.slide == "number" && typeof t.shape_id == "string" && typeof t.start == "number" && typeof t.end == "number" && typeof t.text == "string";
|
|
237
|
-
},
|
|
264
|
+
}, R = (e) => typeof e == "object" && !!e && typeof e.row == "number" && typeof e.col == "number", z = (e) => {
|
|
238
265
|
if (e.type !== "excel_rc_range") return !1;
|
|
239
266
|
let t = e;
|
|
240
|
-
return typeof t.sheet == "string" &&
|
|
241
|
-
},
|
|
267
|
+
return typeof t.sheet == "string" && R(t.start) && (t.end === void 0 || t.end === null || R(t.end));
|
|
268
|
+
}, oe = (e) => {
|
|
242
269
|
let { story: t, path: n, start: r, end: i, text: a } = e;
|
|
243
270
|
if (!(!n.every((e) => Number.isInteger(e)) || !Number.isInteger(r) || !Number.isInteger(i) || r < 0 || i < r)) return {
|
|
244
271
|
type: "docx_text_range",
|
|
@@ -248,7 +275,7 @@ var T = {
|
|
|
248
275
|
endExclusive: i,
|
|
249
276
|
text: a
|
|
250
277
|
};
|
|
251
|
-
},
|
|
278
|
+
}, se = (e) => {
|
|
252
279
|
let { slide: t, shape_id: n, start: r, end: i, text: a } = e;
|
|
253
280
|
if (!(!Number.isInteger(t) || t < 1 || !Number.isInteger(r) || !Number.isInteger(i) || r < 0 || i < r)) return {
|
|
254
281
|
type: "pptx_text_range",
|
|
@@ -258,7 +285,7 @@ var T = {
|
|
|
258
285
|
endExclusive: i,
|
|
259
286
|
text: a
|
|
260
287
|
};
|
|
261
|
-
},
|
|
288
|
+
}, ce = (e) => {
|
|
262
289
|
let { sheet: t, start: n, end: r } = e;
|
|
263
290
|
if (!(t.length === 0 || !Number.isInteger(n.row) || !Number.isInteger(n.col) || n.row < 1 || n.col < 1)) {
|
|
264
291
|
if (r == null) return {
|
|
@@ -273,29 +300,30 @@ var T = {
|
|
|
273
300
|
end: r
|
|
274
301
|
};
|
|
275
302
|
}
|
|
276
|
-
},
|
|
303
|
+
}, le = (e) => {
|
|
277
304
|
let t = e.body?.selector;
|
|
278
305
|
return t == null ? [] : (Array.isArray(t) ? t : [t]).flatMap((e) => {
|
|
279
306
|
if (!r(e)) return [];
|
|
280
|
-
if (
|
|
281
|
-
let t =
|
|
307
|
+
if (I(e)) {
|
|
308
|
+
let t = oe(e);
|
|
282
309
|
return t ? [t] : [];
|
|
283
310
|
}
|
|
284
|
-
if (
|
|
285
|
-
let t =
|
|
311
|
+
if (L(e)) {
|
|
312
|
+
let t = se(e);
|
|
286
313
|
return t ? [t] : [];
|
|
287
314
|
}
|
|
288
|
-
if (
|
|
289
|
-
let t =
|
|
315
|
+
if (z(e)) {
|
|
316
|
+
let t = ce(e);
|
|
290
317
|
return t ? [t] : [];
|
|
291
318
|
}
|
|
292
|
-
|
|
319
|
+
let t = ee(e);
|
|
320
|
+
return t ? [t] : [];
|
|
293
321
|
});
|
|
294
|
-
},
|
|
322
|
+
}, ue = (e, t) => C(() => t ? [] : F(e), [t, e]), de = {
|
|
295
323
|
openOwnerKey: null,
|
|
296
324
|
activeIndexByGroup: {}
|
|
297
|
-
},
|
|
298
|
-
let [e, t] = w(
|
|
325
|
+
}, B = () => {
|
|
326
|
+
let [e, t] = w(de), n = b((e) => {
|
|
299
327
|
t((t) => ({
|
|
300
328
|
...t,
|
|
301
329
|
openOwnerKey: e
|
|
@@ -339,7 +367,7 @@ var T = {
|
|
|
339
367
|
}).sort((e, t) => t.pos - e.pos), r = e;
|
|
340
368
|
for (let { idx: e, pos: t } of n) r = `${r.slice(0, t)}⟦C${e}⟧${r.slice(t)}`;
|
|
341
369
|
return r;
|
|
342
|
-
},
|
|
370
|
+
}, fe = /<cit\s+data-id=(?:"[^"]+"|'[^']+')\s*>\s*<\/cit>/g, pe = /^<cit\s+data-id=(?:"[^"]+"|'[^']+')\s*>\s*<\/cit>$/, me = /<cit\s+data-id=(?:"[^"]+"|'[^']+')\s*>\s*<\/cit>|<\/?cit\b[^>]*>|<\/?cit\b[^>]*$/gi, he = (e) => e.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">"), U = (e) => e.replace(me, (e) => pe.test(e) ? e : he(e)), W = (e) => U(e).replace(fe, ""), G = (e, t) => {
|
|
343
371
|
if (typeof e == "string") {
|
|
344
372
|
let n = e.split(V);
|
|
345
373
|
if (n.length === 1) return e;
|
|
@@ -349,18 +377,18 @@ var T = {
|
|
|
349
377
|
}), r;
|
|
350
378
|
}
|
|
351
379
|
return Array.isArray(e) ? e.flatMap((e) => {
|
|
352
|
-
let n =
|
|
380
|
+
let n = G(e, t);
|
|
353
381
|
return Array.isArray(n) ? n : [n];
|
|
354
382
|
}) : e;
|
|
355
|
-
},
|
|
383
|
+
}, ge = (e) => {
|
|
356
384
|
let t = e.primaryAnnotation.target?.selector;
|
|
357
385
|
return t?.type === "html_tag" ? t.id : void 0;
|
|
358
|
-
},
|
|
386
|
+
}, _e = (e, t) => /* @__PURE__ */ v(g, { children: [
|
|
359
387
|
e == null ? "<cit>" : `<cit data-id="${e}">`,
|
|
360
388
|
t,
|
|
361
389
|
"</cit>"
|
|
362
|
-
] }),
|
|
363
|
-
let { onPreview: o, onOpenInBrowser: s, buildLabels: c } = n, l = C(() => r ?
|
|
390
|
+
] }), ve = (e, t, n, r = !1, a = !1) => {
|
|
391
|
+
let { onPreview: o, onOpenInBrowser: s, buildLabels: c } = n, l = C(() => r ? W(e) : U(t.length > 0 ? H(e, t) : e), [
|
|
364
392
|
e,
|
|
365
393
|
t,
|
|
366
394
|
r
|
|
@@ -370,7 +398,7 @@ var T = {
|
|
|
370
398
|
markdownComponents: C(() => {
|
|
371
399
|
let e = /* @__PURE__ */ new Map();
|
|
372
400
|
for (let n of t) {
|
|
373
|
-
let t =
|
|
401
|
+
let t = ge(n);
|
|
374
402
|
t != null && e.set(t, n);
|
|
375
403
|
}
|
|
376
404
|
let n = (e) => {
|
|
@@ -387,19 +415,19 @@ var T = {
|
|
|
387
415
|
return r ? n(r) : null;
|
|
388
416
|
}, l = { cit: (t) => {
|
|
389
417
|
let r = t["data-id"] == null ? void 0 : e.get(t["data-id"]);
|
|
390
|
-
return r ? n(r) :
|
|
418
|
+
return r ? n(r) : _e(t["data-id"], t.children);
|
|
391
419
|
} };
|
|
392
420
|
return t.length === 0 ? u ? l : {} : {
|
|
393
421
|
...l,
|
|
394
422
|
p: ({ children: e, ...t }) => /* @__PURE__ */ _("p", {
|
|
395
423
|
...t,
|
|
396
424
|
className: i(a ? "dial-small-paragraph-text" : "dial-body-paragraph-text", "mb-3 [overflow-wrap:anywhere] [text-wrap:pretty] last:mb-0"),
|
|
397
|
-
children:
|
|
425
|
+
children: G(e, r)
|
|
398
426
|
}),
|
|
399
427
|
li: ({ children: e, ...t }) => /* @__PURE__ */ _("li", {
|
|
400
428
|
...t,
|
|
401
429
|
className: "mb-1.5 last:mb-0",
|
|
402
|
-
children:
|
|
430
|
+
children: G(e, r)
|
|
403
431
|
})
|
|
404
432
|
};
|
|
405
433
|
}, [
|
|
@@ -411,26 +439,26 @@ var T = {
|
|
|
411
439
|
u
|
|
412
440
|
])
|
|
413
441
|
};
|
|
414
|
-
},
|
|
442
|
+
}, K = (e) => {
|
|
415
443
|
try {
|
|
416
444
|
return decodeURIComponent(e);
|
|
417
445
|
} catch {
|
|
418
446
|
return e;
|
|
419
447
|
}
|
|
420
|
-
},
|
|
448
|
+
}, q = (e) => {
|
|
421
449
|
try {
|
|
422
450
|
let t = new URL(e);
|
|
423
|
-
return t.pathname.split("/").map((e) =>
|
|
451
|
+
return t.pathname.split("/").map((e) => K(e)).filter(Boolean).at(-1) ?? t.hostname;
|
|
424
452
|
} catch {
|
|
425
|
-
return e.split("/").map((e) =>
|
|
453
|
+
return e.split("/").map((e) => K(e)).filter(Boolean).at(-1) ?? e;
|
|
426
454
|
}
|
|
427
|
-
}, J = (e, t) => e.body?.source?.attachment?.title ??
|
|
455
|
+
}, J = (e, t) => e.body?.source?.attachment?.title ?? q(t), Y = (e) => {
|
|
428
456
|
let t = e.target?.selector;
|
|
429
457
|
return t?.type === "html_tag" ? t : void 0;
|
|
430
|
-
},
|
|
458
|
+
}, ye = (e) => Y(e) != null, X = (e) => {
|
|
431
459
|
let t = /* @__PURE__ */ new Map();
|
|
432
460
|
for (let n of e) {
|
|
433
|
-
if (
|
|
461
|
+
if (ye(n)) continue;
|
|
434
462
|
let e = n.body?.source?.attachment?.url;
|
|
435
463
|
if (e == null) continue;
|
|
436
464
|
let r = t.get(e);
|
|
@@ -460,16 +488,16 @@ var T = {
|
|
|
460
488
|
});
|
|
461
489
|
}
|
|
462
490
|
return Array.from(t.values());
|
|
463
|
-
},
|
|
491
|
+
}, be = (e) => [...Z(e), ...X(e)], xe = (e, t) => {
|
|
464
492
|
let n = e.body?.source?.attachment?.url;
|
|
465
493
|
return n == null || !t.includes(e) ? [e] : t.filter((e) => e.body?.source?.attachment?.url === n);
|
|
466
|
-
}, Q = (e) => e.url == null && e.reference_url != null,
|
|
467
|
-
let t =
|
|
494
|
+
}, Q = (e) => e.url == null && e.reference_url != null, Se = /^(.*\.pdf)(?:#page=(\d+))?$/i, $ = (e) => {
|
|
495
|
+
let t = Se.exec(e);
|
|
468
496
|
return t ? {
|
|
469
497
|
baseUrl: t[1],
|
|
470
498
|
page: t[2] == null ? null : Number(t[2])
|
|
471
499
|
} : null;
|
|
472
|
-
},
|
|
500
|
+
}, Ce = (t) => X((t ?? []).filter(Q).map((t) => {
|
|
473
501
|
let n = t.reference_url, r = $(n) != null;
|
|
474
502
|
return { body: {
|
|
475
503
|
quote: t.data,
|
|
@@ -484,4 +512,4 @@ var T = {
|
|
|
484
512
|
} };
|
|
485
513
|
}));
|
|
486
514
|
//#endregion
|
|
487
|
-
export { E as CitationCard, k as CitationCardProvider, M as CitationDropdown, D as CitationMarker,
|
|
515
|
+
export { E as CitationCard, k as CitationCardProvider, M as CitationDropdown, D as CitationMarker, ie as annotationHighlightId, le as annotationToOfficeHighlightLocations, re as annotationsToPdfHighlights, xe as gatherSameSourceAnnotations, ae as getAnnotationPdfPage, Ce as getReferenceAttachmentGroups, be as groupAnnotations, Z as groupAnnotationsByCitId, X as groupAnnotationsBySource, H as injectCitationSentinels, I as isDocxRangeSelector, z as isExcelRcRangeSelector, L as isPptxRangeSelector, Q as isReferenceOnlyAttachment, $ as parsePdfPageReference, G as replaceSentinelsInChildren, F as resolveMessageAnnotations, W as stripCitTagsWhileStreaming, ue as useAnnotations, B as useCitationCard, A as useCitationCardContext, ve as useCitationMarkdownComponents };
|
|
@@ -38,6 +38,26 @@ export interface PptxOfficeHighlightLocation {
|
|
|
38
38
|
/** The cited text, expected to equal the text resolved over `[start, endExclusive)`. */
|
|
39
39
|
text: string;
|
|
40
40
|
}
|
|
41
|
+
/** Temporary table-row location decoded from a DOCX text anchor. */
|
|
42
|
+
export interface DocxTableRowOfficeHighlightLocation {
|
|
43
|
+
/** Wire selector type. */
|
|
44
|
+
type: 'docx_text_anchor';
|
|
45
|
+
/** Plain text of each cell, in column order. */
|
|
46
|
+
cells: string[];
|
|
47
|
+
/** 1-based matching row in the document body. */
|
|
48
|
+
occurrence: number;
|
|
49
|
+
}
|
|
50
|
+
/** Temporary table-row location decoded from a PPTX text anchor. */
|
|
51
|
+
export interface PptxTableRowOfficeHighlightLocation {
|
|
52
|
+
/** Wire selector type. */
|
|
53
|
+
type: 'pptx_text_anchor';
|
|
54
|
+
/** Plain text of each cell, in column order. */
|
|
55
|
+
cells: string[];
|
|
56
|
+
/** 1-based matching row on the specified slide. */
|
|
57
|
+
occurrence: number;
|
|
58
|
+
/** 1-based slide number. */
|
|
59
|
+
slide: number;
|
|
60
|
+
}
|
|
41
61
|
/** A validated, normalised XLSX cell or same-row cell-range location. */
|
|
42
62
|
export interface ExcelOfficeHighlightLocation {
|
|
43
63
|
/** Discriminates this location within `OfficeHighlightLocation`. Mirrors the wire selector's `type`. */
|
|
@@ -58,5 +78,5 @@ export interface ExcelOfficeHighlightLocation {
|
|
|
58
78
|
* cycle is not permitted). `libs/chat-hooks`, which already depends on both,
|
|
59
79
|
* maps this into `OoxmlHighlight`/`OoxmlHighlightLocation`.
|
|
60
80
|
*/
|
|
61
|
-
export type OfficeHighlightLocation = DocxOfficeHighlightLocation | PptxOfficeHighlightLocation | ExcelOfficeHighlightLocation;
|
|
81
|
+
export type OfficeHighlightLocation = DocxOfficeHighlightLocation | PptxOfficeHighlightLocation | DocxTableRowOfficeHighlightLocation | PptxTableRowOfficeHighlightLocation | ExcelOfficeHighlightLocation;
|
|
62
82
|
//# sourceMappingURL=office-highlight.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"office-highlight.d.ts","sourceRoot":"","sources":["../../src/models/office-highlight.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE;;;;;GAKG;AACH,MAAM,WAAW,2BAA2B;IAC1C,wGAAwG;IACxG,IAAI,EAAE,iBAAiB,CAAC;IACxB,4GAA4G;IAC5G,KAAK,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,YAAY,EAAE,MAAM,CAAC;IACrB,wFAAwF;IACxF,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC1C,wGAAwG;IACxG,IAAI,EAAE,iBAAiB,CAAC;IACxB,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,YAAY,EAAE,MAAM,CAAC;IACrB,wFAAwF;IACxF,IAAI,EAAE,MAAM,CAAC;CACd;AAED,yEAAyE;AACzE,MAAM,WAAW,4BAA4B;IAC3C,wGAAwG;IACxG,IAAI,EAAE,gBAAgB,CAAC;IACvB,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,KAAK,EAAE,gBAAgB,CAAC;IACxB,iGAAiG;IACjG,GAAG,CAAC,EAAE,gBAAgB,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,uBAAuB,GAC/B,2BAA2B,GAC3B,2BAA2B,GAC3B,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"office-highlight.d.ts","sourceRoot":"","sources":["../../src/models/office-highlight.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE;;;;;GAKG;AACH,MAAM,WAAW,2BAA2B;IAC1C,wGAAwG;IACxG,IAAI,EAAE,iBAAiB,CAAC;IACxB,4GAA4G;IAC5G,KAAK,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,YAAY,EAAE,MAAM,CAAC;IACrB,wFAAwF;IACxF,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC1C,wGAAwG;IACxG,IAAI,EAAE,iBAAiB,CAAC;IACxB,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,YAAY,EAAE,MAAM,CAAC;IACrB,wFAAwF;IACxF,IAAI,EAAE,MAAM,CAAC;CACd;AAED,oEAAoE;AACpE,MAAM,WAAW,mCAAmC;IAClD,0BAA0B;IAC1B,IAAI,EAAE,kBAAkB,CAAC;IACzB,gDAAgD;IAChD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,oEAAoE;AACpE,MAAM,WAAW,mCAAmC;IAClD,0BAA0B;IAC1B,IAAI,EAAE,kBAAkB,CAAC;IACzB,gDAAgD;IAChD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,yEAAyE;AACzE,MAAM,WAAW,4BAA4B;IAC3C,wGAAwG;IACxG,IAAI,EAAE,gBAAgB,CAAC;IACvB,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,KAAK,EAAE,gBAAgB,CAAC;IACxB,iGAAiG;IACjG,GAAG,CAAC,EAAE,gBAAgB,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,uBAAuB,GAC/B,2BAA2B,GAC3B,2BAA2B,GAC3B,mCAAmC,GACnC,mCAAmC,GACnC,4BAA4B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@epam/ai-dial-quotations",
|
|
3
3
|
"description": "Citation and annotation components, hooks, and utilities for AI DIAL conversations",
|
|
4
|
-
"version": "1.2.0-dev.
|
|
4
|
+
"version": "1.2.0-dev.38",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./index.js",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
25
|
"react": "^19.2.8",
|
|
26
|
-
"@epam/ai-dial-chat-shared": "1.2.0-dev.
|
|
26
|
+
"@epam/ai-dial-chat-shared": "1.2.0-dev.38",
|
|
27
27
|
"@epam/ai-dial-ui-kit": "^0.14.2"
|
|
28
28
|
},
|
|
29
29
|
"repository": {
|
package/utils/annotation.d.ts
CHANGED
|
@@ -45,7 +45,7 @@ export declare const isExcelRcRangeSelector: (selector: AnnotationSelector) => s
|
|
|
45
45
|
/**
|
|
46
46
|
* Converts an annotation's `body.selector` (scalar or array) to validated
|
|
47
47
|
* `OfficeHighlightLocation` entries, skipping any selector that is not a
|
|
48
|
-
* recognised Office range or that fails validation
|
|
48
|
+
* recognised Office range or temporary table-row anchor, or that fails validation.
|
|
49
49
|
*/
|
|
50
50
|
export declare const annotationToOfficeHighlightLocations: (annotation: Annotation) => OfficeHighlightLocation[];
|
|
51
51
|
//# sourceMappingURL=annotation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotation.d.ts","sourceRoot":"","sources":["../../src/utils/annotation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,OAAO,EACP,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AAMnC,OAAO,KAAK,EAGV,kBAAkB,EACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"annotation.d.ts","sourceRoot":"","sources":["../../src/utils/annotation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,OAAO,EACP,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AAMnC,OAAO,KAAK,EAGV,kBAAkB,EACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAsG1E;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,GACrC,aAAa,UAAU,EAAE,KACxB,kBAAkB,EAoBjB,CAAC;AAEL,oHAAoH;AACpH,eAAO,MAAM,qBAAqB,GAChC,YAAY,UAAU,EACtB,eAAe,MAAM,KACpB,MAAmD,CAAC;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAC/B,YAAY,UAAU,KACrB,MAAM,GAAG,SAWX,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,GAAI,SAAS,OAAO,KAAG,UAAU,EAoBtE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,UAAU,kBAAkB,KAC3B,QAAQ,IAAI,iBAWd,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAC9B,UAAU,kBAAkB,KAC3B,QAAQ,IAAI,iBAUd,CAAC;AAUF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GACjC,UAAU,kBAAkB,KAC3B,QAAQ,IAAI,oBAQd,CAAC;AA8FF;;;;GAIG;AACH,eAAO,MAAM,oCAAoC,GAC/C,YAAY,UAAU,KACrB,uBAAuB,EAuBzB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { AnnotationSelector } from '@epam/ai-dial-chat-shared';
|
|
2
|
+
import { DocxTableRowOfficeHighlightLocation, PptxTableRowOfficeHighlightLocation } from '../models/office-highlight';
|
|
3
|
+
/** Returns a validated table-row location for the temporary Office anchor format. */
|
|
4
|
+
export declare const normalizeOfficeTableAnchor: (selector: AnnotationSelector) => DocxTableRowOfficeHighlightLocation | PptxTableRowOfficeHighlightLocation | undefined;
|
|
5
|
+
//# sourceMappingURL=office-table-anchor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"office-table-anchor.d.ts","sourceRoot":"","sources":["../../src/utils/office-table-anchor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EACV,mCAAmC,EACnC,mCAAmC,EACpC,MAAM,4BAA4B,CAAC;AAwCpC,qFAAqF;AACrF,eAAO,MAAM,0BAA0B,GACrC,UAAU,kBAAkB,KAE1B,mCAAmC,GACnC,mCAAmC,GACnC,SA2BH,CAAC"}
|