@sinequa/assistant 3.9.8 → 3.10.0
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/chat/chat-message/chat-message.component.d.ts +2 -4
- package/chat/chat.component.d.ts +4 -3
- package/chat/chat.service.d.ts +16 -1
- package/chat/custom-elements/components/code-block.component.d.ts +11 -0
- package/chat/custom-elements/components/document-reference.component.d.ts +13 -0
- package/chat/custom-elements/components/i18n/de.json +5 -0
- package/chat/custom-elements/components/i18n/en.json +5 -0
- package/chat/custom-elements/components/i18n/fr.json +5 -0
- package/chat/custom-elements/components/image-reference.component.d.ts +14 -0
- package/chat/custom-elements/components/page-reference.component.d.ts +14 -0
- package/chat/custom-elements/components/table-tools.component.d.ts +11 -0
- package/chat/custom-elements/custom-elements.config.d.ts +2 -0
- package/chat/{services → custom-elements}/custom-elements.service.d.ts +1 -0
- package/chat/documents-upload/documents-upload.service.d.ts +2 -2
- package/chat/fetch-patcher/app-injector.d.ts +9 -0
- package/chat/fetch-patcher/fetch-patcher.d.ts +31 -0
- package/chat/fetch-patcher/global-error-handler.service.d.ts +36 -0
- package/chat/fetch-patcher/handle-unauthorized-logic.d.ts +13 -0
- package/chat/markdown-it/markdown-it.config.d.ts +4 -0
- package/chat/markdown-it/plugins/document-reference.plugin.d.ts +8 -0
- package/chat/markdown-it/plugins/image-reference.plugin.d.ts +9 -0
- package/chat/markdown-it/plugins/page-reference.plugin.d.ts +9 -0
- package/chat/markdown-it/plugins/table-tools.plugin.d.ts +2 -0
- package/chat/public-api.d.ts +21 -2
- package/chat/{chat-reference → references/chat-reference}/chat-reference.component.d.ts +1 -1
- package/chat/references/chat-reference-image/chat-reference-image.component.d.ts +20 -0
- package/chat/references/chat-reference-page/chat-reference-page.component.d.ts +20 -0
- package/chat/references/i18n/de.json +4 -4
- package/chat/references/i18n/en.json +1 -1
- package/chat/references/i18n/fr.json +1 -1
- package/chat/saved-chats/i18n/de.json +2 -1
- package/chat/saved-chats/i18n/en.json +2 -1
- package/chat/saved-chats/i18n/fr.json +2 -1
- package/chat/saved-chats/saved-chats.component.d.ts +4 -0
- package/chat/saved-chats/saved-chats.service.d.ts +2 -2
- package/chat/services/assistant-metadata.service.d.ts +5 -1
- package/chat/services/signalR.web.service.d.ts +0 -11
- package/chat/smart-renderer/smart-renderer.d.ts +2 -0
- package/chat/token-progress-bar/i18n/en.json +1 -1
- package/chat/types/message-reference.types.d.ts +3 -0
- package/chat/types.d.ts +55 -35
- package/chat/version.d.ts +1 -0
- package/esm2022/chat/chat-message/chat-message.component.mjs +15 -12
- package/esm2022/chat/chat-settings-v3/chat-settings-v3.component.mjs +22 -19
- package/esm2022/chat/chat.component.mjs +39 -26
- package/esm2022/chat/chat.service.mjs +39 -6
- package/esm2022/chat/custom-elements/components/code-block.component.mjs +97 -0
- package/esm2022/chat/custom-elements/components/document-reference.component.mjs +85 -0
- package/esm2022/chat/custom-elements/components/image-reference.component.mjs +79 -0
- package/esm2022/chat/custom-elements/components/page-reference.component.mjs +79 -0
- package/esm2022/chat/custom-elements/components/table-tools.component.mjs +111 -0
- package/esm2022/chat/custom-elements/custom-elements.config.mjs +6 -0
- package/esm2022/chat/custom-elements/custom-elements.service.mjs +35 -0
- package/esm2022/chat/debug-message/debug-message.service.mjs +3 -3
- package/esm2022/chat/documents-upload/document-list/document-list.component.mjs +3 -3
- package/esm2022/chat/documents-upload/document-overview/document-overview.component.mjs +5 -5
- package/esm2022/chat/documents-upload/documents-upload.service.mjs +11 -9
- package/esm2022/chat/fetch-patcher/app-injector.mjs +19 -0
- package/esm2022/chat/fetch-patcher/fetch-patcher.mjs +62 -0
- package/esm2022/chat/fetch-patcher/global-error-handler.service.mjs +92 -0
- package/esm2022/chat/fetch-patcher/handle-unauthorized-logic.mjs +19 -0
- package/esm2022/chat/markdown-it/markdown-it.config.mjs +6 -0
- package/esm2022/chat/markdown-it/plugins/code-block.plugin.mjs +14 -0
- package/esm2022/chat/markdown-it/plugins/document-reference.plugin.mjs +66 -0
- package/esm2022/chat/markdown-it/plugins/image-reference.plugin.mjs +67 -0
- package/esm2022/chat/markdown-it/plugins/link.plugin.mjs +15 -0
- package/esm2022/chat/markdown-it/plugins/page-reference.plugin.mjs +67 -0
- package/esm2022/chat/markdown-it/plugins/table-tools.plugin.mjs +12 -0
- package/esm2022/chat/public-api.mjs +23 -3
- package/esm2022/chat/references/chat-reference/chat-reference.component.mjs +72 -0
- package/esm2022/chat/references/chat-reference-image/chat-reference-image.component.mjs +42 -0
- package/esm2022/chat/references/chat-reference-page/chat-reference-page.component.mjs +42 -0
- package/esm2022/chat/saved-chats/saved-chats.component.mjs +26 -6
- package/esm2022/chat/saved-chats/saved-chats.service.mjs +14 -10
- package/esm2022/chat/services/app.service.mjs +7 -2
- package/esm2022/chat/services/assistant-metadata.service.mjs +40 -9
- package/esm2022/chat/services/assistant-ws-frames.service.mjs +7 -4
- package/esm2022/chat/services/signalR-connection.service.mjs +3 -6
- package/esm2022/chat/services/signalR.web.service.mjs +3 -13
- package/esm2022/chat/services/user-settings.service.mjs +6 -3
- package/esm2022/chat/smart-renderer/smart-renderer.mjs +19 -18
- package/esm2022/chat/types/message-reference.types.mjs +1 -1
- package/esm2022/chat/types.mjs +10 -8
- package/esm2022/chat/utils/utils.service.mjs +11 -11
- package/esm2022/chat/version.mjs +3 -0
- package/fesm2022/sinequa-assistant-chat.mjs +1662 -1382
- package/fesm2022/sinequa-assistant-chat.mjs.map +1 -1
- package/package.json +6 -6
- package/chat/chat-reference/i18n/de.json +0 -4
- package/chat/chat-reference/i18n/en.json +0 -4
- package/chat/chat-reference/i18n/fr.json +0 -4
- package/chat/directives/copy-to-clipboard.directive.d.ts +0 -8
- package/chat/markdown-it-plugins/image-reference.plugin.d.ts +0 -3
- package/chat/markdown-it-plugins/page-reference.plugin.d.ts +0 -3
- package/chat/markdown-it-plugins/reference.plugin.d.ts +0 -7
- package/chat/references/inline-image-reference.d.ts +0 -21
- package/chat/references/inline-page-reference.d.ts +0 -21
- package/chat/references/references.component.d.ts +0 -43
- package/esm2022/chat/chat-reference/chat-reference.component.mjs +0 -74
- package/esm2022/chat/directives/copy-to-clipboard.directive.mjs +0 -68
- package/esm2022/chat/markdown-it-plugins/code-block.plugin.mjs +0 -14
- package/esm2022/chat/markdown-it-plugins/image-reference.plugin.mjs +0 -58
- package/esm2022/chat/markdown-it-plugins/link.plugin.mjs +0 -15
- package/esm2022/chat/markdown-it-plugins/page-reference.plugin.mjs +0 -60
- package/esm2022/chat/markdown-it-plugins/reference.plugin.mjs +0 -68
- package/esm2022/chat/references/inline-image-reference.mjs +0 -110
- package/esm2022/chat/references/inline-page-reference.mjs +0 -110
- package/esm2022/chat/references/references.component.mjs +0 -290
- package/esm2022/chat/services/custom-elements.service.mjs +0 -43
- /package/chat/{markdown-it-plugins → markdown-it/plugins}/code-block.plugin.d.ts +0 -0
- /package/chat/{markdown-it-plugins → markdown-it/plugins}/link.plugin.d.ts +0 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A markdown-it plugin to convert [Img-x.y.z], where x, y and z are numbers, into a <image-reference id="x.y.z">Img-x.y.z</image-reference> HTML tag.
|
|
3
|
+
*
|
|
4
|
+
* For example, when attachment x is found in the referencesMap and which contains the image z of the part y, [Img-x.y.z] will be converted to <image-reference id="x.y.z">Img-x.y.z</image-reference>.
|
|
5
|
+
* If the attachment x, the part y or the image z is not found, it will remain as plain text [Img-x.y.z] in a span tag : <span>[Img-x.y.z]</span>
|
|
6
|
+
*/
|
|
7
|
+
export const EMBEDDED_IMAGE_NAME = "embedded-image-reference";
|
|
8
|
+
const EMBEDDED_IMAGE_REGEX = /\[(Img-([0-9]+(?:\.[0-9]+){2}))\]/g;
|
|
9
|
+
export function markdownItImageReferencePlugin(md) {
|
|
10
|
+
md.core.ruler.after("inline", EMBEDDED_IMAGE_NAME, (state) => {
|
|
11
|
+
const getEmbeddedImageReference = state?.env?.getEmbeddedImageReference;
|
|
12
|
+
state.tokens.forEach((blockToken) => {
|
|
13
|
+
if (blockToken.type !== "inline" || !blockToken.children)
|
|
14
|
+
return;
|
|
15
|
+
const newChildren = [];
|
|
16
|
+
blockToken.children.forEach((token) => {
|
|
17
|
+
if (token.type !== "text") {
|
|
18
|
+
newChildren.push(token);
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
let lastIndex = 0;
|
|
22
|
+
let match;
|
|
23
|
+
const text = token.content;
|
|
24
|
+
EMBEDDED_IMAGE_REGEX.lastIndex = 0; // Reset regex state
|
|
25
|
+
while ((match = EMBEDDED_IMAGE_REGEX.exec(text)) !== null) {
|
|
26
|
+
// Add leading text
|
|
27
|
+
if (match.index > lastIndex) {
|
|
28
|
+
const t = new state.Token("text", "", 0);
|
|
29
|
+
t.content = text.slice(lastIndex, match.index);
|
|
30
|
+
newChildren.push(t);
|
|
31
|
+
}
|
|
32
|
+
// Add embedded image reference token
|
|
33
|
+
const refToken = new state.Token(EMBEDDED_IMAGE_NAME, "", 0);
|
|
34
|
+
refToken.content = match[2]; // e.g., "1.2.3"
|
|
35
|
+
refToken.meta = { full: match[1] }; // e.g., "Img-1.2.3"
|
|
36
|
+
refToken.attrs = [];
|
|
37
|
+
if (getEmbeddedImageReference) {
|
|
38
|
+
const attachment = getEmbeddedImageReference(match[2]);
|
|
39
|
+
if (attachment) {
|
|
40
|
+
refToken.attrs.push(['attachment', btoa(encodeURIComponent(JSON.stringify(attachment)))]);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
newChildren.push(refToken);
|
|
44
|
+
lastIndex = match.index + match[0].length;
|
|
45
|
+
}
|
|
46
|
+
// Add trailing text
|
|
47
|
+
if (lastIndex < text.length) {
|
|
48
|
+
const t = new state.Token("text", "", 0);
|
|
49
|
+
t.content = text.slice(lastIndex);
|
|
50
|
+
newChildren.push(t);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
blockToken.children = newChildren;
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
// Optional: renderer for the custom token
|
|
57
|
+
md.renderer.rules[EMBEDDED_IMAGE_NAME] = (tokens, idx) => {
|
|
58
|
+
const imgId = tokens[idx].content;
|
|
59
|
+
const attrs = tokens[idx].attrs || [];
|
|
60
|
+
const attachment = attrs[0];
|
|
61
|
+
if (!attachment) {
|
|
62
|
+
return `<span>[Img-${imgId}]</span>`;
|
|
63
|
+
}
|
|
64
|
+
return `<image-reference id="${imgId}" attachment="${attachment[1]}" class="embedded-image-ref">Img-${imgId}</image-reference>`;
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtcmVmZXJlbmNlLnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fzc2lzdGFudC9jaGF0L21hcmtkb3duLWl0L3BsdWdpbnMvaW1hZ2UtcmVmZXJlbmNlLnBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7R0FLRztBQUVILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLDBCQUEwQixDQUFDO0FBQzlELE1BQU0sb0JBQW9CLEdBQUcsb0NBQW9DLENBQUM7QUFFbEUsTUFBTSxVQUFVLDhCQUE4QixDQUFDLEVBQWM7SUFDM0QsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQzNELE1BQU0seUJBQXlCLEdBQUcsS0FBSyxFQUFFLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQztRQUN4RSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ2xDLElBQUksVUFBVSxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUTtnQkFBRSxPQUFPO1lBRWpFLE1BQU0sV0FBVyxHQUFZLEVBQUUsQ0FBQztZQUVoQyxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNwQyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFLENBQUM7b0JBQzFCLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3hCLE9BQU87Z0JBQ1QsQ0FBQztnQkFFRCxJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUM7Z0JBQ2xCLElBQUksS0FBNkIsQ0FBQztnQkFDbEMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztnQkFFM0Isb0JBQW9CLENBQUMs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QyxDQUFDLENBQUMsb0NBQW9DLEtBQUssb0JBQW9CLENBQUM7SUFDbEksQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIE1hcmtkb3duSXQgZnJvbSBcIm1hcmtkb3duLWl0XCI7XG5pbXBvcnQgVG9rZW4gZnJvbSAnbWFya2Rvd24taXQvbGliL3Rva2VuLm1qcyc7XG4vKipcbiAqIEEgbWFya2Rvd24taXQgcGx1Z2luIHRvIGNvbnZlcnQgW0ltZy14Lnkuel0sIHdoZXJlIHgsIHkgYW5kIHogYXJlIG51bWJlcnMsIGludG8gYSA8aW1hZ2UtcmVmZXJlbmNlIGlkPVwieC55LnpcIj5JbWcteC55Lno8L2ltYWdlLXJlZmVyZW5jZT4gSFRNTCB0YWcuXG4gKlxuICogRm9yIGV4YW1wbGUsIHdoZW4gYXR0YWNobWVudCB4IGlzIGZvdW5kIGluIHRoZSByZWZlcmVuY2VzTWFwIGFuZCB3aGljaCBjb250YWlucyB0aGUgaW1hZ2UgeiBvZiB0aGUgcGFydCB5LCBbSW1nLXgueS56XSB3aWxsIGJlIGNvbnZlcnRlZCB0byA8aW1hZ2UtcmVmZXJlbmNlIGlkPVwieC55LnpcIj5JbWcteC55Lno8L2ltYWdlLXJlZmVyZW5jZT4uXG4gKiBJZiB0aGUgYXR0YWNobWVudCB4LCB0aGUgcGFydCB5IG9yIHRoZSBpbWFnZSB6IGlzIG5vdCBmb3VuZCwgaXQgd2lsbCByZW1haW4gYXMgcGxhaW4gdGV4dCBbSW1nLXgueS56XSBpbiBhIHNwYW4gdGFnIDogPHNwYW4+W0ltZy14Lnkuel08L3NwYW4+XG4gKi9cblxuZXhwb3J0IGNvbnN0IEVNQkVEREVEX0lNQUdFX05BTUUgPSBcImVtYmVkZGVkLWltYWdlLXJlZmVyZW5jZVwiO1xuY29uc3QgRU1CRURERURfSU1BR0VfUkVHRVggPSAvXFxbKEltZy0oWzAtOV0rKD86XFwuWzAtOV0rKXsyfSkpXFxdL2c7XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXJrZG93bkl0SW1hZ2VSZWZlcmVuY2VQbHVnaW4obWQ6IE1hcmtkb3duSXQpIHtcbiAgbWQuY29yZS5ydWxlci5hZnRlcihcImlubGluZVwiLCBFTUJFRERFRF9JTUFHRV9OQU1FLCAoc3RhdGUpID0+IHtcbiAgICBjb25zdCBnZXRFbWJlZGRlZEltYWdlUmVmZXJlbmNlID0gc3RhdGU/LmVudj8uZ2V0RW1iZWRkZWRJbWFnZVJlZmVyZW5jZTtcbiAgICBzdGF0ZS50b2tlbnMuZm9yRWFjaCgoYmxvY2tUb2tlbikgPT4ge1xuICAgICAgaWYgKGJsb2NrVG9rZW4udHlwZSAhPT0gXCJpbmxpbmVcIiB8fCAhYmxvY2tUb2tlbi5jaGlsZHJlbikgcmV0dXJuO1xuXG4gICAgICBjb25zdCBuZXdDaGlsZHJlbjogVG9rZW5bXSA9IFtdO1xuXG4gICAgICBibG9ja1Rva2VuLmNoaWxkcmVuLmZvckVhY2goKHRva2VuKSA9PiB7XG4gICAgICAgIGlmICh0b2tlbi50eXBlICE9PSBcInRleHRcIikge1xuICAgICAgICAgIG5ld0NoaWxkcmVuLnB1c2godG9rZW4pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBsYXN0SW5kZXggPSAwO1xuICAgICAgICBsZXQgbWF0Y2g6IFJlZ0V4cEV4ZWNBcnJheSB8IG51bGw7XG4gICAgICAgIGNvbnN0IHRleHQgPSB0b2tlbi5jb250ZW50O1xuXG4gICAgICAgIEVNQkVEREVEX0lNQUdFX1JFR0VYLmxhc3RJbmRleCA9IDA7IC8vIFJlc2V0IHJlZ2V4IHN0YXRlXG4gICAgICAgIHdoaWxlICgobWF0Y2ggPSBFTUJFRERFRF9JTUFHRV9SRUdFWC5leGVjKHRleHQpKSAhPT0gbnVsbCkge1xuICAgICAgICAgIC8vIEFkZCBsZWFkaW5nIHRleHRcbiAgICAgICAgICBpZiAobWF0Y2guaW5kZXggPiBsYXN0SW5kZXgpIHtcbiAgICAgICAgICAgIGNvbnN0IHQgPSBuZXcgc3RhdGUuVG9rZW4oXCJ0ZXh0XCIsIFwiXCIsIDApO1xuICAgICAgICAgICAgdC5jb250ZW50ID0gdGV4dC5zbGljZShsYXN0SW5kZXgsIG1hdGNoLmluZGV4KTtcbiAgICAgICAgICAgIG5ld0NoaWxkcmVuLnB1c2godCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gQWRkIGVtYmVkZGVkIGltYWdlIHJlZmVyZW5jZSB0b2tlblxuICAgICAgICAgIGNvbnN0IHJlZlRva2VuID0gbmV3IHN0YXRlLlRva2VuKEVNQkVEREVEX0lNQUdFX05BTUUsIFwiXCIsIDApO1xuICAgICAgICAgIHJlZlRva2VuLmNvbnRlbnQgPSBtYXRjaFsyXTsgLy8gZS5nLiwgXCIxLjIuM1wiXG4gICAgICAgICAgcmVmVG9rZW4ubWV0YSA9IHsgZnVsbDogbWF0Y2hbMV0gfTsgLy8gZS5nLiwgXCJJbWctMS4yLjNcIlxuICAgICAgICAgIHJlZlRva2VuLmF0dHJzID0gW107XG4gICAgICAgICAgaWYgKGdldEVtYmVkZGVkSW1hZ2VSZWZlcmVuY2UpIHtcbiAgICAgICAgICAgIGNvbnN0IGF0dGFjaG1lbnQgPSBnZXRFbWJlZGRlZEltYWdlUmVmZXJlbmNlKG1hdGNoWzJdKTtcbiAgICAgICAgICAgIGlmIChhdHRhY2htZW50KSB7XG4gICAgICAgICAgICAgIHJlZlRva2VuLmF0dHJzLnB1c2goWydhdHRhY2htZW50JywgYnRvYShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoYXR0YWNobWVudCkpKV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBuZXdDaGlsZHJlbi5wdXNoKHJlZlRva2VuKTtcblxuICAgICAgICAgIGxhc3RJbmRleCA9IG1hdGNoLmluZGV4ICsgbWF0Y2hbMF0ubGVuZ3RoO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWRkIHRyYWlsaW5nIHRleHRcbiAgICAgICAgaWYgKGxhc3RJbmRleCA8IHRleHQubGVuZ3RoKSB7XG4gICAgICAgICAgY29uc3QgdCA9IG5ldyBzdGF0ZS5Ub2tlbihcInRleHRcIiwgXCJcIiwgMCk7XG4gICAgICAgICAgdC5jb250ZW50ID0gdGV4dC5zbGljZShsYXN0SW5kZXgpO1xuICAgICAgICAgIG5ld0NoaWxkcmVuLnB1c2godCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBibG9ja1Rva2VuLmNoaWxkcmVuID0gbmV3Q2hpbGRyZW47XG4gICAgfSk7XG4gIH0pO1xuXG4gIC8vIE9wdGlvbmFsOiByZW5kZXJlciBmb3IgdGhlIGN1c3RvbSB0b2tlblxuICBtZC5yZW5kZXJlci5ydWxlc1tFTUJFRERFRF9JTUFHRV9OQU1FXSA9ICh0b2tlbnMsIGlkeCkgPT4ge1xuICAgIGNvbnN0IGltZ0lkID0gdG9rZW5zW2lkeF0uY29udGVudDtcbiAgICBjb25zdCBhdHRycyA9IHRva2Vuc1tpZHhdLmF0dHJzIHx8IFtdO1xuICAgIGNvbnN0IGF0dGFjaG1lbnQgPSBhdHRyc1swXTtcbiAgICBpZiAoIWF0dGFjaG1lbnQpIHtcbiAgICAgIHJldHVybiBgPHNwYW4+W0ltZy0ke2ltZ0lkfV08L3NwYW4+YDtcbiAgICB9XG4gICAgcmV0dXJuIGA8aW1hZ2UtcmVmZXJlbmNlIGlkPVwiJHtpbWdJZH1cIiBhdHRhY2htZW50PVwiJHthdHRhY2htZW50WzFdfVwiIGNsYXNzPVwiZW1iZWRkZWQtaW1hZ2UtcmVmXCI+SW1nLSR7aW1nSWR9PC9pbWFnZS1yZWZlcmVuY2U+YDtcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This plugin overrides the default link renderer to add `target="_blank"` and `rel="noopener noreferrer"` to all links.
|
|
3
|
+
*/
|
|
4
|
+
export function markdownItLinkPlugin(md) {
|
|
5
|
+
const defaultRender = md.renderer.rules.link_open || function (tokens, idx, options, env, self) {
|
|
6
|
+
return self.renderToken(tokens, idx, options);
|
|
7
|
+
};
|
|
8
|
+
md.renderer.rules.link_open = function (tokens, idx, options, env, self) {
|
|
9
|
+
tokens[idx].attrPush(['target', '_blank']);
|
|
10
|
+
tokens[idx].attrPush(['rel', 'noopener noreferrer']);
|
|
11
|
+
// pass token to default renderer.
|
|
12
|
+
return defaultRender(tokens, idx, options, env, self);
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3Npc3RhbnQvY2hhdC9tYXJrZG93bi1pdC9wbHVnaW5zL2xpbmsucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOztHQUVHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEVBQWM7SUFDakQsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLFVBQVMsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUk7UUFDM0YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEQsQ0FBQyxDQUFDO0lBRUYsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLFVBQVMsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUk7UUFDcEUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLEVBQUUscUJBQXFCLENBQUMsQ0FBQyxDQUFDO1FBRXJELGtDQUFrQztRQUNsQyxPQUFPLGFBQWEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEQsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIE1hcmtkb3duSXQgZnJvbSBcIm1hcmtkb3duLWl0XCI7XG5cbi8qKlxuICogVGhpcyBwbHVnaW4gb3ZlcnJpZGVzIHRoZSBkZWZhdWx0IGxpbmsgcmVuZGVyZXIgdG8gYWRkIGB0YXJnZXQ9XCJfYmxhbmtcImAgYW5kIGByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJgIHRvIGFsbCBsaW5rcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hcmtkb3duSXRMaW5rUGx1Z2luKG1kOiBNYXJrZG93bkl0KSB7XG4gIGNvbnN0IGRlZmF1bHRSZW5kZXIgPSBtZC5yZW5kZXJlci5ydWxlcy5saW5rX29wZW4gfHwgZnVuY3Rpb24odG9rZW5zLCBpZHgsIG9wdGlvbnMsIGVudiwgc2VsZikge1xuICAgIHJldHVybiBzZWxmLnJlbmRlclRva2VuKHRva2VucywgaWR4LCBvcHRpb25zKTtcbiAgfTtcblxuICBtZC5yZW5kZXJlci5ydWxlcy5saW5rX29wZW4gPSBmdW5jdGlvbih0b2tlbnMsIGlkeCwgb3B0aW9ucywgZW52LCBzZWxmKSB7XG4gICAgdG9rZW5zW2lkeF0uYXR0clB1c2goWyd0YXJnZXQnLCAnX2JsYW5rJ10pO1xuICAgIHRva2Vuc1tpZHhdLmF0dHJQdXNoKFsncmVsJywgJ25vb3BlbmVyIG5vcmVmZXJyZXInXSk7XG5cbiAgICAvLyBwYXNzIHRva2VuIHRvIGRlZmF1bHQgcmVuZGVyZXIuXG4gICAgcmV0dXJuIGRlZmF1bHRSZW5kZXIodG9rZW5zLCBpZHgsIG9wdGlvbnMsIGVudiwgc2VsZik7XG4gIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A markdown-it plugin to convert [Page-x.n], where x and n are numbers, into a <page-reference id="x.n">Page-x.n</page-reference> HTML tag.
|
|
3
|
+
*
|
|
4
|
+
* For example, when attachment x is found in the referencesMap and which contains the page n, [Page-x.n] will be converted to <page-reference id="x.n">Page-x.n</page-reference>.
|
|
5
|
+
* If the attachment x or the page n is not found, it will remain as plain text [Page-x.n] in a span tag : <span>[Page-x.n]</span>
|
|
6
|
+
*/
|
|
7
|
+
export const EMBEDDED_PAGE_NAME = "embedded-page-reference";
|
|
8
|
+
const EMBEDDED_PAGE_REGEX = /\[(Page-(\d+\.\d+))\]/g;
|
|
9
|
+
export function markdownItPageReferencePlugin(md) {
|
|
10
|
+
md.core.ruler.after("inline", EMBEDDED_PAGE_NAME, (state) => {
|
|
11
|
+
const getEmbeddedPageReference = state?.env?.getEmbeddedPageReference;
|
|
12
|
+
state.tokens.forEach((blockToken) => {
|
|
13
|
+
if (blockToken.type !== "inline" || !blockToken.children)
|
|
14
|
+
return;
|
|
15
|
+
const newChildren = [];
|
|
16
|
+
blockToken.children.forEach((token) => {
|
|
17
|
+
if (token.type !== "text") {
|
|
18
|
+
newChildren.push(token);
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
let lastIndex = 0;
|
|
22
|
+
let match;
|
|
23
|
+
const text = token.content;
|
|
24
|
+
EMBEDDED_PAGE_REGEX.lastIndex = 0; // Reset regex state
|
|
25
|
+
while ((match = EMBEDDED_PAGE_REGEX.exec(text)) !== null) {
|
|
26
|
+
// Add leading text
|
|
27
|
+
if (match.index > lastIndex) {
|
|
28
|
+
const t = new state.Token("text", "", 0);
|
|
29
|
+
t.content = text.slice(lastIndex, match.index);
|
|
30
|
+
newChildren.push(t);
|
|
31
|
+
}
|
|
32
|
+
// Add embedded page reference token
|
|
33
|
+
const refToken = new state.Token(EMBEDDED_PAGE_NAME, "", 0);
|
|
34
|
+
refToken.content = match[2]; // e.g., "1.2"
|
|
35
|
+
refToken.meta = { full: match[1] }; // e.g., "Page-1.2"
|
|
36
|
+
refToken.attrs = [];
|
|
37
|
+
if (getEmbeddedPageReference) {
|
|
38
|
+
const attachment = getEmbeddedPageReference(match[2]);
|
|
39
|
+
if (attachment) {
|
|
40
|
+
refToken.attrs.push(['attachment', btoa(encodeURIComponent(JSON.stringify(attachment)))]);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
newChildren.push(refToken);
|
|
44
|
+
lastIndex = match.index + match[0].length;
|
|
45
|
+
}
|
|
46
|
+
// Add trailing text
|
|
47
|
+
if (lastIndex < text.length) {
|
|
48
|
+
const t = new state.Token("text", "", 0);
|
|
49
|
+
t.content = text.slice(lastIndex);
|
|
50
|
+
newChildren.push(t);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
blockToken.children = newChildren;
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
// Optional: renderer for the custom token
|
|
57
|
+
md.renderer.rules[EMBEDDED_PAGE_NAME] = (tokens, idx) => {
|
|
58
|
+
const page = tokens[idx].content;
|
|
59
|
+
const attrs = tokens[idx].attrs || [];
|
|
60
|
+
const attachment = attrs[0];
|
|
61
|
+
if (!attachment) {
|
|
62
|
+
return `<span>[Page-${page}]</span>`;
|
|
63
|
+
}
|
|
64
|
+
return `<page-reference id="${page}" attachment="${attachment[1]}" class="embedded-page-ref">Page-${page}</page-reference>`;
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1yZWZlcmVuY2UucGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXNzaXN0YW50L2NoYXQvbWFya2Rvd24taXQvcGx1Z2lucy9wYWdlLXJlZmVyZW5jZS5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7O0dBS0c7QUFFSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyx5QkFBeUIsQ0FBQztBQUM1RCxNQUFNLG1CQUFtQixHQUFHLHdCQUF3QixDQUFDO0FBRXJELE1BQU0sVUFBVSw2QkFBNkIsQ0FBQyxFQUFjO0lBQzFELEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUMxRCxNQUFNLHdCQUF3QixHQUFHLEtBQUssRUFBRSxHQUFHLEVBQUUsd0JBQXdCLENBQUM7UUFDdEUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNsQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVE7Z0JBQUUsT0FBTztZQUVqRSxNQUFNLFdBQVcsR0FBWSxFQUFFLENBQUM7WUFFaEMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDcEMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRSxDQUFDO29CQUMxQixXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN4QixPQUFPO2dCQUNULENBQUM7Z0JBRUQsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO2dCQUNsQixJQUFJLEtBQTZCLENBQUM7Z0JBQ2xDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7Z0JBRTNCLG1CQUFtQixDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxvQkFBb0I7Z0JBQ3ZELE9BQU8sQ0FBQyxLQUFLLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7b0JBQ3pELG1CQUFtQjtvQkFDbkIsSUFBSSxLQUFLLENBQUMsS0FBSyxHQUFHLFNBQVMsRUFBRSxDQUFDO3dCQUM1QixNQUFNLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQzt3QkFDekMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQy9DLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3RCLENBQUM7b0JBRUQsb0NBQW9DO29CQUNwQyxNQUFNLFFBQVEsR0FBRyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUM1RCxRQUFRLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWM7b0JBQzNDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxtQkFBbUI7b0JBQ3ZELFFBQVEsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO29CQUNwQixJQUFJLHdCQUF3QixFQUFFLENBQUM7d0JBQzdCLE1BQU0sVUFBVSxHQUFHLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUN0RCxJQUFJLFVBQVUsRUFBRSxDQUFDOzRCQUNmLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQzVGLENBQUM7b0JBQ0gsQ0FBQztvQkFDRCxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUUzQixTQUFTLEdBQUcsS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO2dCQUM1QyxDQUFDO2dCQUVELG9CQUFvQjtnQkFDcEIsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUM1QixNQUFNLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztvQkFDekMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUNsQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN0QixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFSCxVQUFVLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsMENBQTBDO0lBQzFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDdEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUNqQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUN0QyxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLE9BQU8sZUFBZSxJQUFJLFVBQVUsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsT0FBTyx1QkFBdUIsSUFBSSxpQkFBaUIsVUFBVSxDQUFDLENBQUMsQ0FBQyxvQ0FBb0MsSUFBSSxtQkFBbUIsQ0FBQztJQUM5SCxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgTWFya2Rvd25JdCBmcm9tIFwibWFya2Rvd24taXRcIjtcbmltcG9ydCBUb2tlbiBmcm9tICdtYXJrZG93bi1pdC9saWIvdG9rZW4ubWpzJztcbi8qKlxuICogQSBtYXJrZG93bi1pdCBwbHVnaW4gdG8gY29udmVydCBbUGFnZS14Lm5dLCB3aGVyZSB4IGFuZCBuIGFyZSBudW1iZXJzLCBpbnRvIGEgPHBhZ2UtcmVmZXJlbmNlIGlkPVwieC5uXCI+UGFnZS14Lm48L3BhZ2UtcmVmZXJlbmNlPiBIVE1MIHRhZy5cbiAqXG4gKiBGb3IgZXhhbXBsZSwgd2hlbiBhdHRhY2htZW50IHggaXMgZm91bmQgaW4gdGhlIHJlZmVyZW5jZXNNYXAgYW5kIHdoaWNoIGNvbnRhaW5zIHRoZSBwYWdlIG4sIFtQYWdlLXgubl0gd2lsbCBiZSBjb252ZXJ0ZWQgdG8gPHBhZ2UtcmVmZXJlbmNlIGlkPVwieC5uXCI+UGFnZS14Lm48L3BhZ2UtcmVmZXJlbmNlPi5cbiAqIElmIHRoZSBhdHRhY2htZW50IHggb3IgdGhlIHBhZ2UgbiBpcyBub3QgZm91bmQsIGl0IHdpbGwgcmVtYWluIGFzIHBsYWluIHRleHQgW1BhZ2UteC5uXSBpbiBhIHNwYW4gdGFnIDogPHNwYW4+W1BhZ2UteC5uXTwvc3Bhbj5cbiAqL1xuXG5leHBvcnQgY29uc3QgRU1CRURERURfUEFHRV9OQU1FID0gXCJlbWJlZGRlZC1wYWdlLXJlZmVyZW5jZVwiO1xuY29uc3QgRU1CRURERURfUEFHRV9SRUdFWCA9IC9cXFsoUGFnZS0oXFxkK1xcLlxcZCspKVxcXS9nO1xuXG5leHBvcnQgZnVuY3Rpb24gbWFya2Rvd25JdFBhZ2VSZWZlcmVuY2VQbHVnaW4obWQ6IE1hcmtkb3duSXQpIHtcbiAgbWQuY29yZS5ydWxlci5hZnRlcihcImlubGluZVwiLCBFTUJFRERFRF9QQUdFX05BTUUsIChzdGF0ZSkgPT4ge1xuICAgIGNvbnN0IGdldEVtYmVkZGVkUGFnZVJlZmVyZW5jZSA9IHN0YXRlPy5lbnY/LmdldEVtYmVkZGVkUGFnZVJlZmVyZW5jZTtcbiAgICBzdGF0ZS50b2tlbnMuZm9yRWFjaCgoYmxvY2tUb2tlbikgPT4ge1xuICAgICAgaWYgKGJsb2NrVG9rZW4udHlwZSAhPT0gXCJpbmxpbmVcIiB8fCAhYmxvY2tUb2tlbi5jaGlsZHJlbikgcmV0dXJuO1xuXG4gICAgICBjb25zdCBuZXdDaGlsZHJlbjogVG9rZW5bXSA9IFtdO1xuXG4gICAgICBibG9ja1Rva2VuLmNoaWxkcmVuLmZvckVhY2goKHRva2VuKSA9PiB7XG4gICAgICAgIGlmICh0b2tlbi50eXBlICE9PSBcInRleHRcIikge1xuICAgICAgICAgIG5ld0NoaWxkcmVuLnB1c2godG9rZW4pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBsYXN0SW5kZXggPSAwO1xuICAgICAgICBsZXQgbWF0Y2g6IFJlZ0V4cEV4ZWNBcnJheSB8IG51bGw7XG4gICAgICAgIGNvbnN0IHRleHQgPSB0b2tlbi5jb250ZW50O1xuXG4gICAgICAgIEVNQkVEREVEX1BBR0VfUkVHRVgubGFzdEluZGV4ID0gMDsgLy8gUmVzZXQgcmVnZXggc3RhdGVcbiAgICAgICAgd2hpbGUgKChtYXRjaCA9IEVNQkVEREVEX1BBR0VfUkVHRVguZXhlYyh0ZXh0KSkgIT09IG51bGwpIHtcbiAgICAgICAgICAvLyBBZGQgbGVhZGluZyB0ZXh0XG4gICAgICAgICAgaWYgKG1hdGNoLmluZGV4ID4gbGFzdEluZGV4KSB7XG4gICAgICAgICAgICBjb25zdCB0ID0gbmV3IHN0YXRlLlRva2VuKFwidGV4dFwiLCBcIlwiLCAwKTtcbiAgICAgICAgICAgIHQuY29udGVudCA9IHRleHQuc2xpY2UobGFzdEluZGV4LCBtYXRjaC5pbmRleCk7XG4gICAgICAgICAgICBuZXdDaGlsZHJlbi5wdXNoKHQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIEFkZCBlbWJlZGRlZCBwYWdlIHJlZmVyZW5jZSB0b2tlblxuICAgICAgICAgIGNvbnN0IHJlZlRva2VuID0gbmV3IHN0YXRlLlRva2VuKEVNQkVEREVEX1BBR0VfTkFNRSwgXCJcIiwgMCk7XG4gICAgICAgICAgcmVmVG9rZW4uY29udGVudCA9IG1hdGNoWzJdOyAvLyBlLmcuLCBcIjEuMlwiXG4gICAgICAgICAgcmVmVG9rZW4ubWV0YSA9IHsgZnVsbDogbWF0Y2hbMV0gfTsgLy8gZS5nLiwgXCJQYWdlLTEuMlwiXG4gICAgICAgICAgcmVmVG9rZW4uYXR0cnMgPSBbXTtcbiAgICAgICAgICBpZiAoZ2V0RW1iZWRkZWRQYWdlUmVmZXJlbmNlKSB7XG4gICAgICAgICAgICBjb25zdCBhdHRhY2htZW50ID0gZ2V0RW1iZWRkZWRQYWdlUmVmZXJlbmNlKG1hdGNoWzJdKTtcbiAgICAgICAgICAgIGlmIChhdHRhY2htZW50KSB7XG4gICAgICAgICAgICAgIHJlZlRva2VuLmF0dHJzLnB1c2goWydhdHRhY2htZW50JywgYnRvYShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoYXR0YWNobWVudCkpKV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBuZXdDaGlsZHJlbi5wdXNoKHJlZlRva2VuKTtcblxuICAgICAgICAgIGxhc3RJbmRleCA9IG1hdGNoLmluZGV4ICsgbWF0Y2hbMF0ubGVuZ3RoO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWRkIHRyYWlsaW5nIHRleHRcbiAgICAgICAgaWYgKGxhc3RJbmRleCA8IHRleHQubGVuZ3RoKSB7XG4gICAgICAgICAgY29uc3QgdCA9IG5ldyBzdGF0ZS5Ub2tlbihcInRleHRcIiwgXCJcIiwgMCk7XG4gICAgICAgICAgdC5jb250ZW50ID0gdGV4dC5zbGljZShsYXN0SW5kZXgpO1xuICAgICAgICAgIG5ld0NoaWxkcmVuLnB1c2godCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBibG9ja1Rva2VuLmNoaWxkcmVuID0gbmV3Q2hpbGRyZW47XG4gICAgfSk7XG4gIH0pO1xuXG4gIC8vIE9wdGlvbmFsOiByZW5kZXJlciBmb3IgdGhlIGN1c3RvbSB0b2tlblxuICBtZC5yZW5kZXJlci5ydWxlc1tFTUJFRERFRF9QQUdFX05BTUVdID0gKHRva2VucywgaWR4KSA9PiB7XG4gICAgY29uc3QgcGFnZSA9IHRva2Vuc1tpZHhdLmNvbnRlbnQ7XG4gICAgY29uc3QgYXR0cnMgPSB0b2tlbnNbaWR4XS5hdHRycyB8fCBbXTtcbiAgICBjb25zdCBhdHRhY2htZW50ID0gYXR0cnNbMF07XG4gICAgaWYgKCFhdHRhY2htZW50KSB7XG4gICAgICByZXR1cm4gYDxzcGFuPltQYWdlLSR7cGFnZX1dPC9zcGFuPmA7XG4gICAgfVxuICAgIHJldHVybiBgPHBhZ2UtcmVmZXJlbmNlIGlkPVwiJHtwYWdlfVwiIGF0dGFjaG1lbnQ9XCIke2F0dGFjaG1lbnRbMV19XCIgY2xhc3M9XCJlbWJlZGRlZC1wYWdlLXJlZlwiPlBhZ2UtJHtwYWdlfTwvcGFnZS1yZWZlcmVuY2U+YDtcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export function markdownItTableToolsPlugin(md) {
|
|
2
|
+
const defaultRender = md.renderer.rules.table_open || ((tokens, idx, options, env, self) => self.renderToken(tokens, idx, options));
|
|
3
|
+
md.renderer.rules.table_open = (tokens, idx, options, env, self) => {
|
|
4
|
+
// Wrap the table with the custom element
|
|
5
|
+
return `<table-tools>` + defaultRender(tokens, idx, options, env, self);
|
|
6
|
+
};
|
|
7
|
+
const defaultClose = md.renderer.rules.table_close || ((tokens, idx, options, env, self) => self.renderToken(tokens, idx, options));
|
|
8
|
+
md.renderer.rules.table_close = (tokens, idx, options, env, self) => {
|
|
9
|
+
return defaultClose(tokens, idx, options, env, self) + `</table-tools>`;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdG9vbHMucGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXNzaXN0YW50L2NoYXQvbWFya2Rvd24taXQvcGx1Z2lucy90YWJsZS10b29scy5wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxVQUFVLDBCQUEwQixDQUFDLEVBQWM7SUFDdkQsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FDekYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFFMUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ2pFLHlDQUF5QztRQUN6QyxPQUFPLGVBQWUsR0FBRyxhQUFhLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFFLENBQUMsQ0FBQztJQUVGLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQ3pGLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBRTFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUNsRSxPQUFPLFlBQVksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsZ0JBQWdCLENBQUM7SUFDMUUsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIE1hcmtkb3duSXQgZnJvbSBcIm1hcmtkb3duLWl0XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXJrZG93bkl0VGFibGVUb29sc1BsdWdpbihtZDogTWFya2Rvd25JdCkge1xuICBjb25zdCBkZWZhdWx0UmVuZGVyID0gbWQucmVuZGVyZXIucnVsZXMudGFibGVfb3BlbiB8fCAoKHRva2VucywgaWR4LCBvcHRpb25zLCBlbnYsIHNlbGYpID0+XG4gICAgc2VsZi5yZW5kZXJUb2tlbih0b2tlbnMsIGlkeCwgb3B0aW9ucykpO1xuXG4gIG1kLnJlbmRlcmVyLnJ1bGVzLnRhYmxlX29wZW4gPSAodG9rZW5zLCBpZHgsIG9wdGlvbnMsIGVudiwgc2VsZikgPT4ge1xuICAgIC8vIFdyYXAgdGhlIHRhYmxlIHdpdGggdGhlIGN1c3RvbSBlbGVtZW50XG4gICAgcmV0dXJuIGA8dGFibGUtdG9vbHM+YCArIGRlZmF1bHRSZW5kZXIodG9rZW5zLCBpZHgsIG9wdGlvbnMsIGVudiwgc2VsZik7XG4gIH07XG5cbiAgY29uc3QgZGVmYXVsdENsb3NlID0gbWQucmVuZGVyZXIucnVsZXMudGFibGVfY2xvc2UgfHwgKCh0b2tlbnMsIGlkeCwgb3B0aW9ucywgZW52LCBzZWxmKSA9PlxuICAgIHNlbGYucmVuZGVyVG9rZW4odG9rZW5zLCBpZHgsIG9wdGlvbnMpKTtcblxuICBtZC5yZW5kZXJlci5ydWxlcy50YWJsZV9jbG9zZSA9ICh0b2tlbnMsIGlkeCwgb3B0aW9ucywgZW52LCBzZWxmKSA9PiB7XG4gICAgcmV0dXJuIGRlZmF1bHRDbG9zZSh0b2tlbnMsIGlkeCwgb3B0aW9ucywgZW52LCBzZWxmKSArIGA8L3RhYmxlLXRvb2xzPmA7XG4gIH07XG59XG4iXX0=
|
|
@@ -12,6 +12,26 @@ export * from './documents-upload/documents-upload.service';
|
|
|
12
12
|
export * from './documents-upload/documents-upload.model';
|
|
13
13
|
export * from './documents-upload/document-overview/document-overview.component';
|
|
14
14
|
export * from './services/notification.service';
|
|
15
|
-
export * from './
|
|
16
|
-
export * from './references/
|
|
17
|
-
|
|
15
|
+
export * from './references/chat-reference/chat-reference.component';
|
|
16
|
+
export * from './references/chat-reference-image/chat-reference-image.component';
|
|
17
|
+
export * from './references/chat-reference-page/chat-reference-page.component';
|
|
18
|
+
export * from './custom-elements/custom-elements.service';
|
|
19
|
+
export * from './custom-elements/custom-elements.config';
|
|
20
|
+
export * from './custom-elements/components/document-reference.component';
|
|
21
|
+
export * from './custom-elements/components/page-reference.component';
|
|
22
|
+
export * from './custom-elements/components/image-reference.component';
|
|
23
|
+
export * from './custom-elements/components/code-block.component';
|
|
24
|
+
export * from './custom-elements/components/table-tools.component';
|
|
25
|
+
export * from './markdown-it/plugins/code-block.plugin';
|
|
26
|
+
export * from './markdown-it/plugins/image-reference.plugin';
|
|
27
|
+
export * from './markdown-it/plugins/link.plugin';
|
|
28
|
+
export * from './markdown-it/plugins/page-reference.plugin';
|
|
29
|
+
export * from './markdown-it/plugins/document-reference.plugin';
|
|
30
|
+
export * from './markdown-it/plugins/table-tools.plugin';
|
|
31
|
+
export * from './markdown-it/markdown-it.config';
|
|
32
|
+
/* Handler to catch standard fetch errors */
|
|
33
|
+
export * from './fetch-patcher/fetch-patcher';
|
|
34
|
+
export * from './fetch-patcher/app-injector';
|
|
35
|
+
export * from './fetch-patcher/global-error-handler.service';
|
|
36
|
+
export * from './fetch-patcher/handle-unauthorized-logic';
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Fzc2lzdGFudC9jaGF0L3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsa0NBQWtDLENBQUM7QUFFakQsNENBQTRDO0FBQzVDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsMkNBQTJDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NoYXQtc2V0dGluZ3MtdjMvY2hhdC1zZXR0aW5ncy12My5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jaGF0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NoYXQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NhdmVkLWNoYXRzL3NhdmVkLWNoYXRzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2luaXRpYWxzLWF2YXRhci9pbml0aWFscy1hdmF0YXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybWF0LWljb24vZm9ybWF0LWljb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnN0YW5jZS1tYW5hZ2VyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kb2N1bWVudHMtdXBsb2FkL2RvY3VtZW50LXVwbG9hZC9kb2N1bWVudC11cGxvYWQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZG9jdW1lbnRzLXVwbG9hZC9kb2N1bWVudC1saXN0L2RvY3VtZW50LWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZG9jdW1lbnRzLXVwbG9hZC9kb2N1bWVudHMtdXBsb2FkLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kb2N1bWVudHMtdXBsb2FkL2RvY3VtZW50cy11cGxvYWQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9kb2N1bWVudHMtdXBsb2FkL2RvY3VtZW50LW92ZXJ2aWV3L2RvY3VtZW50LW92ZXJ2aWV3LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVmZXJlbmNlcy9jaGF0LXJlZmVyZW5jZS9jaGF0LXJlZmVyZW5jZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWZlcmVuY2VzL2NoYXQtcmVmZXJlbmNlLWltYWdlL2NoYXQtcmVmZXJlbmNlLWltYWdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3JlZmVyZW5jZXMvY2hhdC1yZWZlcmVuY2UtcGFnZS9jaGF0LXJlZmVyZW5jZS1wYWdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2N1c3RvbS1lbGVtZW50cy9jdXN0b20tZWxlbWVudHMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2N1c3RvbS1lbGVtZW50cy9jdXN0b20tZWxlbWVudHMuY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vY3VzdG9tLWVsZW1lbnRzL2NvbXBvbmVudHMvZG9jdW1lbnQtcmVmZXJlbmNlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2N1c3RvbS1lbGVtZW50cy9jb21wb25lbnRzL3BhZ2UtcmVmZXJlbmNlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2N1c3RvbS1lbGVtZW50cy9jb21wb25lbnRzL2ltYWdlLXJlZmVyZW5jZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jdXN0b20tZWxlbWVudHMvY29tcG9uZW50cy9jb2RlLWJsb2NrLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2N1c3RvbS1lbGVtZW50cy9jb21wb25lbnRzL3RhYmxlLXRvb2xzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL21hcmtkb3duLWl0L3BsdWdpbnMvY29kZS1ibG9jay5wbHVnaW4nO1xuZXhwb3J0ICogZnJvbSAnLi9tYXJrZG93bi1pdC9wbHVnaW5zL2ltYWdlLXJlZmVyZW5jZS5wbHVnaW4nO1xuZXhwb3J0ICogZnJvbSAnLi9tYXJrZG93bi1pdC9wbHVnaW5zL2xpbmsucGx1Z2luJztcbmV4cG9ydCAqIGZyb20gJy4vbWFya2Rvd24taXQvcGx1Z2lucy9wYWdlLXJlZmVyZW5jZS5wbHVnaW4nO1xuZXhwb3J0ICogZnJvbSAnLi9tYXJrZG93bi1pdC9wbHVnaW5zL2RvY3VtZW50LXJlZmVyZW5jZS5wbHVnaW4nO1xuZXhwb3J0ICogZnJvbSAnLi9tYXJrZG93bi1pdC9wbHVnaW5zL3RhYmxlLXRvb2xzLnBsdWdpbic7XG5leHBvcnQgKiBmcm9tICcuL21hcmtkb3duLWl0L21hcmtkb3duLWl0LmNvbmZpZyc7XG5cbi8qIEhhbmRsZXIgdG8gY2F0Y2ggc3RhbmRhcmQgZmV0Y2ggZXJyb3JzICovXG5leHBvcnQgKiBmcm9tICcuL2ZldGNoLXBhdGNoZXIvZmV0Y2gtcGF0Y2hlcic7XG5leHBvcnQgKiBmcm9tICcuL2ZldGNoLXBhdGNoZXIvYXBwLWluamVjdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZmV0Y2gtcGF0Y2hlci9nbG9iYWwtZXJyb3ItaGFuZGxlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZmV0Y2gtcGF0Y2hlci9oYW5kbGUtdW5hdXRob3JpemVkLWxvZ2ljJztcbiJdfQ==
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { CommonModule } from "@angular/common";
|
|
2
|
+
import { Component, computed, input, output, signal, viewChild } from "@angular/core";
|
|
3
|
+
import { provideTranslocoScope, TranslocoPipe } from "@jsverse/transloco";
|
|
4
|
+
import { FormatIconComponent } from "../../format-icon/format-icon.component";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class ChatReferenceComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.reference = input.required();
|
|
9
|
+
this.attachment = input.required();
|
|
10
|
+
this.partId = input(undefined);
|
|
11
|
+
this.referenceMap = input(undefined);
|
|
12
|
+
this.images = input([]);
|
|
13
|
+
this.pages = input([]);
|
|
14
|
+
this.openDocument = output();
|
|
15
|
+
this.openPreview = output();
|
|
16
|
+
this.modalTpl = viewChild("modal");
|
|
17
|
+
this.modalRef = signal({});
|
|
18
|
+
this.groupedImagesIds = computed(() => {
|
|
19
|
+
// Suppose images() returns an array like ['1.1.1', '1.1.2', '1.1.3']
|
|
20
|
+
const groups = {};
|
|
21
|
+
for (const id of this.images()) {
|
|
22
|
+
const parts = id.split(".").map(Number);
|
|
23
|
+
if (parts.length < 3)
|
|
24
|
+
continue;
|
|
25
|
+
const groupKey = parts[1].toString();
|
|
26
|
+
if (!groups[groupKey])
|
|
27
|
+
groups[groupKey] = [];
|
|
28
|
+
groups[groupKey].push(parts[2]);
|
|
29
|
+
}
|
|
30
|
+
return groups;
|
|
31
|
+
});
|
|
32
|
+
this.groupedPagesIds = computed(() => {
|
|
33
|
+
// Suppose images() returns an array like ['1.1', '1.2', '1.3']
|
|
34
|
+
const groups = {};
|
|
35
|
+
for (const id of this.pages()) {
|
|
36
|
+
const parts = id.split(".").map(Number);
|
|
37
|
+
const groupKey = parts[0].toString();
|
|
38
|
+
if (!groups[groupKey])
|
|
39
|
+
groups[groupKey] = [];
|
|
40
|
+
groups[groupKey].push(parts[1]);
|
|
41
|
+
}
|
|
42
|
+
return groups;
|
|
43
|
+
});
|
|
44
|
+
this.findImage = (arr, number) => arr.find((p) => p.imageNumber === number);
|
|
45
|
+
this.findPage = (arr, number) => arr.find((p) => p.pageNumber === number);
|
|
46
|
+
}
|
|
47
|
+
get parts() {
|
|
48
|
+
if (!this.attachment())
|
|
49
|
+
return [];
|
|
50
|
+
return this.attachment().parts.filter((part) => (!this.partId() || part.partId === this.partId()) && !!part.text);
|
|
51
|
+
}
|
|
52
|
+
expandAttachment() {
|
|
53
|
+
if (this.partId())
|
|
54
|
+
return;
|
|
55
|
+
this.attachment()["$expanded"] = !this.attachment()["$expanded"];
|
|
56
|
+
}
|
|
57
|
+
modalClicked(ref) {
|
|
58
|
+
this.modalRef.set(ref);
|
|
59
|
+
this.modalTpl()?.nativeElement?.showModal();
|
|
60
|
+
}
|
|
61
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChatReferenceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
62
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ChatReferenceComponent, isStandalone: true, selector: "sq-chat-reference", inputs: { reference: { classPropertyName: "reference", publicName: "reference", isSignal: true, isRequired: true, transformFunction: null }, attachment: { classPropertyName: "attachment", publicName: "attachment", isSignal: true, isRequired: true, transformFunction: null }, partId: { classPropertyName: "partId", publicName: "partId", isSignal: true, isRequired: false, transformFunction: null }, referenceMap: { classPropertyName: "referenceMap", publicName: "referenceMap", isSignal: true, isRequired: false, transformFunction: null }, images: { classPropertyName: "images", publicName: "images", isSignal: true, isRequired: false, transformFunction: null }, pages: { classPropertyName: "pages", publicName: "pages", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { openDocument: "openDocument", openPreview: "openPreview" }, providers: [provideTranslocoScope('chat-reference')], viewQueries: [{ propertyName: "modalTpl", first: true, predicate: ["modal"], descendants: true, isSignal: true }], ngImport: i0, template: "<div [class.reference-tooltip]=\"!!partId()\">\n <div\n class=\"reference-data\"\n [class.expanded]=\"attachment()['$expanded'] || !!partId()\"\n (click)=\"expandAttachment()\"\n >\n <span class=\"reference me-1\">{{ reference() }}</span>\n\n <sq-format-icon [extension]=\"attachment().record.fileext\"></sq-format-icon>\n\n <span class=\"title\" [id]=\"'attachment-' + attachment().recordId\">\n {{ attachment().record.title }}\n </span>\n\n <button\n type=\"button\"\n (click)=\"$event.stopPropagation(); openPreview.emit(attachment())\"\n [title]=\"'chatReference.previewDocument' | transloco\"\n class=\"bg-transparent border-0 p-0 m-0 cursor-pointer text-inherit leading-none inline-flex items-center justify-center\"\n >\n <i class=\"fas fa-eye\"></i>\n </button>\n\n\n @if (attachment().record.url1 || attachment().record.originalUrl) {\n <button\n type=\"button\"\n (click)=\"$event.stopPropagation(); openDocument.emit(attachment())\"\n [title]=\"'chatReference.openDocument' | transloco\"\n class=\"bg-transparent border-0 p-0 m-0 cursor-pointer text-inherit leading-none inline-flex items-center justify-center\"\n >\n <i class=\"fas fa-arrow-up-right-from-square\"></i>\n </button>\n }\n </div>\n\n @if (!!partId() || (attachment()['$expanded'] && parts.length)) {\n <div class=\"reference-passages\">\n @for (part of parts; track $index) {\n <div class=\"reference-passage\">\n <span class=\"reference me-1\">{{ reference() }}.{{ part.partId }}</span>\n <span class=\"w-100 pe-2\" [innerHTML]=\"part.text\"></span>\n </div>\n\n @for (imageId of groupedImagesIds()[part.partId!]; track $index) {\n @let ref = part?.images?.[imageId - 1];\n @if (ref?.url) {\n <div\n class=\"gap-1 ms-2 my-2 items-start\"\n style=\"display: flex; align-items: start\"\n >\n <span class=\"reference\" style=\"flex-shrink: 0;\">\n {{ \"Img-\" + reference() + \".\" + part.partId + \".\" + imageId }}\n </span>\n\n <img\n [src]=\"ref.url\"\n [alt]=\"ref.description\"\n (click)=\"modalClicked(ref)\"\n />\n </div>\n }\n }\n }\n\n @for (pageId of groupedPagesIds()[reference()]; track $index) {\n @let ref = findPage(referenceMap()?.get(reference())?.pages, pageId);\n @if (ref?.url) {\n <div\n class=\"gap-1 ms-2 my-2 items-start\"\n style=\"display: flex; align-items: start\"\n >\n <span class=\"reference\" style=\"flex-shrink: 0;\">{{ \"Page-\" + reference() + \".\" + pageId }}</span>\n\n <img\n [src]=\"ref.url\"\n [alt]=\"ref.description\"\n (click)=\"modalClicked(ref)\"\n />\n </div>\n }\n }\n </div>\n }\n</div>\n\n<dialog #modal>\n <button class=\"close\" (click)=\"modalTpl()?.nativeElement?.close()\">\n <i class=\"fas fa-xmark\"></i>\n </button>\n\n <img [src]=\"modalRef().url\" [alt]=\"modalRef().description\" />\n</dialog>\n", styles: [".ast-primary{color:var(--ast-primary-color, #005DA7);background-color:var(--ast-primary-bg, #f2f8fe)}.ast-primary-hover{background-color:var(--ast-primary-bg, #f2f8fe)}.ast-primary-hover:hover{color:var(--ast-primary-color, #005DA7)}.ast-secondary{color:var(--ast-secondary-color, #FF732E);background-color:var(--ast-secondary-bg, #FFF8F1)}.ast-error{background-color:var(--ast-error-bg, rgba(249, 58, 55, .2));color:var(--ast-action-buttons-color, inherit)}.ast-error:hover{color:var(--ast-error-color, rgba(249, 58, 55, .7))}.ast-btn{border:0;text-align:left;padding-top:.5rem;padding-bottom:.5rem;display:flex;align-items:center}.dark{--ast-primary-bg: #0d0701;--ast-primary-color: #008cd1;--ast-secondary-bg: #00070e;--ast-secondary-color: #ffa258;--ast-input-bg: #070707;--ast-input-color: rgba(222, 218, 218, .75);--ast-muted-color: rgba(222, 218, 218, .75);--ast-saved-chat-hover-background: #262421;--ast-uploaded-doc-hover-background: #262421;--ast-message-table-border-color: #333333;--ast-message-table-tr-bg: #070707;--ast-message-table-tr-border-color: #222222;--ast-reference-icon-color: white;--ast-reference-icon-active-color: black;--ast-reference-passages-color: white;--ast-reference-expanded-hover-bg: #262421;--ast-message-reference-color: black;--ast-action-buttons-color: white;--ast-action-buttons-hover-color: #6dbee6;--ast-report-bg: #070707}:host ::ng-deep .reference,:host ::ng-deep .message-content .reference,:host ::ng-deep .attachment .reference{position:relative;bottom:var(--ast-reference-bottom, .3em);font-weight:var(--ast-reference-font-weight, bold);padding:var(--ast-reference-padding, 0 .2em);margin:var(--ast-reference-margin, 0 .1em);border-radius:var(--ast-reference-border-radius, .2em);background-color:var(--ast-reference-background-color, lightblue);color:var(--ast-reference-color, black)}:host ::ng-deep .reference,:host ::ng-deep .message-content .reference{font-size:var(--ast-reference-message-font-size, .7em)}:host ::ng-deep .attachment .reference{font-size:var(--ast-reference-attachment-font-size, 13px)}sq-format-icon{color:var(--ast-secondary-color, #FF732E);margin-left:var(--ast-size-1, .25rem);margin-right:var(--ast-size-2, .5rem)}.reference-data{display:flex;flex-direction:row;align-items:baseline;padding:var(--ast-size-1, .25rem);cursor:pointer}.reference-data span.title{color:var(--ast-secondary-color, #FF732E);flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:var(--font-weight-bold, 500);cursor:pointer}.reference-data i{padding:var(--ast-size-1, .25rem);margin-left:var(--ast-size-1, .25rem);cursor:pointer;color:var(--ast-reference-icon-color, black)}.reference-data i.active{color:var(--ast-reference-icon-active-color, white);background-color:var(--ast-secondary-color, #FF732E)}.reference-data:not(.expanded) i{opacity:0}.reference-data:not(.expanded):hover i{opacity:1}.reference-passages{white-space:normal;font-style:italic;font-weight:400;padding:1rem 0;color:var(--ast-reference-passages-color, black)}.reference-passages .reference-passage{display:flex;align-items:baseline;padding-left:2.5rem;padding-right:1rem;word-wrap:break-word}.reference-passages .reference-passage+.reference-passage{padding-top:1rem}.reference-passages .reference-passage .reference{white-space:nowrap;margin-right:var(--ast-size-2, .5rem)}.reference-tooltip{max-width:600px!important;box-shadow:0 .5rem 1rem #00000026;padding:.5rem;font-size:.875rem}.w-100{width:100%}header{display:flex;flex-direction:row;align-items:baseline;gap:var(--ast-size-1, .25rem);cursor:pointer}header a{color:var(--ast-secondary-color, #FF732E);font-weight:var(--font-weight-bold, 500)}header i{padding:var(--ast-size-1, .25rem);margin-left:var(--ast-size-1, .25rem);cursor:pointer;color:var(--ast-reference-icon-color, black)}header i.active{color:var(--ast-reference-icon-active-color, white);background-color:var(--ast-secondary-color, #FF732E)}header p{flex-grow:1;flex-shrink:1;margin:0!important;overflow-x:hidden;text-overflow:ellipsis}img{max-width:30vw;max-height:30vh;object-fit:contain}dialog ::backdrop{background-color:#000c}dialog img{max-width:90vw;max-height:90vh;object-fit:contain}dialog button.close{position:absolute;top:0;right:0;border:solid 1px black;background-color:#fff;color:#000;font-size:1rem;cursor:pointer}\n", ":host{display:block}:host.expanded,:host:hover{background-color:var(--ast-reference-expanded-hover-bg, white)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: FormatIconComponent, selector: "sq-format-icon", inputs: ["extension"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] }); }
|
|
63
|
+
}
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChatReferenceComponent, decorators: [{
|
|
65
|
+
type: Component,
|
|
66
|
+
args: [{ selector: "sq-chat-reference", standalone: true, imports: [
|
|
67
|
+
CommonModule,
|
|
68
|
+
FormatIconComponent,
|
|
69
|
+
TranslocoPipe,
|
|
70
|
+
], providers: [provideTranslocoScope('chat-reference')], template: "<div [class.reference-tooltip]=\"!!partId()\">\n <div\n class=\"reference-data\"\n [class.expanded]=\"attachment()['$expanded'] || !!partId()\"\n (click)=\"expandAttachment()\"\n >\n <span class=\"reference me-1\">{{ reference() }}</span>\n\n <sq-format-icon [extension]=\"attachment().record.fileext\"></sq-format-icon>\n\n <span class=\"title\" [id]=\"'attachment-' + attachment().recordId\">\n {{ attachment().record.title }}\n </span>\n\n <button\n type=\"button\"\n (click)=\"$event.stopPropagation(); openPreview.emit(attachment())\"\n [title]=\"'chatReference.previewDocument' | transloco\"\n class=\"bg-transparent border-0 p-0 m-0 cursor-pointer text-inherit leading-none inline-flex items-center justify-center\"\n >\n <i class=\"fas fa-eye\"></i>\n </button>\n\n\n @if (attachment().record.url1 || attachment().record.originalUrl) {\n <button\n type=\"button\"\n (click)=\"$event.stopPropagation(); openDocument.emit(attachment())\"\n [title]=\"'chatReference.openDocument' | transloco\"\n class=\"bg-transparent border-0 p-0 m-0 cursor-pointer text-inherit leading-none inline-flex items-center justify-center\"\n >\n <i class=\"fas fa-arrow-up-right-from-square\"></i>\n </button>\n }\n </div>\n\n @if (!!partId() || (attachment()['$expanded'] && parts.length)) {\n <div class=\"reference-passages\">\n @for (part of parts; track $index) {\n <div class=\"reference-passage\">\n <span class=\"reference me-1\">{{ reference() }}.{{ part.partId }}</span>\n <span class=\"w-100 pe-2\" [innerHTML]=\"part.text\"></span>\n </div>\n\n @for (imageId of groupedImagesIds()[part.partId!]; track $index) {\n @let ref = part?.images?.[imageId - 1];\n @if (ref?.url) {\n <div\n class=\"gap-1 ms-2 my-2 items-start\"\n style=\"display: flex; align-items: start\"\n >\n <span class=\"reference\" style=\"flex-shrink: 0;\">\n {{ \"Img-\" + reference() + \".\" + part.partId + \".\" + imageId }}\n </span>\n\n <img\n [src]=\"ref.url\"\n [alt]=\"ref.description\"\n (click)=\"modalClicked(ref)\"\n />\n </div>\n }\n }\n }\n\n @for (pageId of groupedPagesIds()[reference()]; track $index) {\n @let ref = findPage(referenceMap()?.get(reference())?.pages, pageId);\n @if (ref?.url) {\n <div\n class=\"gap-1 ms-2 my-2 items-start\"\n style=\"display: flex; align-items: start\"\n >\n <span class=\"reference\" style=\"flex-shrink: 0;\">{{ \"Page-\" + reference() + \".\" + pageId }}</span>\n\n <img\n [src]=\"ref.url\"\n [alt]=\"ref.description\"\n (click)=\"modalClicked(ref)\"\n />\n </div>\n }\n }\n </div>\n }\n</div>\n\n<dialog #modal>\n <button class=\"close\" (click)=\"modalTpl()?.nativeElement?.close()\">\n <i class=\"fas fa-xmark\"></i>\n </button>\n\n <img [src]=\"modalRef().url\" [alt]=\"modalRef().description\" />\n</dialog>\n", styles: [".ast-primary{color:var(--ast-primary-color, #005DA7);background-color:var(--ast-primary-bg, #f2f8fe)}.ast-primary-hover{background-color:var(--ast-primary-bg, #f2f8fe)}.ast-primary-hover:hover{color:var(--ast-primary-color, #005DA7)}.ast-secondary{color:var(--ast-secondary-color, #FF732E);background-color:var(--ast-secondary-bg, #FFF8F1)}.ast-error{background-color:var(--ast-error-bg, rgba(249, 58, 55, .2));color:var(--ast-action-buttons-color, inherit)}.ast-error:hover{color:var(--ast-error-color, rgba(249, 58, 55, .7))}.ast-btn{border:0;text-align:left;padding-top:.5rem;padding-bottom:.5rem;display:flex;align-items:center}.dark{--ast-primary-bg: #0d0701;--ast-primary-color: #008cd1;--ast-secondary-bg: #00070e;--ast-secondary-color: #ffa258;--ast-input-bg: #070707;--ast-input-color: rgba(222, 218, 218, .75);--ast-muted-color: rgba(222, 218, 218, .75);--ast-saved-chat-hover-background: #262421;--ast-uploaded-doc-hover-background: #262421;--ast-message-table-border-color: #333333;--ast-message-table-tr-bg: #070707;--ast-message-table-tr-border-color: #222222;--ast-reference-icon-color: white;--ast-reference-icon-active-color: black;--ast-reference-passages-color: white;--ast-reference-expanded-hover-bg: #262421;--ast-message-reference-color: black;--ast-action-buttons-color: white;--ast-action-buttons-hover-color: #6dbee6;--ast-report-bg: #070707}:host ::ng-deep .reference,:host ::ng-deep .message-content .reference,:host ::ng-deep .attachment .reference{position:relative;bottom:var(--ast-reference-bottom, .3em);font-weight:var(--ast-reference-font-weight, bold);padding:var(--ast-reference-padding, 0 .2em);margin:var(--ast-reference-margin, 0 .1em);border-radius:var(--ast-reference-border-radius, .2em);background-color:var(--ast-reference-background-color, lightblue);color:var(--ast-reference-color, black)}:host ::ng-deep .reference,:host ::ng-deep .message-content .reference{font-size:var(--ast-reference-message-font-size, .7em)}:host ::ng-deep .attachment .reference{font-size:var(--ast-reference-attachment-font-size, 13px)}sq-format-icon{color:var(--ast-secondary-color, #FF732E);margin-left:var(--ast-size-1, .25rem);margin-right:var(--ast-size-2, .5rem)}.reference-data{display:flex;flex-direction:row;align-items:baseline;padding:var(--ast-size-1, .25rem);cursor:pointer}.reference-data span.title{color:var(--ast-secondary-color, #FF732E);flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:var(--font-weight-bold, 500);cursor:pointer}.reference-data i{padding:var(--ast-size-1, .25rem);margin-left:var(--ast-size-1, .25rem);cursor:pointer;color:var(--ast-reference-icon-color, black)}.reference-data i.active{color:var(--ast-reference-icon-active-color, white);background-color:var(--ast-secondary-color, #FF732E)}.reference-data:not(.expanded) i{opacity:0}.reference-data:not(.expanded):hover i{opacity:1}.reference-passages{white-space:normal;font-style:italic;font-weight:400;padding:1rem 0;color:var(--ast-reference-passages-color, black)}.reference-passages .reference-passage{display:flex;align-items:baseline;padding-left:2.5rem;padding-right:1rem;word-wrap:break-word}.reference-passages .reference-passage+.reference-passage{padding-top:1rem}.reference-passages .reference-passage .reference{white-space:nowrap;margin-right:var(--ast-size-2, .5rem)}.reference-tooltip{max-width:600px!important;box-shadow:0 .5rem 1rem #00000026;padding:.5rem;font-size:.875rem}.w-100{width:100%}header{display:flex;flex-direction:row;align-items:baseline;gap:var(--ast-size-1, .25rem);cursor:pointer}header a{color:var(--ast-secondary-color, #FF732E);font-weight:var(--font-weight-bold, 500)}header i{padding:var(--ast-size-1, .25rem);margin-left:var(--ast-size-1, .25rem);cursor:pointer;color:var(--ast-reference-icon-color, black)}header i.active{color:var(--ast-reference-icon-active-color, white);background-color:var(--ast-secondary-color, #FF732E)}header p{flex-grow:1;flex-shrink:1;margin:0!important;overflow-x:hidden;text-overflow:ellipsis}img{max-width:30vw;max-height:30vh;object-fit:contain}dialog ::backdrop{background-color:#000c}dialog img{max-width:90vw;max-height:90vh;object-fit:contain}dialog button.close{position:absolute;top:0;right:0;border:solid 1px black;background-color:#fff;color:#000;font-size:1rem;cursor:pointer}\n", ":host{display:block}:host.expanded,:host:hover{background-color:var(--ast-reference-expanded-hover-bg, white)}\n"] }]
|
|
71
|
+
}] });
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1yZWZlcmVuY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXNzaXN0YW50L2NoYXQvcmVmZXJlbmNlcy9jaGF0LXJlZmVyZW5jZS9jaGF0LXJlZmVyZW5jZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3Npc3RhbnQvY2hhdC9yZWZlcmVuY2VzL2NoYXQtcmVmZXJlbmNlL2NoYXQtcmVmZXJlbmNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULFFBQVEsRUFFUixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOztBQXdCOUUsTUFBTSxPQUFPLHNCQUFzQjtJQXJCbkM7UUFzQlcsY0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUNyQyxlQUFVLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBeUIsQ0FBQztRQUNyRCxXQUFNLEdBQUcsS0FBSyxDQUFxQixTQUFTLENBQUMsQ0FBQztRQUM5QyxpQkFBWSxHQUFHLEtBQUssQ0FDM0IsU0FBUyxDQUNWLENBQUM7UUFDTyxXQUFNLEdBQUcsS0FBSyxDQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzdCLFVBQUssR0FBRyxLQUFLLENBQVcsRUFBRSxDQUFDLENBQUM7UUFFNUIsaUJBQVksR0FBRyxNQUFNLEVBQXlCLENBQUM7UUFDL0MsZ0JBQVcsR0FBRyxNQUFNLEVBQXlCLENBQUM7UUFFOUMsYUFBUSxHQUFHLFNBQVMs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QyxHQUFRO1FBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLENBQUM7SUFDOUMsQ0FBQzsrR0EvRFUsc0JBQXNCO21HQUF0QixzQkFBc0IsdTVCQUZ0QixDQUFDLHFCQUFxQixDQUFDLGdCQUFnQixDQUFDLENBQUMsNklDbEN0RCw0bkdBNkZBLGs0SUQvREksWUFBWSwrQkFDWixtQkFBbUIsNkVBQ25CLGFBQWE7OzRGQUlKLHNCQUFzQjtrQkFyQmxDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBR2pCLElBQUksV0FVUDt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsYUFBYTtxQkFDZCxhQUNVLENBQUMscUJBQXFCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIEVsZW1lbnRSZWYsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbiAgdmlld0NoaWxkXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBwcm92aWRlVHJhbnNsb2NvU2NvcGUsIFRyYW5zbG9jb1BpcGUgfSBmcm9tIFwiQGpzdmVyc2UvdHJhbnNsb2NvXCI7XG5cbmltcG9ydCB7IEZvcm1hdEljb25Db21wb25lbnQgfSBmcm9tIFwiLi4vLi4vZm9ybWF0LWljb24vZm9ybWF0LWljb24uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDaGF0Q29udGV4dEF0dGFjaG1lbnQsIERvY3VtZW50UGFydCB9IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3EtY2hhdC1yZWZlcmVuY2VcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9jaGF0LXJlZmVyZW5jZS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4uL2NoYXQtcmVmZXJlbmNlLnNjc3NcIl0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHN0eWxlczogW2BcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICYuZXhwYW5kZWQsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYXN0LXJlZmVyZW5jZS1leHBhbmRlZC1ob3Zlci1iZywgd2hpdGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gIGBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1hdEljb25Db21wb25lbnQsXG4gICAgVHJhbnNsb2NvUGlwZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbcHJvdmlkZVRyYW5zbG9jb1Njb3BlKCdjaGF0LXJlZmVyZW5jZScpXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hhdFJlZmVyZW5jZUNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IHJlZmVyZW5jZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgYXR0YWNobWVudCA9IGlucHV0LnJlcXVpcmVkPENoYXRDb250ZXh0QXR0YWNobWVudD4oKTtcbiAgcmVhZG9ubHkgcGFydElkID0gaW5wdXQ8bnVtYmVyIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICByZWFkb25seSByZWZlcmVuY2VNYXAgPSBpbnB1dDxNYXA8c3RyaW5nLCBDaGF0Q29udGV4dEF0dGFjaG1lbnQ+IHwgdW5kZWZpbmVkPihcbiAgICB1bmRlZmluZWRcbiAgKTtcbiAgcmVhZG9ubHkgaW1hZ2VzID0gaW5wdXQ8c3RyaW5nW10+KFtdKTtcbiAgcmVhZG9ubHkgcGFnZXMgPSBpbnB1dDxzdHJpbmdbXT4oW10pO1xuXG4gIHJlYWRvbmx5IG9wZW5Eb2N1bWVudCA9IG91dHB1dDxDaGF0Q29udGV4dEF0dGFjaG1lbnQ+KCk7XG4gIHJlYWRvbmx5IG9wZW5QcmV2aWV3ID0gb3V0cHV0PENoYXRDb250ZXh0QXR0YWNobWVudD4oKTtcblxuICByZWFkb25seSBtb2RhbFRwbCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxEaWFsb2dFbGVtZW50Pj4oXCJtb2RhbFwiKTtcblxuICByZWFkb25seSBtb2RhbFJlZiA9IHNpZ25hbDxhbnk+KHt9KTtcblxuICByZWFkb25seSBncm91cGVkSW1hZ2VzSWRzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIC8vIFN1cHBvc2UgaW1hZ2VzKCkgcmV0dXJucyBhbiBhcnJheSBsaWtlIFsnMS4xLjEnLCAnMS4xLjInLCAnMS4xLjMnXVxuICAgIGNvbnN0IGdyb3VwczogUmVjb3JkPHN0cmluZywgbnVtYmVyW10+ID0ge307XG4gICAgZm9yIChjb25zdCBpZCBvZiB0aGlzLmltYWdlcygpKSB7XG4gICAgICBjb25zdCBwYXJ0cyA9IGlkLnNwbGl0KFwiLlwiKS5tYXAoTnVtYmVyKTtcbiAgICAgIGlmIChwYXJ0cy5sZW5ndGggPCAzKSBjb250aW51ZTtcbiAgICAgIGNvbnN0IGdyb3VwS2V5ID0gcGFydHNbMV0udG9TdHJpbmcoKTtcbiAgICAgIGlmICghZ3JvdXBzW2dyb3VwS2V5XSkgZ3JvdXBzW2dyb3VwS2V5XSA9IFtdO1xuICAgICAgZ3JvdXBzW2dyb3VwS2V5XS5wdXNoKHBhcnRzWzJdKTtcbiAgICB9XG4gICAgcmV0dXJuIGdyb3VwcztcbiAgfSk7XG4gIHJlYWRvbmx5IGdyb3VwZWRQYWdlc0lkcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAvLyBTdXBwb3NlIGltYWdlcygpIHJldHVybnMgYW4gYXJyYXkgbGlrZSBbJzEuMScsICcxLjInLCAnMS4zJ11cbiAgICBjb25zdCBncm91cHM6IFJlY29yZDxzdHJpbmcsIG51bWJlcltdPiA9IHt9O1xuICAgIGZvciAoY29uc3QgaWQgb2YgdGhpcy5wYWdlcygpKSB7XG4gICAgICBjb25zdCBwYXJ0cyA9IGlkLnNwbGl0KFwiLlwiKS5tYXAoTnVtYmVyKTtcbiAgICAgIGNvbnN0IGdyb3VwS2V5ID0gcGFydHNbMF0udG9TdHJpbmcoKTtcbiAgICAgIGlmICghZ3JvdXBzW2dyb3VwS2V5XSkgZ3JvdXBzW2dyb3VwS2V5XSA9IFtdO1xuICAgICAgZ3JvdXBzW2dyb3VwS2V5XS5wdXNoKHBhcnRzWzFdKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZ3JvdXBzO1xuICB9KTtcblxuICBnZXQgcGFydHMoKTogRG9jdW1lbnRQYXJ0W10ge1xuICAgIGlmICghdGhpcy5hdHRhY2htZW50KCkpIHJldHVybiBbXTtcbiAgICByZXR1cm4gdGhpcy5hdHRhY2htZW50KCkucGFydHMuZmlsdGVyKFxuICAgICAgKHBhcnQpID0+ICghdGhpcy5wYXJ0SWQoKSB8fCBwYXJ0LnBhcnRJZCA9PT0gdGhpcy5wYXJ0SWQoKSkgJiYgISFwYXJ0LnRleHRcbiAgICApO1xuICB9XG5cbiAgZmluZEltYWdlID0gKGFycjogYW55W10sIG51bWJlcjogbnVtYmVyKTogYW55IHwgdW5kZWZpbmVkID0+XG4gICAgYXJyLmZpbmQoKHApID0+IHAuaW1hZ2VOdW1iZXIgPT09IG51bWJlcik7XG5cbiAgZmluZFBhZ2UgPSAoYXJyOiBhbnlbXSwgbnVtYmVyOiBudW1iZXIpOiBhbnkgfCB1bmRlZmluZWQgPT5cbiAgICBhcnIuZmluZCgocCkgPT4gcC5wYWdlTnVtYmVyID09PSBudW1iZXIpO1xuXG4gIGV4cGFuZEF0dGFjaG1lbnQoKSB7XG4gICAgaWYgKHRoaXMucGFydElkKCkpIHJldHVybjtcbiAgICB0aGlzLmF0dGFjaG1lbnQoKVtcIiRleHBhbmRlZFwiXSA9ICF0aGlzLmF0dGFjaG1lbnQoKVtcIiRleHBhbmRlZFwiXTtcbiAgfVxuXG4gIG1vZGFsQ2xpY2tlZChyZWY6IGFueSkge1xuICAgIHRoaXMubW9kYWxSZWYuc2V0KHJlZik7XG4gICAgdGhpcy5tb2RhbFRwbCgpPy5uYXRpdmVFbGVtZW50Py5zaG93TW9kYWwoKTtcbiAgfVxufVxuIiwiPGRpdiBbY2xhc3MucmVmZXJlbmNlLXRvb2x0aXBdPVwiISFwYXJ0SWQoKVwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJyZWZlcmVuY2UtZGF0YVwiXG4gICAgW2NsYXNzLmV4cGFuZGVkXT1cImF0dGFjaG1lbnQoKVsnJGV4cGFuZGVkJ10gfHwgISFwYXJ0SWQoKVwiXG4gICAgKGNsaWNrKT1cImV4cGFuZEF0dGFjaG1lbnQoKVwiXG4gID5cbiAgICA8c3BhbiBjbGFzcz1cInJlZmVyZW5jZSBtZS0xXCI+e3sgcmVmZXJlbmNlKCkgfX08L3NwYW4+XG5cbiAgICA8c3EtZm9ybWF0LWljb24gW2V4dGVuc2lvbl09XCJhdHRhY2htZW50KCkucmVjb3JkLmZpbGVleHRcIj48L3NxLWZvcm1hdC1pY29uPlxuXG4gICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiIFtpZF09XCInYXR0YWNobWVudC0nICsgYXR0YWNobWVudCgpLnJlY29yZElkXCI+XG4gICAgICB7eyBhdHRhY2htZW50KCkucmVjb3JkLnRpdGxlIH19XG4gICAgPC9zcGFuPlxuXG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBvcGVuUHJldmlldy5lbWl0KGF0dGFjaG1lbnQoKSlcIlxuICAgICAgW3RpdGxlXT1cIidjaGF0UmVmZXJlbmNlLnByZXZpZXdEb2N1bWVudCcgfCB0cmFuc2xvY29cIlxuICAgICAgY2xhc3M9XCJiZy10cmFuc3BhcmVudCBib3JkZXItMCBwLTAgbS0wIGN1cnNvci1wb2ludGVyIHRleHQtaW5oZXJpdCBsZWFkaW5nLW5vbmUgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCJcbiAgICA+XG4gICAgICA8aSBjbGFzcz1cImZhcyBmYS1leWVcIj48L2k+XG4gICAgPC9idXR0b24+XG5cblxuICAgIEBpZiAoYXR0YWNobWVudCgpLnJlY29yZC51cmwxIHx8IGF0dGFjaG1lbnQoKS5yZWNvcmQub3JpZ2luYWxVcmwpIHtcbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IG9wZW5Eb2N1bWVudC5lbWl0KGF0dGFjaG1lbnQoKSlcIlxuICAgICAgICBbdGl0bGVdPVwiJ2NoYXRSZWZlcmVuY2Uub3BlbkRvY3VtZW50JyB8IHRyYW5zbG9jb1wiXG4gICAgICAgIGNsYXNzPVwiYmctdHJhbnNwYXJlbnQgYm9yZGVyLTAgcC0wIG0tMCBjdXJzb3ItcG9pbnRlciB0ZXh0LWluaGVyaXQgbGVhZGluZy1ub25lIGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiXG4gICAgICA+XG4gICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWFycm93LXVwLXJpZ2h0LWZyb20tc3F1YXJlXCI+PC9pPlxuICAgICAgPC9idXR0b24+XG4gICAgfVxuICA8L2Rpdj5cblxuICBAaWYgKCEhcGFydElkKCkgfHwgKGF0dGFjaG1lbnQoKVsnJGV4cGFuZGVkJ10gJiYgcGFydHMubGVuZ3RoKSkge1xuICAgIDxkaXYgY2xhc3M9XCJyZWZlcmVuY2UtcGFzc2FnZXNcIj5cbiAgICAgIEBmb3IgKHBhcnQgb2YgcGFydHM7IHRyYWNrICRpbmRleCkge1xuICAgICAgPGRpdiBjbGFzcz1cInJlZmVyZW5jZS1wYXNzYWdlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwicmVmZXJlbmNlIG1lLTFcIj57eyByZWZlcmVuY2UoKSB9fS57eyBwYXJ0LnBhcnRJZCB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ3LTEwMCBwZS0yXCIgW2lubmVySFRNTF09XCJwYXJ0LnRleHRcIj48L3NwYW4+XG4gICAgICA8L2Rpdj5cblxuICAgICAgQGZvciAoaW1hZ2VJZCBvZiBncm91cGVkSW1hZ2VzSWRzKClbcGFydC5wYXJ0SWQhXTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIEBsZXQgcmVmID0gcGFydD8uaW1hZ2VzPy5baW1hZ2VJZCAtIDFdO1xuICAgICAgICBAaWYgKHJlZj8udXJsKSB7XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJnYXAtMSBtcy0yIG15LTIgaXRlbXMtc3RhcnRcIlxuICAgICAgICAgICAgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogc3RhcnRcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVmZXJlbmNlXCIgc3R5bGU9XCJmbGV4LXNocmluazogMDtcIj5cbiAgICAgICAgICAgICAge3sgXCJJbWctXCIgKyByZWZlcmVuY2UoKSArIFwiLlwiICsgcGFydC5wYXJ0SWQgKyBcIi5cIiArIGltYWdlSWQgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICBbc3JjXT1cInJlZi51cmxcIlxuICAgICAgICAgICAgICBbYWx0XT1cInJlZi5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJtb2RhbENsaWNrZWQocmVmKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGZvciAocGFnZUlkIG9mIGdyb3VwZWRQYWdlc0lkcygpW3JlZmVyZW5jZSgpXTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICBAbGV0IHJlZiA9IGZpbmRQYWdlKHJlZmVyZW5jZU1hcCgpPy5nZXQocmVmZXJlbmNlKCkpPy5wYWdlcywgcGFnZUlkKTtcbiAgICAgIEBpZiAocmVmPy51cmwpIHtcbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiZ2FwLTEgbXMtMiBteS0yIGl0ZW1zLXN0YXJ0XCJcbiAgICAgICAgICBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBzdGFydFwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlZmVyZW5jZVwiIHN0eWxlPVwiZmxleC1zaHJpbms6IDA7XCI+e3sgXCJQYWdlLVwiICsgcmVmZXJlbmNlKCkgKyBcIi5cIiArIHBhZ2VJZCB9fTwvc3Bhbj5cblxuICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgIFtzcmNdPVwicmVmLnVybFwiXG4gICAgICAgICAgICBbYWx0XT1cInJlZi5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwibW9kYWxDbGlja2VkKHJlZilcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIH1cbiAgICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG5cbjxkaWFsb2cgI21vZGFsPlxuICA8YnV0dG9uIGNsYXNzPVwiY2xvc2VcIiAoY2xpY2spPVwibW9kYWxUcGwoKT8ubmF0aXZlRWxlbWVudD8uY2xvc2UoKVwiPlxuICAgIDxpIGNsYXNzPVwiZmFzIGZhLXhtYXJrXCI+PC9pPlxuICA8L2J1dHRvbj5cblxuICA8aW1nIFtzcmNdPVwibW9kYWxSZWYoKS51cmxcIiBbYWx0XT1cIm1vZGFsUmVmKCkuZGVzY3JpcHRpb25cIiAvPlxuPC9kaWFsb2c+XG4iXX0=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Component, input, output, viewChild } from "@angular/core";
|
|
2
|
+
import { provideTranslocoScope, TranslocoPipe } from '@jsverse/transloco';
|
|
3
|
+
import { FormatIconComponent } from "../../format-icon/format-icon.component";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class ChatReferenceImageComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.id = input.required();
|
|
8
|
+
this.ref = input.required();
|
|
9
|
+
this.openPreview = output();
|
|
10
|
+
this.openDocument = output();
|
|
11
|
+
this.openModal = output();
|
|
12
|
+
this.modalTpl = viewChild("modal");
|
|
13
|
+
}
|
|
14
|
+
previewClicked() {
|
|
15
|
+
if (!this.ref() || !this.ref().article || !this.ref().articleId)
|
|
16
|
+
return;
|
|
17
|
+
this.openPreview.emit({
|
|
18
|
+
record: this.ref().article,
|
|
19
|
+
recordId: this.ref().articleId,
|
|
20
|
+
parts: this.ref().parts,
|
|
21
|
+
$partId: this.ref().$partId
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
documentClicked() {
|
|
25
|
+
if (!this.ref() || !this.ref().article || !this.ref().articleId)
|
|
26
|
+
return;
|
|
27
|
+
this.openDocument.emit({
|
|
28
|
+
record: this.ref().article,
|
|
29
|
+
recordId: this.ref().articleId
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
modalClicked() {
|
|
33
|
+
this.modalTpl()?.nativeElement?.showModal();
|
|
34
|
+
}
|
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChatReferenceImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
36
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ChatReferenceImageComponent, isStandalone: true, selector: "ChatReferenceImage", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: true, transformFunction: null }, ref: { classPropertyName: "ref", publicName: "ref", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { openPreview: "openPreview", openDocument: "openDocument", openModal: "openModal" }, providers: [provideTranslocoScope('chat-reference')], viewQueries: [{ propertyName: "modalTpl", first: true, predicate: ["modal"], descendants: true, isSignal: true }], ngImport: i0, template: "<header>\n <span class=\"reference\">{{ id().split('.')[0] }}</span>\n\n <sq-format-icon [extension]=\"ref().article?.fileext\" />\n\n <p>{{ ref().article?.title ?? ('chatReference.untitledImage' | transloco) }}</p>\n\n <a role=\"button\" [title]=\"'chatReference.previewDocument' | transloco\" (click)=\"previewClicked()\">\n <i class=\"fas fa-eye\"></i>\n </a>\n\n @if (ref().article?.url1 || ref().article?.originalUrl) {\n <a role=\"button\" [title]=\"'chatReference.openDocument' | transloco\" (click)=\"documentClicked()\">\n <i class=\"fas fa-arrow-up-right-from-square\"></i>\n </a>\n }\n</header>\n\n@if (ref().url) {\n <div style=\"display: flex; align-items: start; gap: 0.25rem\">\n <span class=\"reference\">Img-{{ id() }}</span>\n\n <img [src]=\"ref().url\" (click)=\"modalClicked()\" [alt]=\"ref().description\" />\n </div>\n}\n\n<dialog #modal>\n <button class=\"close\" (click)=\"modalTpl()?.nativeElement?.close()\">\n <i class=\"fas fa-xmark\"></i>\n </button>\n\n <img [src]=\"ref().url\" [alt]=\"ref().description\"/>\n</dialog>\n", styles: [".ast-primary{color:var(--ast-primary-color, #005DA7);background-color:var(--ast-primary-bg, #f2f8fe)}.ast-primary-hover{background-color:var(--ast-primary-bg, #f2f8fe)}.ast-primary-hover:hover{color:var(--ast-primary-color, #005DA7)}.ast-secondary{color:var(--ast-secondary-color, #FF732E);background-color:var(--ast-secondary-bg, #FFF8F1)}.ast-error{background-color:var(--ast-error-bg, rgba(249, 58, 55, .2));color:var(--ast-action-buttons-color, inherit)}.ast-error:hover{color:var(--ast-error-color, rgba(249, 58, 55, .7))}.ast-btn{border:0;text-align:left;padding-top:.5rem;padding-bottom:.5rem;display:flex;align-items:center}.dark{--ast-primary-bg: #0d0701;--ast-primary-color: #008cd1;--ast-secondary-bg: #00070e;--ast-secondary-color: #ffa258;--ast-input-bg: #070707;--ast-input-color: rgba(222, 218, 218, .75);--ast-muted-color: rgba(222, 218, 218, .75);--ast-saved-chat-hover-background: #262421;--ast-uploaded-doc-hover-background: #262421;--ast-message-table-border-color: #333333;--ast-message-table-tr-bg: #070707;--ast-message-table-tr-border-color: #222222;--ast-reference-icon-color: white;--ast-reference-icon-active-color: black;--ast-reference-passages-color: white;--ast-reference-expanded-hover-bg: #262421;--ast-message-reference-color: black;--ast-action-buttons-color: white;--ast-action-buttons-hover-color: #6dbee6;--ast-report-bg: #070707}:host ::ng-deep .reference,:host ::ng-deep .message-content .reference,:host ::ng-deep .attachment .reference{position:relative;bottom:var(--ast-reference-bottom, .3em);font-weight:var(--ast-reference-font-weight, bold);padding:var(--ast-reference-padding, 0 .2em);margin:var(--ast-reference-margin, 0 .1em);border-radius:var(--ast-reference-border-radius, .2em);background-color:var(--ast-reference-background-color, lightblue);color:var(--ast-reference-color, black)}:host ::ng-deep .reference,:host ::ng-deep .message-content .reference{font-size:var(--ast-reference-message-font-size, .7em)}:host ::ng-deep .attachment .reference{font-size:var(--ast-reference-attachment-font-size, 13px)}sq-format-icon{color:var(--ast-secondary-color, #FF732E);margin-left:var(--ast-size-1, .25rem);margin-right:var(--ast-size-2, .5rem)}.reference-data{display:flex;flex-direction:row;align-items:baseline;padding:var(--ast-size-1, .25rem);cursor:pointer}.reference-data span.title{color:var(--ast-secondary-color, #FF732E);flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:var(--font-weight-bold, 500);cursor:pointer}.reference-data i{padding:var(--ast-size-1, .25rem);margin-left:var(--ast-size-1, .25rem);cursor:pointer;color:var(--ast-reference-icon-color, black)}.reference-data i.active{color:var(--ast-reference-icon-active-color, white);background-color:var(--ast-secondary-color, #FF732E)}.reference-data:not(.expanded) i{opacity:0}.reference-data:not(.expanded):hover i{opacity:1}.reference-passages{white-space:normal;font-style:italic;font-weight:400;padding:1rem 0;color:var(--ast-reference-passages-color, black)}.reference-passages .reference-passage{display:flex;align-items:baseline;padding-left:2.5rem;padding-right:1rem;word-wrap:break-word}.reference-passages .reference-passage+.reference-passage{padding-top:1rem}.reference-passages .reference-passage .reference{white-space:nowrap;margin-right:var(--ast-size-2, .5rem)}.reference-tooltip{max-width:600px!important;box-shadow:0 .5rem 1rem #00000026;padding:.5rem;font-size:.875rem}.w-100{width:100%}header{display:flex;flex-direction:row;align-items:baseline;gap:var(--ast-size-1, .25rem);cursor:pointer}header a{color:var(--ast-secondary-color, #FF732E);font-weight:var(--font-weight-bold, 500)}header i{padding:var(--ast-size-1, .25rem);margin-left:var(--ast-size-1, .25rem);cursor:pointer;color:var(--ast-reference-icon-color, black)}header i.active{color:var(--ast-reference-icon-active-color, white);background-color:var(--ast-secondary-color, #FF732E)}header p{flex-grow:1;flex-shrink:1;margin:0!important;overflow-x:hidden;text-overflow:ellipsis}img{max-width:30vw;max-height:30vh;object-fit:contain}dialog ::backdrop{background-color:#000c}dialog img{max-width:90vw;max-height:90vh;object-fit:contain}dialog button.close{position:absolute;top:0;right:0;border:solid 1px black;background-color:#fff;color:#000;font-size:1rem;cursor:pointer}\n", ":host{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;background-color:#00f;box-shadow:0 .5rem 1rem #00000026;font-size:.875rem;background-color:var(--ast-reference-expanded-hover-bg, white)}\n"], dependencies: [{ kind: "component", type: FormatIconComponent, selector: "sq-format-icon", inputs: ["extension"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] }); }
|
|
37
|
+
}
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChatReferenceImageComponent, decorators: [{
|
|
39
|
+
type: Component,
|
|
40
|
+
args: [{ selector: "ChatReferenceImage", standalone: true, providers: [provideTranslocoScope('chat-reference')], imports: [FormatIconComponent, TranslocoPipe], template: "<header>\n <span class=\"reference\">{{ id().split('.')[0] }}</span>\n\n <sq-format-icon [extension]=\"ref().article?.fileext\" />\n\n <p>{{ ref().article?.title ?? ('chatReference.untitledImage' | transloco) }}</p>\n\n <a role=\"button\" [title]=\"'chatReference.previewDocument' | transloco\" (click)=\"previewClicked()\">\n <i class=\"fas fa-eye\"></i>\n </a>\n\n @if (ref().article?.url1 || ref().article?.originalUrl) {\n <a role=\"button\" [title]=\"'chatReference.openDocument' | transloco\" (click)=\"documentClicked()\">\n <i class=\"fas fa-arrow-up-right-from-square\"></i>\n </a>\n }\n</header>\n\n@if (ref().url) {\n <div style=\"display: flex; align-items: start; gap: 0.25rem\">\n <span class=\"reference\">Img-{{ id() }}</span>\n\n <img [src]=\"ref().url\" (click)=\"modalClicked()\" [alt]=\"ref().description\" />\n </div>\n}\n\n<dialog #modal>\n <button class=\"close\" (click)=\"modalTpl()?.nativeElement?.close()\">\n <i class=\"fas fa-xmark\"></i>\n </button>\n\n <img [src]=\"ref().url\" [alt]=\"ref().description\"/>\n</dialog>\n", styles: [".ast-primary{color:var(--ast-primary-color, #005DA7);background-color:var(--ast-primary-bg, #f2f8fe)}.ast-primary-hover{background-color:var(--ast-primary-bg, #f2f8fe)}.ast-primary-hover:hover{color:var(--ast-primary-color, #005DA7)}.ast-secondary{color:var(--ast-secondary-color, #FF732E);background-color:var(--ast-secondary-bg, #FFF8F1)}.ast-error{background-color:var(--ast-error-bg, rgba(249, 58, 55, .2));color:var(--ast-action-buttons-color, inherit)}.ast-error:hover{color:var(--ast-error-color, rgba(249, 58, 55, .7))}.ast-btn{border:0;text-align:left;padding-top:.5rem;padding-bottom:.5rem;display:flex;align-items:center}.dark{--ast-primary-bg: #0d0701;--ast-primary-color: #008cd1;--ast-secondary-bg: #00070e;--ast-secondary-color: #ffa258;--ast-input-bg: #070707;--ast-input-color: rgba(222, 218, 218, .75);--ast-muted-color: rgba(222, 218, 218, .75);--ast-saved-chat-hover-background: #262421;--ast-uploaded-doc-hover-background: #262421;--ast-message-table-border-color: #333333;--ast-message-table-tr-bg: #070707;--ast-message-table-tr-border-color: #222222;--ast-reference-icon-color: white;--ast-reference-icon-active-color: black;--ast-reference-passages-color: white;--ast-reference-expanded-hover-bg: #262421;--ast-message-reference-color: black;--ast-action-buttons-color: white;--ast-action-buttons-hover-color: #6dbee6;--ast-report-bg: #070707}:host ::ng-deep .reference,:host ::ng-deep .message-content .reference,:host ::ng-deep .attachment .reference{position:relative;bottom:var(--ast-reference-bottom, .3em);font-weight:var(--ast-reference-font-weight, bold);padding:var(--ast-reference-padding, 0 .2em);margin:var(--ast-reference-margin, 0 .1em);border-radius:var(--ast-reference-border-radius, .2em);background-color:var(--ast-reference-background-color, lightblue);color:var(--ast-reference-color, black)}:host ::ng-deep .reference,:host ::ng-deep .message-content .reference{font-size:var(--ast-reference-message-font-size, .7em)}:host ::ng-deep .attachment .reference{font-size:var(--ast-reference-attachment-font-size, 13px)}sq-format-icon{color:var(--ast-secondary-color, #FF732E);margin-left:var(--ast-size-1, .25rem);margin-right:var(--ast-size-2, .5rem)}.reference-data{display:flex;flex-direction:row;align-items:baseline;padding:var(--ast-size-1, .25rem);cursor:pointer}.reference-data span.title{color:var(--ast-secondary-color, #FF732E);flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:var(--font-weight-bold, 500);cursor:pointer}.reference-data i{padding:var(--ast-size-1, .25rem);margin-left:var(--ast-size-1, .25rem);cursor:pointer;color:var(--ast-reference-icon-color, black)}.reference-data i.active{color:var(--ast-reference-icon-active-color, white);background-color:var(--ast-secondary-color, #FF732E)}.reference-data:not(.expanded) i{opacity:0}.reference-data:not(.expanded):hover i{opacity:1}.reference-passages{white-space:normal;font-style:italic;font-weight:400;padding:1rem 0;color:var(--ast-reference-passages-color, black)}.reference-passages .reference-passage{display:flex;align-items:baseline;padding-left:2.5rem;padding-right:1rem;word-wrap:break-word}.reference-passages .reference-passage+.reference-passage{padding-top:1rem}.reference-passages .reference-passage .reference{white-space:nowrap;margin-right:var(--ast-size-2, .5rem)}.reference-tooltip{max-width:600px!important;box-shadow:0 .5rem 1rem #00000026;padding:.5rem;font-size:.875rem}.w-100{width:100%}header{display:flex;flex-direction:row;align-items:baseline;gap:var(--ast-size-1, .25rem);cursor:pointer}header a{color:var(--ast-secondary-color, #FF732E);font-weight:var(--font-weight-bold, 500)}header i{padding:var(--ast-size-1, .25rem);margin-left:var(--ast-size-1, .25rem);cursor:pointer;color:var(--ast-reference-icon-color, black)}header i.active{color:var(--ast-reference-icon-active-color, white);background-color:var(--ast-secondary-color, #FF732E)}header p{flex-grow:1;flex-shrink:1;margin:0!important;overflow-x:hidden;text-overflow:ellipsis}img{max-width:30vw;max-height:30vh;object-fit:contain}dialog ::backdrop{background-color:#000c}dialog img{max-width:90vw;max-height:90vh;object-fit:contain}dialog button.close{position:absolute;top:0;right:0;border:solid 1px black;background-color:#fff;color:#000;font-size:1rem;cursor:pointer}\n", ":host{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;background-color:#00f;box-shadow:0 .5rem 1rem #00000026;font-size:.875rem;background-color:var(--ast-reference-expanded-hover-bg, white)}\n"] }]
|
|
41
|
+
}] });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1yZWZlcmVuY2UtaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXNzaXN0YW50L2NoYXQvcmVmZXJlbmNlcy9jaGF0LXJlZmVyZW5jZS1pbWFnZS9jaGF0LXJlZmVyZW5jZS1pbWFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3Npc3RhbnQvY2hhdC9yZWZlcmVuY2VzL2NoYXQtcmVmZXJlbmNlLWltYWdlL2NoYXQtcmVmZXJlbmNlLWltYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOztBQTBCOUUsTUFBTSxPQUFPLDJCQUEyQjtJQXRCeEM7UUF1QlcsT0FBRSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUM5QixRQUFHLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBeUIsQ0FBQztRQUU5QyxnQkFBVyxHQUFHLE1BQU0sRUFFMUIsQ0FBQztRQUNLLGlCQUFZLEdBQUcsTUFBTSxFQUErQixDQUFDO1FBQ3JELGNBQVMsR0FBRyxNQUFNLEVBQVEsQ0FBQztRQUUzQixhQUFRLEdBQUcsU0FBUyxDQUFnQyxPQUFPLENBQUMsQ0FBQztLQXlCdkU7SUF2QkMsY0FBYztRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBRXhFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ3BCLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBUTtZQUMzQixRQUFRLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVU7WUFDL0IsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFNO1lBQ3hCLE9BQU8sRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBUTtTQUM3QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBRXhFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQ3JCLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBUTtZQUMzQixRQUFRLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVU7U0FDaEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxDQUFDO0lBQzlDLENBQUM7K0dBbENVLDJCQUEyQjttR0FBM0IsMkJBQTJCLDJZQW5CM0IsQ0FBQyxxQkFBcUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLDZJQ1Z0RCwwakNBaUNBLCs5SUR0QlksbUJBQW1CLDZFQUFFLGFBQWE7OzRGQWtCakMsMkJBQTJCO2tCQXRCdkMsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxhQUNMLENBQUMscUJBQXFCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxXQUMzQyxDQUFDLG1CQUFtQixFQUFFLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgaW5wdXQsIG91dHB1dCwgdmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IHByb3ZpZGVUcmFuc2xvY29TY29wZSwgVHJhbnNsb2NvUGlwZSB9IGZyb20gJ0Bqc3ZlcnNlL3RyYW5zbG9jbyc7XG5cbmltcG9ydCB7IEZvcm1hdEljb25Db21wb25lbnQgfSBmcm9tIFwiLi4vLi4vZm9ybWF0LWljb24vZm9ybWF0LWljb24uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBEb2N1bWVudFBhcnQsIFJhd0F0dGFjaG1lbnQgfSBmcm9tIFwiLi4vLi4vdHlwZXNcIjtcbmltcG9ydCB7IE1lc3NhZ2VJbWFnZVJlZmVyZW5jZSB9IGZyb20gXCIuLi8uLi90eXBlcy9tZXNzYWdlLXJlZmVyZW5jZS50eXBlc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiQ2hhdFJlZmVyZW5jZUltYWdlXCIsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHByb3ZpZGVyczogW3Byb3ZpZGVUcmFuc2xvY29TY29wZSgnY2hhdC1yZWZlcmVuY2UnKV0sXG4gIGltcG9ydHM6IFtGb3JtYXRJY29uQ29tcG9uZW50LCBUcmFuc2xvY29QaXBlXSxcbiAgdGVtcGxhdGVVcmw6IFwiLi9jaGF0LXJlZmVyZW5jZS1pbWFnZS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4uL2NoYXQtcmVmZXJlbmNlLnNjc3NcIl0sXG4gIHN0eWxlczogW2BcbiAgICA6aG9zdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogMC41cmVtO1xuXG4gICAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlO1xuICAgICAgYm94LXNoYWRvdzogMCAwLjVyZW0gMXJlbSByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcblxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYXN0LXJlZmVyZW5jZS1leHBhbmRlZC1ob3Zlci1iZywgd2hpdGUpO1xuICAgIH1cbmBdXG59KVxuZXhwb3J0IGNsYXNzIENoYXRSZWZlcmVuY2VJbWFnZUNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGlkID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICByZWFkb25seSByZWYgPSBpbnB1dC5yZXF1aXJlZDxNZXNzYWdlSW1hZ2VSZWZlcmVuY2U+KCk7XG5cbiAgcmVhZG9ubHkgb3BlblByZXZpZXcgPSBvdXRwdXQ8XG4gICAgT21pdDxSYXdBdHRhY2htZW50LCBcInR5cGVcIj4gJiB7ICRwYXJ0SWQ6IG51bWJlciwgcGFydHM6IERvY3VtZW50UGFydFtdIH1cbiAgPigpO1xuICByZWFkb25seSBvcGVuRG9jdW1lbnQgPSBvdXRwdXQ8T21pdDxSYXdBdHRhY2htZW50LCBcInR5cGVcIj4+KCk7XG4gIHJlYWRvbmx5IG9wZW5Nb2RhbCA9IG91dHB1dDx2b2lkPigpO1xuXG4gIHJlYWRvbmx5IG1vZGFsVHBsID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTERpYWxvZ0VsZW1lbnQ+PihcIm1vZGFsXCIpO1xuXG4gIHByZXZpZXdDbGlja2VkKCkge1xuICAgIGlmICghdGhpcy5yZWYoKSB8fCAhdGhpcy5yZWYoKS5hcnRpY2xlIHx8ICF0aGlzLnJlZigpLmFydGljbGVJZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5vcGVuUHJldmlldy5lbWl0KHtcbiAgICAgIHJlY29yZDogdGhpcy5yZWYoKS5hcnRpY2xlISxcbiAgICAgIHJlY29yZElkOiB0aGlzLnJlZigpLmFydGljbGVJZCEsXG4gICAgICBwYXJ0czogdGhpcy5yZWYoKS5wYXJ0cyEsXG4gICAgICAkcGFydElkOiB0aGlzLnJlZigpLiRwYXJ0SWQhXG4gICAgfSk7XG4gIH1cblxuICBkb2N1bWVudENsaWNrZWQoKSB7XG4gICAgaWYgKCF0aGlzLnJlZigpIHx8ICF0aGlzLnJlZigpLmFydGljbGUgfHwgIXRoaXMucmVmKCkuYXJ0aWNsZUlkKSByZXR1cm47XG5cbiAgICB0aGlzLm9wZW5Eb2N1bWVudC5lbWl0KHtcbiAgICAgIHJlY29yZDogdGhpcy5yZWYoKS5hcnRpY2xlISxcbiAgICAgIHJlY29yZElkOiB0aGlzLnJlZigpLmFydGljbGVJZCFcbiAgICB9KTtcbiAgfVxuXG4gIG1vZGFsQ2xpY2tlZCgpIHtcbiAgICB0aGlzLm1vZGFsVHBsKCk/Lm5hdGl2ZUVsZW1lbnQ/LnNob3dNb2RhbCgpO1xuICB9XG59XG4iLCI8aGVhZGVyPlxuICA8c3BhbiBjbGFzcz1cInJlZmVyZW5jZVwiPnt7IGlkKCkuc3BsaXQoJy4nKVswXSB9fTwvc3Bhbj5cblxuICA8c3EtZm9ybWF0LWljb24gW2V4dGVuc2lvbl09XCJyZWYoKS5hcnRpY2xlPy5maWxlZXh0XCIgLz5cblxuICA8cD57eyByZWYoKS5hcnRpY2xlPy50aXRsZSA/PyAoJ2NoYXRSZWZlcmVuY2UudW50aXRsZWRJbWFnZScgfCB0cmFuc2xvY28pIH19PC9wPlxuXG4gIDxhIHJvbGU9XCJidXR0b25cIiBbdGl0bGVdPVwiJ2NoYXRSZWZlcmVuY2UucHJldmlld0RvY3VtZW50JyB8IHRyYW5zbG9jb1wiIChjbGljayk9XCJwcmV2aWV3Q2xpY2tlZCgpXCI+XG4gICAgPGkgY2xhc3M9XCJmYXMgZmEtZXllXCI+PC9pPlxuICA8L2E+XG5cbiAgQGlmIChyZWYoKS5hcnRpY2xlPy51cmwxIHx8IHJlZigpLmFydGljbGU/Lm9yaWdpbmFsVXJsKSB7XG4gIDxhIHJvbGU9XCJidXR0b25cIiBbdGl0bGVdPVwiJ2NoYXRSZWZlcmVuY2Uub3BlbkRvY3VtZW50JyB8IHRyYW5zbG9jb1wiIChjbGljayk9XCJkb2N1bWVudENsaWNrZWQoKVwiPlxuICAgIDxpIGNsYXNzPVwiZmFzIGZhLWFycm93LXVwLXJpZ2h0LWZyb20tc3F1YXJlXCI+PC9pPlxuICA8L2E+XG4gIH1cbjwvaGVhZGVyPlxuXG5AaWYgKHJlZigpLnVybCkge1xuICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IHN0YXJ0OyBnYXA6IDAuMjVyZW1cIj5cbiAgICA8c3BhbiBjbGFzcz1cInJlZmVyZW5jZVwiPkltZy17eyBpZCgpIH19PC9zcGFuPlxuXG4gICAgPGltZyBbc3JjXT1cInJlZigpLnVybFwiIChjbGljayk9XCJtb2RhbENsaWNrZWQoKVwiIFthbHRdPVwicmVmKCkuZGVzY3JpcHRpb25cIiAvPlxuICA8L2Rpdj5cbn1cblxuPGRpYWxvZyAjbW9kYWw+XG4gIDxidXR0b24gY2xhc3M9XCJjbG9zZVwiIChjbGljayk9XCJtb2RhbFRwbCgpPy5uYXRpdmVFbGVtZW50Py5jbG9zZSgpXCI+XG4gICAgPGkgY2xhc3M9XCJmYXMgZmEteG1hcmtcIj48L2k+XG4gIDwvYnV0dG9uPlxuXG4gIDxpbWcgW3NyY109XCJyZWYoKS51cmxcIiBbYWx0XT1cInJlZigpLmRlc2NyaXB0aW9uXCIvPlxuPC9kaWFsb2c+XG4iXX0=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Component, input, output, viewChild } from "@angular/core";
|
|
2
|
+
import { provideTranslocoScope, TranslocoPipe } from '@jsverse/transloco';
|
|
3
|
+
import { FormatIconComponent } from "../../format-icon/format-icon.component";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class ChatReferencePageComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.id = input.required();
|
|
8
|
+
this.ref = input.required();
|
|
9
|
+
this.openPreview = output();
|
|
10
|
+
this.openDocument = output();
|
|
11
|
+
this.openModal = output();
|
|
12
|
+
this.modalTpl = viewChild("modal");
|
|
13
|
+
}
|
|
14
|
+
previewClicked() {
|
|
15
|
+
if (!this.ref() || !this.ref().article || !this.ref().articleId)
|
|
16
|
+
return;
|
|
17
|
+
this.openPreview.emit({
|
|
18
|
+
record: this.ref().article,
|
|
19
|
+
recordId: this.ref().articleId,
|
|
20
|
+
parts: this.ref().parts,
|
|
21
|
+
$partId: this.ref().$partId
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
documentClicked() {
|
|
25
|
+
if (!this.ref() || !this.ref().article || !this.ref().articleId)
|
|
26
|
+
return;
|
|
27
|
+
this.openDocument.emit({
|
|
28
|
+
record: this.ref().article,
|
|
29
|
+
recordId: this.ref().articleId
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
modalClicked() {
|
|
33
|
+
this.modalTpl()?.nativeElement?.showModal();
|
|
34
|
+
}
|
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChatReferencePageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
36
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ChatReferencePageComponent, isStandalone: true, selector: "ChatReferencePage", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: true, transformFunction: null }, ref: { classPropertyName: "ref", publicName: "ref", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { openPreview: "openPreview", openDocument: "openDocument", openModal: "openModal" }, providers: [provideTranslocoScope('chat-reference')], viewQueries: [{ propertyName: "modalTpl", first: true, predicate: ["modal"], descendants: true, isSignal: true }], ngImport: i0, template: "<header>\n <span class=\"reference\">{{ id().split(\".\")[0] }}</span>\n\n <sq-format-icon [extension]=\"ref().article?.fileext\" />\n\n <p>{{ ref().article?.title ?? ('chatReference.untitledImage' | transloco) }}</p>\n\n <a role=\"button\" [title]=\"'chatReference.previewDocument' | transloco\" (click)=\"previewClicked()\">\n <i class=\"fas fa-eye\"></i>\n </a>\n\n @if (ref().article?.url1 || ref().article?.originalUrl) {\n <a role=\"button\" [title]=\"'chatReference.openDocument' | transloco\" (click)=\"documentClicked()\">\n <i class=\"fas fa-arrow-up-right-from-square\"></i>\n </a>\n }\n</header>\n\n@if (ref().url) {\n <div style=\"display: flex; align-items: start; gap: 0.25rem\">\n <span class=\"reference\">Page-{{ id() }}</span>\n\n <img [src]=\"ref().url\" (click)=\"modalClicked()\" [alt]=\"ref().description\" />\n </div>\n}\n\n<dialog #modal>\n <button class=\"close\" (click)=\"modalTpl()?.nativeElement?.close()\">\n <i class=\"fas fa-xmark\"></i>\n </button>\n\n <img [src]=\"ref().url\" [alt]=\"ref().description\" />\n</dialog>\n", styles: [".ast-primary{color:var(--ast-primary-color, #005DA7);background-color:var(--ast-primary-bg, #f2f8fe)}.ast-primary-hover{background-color:var(--ast-primary-bg, #f2f8fe)}.ast-primary-hover:hover{color:var(--ast-primary-color, #005DA7)}.ast-secondary{color:var(--ast-secondary-color, #FF732E);background-color:var(--ast-secondary-bg, #FFF8F1)}.ast-error{background-color:var(--ast-error-bg, rgba(249, 58, 55, .2));color:var(--ast-action-buttons-color, inherit)}.ast-error:hover{color:var(--ast-error-color, rgba(249, 58, 55, .7))}.ast-btn{border:0;text-align:left;padding-top:.5rem;padding-bottom:.5rem;display:flex;align-items:center}.dark{--ast-primary-bg: #0d0701;--ast-primary-color: #008cd1;--ast-secondary-bg: #00070e;--ast-secondary-color: #ffa258;--ast-input-bg: #070707;--ast-input-color: rgba(222, 218, 218, .75);--ast-muted-color: rgba(222, 218, 218, .75);--ast-saved-chat-hover-background: #262421;--ast-uploaded-doc-hover-background: #262421;--ast-message-table-border-color: #333333;--ast-message-table-tr-bg: #070707;--ast-message-table-tr-border-color: #222222;--ast-reference-icon-color: white;--ast-reference-icon-active-color: black;--ast-reference-passages-color: white;--ast-reference-expanded-hover-bg: #262421;--ast-message-reference-color: black;--ast-action-buttons-color: white;--ast-action-buttons-hover-color: #6dbee6;--ast-report-bg: #070707}:host ::ng-deep .reference,:host ::ng-deep .message-content .reference,:host ::ng-deep .attachment .reference{position:relative;bottom:var(--ast-reference-bottom, .3em);font-weight:var(--ast-reference-font-weight, bold);padding:var(--ast-reference-padding, 0 .2em);margin:var(--ast-reference-margin, 0 .1em);border-radius:var(--ast-reference-border-radius, .2em);background-color:var(--ast-reference-background-color, lightblue);color:var(--ast-reference-color, black)}:host ::ng-deep .reference,:host ::ng-deep .message-content .reference{font-size:var(--ast-reference-message-font-size, .7em)}:host ::ng-deep .attachment .reference{font-size:var(--ast-reference-attachment-font-size, 13px)}sq-format-icon{color:var(--ast-secondary-color, #FF732E);margin-left:var(--ast-size-1, .25rem);margin-right:var(--ast-size-2, .5rem)}.reference-data{display:flex;flex-direction:row;align-items:baseline;padding:var(--ast-size-1, .25rem);cursor:pointer}.reference-data span.title{color:var(--ast-secondary-color, #FF732E);flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:var(--font-weight-bold, 500);cursor:pointer}.reference-data i{padding:var(--ast-size-1, .25rem);margin-left:var(--ast-size-1, .25rem);cursor:pointer;color:var(--ast-reference-icon-color, black)}.reference-data i.active{color:var(--ast-reference-icon-active-color, white);background-color:var(--ast-secondary-color, #FF732E)}.reference-data:not(.expanded) i{opacity:0}.reference-data:not(.expanded):hover i{opacity:1}.reference-passages{white-space:normal;font-style:italic;font-weight:400;padding:1rem 0;color:var(--ast-reference-passages-color, black)}.reference-passages .reference-passage{display:flex;align-items:baseline;padding-left:2.5rem;padding-right:1rem;word-wrap:break-word}.reference-passages .reference-passage+.reference-passage{padding-top:1rem}.reference-passages .reference-passage .reference{white-space:nowrap;margin-right:var(--ast-size-2, .5rem)}.reference-tooltip{max-width:600px!important;box-shadow:0 .5rem 1rem #00000026;padding:.5rem;font-size:.875rem}.w-100{width:100%}header{display:flex;flex-direction:row;align-items:baseline;gap:var(--ast-size-1, .25rem);cursor:pointer}header a{color:var(--ast-secondary-color, #FF732E);font-weight:var(--font-weight-bold, 500)}header i{padding:var(--ast-size-1, .25rem);margin-left:var(--ast-size-1, .25rem);cursor:pointer;color:var(--ast-reference-icon-color, black)}header i.active{color:var(--ast-reference-icon-active-color, white);background-color:var(--ast-secondary-color, #FF732E)}header p{flex-grow:1;flex-shrink:1;margin:0!important;overflow-x:hidden;text-overflow:ellipsis}img{max-width:30vw;max-height:30vh;object-fit:contain}dialog ::backdrop{background-color:#000c}dialog img{max-width:90vw;max-height:90vh;object-fit:contain}dialog button.close{position:absolute;top:0;right:0;border:solid 1px black;background-color:#fff;color:#000;font-size:1rem;cursor:pointer}\n", ":host{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;background-color:#00f;box-shadow:0 .5rem 1rem #00000026;font-size:.875rem;background-color:var(--ast-reference-expanded-hover-bg, white)}\n"], dependencies: [{ kind: "component", type: FormatIconComponent, selector: "sq-format-icon", inputs: ["extension"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] }); }
|
|
37
|
+
}
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChatReferencePageComponent, decorators: [{
|
|
39
|
+
type: Component,
|
|
40
|
+
args: [{ selector: "ChatReferencePage", standalone: true, providers: [provideTranslocoScope('chat-reference')], imports: [FormatIconComponent, TranslocoPipe], template: "<header>\n <span class=\"reference\">{{ id().split(\".\")[0] }}</span>\n\n <sq-format-icon [extension]=\"ref().article?.fileext\" />\n\n <p>{{ ref().article?.title ?? ('chatReference.untitledImage' | transloco) }}</p>\n\n <a role=\"button\" [title]=\"'chatReference.previewDocument' | transloco\" (click)=\"previewClicked()\">\n <i class=\"fas fa-eye\"></i>\n </a>\n\n @if (ref().article?.url1 || ref().article?.originalUrl) {\n <a role=\"button\" [title]=\"'chatReference.openDocument' | transloco\" (click)=\"documentClicked()\">\n <i class=\"fas fa-arrow-up-right-from-square\"></i>\n </a>\n }\n</header>\n\n@if (ref().url) {\n <div style=\"display: flex; align-items: start; gap: 0.25rem\">\n <span class=\"reference\">Page-{{ id() }}</span>\n\n <img [src]=\"ref().url\" (click)=\"modalClicked()\" [alt]=\"ref().description\" />\n </div>\n}\n\n<dialog #modal>\n <button class=\"close\" (click)=\"modalTpl()?.nativeElement?.close()\">\n <i class=\"fas fa-xmark\"></i>\n </button>\n\n <img [src]=\"ref().url\" [alt]=\"ref().description\" />\n</dialog>\n", styles: [".ast-primary{color:var(--ast-primary-color, #005DA7);background-color:var(--ast-primary-bg, #f2f8fe)}.ast-primary-hover{background-color:var(--ast-primary-bg, #f2f8fe)}.ast-primary-hover:hover{color:var(--ast-primary-color, #005DA7)}.ast-secondary{color:var(--ast-secondary-color, #FF732E);background-color:var(--ast-secondary-bg, #FFF8F1)}.ast-error{background-color:var(--ast-error-bg, rgba(249, 58, 55, .2));color:var(--ast-action-buttons-color, inherit)}.ast-error:hover{color:var(--ast-error-color, rgba(249, 58, 55, .7))}.ast-btn{border:0;text-align:left;padding-top:.5rem;padding-bottom:.5rem;display:flex;align-items:center}.dark{--ast-primary-bg: #0d0701;--ast-primary-color: #008cd1;--ast-secondary-bg: #00070e;--ast-secondary-color: #ffa258;--ast-input-bg: #070707;--ast-input-color: rgba(222, 218, 218, .75);--ast-muted-color: rgba(222, 218, 218, .75);--ast-saved-chat-hover-background: #262421;--ast-uploaded-doc-hover-background: #262421;--ast-message-table-border-color: #333333;--ast-message-table-tr-bg: #070707;--ast-message-table-tr-border-color: #222222;--ast-reference-icon-color: white;--ast-reference-icon-active-color: black;--ast-reference-passages-color: white;--ast-reference-expanded-hover-bg: #262421;--ast-message-reference-color: black;--ast-action-buttons-color: white;--ast-action-buttons-hover-color: #6dbee6;--ast-report-bg: #070707}:host ::ng-deep .reference,:host ::ng-deep .message-content .reference,:host ::ng-deep .attachment .reference{position:relative;bottom:var(--ast-reference-bottom, .3em);font-weight:var(--ast-reference-font-weight, bold);padding:var(--ast-reference-padding, 0 .2em);margin:var(--ast-reference-margin, 0 .1em);border-radius:var(--ast-reference-border-radius, .2em);background-color:var(--ast-reference-background-color, lightblue);color:var(--ast-reference-color, black)}:host ::ng-deep .reference,:host ::ng-deep .message-content .reference{font-size:var(--ast-reference-message-font-size, .7em)}:host ::ng-deep .attachment .reference{font-size:var(--ast-reference-attachment-font-size, 13px)}sq-format-icon{color:var(--ast-secondary-color, #FF732E);margin-left:var(--ast-size-1, .25rem);margin-right:var(--ast-size-2, .5rem)}.reference-data{display:flex;flex-direction:row;align-items:baseline;padding:var(--ast-size-1, .25rem);cursor:pointer}.reference-data span.title{color:var(--ast-secondary-color, #FF732E);flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:var(--font-weight-bold, 500);cursor:pointer}.reference-data i{padding:var(--ast-size-1, .25rem);margin-left:var(--ast-size-1, .25rem);cursor:pointer;color:var(--ast-reference-icon-color, black)}.reference-data i.active{color:var(--ast-reference-icon-active-color, white);background-color:var(--ast-secondary-color, #FF732E)}.reference-data:not(.expanded) i{opacity:0}.reference-data:not(.expanded):hover i{opacity:1}.reference-passages{white-space:normal;font-style:italic;font-weight:400;padding:1rem 0;color:var(--ast-reference-passages-color, black)}.reference-passages .reference-passage{display:flex;align-items:baseline;padding-left:2.5rem;padding-right:1rem;word-wrap:break-word}.reference-passages .reference-passage+.reference-passage{padding-top:1rem}.reference-passages .reference-passage .reference{white-space:nowrap;margin-right:var(--ast-size-2, .5rem)}.reference-tooltip{max-width:600px!important;box-shadow:0 .5rem 1rem #00000026;padding:.5rem;font-size:.875rem}.w-100{width:100%}header{display:flex;flex-direction:row;align-items:baseline;gap:var(--ast-size-1, .25rem);cursor:pointer}header a{color:var(--ast-secondary-color, #FF732E);font-weight:var(--font-weight-bold, 500)}header i{padding:var(--ast-size-1, .25rem);margin-left:var(--ast-size-1, .25rem);cursor:pointer;color:var(--ast-reference-icon-color, black)}header i.active{color:var(--ast-reference-icon-active-color, white);background-color:var(--ast-secondary-color, #FF732E)}header p{flex-grow:1;flex-shrink:1;margin:0!important;overflow-x:hidden;text-overflow:ellipsis}img{max-width:30vw;max-height:30vh;object-fit:contain}dialog ::backdrop{background-color:#000c}dialog img{max-width:90vw;max-height:90vh;object-fit:contain}dialog button.close{position:absolute;top:0;right:0;border:solid 1px black;background-color:#fff;color:#000;font-size:1rem;cursor:pointer}\n", ":host{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;background-color:#00f;box-shadow:0 .5rem 1rem #00000026;font-size:.875rem;background-color:var(--ast-reference-expanded-hover-bg, white)}\n"] }]
|
|
41
|
+
}] });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1yZWZlcmVuY2UtcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3Npc3RhbnQvY2hhdC9yZWZlcmVuY2VzL2NoYXQtcmVmZXJlbmNlLXBhZ2UvY2hhdC1yZWZlcmVuY2UtcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3Npc3RhbnQvY2hhdC9yZWZlcmVuY2VzL2NoYXQtcmVmZXJlbmNlLXBhZ2UvY2hhdC1yZWZlcmVuY2UtcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUxRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7QUEwQjlFLE1BQU0sT0FBTywwQkFBMEI7SUF0QnZDO1FBdUJXLE9BQUUsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDOUIsUUFBRyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXlCLENBQUM7UUFFOUMsZ0JBQVcsR0FBRyxNQUFNLEVBRTFCLENBQUM7UUFDSyxpQkFBWSxHQUFHLE1BQU0sRUFBK0IsQ0FBQztRQUNyRCxjQUFTLEdBQUcsTUFBTSxFQUFRLENBQUM7UUFFM0IsYUFBUSxHQUFHLFNBQVMsQ0FBZ0MsT0FBTyxDQUFDLENBQUM7S0F5QnZFO0lBdkJDLGNBQWM7UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUV4RSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztZQUNwQixNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQVE7WUFDM0IsUUFBUSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFVO1lBQy9CLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBTTtZQUN4QixPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQVE7U0FDN0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUV4RSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztZQUNyQixNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQVE7WUFDM0IsUUFBUSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFVO1NBQ2hDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsQ0FBQztJQUM5QyxDQUFDOytHQWxDVSwwQkFBMEI7bUdBQTFCLDBCQUEwQiwwWUFuQjFCLENBQUMscUJBQXFCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyw2SUNWdEQsOGpDQWlDQSwrOUlEdEJZLG1CQUFtQiw2RUFBRSxhQUFhOzs0RkFrQmpDLDBCQUEwQjtrQkF0QnRDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBQ2pCLElBQUksYUFDTCxDQUFDLHFCQUFxQixDQUFDLGdCQUFnQixDQUFDLENBQUMsV0FDM0MsQ0FBQyxtQkFBbUIsRUFBRSxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGlucHV0LCBvdXRwdXQsIHZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBwcm92aWRlVHJhbnNsb2NvU2NvcGUsIFRyYW5zbG9jb1BpcGUgfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xuXG5pbXBvcnQgeyBGb3JtYXRJY29uQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2Zvcm1hdC1pY29uL2Zvcm1hdC1pY29uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRG9jdW1lbnRQYXJ0LCBSYXdBdHRhY2htZW50IH0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5pbXBvcnQgeyBNZXNzYWdlSW1hZ2VSZWZlcmVuY2UgfSBmcm9tIFwiLi4vLi4vdHlwZXMvbWVzc2FnZS1yZWZlcmVuY2UudHlwZXNcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIkNoYXRSZWZlcmVuY2VQYWdlXCIsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHByb3ZpZGVyczogW3Byb3ZpZGVUcmFuc2xvY29TY29wZSgnY2hhdC1yZWZlcmVuY2UnKV0sXG4gIGltcG9ydHM6IFtGb3JtYXRJY29uQ29tcG9uZW50LCBUcmFuc2xvY29QaXBlXSxcbiAgdGVtcGxhdGVVcmw6IFwiLi9jaGF0LXJlZmVyZW5jZS1wYWdlLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi4vY2hhdC1yZWZlcmVuY2Uuc2Nzc1wiXSxcbiAgc3R5bGVzOiBbYFxuICAgIDpob3N0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiAwLjVyZW07XG5cbiAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7XG4gICAgICBib3gtc2hhZG93OiAwIDAuNXJlbSAxcmVtIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hc3QtcmVmZXJlbmNlLWV4cGFuZGVkLWhvdmVyLWJnLCB3aGl0ZSk7XG4gICAgfVxuYF1cbn0pXG5leHBvcnQgY2xhc3MgQ2hhdFJlZmVyZW5jZVBhZ2VDb21wb25lbnQge1xuICByZWFkb25seSBpZCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgcmVmID0gaW5wdXQucmVxdWlyZWQ8TWVzc2FnZUltYWdlUmVmZXJlbmNlPigpO1xuXG4gIHJlYWRvbmx5IG9wZW5QcmV2aWV3ID0gb3V0cHV0PFxuICAgIE9taXQ8UmF3QXR0YWNobWVudCwgXCJ0eXBlXCI+ICYgeyAkcGFydElkOiBudW1iZXIsIHBhcnRzOiBEb2N1bWVudFBhcnRbXSB9XG4gID4oKTtcbiAgcmVhZG9ubHkgb3BlbkRvY3VtZW50ID0gb3V0cHV0PE9taXQ8UmF3QXR0YWNobWVudCwgXCJ0eXBlXCI+PigpO1xuICByZWFkb25seSBvcGVuTW9kYWwgPSBvdXRwdXQ8dm9pZD4oKTtcblxuICByZWFkb25seSBtb2RhbFRwbCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxEaWFsb2dFbGVtZW50Pj4oXCJtb2RhbFwiKTtcblxuICBwcmV2aWV3Q2xpY2tlZCgpIHtcbiAgICBpZiAoIXRoaXMucmVmKCkgfHwgIXRoaXMucmVmKCkuYXJ0aWNsZSB8fCAhdGhpcy5yZWYoKS5hcnRpY2xlSWQpIHJldHVybjtcblxuICAgIHRoaXMub3BlblByZXZpZXcuZW1pdCh7XG4gICAgICByZWNvcmQ6IHRoaXMucmVmKCkuYXJ0aWNsZSEsXG4gICAgICByZWNvcmRJZDogdGhpcy5yZWYoKS5hcnRpY2xlSWQhLFxuICAgICAgcGFydHM6IHRoaXMucmVmKCkucGFydHMhLFxuICAgICAgJHBhcnRJZDogdGhpcy5yZWYoKS4kcGFydElkIVxuICAgIH0pO1xuICB9XG5cbiAgZG9jdW1lbnRDbGlja2VkKCkge1xuICAgIGlmICghdGhpcy5yZWYoKSB8fCAhdGhpcy5yZWYoKS5hcnRpY2xlIHx8ICF0aGlzLnJlZigpLmFydGljbGVJZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5vcGVuRG9jdW1lbnQuZW1pdCh7XG4gICAgICByZWNvcmQ6IHRoaXMucmVmKCkuYXJ0aWNsZSEsXG4gICAgICByZWNvcmRJZDogdGhpcy5yZWYoKS5hcnRpY2xlSWQhXG4gICAgfSk7XG4gIH1cblxuICBtb2RhbENsaWNrZWQoKSB7XG4gICAgdGhpcy5tb2RhbFRwbCgpPy5uYXRpdmVFbGVtZW50Py5zaG93TW9kYWwoKTtcbiAgfVxufVxuIiwiPGhlYWRlcj5cbiAgPHNwYW4gY2xhc3M9XCJyZWZlcmVuY2VcIj57eyBpZCgpLnNwbGl0KFwiLlwiKVswXSB9fTwvc3Bhbj5cblxuICA8c3EtZm9ybWF0LWljb24gW2V4dGVuc2lvbl09XCJyZWYoKS5hcnRpY2xlPy5maWxlZXh0XCIgLz5cblxuICA8cD57eyByZWYoKS5hcnRpY2xlPy50aXRsZSA/PyAoJ2NoYXRSZWZlcmVuY2UudW50aXRsZWRJbWFnZScgfCB0cmFuc2xvY28pIH19PC9wPlxuXG4gIDxhIHJvbGU9XCJidXR0b25cIiBbdGl0bGVdPVwiJ2NoYXRSZWZlcmVuY2UucHJldmlld0RvY3VtZW50JyB8IHRyYW5zbG9jb1wiIChjbGljayk9XCJwcmV2aWV3Q2xpY2tlZCgpXCI+XG4gICAgPGkgY2xhc3M9XCJmYXMgZmEtZXllXCI+PC9pPlxuICA8L2E+XG5cbiAgQGlmIChyZWYoKS5hcnRpY2xlPy51cmwxIHx8IHJlZigpLmFydGljbGU/Lm9yaWdpbmFsVXJsKSB7XG4gIDxhIHJvbGU9XCJidXR0b25cIiBbdGl0bGVdPVwiJ2NoYXRSZWZlcmVuY2Uub3BlbkRvY3VtZW50JyB8IHRyYW5zbG9jb1wiIChjbGljayk9XCJkb2N1bWVudENsaWNrZWQoKVwiPlxuICAgIDxpIGNsYXNzPVwiZmFzIGZhLWFycm93LXVwLXJpZ2h0LWZyb20tc3F1YXJlXCI+PC9pPlxuICA8L2E+XG4gIH1cbjwvaGVhZGVyPlxuXG5AaWYgKHJlZigpLnVybCkge1xuICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IHN0YXJ0OyBnYXA6IDAuMjVyZW1cIj5cbiAgICA8c3BhbiBjbGFzcz1cInJlZmVyZW5jZVwiPlBhZ2Ute3sgaWQoKSB9fTwvc3Bhbj5cblxuICAgIDxpbWcgW3NyY109XCJyZWYoKS51cmxcIiAoY2xpY2spPVwibW9kYWxDbGlja2VkKClcIiBbYWx0XT1cInJlZigpLmRlc2NyaXB0aW9uXCIgLz5cbiAgPC9kaXY+XG59XG5cbjxkaWFsb2cgI21vZGFsPlxuICA8YnV0dG9uIGNsYXNzPVwiY2xvc2VcIiAoY2xpY2spPVwibW9kYWxUcGwoKT8ubmF0aXZlRWxlbWVudD8uY2xvc2UoKVwiPlxuICAgIDxpIGNsYXNzPVwiZmFzIGZhLXhtYXJrXCI+PC9pPlxuICA8L2J1dHRvbj5cblxuICA8aW1nIFtzcmNdPVwicmVmKCkudXJsXCIgW2FsdF09XCJyZWYoKS5kZXNjcmlwdGlvblwiIC8+XG48L2RpYWxvZz5cbiJdfQ==
|