@sinequa/assistant 3.8.0 → 3.9.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.
Files changed (151) hide show
  1. package/chat/charts/chart/chart.component.d.ts +13 -13
  2. package/chat/chat-message/chat-message.component.d.ts +85 -81
  3. package/chat/chat-message/i18n/en.json +11 -0
  4. package/chat/chat-message/i18n/fr.json +11 -0
  5. package/chat/chat-reference/chat-reference.component.d.ts +14 -14
  6. package/chat/chat-reference/i18n/en.json +4 -0
  7. package/chat/chat-reference/i18n/fr.json +4 -0
  8. package/chat/chat-settings-v3/chat-settings-v3.component.d.ts +48 -50
  9. package/chat/chat-settings-v3/i18n/en.json +14 -0
  10. package/chat/chat-settings-v3/i18n/fr.json +14 -0
  11. package/chat/chat.component.d.ts +388 -1405
  12. package/chat/chat.service.d.ts +247 -228
  13. package/chat/debug-message/debug-message.component.d.ts +17 -17
  14. package/chat/debug-message/i18n/en.json +3 -0
  15. package/chat/debug-message/i18n/fr.json +3 -0
  16. package/chat/dialogs/delete-saved-chat.component.d.ts +22 -0
  17. package/chat/dialogs/i18n/en.json +19 -0
  18. package/chat/dialogs/i18n/fr.json +19 -0
  19. package/chat/dialogs/rename-saved-chat.component.d.ts +21 -0
  20. package/chat/dialogs/updates.component.d.ts +15 -0
  21. package/chat/documents-upload/document-list/document-list.component.d.ts +68 -77
  22. package/chat/documents-upload/document-overview/document-overview.component.d.ts +31 -41
  23. package/chat/documents-upload/document-upload/document-upload.component.d.ts +96 -98
  24. package/chat/documents-upload/documents-upload.model.d.ts +66 -66
  25. package/chat/documents-upload/documents-upload.service.d.ts +170 -174
  26. package/chat/documents-upload/i18n/en.json +24 -0
  27. package/chat/documents-upload/i18n/fr.json +24 -0
  28. package/chat/format-icon/format-icon.component.d.ts +10 -10
  29. package/chat/format-icon/icons.d.ts +5 -5
  30. package/chat/i18n/en.json +42 -0
  31. package/chat/i18n/fr.json +42 -0
  32. package/chat/index.d.ts +5 -5
  33. package/chat/initials-avatar/initials-avatar.component.d.ts +35 -35
  34. package/chat/instance-manager.service.d.ts +28 -28
  35. package/chat/pipes/message-content.pipe.d.ts +16 -0
  36. package/chat/prompt.component.d.ts +25 -21
  37. package/chat/public-api.d.ts +17 -17
  38. package/chat/references/i18n/en.json +6 -0
  39. package/chat/references/i18n/fr.json +6 -0
  40. package/chat/references/inline-image-reference.d.ts +21 -0
  41. package/chat/references/inline-page-reference.d.ts +21 -0
  42. package/chat/rest-chat.service.d.ts +31 -33
  43. package/chat/saved-chats/i18n/en.json +4 -0
  44. package/chat/saved-chats/i18n/fr.json +4 -0
  45. package/chat/saved-chats/saved-chats.component.d.ts +30 -36
  46. package/chat/services/app.service.d.ts +8 -0
  47. package/chat/services/dialog.service.d.ts +12 -0
  48. package/chat/services/notification.service.d.ts +10 -0
  49. package/chat/services/principal.service.d.ts +7 -0
  50. package/chat/services/search.service.d.ts +7 -0
  51. package/chat/services/signalR.web.service.d.ts +45 -0
  52. package/chat/services/ui.service.d.ts +13 -0
  53. package/chat/services/user-settings.service.d.ts +7 -0
  54. package/chat/token-progress-bar/i18n/en.json +4 -0
  55. package/chat/token-progress-bar/i18n/fr.json +4 -0
  56. package/chat/token-progress-bar/token-progress-bar.component.d.ts +24 -27
  57. package/chat/tooltip/tooltip.component.d.ts +12 -0
  58. package/chat/tooltip/tooltip.directive.d.ts +81 -0
  59. package/chat/types/message-content.types.d.ts +54 -0
  60. package/chat/types/message-reference.types.d.ts +11 -0
  61. package/chat/types.d.ts +913 -873
  62. package/chat/unified-plugins/embedded-image-reference.plugin.d.ts +3 -0
  63. package/chat/unified-plugins/embedded-page-reference.plugin.d.ts +3 -0
  64. package/chat/utils/assistant-json.d.ts +2 -0
  65. package/chat/websocket-chat.service.d.ts +102 -103
  66. package/esm2022/chat/charts/chart/chart.component.mjs +40 -0
  67. package/esm2022/chat/chat-message/chat-message.component.mjs +351 -0
  68. package/esm2022/chat/chat-reference/chat-reference.component.mjs +40 -0
  69. package/esm2022/chat/chat-settings-v3/chat-settings-v3.component.mjs +118 -0
  70. package/esm2022/chat/chat.component.mjs +1090 -0
  71. package/esm2022/chat/chat.service.mjs +417 -0
  72. package/esm2022/chat/debug-message/debug-message.component.mjs +43 -0
  73. package/esm2022/chat/dialogs/delete-saved-chat.component.mjs +81 -0
  74. package/esm2022/chat/dialogs/rename-saved-chat.component.mjs +84 -0
  75. package/esm2022/chat/dialogs/updates.component.mjs +61 -0
  76. package/esm2022/chat/documents-upload/document-list/document-list.component.mjs +140 -0
  77. package/esm2022/chat/documents-upload/document-overview/document-overview.component.mjs +65 -0
  78. package/esm2022/chat/documents-upload/document-upload/document-upload.component.mjs +256 -0
  79. package/{esm2020 → esm2022}/chat/documents-upload/documents-upload.model.mjs +1 -1
  80. package/esm2022/chat/documents-upload/documents-upload.service.mjs +291 -0
  81. package/{esm2020 → esm2022}/chat/format-icon/format-icon.component.mjs +23 -23
  82. package/{esm2020 → esm2022}/chat/format-icon/icons.mjs +137 -137
  83. package/{esm2020 → esm2022}/chat/initials-avatar/initials-avatar.component.mjs +60 -60
  84. package/esm2022/chat/instance-manager.service.mjs +46 -0
  85. package/esm2022/chat/pipes/message-content.pipe.mjs +34 -0
  86. package/esm2022/chat/prompt.component.mjs +88 -0
  87. package/{esm2020 → esm2022}/chat/public-api.mjs +18 -18
  88. package/esm2022/chat/references/inline-image-reference.mjs +110 -0
  89. package/esm2022/chat/references/inline-page-reference.mjs +110 -0
  90. package/esm2022/chat/rest-chat.service.mjs +296 -0
  91. package/esm2022/chat/saved-chats/saved-chats.component.mjs +82 -0
  92. package/esm2022/chat/services/app.service.mjs +19 -0
  93. package/esm2022/chat/services/dialog.service.mjs +40 -0
  94. package/esm2022/chat/services/notification.service.mjs +25 -0
  95. package/esm2022/chat/services/principal.service.mjs +16 -0
  96. package/esm2022/chat/services/search.service.mjs +13 -0
  97. package/esm2022/chat/services/signalR.web.service.mjs +79 -0
  98. package/esm2022/chat/services/ui.service.mjs +61 -0
  99. package/esm2022/chat/services/user-settings.service.mjs +22 -0
  100. package/{esm2020 → esm2022}/chat/sinequa-assistant-chat.mjs +4 -4
  101. package/esm2022/chat/token-progress-bar/token-progress-bar.component.mjs +52 -0
  102. package/esm2022/chat/tooltip/tooltip.component.mjs +44 -0
  103. package/esm2022/chat/tooltip/tooltip.directive.mjs +203 -0
  104. package/esm2022/chat/types/message-content.types.mjs +2 -0
  105. package/esm2022/chat/types/message-reference.types.mjs +2 -0
  106. package/esm2022/chat/types.mjs +130 -0
  107. package/esm2022/chat/unified-plugins/embedded-image-reference.plugin.mjs +57 -0
  108. package/esm2022/chat/unified-plugins/embedded-page-reference.plugin.mjs +57 -0
  109. package/esm2022/chat/utils/assistant-json.mjs +12 -0
  110. package/esm2022/chat/websocket-chat.service.mjs +654 -0
  111. package/{esm2020 → esm2022}/public-api.mjs +2 -2
  112. package/{esm2020 → esm2022}/sinequa-assistant.mjs +4 -4
  113. package/fesm2022/sinequa-assistant-chat.mjs +5340 -0
  114. package/fesm2022/sinequa-assistant-chat.mjs.map +1 -0
  115. package/{fesm2015 → fesm2022}/sinequa-assistant.mjs +3 -3
  116. package/index.d.ts +5 -5
  117. package/package.json +52 -25
  118. package/public-api.d.ts +1 -1
  119. package/chat/messages/de.d.ts +0 -4
  120. package/chat/messages/en.d.ts +0 -4
  121. package/chat/messages/fr.d.ts +0 -4
  122. package/chat/messages/index.d.ts +0 -4
  123. package/esm2020/chat/charts/chart/chart.component.mjs +0 -40
  124. package/esm2020/chat/chat-message/chat-message.component.mjs +0 -263
  125. package/esm2020/chat/chat-reference/chat-reference.component.mjs +0 -40
  126. package/esm2020/chat/chat-settings-v3/chat-settings-v3.component.mjs +0 -117
  127. package/esm2020/chat/chat.component.mjs +0 -1069
  128. package/esm2020/chat/chat.service.mjs +0 -333
  129. package/esm2020/chat/debug-message/debug-message.component.mjs +0 -43
  130. package/esm2020/chat/documents-upload/document-list/document-list.component.mjs +0 -191
  131. package/esm2020/chat/documents-upload/document-overview/document-overview.component.mjs +0 -80
  132. package/esm2020/chat/documents-upload/document-upload/document-upload.component.mjs +0 -258
  133. package/esm2020/chat/documents-upload/documents-upload.service.mjs +0 -289
  134. package/esm2020/chat/instance-manager.service.mjs +0 -46
  135. package/esm2020/chat/messages/de.mjs +0 -4
  136. package/esm2020/chat/messages/en.mjs +0 -4
  137. package/esm2020/chat/messages/fr.mjs +0 -4
  138. package/esm2020/chat/messages/index.mjs +0 -9
  139. package/esm2020/chat/prompt.component.mjs +0 -88
  140. package/esm2020/chat/rest-chat.service.mjs +0 -241
  141. package/esm2020/chat/saved-chats/saved-chats.component.mjs +0 -175
  142. package/esm2020/chat/token-progress-bar/token-progress-bar.component.mjs +0 -54
  143. package/esm2020/chat/types.mjs +0 -112
  144. package/esm2020/chat/websocket-chat.service.mjs +0 -641
  145. package/fesm2015/sinequa-assistant-chat.mjs +0 -4200
  146. package/fesm2015/sinequa-assistant-chat.mjs.map +0 -1
  147. package/fesm2020/sinequa-assistant-chat.mjs +0 -4171
  148. package/fesm2020/sinequa-assistant-chat.mjs.map +0 -1
  149. package/fesm2020/sinequa-assistant.mjs +0 -9
  150. package/fesm2020/sinequa-assistant.mjs.map +0 -1
  151. /package/{fesm2015 → fesm2022}/sinequa-assistant.mjs.map +0 -0
