@firestitch/form 13.3.7 → 14.0.0
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/app/components/confirm-unsaved/confirm-unsaved.component.d.ts +21 -21
- package/app/components/confirm-unsaved/index.d.ts +1 -1
- package/app/components/form-dialog-actions/form-dialog-actions.component.d.ts +22 -22
- package/app/components/form-dialog-actions/index.d.ts +1 -1
- package/app/components/form-template/form-template.component.d.ts +13 -13
- package/app/components/form-template/index.d.ts +1 -1
- package/app/components/form-template-outlet/form-template-outlet.component.d.ts +13 -13
- package/app/components/form-template-outlet/index.d.ts +1 -1
- package/app/components/index.d.ts +4 -4
- package/app/consts/error-messages.const.d.ts +21 -21
- package/app/directives/button.directive.d.ts +35 -35
- package/app/directives/form/form.directive.d.ts +122 -122
- package/app/directives/form/index.d.ts +1 -1
- package/app/directives/form-dialog-close.directive.d.ts +16 -16
- package/app/directives/form-template.directive.d.ts +10 -10
- package/app/directives/index.d.ts +6 -6
- package/app/directives/submit-button.directive.d.ts +6 -6
- package/app/directives/validators/compare.directive.d.ts +15 -15
- package/app/directives/validators/control.directive.d.ts +49 -49
- package/app/directives/validators/daterange.directive.d.ts +13 -13
- package/app/directives/validators/email.directive.d.ts +13 -13
- package/app/directives/validators/emails.directive.d.ts +13 -13
- package/app/directives/validators/function.directive.d.ts +15 -15
- package/app/directives/validators/greater-equal.directive.d.ts +13 -13
- package/app/directives/validators/greater.directive.d.ts +13 -13
- package/app/directives/validators/index.d.ts +22 -22
- package/app/directives/validators/integer.directive.d.ts +13 -13
- package/app/directives/validators/lesser-equal.directive.d.ts +13 -13
- package/app/directives/validators/lesser.directive.d.ts +13 -13
- package/app/directives/validators/max.directive.d.ts +13 -13
- package/app/directives/validators/maxlength.directive.d.ts +13 -13
- package/app/directives/validators/min.directive.d.ts +13 -13
- package/app/directives/validators/minlength.directive.d.ts +13 -13
- package/app/directives/validators/no-fs-validators.directive.d.ts +14 -14
- package/app/directives/validators/numeric.directive.d.ts +13 -13
- package/app/directives/validators/pattern.directive.d.ts +13 -13
- package/app/directives/validators/phone.directive.d.ts +13 -13
- package/app/directives/validators/required.directive.d.ts +16 -16
- package/app/directives/validators/url.directive.d.ts +14 -14
- package/app/directives/validators/validate.directive.d.ts +15 -15
- package/app/enums/confirm-result.d.ts +7 -7
- package/app/enums/form-status.d.ts +10 -10
- package/app/enums/index.d.ts +2 -2
- package/app/fs-form.module.d.ts +44 -44
- package/app/guards/form-deactivate.guard.d.ts +12 -12
- package/app/helpers/confirm-result-continue.d.ts +1 -1
- package/app/helpers/get-active-route.d.ts +2 -2
- package/app/helpers/get-form-errors.d.ts +2 -2
- package/app/helpers/index.d.ts +1 -1
- package/app/helpers/is-enabled.d.ts +1 -1
- package/app/interfaces/async-validator.d.ts +14 -14
- package/app/interfaces/confirm-config.d.ts +7 -7
- package/app/interfaces/confirm-tab-group.d.ts +10 -10
- package/app/interfaces/index.d.ts +4 -4
- package/app/interfaces/submit-event.d.ts +6 -6
- package/app/interfaces/submitted-event.d.ts +7 -7
- package/app/interfaces/validator.d.ts +13 -13
- package/app/providers/validate-messages.provider.d.ts +27 -27
- package/app/services/fsform.service.d.ts +20 -20
- package/app/validators/validators.d.ts +12 -12
- package/esm2020/app/components/confirm-unsaved/confirm-unsaved.component.mjs +43 -43
- package/esm2020/app/components/confirm-unsaved/index.mjs +1 -1
- package/esm2020/app/components/form-dialog-actions/form-dialog-actions.component.mjs +74 -74
- package/esm2020/app/components/form-dialog-actions/index.mjs +1 -1
- package/esm2020/app/components/form-template/form-template.component.mjs +31 -31
- package/esm2020/app/components/form-template/index.mjs +2 -2
- package/esm2020/app/components/form-template-outlet/form-template-outlet.component.mjs +30 -30
- package/esm2020/app/components/form-template-outlet/index.mjs +2 -2
- package/esm2020/app/components/index.mjs +4 -4
- package/esm2020/app/consts/error-messages.const.mjs +21 -21
- package/esm2020/app/directives/button.directive.mjs +151 -151
- package/esm2020/app/directives/form/form.directive.mjs +688 -688
- package/esm2020/app/directives/form/index.mjs +1 -1
- package/esm2020/app/directives/form-dialog-close.directive.mjs +53 -53
- package/esm2020/app/directives/form-template.directive.mjs +19 -19
- package/esm2020/app/directives/index.mjs +6 -6
- package/esm2020/app/directives/submit-button.directive.mjs +13 -13
- package/esm2020/app/directives/validators/compare.directive.mjs +46 -46
- package/esm2020/app/directives/validators/control.directive.mjs +257 -257
- package/esm2020/app/directives/validators/daterange.directive.mjs +40 -40
- package/esm2020/app/directives/validators/email.directive.mjs +40 -40
- package/esm2020/app/directives/validators/emails.directive.mjs +40 -40
- package/esm2020/app/directives/validators/function.directive.mjs +40 -40
- package/esm2020/app/directives/validators/greater-equal.directive.mjs +39 -39
- package/esm2020/app/directives/validators/greater.directive.mjs +39 -39
- package/esm2020/app/directives/validators/index.mjs +22 -22
- package/esm2020/app/directives/validators/integer.directive.mjs +38 -38
- package/esm2020/app/directives/validators/lesser-equal.directive.mjs +39 -39
- package/esm2020/app/directives/validators/lesser.directive.mjs +39 -39
- package/esm2020/app/directives/validators/max.directive.mjs +35 -35
- package/esm2020/app/directives/validators/maxlength.directive.mjs +34 -34
- package/esm2020/app/directives/validators/min.directive.mjs +35 -35
- package/esm2020/app/directives/validators/minlength.directive.mjs +34 -34
- package/esm2020/app/directives/validators/no-fs-validators.directive.mjs +52 -52
- package/esm2020/app/directives/validators/numeric.directive.mjs +40 -40
- package/esm2020/app/directives/validators/pattern.directive.mjs +34 -34
- package/esm2020/app/directives/validators/phone.directive.mjs +40 -40
- package/esm2020/app/directives/validators/required.directive.mjs +68 -68
- package/esm2020/app/directives/validators/url.directive.mjs +44 -44
- package/esm2020/app/directives/validators/validate.directive.mjs +42 -42
- package/esm2020/app/enums/confirm-result.mjs +8 -8
- package/esm2020/app/enums/form-status.mjs +11 -11
- package/esm2020/app/enums/index.mjs +2 -2
- package/esm2020/app/fs-form.module.mjs +209 -211
- package/esm2020/app/guards/form-deactivate.guard.mjs +41 -41
- package/esm2020/app/helpers/confirm-result-continue.mjs +4 -4
- package/esm2020/app/helpers/get-active-route.mjs +6 -6
- package/esm2020/app/helpers/get-form-errors.mjs +25 -25
- package/esm2020/app/helpers/index.mjs +1 -1
- package/esm2020/app/helpers/is-enabled.mjs +3 -3
- package/esm2020/app/interfaces/async-validator.mjs +1 -1
- package/esm2020/app/interfaces/confirm-config.mjs +1 -1
- package/esm2020/app/interfaces/confirm-tab-group.mjs +1 -1
- package/esm2020/app/interfaces/index.mjs +4 -4
- package/esm2020/app/interfaces/submit-event.mjs +1 -1
- package/esm2020/app/interfaces/submitted-event.mjs +1 -1
- package/esm2020/app/interfaces/validator.mjs +1 -1
- package/esm2020/app/providers/validate-messages.provider.mjs +10 -10
- package/esm2020/app/services/fsform.service.mjs +91 -91
- package/esm2020/app/validators/validators.mjs +92 -92
- package/esm2020/firestitch-form.mjs +4 -4
- package/esm2020/public_api.mjs +36 -36
- package/fesm2015/firestitch-form.mjs +2457 -2459
- package/fesm2015/firestitch-form.mjs.map +1 -1
- package/fesm2020/firestitch-form.mjs +2443 -2445
- package/fesm2020/firestitch-form.mjs.map +1 -1
- package/{firestitch-form.d.ts → index.d.ts} +5 -5
- package/package.json +3 -3
- package/public_api.d.ts +34 -34
|
@@ -1,121 +1,121 @@
|
|
|
1
|
-
import { ChangeDetectorRef, Directive, ElementRef, Host, HostBinding, Input, Optional, } from '@angular/core';
|
|
2
|
-
import { MatButton } from '@angular/material/button';
|
|
3
|
-
import { fromEvent, Subject } from 'rxjs';
|
|
4
|
-
import { takeUntil } from 'rxjs/operators';
|
|
5
|
-
import { FsFormDirective } from './form/form.directive';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/material/button";
|
|
8
|
-
import * as i2 from "./form/form.directive";
|
|
9
|
-
export class FsButtonDirective {
|
|
10
|
-
constructor(_matButton, _form, _elementRef, _cdRef) {
|
|
11
|
-
this._matButton = _matButton;
|
|
12
|
-
this._form = _form;
|
|
13
|
-
this._elementRef = _elementRef;
|
|
14
|
-
this._cdRef = _cdRef;
|
|
15
|
-
this.dirtySubmit = true;
|
|
16
|
-
this.transitionStyle = null;
|
|
17
|
-
this.active = false;
|
|
18
|
-
this.submit = false;
|
|
19
|
-
this._previousDisabled = false;
|
|
20
|
-
this._destroy$ = new Subject();
|
|
21
|
-
}
|
|
22
|
-
ngOnInit() {
|
|
23
|
-
this.submit = this._elementRef.nativeElement.getAttribute('type') === 'submit';
|
|
24
|
-
this.form = this.form || this._form;
|
|
25
|
-
if (this.form) {
|
|
26
|
-
this.form.addButton(this);
|
|
27
|
-
if (this.submit) {
|
|
28
|
-
fromEvent(this.element, 'click')
|
|
29
|
-
.pipe(takeUntil(this._destroy$))
|
|
30
|
-
.subscribe(() => {
|
|
31
|
-
this.active = true;
|
|
32
|
-
});
|
|
33
|
-
if (this.dirtySubmit) {
|
|
34
|
-
if (this.form.dirtySubmitButton) {
|
|
35
|
-
if (!this.form.ngForm.dirty) {
|
|
36
|
-
this.disable();
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
this.transitionStyle = 'none';
|
|
41
|
-
setTimeout(() => {
|
|
42
|
-
this.transitionStyle = null;
|
|
43
|
-
}, 500);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
disable() {
|
|
48
|
-
if (this._matButton && !this.active) {
|
|
49
|
-
this._previousDisabled = this._matButton.disabled;
|
|
50
|
-
this._matButton.disabled = true;
|
|
51
|
-
this._cdRef.markForCheck();
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
enable() {
|
|
55
|
-
if (this._matButton) {
|
|
56
|
-
this._matButton.disabled = false;
|
|
57
|
-
this._matButton.disableRipple = true;
|
|
58
|
-
this._cdRef.markForCheck();
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
process() {
|
|
62
|
-
this.setClass('process');
|
|
63
|
-
if (this._matButton) {
|
|
64
|
-
this._matButton.disableRipple = true;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
success() {
|
|
68
|
-
this.setClass('success');
|
|
69
|
-
if (this._matButton) {
|
|
70
|
-
this._matButton.disableRipple = false;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
error() {
|
|
74
|
-
this.setClass('error');
|
|
75
|
-
if (this._matButton) {
|
|
76
|
-
this._matButton.disableRipple = false;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
setClass(cls) {
|
|
80
|
-
const svg = this._getSvg(cls);
|
|
81
|
-
this._resetClass();
|
|
82
|
-
this._disableShadowAnimation();
|
|
83
|
-
this.element.classList.add(`submit-${cls}`);
|
|
84
|
-
this.element.append(svg);
|
|
85
|
-
}
|
|
86
|
-
get element() {
|
|
87
|
-
return this._elementRef.nativeElement;
|
|
88
|
-
}
|
|
89
|
-
resetActive() {
|
|
90
|
-
this.active = false;
|
|
91
|
-
}
|
|
92
|
-
reset() {
|
|
93
|
-
if (!this._previousDisabled) {
|
|
94
|
-
this.enable();
|
|
95
|
-
}
|
|
96
|
-
this.element.querySelectorAll('.svg-icon')
|
|
97
|
-
.forEach((el) => {
|
|
98
|
-
el.remove();
|
|
99
|
-
});
|
|
100
|
-
if (this._matButton) {
|
|
101
|
-
this._matButton.disableRipple = false;
|
|
102
|
-
}
|
|
103
|
-
this._resetClass();
|
|
104
|
-
}
|
|
105
|
-
ngOnDestroy() {
|
|
106
|
-
this._destroy$.next();
|
|
107
|
-
this._destroy$.complete();
|
|
108
|
-
this.form?.removeButton(this);
|
|
109
|
-
}
|
|
110
|
-
_disableShadowAnimation() {
|
|
111
|
-
// .mat-elevation-z2 removes the click shadow animation
|
|
112
|
-
//this.element.classList.add('mat-elevation-z2');
|
|
113
|
-
}
|
|
114
|
-
_resetClass() {
|
|
115
|
-
this.element.classList.remove('submit-success', 'submit-error', 'submit-process', 'mat-elevation-z2');
|
|
116
|
-
}
|
|
117
|
-
_getSvg(type) {
|
|
118
|
-
if (type === 'success') {
|
|
1
|
+
import { ChangeDetectorRef, Directive, ElementRef, Host, HostBinding, Input, Optional, } from '@angular/core';
|
|
2
|
+
import { MatButton } from '@angular/material/button';
|
|
3
|
+
import { fromEvent, Subject } from 'rxjs';
|
|
4
|
+
import { takeUntil } from 'rxjs/operators';
|
|
5
|
+
import { FsFormDirective } from './form/form.directive';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/material/button";
|
|
8
|
+
import * as i2 from "./form/form.directive";
|
|
9
|
+
export class FsButtonDirective {
|
|
10
|
+
constructor(_matButton, _form, _elementRef, _cdRef) {
|
|
11
|
+
this._matButton = _matButton;
|
|
12
|
+
this._form = _form;
|
|
13
|
+
this._elementRef = _elementRef;
|
|
14
|
+
this._cdRef = _cdRef;
|
|
15
|
+
this.dirtySubmit = true;
|
|
16
|
+
this.transitionStyle = null;
|
|
17
|
+
this.active = false;
|
|
18
|
+
this.submit = false;
|
|
19
|
+
this._previousDisabled = false;
|
|
20
|
+
this._destroy$ = new Subject();
|
|
21
|
+
}
|
|
22
|
+
ngOnInit() {
|
|
23
|
+
this.submit = this._elementRef.nativeElement.getAttribute('type') === 'submit';
|
|
24
|
+
this.form = this.form || this._form;
|
|
25
|
+
if (this.form) {
|
|
26
|
+
this.form.addButton(this);
|
|
27
|
+
if (this.submit) {
|
|
28
|
+
fromEvent(this.element, 'click')
|
|
29
|
+
.pipe(takeUntil(this._destroy$))
|
|
30
|
+
.subscribe(() => {
|
|
31
|
+
this.active = true;
|
|
32
|
+
});
|
|
33
|
+
if (this.dirtySubmit) {
|
|
34
|
+
if (this.form.dirtySubmitButton) {
|
|
35
|
+
if (!this.form.ngForm.dirty) {
|
|
36
|
+
this.disable();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
this.transitionStyle = 'none';
|
|
41
|
+
setTimeout(() => {
|
|
42
|
+
this.transitionStyle = null;
|
|
43
|
+
}, 500);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
disable() {
|
|
48
|
+
if (this._matButton && !this.active) {
|
|
49
|
+
this._previousDisabled = this._matButton.disabled;
|
|
50
|
+
this._matButton.disabled = true;
|
|
51
|
+
this._cdRef.markForCheck();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
enable() {
|
|
55
|
+
if (this._matButton) {
|
|
56
|
+
this._matButton.disabled = false;
|
|
57
|
+
this._matButton.disableRipple = true;
|
|
58
|
+
this._cdRef.markForCheck();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
process() {
|
|
62
|
+
this.setClass('process');
|
|
63
|
+
if (this._matButton) {
|
|
64
|
+
this._matButton.disableRipple = true;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
success() {
|
|
68
|
+
this.setClass('success');
|
|
69
|
+
if (this._matButton) {
|
|
70
|
+
this._matButton.disableRipple = false;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
error() {
|
|
74
|
+
this.setClass('error');
|
|
75
|
+
if (this._matButton) {
|
|
76
|
+
this._matButton.disableRipple = false;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
setClass(cls) {
|
|
80
|
+
const svg = this._getSvg(cls);
|
|
81
|
+
this._resetClass();
|
|
82
|
+
this._disableShadowAnimation();
|
|
83
|
+
this.element.classList.add(`submit-${cls}`);
|
|
84
|
+
this.element.append(svg);
|
|
85
|
+
}
|
|
86
|
+
get element() {
|
|
87
|
+
return this._elementRef.nativeElement;
|
|
88
|
+
}
|
|
89
|
+
resetActive() {
|
|
90
|
+
this.active = false;
|
|
91
|
+
}
|
|
92
|
+
reset() {
|
|
93
|
+
if (!this._previousDisabled) {
|
|
94
|
+
this.enable();
|
|
95
|
+
}
|
|
96
|
+
this.element.querySelectorAll('.svg-icon')
|
|
97
|
+
.forEach((el) => {
|
|
98
|
+
el.remove();
|
|
99
|
+
});
|
|
100
|
+
if (this._matButton) {
|
|
101
|
+
this._matButton.disableRipple = false;
|
|
102
|
+
}
|
|
103
|
+
this._resetClass();
|
|
104
|
+
}
|
|
105
|
+
ngOnDestroy() {
|
|
106
|
+
this._destroy$.next();
|
|
107
|
+
this._destroy$.complete();
|
|
108
|
+
this.form?.removeButton(this);
|
|
109
|
+
}
|
|
110
|
+
_disableShadowAnimation() {
|
|
111
|
+
// .mat-elevation-z2 removes the click shadow animation
|
|
112
|
+
//this.element.classList.add('mat-elevation-z2');
|
|
113
|
+
}
|
|
114
|
+
_resetClass() {
|
|
115
|
+
this.element.classList.remove('submit-success', 'submit-error', 'submit-process', 'mat-elevation-z2');
|
|
116
|
+
}
|
|
117
|
+
_getSvg(type) {
|
|
118
|
+
if (type === 'success') {
|
|
119
119
|
return new DOMParser().parseFromString(`<svg class="svg-icon svg-icon-success" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" viewBox="0 0 38 38" style="enable-background:new 0 0 38 38;" xml:space="preserve" width="38px" height="38px">
|
|
120
120
|
<g>
|
|
121
121
|
<g class="check">
|
|
@@ -124,43 +124,43 @@ export class FsButtonDirective {
|
|
|
124
124
|
</g>
|
|
125
125
|
</g>
|
|
126
126
|
</g>
|
|
127
|
-
</svg>`, 'text/xml').firstChild;
|
|
128
|
-
}
|
|
129
|
-
if (type === 'process') {
|
|
127
|
+
</svg>`, 'text/xml').firstChild;
|
|
128
|
+
}
|
|
129
|
+
if (type === 'process') {
|
|
130
130
|
return new DOMParser().parseFromString(`<svg class="svg-icon svg-icon-process" width="38" height="38" viewBox="0 0 38 38" xmlns="http://www.w3.org/2000/svg">
|
|
131
131
|
<g fill="none" fill-rule="evenodd">
|
|
132
132
|
<g transform="translate(1 1)" stroke-width="2"><circle stroke-opacity=".5" cx="18" cy="18" r="18"/>
|
|
133
133
|
<path d="M36 18c0-9.94-8.06-18-18-18"><animateTransform attributeName="transform" type="rotate" from="0 18 18" to="360 18 18" dur=".7s" repeatCount="indefinite"/></path>
|
|
134
134
|
</g>
|
|
135
135
|
</g>
|
|
136
|
-
</svg>`, 'text/xml').firstChild;
|
|
137
|
-
}
|
|
138
|
-
if (type === 'error') {
|
|
139
|
-
return new DOMParser().parseFromString('<svg class="svg-icon svg-icon-error" xmlns="http://www.w3.org/2000/svg" width="38px" height="38px" viewBox="0 0 16 16"><g><path d="M8 1c3.9 0 7 3.1 7 7s-3.1 7-7 7-7-3.1-7-7 3.1-7 7-7zM8 0c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8v0z" data-original="#444444" data-old_color="#444444"/><path d="M12.2 10.8l-2.8-2.8 2.8-2.8-1.4-1.4-2.8 2.8-2.8-2.8-1.4 1.4 2.8 2.8-2.8 2.8 1.4 1.4 2.8-2.8 2.8 2.8z"/></g> </svg>', 'text/xml').firstChild;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
FsButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
144
|
-
FsButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
145
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
146
|
-
type: Directive,
|
|
147
|
-
args: [{
|
|
148
|
-
selector: '[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])',
|
|
149
|
-
}]
|
|
150
|
-
}], ctorParameters: function () { return [{ type: i1.MatButton, decorators: [{
|
|
151
|
-
type: Optional
|
|
152
|
-
}, {
|
|
153
|
-
type: Host
|
|
154
|
-
}] }, { type: i2.FsFormDirective, decorators: [{
|
|
155
|
-
type: Optional
|
|
156
|
-
}] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { name: [{
|
|
157
|
-
type: Input
|
|
158
|
-
}], dirtySubmit: [{
|
|
159
|
-
type: Input
|
|
160
|
-
}], form: [{
|
|
161
|
-
type: Input
|
|
162
|
-
}], transitionStyle: [{
|
|
163
|
-
type: HostBinding,
|
|
164
|
-
args: ['style.transition']
|
|
165
|
-
}] } });
|
|
136
|
+
</svg>`, 'text/xml').firstChild;
|
|
137
|
+
}
|
|
138
|
+
if (type === 'error') {
|
|
139
|
+
return new DOMParser().parseFromString('<svg class="svg-icon svg-icon-error" xmlns="http://www.w3.org/2000/svg" width="38px" height="38px" viewBox="0 0 16 16"><g><path d="M8 1c3.9 0 7 3.1 7 7s-3.1 7-7 7-7-3.1-7-7 3.1-7 7-7zM8 0c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8v0z" data-original="#444444" data-old_color="#444444"/><path d="M12.2 10.8l-2.8-2.8 2.8-2.8-1.4-1.4-2.8 2.8-2.8-2.8-1.4 1.4 2.8 2.8-2.8 2.8 1.4 1.4 2.8-2.8 2.8 2.8z"/></g> </svg>', 'text/xml').firstChild;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
FsButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsButtonDirective, deps: [{ token: i1.MatButton, host: true, optional: true }, { token: i2.FsFormDirective, optional: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
144
|
+
FsButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: FsButtonDirective, selector: "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", inputs: { name: "name", dirtySubmit: "dirtySubmit", form: "form" }, host: { properties: { "style.transition": "this.transitionStyle" } }, ngImport: i0 });
|
|
145
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsButtonDirective, decorators: [{
|
|
146
|
+
type: Directive,
|
|
147
|
+
args: [{
|
|
148
|
+
selector: '[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])',
|
|
149
|
+
}]
|
|
150
|
+
}], ctorParameters: function () { return [{ type: i1.MatButton, decorators: [{
|
|
151
|
+
type: Optional
|
|
152
|
+
}, {
|
|
153
|
+
type: Host
|
|
154
|
+
}] }, { type: i2.FsFormDirective, decorators: [{
|
|
155
|
+
type: Optional
|
|
156
|
+
}] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { name: [{
|
|
157
|
+
type: Input
|
|
158
|
+
}], dirtySubmit: [{
|
|
159
|
+
type: Input
|
|
160
|
+
}], form: [{
|
|
161
|
+
type: Input
|
|
162
|
+
}], transitionStyle: [{
|
|
163
|
+
type: HostBinding,
|
|
164
|
+
args: ['style.transition']
|
|
165
|
+
}] } });
|
|
166
166
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvZGlyZWN0aXZlcy9idXR0b24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixRQUFRLEdBQ2hHLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUdyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBTXhELE1BQU0sT0FBTyxpQkFBaUI7SUFvQjVCLFlBQzhCLFVBQXFCLEVBQzdCLEtBQXNCLEVBQ2xDLFdBQXVCLEVBQ3ZCLE1BQXlCO1FBSEwsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQUM3QixVQUFLLEdBQUwsS0FBSyxDQUFpQjtRQUNsQyxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQWxCNUIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFNbkIsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFFdkIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFZCxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFPL0IsQ0FBQztJQUVHLFFBQVE7UUFDYixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxRQUFRLENBQUM7UUFD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QUUsVUFBVSxDQUFDLENBQUMsVUFBVSxDQUFDO1NBQ2pDO1FBRUQsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFO1lBQ3RCLE9BQU8sSUFBSSxTQUFTLEVBQUUsQ0FBQyxlQUFlLENBQUM7Ozs7OzthQU1oQyxFQUFFLFVBQVUsQ0FBQyxDQUFDLFVBQVUsQ0FBQztTQUNqQztRQUVELElBQUksSUFBSSxLQUFLLE9BQU8sRUFBRTtZQUNwQixPQUFPLElBQUksU0FBUyxFQUFFLENBQUMsZUFBZSxDQUFDLDhaQUE4WixFQUFFLFVBQVUsQ0FBQyxDQUFDLFVBQVUsQ0FBQztTQUMvZDtJQUNILENBQUM7OzhHQXpLVSxpQkFBaUI7a0dBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUg3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpTUFBaU07aUJBQzVNOzswQkFzQkksUUFBUTs7MEJBQUksSUFBSTs7MEJBQ2hCLFFBQVE7cUdBbkJKLElBQUk7c0JBRFYsS0FBSztnQkFJQyxXQUFXO3NCQURqQixLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxlQUFlO3NCQURyQixXQUFXO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3QsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWF0QnV0dG9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcblxuXG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRnNGb3JtRGlyZWN0aXZlIH0gZnJvbSAnLi9mb3JtL2Zvcm0uZGlyZWN0aXZlJztcblxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbWF0LXJhaXNlZC1idXR0b25dOm5vdChbZnNGb3JtQnV0dG9uU3RhbmRhbG9uZV0pLFttYXQtYnV0dG9uXTpub3QoW2ZzRm9ybUJ1dHRvblN0YW5kYWxvbmVdKSxbbWF0LWZsYXQtYnV0dG9uXTpub3QoW2ZzRm9ybUJ1dHRvblN0YW5kYWxvbmVdKSxbbWF0LXN0cm9rZWQtYnV0dG9uXTpub3QoW2ZzRm9ybUJ1dHRvblN0YW5kYWxvbmVdKScsXG59KVxuZXhwb3J0IGNsYXNzIEZzQnV0dG9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBuYW1lO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkaXJ0eVN1Ym1pdCA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZvcm06IEZzRm9ybURpcmVjdGl2ZTtcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLnRyYW5zaXRpb24nKVxuICBwdWJsaWMgdHJhbnNpdGlvblN0eWxlID0gbnVsbDtcblxuICBwdWJsaWMgYWN0aXZlID0gZmFsc2U7XG4gIHB1YmxpYyBzdWJtaXQgPSBmYWxzZTtcblxuICBwcml2YXRlIF9wcmV2aW91c0Rpc2FibGVkID0gZmFsc2U7XG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASG9zdCgpIHByaXZhdGUgX21hdEJ1dHRvbjogTWF0QnV0dG9uLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2Zvcm06IEZzRm9ybURpcmVjdGl2ZSxcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgX2NkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnN1Ym1pdCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3R5cGUnKSA9PT0gJ3N1Ym1pdCc7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mb3JtIHx8IHRoaXMuX2Zvcm07XG5cbiAgICBpZiAodGhpcy5mb3JtKSB7XG4gICAgICB0aGlzLmZvcm0uYWRkQnV0dG9uKHRoaXMpO1xuXG4gICAgICBpZih0aGlzLnN1Ym1pdCkge1xuICAgICAgICBmcm9tRXZlbnQodGhpcy5lbGVtZW50LCAnY2xpY2snKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICAgICApXG4gICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuZGlydHlTdWJtaXQpIHtcbiAgICAgICAgICBpZiAodGhpcy5mb3JtLmRpcnR5U3VibWl0QnV0dG9uKSB7XG4gICAgICAgICAgICBpZighdGhpcy5mb3JtLm5nRm9ybS5kaXJ0eSkge1xuICAgICAgICAgICAgICB0aGlzLmRpc2FibGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRyYW5zaXRpb25TdHlsZSA9ICdub25lJztcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy50cmFuc2l0aW9uU3R5bGUgPSBudWxsO1xuICAgICAgICB9LCA1MDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkaXNhYmxlKCkgeyAgICBcbiAgICBpZiAodGhpcy5fbWF0QnV0dG9uICYmICF0aGlzLmFjdGl2ZSkge1xuICAgICAgdGhpcy5fcHJldmlvdXNEaXNhYmxlZCA9IHRoaXMuX21hdEJ1dHRvbi5kaXNhYmxlZDtcbiAgICAgIHRoaXMuX21hdEJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7XG4gICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTsgXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGVuYWJsZSgpIHtcbiAgICBpZiAodGhpcy5fbWF0QnV0dG9uKSB7XG4gICAgICB0aGlzLl9tYXRCdXR0b24uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuX21hdEJ1dHRvbi5kaXNhYmxlUmlwcGxlID0gdHJ1ZTtcbiAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBwcm9jZXNzKCkge1xuICAgIHRoaXMuc2V0Q2xhc3MoJ3Byb2Nlc3MnKTtcbiAgICBpZiAodGhpcy5fbWF0QnV0dG9uKSB7XG4gICAgICB0aGlzLl9tYXRCdXR0b24uZGlzYWJsZVJpcHBsZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN1Y2Nlc3MoKSB7XG4gICAgdGhpcy5zZXRDbGFzcygnc3VjY2VzcycpO1xuICAgIGlmICh0aGlzLl9tYXRCdXR0b24pIHtcbiAgICAgIHRoaXMuX21hdEJ1dHRvbi5kaXNhYmxlUmlwcGxlID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGVycm9yKCkge1xuICAgIHRoaXMuc2V0Q2xhc3MoJ2Vycm9yJyk7XG4gICAgaWYgKHRoaXMuX21hdEJ1dHRvbikge1xuICAgICAgdGhpcy5fbWF0QnV0dG9uLmRpc2FibGVSaXBwbGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0Q2xhc3MoY2xzKSB7XG4gICAgY29uc3Qgc3ZnID0gdGhpcy5fZ2V0U3ZnKGNscyk7XG4gICAgdGhpcy5fcmVzZXRDbGFzcygpO1xuICAgIHRoaXMuX2Rpc2FibGVTaGFkb3dBbmltYXRpb24oKTtcbiAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZChgc3VibWl0LSR7Y2xzfWApO1xuICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoc3ZnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIHJlc2V0QWN0aXZlKCkge1xuICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKSB7XG4gICAgaWYoIXRoaXMuX3ByZXZpb3VzRGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuZW5hYmxlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5lbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5zdmctaWNvbicpXG4gICAgICAuZm9yRWFjaCgoZWwpID0+IHtcbiAgICAgICAgZWwucmVtb3ZlKCk7XG4gICAgICB9KTtcblxuICAgIGlmICh0aGlzLl9tYXRCdXR0b24pIHtcbiAgICAgIHRoaXMuX21hdEJ1dHRvbi5kaXNhYmxlUmlwcGxlID0gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMuX3Jlc2V0Q2xhc3MoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB0aGlzLmZvcm0/LnJlbW92ZUJ1dHRvbih0aGlzKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Rpc2FibGVTaGFkb3dBbmltYXRpb24oKSB7XG4gICAgLy8gLm1hdC1lbGV2YXRpb24tejIgcmVtb3ZlcyB0aGUgY2xpY2sgc2hhZG93IGFuaW1hdGlvblxuICAgIC8vdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoJ21hdC1lbGV2YXRpb24tejInKTtcbiAgfVxuXG4gIHByaXZhdGUgX3Jlc2V0Q2xhc3MoKSB7XG4gICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3N1Ym1pdC1zdWNjZXNzJywgJ3N1Ym1pdC1lcnJvcicsICdzdWJtaXQtcHJvY2VzcycsICdtYXQtZWxldmF0aW9uLXoyJyk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRTdmcodHlwZSkge1xuICAgIGlmICh0eXBlID09PSAnc3VjY2VzcycpIHtcbiAgICAgIHJldHVybiBuZXcgRE9NUGFyc2VyKCkucGFyc2VGcm9tU3RyaW5nKGA8c3ZnIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tc3VjY2Vzc1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB2ZXJzaW9uPVwiMS4xXCIgeD1cIjBweFwiIHk9XCIwcHhcIiB2aWV3Qm94PVwiMCAwIDM4IDM4XCIgc3R5bGU9XCJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDM4IDM4O1wiIHhtbDpzcGFjZT1cInByZXNlcnZlXCIgd2lkdGg9XCIzOHB4XCIgaGVpZ2h0PVwiMzhweFwiPlxuICAgICAgPGc+XG4gICAgICAgIDxnIGNsYXNzPVwiY2hlY2tcIj5cbiAgICAgICAgICA8Zz5cbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNMjkuNiwxMS45Yy0wLjUtMC41LTEuMy0wLjUtMS44LDBMMTYuMywyMy40bC02LjEtNi4xYy0wLjUtMC41LTEuMy0wLjUtMS44LDBzLTAuNSwxLjMsMCwxLjhsNyw3YzAuMywwLjMsMC42LDAuNCwwLjksMC40czAuNy0wLjEsMC45LTAuNGwxMi40LTEyLjRDMzAuMSwxMy4yLDMwLjEsMTIuNCwyOS42LDExLjl6XCIvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgPC9nPlxuICAgICAgPC9zdmc+YCwgJ3RleHQveG1sJykuZmlyc3RDaGlsZDtcbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gJ3Byb2Nlc3MnKSB7XG4gICAgICByZXR1cm4gbmV3IERPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZyhgPHN2ZyBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLXByb2Nlc3NcIiB3aWR0aD1cIjM4XCIgaGVpZ2h0PVwiMzhcIiB2aWV3Qm94PVwiMCAwIDM4IDM4XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgPGcgZmlsbD1cIm5vbmVcIiBmaWxsLXJ1bGU9XCJldmVub2RkXCI+XG4gICAgICAgIDxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxIDEpXCIgc3Ryb2tlLXdpZHRoPVwiMlwiPjxjaXJjbGUgc3Ryb2tlLW9wYWNpdHk9XCIuNVwiIGN4PVwiMThcIiBjeT1cIjE4XCIgcj1cIjE4XCIvPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMzYgMThjMC05Ljk0LTguMDYtMTgtMTgtMThcIj48YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPVwidHJhbnNmb3JtXCIgdHlwZT1cInJvdGF0ZVwiIGZyb209XCIwIDE4IDE4XCIgdG89XCIzNjAgMTggMThcIiBkdXI9XCIuN3NcIiByZXBlYXRDb3VudD1cImluZGVmaW5pdGVcIi8+PC9wYXRoPlxuICAgICAgICA8L2c+XG4gICAgICA8L2c+XG4gICAgICA8L3N2Zz5gLCAndGV4dC94bWwnKS5maXJzdENoaWxkO1xuICAgIH1cblxuICAgIGlmICh0eXBlID09PSAnZXJyb3InKSB7XG4gICAgICByZXR1cm4gbmV3IERPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZygnPHN2ZyBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLWVycm9yXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzhweFwiIGhlaWdodD1cIjM4cHhcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCI+PGc+PHBhdGggZD1cIk04IDFjMy45IDAgNyAzLjEgNyA3cy0zLjEgNy03IDctNy0zLjEtNy03IDMuMS03IDctN3pNOCAwYy00LjQgMC04IDMuNi04IDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh2MHpcIiBkYXRhLW9yaWdpbmFsPVwiIzQ0NDQ0NFwiIGRhdGEtb2xkX2NvbG9yPVwiIzQ0NDQ0NFwiLz48cGF0aCBkPVwiTTEyLjIgMTAuOGwtMi44LTIuOCAyLjgtMi44LTEuNC0xLjQtMi44IDIuOC0yLjgtMi44LTEuNCAxLjQgMi44IDIuOC0yLjggMi44IDEuNCAxLjQgMi44LTIuOCAyLjggMi44elwiLz48L2c+IDwvc3ZnPicsICd0ZXh0L3htbCcpLmZpcnN0Q2hpbGQ7XG4gICAgfVxuICB9XG59XG4iXX0=
|