qqsl-agent 0.0.1
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/README.md +24 -0
- package/assets/images/card/copy.png +0 -0
- package/assets/images/card/refresh.png +0 -0
- package/assets/images/card/share.png +0 -0
- package/assets/images/card/think-finish.png +0 -0
- package/assets/images/input/relate.png +0 -0
- package/assets/images/input/send-gray.png +0 -0
- package/assets/images/input/send.png +0 -0
- package/assets/images/input/toggle-model.png +0 -0
- package/assets/images/logo.png +0 -0
- package/assets/images/sidebar/collapse.png +0 -0
- package/assets/images/sidebar/delete.png +0 -0
- package/assets/images/sidebar/expand.png +0 -0
- package/assets/images/sidebar/history-chat.png +0 -0
- package/assets/images/sidebar/new-chat.png +0 -0
- package/assets/images/sidebar/time.png +0 -0
- package/assets/styles/index.css +1 -0
- package/chat/chat-input/chat-input.component.d.ts +46 -0
- package/chat/chat-messages/chat-messages.component.d.ts +33 -0
- package/chat/chat-sidebar/chat-sidebar.component.d.ts +20 -0
- package/chat/chat-sidebar/history-group/history-group.component.d.ts +18 -0
- package/chat/chat.component.d.ts +34 -0
- package/chat/chat.module.d.ts +28 -0
- package/chat/components/pagination/pagination.component.d.ts +14 -0
- package/chat/index.d.ts +5 -0
- package/chat/models/conversation.model.d.ts +20 -0
- package/chat/models/knowledge-list.model.d.ts +8 -0
- package/chat/models/message.model.d.ts +41 -0
- package/chat/models/model-list.model.d.ts +9 -0
- package/chat/models/send-message.model.d.ts +33 -0
- package/chat/pipes/markdown.pipe.d.ts +8 -0
- package/chat/public-api.d.ts +2 -0
- package/chat/services/http.service.d.ts +13 -0
- package/chat/services/http2.service.d.ts +45 -0
- package/chat/services/markdown-stream.service.d.ts +10 -0
- package/chat/services/sse.service.d.ts +28 -0
- package/chat/store/store.service.d.ts +17 -0
- package/esm2020/chat/chat-input/chat-input.component.mjs +151 -0
- package/esm2020/chat/chat-messages/chat-messages.component.mjs +110 -0
- package/esm2020/chat/chat-sidebar/chat-sidebar.component.mjs +118 -0
- package/esm2020/chat/chat-sidebar/history-group/history-group.component.mjs +124 -0
- package/esm2020/chat/chat.component.mjs +138 -0
- package/esm2020/chat/chat.module.mjs +98 -0
- package/esm2020/chat/components/pagination/pagination.component.mjs +91 -0
- package/esm2020/chat/models/conversation.model.mjs +2 -0
- package/esm2020/chat/models/knowledge-list.model.mjs +2 -0
- package/esm2020/chat/models/message.model.mjs +35 -0
- package/esm2020/chat/models/model-list.model.mjs +2 -0
- package/esm2020/chat/models/send-message.model.mjs +2 -0
- package/esm2020/chat/pipes/markdown.pipe.mjs +24 -0
- package/esm2020/chat/public-api.mjs +3 -0
- package/esm2020/chat/qqsl-agent-chat.mjs +5 -0
- package/esm2020/chat/services/http.service.mjs +68 -0
- package/esm2020/chat/services/http2.service.mjs +101 -0
- package/esm2020/chat/services/markdown-stream.service.mjs +137 -0
- package/esm2020/chat/services/sse.service.mjs +107 -0
- package/esm2020/chat/store/store.service.mjs +38 -0
- package/esm2020/public-api.mjs +5 -0
- package/esm2020/qqsl-agent.mjs +5 -0
- package/fesm2015/qqsl-agent-chat.mjs +1255 -0
- package/fesm2015/qqsl-agent-chat.mjs.map +1 -0
- package/fesm2015/qqsl-agent.mjs +9 -0
- package/fesm2015/qqsl-agent.mjs.map +1 -0
- package/fesm2020/qqsl-agent-chat.mjs +1248 -0
- package/fesm2020/qqsl-agent-chat.mjs.map +1 -0
- package/fesm2020/qqsl-agent.mjs +9 -0
- package/fesm2020/qqsl-agent.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/package.json +45 -0
- package/public-api.d.ts +2 -0
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { Component, EventEmitter, inject, Input, Output } from '@angular/core';
|
|
2
|
+
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
3
|
+
import { StoreService } from '../../store/store.service';
|
|
4
|
+
import { NzModalService } from 'ng-zorro-antd/modal';
|
|
5
|
+
import { HttpService } from '../../services/http2.service';
|
|
6
|
+
import { NzMessageService } from 'ng-zorro-antd/message';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/common";
|
|
9
|
+
export class HistoryGroupComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.select = new EventEmitter();
|
|
12
|
+
this.refresh = new EventEmitter();
|
|
13
|
+
this.currentSelected = null;
|
|
14
|
+
this.storeService = inject(StoreService);
|
|
15
|
+
this.modalService = inject(NzModalService);
|
|
16
|
+
this.msg = inject(NzMessageService);
|
|
17
|
+
this.http = inject(HttpService);
|
|
18
|
+
}
|
|
19
|
+
toggleExpand() {
|
|
20
|
+
this.group.expanded = !this.group.expanded;
|
|
21
|
+
}
|
|
22
|
+
selectConversation(item) {
|
|
23
|
+
if (item) {
|
|
24
|
+
item.isActive = true;
|
|
25
|
+
}
|
|
26
|
+
this.currentSelected = item;
|
|
27
|
+
this.select.emit(this.currentSelected);
|
|
28
|
+
this.storeService.setCurrentConversation(this.currentSelected);
|
|
29
|
+
}
|
|
30
|
+
deleteConversation(e, item) {
|
|
31
|
+
e.stopPropagation();
|
|
32
|
+
this.modalService.confirm({
|
|
33
|
+
nzTitle: '删除对话',
|
|
34
|
+
nzContent: `删除后无法恢复,是否确认删除“${item.name}”对话?`,
|
|
35
|
+
nzOkText: '确定',
|
|
36
|
+
nzCancelText: '取消',
|
|
37
|
+
nzOnOk: () => {
|
|
38
|
+
this.http.delete(`/api/ChatModel/conversation`, { iCode: item.iCode }).subscribe(res => {
|
|
39
|
+
this.msg.success('删除成功');
|
|
40
|
+
this.refresh.emit(item.iCode);
|
|
41
|
+
});
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
HistoryGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HistoryGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
47
|
+
HistoryGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: HistoryGroupComponent, selector: "history-group", inputs: { group: "group" }, outputs: { select: "select", refresh: "refresh" }, ngImport: i0, template: `
|
|
48
|
+
<div class="group-container">
|
|
49
|
+
<div class="group-header" (click)="toggleExpand()">
|
|
50
|
+
<div class="left">
|
|
51
|
+
<img src="assets/images/sidebar/time.png" />
|
|
52
|
+
<span class="date-text">{{ group.dateLabel }}</span>
|
|
53
|
+
</div>
|
|
54
|
+
<div class="arrow-icon" [class.rotated]="group.expanded">
|
|
55
|
+
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
56
|
+
<polyline points="6 9 12 15 18 9"></polyline>
|
|
57
|
+
</svg>
|
|
58
|
+
</div>
|
|
59
|
+
</div>
|
|
60
|
+
|
|
61
|
+
<div class="group-content" [@expandCollapse]="group.expanded ? 'expanded' : 'collapsed'">
|
|
62
|
+
<div
|
|
63
|
+
*ngFor="let item of group.items"
|
|
64
|
+
class="history-item"
|
|
65
|
+
[class.active]="item.isActive"
|
|
66
|
+
(click)="selectConversation(item)"
|
|
67
|
+
>
|
|
68
|
+
<span class="item-title">{{ item.name }}</span>
|
|
69
|
+
|
|
70
|
+
<img class="delete-img" src="assets/images/sidebar/delete.png" (click)="deleteConversation($event, item)" />
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
</div>
|
|
74
|
+
`, isInline: true, styles: ["@charset \"UTF-8\";.group-header{display:flex;justify-content:space-between;align-items:center;padding:12px 0;cursor:pointer;color:#999;font-size:14px;-webkit-user-select:none;user-select:none}.group-header:hover{color:#666}.left{display:flex;align-items:center;gap:8px}.left img{width:14px;height:14px}.arrow-icon{transition:transform .3s ease}.arrow-icon.rotated{transform:rotate(0)}.arrow-icon:not(.rotated){transform:rotate(-90deg)}.group-content{overflow:hidden}.history-item{padding:10px 12px;margin-bottom:4px;border-radius:8px;font-size:14px;color:#444;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s}.history-item .delete-img{width:14px;height:14px;display:none}.history-item:hover{background-color:#ebeced}.history-item:hover:hover .delete-img{display:block}.history-item.active{background-color:#e4edfd;color:#004ad3}.item-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], animations: [
|
|
75
|
+
trigger('expandCollapse', [
|
|
76
|
+
state('collapsed', style({ height: '0px', opacity: 0 })),
|
|
77
|
+
state('expanded', style({ height: '*', opacity: 1 })),
|
|
78
|
+
transition('expanded <=> collapsed', animate('300ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
|
|
79
|
+
]),
|
|
80
|
+
] });
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HistoryGroupComponent, decorators: [{
|
|
82
|
+
type: Component,
|
|
83
|
+
args: [{ selector: 'history-group', template: `
|
|
84
|
+
<div class="group-container">
|
|
85
|
+
<div class="group-header" (click)="toggleExpand()">
|
|
86
|
+
<div class="left">
|
|
87
|
+
<img src="assets/images/sidebar/time.png" />
|
|
88
|
+
<span class="date-text">{{ group.dateLabel }}</span>
|
|
89
|
+
</div>
|
|
90
|
+
<div class="arrow-icon" [class.rotated]="group.expanded">
|
|
91
|
+
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
92
|
+
<polyline points="6 9 12 15 18 9"></polyline>
|
|
93
|
+
</svg>
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
|
|
97
|
+
<div class="group-content" [@expandCollapse]="group.expanded ? 'expanded' : 'collapsed'">
|
|
98
|
+
<div
|
|
99
|
+
*ngFor="let item of group.items"
|
|
100
|
+
class="history-item"
|
|
101
|
+
[class.active]="item.isActive"
|
|
102
|
+
(click)="selectConversation(item)"
|
|
103
|
+
>
|
|
104
|
+
<span class="item-title">{{ item.name }}</span>
|
|
105
|
+
|
|
106
|
+
<img class="delete-img" src="assets/images/sidebar/delete.png" (click)="deleteConversation($event, item)" />
|
|
107
|
+
</div>
|
|
108
|
+
</div>
|
|
109
|
+
</div>
|
|
110
|
+
`, animations: [
|
|
111
|
+
trigger('expandCollapse', [
|
|
112
|
+
state('collapsed', style({ height: '0px', opacity: 0 })),
|
|
113
|
+
state('expanded', style({ height: '*', opacity: 1 })),
|
|
114
|
+
transition('expanded <=> collapsed', animate('300ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
|
|
115
|
+
]),
|
|
116
|
+
], styles: ["@charset \"UTF-8\";.group-header{display:flex;justify-content:space-between;align-items:center;padding:12px 0;cursor:pointer;color:#999;font-size:14px;-webkit-user-select:none;user-select:none}.group-header:hover{color:#666}.left{display:flex;align-items:center;gap:8px}.left img{width:14px;height:14px}.arrow-icon{transition:transform .3s ease}.arrow-icon.rotated{transform:rotate(0)}.arrow-icon:not(.rotated){transform:rotate(-90deg)}.group-content{overflow:hidden}.history-item{padding:10px 12px;margin-bottom:4px;border-radius:8px;font-size:14px;color:#444;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s}.history-item .delete-img{width:14px;height:14px;display:none}.history-item:hover{background-color:#ebeced}.history-item:hover:hover .delete-img{display:block}.history-item.active{background-color:#e4edfd;color:#004ad3}.item-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}\n"] }]
|
|
117
|
+
}], propDecorators: { group: [{
|
|
118
|
+
type: Input
|
|
119
|
+
}], select: [{
|
|
120
|
+
type: Output
|
|
121
|
+
}], refresh: [{
|
|
122
|
+
type: Output
|
|
123
|
+
}] } });
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZ2VudC9jaGF0L2NoYXQtc2lkZWJhci9oaXN0b3J5LWdyb3VwL2hpc3RvcnktZ3JvdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQXlDekQsTUFBTSxPQUFPLHFCQUFxQjtJQXZDbEM7UUF5Q1ksV0FBTSxHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO1FBQ2pELFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQy9DLG9CQUFlLEdBQXdCLElBQUksQ0FBQztRQUVwQyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwQyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0QyxRQUFHLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDL0IsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztLQThCcEM7SUE1QkMsWUFBWTtRQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDN0MsQ0FBQztJQUVELGtCQUFrQixDQUFDLElBQXlCO1FBQzFDLElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDdEI7UUFDRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELGtCQUFrQixDQUFDLENBQVEsRUFBRSxJQUFrQjtRQUM3QyxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7WUFDeEIsT0FBTyxFQUFFLE1BQU07WUFDZixTQUFTLEVBQUUsa0JBQWtCLElBQUksQ0FBQyxJQUFJLE1BQU07WUFDNUMsUUFBUSxFQUFFLElBQUk7WUFDZCxZQUFZLEVBQUUsSUFBSTtZQUNsQixNQUFNLEVBQUUsR0FBRyxFQUFFO2dCQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLDZCQUE2QixFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDckYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDaEMsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7bUhBdENVLHFCQUFxQjt1R0FBckIscUJBQXFCLG9JQXJDdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJCVCxpb0NBRVc7UUFDVixPQUFPLENBQUMsZ0JBQWdCLEVBQUU7WUFDeEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3hELEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNyRCxVQUFVLENBQUMsd0JBQXdCLEVBQUUsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7U0FDdEYsQ0FBQztLQUNIOzRGQUVVLHFCQUFxQjtrQkF2Q2pDLFNBQVM7K0JBQ0UsZUFBZSxZQUNmOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQlQsY0FFVzt3QkFDVixPQUFPLENBQUMsZ0JBQWdCLEVBQUU7NEJBQ3hCLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQzs0QkFDeEQsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDOzRCQUNyRCxVQUFVLENBQUMsd0JBQXdCLEVBQUUsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7eUJBQ3RGLENBQUM7cUJBQ0g7OEJBR1EsS0FBSztzQkFBYixLQUFLO2dCQUNJLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdHJpZ2dlciwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCBhbmltYXRlIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDb252ZXJzYXRpb25Hcm91cCwgQ29udmVyc2F0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbnZlcnNhdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBTdG9yZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zdG9yZS9zdG9yZS5zZXJ2aWNlJztcbmltcG9ydCB7IE56TW9kYWxTZXJ2aWNlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9tb2RhbCc7XG5pbXBvcnQgeyBIdHRwU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2h0dHAyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTnpNZXNzYWdlU2VydmljZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvbWVzc2FnZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2hpc3RvcnktZ3JvdXAnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJncm91cC1jb250YWluZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJncm91cC1oZWFkZXJcIiAoY2xpY2spPVwidG9nZ2xlRXhwYW5kKClcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImxlZnRcIj5cbiAgICAgICAgICA8aW1nIHNyYz1cImFzc2V0cy9pbWFnZXMvc2lkZWJhci90aW1lLnBuZ1wiIC8+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJkYXRlLXRleHRcIj57eyBncm91cC5kYXRlTGFiZWwgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXJyb3ctaWNvblwiIFtjbGFzcy5yb3RhdGVkXT1cImdyb3VwLmV4cGFuZGVkXCI+XG4gICAgICAgICAgPHN2ZyB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCI+XG4gICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPVwiNiA5IDEyIDE1IDE4IDlcIj48L3BvbHlsaW5lPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZ3JvdXAtY29udGVudFwiIFtAZXhwYW5kQ29sbGFwc2VdPVwiZ3JvdXAuZXhwYW5kZWQgPyAnZXhwYW5kZWQnIDogJ2NvbGxhcHNlZCdcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdyb3VwLml0ZW1zXCJcbiAgICAgICAgICBjbGFzcz1cImhpc3RvcnktaXRlbVwiXG4gICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpdGVtLmlzQWN0aXZlXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0Q29udmVyc2F0aW9uKGl0ZW0pXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaXRlbS10aXRsZVwiPnt7IGl0ZW0ubmFtZSB9fTwvc3Bhbj5cblxuICAgICAgICAgIDxpbWcgY2xhc3M9XCJkZWxldGUtaW1nXCIgc3JjPVwiYXNzZXRzL2ltYWdlcy9zaWRlYmFyL2RlbGV0ZS5wbmdcIiAoY2xpY2spPVwiZGVsZXRlQ29udmVyc2F0aW9uKCRldmVudCwgaXRlbSlcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9oaXN0b3J5LWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdleHBhbmRDb2xsYXBzZScsIFtcbiAgICAgIHN0YXRlKCdjb2xsYXBzZWQnLCBzdHlsZSh7IGhlaWdodDogJzBweCcsIG9wYWNpdHk6IDAgfSkpLFxuICAgICAgc3RhdGUoJ2V4cGFuZGVkJywgc3R5bGUoeyBoZWlnaHQ6ICcqJywgb3BhY2l0eTogMSB9KSksXG4gICAgICB0cmFuc2l0aW9uKCdleHBhbmRlZCA8PT4gY29sbGFwc2VkJywgYW5pbWF0ZSgnMzAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpJykpLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBIaXN0b3J5R3JvdXBDb21wb25lbnQge1xuICBASW5wdXQoKSBncm91cCE6IENvbnZlcnNhdGlvbkdyb3VwO1xuICBAT3V0cHV0KCkgc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxDb252ZXJzYXRpb24gfCBudWxsPigpO1xuICBAT3V0cHV0KCkgcmVmcmVzaCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBjdXJyZW50U2VsZWN0ZWQ6IENvbnZlcnNhdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgc3RvcmVTZXJ2aWNlID0gaW5qZWN0KFN0b3JlU2VydmljZSk7XG4gIHByaXZhdGUgbW9kYWxTZXJ2aWNlID0gaW5qZWN0KE56TW9kYWxTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBtc2cgPSBpbmplY3QoTnpNZXNzYWdlU2VydmljZSk7XG4gIHByaXZhdGUgaHR0cCA9IGluamVjdChIdHRwU2VydmljZSk7XG5cbiAgdG9nZ2xlRXhwYW5kKCkge1xuICAgIHRoaXMuZ3JvdXAuZXhwYW5kZWQgPSAhdGhpcy5ncm91cC5leHBhbmRlZDtcbiAgfVxuXG4gIHNlbGVjdENvbnZlcnNhdGlvbihpdGVtOiBDb252ZXJzYXRpb24gfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKGl0ZW0pIHtcbiAgICAgIGl0ZW0uaXNBY3RpdmUgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLmN1cnJlbnRTZWxlY3RlZCA9IGl0ZW07XG4gICAgdGhpcy5zZWxlY3QuZW1pdCh0aGlzLmN1cnJlbnRTZWxlY3RlZCk7XG4gICAgdGhpcy5zdG9yZVNlcnZpY2Uuc2V0Q3VycmVudENvbnZlcnNhdGlvbih0aGlzLmN1cnJlbnRTZWxlY3RlZCk7XG4gIH1cblxuICBkZWxldGVDb252ZXJzYXRpb24oZTogRXZlbnQsIGl0ZW06IENvbnZlcnNhdGlvbik6IHZvaWQge1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5tb2RhbFNlcnZpY2UuY29uZmlybSh7XG4gICAgICBuelRpdGxlOiAn5Yig6Zmk5a+56K+dJyxcbiAgICAgIG56Q29udGVudDogYOWIoOmZpOWQjuaXoOazleaBouWkje+8jOaYr+WQpuehruiupOWIoOmZpOKAnCR7aXRlbS5uYW1lfeKAneWvueivne+8n2AsXG4gICAgICBuek9rVGV4dDogJ+ehruWumicsXG4gICAgICBuekNhbmNlbFRleHQ6ICflj5bmtognLFxuICAgICAgbnpPbk9rOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuaHR0cC5kZWxldGUoYC9hcGkvQ2hhdE1vZGVsL2NvbnZlcnNhdGlvbmAsIHsgaUNvZGU6IGl0ZW0uaUNvZGUgfSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgdGhpcy5tc2cuc3VjY2Vzcygn5Yig6Zmk5oiQ5YqfJyk7XG4gICAgICAgICAgdGhpcy5yZWZyZXNoLmVtaXQoaXRlbS5pQ29kZSk7XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { Component, inject, Input, NgZone, ViewChild } from '@angular/core';
|
|
2
|
+
import { MarkdownStreamService } from './services/markdown-stream.service';
|
|
3
|
+
import { HttpService } from './services/http.service';
|
|
4
|
+
import { SseService } from './services/sse.service';
|
|
5
|
+
import { StoreService } from './store/store.service';
|
|
6
|
+
import { DomSanitizer } from '@angular/platform-browser';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "./chat-input/chat-input.component";
|
|
9
|
+
import * as i2 from "./chat-messages/chat-messages.component";
|
|
10
|
+
import * as i3 from "./chat-sidebar/chat-sidebar.component";
|
|
11
|
+
export class NgxAgentChatComponent {
|
|
12
|
+
constructor() {
|
|
13
|
+
/**
|
|
14
|
+
* 接口baseUrl配置
|
|
15
|
+
*/
|
|
16
|
+
this.baseUrl = 'http://39.102.56.254:8082';
|
|
17
|
+
this.token = '';
|
|
18
|
+
this.md = inject(MarkdownStreamService);
|
|
19
|
+
this.httpService = inject(HttpService);
|
|
20
|
+
this.sseService = inject(SseService);
|
|
21
|
+
this.storeService = inject(StoreService);
|
|
22
|
+
this.sanitizer = inject(DomSanitizer);
|
|
23
|
+
this.ngZone = inject(NgZone);
|
|
24
|
+
this.messages = []; // 消息数组
|
|
25
|
+
}
|
|
26
|
+
ngOnInit() {
|
|
27
|
+
this.storeService.setToken(this.token);
|
|
28
|
+
this.storeService.setBaseUrl(this.baseUrl);
|
|
29
|
+
this.sseService.conversationICode$.subscribe(iCodeObj => {
|
|
30
|
+
if (iCodeObj) {
|
|
31
|
+
const currentMsg = this.messages[this.messages.length - 1];
|
|
32
|
+
currentMsg.iCode = iCodeObj.question;
|
|
33
|
+
currentMsg.answers[currentMsg.answerIndex].iCode = iCodeObj.answer;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
this.sseService.thinking$.subscribe(text => {
|
|
37
|
+
if (this.messages.length > 0) {
|
|
38
|
+
const currentMsg = this.messages[this.messages.length - 1];
|
|
39
|
+
currentMsg.answers[currentMsg.answerIndex].think = text;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
this.sseService.currentMessage$.subscribe(text => {
|
|
43
|
+
if (this.messages.length > 0) {
|
|
44
|
+
const currentMsg = this.messages[this.messages.length - 1];
|
|
45
|
+
currentMsg.answers[currentMsg.answerIndex].content = text;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
this.storeService.currentConversation$.subscribe(conversation => {
|
|
49
|
+
if (!conversation) {
|
|
50
|
+
this.messages = [];
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
this.httpService
|
|
54
|
+
.get(`${this.storeService.getBaseUrl()}/api/ChatModel/conversation/questions`, { iCode: conversation?.iCode })
|
|
55
|
+
.subscribe((res) => {
|
|
56
|
+
this.messages = res.map(item => {
|
|
57
|
+
item.answerIndex = 0;
|
|
58
|
+
item.answers.forEach(answer => {
|
|
59
|
+
answer.thinkExpand = true;
|
|
60
|
+
});
|
|
61
|
+
return item;
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
ngAfterViewInit() {
|
|
67
|
+
this.resizeObserver = new ResizeObserver(entries => {
|
|
68
|
+
for (let entry of entries) {
|
|
69
|
+
const newHeight = entry.contentRect.height;
|
|
70
|
+
this.ngZone.run(() => {
|
|
71
|
+
this.chatMessagesRef.inputHeight = newHeight + 60;
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
// 开始监听输入框元素
|
|
76
|
+
this.resizeObserver.observe(this.chatInputRef.chatInputWrapper.nativeElement);
|
|
77
|
+
}
|
|
78
|
+
// 重新生成回答(仅最新的回答允许重新生成)
|
|
79
|
+
regenerateAnswer(msg) {
|
|
80
|
+
this.chatInputRef.regenerateSend(msg);
|
|
81
|
+
}
|
|
82
|
+
// 发起提问请求
|
|
83
|
+
onSendMessage(event) {
|
|
84
|
+
if (!event.isRegenerate) {
|
|
85
|
+
// 推入一个新问答,iCode在流接收到补上
|
|
86
|
+
const qa = {
|
|
87
|
+
iCode: '',
|
|
88
|
+
question: event.message.question,
|
|
89
|
+
answers: [
|
|
90
|
+
{
|
|
91
|
+
iCode: '',
|
|
92
|
+
think: '',
|
|
93
|
+
content: '',
|
|
94
|
+
thinkExpand: true,
|
|
95
|
+
},
|
|
96
|
+
],
|
|
97
|
+
answerIndex: 0,
|
|
98
|
+
};
|
|
99
|
+
this.messages.push(qa);
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
const latestMessage = this.messages[this.messages.length - 1];
|
|
103
|
+
latestMessage.answers.push({
|
|
104
|
+
iCode: '',
|
|
105
|
+
think: '',
|
|
106
|
+
content: '',
|
|
107
|
+
thinkExpand: true,
|
|
108
|
+
});
|
|
109
|
+
latestMessage.answerIndex = latestMessage.answers.length - 1;
|
|
110
|
+
}
|
|
111
|
+
this.sseService.streamChat(event.message).then(res => {
|
|
112
|
+
// 开启新对话,刷新左侧历史对话
|
|
113
|
+
if (!event.message.conversation) {
|
|
114
|
+
this.chatSidebarRef.getHistory(true);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
NgxAgentChatComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxAgentChatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
120
|
+
NgxAgentChatComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NgxAgentChatComponent, selector: "ngx-agent-chat", inputs: { baseUrl: "baseUrl", token: "token" }, viewQueries: [{ propertyName: "chatSidebarRef", first: true, predicate: ["chatSidebarRef"], descendants: true }, { propertyName: "chatMessagesRef", first: true, predicate: ["chatMessagesRef"], descendants: true }, { propertyName: "chatInputRef", first: true, predicate: ["chatInputRef"], descendants: true }], ngImport: i0, template: "<div class=\"qq-agent\">\n <!-- \u5DE6\u4FA7\u8FB9\u680F -->\n <ngx-chat-sidebar #chatSidebarRef></ngx-chat-sidebar>\n\n <!-- \u53F3\u4FA7\u4E3B\u5185\u5BB9 -->\n <div class=\"agent-main\">\n <ngx-chat-messages #chatMessagesRef [messages]=\"messages\" (regenerateAnswer)=\"regenerateAnswer($event)\"></ngx-chat-messages>\n <ngx-chat-input #chatInputRef [messages]=\"messages\" (sendMessage)=\"onSendMessage($event)\"></ngx-chat-input>\n </div>\n</div>", styles: [":host{width:100%;height:100%}:host ::ng-deep ::-webkit-scrollbar{width:6px}:host ::ng-deep ::-webkit-scrollbar-track{background:transparent}:host ::ng-deep ::-webkit-scrollbar-thumb{background:#d1d1d1;border-radius:8px}:host ::ng-deep ::-webkit-scrollbar-thumb:hover{background:#b0b0b0}.qq-agent{width:100%;height:100%;display:flex;overflow:hidden}.qq-agent .agent-left{width:280px;height:100%;background:#F3F4F6}.qq-agent .agent-main{position:relative;width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;align-items:center}\n"], dependencies: [{ kind: "component", type: i1.ChatInputComponent, selector: "ngx-chat-input", inputs: ["messages"], outputs: ["sendMessage", "messageChange", "enter", "paste"] }, { kind: "component", type: i2.ChatMessagesComponent, selector: "ngx-chat-messages", inputs: ["messages"], outputs: ["regenerateAnswer"] }, { kind: "component", type: i3.ChatSidebarComponent, selector: "ngx-chat-sidebar" }] });
|
|
121
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxAgentChatComponent, decorators: [{
|
|
122
|
+
type: Component,
|
|
123
|
+
args: [{ selector: 'ngx-agent-chat', template: "<div class=\"qq-agent\">\n <!-- \u5DE6\u4FA7\u8FB9\u680F -->\n <ngx-chat-sidebar #chatSidebarRef></ngx-chat-sidebar>\n\n <!-- \u53F3\u4FA7\u4E3B\u5185\u5BB9 -->\n <div class=\"agent-main\">\n <ngx-chat-messages #chatMessagesRef [messages]=\"messages\" (regenerateAnswer)=\"regenerateAnswer($event)\"></ngx-chat-messages>\n <ngx-chat-input #chatInputRef [messages]=\"messages\" (sendMessage)=\"onSendMessage($event)\"></ngx-chat-input>\n </div>\n</div>", styles: [":host{width:100%;height:100%}:host ::ng-deep ::-webkit-scrollbar{width:6px}:host ::ng-deep ::-webkit-scrollbar-track{background:transparent}:host ::ng-deep ::-webkit-scrollbar-thumb{background:#d1d1d1;border-radius:8px}:host ::ng-deep ::-webkit-scrollbar-thumb:hover{background:#b0b0b0}.qq-agent{width:100%;height:100%;display:flex;overflow:hidden}.qq-agent .agent-left{width:280px;height:100%;background:#F3F4F6}.qq-agent .agent-main{position:relative;width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;align-items:center}\n"] }]
|
|
124
|
+
}], propDecorators: { baseUrl: [{
|
|
125
|
+
type: Input
|
|
126
|
+
}], token: [{
|
|
127
|
+
type: Input
|
|
128
|
+
}], chatSidebarRef: [{
|
|
129
|
+
type: ViewChild,
|
|
130
|
+
args: ['chatSidebarRef']
|
|
131
|
+
}], chatMessagesRef: [{
|
|
132
|
+
type: ViewChild,
|
|
133
|
+
args: ['chatMessagesRef']
|
|
134
|
+
}], chatInputRef: [{
|
|
135
|
+
type: ViewChild,
|
|
136
|
+
args: ['chatInputRef']
|
|
137
|
+
}] } });
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hZ2VudC9jaGF0L2NoYXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvYWdlbnQvY2hhdC9jaGF0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7O0FBWXpELE1BQU0sT0FBTyxxQkFBcUI7SUFMbEM7UUFNRTs7V0FFRztRQUNNLFlBQU8sR0FBRywyQkFBMkIsQ0FBQztRQUN0QyxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBS1osT0FBRSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ25DLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xDLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsaUJBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNqQyxXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBR2hDLGFBQVEsR0FBYyxFQUFFLENBQUMsQ0FBQyxPQUFPO0tBaUdsQztJQS9GQyxRQUFRO1FBQ04s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RTtnQkFDWCxXQUFXLEVBQUUsSUFBSTthQUNsQixDQUFDLENBQUM7WUFDSCxhQUFhLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUM5RDtRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbkQsaUJBQWlCO1lBQ2pCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRTtnQkFDL0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDdEM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O21IQWxIVSxxQkFBcUI7dUdBQXJCLHFCQUFxQiw0WkNsQmxDLDhkQVNNOzRGRFNPLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxnQkFBZ0I7OEJBUWpCLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ3VCLGNBQWM7c0JBQTFDLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUNHLGVBQWU7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUNELFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCwgTmdab25lLCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFya2Rvd25TdHJlYW1TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9tYXJrZG93bi1zdHJlYW0uc2VydmljZSc7XG5pbXBvcnQgeyBIdHRwU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvaHR0cC5zZXJ2aWNlJztcbmltcG9ydCB7IFNzZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3NzZS5zZXJ2aWNlJztcbmltcG9ydCB7IFN0b3JlU2VydmljZSB9IGZyb20gJy4vc3RvcmUvc3RvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBJU2VuZE1lc3NhZ2UgfSBmcm9tICcuL21vZGVscy9zZW5kLW1lc3NhZ2UubW9kZWwnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBDaGF0TWVzc2FnZXNDb21wb25lbnQgfSBmcm9tICcuL2NoYXQtbWVzc2FnZXMvY2hhdC1tZXNzYWdlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hhdFNpZGViYXJDb21wb25lbnQgfSBmcm9tICcuL2NoYXQtc2lkZWJhci9jaGF0LXNpZGViYXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1lc3NhZ2UgfSBmcm9tICcuL21vZGVscy9tZXNzYWdlLm1vZGVsJztcbmltcG9ydCB7IENoYXRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY2hhdC1pbnB1dC9jaGF0LWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJS25vd2xlZGdlTGlzdCB9IGZyb20gJy4vbW9kZWxzL2tub3dsZWRnZS1saXN0Lm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LWFnZW50LWNoYXQnLFxuICB0ZW1wbGF0ZVVybDogJ2NoYXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGF0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE5neEFnZW50Q2hhdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIC8qKlxuICAgKiDmjqXlj6NiYXNlVXJs6YWN572uXG4gICAqL1xuICBASW5wdXQoKSBiYXNlVXJsID0gJ2h0dHA6Ly8zOS4xMDIuNTYuMjU0OjgwODInO1xuICBASW5wdXQoKSB0b2tlbiA9ICcnO1xuICBAVmlld0NoaWxkKCdjaGF0U2lkZWJhclJlZicpIGNoYXRTaWRlYmFyUmVmITogQ2hhdFNpZGViYXJDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoJ2NoYXRNZXNzYWdlc1JlZicpIGNoYXRNZXNzYWdlc1JlZiE6IENoYXRNZXNzYWdlc0NvbXBvbmVudDtcbiAgQFZpZXdDaGlsZCgnY2hhdElucHV0UmVmJykgY2hhdElucHV0UmVmITogQ2hhdElucHV0Q29tcG9uZW50O1xuXG4gIHByaXZhdGUgbWQgPSBpbmplY3QoTWFya2Rvd25TdHJlYW1TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBodHRwU2VydmljZSA9IGluamVjdChIdHRwU2VydmljZSk7XG4gIHByaXZhdGUgc3NlU2VydmljZSA9IGluamVjdChTc2VTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzdG9yZVNlcnZpY2UgPSBpbmplY3QoU3RvcmVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcbiAgcHJpdmF0ZSBuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgcHJpdmF0ZSByZXNpemVPYnNlcnZlciE6IFJlc2l6ZU9ic2VydmVyO1xuXG4gIG1lc3NhZ2VzOiBNZXNzYWdlW10gPSBbXTsgLy8g5raI5oGv5pWw57uEXG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZVNlcnZpY2Uuc2V0VG9rZW4odGhpcy50b2tlbik7XG4gICAgdGhpcy5zdG9yZVNlcnZpY2Uuc2V0QmFzZVVybCh0aGlzLmJhc2VVcmwpO1xuICAgIHRoaXMuc3NlU2VydmljZS5jb252ZXJzYXRpb25JQ29kZSQuc3Vic2NyaWJlKGlDb2RlT2JqID0+IHtcbiAgICAgIGlmIChpQ29kZU9iaikge1xuICAgICAgICBjb25zdCBjdXJyZW50TXNnID0gdGhpcy5tZXNzYWdlc1t0aGlzLm1lc3NhZ2VzLmxlbmd0aCAtIDFdO1xuICAgICAgICBjdXJyZW50TXNnLmlDb2RlID0gaUNvZGVPYmoucXVlc3Rpb247XG4gICAgICAgIGN1cnJlbnRNc2cuYW5zd2Vyc1tjdXJyZW50TXNnLmFuc3dlckluZGV4XS5pQ29kZSA9IGlDb2RlT2JqLmFuc3dlcjtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnNzZVNlcnZpY2UudGhpbmtpbmckLnN1YnNjcmliZSh0ZXh0ID0+IHtcbiAgICAgIGlmICh0aGlzLm1lc3NhZ2VzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgY3VycmVudE1zZyA9IHRoaXMubWVzc2FnZXNbdGhpcy5tZXNzYWdlcy5sZW5ndGggLSAxXTtcbiAgICAgICAgY3VycmVudE1zZy5hbnN3ZXJzW2N1cnJlbnRNc2cuYW5zd2VySW5kZXhdLnRoaW5rID0gdGV4dDtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnNzZVNlcnZpY2UuY3VycmVudE1lc3NhZ2UkLnN1YnNjcmliZSh0ZXh0ID0+IHtcbiAgICAgIGlmICh0aGlzLm1lc3NhZ2VzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgY3VycmVudE1zZyA9IHRoaXMubWVzc2FnZXNbdGhpcy5tZXNzYWdlcy5sZW5ndGggLSAxXTtcbiAgICAgICAgY3VycmVudE1zZy5hbnN3ZXJzW2N1cnJlbnRNc2cuYW5zd2VySW5kZXhdLmNvbnRlbnQgPSB0ZXh0O1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5zdG9yZVNlcnZpY2UuY3VycmVudENvbnZlcnNhdGlvbiQuc3Vic2NyaWJlKGNvbnZlcnNhdGlvbiA9PiB7XG4gICAgICBpZiAoIWNvbnZlcnNhdGlvbikge1xuICAgICAgICB0aGlzLm1lc3NhZ2VzID0gW107XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuaHR0cFNlcnZpY2VcbiAgICAgICAgLmdldChgJHt0aGlzLnN0b3JlU2VydmljZS5nZXRCYXNlVXJsKCl9L2FwaS9DaGF0TW9kZWwvY29udmVyc2F0aW9uL3F1ZXN0aW9uc2AsIHsgaUNvZGU6IGNvbnZlcnNhdGlvbj8uaUNvZGUgfSlcbiAgICAgICAgLnN1YnNjcmliZSgocmVzOiBNZXNzYWdlW10pID0+IHtcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VzID0gcmVzLm1hcChpdGVtID0+IHtcbiAgICAgICAgICAgIGl0ZW0uYW5zd2VySW5kZXggPSAwO1xuICAgICAgICAgICAgaXRlbS5hbnN3ZXJzLmZvckVhY2goYW5zd2VyID0+IHtcbiAgICAgICAgICAgICAgYW5zd2VyLnRoaW5rRXhwYW5kID0gdHJ1ZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoZW50cmllcyA9PiB7XG4gICAgICBmb3IgKGxldCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgICAgIGNvbnN0IG5ld0hlaWdodCA9IGVudHJ5LmNvbnRlbnRSZWN0LmhlaWdodDtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmNoYXRNZXNzYWdlc1JlZi5pbnB1dEhlaWdodCA9IG5ld0hlaWdodCArIDYwO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICAvLyDlvIDlp4vnm5HlkKzovpPlhaXmoYblhYPntKBcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5jaGF0SW5wdXRSZWYuY2hhdElucHV0V3JhcHBlci5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIC8vIOmHjeaWsOeUn+aIkOWbnuetlCjku4XmnIDmlrDnmoTlm57nrZTlhYHorrjph43mlrDnlJ/miJApXG4gIHJlZ2VuZXJhdGVBbnN3ZXIobXNnOiBNZXNzYWdlKTogdm9pZCB7XG4gICAgdGhpcy5jaGF0SW5wdXRSZWYucmVnZW5lcmF0ZVNlbmQobXNnKTtcbiAgfVxuXG4gIC8vIOWPkei1t+aPkOmXruivt+axglxuICBvblNlbmRNZXNzYWdlKGV2ZW50OiB7IG1lc3NhZ2U6IElTZW5kTWVzc2FnZTsgaXNSZWdlbmVyYXRlOiBib29sZWFuIH0pIHtcbiAgICBpZiAoIWV2ZW50LmlzUmVnZW5lcmF0ZSkge1xuICAgICAgLy8g5o6o5YWl5LiA5Liq5paw6Zeu562ULGlDb2Rl5Zyo5rWB5o6l5pS25Yiw6KGl5LiKXG4gICAgICBjb25zdCBxYTogTWVzc2FnZSA9IHtcbiAgICAgICAgaUNvZGU6ICcnLFxuICAgICAgICBxdWVzdGlvbjogZXZlbnQubWVzc2FnZS5xdWVzdGlvbixcbiAgICAgICAgYW5zd2VyczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlDb2RlOiAnJyxcbiAgICAgICAgICAgIHRoaW5rOiAnJyxcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnLFxuICAgICAgICAgICAgdGhpbmtFeHBhbmQ6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgYW5zd2VySW5kZXg6IDAsXG4gICAgICB9O1xuICAgICAgdGhpcy5tZXNzYWdlcy5wdXNoKHFhKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbGF0ZXN0TWVzc2FnZSA9IHRoaXMubWVzc2FnZXNbdGhpcy5tZXNzYWdlcy5sZW5ndGggLSAxXTtcbiAgICAgIGxhdGVzdE1lc3NhZ2UuYW5zd2Vycy5wdXNoKHtcbiAgICAgICAgaUNvZGU6ICcnLFxuICAgICAgICB0aGluazogJycsXG4gICAgICAgIGNvbnRlbnQ6ICcnLFxuICAgICAgICB0aGlua0V4cGFuZDogdHJ1ZSxcbiAgICAgIH0pO1xuICAgICAgbGF0ZXN0TWVzc2FnZS5hbnN3ZXJJbmRleCA9IGxhdGVzdE1lc3NhZ2UuYW5zd2Vycy5sZW5ndGggLSAxO1xuICAgIH1cbiAgICB0aGlzLnNzZVNlcnZpY2Uuc3RyZWFtQ2hhdChldmVudC5tZXNzYWdlKS50aGVuKHJlcyA9PiB7XG4gICAgICAvLyDlvIDlkK/mlrDlr7nor53vvIzliLfmlrDlt6bkvqfljoblj7Llr7nor51cbiAgICAgIGlmICghZXZlbnQubWVzc2FnZS5jb252ZXJzYXRpb24pIHtcbiAgICAgICAgdGhpcy5jaGF0U2lkZWJhclJlZi5nZXRIaXN0b3J5KHRydWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicXEtYWdlbnRcIj5cbiAgICA8IS0tIOW3puS+p+i+ueagjyAtLT5cbiAgICA8bmd4LWNoYXQtc2lkZWJhciAjY2hhdFNpZGViYXJSZWY+PC9uZ3gtY2hhdC1zaWRlYmFyPlxuXG4gICAgPCEtLSDlj7PkvqfkuLvlhoXlrrkgLS0+XG4gICAgPGRpdiBjbGFzcz1cImFnZW50LW1haW5cIj5cbiAgICAgIDxuZ3gtY2hhdC1tZXNzYWdlcyAjY2hhdE1lc3NhZ2VzUmVmIFttZXNzYWdlc109XCJtZXNzYWdlc1wiIChyZWdlbmVyYXRlQW5zd2VyKT1cInJlZ2VuZXJhdGVBbnN3ZXIoJGV2ZW50KVwiPjwvbmd4LWNoYXQtbWVzc2FnZXM+XG4gICAgICA8bmd4LWNoYXQtaW5wdXQgI2NoYXRJbnB1dFJlZiBbbWVzc2FnZXNdPVwibWVzc2FnZXNcIiAoc2VuZE1lc3NhZ2UpPVwib25TZW5kTWVzc2FnZSgkZXZlbnQpXCI+PC9uZ3gtY2hhdC1pbnB1dD5cbiAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { NgxAgentChatComponent } from './chat.component';
|
|
4
|
+
import { ChatInputComponent } from './chat-input/chat-input.component';
|
|
5
|
+
import { ChatMessagesComponent } from './chat-messages/chat-messages.component';
|
|
6
|
+
import { NzAvatarModule } from 'ng-zorro-antd/avatar';
|
|
7
|
+
import { NzSpinModule } from 'ng-zorro-antd/spin';
|
|
8
|
+
import { ChatSidebarComponent } from './chat-sidebar/chat-sidebar.component';
|
|
9
|
+
import { NzTagModule } from 'ng-zorro-antd/tag';
|
|
10
|
+
import { FormsModule } from '@angular/forms';
|
|
11
|
+
import { NzInputModule } from 'ng-zorro-antd/input';
|
|
12
|
+
import { NzButtonModule } from 'ng-zorro-antd/button';
|
|
13
|
+
import { NzListModule } from 'ng-zorro-antd/list';
|
|
14
|
+
import { NzSliderModule } from 'ng-zorro-antd/slider';
|
|
15
|
+
import { NzLayoutModule } from 'ng-zorro-antd/layout';
|
|
16
|
+
import { NzPopoverModule } from 'ng-zorro-antd/popover';
|
|
17
|
+
import { NzRadioModule } from 'ng-zorro-antd/radio';
|
|
18
|
+
import { NzCheckboxModule } from 'ng-zorro-antd/checkbox';
|
|
19
|
+
import { NzIconModule } from 'ng-zorro-antd/icon';
|
|
20
|
+
import { MarkdownPipe } from './pipes/markdown.pipe';
|
|
21
|
+
import { NzMessageService } from 'ng-zorro-antd/message';
|
|
22
|
+
import { NzPaginationModule } from 'ng-zorro-antd/pagination';
|
|
23
|
+
import { SimplePaginationComponent } from './components/pagination/pagination.component';
|
|
24
|
+
import { HistoryGroupComponent } from './chat-sidebar/history-group/history-group.component';
|
|
25
|
+
import * as i0 from "@angular/core";
|
|
26
|
+
export class AgentChatModule {
|
|
27
|
+
}
|
|
28
|
+
AgentChatModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AgentChatModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
29
|
+
AgentChatModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: AgentChatModule, declarations: [NgxAgentChatComponent,
|
|
30
|
+
ChatInputComponent,
|
|
31
|
+
ChatMessagesComponent,
|
|
32
|
+
ChatSidebarComponent,
|
|
33
|
+
SimplePaginationComponent,
|
|
34
|
+
HistoryGroupComponent], imports: [CommonModule,
|
|
35
|
+
NzAvatarModule,
|
|
36
|
+
NzSpinModule,
|
|
37
|
+
NzTagModule,
|
|
38
|
+
NzInputModule,
|
|
39
|
+
NzButtonModule,
|
|
40
|
+
NzListModule,
|
|
41
|
+
NzSliderModule,
|
|
42
|
+
NzLayoutModule,
|
|
43
|
+
NzPopoverModule,
|
|
44
|
+
NzRadioModule,
|
|
45
|
+
NzCheckboxModule,
|
|
46
|
+
NzIconModule,
|
|
47
|
+
NzPaginationModule,
|
|
48
|
+
FormsModule,
|
|
49
|
+
MarkdownPipe], exports: [NgxAgentChatComponent] });
|
|
50
|
+
AgentChatModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AgentChatModule, providers: [NzMessageService], imports: [CommonModule,
|
|
51
|
+
NzAvatarModule,
|
|
52
|
+
NzSpinModule,
|
|
53
|
+
NzTagModule,
|
|
54
|
+
NzInputModule,
|
|
55
|
+
NzButtonModule,
|
|
56
|
+
NzListModule,
|
|
57
|
+
NzSliderModule,
|
|
58
|
+
NzLayoutModule,
|
|
59
|
+
NzPopoverModule,
|
|
60
|
+
NzRadioModule,
|
|
61
|
+
NzCheckboxModule,
|
|
62
|
+
NzIconModule,
|
|
63
|
+
NzPaginationModule,
|
|
64
|
+
FormsModule] });
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AgentChatModule, decorators: [{
|
|
66
|
+
type: NgModule,
|
|
67
|
+
args: [{
|
|
68
|
+
declarations: [
|
|
69
|
+
NgxAgentChatComponent,
|
|
70
|
+
ChatInputComponent,
|
|
71
|
+
ChatMessagesComponent,
|
|
72
|
+
ChatSidebarComponent,
|
|
73
|
+
SimplePaginationComponent,
|
|
74
|
+
HistoryGroupComponent,
|
|
75
|
+
],
|
|
76
|
+
imports: [
|
|
77
|
+
CommonModule,
|
|
78
|
+
NzAvatarModule,
|
|
79
|
+
NzSpinModule,
|
|
80
|
+
NzTagModule,
|
|
81
|
+
NzInputModule,
|
|
82
|
+
NzButtonModule,
|
|
83
|
+
NzListModule,
|
|
84
|
+
NzSliderModule,
|
|
85
|
+
NzLayoutModule,
|
|
86
|
+
NzPopoverModule,
|
|
87
|
+
NzRadioModule,
|
|
88
|
+
NzCheckboxModule,
|
|
89
|
+
NzIconModule,
|
|
90
|
+
NzPaginationModule,
|
|
91
|
+
FormsModule,
|
|
92
|
+
MarkdownPipe,
|
|
93
|
+
],
|
|
94
|
+
providers: [NzMessageService],
|
|
95
|
+
exports: [NgxAgentChatComponent],
|
|
96
|
+
}]
|
|
97
|
+
}] });
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hZ2VudC9jaGF0L2NoYXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN6RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7QUFnQzdGLE1BQU0sT0FBTyxlQUFlOzs2R0FBZixlQUFlOzhHQUFmLGVBQWUsaUJBNUJ4QixxQkFBcUI7UUFDckIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQixvQkFBb0I7UUFDcEIseUJBQXlCO1FBQ3pCLHFCQUFxQixhQUdyQixZQUFZO1FBQ1osY0FBYztRQUNkLFlBQVk7UUFDWixXQUFXO1FBQ1gsYUFBYTtRQUNiLGNBQWM7UUFDZCxZQUFZO1FBQ1osY0FBYztRQUNkLGNBQWM7UUFDZCxlQUFlO1FBQ2YsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixZQUFZO1FBQ1osa0JBQWtCO1FBQ2xCLFdBQVc7UUFDWCxZQUFZLGFBR0oscUJBQXFCOzhHQUVwQixlQUFlLGFBSGYsQ0FBQyxnQkFBZ0IsQ0FBQyxZQWpCM0IsWUFBWTtRQUNaLGNBQWM7UUFDZCxZQUFZO1FBQ1osV0FBVztRQUNYLGFBQWE7UUFDYixjQUFjO1FBQ2QsWUFBWTtRQUNaLGNBQWM7UUFDZCxjQUFjO1FBQ2QsZUFBZTtRQUNmLGFBQWE7UUFDYixnQkFBZ0I7UUFDaEIsWUFBWTtRQUNaLGtCQUFrQjtRQUNsQixXQUFXOzRGQU1GLGVBQWU7a0JBOUIzQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixxQkFBcUI7d0JBQ3JCLGtCQUFrQjt3QkFDbEIscUJBQXFCO3dCQUNyQixvQkFBb0I7d0JBQ3BCLHlCQUF5Qjt3QkFDekIscUJBQXFCO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixjQUFjO3dCQUNkLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLFdBQVc7d0JBQ1gsWUFBWTtxQkFDYjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDN0IsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ3hBZ2VudENoYXRDb21wb25lbnQgfSBmcm9tICcuL2NoYXQuY29tcG9uZW50JztcbmltcG9ydCB7IENoYXRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY2hhdC1pbnB1dC9jaGF0LWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGF0TWVzc2FnZXNDb21wb25lbnQgfSBmcm9tICcuL2NoYXQtbWVzc2FnZXMvY2hhdC1tZXNzYWdlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTnpBdmF0YXJNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2F2YXRhcic7XG5pbXBvcnQgeyBOelNwaW5Nb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3NwaW4nO1xuaW1wb3J0IHsgQ2hhdFNpZGViYXJDb21wb25lbnQgfSBmcm9tICcuL2NoYXQtc2lkZWJhci9jaGF0LXNpZGViYXIuY29tcG9uZW50JztcbmltcG9ydCB7IE56VGFnTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC90YWcnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOeklucHV0TW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9pbnB1dCc7XG5pbXBvcnQgeyBOekJ1dHRvbk1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvYnV0dG9uJztcbmltcG9ydCB7IE56TGlzdE1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvbGlzdCc7XG5pbXBvcnQgeyBOelNsaWRlck1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvc2xpZGVyJztcbmltcG9ydCB7IE56TGF5b3V0TW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9sYXlvdXQnO1xuaW1wb3J0IHsgTnpQb3BvdmVyTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9wb3BvdmVyJztcbmltcG9ydCB7IE56UmFkaW9Nb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3JhZGlvJztcbmltcG9ydCB7IE56Q2hlY2tib3hNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2NoZWNrYm94JztcbmltcG9ydCB7IE56SWNvbk1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvaWNvbic7XG5pbXBvcnQgeyBNYXJrZG93blBpcGUgfSBmcm9tICcuL3BpcGVzL21hcmtkb3duLnBpcGUnO1xuaW1wb3J0IHsgTnpNZXNzYWdlU2VydmljZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvbWVzc2FnZSc7XG5pbXBvcnQgeyBOelBhZ2luYXRpb25Nb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3BhZ2luYXRpb24nO1xuaW1wb3J0IHsgU2ltcGxlUGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IEhpc3RvcnlHcm91cENvbXBvbmVudCB9IGZyb20gJy4vY2hhdC1zaWRlYmFyL2hpc3RvcnktZ3JvdXAvaGlzdG9yeS1ncm91cC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBOZ3hBZ2VudENoYXRDb21wb25lbnQsXG4gICAgQ2hhdElucHV0Q29tcG9uZW50LFxuICAgIENoYXRNZXNzYWdlc0NvbXBvbmVudCxcbiAgICBDaGF0U2lkZWJhckNvbXBvbmVudCxcbiAgICBTaW1wbGVQYWdpbmF0aW9uQ29tcG9uZW50LFxuICAgIEhpc3RvcnlHcm91cENvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBOekF2YXRhck1vZHVsZSxcbiAgICBOelNwaW5Nb2R1bGUsXG4gICAgTnpUYWdNb2R1bGUsXG4gICAgTnpJbnB1dE1vZHVsZSxcbiAgICBOekJ1dHRvbk1vZHVsZSxcbiAgICBOekxpc3RNb2R1bGUsXG4gICAgTnpTbGlkZXJNb2R1bGUsXG4gICAgTnpMYXlvdXRNb2R1bGUsXG4gICAgTnpQb3BvdmVyTW9kdWxlLFxuICAgIE56UmFkaW9Nb2R1bGUsXG4gICAgTnpDaGVja2JveE1vZHVsZSxcbiAgICBOekljb25Nb2R1bGUsXG4gICAgTnpQYWdpbmF0aW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hcmtkb3duUGlwZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbTnpNZXNzYWdlU2VydmljZV0sXG4gIGV4cG9ydHM6IFtOZ3hBZ2VudENoYXRDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBBZ2VudENoYXRNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class SimplePaginationComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
/** 当前页码 */
|
|
6
|
+
this.current = 1;
|
|
7
|
+
/** 总页数 */
|
|
8
|
+
this.total = 1;
|
|
9
|
+
/** 当页码改变时触发 */
|
|
10
|
+
this.pageChange = new EventEmitter();
|
|
11
|
+
}
|
|
12
|
+
onPrev() {
|
|
13
|
+
if (this.current > 1) {
|
|
14
|
+
this.pageChange.emit(this.current - 1);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
onNext() {
|
|
18
|
+
if (this.current < this.total) {
|
|
19
|
+
this.pageChange.emit(this.current + 1);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
SimplePaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SimplePaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
24
|
+
SimplePaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SimplePaginationComponent, selector: "ngx-simple-pagination", inputs: { current: "current", total: "total" }, outputs: { pageChange: "pageChange" }, ngImport: i0, template: `
|
|
25
|
+
<div class="pagination-container">
|
|
26
|
+
<button
|
|
27
|
+
class="nav-btn"
|
|
28
|
+
[disabled]="current === 1"
|
|
29
|
+
(click)="onPrev()">
|
|
30
|
+
<svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2"
|
|
31
|
+
stroke-linecap="round" stroke-linejoin="round">
|
|
32
|
+
<polyline points="15 18 9 12 15 6"></polyline>
|
|
33
|
+
</svg>
|
|
34
|
+
</button>
|
|
35
|
+
|
|
36
|
+
<span class="page-info">
|
|
37
|
+
<span class="current">{{ current }}</span>
|
|
38
|
+
<span class="separator">/</span>
|
|
39
|
+
<span class="total">{{ total }}</span>
|
|
40
|
+
</span>
|
|
41
|
+
|
|
42
|
+
<button
|
|
43
|
+
class="nav-btn"
|
|
44
|
+
[disabled]="current === total"
|
|
45
|
+
(click)="onNext()">
|
|
46
|
+
<svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2"
|
|
47
|
+
stroke-linecap="round" stroke-linejoin="round">
|
|
48
|
+
<polyline points="9 18 15 12 9 6"></polyline>
|
|
49
|
+
</svg>
|
|
50
|
+
</button>
|
|
51
|
+
</div>
|
|
52
|
+
`, isInline: true, styles: [":host{display:inline-block}.pagination-container{display:flex;align-items:center;gap:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-user-select:none;user-select:none;color:#606266}.nav-btn{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#909399;transition:color .2s,background-color .2s;border-radius:4px}.nav-btn:hover:not(:disabled){color:#303133;background-color:#f0f2f5}.nav-btn:disabled{cursor:not-allowed;color:#dcdfe6;opacity:.6}.page-info{font-size:14px;font-weight:500;letter-spacing:1px;color:#606266;display:flex;align-items:center;gap:4px}.separator{color:#909399}\n"] });
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SimplePaginationComponent, decorators: [{
|
|
54
|
+
type: Component,
|
|
55
|
+
args: [{ selector: 'ngx-simple-pagination', template: `
|
|
56
|
+
<div class="pagination-container">
|
|
57
|
+
<button
|
|
58
|
+
class="nav-btn"
|
|
59
|
+
[disabled]="current === 1"
|
|
60
|
+
(click)="onPrev()">
|
|
61
|
+
<svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2"
|
|
62
|
+
stroke-linecap="round" stroke-linejoin="round">
|
|
63
|
+
<polyline points="15 18 9 12 15 6"></polyline>
|
|
64
|
+
</svg>
|
|
65
|
+
</button>
|
|
66
|
+
|
|
67
|
+
<span class="page-info">
|
|
68
|
+
<span class="current">{{ current }}</span>
|
|
69
|
+
<span class="separator">/</span>
|
|
70
|
+
<span class="total">{{ total }}</span>
|
|
71
|
+
</span>
|
|
72
|
+
|
|
73
|
+
<button
|
|
74
|
+
class="nav-btn"
|
|
75
|
+
[disabled]="current === total"
|
|
76
|
+
(click)="onNext()">
|
|
77
|
+
<svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2"
|
|
78
|
+
stroke-linecap="round" stroke-linejoin="round">
|
|
79
|
+
<polyline points="9 18 15 12 9 6"></polyline>
|
|
80
|
+
</svg>
|
|
81
|
+
</button>
|
|
82
|
+
</div>
|
|
83
|
+
`, styles: [":host{display:inline-block}.pagination-container{display:flex;align-items:center;gap:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-user-select:none;user-select:none;color:#606266}.nav-btn{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#909399;transition:color .2s,background-color .2s;border-radius:4px}.nav-btn:hover:not(:disabled){color:#303133;background-color:#f0f2f5}.nav-btn:disabled{cursor:not-allowed;color:#dcdfe6;opacity:.6}.page-info{font-size:14px;font-weight:500;letter-spacing:1px;color:#606266;display:flex;align-items:center;gap:4px}.separator{color:#909399}\n"] }]
|
|
84
|
+
}], propDecorators: { current: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], total: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], pageChange: [{
|
|
89
|
+
type: Output
|
|
90
|
+
}] } });
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZ2VudC9jaGF0L2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQXlGdkUsTUFBTSxPQUFPLHlCQUF5QjtJQXRGdEM7UUF1RkUsV0FBVztRQUNGLFlBQU8sR0FBVyxDQUFDLENBQUM7UUFFN0IsVUFBVTtRQUNELFVBQUssR0FBVyxDQUFDLENBQUM7UUFFM0IsZUFBZTtRQUNMLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0tBYW5EO0lBWEMsTUFBTTtRQUNKLElBQUksSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN4QztJQUNILENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN4QztJQUNILENBQUM7O3VIQXBCVSx5QkFBeUI7MkdBQXpCLHlCQUF5QixvSkFwRjFCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNEJUOzRGQXdEVSx5QkFBeUI7a0JBdEZyQyxTQUFTOytCQUNFLHVCQUF1QixZQUN2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRCVDs4QkEwRFEsT0FBTztzQkFBZixLQUFLO2dCQUdHLEtBQUs7c0JBQWIsS0FBSztnQkFHSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1zaW1wbGUtcGFnaW5hdGlvbicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cInBhZ2luYXRpb24tY29udGFpbmVyXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJuYXYtYnRuXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiY3VycmVudCA9PT0gMVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uUHJldigpXCI+XG4gICAgICAgIDxzdmcgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiXG4gICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+XG4gICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz1cIjE1IDE4IDkgMTIgMTUgNlwiPjwvcG9seWxpbmU+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9idXR0b24+XG5cbiAgICAgIDxzcGFuIGNsYXNzPVwicGFnZS1pbmZvXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY3VycmVudFwiPnt7IGN1cnJlbnQgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2VwYXJhdG9yXCI+Lzwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b3RhbFwiPnt7IHRvdGFsIH19PC9zcGFuPlxuICAgICAgPC9zcGFuPlxuXG4gICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJuYXYtYnRuXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiY3VycmVudCA9PT0gdG90YWxcIlxuICAgICAgICAgIChjbGljayk9XCJvbk5leHQoKVwiPlxuICAgICAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIlxuICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiPlxuICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9XCI5IDE4IDE1IDEyIDkgNlwiPjwvcG9seWxpbmU+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW2BcbiAgICA6aG9zdCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24tY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiA4cHg7IC8qIOiwg+aVtOmXtOi3nSAqL1xuICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTsgLyog6Ziy5q2i54K55Ye76L+H5b+r6YCJ5Lit5paH5a2XICovXG4gICAgICBjb2xvcjogIzYwNjI2NjtcbiAgICB9XG5cbiAgICAvKiDmjInpkq7moLflvI8gKi9cbiAgICAubmF2LWJ0biB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgcGFkZGluZzogNHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGNvbG9yOiAjOTA5Mzk5OyAvKiDpu5jorqTngbDoibIgKi9cbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMsIGJhY2tncm91bmQtY29sb3IgMC4ycztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB9XG5cbiAgICAubmF2LWJ0bjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBjb2xvcjogIzMwMzEzMzsgLyog5oKs5YGc5Y+Y5rex6ImyICovXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMmY1O1xuICAgIH1cblxuICAgIC5uYXYtYnRuOmRpc2FibGVkIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICBjb2xvcjogI2RjZGZlNjsgLyog56aB55So54q25oCB5piv6Z2e5bi45rWF55qE54Gw6ImyICovXG4gICAgICBvcGFjaXR5OiAwLjY7XG4gICAgfVxuXG4gICAgLyog5paH5a2X5qC35byPICovXG4gICAgLnBhZ2UtaW5mbyB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgIGNvbG9yOiAjNjA2MjY2O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDRweDtcbiAgICB9XG5cbiAgICAuc2VwYXJhdG9yIHtcbiAgICAgIGNvbG9yOiAjOTA5Mzk5OyAvKiDliIbpmpTnrKbpopzoibLnqI3mt6EgKi9cbiAgICB9XG4gIGBdXG59KVxuZXhwb3J0IGNsYXNzIFNpbXBsZVBhZ2luYXRpb25Db21wb25lbnQge1xuICAvKiog5b2T5YmN6aG156CBICovXG4gIEBJbnB1dCgpIGN1cnJlbnQ6IG51bWJlciA9IDE7XG5cbiAgLyoqIOaAu+mhteaVsCAqL1xuICBASW5wdXQoKSB0b3RhbDogbnVtYmVyID0gMTtcblxuICAvKiog5b2T6aG156CB5pS55Y+Y5pe26Kem5Y+RICovXG4gIEBPdXRwdXQoKSBwYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgb25QcmV2KCkge1xuICAgIGlmICh0aGlzLmN1cnJlbnQgPiAxKSB7XG4gICAgICB0aGlzLnBhZ2VDaGFuZ2UuZW1pdCh0aGlzLmN1cnJlbnQgLSAxKTtcbiAgICB9XG4gIH1cblxuICBvbk5leHQoKSB7XG4gICAgaWYgKHRoaXMuY3VycmVudCA8IHRoaXMudG90YWwpIHtcbiAgICAgIHRoaXMucGFnZUNoYW5nZS5lbWl0KHRoaXMuY3VycmVudCArIDEpO1xuICAgIH1cbiAgfVxufSJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWdlbnQvY2hhdC9tb2RlbHMvY29udmVyc2F0aW9uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIENvbnZlcnNhdGlvbiB7XG4gICAgLyoqXG4gICAgICog5Lya6K+d5ZSv5LiA57yW56CBXG4gICAgICovXG4gICAgaUNvZGU6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiDkvJror53lkI3np7BcbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICog5Lya6K+d5pe26Ze077yI5pyA5paw77yJXG4gICAgICovXG4gICAgdGltZT86IG51bWJlcjtcblxuICAgIGlzQWN0aXZlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb252ZXJzYXRpb25Hcm91cCB7XG4gICAgZGF0ZUxhYmVsOiBzdHJpbmc7IC8vIOS+i+WmgiBcIuS7iuWkqVwiLCBcIjIwMjUtMTEtMThcIlxuICAgIGV4cGFuZGVkOiBib29sZWFuO1xuICAgIGl0ZW1zOiBDb252ZXJzYXRpb25bXTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia25vd2xlZGdlLWxpc3QubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZ2VudC9jaGF0L21vZGVscy9rbm93bGVkZ2UtbGlzdC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiDlj6/pgInnn6Xor4blupPliJfooahcbiAqL1xuZXhwb3J0IHR5cGUgSUtub3dsZWRnZUxpc3QgPSBJS25vd2xlZGdlW107XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUtub3dsZWRnZSB7XG4gICAgaUNvZGU6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG59Il19
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
// export interface Message {
|
|
3
|
+
// sender: 'human' | 'assistant';
|
|
4
|
+
// /**
|
|
5
|
+
// * 主体消息
|
|
6
|
+
// */
|
|
7
|
+
// message: string;
|
|
8
|
+
// /**
|
|
9
|
+
// * 思考部分内容
|
|
10
|
+
// */
|
|
11
|
+
// thinking?: string;
|
|
12
|
+
// /**
|
|
13
|
+
// * 思考是否展开
|
|
14
|
+
// */
|
|
15
|
+
// thinkingExpand?: boolean;
|
|
16
|
+
// /**
|
|
17
|
+
// * 重新生成(多条回答内容)
|
|
18
|
+
// */
|
|
19
|
+
// multipleRes?: MultipleRes[];
|
|
20
|
+
// responseId?: string;
|
|
21
|
+
// requestMetadata?: RequestMetadata;
|
|
22
|
+
// createTime?: string;
|
|
23
|
+
// timestamp?: Date;
|
|
24
|
+
// }
|
|
25
|
+
//
|
|
26
|
+
// export interface RequestMetadata {
|
|
27
|
+
// mode?: string;
|
|
28
|
+
// model?: string;
|
|
29
|
+
// }
|
|
30
|
+
//
|
|
31
|
+
// export interface MultipleRes {
|
|
32
|
+
// thinking?: string;
|
|
33
|
+
// message?: string;
|
|
34
|
+
// }
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FnZW50L2NoYXQvbW9kZWxzL21lc3NhZ2UubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQTRDQSw2QkFBNkI7QUFDN0IscUNBQXFDO0FBQ3JDLFVBQVU7QUFDVixjQUFjO0FBQ2QsVUFBVTtBQUNWLHVCQUF1QjtBQUN2QixVQUFVO0FBQ1YsZ0JBQWdCO0FBQ2hCLFVBQVU7QUFDVix5QkFBeUI7QUFDekIsVUFBVTtBQUNWLGdCQUFnQjtBQUNoQixVQUFVO0FBQ1YsZ0NBQWdDO0FBQ2hDLFVBQVU7QUFDVixzQkFBc0I7QUFDdEIsVUFBVTtBQUNWLG1DQUFtQztBQUNuQywyQkFBMkI7QUFDM0IseUNBQXlDO0FBQ3pDLDJCQUEyQjtBQUMzQix3QkFBd0I7QUFDeEIsSUFBSTtBQUNKLEVBQUU7QUFDRixxQ0FBcUM7QUFDckMscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QixJQUFJO0FBQ0osRUFBRTtBQUNGLGlDQUFpQztBQUNqQyx5QkFBeUI7QUFDekIsd0JBQXdCO0FBQ3hCLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZSB7XG4gICAgaUNvZGU6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiDmj5Dpl67lhoXlrrlcbiAgICAgKi9cbiAgICBxdWVzdGlvbjogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIOaPkOmXruaXtumXtFxuICAgICAqL1xuICAgIHRpbWU/OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICog5Zue562U5YiX6KGoXG4gICAgICovXG4gICAgYW5zd2VyczogQW5zd2VyW107XG4gICAgLyoqXG4gICAgICog5b2T5YmN5pi+56S655qE5Zue562UaW5kZXhcbiAgICAgKi9cbiAgICBhbnN3ZXJJbmRleDogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIOW9k+WJjeaYvuekuueahOWbnuetlFxuICAgICAqL1xuICAgIGN1cnJlbnRBbnN3ZXI/OiBBbnN3ZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQW5zd2VyIHtcbiAgICAvKipcbiAgICAgKiDlm57nrZTllK/kuIDnvJbnoIFcbiAgICAgKi9cbiAgICBpQ29kZTogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIOaAneiAg+WGheWuuVxuICAgICAqL1xuICAgIHRoaW5rOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICog5Zue562U5Li75L2T5YaF5a65XG4gICAgICovXG4gICAgY29udGVudDogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIOaAneiAg+aYr+WQpuWxleW8gFxuICAgICAqL1xuICAgIHRoaW5rRXhwYW5kPzogYm9vbGVhbjtcbn1cblxuLy8gZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlIHtcbi8vICAgICBzZW5kZXI6ICdodW1hbicgfCAnYXNzaXN0YW50Jztcbi8vICAgICAvKipcbi8vICAgICAgKiDkuLvkvZPmtojmga9cbi8vICAgICAgKi9cbi8vICAgICBtZXNzYWdlOiBzdHJpbmc7XG4vLyAgICAgLyoqXG4vLyAgICAgICog5oCd6ICD6YOo5YiG5YaF5a65XG4vLyAgICAgICovXG4vLyAgICAgdGhpbmtpbmc/OiBzdHJpbmc7XG4vLyAgICAgLyoqXG4vLyAgICAgICog5oCd6ICD5piv5ZCm5bGV5byAXG4vLyAgICAgICovXG4vLyAgICAgdGhpbmtpbmdFeHBhbmQ/OiBib29sZWFuO1xuLy8gICAgIC8qKlxuLy8gICAgICAqIOmHjeaWsOeUn+aIkO+8iOWkmuadoeWbnuetlOWGheWuue+8iVxuLy8gICAgICAqL1xuLy8gICAgIG11bHRpcGxlUmVzPzogTXVsdGlwbGVSZXNbXTtcbi8vICAgICByZXNwb25zZUlkPzogc3RyaW5nO1xuLy8gICAgIHJlcXVlc3RNZXRhZGF0YT86IFJlcXVlc3RNZXRhZGF0YTtcbi8vICAgICBjcmVhdGVUaW1lPzogc3RyaW5nO1xuLy8gICAgIHRpbWVzdGFtcD86IERhdGU7XG4vLyB9XG4vL1xuLy8gZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0TWV0YWRhdGEge1xuLy8gICAgIG1vZGU/OiBzdHJpbmc7XG4vLyAgICAgbW9kZWw/OiBzdHJpbmc7XG4vLyB9XG4vL1xuLy8gZXhwb3J0IGludGVyZmFjZSBNdWx0aXBsZVJlcyB7XG4vLyAgICAgdGhpbmtpbmc/OiBzdHJpbmc7XG4vLyAgICAgbWVzc2FnZT86IHN0cmluZztcbi8vIH0iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FnZW50L2NoYXQvbW9kZWxzL21vZGVsLWxpc3QubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICog5Y+v6YCJ5qih5Z6L5YiX6KGoXG4gKi9cbmV4cG9ydCB0eXBlIElNb2RlbExpc3QgPSBJTW9kZWxbXTtcblxuZXhwb3J0IGludGVyZmFjZSBJTW9kZWwge1xuICAgIGlDb2RlOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHRoaW5rOiBzdHJpbmc7XG59Il19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXNzYWdlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWdlbnQvY2hhdC9tb2RlbHMvc2VuZC1tZXNzYWdlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIOS6uuW3peaPkOmXruWPguaVsFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElTZW5kTWVzc2FnZSB7XG4gICAgLyoqXG4gICAgICog5Lya6K+d5ZSv5LiA57yW56CBXG4gICAgICovXG4gICAgY29udmVyc2F0aW9uPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIOmXrumimOWUr+S4gOe8lueggSjph43mlrDnlJ/miJDlm57nrZTlv4XloaspXG4gICAgICovXG4gICAgcXVlc3Rpb25JQ29kZT86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiDmqKHlnovllK/kuIDnvJbnoIFcbiAgICAgKi9cbiAgICBtb2RlbDogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIOaYr+WQpumcgOimgea3seW6puaAneiAg1xuICAgICAqL1xuICAgIHRoaW5rOiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIOmXrumimOWGheWuuVxuICAgICAqL1xuICAgIHF1ZXN0aW9uOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICog5piv5ZCm566h55CG55+l6K+G5bqTXG4gICAgICovXG4gICAga25vd2xlZGdlOiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIOWFs+iBlOeahOefpeivhuW6k1xuICAgICAqL1xuICAgIGtub3dsZWRnZUxpc3Q6IHN0cmluZ1tdO1xufSJdfQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { inject, Pipe } from '@angular/core';
|
|
2
|
+
import { MarkdownStreamService } from '../services/markdown-stream.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class MarkdownPipe {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.md = inject(MarkdownStreamService);
|
|
7
|
+
}
|
|
8
|
+
transform(value) {
|
|
9
|
+
if (value !== null && value !== undefined) {
|
|
10
|
+
return this.md.renderIncremental(value);
|
|
11
|
+
}
|
|
12
|
+
return value;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
MarkdownPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MarkdownPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
16
|
+
MarkdownPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: MarkdownPipe, isStandalone: true, name: "markdown" });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MarkdownPipe, decorators: [{
|
|
18
|
+
type: Pipe,
|
|
19
|
+
args: [{
|
|
20
|
+
name: 'markdown',
|
|
21
|
+
standalone: true,
|
|
22
|
+
}]
|
|
23
|
+
}] });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FnZW50L2NoYXQvcGlwZXMvbWFya2Rvd24ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBTTVFLE1BQU0sT0FBTyxZQUFZO0lBSnpCO1FBS1UsT0FBRSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0tBUTVDO0lBTkMsU0FBUyxDQUFDLEtBQVU7UUFDbEIsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7WUFDekMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzswR0FSVSxZQUFZO3dHQUFaLFlBQVk7NEZBQVosWUFBWTtrQkFKeEIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXJrZG93blN0cmVhbVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9tYXJrZG93bi1zdHJlYW0uc2VydmljZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ21hcmtkb3duJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTWFya2Rvd25QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHByaXZhdGUgbWQgPSBpbmplY3QoTWFya2Rvd25TdHJlYW1TZXJ2aWNlKTtcblxuICB0cmFuc2Zvcm0odmFsdWU6IGFueSk6IGFueSB7XG4gICAgaWYgKHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLm1kLnJlbmRlckluY3JlbWVudGFsKHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './chat.module';
|
|
2
|
+
export * from './chat.component';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FnZW50L2NoYXQvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGtCQUFrQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgKiBmcm9tICcuL2NoYXQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY2hhdC5jb21wb25lbnQnIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXFzbC1hZ2VudC1jaGF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYWdlbnQvY2hhdC9xcXNsLWFnZW50LWNoYXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|