@acorex/components 18.12.0 → 18.12.2
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2022/menu/lib/context-menu.component.mjs +2 -2
- package/esm2022/menu/lib/menu-item.component.mjs +57 -52
- package/esm2022/menu/lib/menu.component.mjs +2 -2
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.mjs +42 -34
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-toolbar/wysiwyg-toolbar.component.mjs +11 -5
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.mjs +7 -12
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.mjs +6 -11
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.mjs +23 -28
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.mjs +5 -11
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.mjs +4 -10
- package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.mjs +10 -15
- package/fesm2022/acorex-components-menu.mjs +60 -55
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-wysiwyg.mjs +92 -110
- package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
- package/menu/lib/menu-item.component.d.ts +6 -5
- package/package.json +23 -23
- package/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.d.ts +3 -8
- package/wysiwyg/lib/wysiwyg/wysiwyg-toolbar/wysiwyg-toolbar.component.d.ts +1 -0
- package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.d.ts +0 -3
- package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.d.ts +0 -3
- package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.d.ts +0 -3
- package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.d.ts +0 -5
- package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.d.ts +0 -5
- package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.d.ts +0 -3
@@ -1,6 +1,7 @@
|
|
1
1
|
import { AXWysiwyg } from '@acorex/cdk/wysiwyg';
|
2
2
|
import { AXClearableComponent, AXComponent, AXFocusableComponent, AXValuableComponent, MXInputBaseValueComponent, MXLookComponent, } from '@acorex/components/common';
|
3
|
-
import {
|
3
|
+
import { isBrowser } from '@acorex/core/platform';
|
4
|
+
import { ChangeDetectionStrategy, Component, NgZone, ViewEncapsulation, afterNextRender, effect, forwardRef, inject, input, } from '@angular/core';
|
4
5
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
5
6
|
import { classes } from 'polytype';
|
6
7
|
import { QuillDeltaToHtmlConverter } from 'quill-delta-to-html';
|
@@ -11,51 +12,58 @@ import * as i0 from "@angular/core";
|
|
11
12
|
* @category Components
|
12
13
|
*/
|
13
14
|
export class AXWysiwygContainerComponent extends classes((MXInputBaseValueComponent), MXLookComponent) {
|
14
|
-
/** @ignore */
|
15
15
|
constructor() {
|
16
|
-
super();
|
17
|
-
/** @ignore */
|
18
|
-
this.zone = inject(NgZone);
|
19
|
-
this.wysiwyg = signal(null);
|
20
|
-
/** @ignore */
|
21
|
-
this.view = signal(null);
|
16
|
+
super(...arguments);
|
22
17
|
/** @ignore */
|
23
18
|
this.service = inject(AXWysiwygService);
|
19
|
+
/** @ignore */
|
20
|
+
this.zone = inject(NgZone);
|
24
21
|
/**
|
25
22
|
* Specifies the placeholder text.
|
26
23
|
*
|
27
24
|
*/
|
28
25
|
this.placeHolder = input();
|
29
|
-
afterNextRender(() => {
|
30
|
-
|
31
|
-
this.zone.runOutsideAngular(() => {
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
26
|
+
this.#init = afterNextRender(() => {
|
27
|
+
const view = this.getHostElement().querySelector('ax-wysiwyg-view');
|
28
|
+
this.zone.runOutsideAngular(async () => {
|
29
|
+
if (isBrowser()) {
|
30
|
+
const newWysiwyg = new AXWysiwyg();
|
31
|
+
await newWysiwyg.init(view, {
|
32
|
+
readOnly: true,
|
33
|
+
});
|
34
|
+
this.service.wysiwyg.set(newWysiwyg);
|
35
|
+
}
|
36
36
|
});
|
37
|
-
this.service.wysiwyg.set(this.wysiwyg());
|
38
|
-
this.setTimeOut = setTimeout(() => {
|
39
|
-
this.wysiwyg().wysiwygObj.enable();
|
40
|
-
}, 1000);
|
41
37
|
});
|
42
|
-
effect(() => {
|
43
|
-
if (this.placeHolder() && this.wysiwyg()) {
|
44
|
-
this.wysiwyg().
|
38
|
+
this.#effect1 = effect(() => {
|
39
|
+
if (this.placeHolder() && this.service.wysiwyg()?.quillObj()) {
|
40
|
+
this.service.wysiwyg().quillObj().root.setAttribute('data-placeholder', this.placeHolder());
|
41
|
+
}
|
42
|
+
else if (this.service.wysiwyg()?.quillObj()) {
|
43
|
+
this.service.wysiwyg().quillObj().root.setAttribute('data-placeholder', 'Write Your Message ...');
|
45
44
|
}
|
46
|
-
|
47
|
-
|
45
|
+
});
|
46
|
+
this.#effect2 = effect(() => {
|
47
|
+
if (this.value && this.service.wysiwyg()?.quillObj()) {
|
48
|
+
this.service.wysiwyg().quillObj().root.innerHTML = this.value;
|
48
49
|
}
|
49
50
|
});
|
50
|
-
effect(() => {
|
51
|
-
if (this.
|
52
|
-
this.wysiwyg().
|
51
|
+
this.#effect3 = effect(() => {
|
52
|
+
if (this.service.wysiwyg()?.quillObj()) {
|
53
|
+
this.service.wysiwyg().quillObj().on('text-change', this.changeHandler.bind(this));
|
54
|
+
this.setTimeOut = setTimeout(() => {
|
55
|
+
this.service.wysiwyg()?.quillObj().enable();
|
56
|
+
}, 1000);
|
53
57
|
}
|
54
|
-
}
|
58
|
+
});
|
55
59
|
}
|
60
|
+
#init;
|
61
|
+
#effect1;
|
62
|
+
#effect2;
|
63
|
+
#effect3;
|
56
64
|
/** @ignore */
|
57
65
|
changeHandler() {
|
58
|
-
const value = this.wysiwyg().
|
66
|
+
const value = this.service.wysiwyg()?.quillObj().root.innerHTML;
|
59
67
|
if (value === '<p><br></p>' || !value) {
|
60
68
|
this.commitValue(null);
|
61
69
|
if (this.service.isEditorClean())
|
@@ -63,7 +71,7 @@ export class AXWysiwygContainerComponent extends classes((MXInputBaseValueCompon
|
|
63
71
|
this.service.isEditorClean.set(true);
|
64
72
|
}
|
65
73
|
else {
|
66
|
-
const delta = this.wysiwyg().
|
74
|
+
const delta = this.service.wysiwyg()?.quillObj().editor.delta.ops;
|
67
75
|
const cfg = { inlineStyles: true };
|
68
76
|
const converter = new QuillDeltaToHtmlConverter(delta, cfg);
|
69
77
|
const html = converter.convert();
|
@@ -75,10 +83,10 @@ export class AXWysiwygContainerComponent extends classes((MXInputBaseValueCompon
|
|
75
83
|
}
|
76
84
|
/** @ignore */
|
77
85
|
ngOnDestroy() {
|
78
|
-
this.wysiwyg().
|
86
|
+
this.service.wysiwyg()?.quillObj().off('text-change', this.changeHandler);
|
79
87
|
clearTimeout(this.setTimeOut);
|
80
88
|
}
|
81
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXWysiwygContainerComponent, deps:
|
89
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXWysiwygContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
82
90
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.0", type: AXWysiwygContainerComponent, selector: "ax-wysiwyg-container", inputs: { look: { classPropertyName: "look", publicName: "look", isSignal: false, isRequired: false, transformFunction: null }, placeHolder: { classPropertyName: "placeHolder", publicName: "placeHolder", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onValueChanged: "onValueChanged" }, providers: [
|
83
91
|
{ provide: AXComponent, useExisting: AXWysiwygContainerComponent },
|
84
92
|
{ provide: AXFocusableComponent, useExisting: AXWysiwygContainerComponent },
|
@@ -104,5 +112,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
104
112
|
multi: true,
|
105
113
|
},
|
106
114
|
], template: "<div class=\"ax-editor-container ax-look-{{ look }}\">\n <ng-content></ng-content>\n <ng-content select=\"ax-validation-rule\"> </ng-content>\n</div>\n<div class=\"ax-error-container\"></div>\n", styles: [".ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:\"\\2022\"}.ql-editor li[data-list=checked]>.ql-ui:before{content:\"\\2611\"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:\"\\2610\"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) \". \"}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) \". \"}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) \". \"}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) \". \"}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) \". \"}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) \". \"}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) \". \"}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) \". \"}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) \". \"}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) \". \"}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}ax-wysiwyg-container{width:100%;display:block}ax-wysiwyg-container>.ax-editor-container{display:block;height:auto!important}\n/*! Bundled license information:\n\nquill/dist/quill.core.css:\n (*!\n * Quill Editor v2.0.2\n * https://quilljs.com\n * Copyright (c) 2017-2024, Slab\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n *)\n*/\n"] }]
|
107
|
-
}]
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3lzaXd5Zy1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3d5c2l3eWcvc3JjL2xpYi93eXNpd3lnL3d5c2l3eWctY29udGFpbmVyL3d5c2l3eWctY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy93eXNpd3lnL3NyYy9saWIvd3lzaXd5Zy93eXNpd3lnLWNvbnRhaW5lci93eXNpd3lnLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixXQUFXLEVBQ1gsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIsZUFBZSxHQUNoQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFFTixpQkFBaUIsRUFDakIsZUFBZSxFQUNmLE1BQU0sRUFDTixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNuQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFdEQ7OztHQUdHO0FBcUJILE1BQU0sT0FBTywyQkFDWCxTQUFRLE9BQU8sQ0FBQyxDQUFBLHlCQUFpQyxDQUFBLEVBQUUsZUFBZSxDQUFDO0lBdUJuRSxjQUFjO0lBQ2Q7UUFD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QkFDMUQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGlEQ2pESCxxTUFLQTs7MkZEOENhLDJCQUEyQjtrQkFwQnZDLFNBQVM7K0JBQ0Usc0JBQXNCLFVBR3hCLENBQUMsTUFBTSxDQUFDLFdBQ1AsQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFDVix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCO3dCQUNULEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLDZCQUE2QixFQUFFO3dCQUNsRSxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxXQUFXLDZCQUE2QixFQUFFO3dCQUMzRSxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxXQUFXLDZCQUE2QixFQUFFO3dCQUMzRSxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLDZCQUE2QixFQUFFO3dCQUMxRTs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw0QkFBNEIsQ0FBQzs0QkFDMUQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFd5c2l3eWcgfSBmcm9tICdAYWNvcmV4L2Nkay93eXNpd3lnJztcclxuaW1wb3J0IHtcclxuICBBWENsZWFyYWJsZUNvbXBvbmVudCxcclxuICBBWENvbXBvbmVudCxcclxuICBBWEZvY3VzYWJsZUNvbXBvbmVudCxcclxuICBBWFZhbHVhYmxlQ29tcG9uZW50LFxyXG4gIE1YSW5wdXRCYXNlVmFsdWVDb21wb25lbnQsXHJcbiAgTVhMb29rQ29tcG9uZW50LFxyXG59IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBOZ1pvbmUsXHJcbiAgT25EZXN0cm95LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIGFmdGVyTmV4dFJlbmRlcixcclxuICBlZmZlY3QsXHJcbiAgZm9yd2FyZFJlZixcclxuICBpbmplY3QsXHJcbiAgaW5wdXQsXHJcbiAgc2lnbmFsLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJ3BvbHl0eXBlJztcclxuaW1wb3J0IHsgUXVpbGxEZWx0YVRvSHRtbENvbnZlcnRlciB9IGZyb20gJ3F1aWxsLWRlbHRhLXRvLWh0bWwnO1xyXG5pbXBvcnQgeyBBWFd5c2l3eWdTZXJ2aWNlIH0gZnJvbSAnLi4vd3lzaXd5Zy5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBBIGNvbnRhaW5lciBjb21wb25lbnQgZm9yIFdZU0lXWUcgKFdoYXQgWW91IFNlZSBJcyBXaGF0IFlvdSBHZXQpIGVkaXRvciBmdW5jdGlvbmFsaXR5LlxyXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC13eXNpd3lnLWNvbnRhaW5lcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3d5c2l3eWctY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vd3lzaXd5Zy1jb250YWluZXIuY29tcG9uZW50LnNjc3MnLFxyXG4gIGlucHV0czogWydsb29rJ10sXHJcbiAgb3V0cHV0czogWydvblZhbHVlQ2hhbmdlZCddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7IHByb3ZpZGU6IEFYQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhXeXNpd3lnQ29udGFpbmVyQ29tcG9uZW50IH0sXHJcbiAgICB7IHByb3ZpZGU6IEFYRm9jdXNhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhXeXNpd3lnQ29udGFpbmVyQ29tcG9uZW50IH0sXHJcbiAgICB7IHByb3ZpZGU6IEFYQ2xlYXJhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhXeXNpd3lnQ29udGFpbmVyQ29tcG9uZW50IH0sXHJcbiAgICB7IHByb3ZpZGU6IEFYVmFsdWFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFd5c2l3eWdDb250YWluZXJDb21wb25lbnQgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFYV3lzaXd5Z0NvbnRhaW5lckNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhXeXNpd3lnQ29udGFpbmVyQ29tcG9uZW50XHJcbiAgZXh0ZW5kcyBjbGFzc2VzKE1YSW5wdXRCYXNlVmFsdWVDb21wb25lbnQ8c3RyaW5nPiwgTVhMb29rQ29tcG9uZW50KVxyXG4gIGltcGxlbWVudHMgT25EZXN0cm95XHJcbntcclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIHByaXZhdGUgem9uZSA9IGluamVjdChOZ1pvbmUpO1xyXG5cclxuICB3eXNpd3lnID0gc2lnbmFsPEFYV3lzaXd5Zz4obnVsbCk7XHJcblxyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgcHJvdGVjdGVkIHZpZXcgPSBzaWduYWw8SFRNTEVsZW1lbnQgfCBudWxsPihudWxsKTtcclxuXHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBwcm90ZWN0ZWQgc2VydmljZSA9IGluamVjdChBWFd5c2l3eWdTZXJ2aWNlKTtcclxuXHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBwcm90ZWN0ZWQgc2V0VGltZU91dDtcclxuXHJcbiAgLyoqXHJcbiAgICogU3BlY2lmaWVzIHRoZSBwbGFjZWhvbGRlciB0ZXh0LlxyXG4gICAqXHJcbiAgICovXHJcbiAgcGxhY2VIb2xkZXIgPSBpbnB1dDxzdHJpbmc+KCk7XHJcblxyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcclxuICAgICAgdGhpcy52aWV3LnNldCh0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcignYXgtd3lzaXd5Zy12aWV3JykgYXMgSFRNTEVsZW1lbnQpO1xyXG4gICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMud3lzaXd5Zy5zZXQoXHJcbiAgICAgICAgICBuZXcgQVhXeXNpd3lnKHRoaXMudmlldygpLCB7XHJcbiAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlLFxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnd5c2l3eWcoKS53eXNpd3lnT2JqLm9uKCd0ZXh0LWNoYW5nZScsIHRoaXMuY2hhbmdlSGFuZGxlci5iaW5kKHRoaXMpKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuc2VydmljZS53eXNpd3lnLnNldCh0aGlzLnd5c2l3eWcoKSk7XHJcblxyXG4gICAgICB0aGlzLnNldFRpbWVPdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLnd5c2l3eWcoKS53eXNpd3lnT2JqLmVuYWJsZSgpO1xyXG4gICAgICB9LCAxMDAwKTtcclxuICAgIH0pO1xyXG5cclxuICAgIGVmZmVjdCgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLnBsYWNlSG9sZGVyKCkgJiYgdGhpcy53eXNpd3lnKCkpIHtcclxuICAgICAgICB0aGlzLnd5c2l3eWcoKS53eXNpd3lnT2JqLnJvb3Quc2V0QXR0cmlidXRlKCdkYXRhLXBsYWNlaG9sZGVyJywgdGhpcy5wbGFjZUhvbGRlcigpKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnd5c2l3eWcoKS53eXNpd3lnT2JqLnJvb3Quc2V0QXR0cmlidXRlKCdkYXRhLXBsYWNlaG9sZGVyJywgJ1dyaXRlIFlvdXIgTWVzc2FnZSAuLi4nKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgZWZmZWN0KFxyXG4gICAgICAoKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMudmFsdWUpIHtcclxuICAgICAgICAgIHRoaXMud3lzaXd5ZygpLnd5c2l3eWdPYmoucm9vdC5pbm5lckhUTUwgPSB0aGlzLnZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgcHJvdGVjdGVkIGNoYW5nZUhhbmRsZXIoKSB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMud3lzaXd5ZygpLnd5c2l3eWdPYmoucm9vdC5pbm5lckhUTUw7XHJcbiAgICBpZiAodmFsdWUgPT09ICc8cD48YnI+PC9wPicgfHwgIXZhbHVlKSB7XHJcbiAgICAgIHRoaXMuY29tbWl0VmFsdWUobnVsbCk7XHJcbiAgICAgIGlmICh0aGlzLnNlcnZpY2UuaXNFZGl0b3JDbGVhbigpKSByZXR1cm47XHJcbiAgICAgIHRoaXMuc2VydmljZS5pc0VkaXRvckNsZWFuLnNldCh0cnVlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGRlbHRhID0gdGhpcy53eXNpd3lnKCkud3lzaXd5Z09iai5lZGl0b3IuZGVsdGEub3BzO1xyXG4gICAgICBjb25zdCBjZmcgPSB7IGlubGluZVN0eWxlczogdHJ1ZSB9O1xyXG4gICAgICBjb25zdCBjb252ZXJ0ZXIgPSBuZXcgUXVpbGxEZWx0YVRvSHRtbENvbnZlcnRlcihkZWx0YSwgY2ZnKTtcclxuICAgICAgY29uc3QgaHRtbCA9IGNvbnZlcnRlci5jb252ZXJ0KCk7XHJcbiAgICAgIHRoaXMuY29tbWl0VmFsdWUoaHRtbCk7XHJcbiAgICAgIGlmICghdGhpcy5zZXJ2aWNlLmlzRWRpdG9yQ2xlYW4oKSkgcmV0dXJuO1xyXG4gICAgICB0aGlzLnNlcnZpY2UuaXNFZGl0b3JDbGVhbi5zZXQoZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMud3lzaXd5ZygpLnd5c2l3eWdPYmoub2ZmKCd0ZXh0LWNoYW5nZScsIHRoaXMuY2hhbmdlSGFuZGxlcik7XHJcbiAgICBjbGVhclRpbWVvdXQodGhpcy5zZXRUaW1lT3V0KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImF4LWVkaXRvci1jb250YWluZXIgYXgtbG9vay17eyBsb29rIH19XCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtdmFsaWRhdGlvbi1ydWxlXCI+IDwvbmctY29udGVudD5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImF4LWVycm9yLWNvbnRhaW5lclwiPjwvZGl2PlxuIl19
|
115
|
+
}] });
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3lzaXd5Zy1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3d5c2l3eWcvc3JjL2xpYi93eXNpd3lnL3d5c2l3eWctY29udGFpbmVyL3d5c2l3eWctY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy93eXNpd3lnL3NyYy9saWIvd3lzaXd5Zy93eXNpd3lnLWNvbnRhaW5lci93eXNpd3lnLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixXQUFXLEVBQ1gsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIsZUFBZSxHQUNoQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEVBRU4saUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixNQUFNLEVBQ04sVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNuQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFdEQ7OztHQUdHO0FBcUJILE1BQU0sT0FBTywyQkFDWCxTQUFRLE9BQU8sQ0FBQyxDQUFBLHlCQUFpQyxDQUFBLEVB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eWcgfSBmcm9tICdAYWNvcmV4L2Nkay93eXNpd3lnJztcclxuaW1wb3J0IHtcclxuICBBWENsZWFyYWJsZUNvbXBvbmVudCxcclxuICBBWENvbXBvbmVudCxcclxuICBBWEZvY3VzYWJsZUNvbXBvbmVudCxcclxuICBBWFZhbHVhYmxlQ29tcG9uZW50LFxyXG4gIE1YSW5wdXRCYXNlVmFsdWVDb21wb25lbnQsXHJcbiAgTVhMb29rQ29tcG9uZW50LFxyXG59IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xyXG5pbXBvcnQgeyBpc0Jyb3dzZXIgfSBmcm9tICdAYWNvcmV4L2NvcmUvcGxhdGZvcm0nO1xyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBOZ1pvbmUsXHJcbiAgT25EZXN0cm95LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIGFmdGVyTmV4dFJlbmRlcixcclxuICBlZmZlY3QsXHJcbiAgZm9yd2FyZFJlZixcclxuICBpbmplY3QsXHJcbiAgaW5wdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBjbGFzc2VzIH0gZnJvbSAncG9seXR5cGUnO1xyXG5pbXBvcnQgeyBRdWlsbERlbHRhVG9IdG1sQ29udmVydGVyIH0gZnJvbSAncXVpbGwtZGVsdGEtdG8taHRtbCc7XHJcbmltcG9ydCB7IEFYV3lzaXd5Z1NlcnZpY2UgfSBmcm9tICcuLi93eXNpd3lnLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIEEgY29udGFpbmVyIGNvbXBvbmVudCBmb3IgV1lTSVdZRyAoV2hhdCBZb3UgU2VlIElzIFdoYXQgWW91IEdldCkgZWRpdG9yIGZ1bmN0aW9uYWxpdHkuXHJcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LXd5c2l3eWctY29udGFpbmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vd3lzaXd5Zy1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi93eXNpd3lnLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcycsXHJcbiAgaW5wdXRzOiBbJ2xvb2snXSxcclxuICBvdXRwdXRzOiBbJ29uVmFsdWVDaGFuZ2VkJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHsgcHJvdmlkZTogQVhDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFd5c2l3eWdDb250YWluZXJDb21wb25lbnQgfSxcclxuICAgIHsgcHJvdmlkZTogQVhGb2N1c2FibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFd5c2l3eWdDb250YWluZXJDb21wb25lbnQgfSxcclxuICAgIHsgcHJvdmlkZTogQVhDbGVhcmFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFd5c2l3eWdDb250YWluZXJDb21wb25lbnQgfSxcclxuICAgIHsgcHJvdmlkZTogQVhWYWx1YWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYV3lzaXd5Z0NvbnRhaW5lckNvbXBvbmVudCB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQVhXeXNpd3lnQ29udGFpbmVyQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFd5c2l3eWdDb250YWluZXJDb21wb25lbnRcclxuICBleHRlbmRzIGNsYXNzZXMoTVhJbnB1dEJhc2VWYWx1ZUNvbXBvbmVudDxzdHJpbmc+LCBNWExvb2tDb21wb25lbnQpXHJcbiAgaW1wbGVtZW50cyBPbkRlc3Ryb3lcclxue1xyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgcHJvdGVjdGVkIHNlcnZpY2UgPSBpbmplY3QoQVhXeXNpd3lnU2VydmljZSk7XHJcblxyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgcHJvdGVjdGVkIHNldFRpbWVPdXQ7XHJcblxyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgcHJpdmF0ZSB6b25lID0gaW5qZWN0KE5nWm9uZSk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNwZWNpZmllcyB0aGUgcGxhY2Vob2xkZXIgdGV4dC5cclxuICAgKlxyXG4gICAqL1xyXG4gIHBsYWNlSG9sZGVyID0gaW5wdXQ8c3RyaW5nPigpO1xyXG5cclxuICAjaW5pdCA9IGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XHJcbiAgICBjb25zdCB2aWV3ID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3IoJ2F4LXd5c2l3eWctdmlldycpIGFzIEhUTUxFbGVtZW50O1xyXG5cclxuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcihhc3luYyAoKSA9PiB7XHJcbiAgICAgIGlmIChpc0Jyb3dzZXIoKSkge1xyXG4gICAgICAgIGNvbnN0IG5ld1d5c2l3eWcgPSBuZXcgQVhXeXNpd3lnKCk7XHJcblxyXG4gICAgICAgIGF3YWl0IG5ld1d5c2l3eWcuaW5pdCh2aWV3LCB7XHJcbiAgICAgICAgICByZWFkT25seTogdHJ1ZSxcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5zZXJ2aWNlLnd5c2l3eWcuc2V0KG5ld1d5c2l3eWcpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9KTtcclxuXHJcbiAgI2VmZmVjdDEgPSBlZmZlY3QoKCkgPT4ge1xyXG4gICAgaWYgKHRoaXMucGxhY2VIb2xkZXIoKSAmJiB0aGlzLnNlcnZpY2Uud3lzaXd5ZygpPy5xdWlsbE9iaigpKSB7XHJcbiAgICAgIHRoaXMuc2VydmljZS53eXNpd3lnKCkucXVpbGxPYmooKS5yb290LnNldEF0dHJpYnV0ZSgnZGF0YS1wbGFjZWhvbGRlcicsIHRoaXMucGxhY2VIb2xkZXIoKSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuc2VydmljZS53eXNpd3lnKCk/LnF1aWxsT2JqKCkpIHtcclxuICAgICAgdGhpcy5zZXJ2aWNlLnd5c2l3eWcoKS5xdWlsbE9iaigpLnJvb3Quc2V0QXR0cmlidXRlKCdkYXRhLXBsYWNlaG9sZGVyJywgJ1dyaXRlIFlvdXIgTWVzc2FnZSAuLi4nKTtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgI2VmZmVjdDIgPSBlZmZlY3QoKCkgPT4ge1xyXG4gICAgaWYgKHRoaXMudmFsdWUgJiYgdGhpcy5zZXJ2aWNlLnd5c2l3eWcoKT8ucXVpbGxPYmooKSkge1xyXG4gICAgICB0aGlzLnNlcnZpY2Uud3lzaXd5ZygpLnF1aWxsT2JqKCkucm9vdC5pbm5lckhUTUwgPSB0aGlzLnZhbHVlO1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICAjZWZmZWN0MyA9IGVmZmVjdCgoKSA9PiB7XHJcbiAgICBpZiAodGhpcy5zZXJ2aWNlLnd5c2l3eWcoKT8ucXVpbGxPYmooKSkge1xyXG4gICAgICB0aGlzLnNlcnZpY2Uud3lzaXd5ZygpLnF1aWxsT2JqKCkub24oJ3RleHQtY2hhbmdlJywgdGhpcy5jaGFuZ2VIYW5kbGVyLmJpbmQodGhpcykpO1xyXG5cclxuICAgICAgdGhpcy5zZXRUaW1lT3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXJ2aWNlLnd5c2l3eWcoKT8ucXVpbGxPYmooKS5lbmFibGUoKTtcclxuICAgICAgfSwgMTAwMCk7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgcHJvdGVjdGVkIGNoYW5nZUhhbmRsZXIoKSB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuc2VydmljZS53eXNpd3lnKCk/LnF1aWxsT2JqKCkucm9vdC5pbm5lckhUTUw7XHJcbiAgICBpZiAodmFsdWUgPT09ICc8cD48YnI+PC9wPicgfHwgIXZhbHVlKSB7XHJcbiAgICAgIHRoaXMuY29tbWl0VmFsdWUobnVsbCk7XHJcbiAgICAgIGlmICh0aGlzLnNlcnZpY2UuaXNFZGl0b3JDbGVhbigpKSByZXR1cm47XHJcbiAgICAgIHRoaXMuc2VydmljZS5pc0VkaXRvckNsZWFuLnNldCh0cnVlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGRlbHRhID0gdGhpcy5zZXJ2aWNlLnd5c2l3eWcoKT8ucXVpbGxPYmooKS5lZGl0b3IuZGVsdGEub3BzO1xyXG4gICAgICBjb25zdCBjZmcgPSB7IGlubGluZVN0eWxlczogdHJ1ZSB9O1xyXG4gICAgICBjb25zdCBjb252ZXJ0ZXIgPSBuZXcgUXVpbGxEZWx0YVRvSHRtbENvbnZlcnRlcihkZWx0YSwgY2ZnKTtcclxuICAgICAgY29uc3QgaHRtbCA9IGNvbnZlcnRlci5jb252ZXJ0KCk7XHJcbiAgICAgIHRoaXMuY29tbWl0VmFsdWUoaHRtbCk7XHJcbiAgICAgIGlmICghdGhpcy5zZXJ2aWNlLmlzRWRpdG9yQ2xlYW4oKSkgcmV0dXJuO1xyXG4gICAgICB0aGlzLnNlcnZpY2UuaXNFZGl0b3JDbGVhbi5zZXQoZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VydmljZS53eXNpd3lnKCk/LnF1aWxsT2JqKCkub2ZmKCd0ZXh0LWNoYW5nZScsIHRoaXMuY2hhbmdlSGFuZGxlcik7XHJcbiAgICBjbGVhclRpbWVvdXQodGhpcy5zZXRUaW1lT3V0KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImF4LWVkaXRvci1jb250YWluZXIgYXgtbG9vay17eyBsb29rIH19XCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtdmFsaWRhdGlvbi1ydWxlXCI+IDwvbmctY29udGVudD5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImF4LWVycm9yLWNvbnRhaW5lclwiPjwvZGl2PlxuIl19
|
@@ -1,15 +1,21 @@
|
|
1
|
-
import { Component, ViewEncapsulation } from '@angular/core';
|
1
|
+
import { Component, HostBinding, ViewEncapsulation } from '@angular/core';
|
2
2
|
import * as i0 from "@angular/core";
|
3
3
|
/**
|
4
4
|
* A toolbar component for the WYSIWYG editor, providing various formatting options.
|
5
5
|
* @category Components
|
6
6
|
*/
|
7
7
|
export class AXWysiwygToolbarComponent {
|
8
|
+
get __hostClass() {
|
9
|
+
return `ax-sm`;
|
10
|
+
}
|
8
11
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXWysiwygToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
9
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXWysiwygToolbarComponent, selector: "ax-wysiwyg-toolbar", ngImport: i0, template: "<
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXWysiwygToolbarComponent, selector: "ax-wysiwyg-toolbar", host: { properties: { "class": "this.__hostClass" } }, ngImport: i0, template: "<ng-content select=\"ax-prefix\"></ng-content>\r\n<div class=\"ax-wysiwyg-tools\"><ng-content></ng-content></div>\r\n<ng-content select=\"ax-suffix\"></ng-content>\r\n", styles: ["ax-wysiwyg-toolbar{overflow:hidden;display:flex;flex-wrap:wrap;justify-content:space-between;padding:.5rem}ax-wysiwyg-toolbar .ax-icon{font-weight:900;font-size:1rem}ax-wysiwyg-toolbar ax-button{margin-inline:.1rem}ax-wysiwyg-toolbar ax-select-box{margin-inline:.5rem}ax-wysiwyg-toolbar .ax-wysiwyg-tools{display:flex;flex-wrap:wrap}ax-wysiwyg-toolbar ax-select-box{width:auto!important}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
10
13
|
}
|
11
14
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXWysiwygToolbarComponent, decorators: [{
|
12
15
|
type: Component,
|
13
|
-
args: [{ selector: 'ax-wysiwyg-toolbar', encapsulation: ViewEncapsulation.None, template: "<
|
14
|
-
}]
|
15
|
-
|
16
|
+
args: [{ selector: 'ax-wysiwyg-toolbar', encapsulation: ViewEncapsulation.None, template: "<ng-content select=\"ax-prefix\"></ng-content>\r\n<div class=\"ax-wysiwyg-tools\"><ng-content></ng-content></div>\r\n<ng-content select=\"ax-suffix\"></ng-content>\r\n", styles: ["ax-wysiwyg-toolbar{overflow:hidden;display:flex;flex-wrap:wrap;justify-content:space-between;padding:.5rem}ax-wysiwyg-toolbar .ax-icon{font-weight:900;font-size:1rem}ax-wysiwyg-toolbar ax-button{margin-inline:.1rem}ax-wysiwyg-toolbar ax-select-box{margin-inline:.5rem}ax-wysiwyg-toolbar .ax-wysiwyg-tools{display:flex;flex-wrap:wrap}ax-wysiwyg-toolbar ax-select-box{width:auto!important}\n"] }]
|
17
|
+
}], propDecorators: { __hostClass: [{
|
18
|
+
type: HostBinding,
|
19
|
+
args: ['class']
|
20
|
+
}] } });
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3lzaXd5Zy10b29sYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy93eXNpd3lnL3NyYy9saWIvd3lzaXd5Zy93eXNpd3lnLXRvb2xiYXIvd3lzaXd5Zy10b29sYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy93eXNpd3lnL3NyYy9saWIvd3lzaXd5Zy93eXNpd3lnLXRvb2xiYXIvd3lzaXd5Zy10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUxRTs7O0dBR0c7QUFPSCxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLElBQ0ksV0FBVztRQUNiLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7OEdBSlUseUJBQXlCO2tHQUF6Qix5QkFBeUIsaUhDWnRDLHlLQUdBOzsyRkRTYSx5QkFBeUI7a0JBTnJDLFNBQVM7K0JBQ0Usb0JBQW9CLGlCQUdmLGlCQUFpQixDQUFDLElBQUk7OEJBSWpDLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBBIHRvb2xiYXIgY29tcG9uZW50IGZvciB0aGUgV1lTSVdZRyBlZGl0b3IsIHByb3ZpZGluZyB2YXJpb3VzIGZvcm1hdHRpbmcgb3B0aW9ucy5cbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXd5c2l3eWctdG9vbGJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi93eXNpd3lnLXRvb2xiYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vd3lzaXd5Zy10b29sYmFyLmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQVhXeXNpd3lnVG9vbGJhckNvbXBvbmVudCB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgX19ob3N0Q2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGF4LXNtYDtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtcHJlZml4XCI+PC9uZy1jb250ZW50PlxyXG48ZGl2IGNsYXNzPVwiYXgtd3lzaXd5Zy10b29sc1wiPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L2Rpdj5cclxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtc3VmZml4XCI+PC9uZy1jb250ZW50PlxyXG4iXX0=
|
package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.mjs
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Component,
|
1
|
+
import { Component, effect, inject, signal } from '@angular/core';
|
2
2
|
import { AXWysiwygService } from '../../wysiwyg.service';
|
3
3
|
import * as i0 from "@angular/core";
|
4
4
|
import * as i1 from "@acorex/components/button";
|
@@ -16,8 +16,6 @@ export class AXWysiwygAlignmentComponent {
|
|
16
16
|
/** @ignore */
|
17
17
|
this.alignState = signal('');
|
18
18
|
/** @ignore */
|
19
|
-
this.wysiwyg = signal(null);
|
20
|
-
/** @ignore */
|
21
19
|
this.popoverOption = {
|
22
20
|
openOn: 'click',
|
23
21
|
closeOn: 'clickOut',
|
@@ -26,30 +24,27 @@ export class AXWysiwygAlignmentComponent {
|
|
26
24
|
offsetY: 0,
|
27
25
|
};
|
28
26
|
effect(() => {
|
29
|
-
if (!this.wysiwyg())
|
27
|
+
if (!this.service.wysiwyg())
|
30
28
|
return;
|
31
29
|
switch (this.service.currentSelectedElemAlign()) {
|
32
30
|
case 'ql-align-center':
|
33
31
|
this.alignState.set('center');
|
34
|
-
this.wysiwyg().align('center');
|
32
|
+
this.service.wysiwyg().align('center');
|
35
33
|
break;
|
36
34
|
case 'ql-align-right':
|
37
35
|
this.alignState.set('right');
|
38
|
-
this.wysiwyg().align('right');
|
36
|
+
this.service.wysiwyg().align('right');
|
39
37
|
break;
|
40
38
|
default:
|
41
39
|
this.alignState.set('left');
|
42
|
-
this.wysiwyg().align('left');
|
40
|
+
this.service.wysiwyg().align('left');
|
43
41
|
}
|
44
42
|
}, { allowSignalWrites: true });
|
45
|
-
afterNextRender(() => {
|
46
|
-
this.wysiwyg.set(this.service.wysiwyg());
|
47
|
-
});
|
48
43
|
}
|
49
44
|
/** @ignore */
|
50
45
|
alignStateHandler(e) {
|
51
46
|
this.alignState.set(e);
|
52
|
-
this.wysiwyg().align(e);
|
47
|
+
this.service.wysiwyg().align(e);
|
53
48
|
}
|
54
49
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXWysiwygAlignmentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
55
50
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXWysiwygAlignmentComponent, selector: "ax-wysiwyg-alignment", ngImport: i0, template: "<ax-button look=\"blank\" #alignPop>\n <ax-icon class=\"ax-icon ax-icon-align-left\"></ax-icon>\n</ax-button>\n<ax-popover [openOn]=\"popoverOption.openOn\" [closeOn]=\"popoverOption.closeOn\" [target]=\"alignPop\" [placement]=\"popoverOption.placement\">\n <div class=\"ax-overlay-pane ax-alignment-cotainer ax-sm\">\n <ax-button (click)=\"alignStateHandler('left')\" look=\"blank\" [selected]=\"alignState() === 'left' ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-align-left\"></ax-icon>\n </ax-button>\n\n <ax-button (click)=\"alignStateHandler('center')\" look=\"blank\" [selected]=\"alignState() === 'center' ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-align-center\"></ax-icon>\n </ax-button>\n\n <ax-button (click)=\"alignStateHandler('right')\" look=\"blank\" [selected]=\"alignState() === 'right' ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-align-right\"></ax-icon>\n </ax-button>\n </div>\n</ax-popover>\n", styles: [".ax-alignment-cotainer{padding:.5rem}\n"], dependencies: [{ kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }] }); }
|
@@ -58,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
58
53
|
type: Component,
|
59
54
|
args: [{ selector: 'ax-wysiwyg-alignment', template: "<ax-button look=\"blank\" #alignPop>\n <ax-icon class=\"ax-icon ax-icon-align-left\"></ax-icon>\n</ax-button>\n<ax-popover [openOn]=\"popoverOption.openOn\" [closeOn]=\"popoverOption.closeOn\" [target]=\"alignPop\" [placement]=\"popoverOption.placement\">\n <div class=\"ax-overlay-pane ax-alignment-cotainer ax-sm\">\n <ax-button (click)=\"alignStateHandler('left')\" look=\"blank\" [selected]=\"alignState() === 'left' ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-align-left\"></ax-icon>\n </ax-button>\n\n <ax-button (click)=\"alignStateHandler('center')\" look=\"blank\" [selected]=\"alignState() === 'center' ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-align-center\"></ax-icon>\n </ax-button>\n\n <ax-button (click)=\"alignStateHandler('right')\" look=\"blank\" [selected]=\"alignState() === 'right' ? true : false\">\n <ax-icon class=\"ax-icon ax-icon-align-right\"></ax-icon>\n </ax-button>\n </div>\n</ax-popover>\n", styles: [".ax-alignment-cotainer{padding:.5rem}\n"] }]
|
60
55
|
}], ctorParameters: () => [] });
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3lzaXd5Zy1hbGlnbm1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3d5c2l3eWcvc3JjL2xpYi93eXNpd3lnL3d5c2l3eWctdG9vbHMvd3lzaXd5Zy1hbGlnbm1lbnQvd3lzaXd5Zy1hbGlnbm1lbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3d5c2l3eWcvc3JjL2xpYi93eXNpd3lnL3d5c2l3eWctdG9vbHMvd3lzaXd5Zy1hbGlnbm1lbnQvd3lzaXd5Zy1hbGlnbm1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7QUFFekQ7OztHQUdHO0FBTUgsTUFBTSxPQUFPLDJCQUEyQjtJQXNCdEMsY0FBYztJQUNkO1FBdEJBLGNBQWM7UUFDZCxZQUFPLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFbkMsY0FBYztRQUNKLGVBQVUsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFbEMsY0FBYztRQUNKLGtCQUFhLEdBTW5CO1lBQ0YsTUFBTSxFQUFFLE9BQU87WUFDZixPQUFPLEVBQUUsVUFBVTtZQUNuQixTQUFTLEVBQUUsS0FBSztZQUNoQixPQUFPLEVBQUUsQ0FBQztZQUNWLE9BQU8sRUFBRSxDQUFDO1NBQ1gsQ0FBQztRQUlBLE1BQU0sQ0FDSixHQUFHLEVBQUU7WUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7Z0JBQUUsT0FBTztZQUNwQyxRQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxDQUFDO2dCQUNoRCxLQUFLLGlCQUFpQjtvQkFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUN2QyxNQUFNO2dCQUNSLEtBQUssZ0JBQWdCO29CQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQ3RDLE1BQU07Z0JBQ1I7b0JBQ0UsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pDLENBQUM7UUFDSCxDQUFDLEVBQ0QsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFRCxjQUFjO0lBQ0osaUJBQWlCLENBQUMsQ0FBTTtRQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsQyxDQUFDOzhHQWpEVSwyQkFBMkI7a0dBQTNCLDJCQUEyQiw0RENkeEMsbTlCQWtCQTs7MkZESmEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUGxhY2VtZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBvcG92ZXJDbG9zZVRyaWdnZXIsIEFYUG9wb3Zlck9wZW5UcmlnZ2VyIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcG92ZXInO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBlZmZlY3QsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFd5c2l3eWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vd3lzaXd5Zy5zZXJ2aWNlJztcblxuLyoqXG4gKiBBIGNvbnRhaW5lciBjb21wb25lbnQgZm9yIFdZU0lXWUcgKFdoYXQgWW91IFNlZSBJcyBXaGF0IFlvdSBHZXQpIGVkaXRvciBmdW5jdGlvbmFsaXR5LlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtd3lzaXd5Zy1hbGlnbm1lbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd3lzaXd5Zy1hbGlnbm1lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vd3lzaXd5Zy1hbGlnbm1lbnQuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBBWFd5c2l3eWdBbGlnbm1lbnRDb21wb25lbnQge1xuICAvKiogQGlnbm9yZSAqL1xuICBzZXJ2aWNlID0gaW5qZWN0KEFYV3lzaXd5Z1NlcnZpY2UpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBhbGlnblN0YXRlID0gc2lnbmFsKCcnKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgcG9wb3Zlck9wdGlvbjoge1xuICAgIG9wZW5PbjogQVhQb3BvdmVyT3BlblRyaWdnZXI7XG4gICAgY2xvc2VPbjogQVhQb3BvdmVyQ2xvc2VUcmlnZ2VyO1xuICAgIHBsYWNlbWVudDogQVhQbGFjZW1lbnQ7XG4gICAgb2Zmc2V0WDogbnVtYmVyO1xuICAgIG9mZnNldFk6IG51bWJlcjtcbiAgfSA9IHtcbiAgICBvcGVuT246ICdjbGljaycsXG4gICAgY2xvc2VPbjogJ2NsaWNrT3V0JyxcbiAgICBwbGFjZW1lbnQ6ICd0b3AnLFxuICAgIG9mZnNldFg6IDAsXG4gICAgb2Zmc2V0WTogMCxcbiAgfTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5zZXJ2aWNlLnd5c2l3eWcoKSkgcmV0dXJuO1xuICAgICAgICBzd2l0Y2ggKHRoaXMuc2VydmljZS5jdXJyZW50U2VsZWN0ZWRFbGVtQWxpZ24oKSkge1xuICAgICAgICAgIGNhc2UgJ3FsLWFsaWduLWNlbnRlcic6XG4gICAgICAgICAgICB0aGlzLmFsaWduU3RhdGUuc2V0KCdjZW50ZXInKTtcbiAgICAgICAgICAgIHRoaXMuc2VydmljZS53eXNpd3lnKCkuYWxpZ24oJ2NlbnRlcicpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAncWwtYWxpZ24tcmlnaHQnOlxuICAgICAgICAgICAgdGhpcy5hbGlnblN0YXRlLnNldCgncmlnaHQnKTtcbiAgICAgICAgICAgIHRoaXMuc2VydmljZS53eXNpd3lnKCkuYWxpZ24oJ3JpZ2h0Jyk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdGhpcy5hbGlnblN0YXRlLnNldCgnbGVmdCcpO1xuICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLnd5c2l3eWcoKS5hbGlnbignbGVmdCcpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxuICAgICk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgYWxpZ25TdGF0ZUhhbmRsZXIoZTogYW55KSB7XG4gICAgdGhpcy5hbGlnblN0YXRlLnNldChlKTtcbiAgICB0aGlzLnNlcnZpY2Uud3lzaXd5ZygpLmFsaWduKGUpO1xuICB9XG59XG4iLCI8YXgtYnV0dG9uIGxvb2s9XCJibGFua1wiICNhbGlnblBvcD5cbiAgPGF4LWljb24gY2xhc3M9XCJheC1pY29uIGF4LWljb24tYWxpZ24tbGVmdFwiPjwvYXgtaWNvbj5cbjwvYXgtYnV0dG9uPlxuPGF4LXBvcG92ZXIgW29wZW5Pbl09XCJwb3BvdmVyT3B0aW9uLm9wZW5PblwiIFtjbG9zZU9uXT1cInBvcG92ZXJPcHRpb24uY2xvc2VPblwiIFt0YXJnZXRdPVwiYWxpZ25Qb3BcIiBbcGxhY2VtZW50XT1cInBvcG92ZXJPcHRpb24ucGxhY2VtZW50XCI+XG4gIDxkaXYgY2xhc3M9XCJheC1vdmVybGF5LXBhbmUgYXgtYWxpZ25tZW50LWNvdGFpbmVyIGF4LXNtXCI+XG4gICAgPGF4LWJ1dHRvbiAoY2xpY2spPVwiYWxpZ25TdGF0ZUhhbmRsZXIoJ2xlZnQnKVwiIGxvb2s9XCJibGFua1wiIFtzZWxlY3RlZF09XCJhbGlnblN0YXRlKCkgPT09ICdsZWZ0JyA/IHRydWUgOiBmYWxzZVwiPlxuICAgICAgPGF4LWljb24gY2xhc3M9XCJheC1pY29uIGF4LWljb24tYWxpZ24tbGVmdFwiPjwvYXgtaWNvbj5cbiAgICA8L2F4LWJ1dHRvbj5cblxuICAgIDxheC1idXR0b24gKGNsaWNrKT1cImFsaWduU3RhdGVIYW5kbGVyKCdjZW50ZXInKVwiIGxvb2s9XCJibGFua1wiIFtzZWxlY3RlZF09XCJhbGlnblN0YXRlKCkgPT09ICdjZW50ZXInID8gdHJ1ZSA6IGZhbHNlXCI+XG4gICAgICA8YXgtaWNvbiBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1hbGlnbi1jZW50ZXJcIj48L2F4LWljb24+XG4gICAgPC9heC1idXR0b24+XG5cbiAgICA8YXgtYnV0dG9uIChjbGljayk9XCJhbGlnblN0YXRlSGFuZGxlcigncmlnaHQnKVwiIGxvb2s9XCJibGFua1wiIFtzZWxlY3RlZF09XCJhbGlnblN0YXRlKCkgPT09ICdyaWdodCcgPyB0cnVlIDogZmFsc2VcIj5cbiAgICAgIDxheC1pY29uIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWFsaWduLXJpZ2h0XCI+PC9heC1pY29uPlxuICAgIDwvYXgtYnV0dG9uPlxuICA8L2Rpdj5cbjwvYXgtcG9wb3Zlcj5cbiJdfQ==
|
package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.mjs
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Component, ViewEncapsulation,
|
1
|
+
import { Component, ViewEncapsulation, effect, inject, signal } from '@angular/core';
|
2
2
|
import { AXWysiwygService } from '../../wysiwyg.service';
|
3
3
|
import * as i0 from "@angular/core";
|
4
4
|
import * as i1 from "@acorex/components/button";
|
@@ -16,8 +16,6 @@ export class AXWysiwygColorsComponent {
|
|
16
16
|
/** @ignore */
|
17
17
|
this.service = inject(AXWysiwygService);
|
18
18
|
/** @ignore */
|
19
|
-
this.wysiwyg = signal(null);
|
20
|
-
/** @ignore */
|
21
19
|
this.selectedColor = signal('rgb(151, 148, 148)');
|
22
20
|
/** @ignore */
|
23
21
|
this.selectedHighlightColor = signal('rgba(223, 223, 24, 0.5)');
|
@@ -33,9 +31,6 @@ export class AXWysiwygColorsComponent {
|
|
33
31
|
offsetX: 0,
|
34
32
|
offsetY: 0,
|
35
33
|
};
|
36
|
-
afterNextRender(() => {
|
37
|
-
this.wysiwyg.set(this.service.wysiwyg());
|
38
|
-
});
|
39
34
|
effect(() => {
|
40
35
|
if (this.service.isEditorClean()) {
|
41
36
|
this.selectedHighlightColor.set('rgba(223, 223, 24, 0.5)');
|
@@ -48,28 +43,28 @@ export class AXWysiwygColorsComponent {
|
|
48
43
|
if (!this.userInteractColor())
|
49
44
|
return;
|
50
45
|
this.selectedColor.set(e);
|
51
|
-
this.wysiwyg().color(e);
|
46
|
+
this.service.wysiwyg().color(e);
|
52
47
|
}
|
53
48
|
/** @ignore */
|
54
49
|
changeHighlightColorHandler(e) {
|
55
50
|
if (!this.userInteractHighligh())
|
56
51
|
return;
|
57
52
|
this.selectedHighlightColor.set(e);
|
58
|
-
this.wysiwyg().background(e);
|
53
|
+
this.service.wysiwyg().background(e);
|
59
54
|
}
|
60
55
|
/** @ignore */
|
61
56
|
initialHighlightHandler() {
|
62
57
|
if (this.userInteractHighligh())
|
63
58
|
return;
|
64
59
|
this.userInteractHighligh.set(true);
|
65
|
-
this.wysiwyg().background('rgba(223, 223, 24, 0.5)');
|
60
|
+
this.service.wysiwyg().background('rgba(223, 223, 24, 0.5)');
|
66
61
|
}
|
67
62
|
/** @ignore */
|
68
63
|
initialColorHandler() {
|
69
64
|
if (this.userInteractColor())
|
70
65
|
return;
|
71
66
|
this.userInteractColor.set(true);
|
72
|
-
this.wysiwyg().color('rgb(151, 148, 148)');
|
67
|
+
this.service.wysiwyg().color('rgb(151, 148, 148)');
|
73
68
|
}
|
74
69
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXWysiwygColorsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
75
70
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXWysiwygColorsComponent, selector: "ax-wysiwyg-colors", ngImport: i0, template: "<div class=\"ax-color-picker-wysiwyg-container\">\n <div (click)=\"initialColorHandler()\" class=\"ax-color-flex-wysiwyg-container\">\n <div [style]=\"{ backgroundColor: selectedColor() }\" class=\"ax-submit-color\"></div>\n <ax-button #colorBtn look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-color-palette\"></ax-icon>\n </ax-button>\n </div>\n\n <div (click)=\"initialHighlightHandler()\" class=\"ax-color-flex-wysiwyg-container\">\n <div [style]=\"{ backgroundColor: selectedHighlightColor() }\" class=\"ax-submit-color\"></div>\n <ax-button #highlightBtn look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n </ax-button>\n </div>\n</div>\n\n<ax-popover\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"colorBtn\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-color-palette (ngModelChange)=\"changeColorHandler($event)\" [ngModel]=\"selectedColor()\">\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-input></ax-color-palette-input>\n </ax-color-palette>\n </div>\n</ax-popover>\n\n<ax-popover\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"highlightBtn\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-color-palette\n (ngModelChange)=\"changeHighlightColorHandler($event)\"\n [ngModel]=\"selectedHighlightColor()\"\n >\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-input></ax-color-palette-input>\n </ax-color-palette>\n </div>\n</ax-popover>\n", styles: [".ax-color-picker-wysiwyg-container{display:flex;align-items:center}.ax-color-picker-wysiwyg-container .ax-color-flex-wysiwyg-container{display:flex;align-items:center;cursor:pointer}.ax-color-picker-wysiwyg-container .ax-submit-color{border:1px solid rgb(var(--ax-color-text-default));width:.6rem;height:.6rem;border-radius:1000vmax}\n"], dependencies: [{ kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.AXColorPalleteComponent, selector: "ax-color-palette", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "checked"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange"] }, { kind: "component", type: i4.AXColorPalettePreviewComponent, selector: "ax-color-palette-preview" }, { kind: "component", type: i4.AXColorPaletteInputComponent, selector: "ax-color-palette-input" }, { kind: "component", type: i4.AXColorPalettePickerComponent, selector: "ax-color-palette-picker" }, { kind: "component", type: i5.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
@@ -78,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
78
73
|
type: Component,
|
79
74
|
args: [{ selector: 'ax-wysiwyg-colors', encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-color-picker-wysiwyg-container\">\n <div (click)=\"initialColorHandler()\" class=\"ax-color-flex-wysiwyg-container\">\n <div [style]=\"{ backgroundColor: selectedColor() }\" class=\"ax-submit-color\"></div>\n <ax-button #colorBtn look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-color-palette\"></ax-icon>\n </ax-button>\n </div>\n\n <div (click)=\"initialHighlightHandler()\" class=\"ax-color-flex-wysiwyg-container\">\n <div [style]=\"{ backgroundColor: selectedHighlightColor() }\" class=\"ax-submit-color\"></div>\n <ax-button #highlightBtn look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n </ax-button>\n </div>\n</div>\n\n<ax-popover\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"colorBtn\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-color-palette (ngModelChange)=\"changeColorHandler($event)\" [ngModel]=\"selectedColor()\">\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-input></ax-color-palette-input>\n </ax-color-palette>\n </div>\n</ax-popover>\n\n<ax-popover\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"highlightBtn\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-color-palette\n (ngModelChange)=\"changeHighlightColorHandler($event)\"\n [ngModel]=\"selectedHighlightColor()\"\n >\n <ax-color-palette-preview></ax-color-palette-preview>\n <ax-color-palette-picker></ax-color-palette-picker>\n <ax-color-palette-input></ax-color-palette-input>\n </ax-color-palette>\n </div>\n</ax-popover>\n", styles: [".ax-color-picker-wysiwyg-container{display:flex;align-items:center}.ax-color-picker-wysiwyg-container .ax-color-flex-wysiwyg-container{display:flex;align-items:center;cursor:pointer}.ax-color-picker-wysiwyg-container .ax-submit-color{border:1px solid rgb(var(--ax-color-text-default));width:.6rem;height:.6rem;border-radius:1000vmax}\n"] }]
|
80
75
|
}], ctorParameters: () => [] });
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3lzaXd5Zy1jb2xvcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3d5c2l3eWcvc3JjL2xpYi93eXNpd3lnL3d5c2l3eWctdG9vbHMvd3lzaXd5Zy1jb2xvcnMvd3lzaXd5Zy1jb2xvcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3d5c2l3eWcvc3JjL2xpYi93eXNpd3lnL3d5c2l3eWctdG9vbHMvd3lzaXd5Zy1jb2xvcnMvd3lzaXd5Zy1jb2xvcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7OztBQUV6RDs7O0dBR0c7QUFPSCxNQUFNLE9BQU8sd0JBQXdCO0lBK0JuQyxjQUFjO0lBQ2Q7UUEvQkEsY0FBYztRQUNkLFlBQU8sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUVuQyxjQUFjO1FBQ0osa0JBQWEsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUV2RCxjQUFjO1FBQ0osMkJBQXNCLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFFckUsY0FBYztRQUNKLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU1QyxjQUFjO1FBQ0oseUJBQW9CLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9DLGNBQWM7UUFDSixrQkFBYSxHQU1uQjtZQUNGLE1BQU0sRUFBRSxPQUFPO1lBQ2YsT0FBTyxFQUFFLFVBQVU7WUFDbkIsU0FBUyxFQUFFLEtBQUs7WUFDaEIsT0FBTyxFQUFFLENBQUM7WUFDVixPQUFPLEVBQUUsQ0FBQztTQUNYLENBQUM7UUFJQSxNQUFNLENBQ0osR0FBRyxFQUFFO1lBQ0gsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQztnQkFDM0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUMvQyxDQUFDO1FBQ0gsQ0FBQyxFQUNELEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQzVCLENBQUM7SUFDSixDQUFDO0lBRUQsY0FBYztJQUNKLGtCQUFrQixDQUFDLENBQVM7UUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUFFLE9BQU87UUFDdEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELGNBQWM7SUFDSiwyQkFBMkIsQ0FBQyxDQUFTO1FBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFBRSxPQUFPO1FBQ3pDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELGNBQWM7SUFDSix1QkFBdUI7UUFDL0IsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFBRSxPQUFPO1FBQ3hDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsY0FBYztJQUNKLG1CQUFtQjtRQUMzQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUFFLE9BQU87UUFDckMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3JELENBQUM7OEdBdEVVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLHlEQ2ZyQyxvd0RBZ0RBOzsyRkRqQ2Esd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNFLG1CQUFtQixpQkFHZCxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQbGFjZW1lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEFYUG9wb3ZlckNsb3NlVHJpZ2dlciwgQVhQb3BvdmVyT3BlblRyaWdnZXIgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcG9wb3Zlcic7XG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBlZmZlY3QsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFd5c2l3eWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vd3lzaXd5Zy5zZXJ2aWNlJztcblxuLyoqXG4gKiBBIGNvbnRhaW5lciBjb21wb25lbnQgZm9yIFdZU0lXWUcgKFdoYXQgWW91IFNlZSBJcyBXaGF0IFlvdSBHZXQpIGVkaXRvciBmdW5jdGlvbmFsaXR5LlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtd3lzaXd5Zy1jb2xvcnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vd3lzaXd5Zy1jb2xvcnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vd3lzaXd5Zy1jb2xvcnMuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBWFd5c2l3eWdDb2xvcnNDb21wb25lbnQge1xuICAvKiogQGlnbm9yZSAqL1xuICBzZXJ2aWNlID0gaW5qZWN0KEFYV3lzaXd5Z1NlcnZpY2UpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBzZWxlY3RlZENvbG9yID0gc2lnbmFsKCdyZ2IoMTUxLCAxNDgsIDE0OCknKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgc2VsZWN0ZWRIaWdobGlnaHRDb2xvciA9IHNpZ25hbCgncmdiYSgyMjMsIDIyMywgMjQsIDAuNSknKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgdXNlckludGVyYWN0Q29sb3IgPSBzaWduYWwoZmFsc2UpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCB1c2VySW50ZXJhY3RIaWdobGlnaCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHBvcG92ZXJPcHRpb246IHtcbiAgICBvcGVuT246IEFYUG9wb3Zlck9wZW5UcmlnZ2VyO1xuICAgIGNsb3NlT246IEFYUG9wb3ZlckNsb3NlVHJpZ2dlcjtcbiAgICBwbGFjZW1lbnQ6IEFYUGxhY2VtZW50O1xuICAgIG9mZnNldFg6IG51bWJlcjtcbiAgICBvZmZzZXRZOiBudW1iZXI7XG4gIH0gPSB7XG4gICAgb3Blbk9uOiAnY2xpY2snLFxuICAgIGNsb3NlT246ICdjbGlja091dCcsXG4gICAgcGxhY2VtZW50OiAndG9wJyxcbiAgICBvZmZzZXRYOiAwLFxuICAgIG9mZnNldFk6IDAsXG4gIH07XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgZWZmZWN0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5zZXJ2aWNlLmlzRWRpdG9yQ2xlYW4oKSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRIaWdobGlnaHRDb2xvci5zZXQoJ3JnYmEoMjIzLCAyMjMsIDI0LCAwLjUpJyk7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZENvbG9yLnNldCgncmdiKDE1MSwgMTQ4LCAxNDgpJyk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBjaGFuZ2VDb2xvckhhbmRsZXIoZTogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLnVzZXJJbnRlcmFjdENvbG9yKCkpIHJldHVybjtcbiAgICB0aGlzLnNlbGVjdGVkQ29sb3Iuc2V0KGUpO1xuICAgIHRoaXMuc2VydmljZS53eXNpd3lnKCkuY29sb3IoZSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgY2hhbmdlSGlnaGxpZ2h0Q29sb3JIYW5kbGVyKGU6IHN0cmluZykge1xuICAgIGlmICghdGhpcy51c2VySW50ZXJhY3RIaWdobGlnaCgpKSByZXR1cm47XG4gICAgdGhpcy5zZWxlY3RlZEhpZ2hsaWdodENvbG9yLnNldChlKTtcbiAgICB0aGlzLnNlcnZpY2Uud3lzaXd5ZygpLmJhY2tncm91bmQoZSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgaW5pdGlhbEhpZ2hsaWdodEhhbmRsZXIoKSB7XG4gICAgaWYgKHRoaXMudXNlckludGVyYWN0SGlnaGxpZ2goKSkgcmV0dXJuO1xuICAgIHRoaXMudXNlckludGVyYWN0SGlnaGxpZ2guc2V0KHRydWUpO1xuICAgIHRoaXMuc2VydmljZS53eXNpd3lnKCkuYmFja2dyb3VuZCgncmdiYSgyMjMsIDIyMywgMjQsIDAuNSknKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBpbml0aWFsQ29sb3JIYW5kbGVyKCkge1xuICAgIGlmICh0aGlzLnVzZXJJbnRlcmFjdENvbG9yKCkpIHJldHVybjtcbiAgICB0aGlzLnVzZXJJbnRlcmFjdENvbG9yLnNldCh0cnVlKTtcbiAgICB0aGlzLnNlcnZpY2Uud3lzaXd5ZygpLmNvbG9yKCdyZ2IoMTUxLCAxNDgsIDE0OCknKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF4LWNvbG9yLXBpY2tlci13eXNpd3lnLWNvbnRhaW5lclwiPlxuICA8ZGl2IChjbGljayk9XCJpbml0aWFsQ29sb3JIYW5kbGVyKClcIiBjbGFzcz1cImF4LWNvbG9yLWZsZXgtd3lzaXd5Zy1jb250YWluZXJcIj5cbiAgICA8ZGl2IFtzdHlsZV09XCJ7IGJhY2tncm91bmRDb2xvcjogc2VsZWN0ZWRDb2xvcigpIH1cIiBjbGFzcz1cImF4LXN1Ym1pdC1jb2xvclwiPjwvZGl2PlxuICAgIDxheC1idXR0b24gI2NvbG9yQnRuIGxvb2s9XCJibGFua1wiPlxuICAgICAgPGF4LWljb24gY2xhc3M9XCJheC1pY29uIGF4LWljb24tY29sb3ItcGFsZXR0ZVwiPjwvYXgtaWNvbj5cbiAgICA8L2F4LWJ1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAoY2xpY2spPVwiaW5pdGlhbEhpZ2hsaWdodEhhbmRsZXIoKVwiIGNsYXNzPVwiYXgtY29sb3ItZmxleC13eXNpd3lnLWNvbnRhaW5lclwiPlxuICAgIDxkaXYgW3N0eWxlXT1cInsgYmFja2dyb3VuZENvbG9yOiBzZWxlY3RlZEhpZ2hsaWdodENvbG9yKCkgfVwiIGNsYXNzPVwiYXgtc3VibWl0LWNvbG9yXCI+PC9kaXY+XG4gICAgPGF4LWJ1dHRvbiAjaGlnaGxpZ2h0QnRuIGxvb2s9XCJibGFua1wiPlxuICAgICAgPGF4LWljb24gY2xhc3M9XCJheC1pY29uIGF4LWljb24taGlnaGxpZ2h0XCI+PC9heC1pY29uPlxuICAgIDwvYXgtYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48YXgtcG9wb3ZlclxuICBbb3Blbk9uXT1cInBvcG92ZXJPcHRpb24ub3Blbk9uXCJcbiAgW2Nsb3NlT25dPVwicG9wb3Zlck9wdGlvbi5jbG9zZU9uXCJcbiAgW3RhcmdldF09XCJjb2xvckJ0blwiXG4gIFtwbGFjZW1lbnRdPVwicG9wb3Zlck9wdGlvbi5wbGFjZW1lbnRcIlxuPlxuICA8ZGl2IGNsYXNzPVwiYXgtb3ZlcmxheS1wYW5lXCI+XG4gICAgPGF4LWNvbG9yLXBhbGV0dGUgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlQ29sb3JIYW5kbGVyKCRldmVudClcIiBbbmdNb2RlbF09XCJzZWxlY3RlZENvbG9yKClcIj5cbiAgICAgIDxheC1jb2xvci1wYWxldHRlLXByZXZpZXc+PC9heC1jb2xvci1wYWxldHRlLXByZXZpZXc+XG4gICAgICA8YXgtY29sb3ItcGFsZXR0ZS1waWNrZXI+PC9heC1jb2xvci1wYWxldHRlLXBpY2tlcj5cbiAgICAgIDxheC1jb2xvci1wYWxldHRlLWlucHV0PjwvYXgtY29sb3ItcGFsZXR0ZS1pbnB1dD5cbiAgICA8L2F4LWNvbG9yLXBhbGV0dGU+XG4gIDwvZGl2PlxuPC9heC1wb3BvdmVyPlxuXG48YXgtcG9wb3ZlclxuICBbb3Blbk9uXT1cInBvcG92ZXJPcHRpb24ub3Blbk9uXCJcbiAgW2Nsb3NlT25dPVwicG9wb3Zlck9wdGlvbi5jbG9zZU9uXCJcbiAgW3RhcmdldF09XCJoaWdobGlnaHRCdG5cIlxuICBbcGxhY2VtZW50XT1cInBvcG92ZXJPcHRpb24ucGxhY2VtZW50XCJcbj5cbiAgPGRpdiBjbGFzcz1cImF4LW92ZXJsYXktcGFuZVwiPlxuICAgIDxheC1jb2xvci1wYWxldHRlXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VIaWdobGlnaHRDb2xvckhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICBbbmdNb2RlbF09XCJzZWxlY3RlZEhpZ2hsaWdodENvbG9yKClcIlxuICAgID5cbiAgICAgIDxheC1jb2xvci1wYWxldHRlLXByZXZpZXc+PC9heC1jb2xvci1wYWxldHRlLXByZXZpZXc+XG4gICAgICA8YXgtY29sb3ItcGFsZXR0ZS1waWNrZXI+PC9heC1jb2xvci1wYWxldHRlLXBpY2tlcj5cbiAgICAgIDxheC1jb2xvci1wYWxldHRlLWlucHV0PjwvYXgtY29sb3ItcGFsZXR0ZS1pbnB1dD5cbiAgICA8L2F4LWNvbG9yLXBhbGV0dGU+XG4gIDwvZGl2PlxuPC9heC1wb3BvdmVyPlxuIl19
|