@libs-ui/components-inputs-quill2x 0.2.357-16 → 0.2.357-18
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 +43 -0
- package/blots-custom/mention2x.component.d.ts +2 -0
- package/esm2022/blots-custom/mention2x.component.mjs +42 -2
- package/esm2022/interfaces/quill2x.interface.mjs +1 -1
- package/esm2022/quill2x.component.mjs +19 -10
- package/fesm2022/libs-ui-components-inputs-quill2x.mjs +59 -10
- package/fesm2022/libs-ui-components-inputs-quill2x.mjs.map +1 -1
- package/interfaces/quill2x.interface.d.ts +12 -0
- package/package.json +20 -20
package/README.md
CHANGED
|
@@ -216,6 +216,40 @@ export class MyComponent {
|
|
|
216
216
|
</libs_ui-components-inputs-quill2x>
|
|
217
217
|
```
|
|
218
218
|
|
|
219
|
+
#### 3.1. Mention dạng chip (icon + nhãn)
|
|
220
|
+
|
|
221
|
+
Mặc định node mention render text thuần (giá trị trả về từ `mentionSelect`). Truyền thêm `mentionInsertData` trả về key `chip` — chuỗi JSON của `Array<IQuill2xMentionChipPiece>` — để blot dựng chip pill (icon + nhãn) thay cho text.
|
|
222
|
+
|
|
223
|
+
```typescript
|
|
224
|
+
// component.ts
|
|
225
|
+
import { IMentionConfig } from '@libs-ui/components-inputs-mention';
|
|
226
|
+
import { IQuill2xMentionChipPiece } from '@libs-ui/components-inputs-quill2x';
|
|
227
|
+
|
|
228
|
+
protected mentionConfig: IMentionConfig = {
|
|
229
|
+
items: [{ id: '1', name: 'Deal ABC' }],
|
|
230
|
+
triggerChar: '@',
|
|
231
|
+
labelKey: 'name',
|
|
232
|
+
mentionSelect: (item: Record<string, string>) => `@${item['name']}`,
|
|
233
|
+
mentionInsertData: (item: Record<string, string>) => {
|
|
234
|
+
const pieces: Array<IQuill2xMentionChipPiece> = [
|
|
235
|
+
{ className: 'libs-ui-icon-deal' },
|
|
236
|
+
{ className: 'libs-ui-font-h7r', text: item['name'] },
|
|
237
|
+
];
|
|
238
|
+
|
|
239
|
+
return { chip: JSON.stringify(pieces) };
|
|
240
|
+
},
|
|
241
|
+
};
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
| Hành vi | Kết quả |
|
|
245
|
+
|---|---|
|
|
246
|
+
| Không truyền `mentionInsertData` | Node mention giữ nguyên text thuần (không breaking change) |
|
|
247
|
+
| `chip` là JSON mảng hợp lệ | Render `<span>` wrapper dạng pill, mỗi piece là 1 `<span>` con |
|
|
248
|
+
| `chip` JSON hỏng hoặc mảng rỗng | Fallback về text `value` như mention thường |
|
|
249
|
+
| Nội dung piece | Gán bằng `textContent` — không dùng `innerHTML`, an toàn XSS |
|
|
250
|
+
|
|
251
|
+
> ⚠️ **Chip được persist trong HTML**: attribute `chip` nằm trên node mention và được `static value()` đọc lại, nên nội dung lưu xuống DB và load lại vẫn giữ đúng chip.
|
|
252
|
+
|
|
219
253
|
### 4. Upload ảnh — custom upload function
|
|
220
254
|
|
|
221
255
|
```typescript
|
|
@@ -452,6 +486,7 @@ import {
|
|
|
452
486
|
IQuill2xBlotRegister,
|
|
453
487
|
IQuill2xSelectionChange,
|
|
454
488
|
IQuill2xTextChange,
|
|
489
|
+
IQuill2xMentionChipPiece,
|
|
455
490
|
QUILL2X_TYPE_MODE_BAR_CONFIG_OPTION,
|
|
456
491
|
} from '@libs-ui/components-inputs-quill2x';
|
|
457
492
|
import { WritableSignal } from '@angular/core';
|
|
@@ -548,6 +583,14 @@ interface IQuill2xTextChange {
|
|
|
548
583
|
quill: Quill2x;
|
|
549
584
|
delta: Delta;
|
|
550
585
|
}
|
|
586
|
+
|
|
587
|
+
// 1 mảnh nội dung trong chip mention — xem ví dụ 3.1
|
|
588
|
+
// Mảnh icon: chỉ cần className. Mảnh nhãn: className (tuỳ chọn) + text.
|
|
589
|
+
// Mảng các mảnh này được JSON.stringify rồi truyền qua IMentionItem.mentionInsertData() dưới key `chip`.
|
|
590
|
+
interface IQuill2xMentionChipPiece {
|
|
591
|
+
className?: string;
|
|
592
|
+
text?: string;
|
|
593
|
+
}
|
|
551
594
|
```
|
|
552
595
|
|
|
553
596
|
## Utility Functions
|
|
@@ -7,8 +7,10 @@ export declare class QuillMention2xBlot extends Embed {
|
|
|
7
7
|
id: string;
|
|
8
8
|
feId: string;
|
|
9
9
|
value: string;
|
|
10
|
+
chip?: string;
|
|
10
11
|
}): any;
|
|
11
12
|
static value(domNode: HTMLElement): {
|
|
13
|
+
chip?: string | undefined;
|
|
12
14
|
id: string | null;
|
|
13
15
|
feId: string | null;
|
|
14
16
|
value: string | null;
|
|
@@ -1,23 +1,63 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
import Quill2x from 'quill2x';
|
|
3
3
|
const Embed = Quill2x.import('blots/embed');
|
|
4
|
+
// Đặt trên WRAPPER riêng vì Embed constructor của quill 2 sẽ bọc children vào contentNode — style
|
|
5
|
+
// để trên node ngoài sẽ không còn ôm trực tiếp các piece sau khi bị bọc.
|
|
6
|
+
const CHIP_WRAPPER_STYLE = 'display:inline-flex;align-items:center;gap:4px;padding:0 6px;height:20px;max-width:100%;overflow:hidden;border-radius:4px;background:#f1f3f5;vertical-align:middle;white-space:nowrap;user-select:none';
|
|
7
|
+
// Dựng nội dung chip từ attr `chip` (JSON mảng pieces) — textContent thuần, KHÔNG innerHTML (an toàn XSS).
|
|
8
|
+
// JSON hỏng → fallback hiển thị text `value` như blot thường.
|
|
9
|
+
const buildChipContent = (node, chip, value) => {
|
|
10
|
+
let pieces;
|
|
11
|
+
try {
|
|
12
|
+
pieces = JSON.parse(chip);
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
node.innerText += value;
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
if (!Array.isArray(pieces) || !pieces.length) {
|
|
19
|
+
node.innerText += value;
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const wrapper = document.createElement('span');
|
|
23
|
+
wrapper.setAttribute('style', CHIP_WRAPPER_STYLE);
|
|
24
|
+
pieces.forEach((piece) => {
|
|
25
|
+
const span = document.createElement('span');
|
|
26
|
+
if (piece.className) {
|
|
27
|
+
span.className = piece.className;
|
|
28
|
+
}
|
|
29
|
+
if (piece.text !== undefined) {
|
|
30
|
+
span.textContent = piece.text;
|
|
31
|
+
}
|
|
32
|
+
wrapper.appendChild(span);
|
|
33
|
+
});
|
|
34
|
+
node.appendChild(wrapper);
|
|
35
|
+
};
|
|
4
36
|
export class QuillMention2xBlot extends Embed {
|
|
5
37
|
static blotName = 'mention';
|
|
6
38
|
static tagName = 'span';
|
|
7
39
|
static className = 'libs-ui-quill-mention';
|
|
8
40
|
static create(data) {
|
|
9
41
|
const node = super.create();
|
|
10
|
-
node.innerText += data.value;
|
|
11
42
|
node.setAttribute('id', data.id);
|
|
12
43
|
node.setAttribute('feId', data.feId);
|
|
13
44
|
node.setAttribute('value', data.value);
|
|
45
|
+
if (data.chip) {
|
|
46
|
+
// Chip giàu (icon + nhãn) — pieces do consumer cấp qua IMentionItem.mentionInsertData.
|
|
47
|
+
node.setAttribute('chip', data.chip);
|
|
48
|
+
buildChipContent(node, data.chip, data.value);
|
|
49
|
+
return node;
|
|
50
|
+
}
|
|
51
|
+
node.innerText += data.value;
|
|
14
52
|
return node;
|
|
15
53
|
}
|
|
16
54
|
static value(domNode) {
|
|
55
|
+
const chip = domNode.getAttribute('chip');
|
|
17
56
|
return {
|
|
18
57
|
id: domNode.getAttribute('id'),
|
|
19
58
|
feId: domNode.getAttribute('feId'),
|
|
20
59
|
value: domNode.getAttribute('value'),
|
|
60
|
+
...(chip ? { chip } : {}),
|
|
21
61
|
};
|
|
22
62
|
}
|
|
23
63
|
attach() {
|
|
@@ -32,4 +72,4 @@ export class QuillMention2xBlot extends Embed {
|
|
|
32
72
|
event.stopPropagation();
|
|
33
73
|
}
|
|
34
74
|
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudGlvbjJ4LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9pbnB1dHMvcXVpbGwyeC9zcmMvYmxvdHMtY3VzdG9tL21lbnRpb24yeC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sT0FBTyxNQUFNLFNBQVMsQ0FBQztBQUc5QixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBUSxDQUFDO0FBRW5ELGtHQUFrRztBQUNsRyx5RUFBeUU7QUFDekUsTUFBTSxrQkFBa0IsR0FBRyx3TUFBd00sQ0FBQztBQUVwTywyR0FBMkc7QUFDM0csOERBQThEO0FBQzlELE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxJQUFpQixFQUFFLElBQVksRUFBRSxLQUFhLEVBQVEsRUFBRTtJQUNoRixJQUFJLE1BQXVDLENBQUM7SUFDNUMsSUFBSSxDQUFDO1FBQ0gsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLElBQUksQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDO1FBQ3hCLE9BQU87SUFDVCxDQUFDO0lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUM7UUFDeEIsT0FBTztJQUNULENBQUM7SUFDRCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9DLE9BQU8sQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDbEQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ3ZCLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUMsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO1FBQ25DLENBQUM7UUFDRCxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ2hDLENBQUM7UUFDRCxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM1QixDQUFDLENBQUM7QUFFRixNQUFNLE9BQU8sa0JBQW1CLFNBQVEsS0FBSztJQUMzQyxNQUFNLENBQVUsUUFBUSxHQUFHLFNBQVMsQ0FBQztJQUNyQyxNQUFNLENBQVUsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUNqQyxNQUFNLENBQVUsU0FBUyxHQUFHLHVCQUF1QixDQUFDO0lBQ3BELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBZ0U7UUFDNUUsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2QsdUZBQXVGO1lBQ3ZGLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBb0I7UUFDL0IsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxPQUFPO1lBQ0wsRUFBRSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQzlCLElBQUksRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztZQUNsQyxLQUFLLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7WUFDcEMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQzFCLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTTtRQUNKLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbkUsQ0FBQztJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsS0FBWTtRQUMxQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCBRdWlsbDJ4IGZyb20gJ3F1aWxsMngnO1xuaW1wb3J0IHsgSVF1aWxsMnhNZW50aW9uQ2hpcFBpZWNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9xdWlsbDJ4LmludGVyZmFjZSc7XG5cbmNvbnN0IEVtYmVkID0gUXVpbGwyeC5pbXBvcnQoJ2Jsb3RzL2VtYmVkJykgYXMgYW55O1xuXG4vLyDEkOG6t3QgdHLDqm4gV1JBUFBFUiByacOqbmcgdsOsIEVtYmVkIGNvbnN0cnVjdG9yIGPhu6dhIHF1aWxsIDIgc+G6vSBi4buNYyBjaGlsZHJlbiB2w6BvIGNvbnRlbnROb2RlIOKAlCBzdHlsZVxuLy8gxJHhu4MgdHLDqm4gbm9kZSBuZ2/DoGkgc+G6vSBraMO0bmcgY8OybiDDtG0gdHLhu7FjIHRp4bq/cCBjw6FjIHBpZWNlIHNhdSBraGkgYuG7iyBi4buNYy5cbmNvbnN0IENISVBfV1JBUFBFUl9TVFlMRSA9ICdkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NHB4O3BhZGRpbmc6MCA2cHg7aGVpZ2h0OjIwcHg7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlci1yYWRpdXM6NHB4O2JhY2tncm91bmQ6I2YxZjNmNTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2hpdGUtc3BhY2U6bm93cmFwO3VzZXItc2VsZWN0Om5vbmUnO1xuXG4vLyBE4buxbmcgbuG7mWkgZHVuZyBjaGlwIHThu6sgYXR0ciBgY2hpcGAgKEpTT04gbeG6o25nIHBpZWNlcykg4oCUIHRleHRDb250ZW50IHRodeG6p24sIEtIw5RORyBpbm5lckhUTUwgKGFuIHRvw6BuIFhTUykuXG4vLyBKU09OIGjhu49uZyDihpIgZmFsbGJhY2sgaGnhu4NuIHRo4buLIHRleHQgYHZhbHVlYCBuaMawIGJsb3QgdGjGsOG7nW5nLlxuY29uc3QgYnVpbGRDaGlwQ29udGVudCA9IChub2RlOiBIVE1MRWxlbWVudCwgY2hpcDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCA9PiB7XG4gIGxldCBwaWVjZXM6IEFycmF5PElRdWlsbDJ4TWVudGlvbkNoaXBQaWVjZT47XG4gIHRyeSB7XG4gICAgcGllY2VzID0gSlNPTi5wYXJzZShjaGlwKTtcbiAgfSBjYXRjaCB7XG4gICAgbm9kZS5pbm5lclRleHQgKz0gdmFsdWU7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmICghQXJyYXkuaXNBcnJheShwaWVjZXMpIHx8ICFwaWVjZXMubGVuZ3RoKSB7XG4gICAgbm9kZS5pbm5lclRleHQgKz0gdmFsdWU7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IHdyYXBwZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gIHdyYXBwZXIuc2V0QXR0cmlidXRlKCdzdHlsZScsIENISVBfV1JBUFBFUl9TVFlMRSk7XG4gIHBpZWNlcy5mb3JFYWNoKChwaWVjZSkgPT4ge1xuICAgIGNvbnN0IHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgaWYgKHBpZWNlLmNsYXNzTmFtZSkge1xuICAgICAgc3Bhbi5jbGFzc05hbWUgPSBwaWVjZS5jbGFzc05hbWU7XG4gICAgfVxuICAgIGlmIChwaWVjZS50ZXh0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHNwYW4udGV4dENvbnRlbnQgPSBwaWVjZS50ZXh0O1xuICAgIH1cbiAgICB3cmFwcGVyLmFwcGVuZENoaWxkKHNwYW4pO1xuICB9KTtcbiAgbm9kZS5hcHBlbmRDaGlsZCh3cmFwcGVyKTtcbn07XG5cbmV4cG9ydCBjbGFzcyBRdWlsbE1lbnRpb24yeEJsb3QgZXh0ZW5kcyBFbWJlZCB7XG4gIHN0YXRpYyByZWFkb25seSBibG90TmFtZSA9ICdtZW50aW9uJztcbiAgc3RhdGljIHJlYWRvbmx5IHRhZ05hbWUgPSAnc3Bhbic7XG4gIHN0YXRpYyByZWFkb25seSBjbGFzc05hbWUgPSAnbGlicy11aS1xdWlsbC1tZW50aW9uJztcbiAgc3RhdGljIGNyZWF0ZShkYXRhOiB7IGlkOiBzdHJpbmc7IGZlSWQ6IHN0cmluZzsgdmFsdWU6IHN0cmluZzsgY2hpcD86IHN0cmluZyB9KSB7XG4gICAgY29uc3Qgbm9kZSA9IHN1cGVyLmNyZWF0ZSgpO1xuICAgIG5vZGUuc2V0QXR0cmlidXRlKCdpZCcsIGRhdGEuaWQpO1xuICAgIG5vZGUuc2V0QXR0cmlidXRlKCdmZUlkJywgZGF0YS5mZUlkKTtcbiAgICBub2RlLnNldEF0dHJpYnV0ZSgndmFsdWUnLCBkYXRhLnZhbHVlKTtcbiAgICBpZiAoZGF0YS5jaGlwKSB7XG4gICAgICAvLyBDaGlwIGdpw6B1IChpY29uICsgbmjDo24pIOKAlCBwaWVjZXMgZG8gY29uc3VtZXIgY+G6pXAgcXVhIElNZW50aW9uSXRlbS5tZW50aW9uSW5zZXJ0RGF0YS5cbiAgICAgIG5vZGUuc2V0QXR0cmlidXRlKCdjaGlwJywgZGF0YS5jaGlwKTtcbiAgICAgIGJ1aWxkQ2hpcENvbnRlbnQobm9kZSwgZGF0YS5jaGlwLCBkYXRhLnZhbHVlKTtcbiAgICAgIHJldHVybiBub2RlO1xuICAgIH1cbiAgICBub2RlLmlubmVyVGV4dCArPSBkYXRhLnZhbHVlO1xuICAgIHJldHVybiBub2RlO1xuICB9XG5cbiAgc3RhdGljIHZhbHVlKGRvbU5vZGU6IEhUTUxFbGVtZW50KSB7XG4gICAgY29uc3QgY2hpcCA9IGRvbU5vZGUuZ2V0QXR0cmlidXRlKCdjaGlwJyk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiBkb21Ob2RlLmdldEF0dHJpYnV0ZSgnaWQnKSxcbiAgICAgIGZlSWQ6IGRvbU5vZGUuZ2V0QXR0cmlidXRlKCdmZUlkJyksXG4gICAgICB2YWx1ZTogZG9tTm9kZS5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJyksXG4gICAgICAuLi4oY2hpcCA/IHsgY2hpcCB9IDoge30pLFxuICAgIH07XG4gIH1cblxuICBhdHRhY2goKSB7XG4gICAgc3VwZXIuYXR0YWNoKCk7XG4gICAgaWYgKCF0aGlzLm1vdW50ZWQpIHtcbiAgICAgIHRoaXMubW91bnRlZCA9IHRydWU7XG4gICAgICB0aGlzLmNsaWNrSGFuZGxlciA9IHRoaXMuZ2V0Q2xpY2tIYW5kbGVyO1xuICAgICAgdGhpcy5kb21Ob2RlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5jbGlja0hhbmRsZXIsIGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBnZXRDbGlja0hhbmRsZXIoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpbGwyeC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvaW5wdXRzL3F1aWxsMngvc3JjL2ludGVyZmFjZXMvcXVpbGwyeC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJTGFiZWwgfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLWxhYmVsJztcbmltcG9ydCBEZWx0YSBmcm9tICdxdWlsbC1kZWx0YSc7XG5pbXBvcnQgUXVpbGwyeCwgeyBFbWl0dGVyU291cmNlLCBSYW5nZSB9IGZyb20gJ3F1aWxsMngnO1xuZXhwb3J0IHR5cGUgUVVJTEwyWF9UWVBFX01PREVfQkFSX0NPTkZJR19PUFRJT04gPSAnYWxsJyB8ICdkZWZhdWx0JyB8ICdiYXNpYycgfCAnY3VzdG9tJztcblxuZXhwb3J0IGludGVyZmFjZSBJUXVpbGwyeEN1c3RvbUNvbmZpZyB7XG4gIGNsYXNzQ29udGFpbmVyPzogV3JpdGFibGVTaWduYWw8c3RyaW5nPjtcbiAgdG9vbGJhcj86IFdyaXRhYmxlU2lnbmFsPHtcbiAgICBwb3NpdGlvbkZpeGVkPzogV3JpdGFibGVTaWduYWw8e1xuICAgICAgZXZlbnQ6IFdyaXRhYmxlU2lnbmFsPCdjbGljaycgfCAnbW91c2VlbnRlcic+O1xuICAgICAgZWxlbWVudFNob3c6IFdyaXRhYmxlU2lnbmFsPEhUTUxFbGVtZW50PjtcbiAgICAgIHBvc2l0aW9uPzogV3JpdGFibGVTaWduYWw8J3RvcCcgfCAnYm90dG9tJz47XG4gICAgICBhbGlnbj86IFdyaXRhYmxlU2lnbmFsPCdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0Jz47XG4gICAgICB6SW5kZXg6IFdyaXRhYmxlU2lnbmFsPG51bWJlcj47XG4gICAgICB3aWR0aDogV3JpdGFibGVTaWduYWw8bnVtYmVyPjtcbiAgICAgIGdhcFZlcnRpY2FsPzogV3JpdGFibGVTaWduYWw8bnVtYmVyPjtcbiAgICAgIGdhcEhvcml6b250YWw/OiBXcml0YWJsZVNpZ25hbDxudW1iZXI+O1xuICAgIH0+O1xuICAgIHN0eWxlcz86IFdyaXRhYmxlU2lnbmFsPFJlY29yZDxzdHJpbmcsIHVua25vd24+PjtcbiAgICB0eXBlOiBXcml0YWJsZVNpZ25hbDxRVUlMTDJYX1RZUEVfTU9ERV9CQVJfQ09ORklHX09QVElPTj47XG4gICAgb3B0aW9ucz86IFdyaXRhYmxlU2lnbmFsPEFycmF5PElRdWlsbDJ4VG9vbGJhckNvbmZpZz4+O1xuICAgIGNsYXNzQ3VzdG9tQ29udGFpbmVyVG9vbGJhcj86IFdyaXRhYmxlU2lnbmFsPHN0cmluZz47XG4gICAgbGVzc1dpZHRoVG9vbGJhclJlY2FsbENhbGN1bGF0b3I/OiBXcml0YWJsZVNpZ25hbDxudW1iZXI+O1xuICAgIG1heGltdW1SZWNhbGxDYWxjdWxhdG9yPzogV3JpdGFibGVTaWduYWw8bnVtYmVyPjtcbiAgfT47XG4gIGVkaXRvcj86IFdyaXRhYmxlU2lnbmFsPHtcbiAgICBjbGFzc0N1c3RvbUNvbnRhaW5lckVkaXRvcj86IFdyaXRhYmxlU2lnbmFsPHN0cmluZz47XG4gIH0+O1xufVxuZXhwb3J0IGludGVyZmFjZSBJUXVpbGwyeFRvb2xiYXJDb25maWcge1xuICB0eXBlOiBzdHJpbmc7XG4gIG1vZGU/OiBBcnJheTxRVUlMTDJYX1RZUEVfTU9ERV9CQVJfQ09ORklHX09QVElPTj47XG4gIHdpZHRoOiBudW1iZXI7XG4gIGRpc3BsYXk/OiBib29sZWFuO1xuICBjbGFzc0luY2x1ZGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVF1aWxsMnhFdmVudFNhdmUge1xuICBsaW5rOiBzdHJpbmc7XG4gIHdpZHRoPzogbnVtYmVyO1xuICBoZWlnaHQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVF1aWxsMnhVcGxvYWRJbWFnZUNvbmZpZyB7XG4gIG1vZGVDdXN0b206IGJvb2xlYW47XG4gIHNob3dJY29uPzogYm9vbGVhbjtcbiAgekluZGV4PzogbnVtYmVyO1xuICBtYXhJbWFnZVNpemU/OiBudW1iZXI7XG4gIGxhYmVsPzogSUxhYmVsO1xuICBvbmx5QWNjZXB0SW1hZ2VIdHRwc0xpbms/OiBib29sZWFuO1xuICBmdW5jdGlvblVwbG9hZEltYWdlPzogKGZpbGVzOiBBcnJheTxGaWxlPikgPT4gUHJvbWlzZTxBcnJheTxzdHJpbmcgfCBBcnJheUJ1ZmZlcj4+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElRdWlsbDJ4RnVuY3Rpb25Db250cm9sRXZlbnQge1xuICBjaGVja0lzVmFsaWQ6ICgpID0+IFByb21pc2U8Ym9vbGVhbj47XG4gIHJlZnJlc2hJdGVtVmFsdWU6ICgpID0+IHZvaWQ7XG4gIHNldENvbnRlbnQ6IChjb250ZW50OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD47XG4gIGluc2VydFRleHQ6ICh2YWx1ZTogc3RyaW5nLCBpbmRleD86IG51bWJlciwgZm9jdXNMdD86IGJvb2xlYW4pID0+IFByb21pc2U8dm9pZD47XG4gIGluc2VydExpbms6ICh2YWx1ZTogc3RyaW5nLCB1cmw6IHN0cmluZywgaW5kZXg/OiBudW1iZXIpID0+IFByb21pc2U8dm9pZD47XG4gIGluc2VydEltYWdlOiAoY29udGVudDogc3RyaW5nLCBpbmRleD86IG51bWJlcikgPT4gUHJvbWlzZTx2b2lkPjtcbiAgc2V0Rm9udFNpemU6IChzaXplOiBudW1iZXIpID0+IFByb21pc2U8RGVsdGEgfCB1bmRlZmluZWQ+O1xuICBzZXRDb2xvcjogKGNvbG9yOiBzdHJpbmcpID0+IFByb21pc2U8RGVsdGEgfCB1bmRlZmluZWQ+O1xuICBzZXRCYWNrZ3JvdW5kOiAoY29sb3I6IHN0cmluZykgPT4gUHJvbWlzZTxEZWx0YSB8IHVuZGVmaW5lZD47XG4gIHNldE1lc3NhZ2VFcnJvcjogKG1lc3NhZ2U6IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPjtcbiAgcXVpbGw6ICgpID0+IFF1aWxsMnggfCB1bmRlZmluZWQ7XG4gIHJlQ2FsY3VsYXRvclRvb2xiYXI6ICgpID0+IFByb21pc2U8dm9pZD47XG4gIHVwZGF0ZVBvc2l0aW9uVG9vbGJhcjogKCkgPT4gUHJvbWlzZTx2b2lkPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUXVpbGwyeExpbmsge1xuICB0aXRsZTogc3RyaW5nO1xuICB1cmw6IHN0cmluZztcbiAgcmFuZ2U6IHtcbiAgICBpbmRleDogbnVtYmVyO1xuICAgIGxlbmd0aDogbnVtYmVyO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElRdWlsbDJ4QmxvdFJlZ2lzdGVyIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgY29tcG9uZW50OiBhbnk7XG4gIGNsYXNzTmFtZTogc3RyaW5nO1xuICBzdHlsZTogc3RyaW5nO1xuICBpZ25vcmVEZWxldGU/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpbGwyeC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvaW5wdXRzL3F1aWxsMngvc3JjL2ludGVyZmFjZXMvcXVpbGwyeC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJTGFiZWwgfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLWxhYmVsJztcbmltcG9ydCBEZWx0YSBmcm9tICdxdWlsbC1kZWx0YSc7XG5pbXBvcnQgUXVpbGwyeCwgeyBFbWl0dGVyU291cmNlLCBSYW5nZSB9IGZyb20gJ3F1aWxsMngnO1xuZXhwb3J0IHR5cGUgUVVJTEwyWF9UWVBFX01PREVfQkFSX0NPTkZJR19PUFRJT04gPSAnYWxsJyB8ICdkZWZhdWx0JyB8ICdiYXNpYycgfCAnY3VzdG9tJztcblxuZXhwb3J0IGludGVyZmFjZSBJUXVpbGwyeEN1c3RvbUNvbmZpZyB7XG4gIGNsYXNzQ29udGFpbmVyPzogV3JpdGFibGVTaWduYWw8c3RyaW5nPjtcbiAgdG9vbGJhcj86IFdyaXRhYmxlU2lnbmFsPHtcbiAgICBwb3NpdGlvbkZpeGVkPzogV3JpdGFibGVTaWduYWw8e1xuICAgICAgZXZlbnQ6IFdyaXRhYmxlU2lnbmFsPCdjbGljaycgfCAnbW91c2VlbnRlcic+O1xuICAgICAgZWxlbWVudFNob3c6IFdyaXRhYmxlU2lnbmFsPEhUTUxFbGVtZW50PjtcbiAgICAgIHBvc2l0aW9uPzogV3JpdGFibGVTaWduYWw8J3RvcCcgfCAnYm90dG9tJz47XG4gICAgICBhbGlnbj86IFdyaXRhYmxlU2lnbmFsPCdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0Jz47XG4gICAgICB6SW5kZXg6IFdyaXRhYmxlU2lnbmFsPG51bWJlcj47XG4gICAgICB3aWR0aDogV3JpdGFibGVTaWduYWw8bnVtYmVyPjtcbiAgICAgIGdhcFZlcnRpY2FsPzogV3JpdGFibGVTaWduYWw8bnVtYmVyPjtcbiAgICAgIGdhcEhvcml6b250YWw/OiBXcml0YWJsZVNpZ25hbDxudW1iZXI+O1xuICAgIH0+O1xuICAgIHN0eWxlcz86IFdyaXRhYmxlU2lnbmFsPFJlY29yZDxzdHJpbmcsIHVua25vd24+PjtcbiAgICB0eXBlOiBXcml0YWJsZVNpZ25hbDxRVUlMTDJYX1RZUEVfTU9ERV9CQVJfQ09ORklHX09QVElPTj47XG4gICAgb3B0aW9ucz86IFdyaXRhYmxlU2lnbmFsPEFycmF5PElRdWlsbDJ4VG9vbGJhckNvbmZpZz4+O1xuICAgIGNsYXNzQ3VzdG9tQ29udGFpbmVyVG9vbGJhcj86IFdyaXRhYmxlU2lnbmFsPHN0cmluZz47XG4gICAgbGVzc1dpZHRoVG9vbGJhclJlY2FsbENhbGN1bGF0b3I/OiBXcml0YWJsZVNpZ25hbDxudW1iZXI+O1xuICAgIG1heGltdW1SZWNhbGxDYWxjdWxhdG9yPzogV3JpdGFibGVTaWduYWw8bnVtYmVyPjtcbiAgfT47XG4gIGVkaXRvcj86IFdyaXRhYmxlU2lnbmFsPHtcbiAgICBjbGFzc0N1c3RvbUNvbnRhaW5lckVkaXRvcj86IFdyaXRhYmxlU2lnbmFsPHN0cmluZz47XG4gIH0+O1xufVxuZXhwb3J0IGludGVyZmFjZSBJUXVpbGwyeFRvb2xiYXJDb25maWcge1xuICB0eXBlOiBzdHJpbmc7XG4gIG1vZGU/OiBBcnJheTxRVUlMTDJYX1RZUEVfTU9ERV9CQVJfQ09ORklHX09QVElPTj47XG4gIHdpZHRoOiBudW1iZXI7XG4gIGRpc3BsYXk/OiBib29sZWFuO1xuICBjbGFzc0luY2x1ZGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVF1aWxsMnhFdmVudFNhdmUge1xuICBsaW5rOiBzdHJpbmc7XG4gIHdpZHRoPzogbnVtYmVyO1xuICBoZWlnaHQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVF1aWxsMnhVcGxvYWRJbWFnZUNvbmZpZyB7XG4gIG1vZGVDdXN0b206IGJvb2xlYW47XG4gIHNob3dJY29uPzogYm9vbGVhbjtcbiAgekluZGV4PzogbnVtYmVyO1xuICBtYXhJbWFnZVNpemU/OiBudW1iZXI7XG4gIGxhYmVsPzogSUxhYmVsO1xuICBvbmx5QWNjZXB0SW1hZ2VIdHRwc0xpbms/OiBib29sZWFuO1xuICBmdW5jdGlvblVwbG9hZEltYWdlPzogKGZpbGVzOiBBcnJheTxGaWxlPikgPT4gUHJvbWlzZTxBcnJheTxzdHJpbmcgfCBBcnJheUJ1ZmZlcj4+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElRdWlsbDJ4RnVuY3Rpb25Db250cm9sRXZlbnQge1xuICBjaGVja0lzVmFsaWQ6ICgpID0+IFByb21pc2U8Ym9vbGVhbj47XG4gIHJlZnJlc2hJdGVtVmFsdWU6ICgpID0+IHZvaWQ7XG4gIHNldENvbnRlbnQ6IChjb250ZW50OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD47XG4gIGluc2VydFRleHQ6ICh2YWx1ZTogc3RyaW5nLCBpbmRleD86IG51bWJlciwgZm9jdXNMdD86IGJvb2xlYW4pID0+IFByb21pc2U8dm9pZD47XG4gIGluc2VydExpbms6ICh2YWx1ZTogc3RyaW5nLCB1cmw6IHN0cmluZywgaW5kZXg/OiBudW1iZXIpID0+IFByb21pc2U8dm9pZD47XG4gIGluc2VydEltYWdlOiAoY29udGVudDogc3RyaW5nLCBpbmRleD86IG51bWJlcikgPT4gUHJvbWlzZTx2b2lkPjtcbiAgc2V0Rm9udFNpemU6IChzaXplOiBudW1iZXIpID0+IFByb21pc2U8RGVsdGEgfCB1bmRlZmluZWQ+O1xuICBzZXRDb2xvcjogKGNvbG9yOiBzdHJpbmcpID0+IFByb21pc2U8RGVsdGEgfCB1bmRlZmluZWQ+O1xuICBzZXRCYWNrZ3JvdW5kOiAoY29sb3I6IHN0cmluZykgPT4gUHJvbWlzZTxEZWx0YSB8IHVuZGVmaW5lZD47XG4gIHNldE1lc3NhZ2VFcnJvcjogKG1lc3NhZ2U6IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPjtcbiAgcXVpbGw6ICgpID0+IFF1aWxsMnggfCB1bmRlZmluZWQ7XG4gIHJlQ2FsY3VsYXRvclRvb2xiYXI6ICgpID0+IFByb21pc2U8dm9pZD47XG4gIHVwZGF0ZVBvc2l0aW9uVG9vbGJhcjogKCkgPT4gUHJvbWlzZTx2b2lkPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUXVpbGwyeExpbmsge1xuICB0aXRsZTogc3RyaW5nO1xuICB1cmw6IHN0cmluZztcbiAgcmFuZ2U6IHtcbiAgICBpbmRleDogbnVtYmVyO1xuICAgIGxlbmd0aDogbnVtYmVyO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElRdWlsbDJ4QmxvdFJlZ2lzdGVyIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgY29tcG9uZW50OiBhbnk7XG4gIGNsYXNzTmFtZTogc3RyaW5nO1xuICBzdHlsZTogc3RyaW5nO1xuICBpZ25vcmVEZWxldGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElRdWlsbDJ4U2VsZWN0aW9uQ2hhbmdlIHtcbiAgcXVpbGw6IFF1aWxsMng7XG4gIHJhbmdlOiBSYW5nZTtcbiAgb2xkUmFuZ2U6IFJhbmdlO1xuICBzb3VyY2U6IEVtaXR0ZXJTb3VyY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVF1aWxsMnhUZXh0Q2hhbmdlIHtcbiAgcXVpbGw6IFF1aWxsMng7XG4gIGRlbHRhOiBEZWx0YTtcbn1cblxuLyoqXG4gKiAxIG3huqNuaCBu4buZaSBkdW5nIGLDqm4gdHJvbmcgY2hpcCBtZW50aW9uIGPhu6dhIGJsb3QgYG1lbnRpb25gLlxuICogLSBN4bqjbmggaWNvbjogY2jhu4kgY+G6p24gYGNsYXNzTmFtZWAuXG4gKiAtIE3huqNuaCBuaMOjbjogYGNsYXNzTmFtZWAgKHR14buzIGNo4buNbikgKyBgdGV4dGAuXG4gKlxuICogTeG6o25nIGPDoWMgbeG6o25oIG7DoHkgxJHGsOG7o2MgSlNPTi5zdHJpbmdpZnkgcuG7k2kgdHJ1eeG7gW4gcXVhIGBJTWVudGlvbkl0ZW0ubWVudGlvbkluc2VydERhdGEoKWBcbiAqIGTGsOG7m2kga2V5IGBjaGlwYCDEkeG7gyBibG90IGThu7FuZyBjaGlwIGdpw6B1IHRoYXkgY2hvIHRleHQgdGh14bqnbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUXVpbGwyeE1lbnRpb25DaGlwUGllY2Uge1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIHRleHQ/OiBzdHJpbmc7XG59XG4iXX0=
|