@sinequa/assistant 3.9.6-rc1 → 3.9.6
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/references/references.component.d.ts +11 -11
- package/esm2022/chat/chat.component.mjs +2 -1
- package/esm2022/chat/documents-upload/document-overview/document-overview.component.mjs +3 -3
- package/esm2022/chat/references/references.component.mjs +76 -79
- package/esm2022/chat/smart-renderer/smart-renderer.mjs +6 -6
- package/fesm2022/sinequa-assistant-chat.mjs +81 -83
- package/fesm2022/sinequa-assistant-chat.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i1 from '@angular/common';
|
|
2
2
|
import { CommonModule, NgTemplateOutlet } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { Injectable, EventEmitter, inject, Component, Input, Output, ViewEncapsulation, ChangeDetectionStrategy, Directive, HostListener, input, output, viewChild, signal, computed, Pipe, effect, LOCALE_ID, InjectionToken, ElementRef, createComponent, ChangeDetectorRef, ViewChild, ContentChild,
|
|
4
|
+
import { Injectable, EventEmitter, inject, Component, Input, Output, ViewEncapsulation, ChangeDetectionStrategy, Directive, HostListener, input, output, viewChild, signal, computed, Pipe, effect, LOCALE_ID, InjectionToken, ElementRef, createComponent, ChangeDetectorRef, ViewChild, ContentChild, Injector } from '@angular/core';
|
|
5
5
|
import * as i2 from '@angular/forms';
|
|
6
6
|
import { FormsModule } from '@angular/forms';
|
|
7
7
|
import { Subscription, of, tap, switchMap, filter, delay, from, throwError, Subject, fromEvent, merge, Observable, BehaviorSubject, defer, take as take$1, forkJoin, map as map$1, catchError as catchError$1, finalize as finalize$1, combineLatest, EMPTY, interval, startWith, takeWhile } from 'rxjs';
|
|
@@ -1238,7 +1238,7 @@ function markdownItReferencePlugin(md) {
|
|
|
1238
1238
|
md.inline.ruler.after('text', 'referenceify_number', referenceifyNumber);
|
|
1239
1239
|
}
|
|
1240
1240
|
|
|
1241
|
-
const GROUPING_REGEX =
|
|
1241
|
+
const GROUPING_REGEX = /<!--[\s\S]*-->|<[a-z0-9]+(?: [\S]*){1,}\/>|<([a-z0-9]+)(?: [\S]*?)*>[\s\S]*?<\/\1>/gim;
|
|
1242
1242
|
class SafeHtmlPipe {
|
|
1243
1243
|
constructor(sanitizer) {
|
|
1244
1244
|
this.sanitizer = sanitizer;
|
|
@@ -1300,14 +1300,14 @@ class SmartRendererComponent {
|
|
|
1300
1300
|
// no blocks, nothing to process
|
|
1301
1301
|
if (!blocks || blocks.length === 0)
|
|
1302
1302
|
return;
|
|
1303
|
-
if (blocks.length >
|
|
1304
|
-
this.localSliceIndex = html.lastIndexOf(blocks.at(-
|
|
1303
|
+
if (blocks.length > 2) {
|
|
1304
|
+
this.localSliceIndex = html.lastIndexOf(blocks.at(-2) || "");
|
|
1305
1305
|
this.lastSliceIndex += this.localSliceIndex;
|
|
1306
1306
|
this.safe.update((v) => v + html.slice(0, this.localSliceIndex));
|
|
1307
1307
|
this.processing.set(html.slice(this.localSliceIndex));
|
|
1308
1308
|
}
|
|
1309
1309
|
else {
|
|
1310
|
-
this.processing.set(blocks
|
|
1310
|
+
this.processing.set(blocks.slice(0, 2).join(""));
|
|
1311
1311
|
}
|
|
1312
1312
|
}
|
|
1313
1313
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SmartRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
@@ -4064,6 +4064,7 @@ class ChatComponent {
|
|
|
4064
4064
|
const messages = [...conversation, userMsg];
|
|
4065
4065
|
this.messages$.next(messages); // Update the messages in the UI with the new user message
|
|
4066
4066
|
this.chatService.chatHistory = messages; // Update the chat history with the new user message
|
|
4067
|
+
this.scrollDown(); // Scroll down to the bottom of the chat to see the new user message and the incoming assistant answer
|
|
4067
4068
|
this.fetch(messages);
|
|
4068
4069
|
this.chatService.generateAuditEvent('ast-message.message', { ...this._defineMessageAuditDetails(userMsg), 'query': JSON.stringify(this.query), 'is-user-input': true, 'enabled-functions': this.config.defaultValues.functions?.filter(func => func.enabled).map(func => func.name), 'additional-workflow-properties': JSON.stringify(additionalWorkflowProperties) });
|
|
4069
4070
|
}
|
|
@@ -5700,7 +5701,7 @@ class DocumentOverviewComponent {
|
|
|
5700
5701
|
this.appService = inject(AppService);
|
|
5701
5702
|
}
|
|
5702
5703
|
ngOnInit() {
|
|
5703
|
-
this._subscription.add(of(isAuthenticated()).pipe(switchMap((_) => this.appService.init()),
|
|
5704
|
+
this._subscription.add(of(isAuthenticated()).pipe(switchMap((_) => this.appService.init()), switchMap((_) => this.documentsUploadService.getDocumentsList()), catchError$1((error) => {
|
|
5704
5705
|
console.error(error);
|
|
5705
5706
|
this.notificationsService.error(error);
|
|
5706
5707
|
return EMPTY;
|
|
@@ -5789,42 +5790,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
5789
5790
|
}] });
|
|
5790
5791
|
|
|
5791
5792
|
/*
|
|
5792
|
-
* Web Element Reference
|
|
5793
|
-
*
|
|
5793
|
+
* Web Element Reference Components
|
|
5794
|
+
* Those components are used to display a reference (page, image, document) in the chat interface.
|
|
5794
5795
|
* It uses a tooltip to show additional information about the reference.
|
|
5795
5796
|
* The component emits custom events when the user interacts with it.
|
|
5796
|
-
*
|
|
5797
|
-
* This component is based on the remark template.
|
|
5798
|
-
*
|
|
5799
|
-
* <!-- Chat reference (badge with file and part number) -->
|
|
5800
|
-
* <ng-template remarkTemplate="chat-reference" let-ref>
|
|
5801
|
-
* @let attachment = referenceMap.get(ref.refId);
|
|
5802
|
-
* @if (attachment) {
|
|
5803
|
-
* <a
|
|
5804
|
-
* class="reference"
|
|
5805
|
-
* role="button"
|
|
5806
|
-
* [sqTooltip]="attachment"
|
|
5807
|
-
* [sqTooltipTemplate]="tooltipTpl"
|
|
5808
|
-
* [hoverableTooltip]="true"
|
|
5809
|
-
* (click)="openAttachmentPreview(attachment, ref.refId)"
|
|
5810
|
-
* >
|
|
5811
|
-
* {{ref.refId}}
|
|
5812
|
-
* </a>
|
|
5813
|
-
* }
|
|
5814
|
-
* @else {
|
|
5815
|
-
* <ng-template #staticRefTpl>
|
|
5816
|
-
* <span class="reference">{{ ref.refId }}</span>
|
|
5817
|
-
* </ng-template>
|
|
5818
|
-
* }
|
|
5819
|
-
* </ng-template>
|
|
5820
5797
|
*/
|
|
5821
5798
|
class ReferenceComponent {
|
|
5822
5799
|
constructor() {
|
|
5823
|
-
this.ref =
|
|
5824
|
-
|
|
5800
|
+
this.ref = {};
|
|
5801
|
+
}
|
|
5802
|
+
ngOnChanges() {
|
|
5803
|
+
if (!this.attachment)
|
|
5804
|
+
return;
|
|
5805
|
+
try {
|
|
5825
5806
|
const obj = JSON.parse(decodeURIComponent(atob(this.attachment)));
|
|
5826
|
-
this.ref
|
|
5827
|
-
}
|
|
5807
|
+
this.ref = obj;
|
|
5808
|
+
}
|
|
5809
|
+
catch (error) {
|
|
5810
|
+
console.error("Error parsing attachment", error, this.attachment);
|
|
5811
|
+
}
|
|
5828
5812
|
}
|
|
5829
5813
|
onOpenPreview(attachment, partId) {
|
|
5830
5814
|
// Émettre un événement personnalisé pour le web element using the service
|
|
@@ -5839,23 +5823,23 @@ class ReferenceComponent {
|
|
|
5839
5823
|
}));
|
|
5840
5824
|
}
|
|
5841
5825
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ReferenceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5842
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ReferenceComponent, isStandalone: true, selector: "reference", inputs: { id: "id", attachment: "attachment", rank: "rank" }, providers: [], ngImport: i0, template: `
|
|
5826
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ReferenceComponent, isStandalone: true, selector: "reference", inputs: { id: "id", attachment: "attachment", rank: "rank" }, providers: [], usesOnChanges: true, ngImport: i0, template: `
|
|
5843
5827
|
<a
|
|
5844
5828
|
class="reference"
|
|
5845
5829
|
role="button"
|
|
5846
|
-
[sqTooltip]="ref
|
|
5830
|
+
[sqTooltip]="ref"
|
|
5847
5831
|
[sqTooltipTemplate]="tooltipTpl"
|
|
5848
5832
|
[hoverableTooltip]="true"
|
|
5849
|
-
(click)="onOpenPreview(ref
|
|
5833
|
+
(click)="onOpenPreview(ref)"
|
|
5850
5834
|
>{{ id }}</a>
|
|
5851
5835
|
|
|
5852
5836
|
<!-- tooltip template -->
|
|
5853
5837
|
<ng-template #tooltipTpl>
|
|
5854
5838
|
<sq-chat-reference
|
|
5855
5839
|
class="expanded"
|
|
5856
|
-
[attachment]="ref
|
|
5857
|
-
[reference]="ref
|
|
5858
|
-
[partId]="ref
|
|
5840
|
+
[attachment]="ref"
|
|
5841
|
+
[reference]="ref.contextId"
|
|
5842
|
+
[partId]="ref.$partId"
|
|
5859
5843
|
(openPreview)="onOpenPreview($event, $event.$partId)"
|
|
5860
5844
|
(openDocument)="onOpenDocument($event, $event.$partId)"
|
|
5861
5845
|
></sq-chat-reference>
|
|
@@ -5868,25 +5852,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
5868
5852
|
<a
|
|
5869
5853
|
class="reference"
|
|
5870
5854
|
role="button"
|
|
5871
|
-
[sqTooltip]="ref
|
|
5855
|
+
[sqTooltip]="ref"
|
|
5872
5856
|
[sqTooltipTemplate]="tooltipTpl"
|
|
5873
5857
|
[hoverableTooltip]="true"
|
|
5874
|
-
(click)="onOpenPreview(ref
|
|
5858
|
+
(click)="onOpenPreview(ref)"
|
|
5875
5859
|
>{{ id }}</a>
|
|
5876
5860
|
|
|
5877
5861
|
<!-- tooltip template -->
|
|
5878
5862
|
<ng-template #tooltipTpl>
|
|
5879
5863
|
<sq-chat-reference
|
|
5880
5864
|
class="expanded"
|
|
5881
|
-
[attachment]="ref
|
|
5882
|
-
[reference]="ref
|
|
5883
|
-
[partId]="ref
|
|
5865
|
+
[attachment]="ref"
|
|
5866
|
+
[reference]="ref.contextId"
|
|
5867
|
+
[partId]="ref.$partId"
|
|
5884
5868
|
(openPreview)="onOpenPreview($event, $event.$partId)"
|
|
5885
5869
|
(openDocument)="onOpenDocument($event, $event.$partId)"
|
|
5886
5870
|
></sq-chat-reference>
|
|
5887
5871
|
</ng-template>
|
|
5888
5872
|
`, standalone: true, styles: ["div{border:1px solid #ccc;padding:8px;border-radius:4px;display:flex;gap:8px;flex-direction:column}\n"] }]
|
|
5889
|
-
}],
|
|
5873
|
+
}], propDecorators: { id: [{
|
|
5890
5874
|
type: Input
|
|
5891
5875
|
}], attachment: [{
|
|
5892
5876
|
type: Input
|
|
@@ -5895,11 +5879,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
5895
5879
|
}] } });
|
|
5896
5880
|
class PageReferenceComponent {
|
|
5897
5881
|
constructor() {
|
|
5898
|
-
this.ref =
|
|
5899
|
-
|
|
5882
|
+
this.ref = {};
|
|
5883
|
+
}
|
|
5884
|
+
ngOnChanges() {
|
|
5885
|
+
if (!this.attachment)
|
|
5886
|
+
return;
|
|
5887
|
+
try {
|
|
5900
5888
|
const obj = JSON.parse(decodeURIComponent(atob(this.attachment)));
|
|
5901
|
-
this.ref
|
|
5902
|
-
}
|
|
5889
|
+
this.ref = obj;
|
|
5890
|
+
}
|
|
5891
|
+
catch (error) {
|
|
5892
|
+
console.error("Error parsing attachment", error, this.attachment);
|
|
5893
|
+
}
|
|
5903
5894
|
}
|
|
5904
5895
|
onOpenPreview(attachment, partId) {
|
|
5905
5896
|
// Émettre un événement personnalisé pour le web element using the service
|
|
@@ -5914,10 +5905,10 @@ class PageReferenceComponent {
|
|
|
5914
5905
|
}));
|
|
5915
5906
|
}
|
|
5916
5907
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageReferenceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5917
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PageReferenceComponent, isStandalone: true, selector: "page-reference", inputs: { id: "id", attachment: "attachment" }, providers: [], ngImport: i0, template: `
|
|
5908
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PageReferenceComponent, isStandalone: true, selector: "page-reference", inputs: { id: "id", attachment: "attachment" }, providers: [], usesOnChanges: true, ngImport: i0, template: `
|
|
5918
5909
|
<span
|
|
5919
5910
|
class="reference"
|
|
5920
|
-
[sqTooltip]="{ obj: ref
|
|
5911
|
+
[sqTooltip]="{ obj: ref, id }"
|
|
5921
5912
|
[sqTooltipTemplate]="pageTooltipTpl"
|
|
5922
5913
|
[hoverableTooltip]="true"
|
|
5923
5914
|
>
|
|
@@ -5939,7 +5930,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
5939
5930
|
args: [{ selector: "page-reference", imports: [TooltipDirective, InlinePageReferenceComponent], providers: [], template: `
|
|
5940
5931
|
<span
|
|
5941
5932
|
class="reference"
|
|
5942
|
-
[sqTooltip]="{ obj: ref
|
|
5933
|
+
[sqTooltip]="{ obj: ref, id }"
|
|
5943
5934
|
[sqTooltipTemplate]="pageTooltipTpl"
|
|
5944
5935
|
[hoverableTooltip]="true"
|
|
5945
5936
|
>
|
|
@@ -5955,18 +5946,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
5955
5946
|
/>
|
|
5956
5947
|
</ng-template>
|
|
5957
5948
|
`, standalone: true, styles: ["div{border:1px solid #ccc;padding:8px;border-radius:4px;display:flex;gap:8px;flex-direction:column}\n"] }]
|
|
5958
|
-
}],
|
|
5949
|
+
}], propDecorators: { id: [{
|
|
5959
5950
|
type: Input
|
|
5960
5951
|
}], attachment: [{
|
|
5961
5952
|
type: Input
|
|
5962
5953
|
}] } });
|
|
5963
5954
|
class ImageReferenceComponent {
|
|
5964
5955
|
constructor() {
|
|
5965
|
-
this.ref =
|
|
5966
|
-
|
|
5956
|
+
this.ref = {};
|
|
5957
|
+
}
|
|
5958
|
+
ngOnChanges() {
|
|
5959
|
+
if (!this.attachment)
|
|
5960
|
+
return;
|
|
5961
|
+
try {
|
|
5967
5962
|
const obj = JSON.parse(decodeURIComponent(atob(this.attachment)));
|
|
5968
|
-
this.ref
|
|
5969
|
-
}
|
|
5963
|
+
this.ref = obj;
|
|
5964
|
+
}
|
|
5965
|
+
catch (error) {
|
|
5966
|
+
console.error("Error parsing attachment", error, this.attachment);
|
|
5967
|
+
}
|
|
5970
5968
|
}
|
|
5971
5969
|
onOpenPreview(attachment, partId) {
|
|
5972
5970
|
// Émettre un événement personnalisé pour le web element using the service
|
|
@@ -5981,10 +5979,10 @@ class ImageReferenceComponent {
|
|
|
5981
5979
|
}));
|
|
5982
5980
|
}
|
|
5983
5981
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImageReferenceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5984
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ImageReferenceComponent, isStandalone: true, selector: "image-reference", inputs: { id: "id", attachment: "attachment" }, providers: [], ngImport: i0, template: `
|
|
5982
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ImageReferenceComponent, isStandalone: true, selector: "image-reference", inputs: { id: "id", attachment: "attachment" }, providers: [], usesOnChanges: true, ngImport: i0, template: `
|
|
5985
5983
|
<span
|
|
5986
5984
|
class="reference"
|
|
5987
|
-
[sqTooltip]="{ obj: ref
|
|
5985
|
+
[sqTooltip]="{ obj: ref, id }"
|
|
5988
5986
|
[sqTooltipTemplate]="imageTooltipTpl"
|
|
5989
5987
|
[hoverableTooltip]="true"
|
|
5990
5988
|
>
|
|
@@ -6006,7 +6004,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
6006
6004
|
args: [{ selector: "image-reference", imports: [TooltipDirective, InlineImageReferenceComponent], providers: [], template: `
|
|
6007
6005
|
<span
|
|
6008
6006
|
class="reference"
|
|
6009
|
-
[sqTooltip]="{ obj: ref
|
|
6007
|
+
[sqTooltip]="{ obj: ref, id }"
|
|
6010
6008
|
[sqTooltipTemplate]="imageTooltipTpl"
|
|
6011
6009
|
[hoverableTooltip]="true"
|
|
6012
6010
|
>
|
|
@@ -6022,15 +6020,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
6022
6020
|
/>
|
|
6023
6021
|
</ng-template>
|
|
6024
6022
|
`, standalone: true, styles: ["div{border:1px solid #ccc;padding:8px;border-radius:4px;display:flex;gap:8px;flex-direction:column}\n"] }]
|
|
6025
|
-
}],
|
|
6023
|
+
}], propDecorators: { id: [{
|
|
6026
6024
|
type: Input
|
|
6027
6025
|
}], attachment: [{
|
|
6028
6026
|
type: Input
|
|
6029
6027
|
}] } });
|
|
6030
6028
|
class CodeBlockReferenceComponent {
|
|
6031
6029
|
constructor() {
|
|
6032
|
-
this.el = inject(ElementRef);
|
|
6033
6030
|
this.langname = "";
|
|
6031
|
+
this.el = inject(ElementRef);
|
|
6034
6032
|
this.encodeCode = '';
|
|
6035
6033
|
}
|
|
6036
6034
|
ngAfterViewInit() {
|
|
@@ -6041,15 +6039,15 @@ class CodeBlockReferenceComponent {
|
|
|
6041
6039
|
}
|
|
6042
6040
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CodeBlockReferenceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6043
6041
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CodeBlockReferenceComponent, isStandalone: true, selector: "code-block-reference", inputs: { langname: "langname" }, ngImport: i0, template: `
|
|
6044
|
-
<div class="card mb-2">
|
|
6045
|
-
|
|
6046
|
-
|
|
6047
|
-
|
|
6048
|
-
|
|
6049
|
-
|
|
6050
|
-
|
|
6051
|
-
|
|
6052
|
-
</div>
|
|
6042
|
+
<div class="card mb-2">
|
|
6043
|
+
<div class="card-header d-flex justify-content-end align-items-center">
|
|
6044
|
+
<span class="me-auto">{{ langname || 'code'}}</span>
|
|
6045
|
+
<button class="btn btn-light btn-sm" copy-to-clipboard [text]="encodeCode">
|
|
6046
|
+
<svg data-testid="geist-icon" height="16" stroke-linejoin="round" viewBox="0 0 16 16" width="16" aria-hidden="true" style="color: currentcolor;"><path fill-rule="evenodd" clip-rule="evenodd" d="M2.75 0.5C1.7835 0.5 1 1.2835 1 2.25V9.75C1 10.7165 1.7835 11.5 2.75 11.5H3.75H4.5V10H3.75H2.75C2.61193 10 2.5 9.88807 2.5 9.75V2.25C2.5 2.11193 2.61193 2 2.75 2H8.25C8.38807 2 8.5 2.11193 8.5 2.25V3H10V2.25C10 1.2835 9.2165 0.5 8.25 0.5H2.75ZM7.75 4.5C6.7835 4.5 6 5.2835 6 6.25V13.75C6 14.7165 6.7835 15.5 7.75 15.5H13.25C14.2165 15.5 15 14.7165 15 13.75V6.25C15 5.2835 14.2165 4.5 13.25 4.5H7.75ZM7.5 6.25C7.5 6.11193 7.61193 6 7.75 6H13.25C13.3881 6 13.5 6.11193 13.5 6.25V13.75C13.5 13.8881 13.3881 14 13.25 14H7.75C7.61193 14 7.5 13.8881 7.5 13.75V6.25Z" fill="currentColor"></path></svg>
|
|
6047
|
+
</button>
|
|
6048
|
+
</div>
|
|
6049
|
+
<ng-content></ng-content>
|
|
6050
|
+
</div>
|
|
6053
6051
|
`, isInline: true, dependencies: [{ kind: "directive", type: CopyToClipboardDirective, selector: "[copy-to-clipboard]", inputs: ["text"] }] }); }
|
|
6054
6052
|
}
|
|
6055
6053
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CodeBlockReferenceComponent, decorators: [{
|
|
@@ -6058,15 +6056,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
6058
6056
|
selector: "code-block-reference",
|
|
6059
6057
|
imports: [CopyToClipboardDirective],
|
|
6060
6058
|
template: `
|
|
6061
|
-
<div class="card mb-2">
|
|
6062
|
-
|
|
6063
|
-
|
|
6064
|
-
|
|
6065
|
-
|
|
6066
|
-
|
|
6067
|
-
|
|
6068
|
-
|
|
6069
|
-
</div>
|
|
6059
|
+
<div class="card mb-2">
|
|
6060
|
+
<div class="card-header d-flex justify-content-end align-items-center">
|
|
6061
|
+
<span class="me-auto">{{ langname || 'code'}}</span>
|
|
6062
|
+
<button class="btn btn-light btn-sm" copy-to-clipboard [text]="encodeCode">
|
|
6063
|
+
<svg data-testid="geist-icon" height="16" stroke-linejoin="round" viewBox="0 0 16 16" width="16" aria-hidden="true" style="color: currentcolor;"><path fill-rule="evenodd" clip-rule="evenodd" d="M2.75 0.5C1.7835 0.5 1 1.2835 1 2.25V9.75C1 10.7165 1.7835 11.5 2.75 11.5H3.75H4.5V10H3.75H2.75C2.61193 10 2.5 9.88807 2.5 9.75V2.25C2.5 2.11193 2.61193 2 2.75 2H8.25C8.38807 2 8.5 2.11193 8.5 2.25V3H10V2.25C10 1.2835 9.2165 0.5 8.25 0.5H2.75ZM7.75 4.5C6.7835 4.5 6 5.2835 6 6.25V13.75C6 14.7165 6.7835 15.5 7.75 15.5H13.25C14.2165 15.5 15 14.7165 15 13.75V6.25C15 5.2835 14.2165 4.5 13.25 4.5H7.75ZM7.5 6.25C7.5 6.11193 7.61193 6 7.75 6H13.25C13.3881 6 13.5 6.11193 13.5 6.25V13.75C13.5 13.8881 13.3881 14 13.25 14H7.75C7.61193 14 7.5 13.8881 7.5 13.75V6.25Z" fill="currentColor"></path></svg>
|
|
6064
|
+
</button>
|
|
6065
|
+
</div>
|
|
6066
|
+
<ng-content></ng-content>
|
|
6067
|
+
</div>
|
|
6070
6068
|
`,
|
|
6071
6069
|
standalone: true,
|
|
6072
6070
|
}]
|