@@ -0,0 +1,88 @@
1
+ import { CommonModule } from "@angular/common";
2
+ import { Component, input } from "@angular/core";
3
+ import { ReactiveFormsModule, UntypedFormControl, Validators } from '@angular/forms';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/forms";
6
+ export class ChatPrompt {
7
+ constructor(formBuilder) {
8
+ this.formBuilder = formBuilder;
9
+ this.model = input({});
10
+ }
11
+ ngOnInit() {
12
+ this.inputControl = new UntypedFormControl(this.model().output, this.model().validators || Validators.required);
13
+ this.form = this.formBuilder.group({
14
+ input: this.inputControl
15
+ });
16
+ this.formChanges.add(this.form.valueChanges.subscribe(() => this.model().output = this.inputControl.value));
17
+ }
18
+ ngOnDestroy() {
19
+ this.formChanges.unsubscribe();
20
+ }
21
+ get title() {
22
+ return this.model().title ?? "msg#modal.prompt.title";
23
+ }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChatPrompt, deps: [{ token: i1.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ChatPrompt, isStandalone: true, selector: "sq-chat-prompt", inputs: { model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
26
+ <dialog [title]="title" #dialog>
27
+ @if(title) {
28
+ <h5 class="modal-title">{{title}}</h5>
29
+ }
30
+ <form name="prompt" novalidate [formGroup]="form">
31
+ <div class="mb-3 sq-form-group">
32
+ <label class="form-label" for="input">{{model().message}}</label>
33
+ @if(!model().rowCount) {
34
+ <input type="text" class="form-control" id="input" formControlName="input" spellcheck="off">
35
+ }
36
+ @if(!!model().rowCount) {
37
+ <textarea type="text" class="form-control" id="input" formControlName="input" spellcheck="on" rows="{{model().rowCount}}"></textarea>
38
+ }
39
+ </div>
40
+ </form>
41
+ <section class="flex justify-end gap-2 mt-4">
42
+ <button class="btn btn-ghost outline-none w-24" (click)="dialog.close()">
43
+ Cancel
44
+ </button>
45
+
46
+ <button class="btn btn-primary w-24">
47
+ OK
48
+ </button>
49
+ </section>
50
+ </dialog>
51
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
52
+ }
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChatPrompt, decorators: [{
54
+ type: Component,
55
+ args: [{
56
+ selector: "sq-chat-prompt",
57
+ template: `
58
+ <dialog [title]="title" #dialog>
59
+ @if(title) {
60
+ <h5 class="modal-title">{{title}}</h5>
61
+ }
62
+ <form name="prompt" novalidate [formGroup]="form">
63
+ <div class="mb-3 sq-form-group">
64
+ <label class="form-label" for="input">{{model().message}}</label>
65
+ @if(!model().rowCount) {
66
+ <input type="text" class="form-control" id="input" formControlName="input" spellcheck="off">
67
+ }
68
+ @if(!!model().rowCount) {
69
+ <textarea type="text" class="form-control" id="input" formControlName="input" spellcheck="on" rows="{{model().rowCount}}"></textarea>
70
+ }
71
+ </div>
72
+ </form>
73
+ <section class="flex justify-end gap-2 mt-4">
74
+ <button class="btn btn-ghost outline-none w-24" (click)="dialog.close()">
75
+ Cancel
76
+ </button>
77
+
78
+ <button class="btn btn-primary w-24">
79
+ OK
80
+ </button>
81
+ </section>
82
+ </dialog>
83
+ `,
84
+ standalone: true,
85
+ imports: [CommonModule, ReactiveFormsModule],
86
+ }]
87
+ }], ctorParameters: () => [{ type: i1.UntypedFormBuilder }] });
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbXB0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Fzc2lzdGFudC9jaGF0L3Byb21wdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQXNCLGtCQUFrQixFQUFvQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBNEMzSCxNQUFNLE9BQU8sVUFBVTtJQU9uQixZQUFzQixXQUErQjtRQUEvQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFGckQsVUFBSyxHQUFHLEtBQUssQ0FBZ0IsRUFBbUIsQ0FBQyxDQUFDO0lBRU0sQ0FBQztJQUV6RCxRQUFRO1FBQ0osSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEgsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUMvQixLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDM0IsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQ3hGLENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssSUFBSSx3QkFBd0IsQ0FBQztJQUMxRCxDQUFDOytHQXpCUSxVQUFVO21HQUFWLFVBQVUsOE1BOUJUOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQTBCVCwyREFFUyxZQUFZLDhCQUFFLG1CQUFtQjs7NEZBRWxDLFVBQVU7a0JBaEN0QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0EwQlQ7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsQ0FBQztpQkFDL0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBDb21wb25lbnQsIGlucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgdHlwZSBQcm9tcHRPcHRpb25zID0ge1xuICAgIHRpdGxlPzogc3RyaW5nLFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBtZXNzYWdlUGFyYW1zPzogYW55LFxuICAgIHJvd0NvdW50PzogbnVtYmVyLFxuICAgIG91dHB1dD86IHN0cmluZyxcbiAgICB2YWxpZGF0b3JzPzogYW55XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJzcS1jaGF0LXByb21wdFwiLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaWFsb2cgW3RpdGxlXT1cInRpdGxlXCIgI2RpYWxvZz5cbiAgICAgICAgICAgIEBpZih0aXRsZSkge1xuICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCI+e3t0aXRsZX19PC9oNT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxmb3JtIG5hbWU9XCJwcm9tcHRcIiBub3ZhbGlkYXRlIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zIHNxLWZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cImlucHV0XCI+e3ttb2RlbCgpLm1lc3NhZ2V9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIEBpZighbW9kZWwoKS5yb3dDb3VudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImlucHV0XCIgZm9ybUNvbnRyb2xOYW1lPVwiaW5wdXRcIiBzcGVsbGNoZWNrPVwib2ZmXCI+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGlmKCEhbW9kZWwoKS5yb3dDb3VudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImlucHV0XCIgZm9ybUNvbnRyb2xOYW1lPVwiaW5wdXRcIiBzcGVsbGNoZWNrPVwib25cIiByb3dzPVwie3ttb2RlbCgpLnJvd0NvdW50fX1cIj48L3RleHRhcmVhPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cImZsZXgganVzdGlmeS1lbmQgZ2FwLTIgbXQtNFwiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWdob3N0IG91dGxpbmUtbm9uZSB3LTI0XCIgKGNsaWNrKT1cImRpYWxvZy5jbG9zZSgpXCI+XG4gICAgICAgICAgICAgICAgICAgIENhbmNlbFxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSB3LTI0XCI+XG4gICAgICAgICAgICAgICAgICAgT0tcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPC9kaWFsb2c+XG4gICAgYCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBDaGF0UHJvbXB0IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIGlucHV0Q29udHJvbDogVW50eXBlZEZvcm1Db250cm9sO1xuICAgIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gICAgZm9ybUNoYW5nZXM6IFN1YnNjcmlwdGlvbjtcblxuICAgIG1vZGVsID0gaW5wdXQ8UHJvbXB0T3B0aW9ucz4oe30gYXMgUHJvbXB0T3B0aW9ucyk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcikge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmlucHV0Q29udHJvbCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodGhpcy5tb2RlbCgpLm91dHB1dCwgdGhpcy5tb2RlbCgpLnZhbGlkYXRvcnMgfHwgVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgICAgaW5wdXQ6IHRoaXMuaW5wdXRDb250cm9sXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmZvcm1DaGFuZ2VzLmFkZChcbiAgICAgICAgICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHRoaXMubW9kZWwoKS5vdXRwdXQgPSB0aGlzLmlucHV0Q29udHJvbC52YWx1ZSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5mb3JtQ2hhbmdlcy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGdldCB0aXRsZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5tb2RlbCgpLnRpdGxlID8/IFwibXNnI21vZGFsLnByb21wdC50aXRsZVwiO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,18 +1,18 @@
1
- export * from './chat-settings-v3/chat-settings-v3.component';
2
- export * from './chat.component';
3
- export * from './chat.service';
4
- export * from './saved-chats/saved-chats.component';
5
- export * from './initials-avatar/initials-avatar.component';
6
- export * from './format-icon/format-icon.component';
7
- export * from './types';
8
- export * from './messages/index';
9
- export * from './websocket-chat.service';
10
- export * from './rest-chat.service';
11
- export * from './instance-manager.service';
12
- export * from './prompt.component';
13
- export * from './documents-upload/document-upload/document-upload.component';
14
- export * from './documents-upload/document-list/document-list.component';
15
- export * from './documents-upload/documents-upload.service';
16
- export * from './documents-upload/documents-upload.model';
17
- export * from './documents-upload/document-overview/document-overview.component';
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Fzc2lzdGFudC9jaGF0L3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxrRUFBa0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2hhdC1zZXR0aW5ncy12My9jaGF0LXNldHRpbmdzLXYzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NoYXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY2hhdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2F2ZWQtY2hhdHMvc2F2ZWQtY2hhdHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaW5pdGlhbHMtYXZhdGFyL2luaXRpYWxzLWF2YXRhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtYXQtaWNvbi9mb3JtYXQtaWNvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2VzL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vd2Vic29ja2V0LWNoYXQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3Jlc3QtY2hhdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW5zdGFuY2UtbWFuYWdlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvbXB0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2RvY3VtZW50cy11cGxvYWQvZG9jdW1lbnQtdXBsb2FkL2RvY3VtZW50LXVwbG9hZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kb2N1bWVudHMtdXBsb2FkL2RvY3VtZW50LWxpc3QvZG9jdW1lbnQtbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kb2N1bWVudHMtdXBsb2FkL2RvY3VtZW50cy11cGxvYWQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2RvY3VtZW50cy11cGxvYWQvZG9jdW1lbnRzLXVwbG9hZC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2RvY3VtZW50cy11cGxvYWQvZG9jdW1lbnQtb3ZlcnZpZXcvZG9jdW1lbnQtb3ZlcnZpZXcuY29tcG9uZW50JzsiXX0=
1
+ export * from './chat-settings-v3/chat-settings-v3.component';
2
+ export * from './chat.component';
3
+ export * from './chat.service';
4
+ export * from './saved-chats/saved-chats.component';
5
+ export * from './initials-avatar/initials-avatar.component';
6
+ export * from './format-icon/format-icon.component';
7
+ export * from './types';
8
+ export * from './websocket-chat.service';
9
+ export * from './rest-chat.service';
10
+ export * from './instance-manager.service';
11
+ export * from './prompt.component';
12
+ export * from './documents-upload/document-upload/document-upload.component';
13
+ export * from './documents-upload/document-list/document-list.component';
14
+ export * from './documents-upload/documents-upload.service';
15
+ export * from './documents-upload/documents-upload.model';
16
+ export * from './documents-upload/document-overview/document-overview.component';
17
+ export * from './services/notification.service';
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Fzc2lzdGFudC9jaGF0L3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2hhdC1zZXR0aW5ncy12My9jaGF0LXNldHRpbmdzLXYzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NoYXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY2hhdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2F2ZWQtY2hhdHMvc2F2ZWQtY2hhdHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaW5pdGlhbHMtYXZhdGFyL2luaXRpYWxzLWF2YXRhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtYXQtaWNvbi9mb3JtYXQtaWNvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3dlYnNvY2tldC1jaGF0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXN0LWNoYXQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2luc3RhbmNlLW1hbmFnZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3Byb21wdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kb2N1bWVudHMtdXBsb2FkL2RvY3VtZW50LXVwbG9hZC9kb2N1bWVudC11cGxvYWQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZG9jdW1lbnRzLXVwbG9hZC9kb2N1bWVudC1saXN0L2RvY3VtZW50LWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZG9jdW1lbnRzLXVwbG9hZC9kb2N1bWVudHMtdXBsb2FkLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kb2N1bWVudHMtdXBsb2FkL2RvY3VtZW50cy11cGxvYWQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9kb2N1bWVudHMtdXBsb2FkL2RvY3VtZW50LW92ZXJ2aWV3L2RvY3VtZW50LW92ZXJ2aWV3LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbiJdfQ==
@@ -0,0 +1,110 @@
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 InlineImageReferenceComponent {
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
+ $partId: this.id().split(".")[1],
21
+ });
22
+ }
23
+ documentClicked() {
24
+ if (!this.ref() || !this.ref().article || !this.ref().articleId)
25
+ return;
26
+ this.openDocument.emit({
27
+ record: this.ref().article,
28
+ recordId: this.ref().articleId,
29
+ $partId: this.id().split(".")[1],
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: InlineImageReferenceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
36
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: InlineImageReferenceComponent, isStandalone: true, selector: "InlineImageReference", 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-references')], viewQueries: [{ propertyName: "modalTpl", first: true, predicate: ["modal"], descendants: true, isSignal: true }], ngImport: i0, template: `
37
+ <header>
38
+ <span class="reference">{{ id().split('.')[0] }}</span>
39
+
40
+ <sq-format-icon [extension]="ref().article?.fileext" />
41
+
42
+ <p>{{ ref().article?.title ?? ('chatReferences.untitledImage' | transloco) }}</p>
43
+
44
+ <a role="button" [title]="'chatReferences.openDocumentPreview' | transloco" (click)="previewClicked()">
45
+ <i class="fas fa-eye"></i>
46
+ </a>
47
+
48
+ @if (ref().article?.url1 || ref().article?.originalUrl) {
49
+ <a role="button" [title]="'chatReferences.openDocument' | transloco" (click)="documentClicked()">
50
+ <i class="fas fa-arrow-up-right-from-square"></i>
51
+ </a>
52
+ }
53
+ </header>
54
+
55
+ @if (ref().url) {
56
+ <div style="display: flex; align-items: start; gap: 0.25rem">
57
+ <span class="reference">Img-{{ id() }}</span>
58
+
59
+ <img [src]="ref().url" (click)="modalClicked()" [alt]="ref().description" />
60
+ </div>
61
+ }
62
+
63
+ <dialog #modal>
64
+ <button class="close" (click)="modalTpl()?.nativeElement?.close()">
65
+ <i class="fas fa-xmark"></i>
66
+ </button>
67
+
68
+ <img [src]="ref().url" [alt]="ref().description"/>
69
+ </dialog>
70
+ `, isInline: true, 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)}: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)}sq-format-icon{color:var(--ast-secondary-color, #FF732E)}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"], dependencies: [{ kind: "component", type: FormatIconComponent, selector: "sq-format-icon", inputs: ["extension"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] }); }
71
+ }
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InlineImageReferenceComponent, decorators: [{
73
+ type: Component,
74
+ args: [{ selector: "InlineImageReference", standalone: true, providers: [provideTranslocoScope('chat-references')], imports: [FormatIconComponent, TranslocoPipe], template: `
75
+ <header>
76
+ <span class="reference">{{ id().split('.')[0] }}</span>
77
+
78
+ <sq-format-icon [extension]="ref().article?.fileext" />
79
+
80
+ <p>{{ ref().article?.title ?? ('chatReferences.untitledImage' | transloco) }}</p>
81
+
82
+ <a role="button" [title]="'chatReferences.openDocumentPreview' | transloco" (click)="previewClicked()">
83
+ <i class="fas fa-eye"></i>
84
+ </a>
85
+
86
+ @if (ref().article?.url1 || ref().article?.originalUrl) {
87
+ <a role="button" [title]="'chatReferences.openDocument' | transloco" (click)="documentClicked()">
88
+ <i class="fas fa-arrow-up-right-from-square"></i>
89
+ </a>
90
+ }
91
+ </header>
92
+
93
+ @if (ref().url) {
94
+ <div style="display: flex; align-items: start; gap: 0.25rem">
95
+ <span class="reference">Img-{{ id() }}</span>
96
+
97
+ <img [src]="ref().url" (click)="modalClicked()" [alt]="ref().description" />
98
+ </div>
99
+ }
100
+
101
+ <dialog #modal>
102
+ <button class="close" (click)="modalTpl()?.nativeElement?.close()">
103
+ <i class="fas fa-xmark"></i>
104
+ </button>
105
+
106
+ <img [src]="ref().url" [alt]="ref().description"/>
107
+ </dialog>
108
+ `, 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)}: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)}sq-format-icon{color:var(--ast-secondary-color, #FF732E)}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"] }]
109
+ }] });
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWltYWdlLXJlZmVyZW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fzc2lzdGFudC9jaGF0L3JlZmVyZW5jZXMvaW5saW5lLWltYWdlLXJlZmVyZW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUxRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7QUE4QzNFLE1BQU0sT0FBTyw2QkFBNkI7SUExQzFDO1FBMkNXLE9BQUUsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDOUIsUUFBRyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXlCLENBQUM7UUFFOUMsZ0JBQVcsR0FBRyxNQUFNLEVBRTFCLENBQUM7UUFDSyxpQkFBWSxHQUFHLE1BQU0sRUFFM0IsQ0FBQztRQUNLLGNBQVMsR0FBRyxNQUFNLEVBQVEsQ0FBQztRQUUzQixhQUFRLEdBQUcsU0FBUyxDQUFnQyxPQUFPLENBQUMsQ0FBQztLQXlCdkU7SUF2QkMsY0FBYztRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBRXhFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ3BCLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBUTtZQUMzQixRQUFRLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVU7WUFDL0IsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUztZQUFFLE9BQU87UUFFeEUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDckIsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFRO1lBQzNCLFFBQVEsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBVTtZQUMvQixPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDakMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxDQUFDO0lBQzlDLENBQUM7K0dBcENVLDZCQUE2QjttR0FBN0IsNkJBQTZCLDZZQXZDN0IsQ0FBQyxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLDZJQUUzQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDVCwycUdBbkNTLG1CQUFtQiw2RUFBRSxhQUFhOzs0RkFzQ2pDLDZCQUE2QjtrQkExQ3pDLFNBQVM7K0JBQ0Usc0JBQXNCLGNBQ3BCLElBQUksYUFDTCxDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDLENBQUMsV0FDNUMsQ0FBQyxtQkFBbUIsRUFBRSxhQUFhLENBQUMsWUFDbkM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQ1QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGlucHV0LCBvdXRwdXQsIHZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBwcm92aWRlVHJhbnNsb2NvU2NvcGUsIFRyYW5zbG9jb1BpcGUgfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xuXG5pbXBvcnQgeyBGb3JtYXRJY29uQ29tcG9uZW50IH0gZnJvbSBcIi4uL2Zvcm1hdC1pY29uL2Zvcm1hdC1pY29uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUmF3QXR0YWNobWVudCB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgTWVzc2FnZUltYWdlUmVmZXJlbmNlIH0gZnJvbSBcIi4uL3R5cGVzL21lc3NhZ2UtcmVmZXJlbmNlLnR5cGVzXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJJbmxpbmVJbWFnZVJlZmVyZW5jZVwiLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBwcm92aWRlcnM6IFtwcm92aWRlVHJhbnNsb2NvU2NvcGUoJ2NoYXQtcmVmZXJlbmNlcycpXSxcbiAgaW1wb3J0czogW0Zvcm1hdEljb25Db21wb25lbnQsIFRyYW5zbG9jb1BpcGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxoZWFkZXI+XG4gICAgICA8c3BhbiBjbGFzcz1cInJlZmVyZW5jZVwiPnt7IGlkKCkuc3BsaXQoJy4nKVswXSB9fTwvc3Bhbj5cblxuICAgICAgPHNxLWZvcm1hdC1pY29uIFtleHRlbnNpb25dPVwicmVmKCkuYXJ0aWNsZT8uZmlsZWV4dFwiIC8+XG5cbiAgICAgIDxwPnt7IHJlZigpLmFydGljbGU/LnRpdGxlID8/ICgnY2hhdFJlZmVyZW5jZXMudW50aXRsZWRJbWFnZScgfCB0cmFuc2xvY28pIH19PC9wPlxuXG4gICAgICA8YSByb2xlPVwiYnV0dG9uXCIgW3RpdGxlXT1cIidjaGF0UmVmZXJlbmNlcy5vcGVuRG9jdW1lbnRQcmV2aWV3JyB8IHRyYW5zbG9jb1wiIChjbGljayk9XCJwcmV2aWV3Q2xpY2tlZCgpXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWV5ZVwiPjwvaT5cbiAgICAgIDwvYT5cblxuICAgICAgQGlmIChyZWYoKS5hcnRpY2xlPy51cmwxIHx8IHJlZigpLmFydGljbGU/Lm9yaWdpbmFsVXJsKSB7XG4gICAgICA8YSByb2xlPVwiYnV0dG9uXCIgW3RpdGxlXT1cIidjaGF0UmVmZXJlbmNlcy5vcGVuRG9jdW1lbnQnIHwgdHJhbnNsb2NvXCIgKGNsaWNrKT1cImRvY3VtZW50Q2xpY2tlZCgpXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWFycm93LXVwLXJpZ2h0LWZyb20tc3F1YXJlXCI+PC9pPlxuICAgICAgPC9hPlxuICAgICAgfVxuICAgIDwvaGVhZGVyPlxuXG4gICAgQGlmIChyZWYoKS51cmwpIHtcbiAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogc3RhcnQ7IGdhcDogMC4yNXJlbVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInJlZmVyZW5jZVwiPkltZy17eyBpZCgpIH19PC9zcGFuPlxuXG4gICAgICAgIDxpbWcgW3NyY109XCJyZWYoKS51cmxcIiAoY2xpY2spPVwibW9kYWxDbGlja2VkKClcIiBbYWx0XT1cInJlZigpLmRlc2NyaXB0aW9uXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIDxkaWFsb2cgI21vZGFsPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImNsb3NlXCIgKGNsaWNrKT1cIm1vZGFsVHBsKCk/Lm5hdGl2ZUVsZW1lbnQ/LmNsb3NlKClcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEteG1hcmtcIj48L2k+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGltZyBbc3JjXT1cInJlZigpLnVybFwiIFthbHRdPVwicmVmKCkuZGVzY3JpcHRpb25cIi8+XG4gICAgPC9kaWFsb2c+XG4gIGAsXG4gIHN0eWxlVXJsczogW1wiLi9pbmxpbmUtcmVmZXJlbmNlLnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIElubGluZUltYWdlUmVmZXJlbmNlQ29tcG9uZW50IHtcbiAgcmVhZG9ubHkgaWQgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IHJlZiA9IGlucHV0LnJlcXVpcmVkPE1lc3NhZ2VJbWFnZVJlZmVyZW5jZT4oKTtcblxuICByZWFkb25seSBvcGVuUHJldmlldyA9IG91dHB1dDxcbiAgICBPbWl0PFJhd0F0dGFjaG1lbnQsIFwidHlwZVwiPiAmIHsgJHBhcnRJZDogc3RyaW5nIH1cbiAgPigpO1xuICByZWFkb25seSBvcGVuRG9jdW1lbnQgPSBvdXRwdXQ8XG4gICAgT21pdDxSYXdBdHRhY2htZW50LCBcInR5cGVcIj4gJiB7ICRwYXJ0SWQ6IHN0cmluZyB9XG4gID4oKTtcbiAgcmVhZG9ubHkgb3Blbk1vZGFsID0gb3V0cHV0PHZvaWQ+KCk7XG5cbiAgcmVhZG9ubHkgbW9kYWxUcGwgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MRGlhbG9nRWxlbWVudD4+KFwibW9kYWxcIik7XG5cbiAgcHJldmlld0NsaWNrZWQoKSB7XG4gICAgaWYgKCF0aGlzLnJlZigpIHx8ICF0aGlzLnJlZigpLmFydGljbGUgfHwgIXRoaXMucmVmKCkuYXJ0aWNsZUlkKSByZXR1cm47XG5cbiAgICB0aGlzLm9wZW5QcmV2aWV3LmVtaXQoe1xuICAgICAgcmVjb3JkOiB0aGlzLnJlZigpLmFydGljbGUhLFxuICAgICAgcmVjb3JkSWQ6IHRoaXMucmVmKCkuYXJ0aWNsZUlkISxcbiAgICAgICRwYXJ0SWQ6IHRoaXMuaWQoKS5zcGxpdChcIi5cIilbMV0sXG4gICAgfSk7XG4gIH1cblxuICBkb2N1bWVudENsaWNrZWQoKSB7XG4gICAgaWYgKCF0aGlzLnJlZigpIHx8ICF0aGlzLnJlZigpLmFydGljbGUgfHwgIXRoaXMucmVmKCkuYXJ0aWNsZUlkKSByZXR1cm47XG5cbiAgICB0aGlzLm9wZW5Eb2N1bWVudC5lbWl0KHtcbiAgICAgIHJlY29yZDogdGhpcy5yZWYoKS5hcnRpY2xlISxcbiAgICAgIHJlY29yZElkOiB0aGlzLnJlZigpLmFydGljbGVJZCEsXG4gICAgICAkcGFydElkOiB0aGlzLmlkKCkuc3BsaXQoXCIuXCIpWzFdLFxuICAgIH0pO1xuICB9XG5cbiAgbW9kYWxDbGlja2VkKCkge1xuICAgIHRoaXMubW9kYWxUcGwoKT8ubmF0aXZlRWxlbWVudD8uc2hvd01vZGFsKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,110 @@
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 InlinePageReferenceComponent {
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
+ $partId: this.id().split(".")[1],
21
+ });
22
+ }
23
+ documentClicked() {
24
+ if (!this.ref() || !this.ref().article || !this.ref().articleId)
25
+ return;
26
+ this.openDocument.emit({
27
+ record: this.ref().article,
28
+ recordId: this.ref().articleId,
29
+ $partId: this.id().split(".")[1],
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: InlinePageReferenceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
36
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: InlinePageReferenceComponent, isStandalone: true, selector: "InlinePageReference", 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('references')], viewQueries: [{ propertyName: "modalTpl", first: true, predicate: ["modal"], descendants: true, isSignal: true }], ngImport: i0, template: `
37
+ <header>
38
+ <span class="reference">{{ id().split(".")[0] }}</span>
39
+
40
+ <sq-format-icon [extension]="ref().article?.fileext" />
41
+
42
+ <p>{{ ref().article?.title ?? ('chatReferences.untitledImage' | transloco) }}</p>
43
+
44
+ <a role="button" [title]="'chatReferences.openDocumentPreview' | transloco" (click)="previewClicked()">
45
+ <i class="fas fa-eye"></i>
46
+ </a>
47
+
48
+ @if (ref().article?.url1 || ref().article?.originalUrl) {
49
+ <a role="button" [title]="'chatReferences.openDocument' | transloco" (click)="documentClicked()">
50
+ <i class="fas fa-arrow-up-right-from-square"></i>
51
+ </a>
52
+ }
53
+ </header>
54
+
55
+ @if (ref().url) {
56
+ <div style="display: flex; align-items: start; gap: 0.25rem">
57
+ <span class="reference">Page-{{ id() }}</span>
58
+
59
+ <img [src]="ref().url" (click)="modalClicked()" [alt]="ref().description" />
60
+ </div>
61
+ }
62
+
63
+ <dialog #modal>
64
+ <button class="close" (click)="modalTpl()?.nativeElement?.close()">
65
+ <i class="fas fa-xmark"></i>
66
+ </button>
67
+
68
+ <img [src]="ref().url" [alt]="ref().description" />
69
+ </dialog>
70
+ `, isInline: true, 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)}: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)}sq-format-icon{color:var(--ast-secondary-color, #FF732E)}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"], dependencies: [{ kind: "component", type: FormatIconComponent, selector: "sq-format-icon", inputs: ["extension"] }, { kind: "pipe", type: TranslocoPipe, name: "transloco" }] }); }
71
+ }
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InlinePageReferenceComponent, decorators: [{
73
+ type: Component,
74
+ args: [{ selector: "InlinePageReference", standalone: true, providers: [provideTranslocoScope('references')], imports: [FormatIconComponent, TranslocoPipe], template: `
75
+ <header>
76
+ <span class="reference">{{ id().split(".")[0] }}</span>
77
+
78
+ <sq-format-icon [extension]="ref().article?.fileext" />
79
+
80
+ <p>{{ ref().article?.title ?? ('chatReferences.untitledImage' | transloco) }}</p>
81
+
82
+ <a role="button" [title]="'chatReferences.openDocumentPreview' | transloco" (click)="previewClicked()">
83
+ <i class="fas fa-eye"></i>
84
+ </a>
85
+
86
+ @if (ref().article?.url1 || ref().article?.originalUrl) {
87
+ <a role="button" [title]="'chatReferences.openDocument' | transloco" (click)="documentClicked()">
88
+ <i class="fas fa-arrow-up-right-from-square"></i>
89
+ </a>
90
+ }
91
+ </header>
92
+
93
+ @if (ref().url) {
94
+ <div style="display: flex; align-items: start; gap: 0.25rem">
95
+ <span class="reference">Page-{{ id() }}</span>
96
+
97
+ <img [src]="ref().url" (click)="modalClicked()" [alt]="ref().description" />
98
+ </div>
99
+ }
100
+
101
+ <dialog #modal>
102
+ <button class="close" (click)="modalTpl()?.nativeElement?.close()">
103
+ <i class="fas fa-xmark"></i>
104
+ </button>
105
+
106
+ <img [src]="ref().url" [alt]="ref().description" />
107
+ </dialog>
108
+ `, 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)}: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)}sq-format-icon{color:var(--ast-secondary-color, #FF732E)}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"] }]
109
+ }] });
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLXBhZ2UtcmVmZXJlbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXNzaXN0YW50L2NoYXQvcmVmZXJlbmNlcy9pbmxpbmUtcGFnZS1yZWZlcmVuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBOEMzRSxNQUFNLE9BQU8sNEJBQTRCO0lBMUN6QztRQTJDVyxPQUFFLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQzlCLFFBQUcsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUF5QixDQUFDO1FBRTlDLGdCQUFXLEdBQUcsTUFBTSxFQUUxQixDQUFDO1FBQ0ssaUJBQVksR0FBRyxNQUFNLEVBRTNCLENBQUM7UUFDSyxjQUFTLEdBQUcsTUFBTSxFQUFRLENBQUM7UUFFM0IsYUFBUSxHQUFHLFNBQVMsQ0FBZ0MsT0FBTyxDQUFDLENBQUM7S0F5QnZFO0lBdkJDLGNBQWM7UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUV4RSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztZQUNwQixNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQVE7WUFDM0IsUUFBUSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFVO1lBQy9CLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNqQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBRXhFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQ3JCLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBUTtZQUMzQixRQUFRLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVU7WUFDL0IsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsQ0FBQztJQUM5QyxDQUFDOytHQXBDVSw0QkFBNEI7bUdBQTVCLDRCQUE0Qiw0WUF2QzVCLENBQUMscUJBQXFCLENBQUMsWUFBWSxDQUFDLENBQUMsNklBRXRDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NULDJxR0FuQ1MsbUJBQW1CLDZFQUFFLGFBQWE7OzRGQXNDakMsNEJBQTRCO2tCQTFDeEMsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxhQUNMLENBQUMscUJBQXFCLENBQUMsWUFBWSxDQUFDLENBQUMsV0FDdkMsQ0FBQyxtQkFBbUIsRUFBRSxhQUFhLENBQUMsWUFDbkM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQ1QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGlucHV0LCBvdXRwdXQsIHZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBwcm92aWRlVHJhbnNsb2NvU2NvcGUsIFRyYW5zbG9jb1BpcGUgfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xuXG5pbXBvcnQgeyBGb3JtYXRJY29uQ29tcG9uZW50IH0gZnJvbSBcIi4uL2Zvcm1hdC1pY29uL2Zvcm1hdC1pY29uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUmF3QXR0YWNobWVudCB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgTWVzc2FnZUltYWdlUmVmZXJlbmNlIH0gZnJvbSBcIi4uL3R5cGVzL21lc3NhZ2UtcmVmZXJlbmNlLnR5cGVzXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJJbmxpbmVQYWdlUmVmZXJlbmNlXCIsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHByb3ZpZGVyczogW3Byb3ZpZGVUcmFuc2xvY29TY29wZSgncmVmZXJlbmNlcycpXSxcbiAgaW1wb3J0czogW0Zvcm1hdEljb25Db21wb25lbnQsIFRyYW5zbG9jb1BpcGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxoZWFkZXI+XG4gICAgICA8c3BhbiBjbGFzcz1cInJlZmVyZW5jZVwiPnt7IGlkKCkuc3BsaXQoXCIuXCIpWzBdIH19PC9zcGFuPlxuXG4gICAgICA8c3EtZm9ybWF0LWljb24gW2V4dGVuc2lvbl09XCJyZWYoKS5hcnRpY2xlPy5maWxlZXh0XCIgLz5cblxuICAgICAgPHA+e3sgcmVmKCkuYXJ0aWNsZT8udGl0bGUgPz8gKCdjaGF0UmVmZXJlbmNlcy51bnRpdGxlZEltYWdlJyB8IHRyYW5zbG9jbykgfX08L3A+XG5cbiAgICAgIDxhIHJvbGU9XCJidXR0b25cIiBbdGl0bGVdPVwiJ2NoYXRSZWZlcmVuY2VzLm9wZW5Eb2N1bWVudFByZXZpZXcnIHwgdHJhbnNsb2NvXCIgKGNsaWNrKT1cInByZXZpZXdDbGlja2VkKClcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtZXllXCI+PC9pPlxuICAgICAgPC9hPlxuXG4gICAgICBAaWYgKHJlZigpLmFydGljbGU/LnVybDEgfHwgcmVmKCkuYXJ0aWNsZT8ub3JpZ2luYWxVcmwpIHtcbiAgICAgIDxhIHJvbGU9XCJidXR0b25cIiBbdGl0bGVdPVwiJ2NoYXRSZWZlcmVuY2VzLm9wZW5Eb2N1bWVudCcgfCB0cmFuc2xvY29cIiAoY2xpY2spPVwiZG9jdW1lbnRDbGlja2VkKClcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtYXJyb3ctdXAtcmlnaHQtZnJvbS1zcXVhcmVcIj48L2k+XG4gICAgICA8L2E+XG4gICAgICB9XG4gICAgPC9oZWFkZXI+XG5cbiAgICBAaWYgKHJlZigpLnVybCkge1xuICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBzdGFydDsgZ2FwOiAwLjI1cmVtXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwicmVmZXJlbmNlXCI+UGFnZS17eyBpZCgpIH19PC9zcGFuPlxuXG4gICAgICAgIDxpbWcgW3NyY109XCJyZWYoKS51cmxcIiAoY2xpY2spPVwibW9kYWxDbGlja2VkKClcIiBbYWx0XT1cInJlZigpLmRlc2NyaXB0aW9uXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIDxkaWFsb2cgI21vZGFsPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImNsb3NlXCIgKGNsaWNrKT1cIm1vZGFsVHBsKCk/Lm5hdGl2ZUVsZW1lbnQ/LmNsb3NlKClcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEteG1hcmtcIj48L2k+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGltZyBbc3JjXT1cInJlZigpLnVybFwiIFthbHRdPVwicmVmKCkuZGVzY3JpcHRpb25cIiAvPlxuICAgIDwvZGlhbG9nPlxuICBgLFxuICBzdHlsZVVybHM6IFtcIi4vaW5saW5lLXJlZmVyZW5jZS5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBJbmxpbmVQYWdlUmVmZXJlbmNlQ29tcG9uZW50IHtcbiAgcmVhZG9ubHkgaWQgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IHJlZiA9IGlucHV0LnJlcXVpcmVkPE1lc3NhZ2VJbWFnZVJlZmVyZW5jZT4oKTtcblxuICByZWFkb25seSBvcGVuUHJldmlldyA9IG91dHB1dDxcbiAgICBPbWl0PFJhd0F0dGFjaG1lbnQsIFwidHlwZVwiPiAmIHsgJHBhcnRJZDogc3RyaW5nIH1cbiAgPigpO1xuICByZWFkb25seSBvcGVuRG9jdW1lbnQgPSBvdXRwdXQ8XG4gICAgT21pdDxSYXdBdHRhY2htZW50LCBcInR5cGVcIj4gJiB7ICRwYXJ0SWQ6IHN0cmluZyB9XG4gID4oKTtcbiAgcmVhZG9ubHkgb3Blbk1vZGFsID0gb3V0cHV0PHZvaWQ+KCk7XG5cbiAgcmVhZG9ubHkgbW9kYWxUcGwgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MRGlhbG9nRWxlbWVudD4+KFwibW9kYWxcIik7XG5cbiAgcHJldmlld0NsaWNrZWQoKSB7XG4gICAgaWYgKCF0aGlzLnJlZigpIHx8ICF0aGlzLnJlZigpLmFydGljbGUgfHwgIXRoaXMucmVmKCkuYXJ0aWNsZUlkKSByZXR1cm47XG5cbiAgICB0aGlzLm9wZW5QcmV2aWV3LmVtaXQoe1xuICAgICAgcmVjb3JkOiB0aGlzLnJlZigpLmFydGljbGUhLFxuICAgICAgcmVjb3JkSWQ6IHRoaXMucmVmKCkuYXJ0aWNsZUlkISxcbiAgICAgICRwYXJ0SWQ6IHRoaXMuaWQoKS5zcGxpdChcIi5cIilbMV0sXG4gICAgfSk7XG4gIH1cblxuICBkb2N1bWVudENsaWNrZWQoKSB7XG4gICAgaWYgKCF0aGlzLnJlZigpIHx8ICF0aGlzLnJlZigpLmFydGljbGUgfHwgIXRoaXMucmVmKCkuYXJ0aWNsZUlkKSByZXR1cm47XG5cbiAgICB0aGlzLm9wZW5Eb2N1bWVudC5lbWl0KHtcbiAgICAgIHJlY29yZDogdGhpcy5yZWYoKS5hcnRpY2xlISxcbiAgICAgIHJlY29yZElkOiB0aGlzLnJlZigpLmFydGljbGVJZCEsXG4gICAgICAkcGFydElkOiB0aGlzLmlkKCkuc3BsaXQoXCIuXCIpWzFdLFxuICAgIH0pO1xuICB9XG5cbiAgbW9kYWxDbGlja2VkKCkge1xuICAgIHRoaXMubW9kYWxUcGwoKT8ubmF0aXZlRWxlbWVudD8uc2hvd01vZGFsKCk7XG4gIH1cbn1cbiJdfQ==