@libs-ui/components-inputs-quill 0.1.1-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 +3 -0
- package/blots-custom/div.component.d.ts +5 -0
- package/blots-custom/image.component.d.ts +6 -0
- package/blots-custom/mention.component.d.ts +19 -0
- package/esm2022/blots-custom/div.component.mjs +6 -0
- package/esm2022/blots-custom/image.component.mjs +13 -0
- package/esm2022/blots-custom/mention.component.mjs +34 -0
- package/esm2022/indent-attributor/indent-attributor.component.mjs +20 -0
- package/esm2022/index.mjs +4 -0
- package/esm2022/interfaces/quill.interface.mjs +2 -0
- package/esm2022/libs-ui-components-inputs-quill.mjs +5 -0
- package/esm2022/link/link.component.mjs +52 -0
- package/esm2022/quill.component.mjs +878 -0
- package/esm2022/quill2x.component.mjs +150 -0
- package/esm2022/upload-image/upload-image.component.mjs +67 -0
- package/esm2022/utils/quill.define.mjs +429 -0
- package/esm2022/utils/quill2x.define.mjs +210 -0
- package/fesm2022/libs-ui-components-inputs-quill.mjs +1836 -0
- package/fesm2022/libs-ui-components-inputs-quill.mjs.map +1 -0
- package/indent-attributor/indent-attributor.component.d.ts +8 -0
- package/index.d.ts +3 -0
- package/interfaces/quill.interface.d.ts +89 -0
- package/link/link.component.d.ts +27 -0
- package/package.json +47 -0
- package/quill.component.d.ts +157 -0
- package/quill2x.component.d.ts +18 -0
- package/upload-image/upload-image.component.d.ts +15 -0
- package/utils/quill.define.d.ts +25 -0
- package/utils/quill2x.define.d.ts +3 -0
package/README.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
declare const Embed: any;
|
|
2
|
+
export declare class QuillMentionBlot extends Embed {
|
|
3
|
+
static blotName: string;
|
|
4
|
+
static tagName: string;
|
|
5
|
+
static className: string;
|
|
6
|
+
static create(data: {
|
|
7
|
+
id: string;
|
|
8
|
+
feId: string;
|
|
9
|
+
value: string;
|
|
10
|
+
}): any;
|
|
11
|
+
static value(domNode: HTMLElement): {
|
|
12
|
+
id: string | null;
|
|
13
|
+
feId: string | null;
|
|
14
|
+
value: string | null;
|
|
15
|
+
};
|
|
16
|
+
attach(): void;
|
|
17
|
+
getClickHandler(event: Event): void;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import Quill from 'quill';
|
|
2
|
+
const Block = Quill.import('blots/block');
|
|
3
|
+
export class QuillDivBlot extends Block {
|
|
4
|
+
static tagName = 'div';
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGl2LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9pbnB1dHMvcXVpbGwvc3JjL2Jsb3RzLWN1c3RvbS9kaXYuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBRTFDLE1BQU0sT0FBTyxZQUFhLFNBQVEsS0FBSztJQUNyQyxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBRdWlsbCBmcm9tICdxdWlsbCc7XG5cbmNvbnN0IEJsb2NrID0gUXVpbGwuaW1wb3J0KCdibG90cy9ibG9jaycpO1xuXG5leHBvcnQgY2xhc3MgUXVpbGxEaXZCbG90IGV4dGVuZHMgQmxvY2sge1xuICBzdGF0aWMgdGFnTmFtZSA9ICdkaXYnO1xufVxuIl19
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import Quill from 'quill';
|
|
2
|
+
const ImageFormat = Quill.import('formats/image');
|
|
3
|
+
export class CustomImageBlot extends ImageFormat {
|
|
4
|
+
static create(value) {
|
|
5
|
+
const node = super.create(value);
|
|
6
|
+
node.classList.add('libs-ui-quill-format-image');
|
|
7
|
+
return node;
|
|
8
|
+
}
|
|
9
|
+
formats() {
|
|
10
|
+
return {}; // Tránh Quill tự động thêm thẻ `<span>`
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2lucHV0cy9xdWlsbC9zcmMvYmxvdHMtY3VzdG9tL2ltYWdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUVsRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxXQUFXO0lBQzlDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBYTtRQUN6QixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDakQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sRUFBRSxDQUFDLENBQUMsd0NBQXdDO0lBQ3JELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBRdWlsbCBmcm9tICdxdWlsbCc7XG5cbmNvbnN0IEltYWdlRm9ybWF0ID0gUXVpbGwuaW1wb3J0KCdmb3JtYXRzL2ltYWdlJyk7XG5cbmV4cG9ydCBjbGFzcyBDdXN0b21JbWFnZUJsb3QgZXh0ZW5kcyBJbWFnZUZvcm1hdCB7XG4gIHN0YXRpYyBjcmVhdGUodmFsdWU6IHN0cmluZykge1xuICAgIGNvbnN0IG5vZGUgPSBzdXBlci5jcmVhdGUodmFsdWUpO1xuICAgIG5vZGUuY2xhc3NMaXN0LmFkZCgnbGlicy11aS1xdWlsbC1mb3JtYXQtaW1hZ2UnKTtcbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuXG4gIGZvcm1hdHMoKSB7XG4gICAgcmV0dXJuIHt9OyAvLyBUcsOhbmggUXVpbGwgdOG7sSDEkeG7mW5nIHRow6ptIHRo4bq7IGA8c3Bhbj5gXG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import Quill from 'quill';
|
|
2
|
+
const Embed = Quill.import('blots/embed');
|
|
3
|
+
export class QuillMentionBlot extends Embed {
|
|
4
|
+
static blotName = 'mention';
|
|
5
|
+
static tagName = 'span';
|
|
6
|
+
static className = 'libs-ui-quill-mention';
|
|
7
|
+
static create(data) {
|
|
8
|
+
const node = super.create();
|
|
9
|
+
node.innerText += data.value;
|
|
10
|
+
node.setAttribute('id', data.id);
|
|
11
|
+
node.setAttribute('feId', data.feId);
|
|
12
|
+
node.setAttribute('value', data.value);
|
|
13
|
+
return node;
|
|
14
|
+
}
|
|
15
|
+
static value(domNode) {
|
|
16
|
+
return {
|
|
17
|
+
id: domNode.getAttribute('id'),
|
|
18
|
+
feId: domNode.getAttribute('feId'),
|
|
19
|
+
value: domNode.getAttribute('value'),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
attach() {
|
|
23
|
+
super.attach();
|
|
24
|
+
if (!this.mounted) {
|
|
25
|
+
this.mounted = true;
|
|
26
|
+
this.clickHandler = this.getClickHandler;
|
|
27
|
+
this.domNode.addEventListener('click', this.clickHandler, false);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
getClickHandler(event) {
|
|
31
|
+
event.stopPropagation();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvaW5wdXRzL3F1aWxsL3NyYy9ibG90cy1jdXN0b20vbWVudGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRTFCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7QUFFMUMsTUFBTSxPQUFPLGdCQUFpQixTQUFRLEtBQUs7SUFDekMsTUFBTSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7SUFDNUIsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDeEIsTUFBTSxDQUFDLFNBQVMsR0FBRyx1QkFBdUIsQ0FBQztJQUMzQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQWlEO1FBQzdELE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFvQjtRQUMvQixPQUFPO1lBQ0wsRUFBRSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQzlCLElBQUksRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztZQUNsQyxLQUFLLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7U0FDckMsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNO1FBQ0osS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7WUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRSxDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFZO1FBQzFCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFF1aWxsIGZyb20gJ3F1aWxsJztcblxuY29uc3QgRW1iZWQgPSBRdWlsbC5pbXBvcnQoJ2Jsb3RzL2VtYmVkJyk7XG5cbmV4cG9ydCBjbGFzcyBRdWlsbE1lbnRpb25CbG90IGV4dGVuZHMgRW1iZWQge1xuICBzdGF0aWMgYmxvdE5hbWUgPSAnbWVudGlvbic7XG4gIHN0YXRpYyB0YWdOYW1lID0gJ3NwYW4nO1xuICBzdGF0aWMgY2xhc3NOYW1lID0gJ2xpYnMtdWktcXVpbGwtbWVudGlvbic7XG4gIHN0YXRpYyBjcmVhdGUoZGF0YTogeyBpZDogc3RyaW5nOyBmZUlkOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfSkge1xuICAgIGNvbnN0IG5vZGUgPSBzdXBlci5jcmVhdGUoKTtcbiAgICBub2RlLmlubmVyVGV4dCArPSBkYXRhLnZhbHVlO1xuICAgIG5vZGUuc2V0QXR0cmlidXRlKCdpZCcsIGRhdGEuaWQpO1xuICAgIG5vZGUuc2V0QXR0cmlidXRlKCdmZUlkJywgZGF0YS5mZUlkKTtcbiAgICBub2RlLnNldEF0dHJpYnV0ZSgndmFsdWUnLCBkYXRhLnZhbHVlKTtcbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuXG4gIHN0YXRpYyB2YWx1ZShkb21Ob2RlOiBIVE1MRWxlbWVudCkge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogZG9tTm9kZS5nZXRBdHRyaWJ1dGUoJ2lkJyksXG4gICAgICBmZUlkOiBkb21Ob2RlLmdldEF0dHJpYnV0ZSgnZmVJZCcpLFxuICAgICAgdmFsdWU6IGRvbU5vZGUuZ2V0QXR0cmlidXRlKCd2YWx1ZScpLFxuICAgIH07XG4gIH1cblxuICBhdHRhY2goKSB7XG4gICAgc3VwZXIuYXR0YWNoKCk7XG4gICAgaWYgKCF0aGlzLm1vdW50ZWQpIHtcbiAgICAgIHRoaXMubW91bnRlZCA9IHRydWU7XG4gICAgICB0aGlzLmNsaWNrSGFuZGxlciA9IHRoaXMuZ2V0Q2xpY2tIYW5kbGVyO1xuICAgICAgdGhpcy5kb21Ob2RlLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5jbGlja0hhbmRsZXIsIGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBnZXRDbGlja0hhbmRsZXIoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import Quill from 'quill';
|
|
2
|
+
const parchment = Quill.import('parchment');
|
|
3
|
+
const pixelLevels = [1, 2, 3, 4, 5, 6, 7, 8];
|
|
4
|
+
const tabMultiplier = 3;
|
|
5
|
+
class IndentAttributor extends parchment.Attributor.Style {
|
|
6
|
+
constructor(formatName, styleProperty, attributorOptions) {
|
|
7
|
+
super(formatName, styleProperty, attributorOptions);
|
|
8
|
+
}
|
|
9
|
+
add(node, value) {
|
|
10
|
+
return super.add(node, `${+value * tabMultiplier}em`);
|
|
11
|
+
}
|
|
12
|
+
value(node) {
|
|
13
|
+
return parseFloat(super.value(node)) / tabMultiplier || undefined; // Don't return NaN
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export const indentStyle = new IndentAttributor('indent', 'margin-left', {
|
|
17
|
+
scope: parchment.Scope.BLOCK,
|
|
18
|
+
whitelist: pixelLevels.map((value) => `${value * tabMultiplier}em`),
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZW50LWF0dHJpYnV0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2lucHV0cy9xdWlsbC9zcmMvaW5kZW50LWF0dHJpYnV0b3IvaW5kZW50LWF0dHJpYnV0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQzVDLE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzdDLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQztBQUV4QixNQUFNLGdCQUFpQixTQUFTLFNBQVMsQ0FBQyxVQUFVLENBQUMsS0FHbkQ7SUFDQSxZQUFZLFVBQWtCLEVBQUUsYUFBcUIsRUFBRSxpQkFBMEI7UUFDL0UsS0FBSyxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU0sR0FBRyxDQUFDLElBQWlCLEVBQUUsS0FBYTtRQUN6QyxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEdBQUcsYUFBYSxJQUFJLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRU0sS0FBSyxDQUFDLElBQWlCO1FBQzVCLE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxhQUFhLElBQUksU0FBUyxDQUFDLENBQUMsbUJBQW1CO0lBQ3hGLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUU7SUFDdkUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSztJQUM1QixTQUFTLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLEdBQUcsYUFBYSxJQUFJLENBQUM7Q0FDcEUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFF1aWxsIGZyb20gJ3F1aWxsJztcblxuY29uc3QgcGFyY2htZW50ID0gUXVpbGwuaW1wb3J0KCdwYXJjaG1lbnQnKTtcbmNvbnN0IHBpeGVsTGV2ZWxzID0gWzEsIDIsIDMsIDQsIDUsIDYsIDcsIDhdO1xuY29uc3QgdGFiTXVsdGlwbGllciA9IDM7XG5cbmNsYXNzIEluZGVudEF0dHJpYnV0b3IgZXh0ZW5kcyAocGFyY2htZW50LkF0dHJpYnV0b3IuU3R5bGUgYXMge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBuZXcgKGZvcm1hdE5hbWU6IHN0cmluZywgc3R5bGVQcm9wZXJ0eTogc3RyaW5nLCBhdHRyaWJ1dG9yT3B0aW9uczogdW5rbm93bik6IGFueTtcbn0pIHtcbiAgY29uc3RydWN0b3IoZm9ybWF0TmFtZTogc3RyaW5nLCBzdHlsZVByb3BlcnR5OiBzdHJpbmcsIGF0dHJpYnV0b3JPcHRpb25zOiB1bmtub3duKSB7XG4gICAgc3VwZXIoZm9ybWF0TmFtZSwgc3R5bGVQcm9wZXJ0eSwgYXR0cmlidXRvck9wdGlvbnMpO1xuICB9XG5cbiAgcHVibGljIGFkZChub2RlOiBIVE1MRWxlbWVudCwgdmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdXBlci5hZGQobm9kZSwgYCR7K3ZhbHVlICogdGFiTXVsdGlwbGllcn1lbWApO1xuICB9XG5cbiAgcHVibGljIHZhbHVlKG5vZGU6IEhUTUxFbGVtZW50KTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gcGFyc2VGbG9hdChzdXBlci52YWx1ZShub2RlKSkgLyB0YWJNdWx0aXBsaWVyIHx8IHVuZGVmaW5lZDsgLy8gRG9uJ3QgcmV0dXJuIE5hTlxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBpbmRlbnRTdHlsZSA9IG5ldyBJbmRlbnRBdHRyaWJ1dG9yKCdpbmRlbnQnLCAnbWFyZ2luLWxlZnQnLCB7XG4gIHNjb3BlOiBwYXJjaG1lbnQuU2NvcGUuQkxPQ0ssXG4gIHdoaXRlbGlzdDogcGl4ZWxMZXZlbHMubWFwKCh2YWx1ZSkgPT4gYCR7dmFsdWUgKiB0YWJNdWx0aXBsaWVyfWVtYCksXG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './quill.component';
|
|
2
|
+
export * from './quill2x.component';
|
|
3
|
+
export * from './interfaces/quill.interface';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvaW5wdXRzL3F1aWxsL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcXVpbGwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcXVpbGwyeC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL3F1aWxsLmludGVyZmFjZSc7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpbGwuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2lucHV0cy9xdWlsbC9zcmMvaW50ZXJmYWNlcy9xdWlsbC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElMYWJlbCB9IGZyb20gJ0BsaWJzLXVpL2NvbXBvbmVudHMtbGFiZWwnO1xuaW1wb3J0IFF1aWxsLCB7IFJhbmdlU3RhdGljLCBTb3VyY2VzIH0gZnJvbSAncXVpbGwnO1xuaW1wb3J0IERlbHRhIGZyb20gJ3F1aWxsLWRlbHRhJztcbmV4cG9ydCB0eXBlIFRZUEVfTU9ERV9CQVJfQ09ORklHX09QVElPTiA9ICdkZWZhdWx0JyB8ICdiYXNpYycgfCAnY3VzdG9tJztcbmV4cG9ydCBpbnRlcmZhY2UgSVF1aWxsVG9vbGJhckNvbmZpZyB7XG4gIHVuZG8/OiBib29sZWFuO1xuICByZWRvPzogYm9vbGVhbjtcbiAgZm9udEZhbWlseT86IGJvb2xlYW47XG4gIGZvbnRTaXplPzogYm9vbGVhbjtcbiAgY29sb3I/OiBib29sZWFuO1xuICBiYWNrZ3JvdW5kPzogYm9vbGVhbjtcbiAgYm9sZD86IGJvb2xlYW47XG4gIGl0YWxpYz86IGJvb2xlYW47XG4gIHVuZGVybGluZT86IGJvb2xlYW47XG4gIHN0cmlrZVRocm91Z2g/OiBib29sZWFuO1xuICBhZGp1c3Q/OiBib29sZWFuO1xuICBpbmRlbnRJbmNyZWFzZT86IGJvb2xlYW47XG4gIGluZGVudERlY3JlYXNlPzogYm9vbGVhbjtcbiAgbGlzdEJ1bGxldGVkPzogYm9vbGVhbjtcbiAgbGlzdE51bWJlcmVkPzogYm9vbGVhbjtcbiAgYmxvY2txdW90ZT86IGJvb2xlYW47XG4gIGxpbms/OiBib29sZWFuO1xuICB1bkxpbms/OiBib29sZWFuO1xuICBlbW9qaT86IGJvb2xlYW47XG4gIHBlcnNvbmFsaXplPzogYm9vbGVhbjtcbiAgaW1hZ2U/OiBib29sZWFuO1xuICBjbGFzc0luY2x1ZGU/OiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgbW9kZT86IEFycmF5PFRZUEVfTU9ERV9CQVJfQ09ORklHX09QVElPTj47XG4gIHdpZHRoOiBudW1iZXI7XG4gIGRpc3BsYXk/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElRdWlsbEV2ZW50U2F2ZSB7XG4gIGxpbms6IHN0cmluZztcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGhlaWdodD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUXVpbGxVcGxvYWRJbWFnZUNvbmZpZyB7XG4gIG1vZGVDdXN0b206IGJvb2xlYW47XG4gIHNob3dJY29uPzogYm9vbGVhbjtcbiAgekluZGV4PzogbnVtYmVyO1xuICBtYXhJbWFnZVNpemU/OiBudW1iZXI7XG4gIGxhYmVsPzogSUxhYmVsO1xuICBvbmx5QWNjZXB0SW1hZ2VIdHRwc0xpbms/OiBib29sZWFuO1xuICBmdW5jdGlvblVwbG9hZEltYWdlPzogKGZpbGVzOiBBcnJheTxGaWxlPikgPT4gUHJvbWlzZTxBcnJheTxzdHJpbmcgfCBBcnJheUJ1ZmZlcj4+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElRdWlsbEZ1bmN0aW9uQ29udHJvbEV2ZW50IHtcbiAgY2hlY2tJc1ZhbGlkOiAoKSA9PiBQcm9taXNlPGJvb2xlYW4+O1xuICByZWZyZXNoSXRlbVZhbHVlOiAoKSA9PiB2b2lkO1xuICBzZXRDb250ZW50OiAoY29udGVudDogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+O1xuICBpbnNlcnRUZXh0OiAodmFsdWU6IHN0cmluZywgaW5kZXg/OiBudW1iZXIsIGZvY3VzTHQ/OiBib29sZWFuKSA9PiBQcm9taXNlPHZvaWQ+O1xuICBpbnNlcnRMaW5rOiAodmFsdWU6IHN0cmluZywgdXJsOiBzdHJpbmcsIGluZGV4PzogbnVtYmVyKSA9PiBQcm9taXNlPHZvaWQ+O1xuICBpbnNlcnRJbWFnZTogKGNvbnRlbnQ6IHN0cmluZywgaW5kZXg/OiBudW1iZXIpID0+IFByb21pc2U8dm9pZD47XG4gIHNldEZvbnRTaXplOiAoc2l6ZTogbnVtYmVyKSA9PiBQcm9taXNlPHZvaWQ+O1xuICBzZXRDb2xvcjogKGNvbG9yOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD47XG4gIHNldEJhY2tncm91bmQ6IChjb2xvcjogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+O1xuICBxdWlsbDogKCkgPT4gUXVpbGw7XG4gIHNjcm9sbFRvU2VsZWN0aW9uV2l0aEVsZW1lbnRTY3JvbGxIZWlnaHRBdXRvOiAoaW5kZXg/OiBudW1iZXIpID0+IHZvaWQ7XG4gIGluc2VydEVtYmVkOiAocmFuZ2U6IHsgaW5kZXg6IG51bWJlcjsgaW5kZXhTZWxlY3Q6IG51bWJlcjsgbGVuZ3RoPzogbnVtYmVyIH0sIHR5cGU6IHN0cmluZywgZGF0YTogdW5rbm93biwgc291cmNlcz86IFNvdXJjZXMpID0+IFByb21pc2U8dm9pZD47XG4gIHJlQ2FsY3VsYXRvclRvb2xiYXI6ICgpID0+IFByb21pc2U8dm9pZD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVF1aWxsTGluayB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHVybDogc3RyaW5nO1xuICByYW5nZToge1xuICAgIGluZGV4OiBudW1iZXI7XG4gICAgbGVuZ3RoOiBudW1iZXI7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVF1aWxsQmxvdFJlZ2lzdGVyIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgY29tcG9uZW50OiBhbnk7XG4gIGNsYXNzTmFtZTogc3RyaW5nO1xuICBzdHlsZTogc3RyaW5nO1xuICBpZ25vcmVEZWxldGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElRdWlsbFNlbGVjdGlvbkNoYW5nZSB7XG4gIHF1aWxsOiBRdWlsbDtcbiAgcmFuZ2U6IFJhbmdlU3RhdGljO1xuICBvbGRSYW5nZTogUmFuZ2VTdGF0aWM7XG4gIHNvdXJjZTogU291cmNlcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUXVpbGxUZXh0Q2hhbmdlIHtcbiAgcXVpbGw6IFF1aWxsO1xuICBkZWx0YTogRGVsdGE7XG59XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicy11aS1jb21wb25lbnRzLWlucHV0cy1xdWlsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9pbnB1dHMvcXVpbGwvc3JjL2xpYnMtdWktY29tcG9uZW50cy1pbnB1dHMtcXVpbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, input, output, signal } from '@angular/core';
|
|
2
|
+
import { LibsUiComponentsInputsValidComponent } from '@libs-ui/components-inputs-valid';
|
|
3
|
+
import { LibsUiComponentsModalComponent } from '@libs-ui/components-modal';
|
|
4
|
+
import { patternUrl } from '@libs-ui/utils';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class LibsUiComponentsInputsQuillLinkComponent {
|
|
7
|
+
dataLink = signal({ title: '', link: '' });
|
|
8
|
+
patternLink = signal(patternUrl());
|
|
9
|
+
inputValidFunctionControl = signal([]);
|
|
10
|
+
zIndex = input(1200);
|
|
11
|
+
title = input();
|
|
12
|
+
link = input();
|
|
13
|
+
ignoreCommunicateMicroEvent = input();
|
|
14
|
+
outClose = output();
|
|
15
|
+
outSaveLink = output();
|
|
16
|
+
ngOnInit() {
|
|
17
|
+
const title = this.title();
|
|
18
|
+
const link = this.link();
|
|
19
|
+
if (title || link) {
|
|
20
|
+
this.dataLink.update((item) => ({ ...item, title: title || '', link: link || '' }));
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
async handlerFunctionsControl(event) {
|
|
24
|
+
this.inputValidFunctionControl.update((items) => [...items, event]);
|
|
25
|
+
}
|
|
26
|
+
async validate() {
|
|
27
|
+
let valid = true;
|
|
28
|
+
for (const control of this.inputValidFunctionControl()) {
|
|
29
|
+
if (!(await control.checkIsValid())) {
|
|
30
|
+
valid = false;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return valid;
|
|
34
|
+
}
|
|
35
|
+
async handlerEvent(event) {
|
|
36
|
+
if (event !== 'agree') {
|
|
37
|
+
this.outClose.emit();
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
if (await this.validate()) {
|
|
41
|
+
this.outSaveLink.emit(this.dataLink());
|
|
42
|
+
this.outClose.emit();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LibsUiComponentsInputsQuillLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
46
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: LibsUiComponentsInputsQuillLinkComponent, isStandalone: true, selector: "libs_ui-components-inputs-quill-link", inputs: { zIndex: { classPropertyName: "zIndex", publicName: "zIndex", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, link: { classPropertyName: "link", publicName: "link", isSignal: true, isRequired: false, transformFunction: null }, ignoreCommunicateMicroEvent: { classPropertyName: "ignoreCommunicateMicroEvent", publicName: "ignoreCommunicateMicroEvent", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { outClose: "outClose", outSaveLink: "outSaveLink" }, ngImport: i0, template: "<libs_ui-components-modal\n [title]=\"'i18n_insert_link'\"\n [mode]=\"'center'\"\n [height]=\"'auto'\"\n [width]=\"'598px'\"\n [ignoreCommunicateMicroEvent]=\"ignoreCommunicateMicroEvent()\"\n [headerConfig]=\"{ ignoreHeaderTheme: true }\"\n [zIndex]=\"zIndex()\"\n (outEvent)=\"handlerEvent($event)\">\n <div class=\"libs-ui-modal-body-custom\">\n <libs_ui-components-inputs-valid\n [labelConfig]=\"{ labelLeft: 'i18n_content', required: true }\"\n [(item)]=\"dataLink\"\n [fieldNameBind]=\"'title'\"\n [placeholder]=\"'i18n_import_content'\"\n [validRequired]=\"{ isRequired: true }\"\n (outFunctionsControl)=\"handlerFunctionsControl($event)\" />\n <div class=\"mt-[16px]\">\n <libs_ui-components-inputs-valid\n [labelConfig]=\"{ labelLeft: 'Link', required: true }\"\n [(item)]=\"dataLink\"\n [fieldNameBind]=\"'link'\"\n [placeholder]=\"'https:/\u2026'\"\n [validRequired]=\"{ isRequired: true }\"\n [validPattern]=\"[{ pattern: patternLink(), valuePatternShowError: false }]\"\n [keySelectedUnitLeft]=\"'1'\"\n [unitsLeft]=\"[{ id: '1', label: 'URL' }]\"\n (outFunctionsControl)=\"handlerFunctionsControl($event)\" />\n </div>\n </div>\n</libs_ui-components-modal>\n", dependencies: [{ kind: "component", type: LibsUiComponentsModalComponent, selector: "libs_ui-components-modal", inputs: ["show", "mode", "isBackdropTransparent", "isBackgroundTransparentModal", "isSizeBackdropByWidthHeightInput", "hasShadowBoxWhenHiddenBackDropTransparent", "classIncludeModalWrapper", "zIndex", "width", "height", "maxWidth", "maxHeight", "minWidth", "isFullScreen", "disable", "ignoreCommunicateMicroEvent", "headerConfig", "bodyConfig", "footerConfig", "buttonsFooter", "title", "titleUseXssFilter", "titleUseTooltip", "titleUseInnerText"], outputs: ["showChange", "widthChange", "heightChange", "maxWidthChange", "maxHeightChange", "minWidthChange", "disableChange", "buttonsFooterChange", "outScrollContent", "outEvent", "outFunctionControl"] }, { kind: "component", type: LibsUiComponentsInputsValidComponent, selector: "libs_ui-components-inputs-valid", inputs: ["item", "labelConfig", "emitEmptyInDataTypeNumber", "ignoreBlockInputMaxValue", "fieldNameBind", "showCount", "typeComponentSelectItem", "valueComponentSelectItem", "disableComponentSelectItem", "tagInput", "dataType", "typeInput", "modeInput", "resetAutoCompletePassword", "textAreaEnterNotNewLine", "fixedFloat", "acceptNegativeValue", "valueUpDownNumber", "ignoreWidthInput100", "classIncludeInput", "classContainerInput", "readonly", "disable", "noBorder", "backgroundNone", "useColorModeExist", "placeholder", "keepPlaceholderOnly", "classContainerBottomInput", "autoRemoveEmoji", "defaultHeight", "maxHeightTextArea", "minHeightTextArea", "ignoreShowError", "borderError", "iconLeftClass", "popoverContentIconLeft", "iconRightClass", "popoverContentIconRight", "zIndexPopoverContent", "unitsLeft", "configUnitLeft", "keySelectedUnitLeft", "unitsRight", "configUnitRight", "keySelectedUnitRight", "maxValueNumber", "minValueNumber", "ignoreContentLeft", "ignoreContentRight", "isBaselineStyle", "valuePatternShowError", "validPattern", "validRequired", "validMinLength", "validMinValue", "validMaxValue", "validMaxLength", "functionValid", "maxLength", "positionMessageErrorStartInput", "classInclude", "resize", "templateLeftBottomInput", "templateRightBottomInput", "onlyAcceptNegativeValue", "autoAddZeroLessThan10InTypeInt", "maxLengthNumberCount", "classMessageErrorInclude", "ignoreStopPropagationEvent", "ignoreUnitRightClassReadOnly", "paddingRightCustomSpecific", "focusTimeOut", "debounceTimeValidate"], outputs: ["itemChange", "outValueChange", "outSelect", "outIconLeft", "outIconRight", "outClickButtonLabel", "outSwitchEventLabel", "outLabelRightClick", "outEnterInputEvent", "outHeightAreaChange", "outFunctionsControl", "outFocusAndBlur", "outChangeValueByButtonUpDown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
47
|
+
}
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LibsUiComponentsInputsQuillLinkComponent, decorators: [{
|
|
49
|
+
type: Component,
|
|
50
|
+
args: [{ selector: 'libs_ui-components-inputs-quill-link', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [LibsUiComponentsModalComponent, LibsUiComponentsInputsValidComponent], template: "<libs_ui-components-modal\n [title]=\"'i18n_insert_link'\"\n [mode]=\"'center'\"\n [height]=\"'auto'\"\n [width]=\"'598px'\"\n [ignoreCommunicateMicroEvent]=\"ignoreCommunicateMicroEvent()\"\n [headerConfig]=\"{ ignoreHeaderTheme: true }\"\n [zIndex]=\"zIndex()\"\n (outEvent)=\"handlerEvent($event)\">\n <div class=\"libs-ui-modal-body-custom\">\n <libs_ui-components-inputs-valid\n [labelConfig]=\"{ labelLeft: 'i18n_content', required: true }\"\n [(item)]=\"dataLink\"\n [fieldNameBind]=\"'title'\"\n [placeholder]=\"'i18n_import_content'\"\n [validRequired]=\"{ isRequired: true }\"\n (outFunctionsControl)=\"handlerFunctionsControl($event)\" />\n <div class=\"mt-[16px]\">\n <libs_ui-components-inputs-valid\n [labelConfig]=\"{ labelLeft: 'Link', required: true }\"\n [(item)]=\"dataLink\"\n [fieldNameBind]=\"'link'\"\n [placeholder]=\"'https:/\u2026'\"\n [validRequired]=\"{ isRequired: true }\"\n [validPattern]=\"[{ pattern: patternLink(), valuePatternShowError: false }]\"\n [keySelectedUnitLeft]=\"'1'\"\n [unitsLeft]=\"[{ id: '1', label: 'URL' }]\"\n (outFunctionsControl)=\"handlerFunctionsControl($event)\" />\n </div>\n </div>\n</libs_ui-components-modal>\n" }]
|
|
51
|
+
}] });
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvaW5wdXRzL3F1aWxsL3NyYy9saW5rL2xpbmsuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2lucHV0cy9xdWlsbC9zcmMvbGluay9saW5rLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFtQyxvQ0FBb0MsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pILE9BQU8sRUFBRSw4QkFBOEIsRUFBb0IsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBVTVDLE1BQU0sT0FBTyx3Q0FBd0M7SUFDekMsUUFBUSxHQUFHLE1BQU0sQ0FBa0MsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzVFLFdBQVcsR0FBRyxNQUFNLENBQVMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUU3Qyx5QkFBeUIsR0FBRyxNQUFNLENBQXlDLEVBQUUsQ0FBQyxDQUFDO0lBRTlFLE1BQU0sR0FBRyxLQUFLLENBQVMsSUFBSSxDQUFDLENBQUM7SUFDN0IsS0FBSyxHQUFHLEtBQUssRUFBVSxDQUFDO0lBQ3hCLElBQUksR0FBRyxLQUFLLEVBQVUsQ0FBQztJQUN2QiwyQkFBMkIsR0FBRyxLQUFLLEVBQVcsQ0FBQztJQUUvQyxRQUFRLEdBQUcsTUFBTSxFQUFRLENBQUM7SUFDMUIsV0FBVyxHQUFHLE1BQU0sRUFBbUMsQ0FBQztJQUVqRSxRQUFRO1FBQ04sTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLENBQUM7SUFDSCxDQUFDO0lBRVMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLEtBQXNDO1FBQzVFLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRU8sS0FBSyxDQUFDLFFBQVE7UUFDcEIsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLEtBQUssTUFBTSxPQUFPLElBQUksSUFBSSxDQUFDLHlCQUF5QixFQUFFLEVBQUUsQ0FBQztZQUN2RCxJQUFJLENBQUMsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDaEIsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFUyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQXVCO1FBQ2xELElBQUksS0FBSyxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDckIsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLE1BQU0sSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQzt3R0E3Q1Usd0NBQXdDOzRGQUF4Qyx3Q0FBd0MsNnNCQ2JyRCwyd0NBK0JBLDRDRHBCWSw4QkFBOEIsbXRCQUFFLG9DQUFvQzs7NEZBRW5FLHdDQUF3QztrQkFScEQsU0FBUzsrQkFFRSxzQ0FBc0MsY0FFcEMsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsOEJBQThCLEVBQUUsb0NBQW9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCwgT25Jbml0LCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUlucHV0VmFsaWRGdW5jdGlvbkNvbnRyb2xFdmVudCwgTGlic1VpQ29tcG9uZW50c0lucHV0c1ZhbGlkQ29tcG9uZW50IH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1pbnB1dHMtdmFsaWQnO1xuaW1wb3J0IHsgTGlic1VpQ29tcG9uZW50c01vZGFsQ29tcG9uZW50LCBUWVBFX01PREFMX0VWRU5UIH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1tb2RhbCc7XG5pbXBvcnQgeyBwYXR0ZXJuVXJsIH0gZnJvbSAnQGxpYnMtdWkvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdsaWJzX3VpLWNvbXBvbmVudHMtaW5wdXRzLXF1aWxsLWxpbmsnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGluay5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbTGlic1VpQ29tcG9uZW50c01vZGFsQ29tcG9uZW50LCBMaWJzVWlDb21wb25lbnRzSW5wdXRzVmFsaWRDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBMaWJzVWlDb21wb25lbnRzSW5wdXRzUXVpbGxMaW5rQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJvdGVjdGVkIGRhdGFMaW5rID0gc2lnbmFsPHsgdGl0bGU6IHN0cmluZzsgbGluazogc3RyaW5nIH0+KHsgdGl0bGU6ICcnLCBsaW5rOiAnJyB9KTtcbiAgcHJvdGVjdGVkIHBhdHRlcm5MaW5rID0gc2lnbmFsPFJlZ0V4cD4ocGF0dGVyblVybCgpKTtcblxuICBwcml2YXRlIGlucHV0VmFsaWRGdW5jdGlvbkNvbnRyb2wgPSBzaWduYWw8QXJyYXk8SUlucHV0VmFsaWRGdW5jdGlvbkNvbnRyb2xFdmVudD4+KFtdKTtcblxuICByZWFkb25seSB6SW5kZXggPSBpbnB1dDxudW1iZXI+KDEyMDApO1xuICByZWFkb25seSB0aXRsZSA9IGlucHV0PHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgbGluayA9IGlucHV0PHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgaWdub3JlQ29tbXVuaWNhdGVNaWNyb0V2ZW50ID0gaW5wdXQ8Ym9vbGVhbj4oKTtcblxuICByZWFkb25seSBvdXRDbG9zZSA9IG91dHB1dDx2b2lkPigpO1xuICByZWFkb25seSBvdXRTYXZlTGluayA9IG91dHB1dDx7IHRpdGxlOiBzdHJpbmc7IGxpbms6IHN0cmluZyB9PigpO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IHRpdGxlID0gdGhpcy50aXRsZSgpO1xuICAgIGNvbnN0IGxpbmsgPSB0aGlzLmxpbmsoKTtcbiAgICBpZiAodGl0bGUgfHwgbGluaykge1xuICAgICAgdGhpcy5kYXRhTGluay51cGRhdGUoKGl0ZW0pID0+ICh7IC4uLml0ZW0sIHRpdGxlOiB0aXRsZSB8fCAnJywgbGluazogbGluayB8fCAnJyB9KSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZXJGdW5jdGlvbnNDb250cm9sKGV2ZW50OiBJSW5wdXRWYWxpZEZ1bmN0aW9uQ29udHJvbEV2ZW50KSB7XG4gICAgdGhpcy5pbnB1dFZhbGlkRnVuY3Rpb25Db250cm9sLnVwZGF0ZSgoaXRlbXMpID0+IFsuLi5pdGVtcywgZXZlbnRdKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdmFsaWRhdGUoKSB7XG4gICAgbGV0IHZhbGlkID0gdHJ1ZTtcbiAgICBmb3IgKGNvbnN0IGNvbnRyb2wgb2YgdGhpcy5pbnB1dFZhbGlkRnVuY3Rpb25Db250cm9sKCkpIHtcbiAgICAgIGlmICghKGF3YWl0IGNvbnRyb2wuY2hlY2tJc1ZhbGlkKCkpKSB7XG4gICAgICAgIHZhbGlkID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB2YWxpZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVyRXZlbnQoZXZlbnQ6IFRZUEVfTU9EQUxfRVZFTlQpIHtcbiAgICBpZiAoZXZlbnQgIT09ICdhZ3JlZScpIHtcbiAgICAgIHRoaXMub3V0Q2xvc2UuZW1pdCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoYXdhaXQgdGhpcy52YWxpZGF0ZSgpKSB7XG4gICAgICB0aGlzLm91dFNhdmVMaW5rLmVtaXQodGhpcy5kYXRhTGluaygpKTtcbiAgICAgIHRoaXMub3V0Q2xvc2UuZW1pdCgpO1xuICAgIH1cbiAgfVxufVxuIiwiPGxpYnNfdWktY29tcG9uZW50cy1tb2RhbFxuICBbdGl0bGVdPVwiJ2kxOG5faW5zZXJ0X2xpbmsnXCJcbiAgW21vZGVdPVwiJ2NlbnRlcidcIlxuICBbaGVpZ2h0XT1cIidhdXRvJ1wiXG4gIFt3aWR0aF09XCInNTk4cHgnXCJcbiAgW2lnbm9yZUNvbW11bmljYXRlTWljcm9FdmVudF09XCJpZ25vcmVDb21tdW5pY2F0ZU1pY3JvRXZlbnQoKVwiXG4gIFtoZWFkZXJDb25maWddPVwieyBpZ25vcmVIZWFkZXJUaGVtZTogdHJ1ZSB9XCJcbiAgW3pJbmRleF09XCJ6SW5kZXgoKVwiXG4gIChvdXRFdmVudCk9XCJoYW5kbGVyRXZlbnQoJGV2ZW50KVwiPlxuICA8ZGl2IGNsYXNzPVwibGlicy11aS1tb2RhbC1ib2R5LWN1c3RvbVwiPlxuICAgIDxsaWJzX3VpLWNvbXBvbmVudHMtaW5wdXRzLXZhbGlkXG4gICAgICBbbGFiZWxDb25maWddPVwieyBsYWJlbExlZnQ6ICdpMThuX2NvbnRlbnQnLCByZXF1aXJlZDogdHJ1ZSB9XCJcbiAgICAgIFsoaXRlbSldPVwiZGF0YUxpbmtcIlxuICAgICAgW2ZpZWxkTmFtZUJpbmRdPVwiJ3RpdGxlJ1wiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiJ2kxOG5faW1wb3J0X2NvbnRlbnQnXCJcbiAgICAgIFt2YWxpZFJlcXVpcmVkXT1cInsgaXNSZXF1aXJlZDogdHJ1ZSB9XCJcbiAgICAgIChvdXRGdW5jdGlvbnNDb250cm9sKT1cImhhbmRsZXJGdW5jdGlvbnNDb250cm9sKCRldmVudClcIiAvPlxuICAgIDxkaXYgY2xhc3M9XCJtdC1bMTZweF1cIj5cbiAgICAgIDxsaWJzX3VpLWNvbXBvbmVudHMtaW5wdXRzLXZhbGlkXG4gICAgICAgIFtsYWJlbENvbmZpZ109XCJ7IGxhYmVsTGVmdDogJ0xpbmsnLCByZXF1aXJlZDogdHJ1ZSB9XCJcbiAgICAgICAgWyhpdGVtKV09XCJkYXRhTGlua1wiXG4gICAgICAgIFtmaWVsZE5hbWVCaW5kXT1cIidsaW5rJ1wiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInaHR0cHM6L+KApidcIlxuICAgICAgICBbdmFsaWRSZXF1aXJlZF09XCJ7IGlzUmVxdWlyZWQ6IHRydWUgfVwiXG4gICAgICAgIFt2YWxpZFBhdHRlcm5dPVwiW3sgcGF0dGVybjogcGF0dGVybkxpbmsoKSwgdmFsdWVQYXR0ZXJuU2hvd0Vycm9yOiBmYWxzZSB9XVwiXG4gICAgICAgIFtrZXlTZWxlY3RlZFVuaXRMZWZ0XT1cIicxJ1wiXG4gICAgICAgIFt1bml0c0xlZnRdPVwiW3sgaWQ6ICcxJywgbGFiZWw6ICdVUkwnIH1dXCJcbiAgICAgICAgKG91dEZ1bmN0aW9uc0NvbnRyb2wpPVwiaGFuZGxlckZ1bmN0aW9uc0NvbnRyb2woJGV2ZW50KVwiIC8+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9saWJzX3VpLWNvbXBvbmVudHMtbW9kYWw+XG4iXX0=
|