@joster-dev/chaos-control 0.1.2 → 0.3.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/README.md +86 -86
- package/fesm2022/joster-dev-chaos-control.mjs +512 -580
- package/fesm2022/joster-dev-chaos-control.mjs.map +1 -1
- package/{lib/LICENSE → lib} +9 -9
- package/package.json +6 -8
- package/src/lib/scss/all.scss +7 -0
- package/src/lib/scss/card.scss +78 -0
- package/src/lib/scss/control.scss +49 -0
- package/src/lib/scss/reboot.scss +13 -0
- package/src/lib/scss/utility.scss +179 -0
- package/src/lib/scss/variables.scss +7 -0
- package/src/lib/styles.scss +28 -28
- package/types/joster-dev-chaos-control.d.ts +243 -0
- package/esm2022/joster-dev-chaos-control.mjs +0 -5
- package/esm2022/lib/chaos-control.module.mjs +0 -67
- package/esm2022/lib/chaos-control.service.mjs +0 -14
- package/esm2022/lib/components/choice/choice.component.mjs +0 -52
- package/esm2022/lib/components/color/color.component.mjs +0 -77
- package/esm2022/lib/components/file/file.component.mjs +0 -131
- package/esm2022/lib/components/index.mjs +0 -8
- package/esm2022/lib/components/number/number.component.mjs +0 -134
- package/esm2022/lib/components/readonly/readonly.component.mjs +0 -14
- package/esm2022/lib/components/select/select.component.mjs +0 -98
- package/esm2022/lib/components/text/text.component.mjs +0 -162
- package/esm2022/lib/directives/border-radius.directive.mjs +0 -41
- package/esm2022/lib/directives/control.directive.mjs +0 -46
- package/esm2022/lib/directives/index.mjs +0 -4
- package/esm2022/lib/directives/item.directive.mjs +0 -117
- package/esm2022/lib/models/index.mjs +0 -7
- package/esm2022/lib/models/is-item.function.mjs +0 -8
- package/esm2022/lib/models/is-items.function.mjs +0 -5
- package/esm2022/lib/models/is-number.function.mjs +0 -5
- package/esm2022/lib/models/is-primitive.function.mjs +0 -7
- package/esm2022/lib/models/item.interface.mjs +0 -2
- package/esm2022/lib/models/primitive.type.mjs +0 -2
- package/esm2022/public-api.mjs +0 -6
- package/index.d.ts +0 -5
- package/lib/chaos-control.module.d.ts +0 -20
- package/lib/chaos-control.service.d.ts +0 -6
- package/lib/components/choice/choice.component.d.ts +0 -15
- package/lib/components/color/color.component.d.ts +0 -22
- package/lib/components/file/file.component.d.ts +0 -31
- package/lib/components/index.d.ts +0 -7
- package/lib/components/number/number.component.d.ts +0 -33
- package/lib/components/readonly/readonly.component.d.ts +0 -8
- package/lib/components/select/select.component.d.ts +0 -28
- package/lib/components/text/text.component.d.ts +0 -41
- package/lib/directives/border-radius.directive.d.ts +0 -12
- package/lib/directives/control.directive.d.ts +0 -18
- package/lib/directives/index.d.ts +0 -3
- package/lib/directives/item.directive.d.ts +0 -36
- package/lib/models/index.d.ts +0 -6
- package/lib/models/is-item.function.d.ts +0 -2
- package/lib/models/is-items.function.d.ts +0 -2
- package/lib/models/is-number.function.d.ts +0 -1
- package/lib/models/is-primitive.function.d.ts +0 -2
- package/lib/models/item.interface.d.ts +0 -6
- package/lib/models/primitive.type.d.ts +0 -1
- package/public-api.d.ts +0 -4
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Self } from '@angular/core';
|
|
2
|
-
import { Validators } from '@angular/forms';
|
|
3
|
-
import { ControlDirective } from '../../directives';
|
|
4
|
-
import { isNumber } from '../../models';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/forms";
|
|
7
|
-
import * as i2 from "@joster-dev/icon";
|
|
8
|
-
export class NumberComponent extends ControlDirective {
|
|
9
|
-
get min() {
|
|
10
|
-
return this._min;
|
|
11
|
-
}
|
|
12
|
-
set min(value) {
|
|
13
|
-
if (!isNumber(value))
|
|
14
|
-
throw new Error('[min] expects: number');
|
|
15
|
-
this._min = value;
|
|
16
|
-
this.validation.next();
|
|
17
|
-
}
|
|
18
|
-
get max() {
|
|
19
|
-
return this._max;
|
|
20
|
-
}
|
|
21
|
-
set max(value) {
|
|
22
|
-
if (!isNumber(value))
|
|
23
|
-
throw new Error('[max] expects: number');
|
|
24
|
-
this._max = value;
|
|
25
|
-
this.validation.next();
|
|
26
|
-
}
|
|
27
|
-
get step() {
|
|
28
|
-
return this._step;
|
|
29
|
-
}
|
|
30
|
-
set step(value) {
|
|
31
|
-
if (!isNumber(value))
|
|
32
|
-
throw new Error('[step] expects: number');
|
|
33
|
-
this._step = value;
|
|
34
|
-
this.mustBeInteger = Number.isInteger(this._step);
|
|
35
|
-
}
|
|
36
|
-
constructor(ngControl) {
|
|
37
|
-
super();
|
|
38
|
-
this.ngControl = ngControl;
|
|
39
|
-
this._min = 0;
|
|
40
|
-
this._max = 9;
|
|
41
|
-
this._step = 1;
|
|
42
|
-
this.mustBeInteger = true;
|
|
43
|
-
this.sizePadding = 5;
|
|
44
|
-
this._model = null;
|
|
45
|
-
this.validation.subscribe(() => this.validate());
|
|
46
|
-
this.validation.next();
|
|
47
|
-
ngControl.valueAccessor = this;
|
|
48
|
-
}
|
|
49
|
-
get model() {
|
|
50
|
-
return this._model;
|
|
51
|
-
}
|
|
52
|
-
set model(value) {
|
|
53
|
-
this._model = value;
|
|
54
|
-
this.onChange(this._model);
|
|
55
|
-
}
|
|
56
|
-
get isDisabledAdd() {
|
|
57
|
-
return this.isDisabled === true
|
|
58
|
-
|| this.model !== null
|
|
59
|
-
&& this.model + this.step > this.max;
|
|
60
|
-
}
|
|
61
|
-
get isDisabledSubtract() {
|
|
62
|
-
return this.isDisabled === true
|
|
63
|
-
|| this._model !== null
|
|
64
|
-
&& this._model - this.step < this.min;
|
|
65
|
-
}
|
|
66
|
-
get maxDigitSize() {
|
|
67
|
-
return Math.max(this._step.toString().length, this._max.toString().length, this._min.toString().length);
|
|
68
|
-
}
|
|
69
|
-
onBeforeinput(e) {
|
|
70
|
-
const event = e;
|
|
71
|
-
if (event.data === null)
|
|
72
|
-
return;
|
|
73
|
-
const isDigit = /\d/.test(event.data);
|
|
74
|
-
const isMinus = event.data === '-';
|
|
75
|
-
const isMinusAllowed = this.min < 0;
|
|
76
|
-
const isBlockedNonDigit = !isDigit && !(isMinus && isMinusAllowed);
|
|
77
|
-
const isPastMax = Number((this._model || '') + event.data) > this.max;
|
|
78
|
-
if (isBlockedNonDigit || isPastMax)
|
|
79
|
-
event.preventDefault();
|
|
80
|
-
}
|
|
81
|
-
add(e) {
|
|
82
|
-
if (this.model === null) {
|
|
83
|
-
this.model = this.max;
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
e.stepUp();
|
|
87
|
-
this.model = e.valueAsNumber;
|
|
88
|
-
}
|
|
89
|
-
subtract(e) {
|
|
90
|
-
if (this.model === null) {
|
|
91
|
-
this.model = this.min;
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
e.stepDown();
|
|
95
|
-
this.model = e.valueAsNumber;
|
|
96
|
-
}
|
|
97
|
-
onChange(_model) { }
|
|
98
|
-
registerOnChange(fn) {
|
|
99
|
-
this.onChange = fn;
|
|
100
|
-
}
|
|
101
|
-
writeValue(value) {
|
|
102
|
-
if (value === undefined)
|
|
103
|
-
value = null;
|
|
104
|
-
if (typeof value === 'string')
|
|
105
|
-
value = parseFloat(value);
|
|
106
|
-
if (value === null || isNumber(value))
|
|
107
|
-
this._model = value;
|
|
108
|
-
}
|
|
109
|
-
validate() {
|
|
110
|
-
const validators = [
|
|
111
|
-
Validators.min(this.min),
|
|
112
|
-
Validators.max(this.max)
|
|
113
|
-
];
|
|
114
|
-
if (this.required === true)
|
|
115
|
-
validators.push(Validators.required);
|
|
116
|
-
this.ngControl.control?.setValidators(validators);
|
|
117
|
-
this.ngControl.control?.updateValueAndValidity();
|
|
118
|
-
}
|
|
119
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: NumberComponent, deps: [{ token: i1.NgControl, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
120
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: NumberComponent, selector: "jo-number", inputs: { min: "min", max: "max", step: "step" }, usesInheritance: true, ngImport: i0, template: "<label [class.required]=\"required\">\r\n <ng-content></ng-content>\r\n</label>\r\n\r\n<div class=\"d-flex align-items-stretch\">\r\n <input\r\n [(ngModel)]=\"model\"\r\n #numberInput\r\n class=\"d-flex align-items-center\"\r\n type=\"number\"\r\n [size]=\"maxDigitSize + sizePadding\"\r\n [class.active]=\"_model !== null\"\r\n [class.br-start]=\"borderRadiusLeft\"\r\n [class.invalid]=\"ngControl.control?.invalid\"\r\n [disabled]=\"isDisabled\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n (beforeinput)=\"onBeforeinput($event)\"\r\n />\r\n <button\r\n class=\"d-flex align-items-center\"\r\n title=\"Subtract\"\r\n type=\"button\"\r\n [disabled]=\"isDisabledSubtract\"\r\n [class.invalid]=\"ngControl.control?.invalid\"\r\n (blur)=\"onTouched()\"\r\n (click)=\"subtract(numberInput)\"\r\n >\r\n <icon\r\n type=\"minus\"\r\n size=\"1rem\"\r\n [fill]=\"[null, 'current']\"\r\n fillRotate=\"90\"\r\n ></icon>\r\n </button>\r\n <button\r\n class=\"d-flex align-items-center\"\r\n title=\"Add\"\r\n type=\"button\"\r\n [class.br-end]=\"borderRadiusRight\"\r\n [disabled]=\"isDisabledAdd\"\r\n [class.invalid]=\"ngControl.control?.invalid\"\r\n (blur)=\"onTouched()\"\r\n (click)=\"add(numberInput)\"\r\n >\r\n <icon\r\n type=\"plus\"\r\n size=\"1rem\"\r\n [fill]=\"[null, 'current']\"\r\n fillRotate=\"90\"\r\n ></icon>\r\n </button>\r\n</div>\r\n\r\n<!-- <ul *ngIf=\"ngControl.control?.errors\">\r\n <li *ngIf=\"ngControl.control?.errors?.['min']\">\r\n minimum number is {{min}}\r\n </li>\r\n <li *ngIf=\"ngControl.control?.errors?.['max']\">\r\n maximum number is {{max}}\r\n </li>\r\n</ul> -->", styles: ["input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host>div>input{border-right:0}:host>div>button:not(:last-child){border-right:0;border-left:0}:host>div>button:last-child{border-left:0}\n", "body{font-family:Arial;margin:0}h1,h2,h3,h4,h5,h6{margin:0}a:not(.jo-ignore),button:not(.jo-ignore),.jo-button,input,textarea{color:inherit;background:transparent;border-width:.15rem;border-style:outset;border-color:currentColor;padding:.5rem;margin:0;font-size:1rem;line-height:1rem;font-family:inherit}a:not(.jo-ignore):active,a:not(.jo-ignore).active,button:not(.jo-ignore):active,button:not(.jo-ignore).active,.jo-button:active,.jo-button.active,input:active,input.active,textarea:active,textarea.active{border-style:inset}a:not(.jo-ignore):disabled,a:not(.jo-ignore).disabled,button:not(.jo-ignore):disabled,button:not(.jo-ignore).disabled,.jo-button:disabled,.jo-button.disabled,input:disabled,input.disabled,textarea:disabled,textarea.disabled{cursor:not-allowed;border-style:solid;box-shadow:none;opacity:.5}a,button,.jo-button{cursor:pointer}.card{border:1px solid currentColor;border-radius:.5rem}.card .card-header{padding:1rem;border-bottom:1px solid currentColor}.card .card-body,.card .card-footer{padding:1rem}.card .card-table{overflow-x:auto}.card .card-body+.card-table,.card .card-table+.card-body,.card .card-body+.card-body,.card .card-table+.card-table,.card .card-table+.card-footer,.card .card-body+.card-footer{border-top:1px solid currentColor}.card table{width:100%;border-collapse:collapse}.card table>thead{text-align:left}.card table>thead th{border-bottom:1px solid currentColor}.card table>tfoot td{margin-top:1px;border-top:1px solid currentColor}.card table th,.card table td{padding:1rem}.card table tbody tr>td:last-child{text-align:right}.card table tbody tr:nth-child(odd) td{-webkit-backdrop-filter:brightness(85%);backdrop-filter:brightness(85%)}.card table tbody tr:last-child>td:first-child{border-bottom-left-radius:.5rem}.card table tbody tr:last-child>td:last-child{border-bottom-right-radius:.5rem}.card table tbody tr.active td{font-weight:700}.position-relative{position:relative}.d-flex{display:flex}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.flex-2{flex:2}.flex-3{flex:3}.flex-4{flex:4}.gap-1{gap:.25rem}.m-1{margin:.25rem}.p-1{padding:.25rem}.mx-1{margin-right:.25rem;margin-left:.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.px-1{padding-right:.25rem;padding-left:.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.ms-1{margin-right:.25rem}.me-1{margin-left:.25rem}.mt-1{margin-top:.25rem}.mb-1{margin-bottom:.25rem}.ps-1{padding-right:.25rem}.pe-1{padding-left:.25rem}.pt-1{padding-top:.25rem}.pb-1{padding-bottom:.25rem}.gap-2{gap:.5rem}.m-2{margin:.5rem}.p-2{padding:.5rem}.mx-2{margin-right:.5rem;margin-left:.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.px-2{padding-right:.5rem;padding-left:.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.ms-2{margin-right:.5rem}.me-2{margin-left:.5rem}.mt-2{margin-top:.5rem}.mb-2{margin-bottom:.5rem}.ps-2{padding-right:.5rem}.pe-2{padding-left:.5rem}.pt-2{padding-top:.5rem}.pb-2{padding-bottom:.5rem}.gap-3{gap:1rem}.m-3{margin:1rem}.p-3{padding:1rem}.mx-3{margin-right:1rem;margin-left:1rem}.my-3{margin-top:1rem;margin-bottom:1rem}.px-3{padding-right:1rem;padding-left:1rem}.py-3{padding-top:1rem;padding-bottom:1rem}.ms-3{margin-right:1rem}.me-3{margin-left:1rem}.mt-3{margin-top:1rem}.mb-3{margin-bottom:1rem}.ps-3{padding-right:1rem}.pe-3{padding-left:1rem}.pt-3{padding-top:1rem}.pb-3{padding-bottom:1rem}.gap-4{gap:1.5rem}.m-4{margin:1.5rem}.p-4{padding:1.5rem}.mx-4{margin-right:1.5rem;margin-left:1.5rem}.my-4{margin-top:1.5rem;margin-bottom:1.5rem}.px-4{padding-right:1.5rem;padding-left:1.5rem}.py-4{padding-top:1.5rem;padding-bottom:1.5rem}.ms-4{margin-right:1.5rem}.me-4{margin-left:1.5rem}.mt-4{margin-top:1.5rem}.mb-4{margin-bottom:1.5rem}.ps-4{padding-right:1.5rem}.pe-4{padding-left:1.5rem}.pt-4{padding-top:1.5rem}.pb-4{padding-bottom:1.5rem}.gap-5{gap:2rem}.m-5{margin:2rem}.p-5{padding:2rem}.mx-5{margin-right:2rem;margin-left:2rem}.my-5{margin-top:2rem;margin-bottom:2rem}.px-5{padding-right:2rem;padding-left:2rem}.py-5{padding-top:2rem;padding-bottom:2rem}.ms-5{margin-right:2rem}.me-5{margin-left:2rem}.mt-5{margin-top:2rem}.mb-5{margin-bottom:2rem}.ps-5{padding-right:2rem}.pe-5{padding-left:2rem}.pt-5{padding-top:2rem}.pb-5{padding-bottom:2rem}.border{border:1px solid currentColor}.br-start{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.br-end{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.white-space-nowrap{white-space:nowrap}.text-end{text-align:right}.text-start{text-align:left}.text-center{text-align:center}label{display:block;padding-bottom:.5rem;font-weight:700}label:empty{display:none}label.required:after{content:\"*\"}ul{list-style:none;margin:0;padding:0}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.IconComponent, selector: "icon[type]", inputs: ["type", "fill", "fillRotate", "fillOpacity", "stroke", "strokeRotate", "spin"] }] }); }
|
|
121
|
-
}
|
|
122
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: NumberComponent, decorators: [{
|
|
123
|
-
type: Component,
|
|
124
|
-
args: [{ selector: 'jo-number', template: "<label [class.required]=\"required\">\r\n <ng-content></ng-content>\r\n</label>\r\n\r\n<div class=\"d-flex align-items-stretch\">\r\n <input\r\n [(ngModel)]=\"model\"\r\n #numberInput\r\n class=\"d-flex align-items-center\"\r\n type=\"number\"\r\n [size]=\"maxDigitSize + sizePadding\"\r\n [class.active]=\"_model !== null\"\r\n [class.br-start]=\"borderRadiusLeft\"\r\n [class.invalid]=\"ngControl.control?.invalid\"\r\n [disabled]=\"isDisabled\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n (beforeinput)=\"onBeforeinput($event)\"\r\n />\r\n <button\r\n class=\"d-flex align-items-center\"\r\n title=\"Subtract\"\r\n type=\"button\"\r\n [disabled]=\"isDisabledSubtract\"\r\n [class.invalid]=\"ngControl.control?.invalid\"\r\n (blur)=\"onTouched()\"\r\n (click)=\"subtract(numberInput)\"\r\n >\r\n <icon\r\n type=\"minus\"\r\n size=\"1rem\"\r\n [fill]=\"[null, 'current']\"\r\n fillRotate=\"90\"\r\n ></icon>\r\n </button>\r\n <button\r\n class=\"d-flex align-items-center\"\r\n title=\"Add\"\r\n type=\"button\"\r\n [class.br-end]=\"borderRadiusRight\"\r\n [disabled]=\"isDisabledAdd\"\r\n [class.invalid]=\"ngControl.control?.invalid\"\r\n (blur)=\"onTouched()\"\r\n (click)=\"add(numberInput)\"\r\n >\r\n <icon\r\n type=\"plus\"\r\n size=\"1rem\"\r\n [fill]=\"[null, 'current']\"\r\n fillRotate=\"90\"\r\n ></icon>\r\n </button>\r\n</div>\r\n\r\n<!-- <ul *ngIf=\"ngControl.control?.errors\">\r\n <li *ngIf=\"ngControl.control?.errors?.['min']\">\r\n minimum number is {{min}}\r\n </li>\r\n <li *ngIf=\"ngControl.control?.errors?.['max']\">\r\n maximum number is {{max}}\r\n </li>\r\n</ul> -->", styles: ["input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host>div>input{border-right:0}:host>div>button:not(:last-child){border-right:0;border-left:0}:host>div>button:last-child{border-left:0}\n", "body{font-family:Arial;margin:0}h1,h2,h3,h4,h5,h6{margin:0}a:not(.jo-ignore),button:not(.jo-ignore),.jo-button,input,textarea{color:inherit;background:transparent;border-width:.15rem;border-style:outset;border-color:currentColor;padding:.5rem;margin:0;font-size:1rem;line-height:1rem;font-family:inherit}a:not(.jo-ignore):active,a:not(.jo-ignore).active,button:not(.jo-ignore):active,button:not(.jo-ignore).active,.jo-button:active,.jo-button.active,input:active,input.active,textarea:active,textarea.active{border-style:inset}a:not(.jo-ignore):disabled,a:not(.jo-ignore).disabled,button:not(.jo-ignore):disabled,button:not(.jo-ignore).disabled,.jo-button:disabled,.jo-button.disabled,input:disabled,input.disabled,textarea:disabled,textarea.disabled{cursor:not-allowed;border-style:solid;box-shadow:none;opacity:.5}a,button,.jo-button{cursor:pointer}.card{border:1px solid currentColor;border-radius:.5rem}.card .card-header{padding:1rem;border-bottom:1px solid currentColor}.card .card-body,.card .card-footer{padding:1rem}.card .card-table{overflow-x:auto}.card .card-body+.card-table,.card .card-table+.card-body,.card .card-body+.card-body,.card .card-table+.card-table,.card .card-table+.card-footer,.card .card-body+.card-footer{border-top:1px solid currentColor}.card table{width:100%;border-collapse:collapse}.card table>thead{text-align:left}.card table>thead th{border-bottom:1px solid currentColor}.card table>tfoot td{margin-top:1px;border-top:1px solid currentColor}.card table th,.card table td{padding:1rem}.card table tbody tr>td:last-child{text-align:right}.card table tbody tr:nth-child(odd) td{-webkit-backdrop-filter:brightness(85%);backdrop-filter:brightness(85%)}.card table tbody tr:last-child>td:first-child{border-bottom-left-radius:.5rem}.card table tbody tr:last-child>td:last-child{border-bottom-right-radius:.5rem}.card table tbody tr.active td{font-weight:700}.position-relative{position:relative}.d-flex{display:flex}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.flex-2{flex:2}.flex-3{flex:3}.flex-4{flex:4}.gap-1{gap:.25rem}.m-1{margin:.25rem}.p-1{padding:.25rem}.mx-1{margin-right:.25rem;margin-left:.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.px-1{padding-right:.25rem;padding-left:.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.ms-1{margin-right:.25rem}.me-1{margin-left:.25rem}.mt-1{margin-top:.25rem}.mb-1{margin-bottom:.25rem}.ps-1{padding-right:.25rem}.pe-1{padding-left:.25rem}.pt-1{padding-top:.25rem}.pb-1{padding-bottom:.25rem}.gap-2{gap:.5rem}.m-2{margin:.5rem}.p-2{padding:.5rem}.mx-2{margin-right:.5rem;margin-left:.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.px-2{padding-right:.5rem;padding-left:.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.ms-2{margin-right:.5rem}.me-2{margin-left:.5rem}.mt-2{margin-top:.5rem}.mb-2{margin-bottom:.5rem}.ps-2{padding-right:.5rem}.pe-2{padding-left:.5rem}.pt-2{padding-top:.5rem}.pb-2{padding-bottom:.5rem}.gap-3{gap:1rem}.m-3{margin:1rem}.p-3{padding:1rem}.mx-3{margin-right:1rem;margin-left:1rem}.my-3{margin-top:1rem;margin-bottom:1rem}.px-3{padding-right:1rem;padding-left:1rem}.py-3{padding-top:1rem;padding-bottom:1rem}.ms-3{margin-right:1rem}.me-3{margin-left:1rem}.mt-3{margin-top:1rem}.mb-3{margin-bottom:1rem}.ps-3{padding-right:1rem}.pe-3{padding-left:1rem}.pt-3{padding-top:1rem}.pb-3{padding-bottom:1rem}.gap-4{gap:1.5rem}.m-4{margin:1.5rem}.p-4{padding:1.5rem}.mx-4{margin-right:1.5rem;margin-left:1.5rem}.my-4{margin-top:1.5rem;margin-bottom:1.5rem}.px-4{padding-right:1.5rem;padding-left:1.5rem}.py-4{padding-top:1.5rem;padding-bottom:1.5rem}.ms-4{margin-right:1.5rem}.me-4{margin-left:1.5rem}.mt-4{margin-top:1.5rem}.mb-4{margin-bottom:1.5rem}.ps-4{padding-right:1.5rem}.pe-4{padding-left:1.5rem}.pt-4{padding-top:1.5rem}.pb-4{padding-bottom:1.5rem}.gap-5{gap:2rem}.m-5{margin:2rem}.p-5{padding:2rem}.mx-5{margin-right:2rem;margin-left:2rem}.my-5{margin-top:2rem;margin-bottom:2rem}.px-5{padding-right:2rem;padding-left:2rem}.py-5{padding-top:2rem;padding-bottom:2rem}.ms-5{margin-right:2rem}.me-5{margin-left:2rem}.mt-5{margin-top:2rem}.mb-5{margin-bottom:2rem}.ps-5{padding-right:2rem}.pe-5{padding-left:2rem}.pt-5{padding-top:2rem}.pb-5{padding-bottom:2rem}.border{border:1px solid currentColor}.br-start{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.br-end{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.white-space-nowrap{white-space:nowrap}.text-end{text-align:right}.text-start{text-align:left}.text-center{text-align:center}label{display:block;padding-bottom:.5rem;font-weight:700}label:empty{display:none}label.required:after{content:\"*\"}ul{list-style:none;margin:0;padding:0}\n"] }]
|
|
125
|
-
}], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
|
|
126
|
-
type: Self
|
|
127
|
-
}] }], propDecorators: { min: [{
|
|
128
|
-
type: Input
|
|
129
|
-
}], max: [{
|
|
130
|
-
type: Input
|
|
131
|
-
}], step: [{
|
|
132
|
-
type: Input
|
|
133
|
-
}] } });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYW9zLWNvbnRyb2wvc3JjL2xpYi9jb21wb25lbnRzL251bWJlci9udW1iZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhb3MtY29udHJvbC9zcmMvbGliL2NvbXBvbmVudHMvbnVtYmVyL251bWJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUE4RixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4SSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBVXhDLE1BQU0sT0FBTyxlQUFnQixTQUFRLGdCQUFnQjtJQUNuRCxJQUNJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQUksR0FBRyxDQUFDLEtBQWE7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUdELElBQ0ksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBQ0QsSUFBSSxHQUFHLENBQUMsS0FBYTtRQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixD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SSxRQUFRLENBQUMsS0FBSyxDQUFDO1lBQ25DLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFTyxRQUFRO1FBQ2QsTUFBTSxVQUFVLEdBQWtCO1lBQ2hDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUN4QixVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7U0FDekIsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJO1lBQ3hCLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXZDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxDQUFDO0lBQ25ELENBQUM7OEdBMUlVLGVBQWU7a0dBQWYsZUFBZSwwSENiNUIsaXREQTZEUzs7MkZEaERJLGVBQWU7a0JBUjNCLFNBQVM7K0JBQ0UsV0FBVzs7MEJBZ0RsQixJQUFJO3lDQXZDSCxHQUFHO3NCQUROLEtBQUs7Z0JBYUYsR0FBRztzQkFETixLQUFLO2dCQWFGLElBQUk7c0JBRFAsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3IsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb250cm9sRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XHJcbmltcG9ydCB7IGlzTnVtYmVyIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnam8tbnVtYmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbnVtYmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFtcclxuICAgICcuL251bWJlci5jb21wb25lbnQuc2NzcycsXHJcbiAgICAnLi4vLi4vc3R5bGVzLnNjc3MnLFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIE51bWJlckNvbXBvbmVudCBleHRlbmRzIENvbnRyb2xEaXJlY3RpdmUgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgQElucHV0KClcclxuICBnZXQgbWluKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX21pbjtcclxuICB9XHJcbiAgc2V0IG1pbih2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICBpZiAoIWlzTnVtYmVyKHZhbHVlKSlcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdbbWluXSBleHBlY3RzOiBudW1iZXInKTtcclxuICAgIHRoaXMuX21pbiA9IHZhbHVlO1xyXG4gICAgdGhpcy52YWxpZGF0aW9uLm5leHQoKTtcclxuICB9XHJcbiAgX21pbiA9IDA7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IG1heCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9tYXg7XHJcbiAgfVxyXG4gIHNldCBtYXgodmFsdWU6IG51bWJlcikge1xyXG4gICAgaWYgKCFpc051bWJlcih2YWx1ZSkpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignW21heF0gZXhwZWN0czogbnVtYmVyJyk7XHJcbiAgICB0aGlzLl9tYXggPSB2YWx1ZTtcclxuICAgIHRoaXMudmFsaWRhdGlvbi5uZXh0KCk7XHJcbiAgfVxyXG4gIF9tYXggPSA5O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBzdGVwKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3N0ZXA7XHJcbiAgfVxyXG4gIHNldCBzdGVwKHZhbHVlOiBudW1iZXIpIHtcclxuICAgIGlmICghaXNOdW1iZXIodmFsdWUpKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1tzdGVwXSBleHBlY3RzOiBudW1iZXInKTtcclxuICAgIHRoaXMuX3N0ZXAgPSB2YWx1ZTtcclxuICAgIHRoaXMubXVzdEJlSW50ZWdlciA9IE51bWJlci5pc0ludGVnZXIodGhpcy5fc3RlcCk7XHJcbiAgfVxyXG4gIF9zdGVwID0gMTtcclxuXHJcbiAgbXVzdEJlSW50ZWdlciA9IHRydWU7XHJcbiAgcmVhZG9ubHkgc2l6ZVBhZGRpbmcgPSA1O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBTZWxmKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sLFxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMudmFsaWRhdGlvbi5zdWJzY3JpYmUoKCkgPT4gdGhpcy52YWxpZGF0ZSgpKTtcclxuICAgIHRoaXMudmFsaWRhdGlvbi5uZXh0KCk7XHJcbiAgICBuZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgfVxyXG5cclxuICBfbW9kZWw6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIGdldCBtb2RlbCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9tb2RlbDtcclxuICB9XHJcbiAgc2V0IG1vZGVsKHZhbHVlOiBudW1iZXIgfCBudWxsKSB7XHJcbiAgICB0aGlzLl9tb2RlbCA9IHZhbHVlO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLl9tb2RlbCk7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNEaXNhYmxlZEFkZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmlzRGlzYWJsZWQgPT09IHRydWVcclxuICAgICAgfHwgdGhpcy5tb2RlbCAhPT0gbnVsbFxyXG4gICAgICAmJiB0aGlzLm1vZGVsICsgdGhpcy5zdGVwID4gdGhpcy5tYXg7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNEaXNhYmxlZFN1YnRyYWN0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNEaXNhYmxlZCA9PT0gdHJ1ZVxyXG4gICAgICB8fCB0aGlzLl9tb2RlbCAhPT0gbnVsbFxyXG4gICAgICAmJiB0aGlzLl9tb2RlbCAtIHRoaXMuc3RlcCA8IHRoaXMubWluO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG1heERpZ2l0U2l6ZSgpIHtcclxuICAgIHJldHVybiBNYXRoLm1heChcclxuICAgICAgdGhpcy5fc3RlcC50b1N0cmluZygpLmxlbmd0aCxcclxuICAgICAgdGhpcy5fbWF4LnRvU3RyaW5nKCkubGVuZ3RoLFxyXG4gICAgICB0aGlzLl9taW4udG9TdHJpbmcoKS5sZW5ndGhcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBvbkJlZm9yZWlucHV0KGU6IEV2ZW50KSB7XHJcbiAgICBjb25zdCBldmVudCA9IGUgYXMgSW5wdXRFdmVudDtcclxuICAgIGlmIChldmVudC5kYXRhID09PSBudWxsKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBjb25zdCBpc0RpZ2l0ID0gL1xcZC8udGVzdChldmVudC5kYXRhKTtcclxuICAgIGNvbnN0IGlzTWludXMgPSBldmVudC5kYXRhID09PSAnLSc7XHJcbiAgICBjb25zdCBpc01pbnVzQWxsb3dlZCA9IHRoaXMubWluIDwgMDtcclxuICAgIGNvbnN0IGlzQmxvY2tlZE5vbkRpZ2l0ID0gIWlzRGlnaXQgJiYgIShpc01pbnVzICYmIGlzTWludXNBbGxvd2VkKVxyXG4gICAgY29uc3QgaXNQYXN0TWF4ID0gTnVtYmVyKCh0aGlzLl9tb2RlbCB8fCAnJykgKyBldmVudC5kYXRhKSA+IHRoaXMubWF4O1xyXG4gICAgaWYgKGlzQmxvY2tlZE5vbkRpZ2l0IHx8IGlzUGFzdE1heClcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICB9XHJcblxyXG4gIGFkZChlOiBIVE1MSW5wdXRFbGVtZW50KSB7XHJcbiAgICBpZiAodGhpcy5tb2RlbCA9PT0gbnVsbCkge1xyXG4gICAgICB0aGlzLm1vZGVsID0gdGhpcy5tYXg7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBlLnN0ZXBVcCgpO1xyXG4gICAgdGhpcy5tb2RlbCA9IGUudmFsdWVBc051bWJlcjtcclxuICB9XHJcblxyXG4gIHN1YnRyYWN0KGU6IEhUTUxJbnB1dEVsZW1lbnQpIHtcclxuICAgIGlmICh0aGlzLm1vZGVsID09PSBudWxsKSB7XHJcbiAgICAgIHRoaXMubW9kZWwgPSB0aGlzLm1pbjtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGUuc3RlcERvd24oKTtcclxuICAgIHRoaXMubW9kZWwgPSBlLnZhbHVlQXNOdW1iZXI7XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZShfbW9kZWw6IG51bWJlciB8IG51bGwpIHsgfVxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICgpID0+IHZvaWQpIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IG51bWJlciB8IG51bGwpIHtcclxuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICB2YWx1ZSA9IG51bGw7XHJcblxyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpXHJcbiAgICAgIHZhbHVlID0gcGFyc2VGbG9hdCh2YWx1ZSk7XHJcblxyXG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IGlzTnVtYmVyKHZhbHVlKSlcclxuICAgICAgdGhpcy5fbW9kZWwgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdmFsaWRhdGUoKSB7XHJcbiAgICBjb25zdCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gW1xyXG4gICAgICBWYWxpZGF0b3JzLm1pbih0aGlzLm1pbiksXHJcbiAgICAgIFZhbGlkYXRvcnMubWF4KHRoaXMubWF4KVxyXG4gICAgXTtcclxuXHJcbiAgICBpZiAodGhpcy5yZXF1aXJlZCA9PT0gdHJ1ZSlcclxuICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG5cclxuICAgIHRoaXMubmdDb250cm9sLmNvbnRyb2w/LnNldFZhbGlkYXRvcnModmFsaWRhdG9ycyk7XHJcbiAgICB0aGlzLm5nQ29udHJvbC5jb250cm9sPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgfVxyXG59XHJcbiIsIjxsYWJlbCBbY2xhc3MucmVxdWlyZWRdPVwicmVxdWlyZWRcIj5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvbGFiZWw+XHJcblxyXG48ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLXN0cmV0Y2hcIj5cclxuICA8aW5wdXRcclxuICAgIFsobmdNb2RlbCldPVwibW9kZWxcIlxyXG4gICAgI251bWJlcklucHV0XHJcbiAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxyXG4gICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICBbc2l6ZV09XCJtYXhEaWdpdFNpemUgKyBzaXplUGFkZGluZ1wiXHJcbiAgICBbY2xhc3MuYWN0aXZlXT1cIl9tb2RlbCAhPT0gbnVsbFwiXHJcbiAgICBbY2xhc3MuYnItc3RhcnRdPVwiYm9yZGVyUmFkaXVzTGVmdFwiXHJcbiAgICBbY2xhc3MuaW52YWxpZF09XCJuZ0NvbnRyb2wuY29udHJvbD8uaW52YWxpZFwiXHJcbiAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXHJcbiAgICBbbWluXT1cIm1pblwiXHJcbiAgICBbbWF4XT1cIm1heFwiXHJcbiAgICAoYmVmb3JlaW5wdXQpPVwib25CZWZvcmVpbnB1dCgkZXZlbnQpXCJcclxuICAvPlxyXG4gIDxidXR0b25cclxuICAgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXHJcbiAgICB0aXRsZT1cIlN1YnRyYWN0XCJcclxuICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRTdWJ0cmFjdFwiXHJcbiAgICBbY2xhc3MuaW52YWxpZF09XCJuZ0NvbnRyb2wuY29udHJvbD8uaW52YWxpZFwiXHJcbiAgICAoYmx1cik9XCJvblRvdWNoZWQoKVwiXHJcbiAgICAoY2xpY2spPVwic3VidHJhY3QobnVtYmVySW5wdXQpXCJcclxuICA+XHJcbiAgICA8aWNvblxyXG4gICAgICB0eXBlPVwibWludXNcIlxyXG4gICAgICBzaXplPVwiMXJlbVwiXHJcbiAgICAgIFtmaWxsXT1cIltudWxsLCAnY3VycmVudCddXCJcclxuICAgICAgZmlsbFJvdGF0ZT1cIjkwXCJcclxuICAgID48L2ljb24+XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvblxyXG4gICAgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCJcclxuICAgIHRpdGxlPVwiQWRkXCJcclxuICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgW2NsYXNzLmJyLWVuZF09XCJib3JkZXJSYWRpdXNSaWdodFwiXHJcbiAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZEFkZFwiXHJcbiAgICBbY2xhc3MuaW52YWxpZF09XCJuZ0NvbnRyb2wuY29udHJvbD8uaW52YWxpZFwiXHJcbiAgICAoYmx1cik9XCJvblRvdWNoZWQoKVwiXHJcbiAgICAoY2xpY2spPVwiYWRkKG51bWJlcklucHV0KVwiXHJcbiAgPlxyXG4gICAgPGljb25cclxuICAgICAgdHlwZT1cInBsdXNcIlxyXG4gICAgICBzaXplPVwiMXJlbVwiXHJcbiAgICAgIFtmaWxsXT1cIltudWxsLCAnY3VycmVudCddXCJcclxuICAgICAgZmlsbFJvdGF0ZT1cIjkwXCJcclxuICAgID48L2ljb24+XHJcbiAgPC9idXR0b24+XHJcbjwvZGl2PlxyXG5cclxuPCEtLSA8dWwgKm5nSWY9XCJuZ0NvbnRyb2wuY29udHJvbD8uZXJyb3JzXCI+XHJcbiAgPGxpICpuZ0lmPVwibmdDb250cm9sLmNvbnRyb2w/LmVycm9ycz8uWydtaW4nXVwiPlxyXG4gICAgbWluaW11bSBudW1iZXIgaXMge3ttaW59fVxyXG4gIDwvbGk+XHJcbiAgPGxpICpuZ0lmPVwibmdDb250cm9sLmNvbnRyb2w/LmVycm9ycz8uWydtYXgnXVwiPlxyXG4gICAgbWF4aW11bSBudW1iZXIgaXMge3ttYXh9fVxyXG4gIDwvbGk+XHJcbjwvdWw+IC0tPiJdfQ==
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class ReadonlyComponent {
|
|
4
|
-
constructor() { }
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: ReadonlyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: ReadonlyComponent, selector: "jo-readonly", inputs: { model: "model" }, ngImport: i0, template: "<label>\r\n <ng-content></ng-content>\r\n</label>\r\n\r\n<div class=\"readonly p-2\">\r\n {{model}}\r\n</div>", styles: [":host>div{color:inherit;background:transparent;border-width:.15em;border-color:transparent;border-style:solid}\n", "body{font-family:Arial;margin:0}h1,h2,h3,h4,h5,h6{margin:0}a:not(.jo-ignore),button:not(.jo-ignore),.jo-button,input,textarea{color:inherit;background:transparent;border-width:.15rem;border-style:outset;border-color:currentColor;padding:.5rem;margin:0;font-size:1rem;line-height:1rem;font-family:inherit}a:not(.jo-ignore):active,a:not(.jo-ignore).active,button:not(.jo-ignore):active,button:not(.jo-ignore).active,.jo-button:active,.jo-button.active,input:active,input.active,textarea:active,textarea.active{border-style:inset}a:not(.jo-ignore):disabled,a:not(.jo-ignore).disabled,button:not(.jo-ignore):disabled,button:not(.jo-ignore).disabled,.jo-button:disabled,.jo-button.disabled,input:disabled,input.disabled,textarea:disabled,textarea.disabled{cursor:not-allowed;border-style:solid;box-shadow:none;opacity:.5}a,button,.jo-button{cursor:pointer}.card{border:1px solid currentColor;border-radius:.5rem}.card .card-header{padding:1rem;border-bottom:1px solid currentColor}.card .card-body,.card .card-footer{padding:1rem}.card .card-table{overflow-x:auto}.card .card-body+.card-table,.card .card-table+.card-body,.card .card-body+.card-body,.card .card-table+.card-table,.card .card-table+.card-footer,.card .card-body+.card-footer{border-top:1px solid currentColor}.card table{width:100%;border-collapse:collapse}.card table>thead{text-align:left}.card table>thead th{border-bottom:1px solid currentColor}.card table>tfoot td{margin-top:1px;border-top:1px solid currentColor}.card table th,.card table td{padding:1rem}.card table tbody tr>td:last-child{text-align:right}.card table tbody tr:nth-child(odd) td{-webkit-backdrop-filter:brightness(85%);backdrop-filter:brightness(85%)}.card table tbody tr:last-child>td:first-child{border-bottom-left-radius:.5rem}.card table tbody tr:last-child>td:last-child{border-bottom-right-radius:.5rem}.card table tbody tr.active td{font-weight:700}.position-relative{position:relative}.d-flex{display:flex}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.flex-2{flex:2}.flex-3{flex:3}.flex-4{flex:4}.gap-1{gap:.25rem}.m-1{margin:.25rem}.p-1{padding:.25rem}.mx-1{margin-right:.25rem;margin-left:.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.px-1{padding-right:.25rem;padding-left:.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.ms-1{margin-right:.25rem}.me-1{margin-left:.25rem}.mt-1{margin-top:.25rem}.mb-1{margin-bottom:.25rem}.ps-1{padding-right:.25rem}.pe-1{padding-left:.25rem}.pt-1{padding-top:.25rem}.pb-1{padding-bottom:.25rem}.gap-2{gap:.5rem}.m-2{margin:.5rem}.p-2{padding:.5rem}.mx-2{margin-right:.5rem;margin-left:.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.px-2{padding-right:.5rem;padding-left:.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.ms-2{margin-right:.5rem}.me-2{margin-left:.5rem}.mt-2{margin-top:.5rem}.mb-2{margin-bottom:.5rem}.ps-2{padding-right:.5rem}.pe-2{padding-left:.5rem}.pt-2{padding-top:.5rem}.pb-2{padding-bottom:.5rem}.gap-3{gap:1rem}.m-3{margin:1rem}.p-3{padding:1rem}.mx-3{margin-right:1rem;margin-left:1rem}.my-3{margin-top:1rem;margin-bottom:1rem}.px-3{padding-right:1rem;padding-left:1rem}.py-3{padding-top:1rem;padding-bottom:1rem}.ms-3{margin-right:1rem}.me-3{margin-left:1rem}.mt-3{margin-top:1rem}.mb-3{margin-bottom:1rem}.ps-3{padding-right:1rem}.pe-3{padding-left:1rem}.pt-3{padding-top:1rem}.pb-3{padding-bottom:1rem}.gap-4{gap:1.5rem}.m-4{margin:1.5rem}.p-4{padding:1.5rem}.mx-4{margin-right:1.5rem;margin-left:1.5rem}.my-4{margin-top:1.5rem;margin-bottom:1.5rem}.px-4{padding-right:1.5rem;padding-left:1.5rem}.py-4{padding-top:1.5rem;padding-bottom:1.5rem}.ms-4{margin-right:1.5rem}.me-4{margin-left:1.5rem}.mt-4{margin-top:1.5rem}.mb-4{margin-bottom:1.5rem}.ps-4{padding-right:1.5rem}.pe-4{padding-left:1.5rem}.pt-4{padding-top:1.5rem}.pb-4{padding-bottom:1.5rem}.gap-5{gap:2rem}.m-5{margin:2rem}.p-5{padding:2rem}.mx-5{margin-right:2rem;margin-left:2rem}.my-5{margin-top:2rem;margin-bottom:2rem}.px-5{padding-right:2rem;padding-left:2rem}.py-5{padding-top:2rem;padding-bottom:2rem}.ms-5{margin-right:2rem}.me-5{margin-left:2rem}.mt-5{margin-top:2rem}.mb-5{margin-bottom:2rem}.ps-5{padding-right:2rem}.pe-5{padding-left:2rem}.pt-5{padding-top:2rem}.pb-5{padding-bottom:2rem}.border{border:1px solid currentColor}.br-start{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.br-end{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.white-space-nowrap{white-space:nowrap}.text-end{text-align:right}.text-start{text-align:left}.text-center{text-align:center}label{display:block;padding-bottom:.5rem;font-weight:700}label:empty{display:none}label.required:after{content:\"*\"}ul{list-style:none;margin:0;padding:0}\n"] }); }
|
|
7
|
-
}
|
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: ReadonlyComponent, decorators: [{
|
|
9
|
-
type: Component,
|
|
10
|
-
args: [{ selector: 'jo-readonly', template: "<label>\r\n <ng-content></ng-content>\r\n</label>\r\n\r\n<div class=\"readonly p-2\">\r\n {{model}}\r\n</div>", styles: [":host>div{color:inherit;background:transparent;border-width:.15em;border-color:transparent;border-style:solid}\n", "body{font-family:Arial;margin:0}h1,h2,h3,h4,h5,h6{margin:0}a:not(.jo-ignore),button:not(.jo-ignore),.jo-button,input,textarea{color:inherit;background:transparent;border-width:.15rem;border-style:outset;border-color:currentColor;padding:.5rem;margin:0;font-size:1rem;line-height:1rem;font-family:inherit}a:not(.jo-ignore):active,a:not(.jo-ignore).active,button:not(.jo-ignore):active,button:not(.jo-ignore).active,.jo-button:active,.jo-button.active,input:active,input.active,textarea:active,textarea.active{border-style:inset}a:not(.jo-ignore):disabled,a:not(.jo-ignore).disabled,button:not(.jo-ignore):disabled,button:not(.jo-ignore).disabled,.jo-button:disabled,.jo-button.disabled,input:disabled,input.disabled,textarea:disabled,textarea.disabled{cursor:not-allowed;border-style:solid;box-shadow:none;opacity:.5}a,button,.jo-button{cursor:pointer}.card{border:1px solid currentColor;border-radius:.5rem}.card .card-header{padding:1rem;border-bottom:1px solid currentColor}.card .card-body,.card .card-footer{padding:1rem}.card .card-table{overflow-x:auto}.card .card-body+.card-table,.card .card-table+.card-body,.card .card-body+.card-body,.card .card-table+.card-table,.card .card-table+.card-footer,.card .card-body+.card-footer{border-top:1px solid currentColor}.card table{width:100%;border-collapse:collapse}.card table>thead{text-align:left}.card table>thead th{border-bottom:1px solid currentColor}.card table>tfoot td{margin-top:1px;border-top:1px solid currentColor}.card table th,.card table td{padding:1rem}.card table tbody tr>td:last-child{text-align:right}.card table tbody tr:nth-child(odd) td{-webkit-backdrop-filter:brightness(85%);backdrop-filter:brightness(85%)}.card table tbody tr:last-child>td:first-child{border-bottom-left-radius:.5rem}.card table tbody tr:last-child>td:last-child{border-bottom-right-radius:.5rem}.card table tbody tr.active td{font-weight:700}.position-relative{position:relative}.d-flex{display:flex}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.flex-2{flex:2}.flex-3{flex:3}.flex-4{flex:4}.gap-1{gap:.25rem}.m-1{margin:.25rem}.p-1{padding:.25rem}.mx-1{margin-right:.25rem;margin-left:.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.px-1{padding-right:.25rem;padding-left:.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.ms-1{margin-right:.25rem}.me-1{margin-left:.25rem}.mt-1{margin-top:.25rem}.mb-1{margin-bottom:.25rem}.ps-1{padding-right:.25rem}.pe-1{padding-left:.25rem}.pt-1{padding-top:.25rem}.pb-1{padding-bottom:.25rem}.gap-2{gap:.5rem}.m-2{margin:.5rem}.p-2{padding:.5rem}.mx-2{margin-right:.5rem;margin-left:.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.px-2{padding-right:.5rem;padding-left:.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.ms-2{margin-right:.5rem}.me-2{margin-left:.5rem}.mt-2{margin-top:.5rem}.mb-2{margin-bottom:.5rem}.ps-2{padding-right:.5rem}.pe-2{padding-left:.5rem}.pt-2{padding-top:.5rem}.pb-2{padding-bottom:.5rem}.gap-3{gap:1rem}.m-3{margin:1rem}.p-3{padding:1rem}.mx-3{margin-right:1rem;margin-left:1rem}.my-3{margin-top:1rem;margin-bottom:1rem}.px-3{padding-right:1rem;padding-left:1rem}.py-3{padding-top:1rem;padding-bottom:1rem}.ms-3{margin-right:1rem}.me-3{margin-left:1rem}.mt-3{margin-top:1rem}.mb-3{margin-bottom:1rem}.ps-3{padding-right:1rem}.pe-3{padding-left:1rem}.pt-3{padding-top:1rem}.pb-3{padding-bottom:1rem}.gap-4{gap:1.5rem}.m-4{margin:1.5rem}.p-4{padding:1.5rem}.mx-4{margin-right:1.5rem;margin-left:1.5rem}.my-4{margin-top:1.5rem;margin-bottom:1.5rem}.px-4{padding-right:1.5rem;padding-left:1.5rem}.py-4{padding-top:1.5rem;padding-bottom:1.5rem}.ms-4{margin-right:1.5rem}.me-4{margin-left:1.5rem}.mt-4{margin-top:1.5rem}.mb-4{margin-bottom:1.5rem}.ps-4{padding-right:1.5rem}.pe-4{padding-left:1.5rem}.pt-4{padding-top:1.5rem}.pb-4{padding-bottom:1.5rem}.gap-5{gap:2rem}.m-5{margin:2rem}.p-5{padding:2rem}.mx-5{margin-right:2rem;margin-left:2rem}.my-5{margin-top:2rem;margin-bottom:2rem}.px-5{padding-right:2rem;padding-left:2rem}.py-5{padding-top:2rem;padding-bottom:2rem}.ms-5{margin-right:2rem}.me-5{margin-left:2rem}.mt-5{margin-top:2rem}.mb-5{margin-bottom:2rem}.ps-5{padding-right:2rem}.pe-5{padding-left:2rem}.pt-5{padding-top:2rem}.pb-5{padding-bottom:2rem}.border{border:1px solid currentColor}.br-start{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.br-end{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.white-space-nowrap{white-space:nowrap}.text-end{text-align:right}.text-start{text-align:left}.text-center{text-align:center}label{display:block;padding-bottom:.5rem;font-weight:700}label:empty{display:none}label.required:after{content:\"*\"}ul{list-style:none;margin:0;padding:0}\n"] }]
|
|
11
|
-
}], ctorParameters: () => [], propDecorators: { model: [{
|
|
12
|
-
type: Input
|
|
13
|
-
}] } });
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG9ubHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhb3MtY29udHJvbC9zcmMvbGliL2NvbXBvbmVudHMvcmVhZG9ubHkvcmVhZG9ubHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhb3MtY29udHJvbC9zcmMvbGliL2NvbXBvbmVudHMvcmVhZG9ubHkvcmVhZG9ubHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBV2pELE1BQU0sT0FBTyxpQkFBaUI7SUFHNUIsZ0JBQWdCLENBQUM7OEdBSE4saUJBQWlCO2tHQUFqQixpQkFBaUIsK0VDWDlCLGlIQU1NOzsyRkRLTyxpQkFBaUI7a0JBUjdCLFNBQVM7K0JBQ0UsYUFBYTt3REFRZCxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHByaW1pdGl2ZSB9IGZyb20gJy4uLy4uL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2pvLXJlYWRvbmx5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmVhZG9ubHkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogW1xyXG4gICAgJy4vcmVhZG9ubHkuY29tcG9uZW50LnNjc3MnLFxyXG4gICAgJy4uLy4uL3N0eWxlcy5zY3NzJyxcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWFkb25seUNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgbW9kZWw/OiBwcmltaXRpdmU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcbn1cclxuIiwiPGxhYmVsPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9sYWJlbD5cclxuXHJcbjxkaXYgY2xhc3M9XCJyZWFkb25seSBwLTJcIj5cclxuICB7e21vZGVsfX1cclxuPC9kaXY+Il19
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { Component, HostBinding, HostListener, Input, Self, ViewChild } from '@angular/core';
|
|
2
|
-
import { ItemDirective } from '../../directives';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/forms";
|
|
5
|
-
import * as i2 from "@angular/common";
|
|
6
|
-
import * as i3 from "@joster-dev/icon";
|
|
7
|
-
export class SelectComponent extends ItemDirective {
|
|
8
|
-
get searchTerm() {
|
|
9
|
-
return this._searchTerm;
|
|
10
|
-
}
|
|
11
|
-
set searchTerm(value) {
|
|
12
|
-
this._searchTerm = value;
|
|
13
|
-
this.filteredItems = value
|
|
14
|
-
? this._items.filter(item => item.value.toLowerCase().includes(value.toLowerCase()))
|
|
15
|
-
: this._items;
|
|
16
|
-
}
|
|
17
|
-
constructor(ngControl, hostElement) {
|
|
18
|
-
super(ngControl);
|
|
19
|
-
this.ngControl = ngControl;
|
|
20
|
-
this.hostElement = hostElement;
|
|
21
|
-
this.dropHeightPx = 200;
|
|
22
|
-
this._searchTerm = '';
|
|
23
|
-
this.isDropdownCloseToBottom = false;
|
|
24
|
-
this.id = `${Math.random().toString(36).substr(2, 9)}`;
|
|
25
|
-
}
|
|
26
|
-
get activeItemValues() {
|
|
27
|
-
return this._items
|
|
28
|
-
.filter(item => this._model.includes(item.key))
|
|
29
|
-
.map(item => item.value)
|
|
30
|
-
.join(', ');
|
|
31
|
-
}
|
|
32
|
-
get isSelectedAll() {
|
|
33
|
-
return this._items.every(item => this._model.includes(item.key));
|
|
34
|
-
}
|
|
35
|
-
onGlobalClick(event) {
|
|
36
|
-
if (!this.hostElement.nativeElement.contains(event.target))
|
|
37
|
-
this.closeDropdown();
|
|
38
|
-
}
|
|
39
|
-
onClickGroup() {
|
|
40
|
-
this.closeDropdown();
|
|
41
|
-
if (this.dropGroup.nativeElement.getBoundingClientRect().bottom + this.dropHeightPx > window.innerHeight) {
|
|
42
|
-
this.dropup.nativeElement.show();
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
this.dropdown.nativeElement.show();
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
onClick(item) {
|
|
49
|
-
this._model = this._model.filter(key => this._items.map(item => item.key).includes(key));
|
|
50
|
-
if (this._model.includes(item.key)) {
|
|
51
|
-
if (this.required === true && this._model.length === 1)
|
|
52
|
-
return;
|
|
53
|
-
this.model = this._model.filter(key => key !== item.key);
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
if (!this.isMultiple && this._model.length === 1) {
|
|
57
|
-
this.model = [item.key];
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
this.model = [...this._model, item.key];
|
|
61
|
-
}
|
|
62
|
-
onClickSelectAll() {
|
|
63
|
-
this.model = this.isSelectedAll
|
|
64
|
-
? []
|
|
65
|
-
: this._items.map(item => item.key);
|
|
66
|
-
}
|
|
67
|
-
closeDropdown() {
|
|
68
|
-
this.searchTerm = '';
|
|
69
|
-
this.dropdown.nativeElement.close();
|
|
70
|
-
this.dropup.nativeElement.close();
|
|
71
|
-
}
|
|
72
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: SelectComponent, deps: [{ token: i1.NgControl, self: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
73
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: SelectComponent, selector: "jo-select", inputs: { dropHeightPx: "dropHeightPx" }, host: { listeners: { "document:mousedown": "onGlobalClick($event)" }, properties: { "style.--dropHeightPx": "this.dropHeightPx" } }, viewQueries: [{ propertyName: "dropGroup", first: true, predicate: ["dropGroup"], descendants: true }, { propertyName: "dropup", first: true, predicate: ["dropup"], descendants: true }, { propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"d-flex justify-content-between\">\r\n <label\r\n id=\"select_{{id}}\"\r\n [class.required]=\"required\"\r\n >\r\n <ng-content></ng-content>\r\n </label>\r\n <div>\r\n <ng-content select=\"[rightAligned]\"></ng-content>\r\n </div>\r\n</div>\r\n\r\n<div class=\"position-relative\">\r\n <dialog #dropup>\r\n <ng-template [ngTemplateOutlet]=\"dropContent\"></ng-template>\r\n </dialog>\r\n</div>\r\n\r\n<div\r\n #dropGroup\r\n class=\"d-flex align-items-stretch\"\r\n role=\"group\"\r\n attr.aria-labelledby=\"select_{{id}}\"\r\n>\r\n <button\r\n class=\"flex-1 br-start text-start\"\r\n type=\"button\"\r\n [class.active]=\"_model.length > 0\"\r\n [class.invalid]=\"!ngControl.control?.invalid\"\r\n (click)=\"onClickGroup()\"\r\n (blur)=\"onTouched()\"\r\n >\r\n {{activeItemValues}}\r\n </button>\r\n <button\r\n class=\"d-flex br-end d-flex align-items-center justify-content-center\"\r\n [class.invalid]=\"!ngControl.control?.invalid\"\r\n [disabled]=\"isDisabled\"\r\n (click)=\"onClickGroup()\"\r\n (blur)=\"onTouched()\"\r\n >\r\n <icon\r\n size=\"1rem\"\r\n type=\"chevron\"\r\n [fill]=\"[null, 'current']\"\r\n fillRotate=\"90\"\r\n [stroke]=\"['current']\"\r\n [class.up]=\"dropup.open\"\r\n [class.down]=\"dropdown.open\"\r\n ></icon>\r\n </button>\r\n</div>\r\n\r\n<dialog #dropdown>\r\n <ng-template [ngTemplateOutlet]=\"dropContent\"></ng-template>\r\n</dialog>\r\n\r\n<ng-template #dropContent>\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <div class=\"d-flex gap-2 align-items-stretch\">\r\n <input\r\n [(ngModel)]=\"searchTerm\"\r\n class=\"flex-1 br-start br-end\"\r\n />\r\n <button\r\n *ngIf=\"_isMultiple\"\r\n type=\"button\"\r\n class=\"br-start br-end\"\r\n (click)=\"onClickSelectAll()\"\r\n >\r\n {{isSelectedAll ? 'Deselect' : 'Select'}} All\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column\">\r\n <button\r\n *ngFor=\"let item of filteredItems\"\r\n class=\"d-flex flex-1 align-items-center text-start gap-2\"\r\n [disabled]=\"isDisabled\"\r\n [class.active]=\"_model.includes(item.key)\"\r\n (click)=\"onClick(item)\"\r\n >\r\n <div\r\n class=\"jo-button {{isMultiple ? 'br-20' : 'br-50'}}\"\r\n [class.active]=\"_model.includes(item.key)\"\r\n [class.disabled]=\"isDisabled\"\r\n [class.invalid]=\"ngControl.control?.invalid\"\r\n >\r\n <icon\r\n *ngIf=\"_model.includes(item.key)\"\r\n size=\"1rem\"\r\n [type]=\"isMultiple ? 'check' : 'dot'\"\r\n [fill]=\"[null, 'current']\"\r\n fillRotate=\"90\"\r\n ></icon>\r\n </div>\r\n {{item.value}}\r\n </button>\r\n </div>\r\n </div>\r\n</ng-template>", styles: [":host{position:relative;display:block}:host>.position-relative>dialog{bottom:0}.drop{max-height:200px;overflow-y:auto}.drop.down{top:100%}.drop.up{bottom:100%}div[role=group]>button:first-child{border-right:none;white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis}div[role=group]>button:last-child{border-left:none}dialog{padding:0;border:0;margin:0;background:transparent;width:100%;z-index:2;color:currentColor}dialog>.card{-webkit-backdrop-filter:blur(1.5rem);backdrop-filter:blur(1.5rem);max-height:calc(var(--dropHeightPx) * 1px);overflow-y:auto}dialog>.card>.flex-column>button{border-color:transparent;border-width:.075em}dialog>.card>.flex-column>button>.jo-button{position:relative;text-align:left}dialog>.card>.flex-column>button>.jo-button>icon{position:absolute;top:0;left:0}icon[type=chevron]{transform:rotate(90deg)}icon[type=chevron].up{transform:rotate(0)}icon[type=chevron].down{transform:rotate(180deg)}.br-20{border-radius:20%}.br-50{border-radius:50%}\n", "body{font-family:Arial;margin:0}h1,h2,h3,h4,h5,h6{margin:0}a:not(.jo-ignore),button:not(.jo-ignore),.jo-button,input,textarea{color:inherit;background:transparent;border-width:.15rem;border-style:outset;border-color:currentColor;padding:.5rem;margin:0;font-size:1rem;line-height:1rem;font-family:inherit}a:not(.jo-ignore):active,a:not(.jo-ignore).active,button:not(.jo-ignore):active,button:not(.jo-ignore).active,.jo-button:active,.jo-button.active,input:active,input.active,textarea:active,textarea.active{border-style:inset}a:not(.jo-ignore):disabled,a:not(.jo-ignore).disabled,button:not(.jo-ignore):disabled,button:not(.jo-ignore).disabled,.jo-button:disabled,.jo-button.disabled,input:disabled,input.disabled,textarea:disabled,textarea.disabled{cursor:not-allowed;border-style:solid;box-shadow:none;opacity:.5}a,button,.jo-button{cursor:pointer}.card{border:1px solid currentColor;border-radius:.5rem}.card .card-header{padding:1rem;border-bottom:1px solid currentColor}.card .card-body,.card .card-footer{padding:1rem}.card .card-table{overflow-x:auto}.card .card-body+.card-table,.card .card-table+.card-body,.card .card-body+.card-body,.card .card-table+.card-table,.card .card-table+.card-footer,.card .card-body+.card-footer{border-top:1px solid currentColor}.card table{width:100%;border-collapse:collapse}.card table>thead{text-align:left}.card table>thead th{border-bottom:1px solid currentColor}.card table>tfoot td{margin-top:1px;border-top:1px solid currentColor}.card table th,.card table td{padding:1rem}.card table tbody tr>td:last-child{text-align:right}.card table tbody tr:nth-child(odd) td{-webkit-backdrop-filter:brightness(85%);backdrop-filter:brightness(85%)}.card table tbody tr:last-child>td:first-child{border-bottom-left-radius:.5rem}.card table tbody tr:last-child>td:last-child{border-bottom-right-radius:.5rem}.card table tbody tr.active td{font-weight:700}.position-relative{position:relative}.d-flex{display:flex}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.flex-2{flex:2}.flex-3{flex:3}.flex-4{flex:4}.gap-1{gap:.25rem}.m-1{margin:.25rem}.p-1{padding:.25rem}.mx-1{margin-right:.25rem;margin-left:.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.px-1{padding-right:.25rem;padding-left:.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.ms-1{margin-right:.25rem}.me-1{margin-left:.25rem}.mt-1{margin-top:.25rem}.mb-1{margin-bottom:.25rem}.ps-1{padding-right:.25rem}.pe-1{padding-left:.25rem}.pt-1{padding-top:.25rem}.pb-1{padding-bottom:.25rem}.gap-2{gap:.5rem}.m-2{margin:.5rem}.p-2{padding:.5rem}.mx-2{margin-right:.5rem;margin-left:.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.px-2{padding-right:.5rem;padding-left:.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.ms-2{margin-right:.5rem}.me-2{margin-left:.5rem}.mt-2{margin-top:.5rem}.mb-2{margin-bottom:.5rem}.ps-2{padding-right:.5rem}.pe-2{padding-left:.5rem}.pt-2{padding-top:.5rem}.pb-2{padding-bottom:.5rem}.gap-3{gap:1rem}.m-3{margin:1rem}.p-3{padding:1rem}.mx-3{margin-right:1rem;margin-left:1rem}.my-3{margin-top:1rem;margin-bottom:1rem}.px-3{padding-right:1rem;padding-left:1rem}.py-3{padding-top:1rem;padding-bottom:1rem}.ms-3{margin-right:1rem}.me-3{margin-left:1rem}.mt-3{margin-top:1rem}.mb-3{margin-bottom:1rem}.ps-3{padding-right:1rem}.pe-3{padding-left:1rem}.pt-3{padding-top:1rem}.pb-3{padding-bottom:1rem}.gap-4{gap:1.5rem}.m-4{margin:1.5rem}.p-4{padding:1.5rem}.mx-4{margin-right:1.5rem;margin-left:1.5rem}.my-4{margin-top:1.5rem;margin-bottom:1.5rem}.px-4{padding-right:1.5rem;padding-left:1.5rem}.py-4{padding-top:1.5rem;padding-bottom:1.5rem}.ms-4{margin-right:1.5rem}.me-4{margin-left:1.5rem}.mt-4{margin-top:1.5rem}.mb-4{margin-bottom:1.5rem}.ps-4{padding-right:1.5rem}.pe-4{padding-left:1.5rem}.pt-4{padding-top:1.5rem}.pb-4{padding-bottom:1.5rem}.gap-5{gap:2rem}.m-5{margin:2rem}.p-5{padding:2rem}.mx-5{margin-right:2rem;margin-left:2rem}.my-5{margin-top:2rem;margin-bottom:2rem}.px-5{padding-right:2rem;padding-left:2rem}.py-5{padding-top:2rem;padding-bottom:2rem}.ms-5{margin-right:2rem}.me-5{margin-left:2rem}.mt-5{margin-top:2rem}.mb-5{margin-bottom:2rem}.ps-5{padding-right:2rem}.pe-5{padding-left:2rem}.pt-5{padding-top:2rem}.pb-5{padding-bottom:2rem}.border{border:1px solid currentColor}.br-start{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.br-end{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.white-space-nowrap{white-space:nowrap}.text-end{text-align:right}.text-start{text-align:left}.text-center{text-align:center}label{display:block;padding-bottom:.5rem;font-weight:700}label:empty{display:none}label.required:after{content:\"*\"}ul{list-style:none;margin:0;padding:0}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.IconComponent, selector: "icon[type]", inputs: ["type", "fill", "fillRotate", "fillOpacity", "stroke", "strokeRotate", "spin"] }] }); }
|
|
74
|
-
}
|
|
75
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: SelectComponent, decorators: [{
|
|
76
|
-
type: Component,
|
|
77
|
-
args: [{ selector: 'jo-select', template: "<div class=\"d-flex justify-content-between\">\r\n <label\r\n id=\"select_{{id}}\"\r\n [class.required]=\"required\"\r\n >\r\n <ng-content></ng-content>\r\n </label>\r\n <div>\r\n <ng-content select=\"[rightAligned]\"></ng-content>\r\n </div>\r\n</div>\r\n\r\n<div class=\"position-relative\">\r\n <dialog #dropup>\r\n <ng-template [ngTemplateOutlet]=\"dropContent\"></ng-template>\r\n </dialog>\r\n</div>\r\n\r\n<div\r\n #dropGroup\r\n class=\"d-flex align-items-stretch\"\r\n role=\"group\"\r\n attr.aria-labelledby=\"select_{{id}}\"\r\n>\r\n <button\r\n class=\"flex-1 br-start text-start\"\r\n type=\"button\"\r\n [class.active]=\"_model.length > 0\"\r\n [class.invalid]=\"!ngControl.control?.invalid\"\r\n (click)=\"onClickGroup()\"\r\n (blur)=\"onTouched()\"\r\n >\r\n {{activeItemValues}}\r\n </button>\r\n <button\r\n class=\"d-flex br-end d-flex align-items-center justify-content-center\"\r\n [class.invalid]=\"!ngControl.control?.invalid\"\r\n [disabled]=\"isDisabled\"\r\n (click)=\"onClickGroup()\"\r\n (blur)=\"onTouched()\"\r\n >\r\n <icon\r\n size=\"1rem\"\r\n type=\"chevron\"\r\n [fill]=\"[null, 'current']\"\r\n fillRotate=\"90\"\r\n [stroke]=\"['current']\"\r\n [class.up]=\"dropup.open\"\r\n [class.down]=\"dropdown.open\"\r\n ></icon>\r\n </button>\r\n</div>\r\n\r\n<dialog #dropdown>\r\n <ng-template [ngTemplateOutlet]=\"dropContent\"></ng-template>\r\n</dialog>\r\n\r\n<ng-template #dropContent>\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <div class=\"d-flex gap-2 align-items-stretch\">\r\n <input\r\n [(ngModel)]=\"searchTerm\"\r\n class=\"flex-1 br-start br-end\"\r\n />\r\n <button\r\n *ngIf=\"_isMultiple\"\r\n type=\"button\"\r\n class=\"br-start br-end\"\r\n (click)=\"onClickSelectAll()\"\r\n >\r\n {{isSelectedAll ? 'Deselect' : 'Select'}} All\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column\">\r\n <button\r\n *ngFor=\"let item of filteredItems\"\r\n class=\"d-flex flex-1 align-items-center text-start gap-2\"\r\n [disabled]=\"isDisabled\"\r\n [class.active]=\"_model.includes(item.key)\"\r\n (click)=\"onClick(item)\"\r\n >\r\n <div\r\n class=\"jo-button {{isMultiple ? 'br-20' : 'br-50'}}\"\r\n [class.active]=\"_model.includes(item.key)\"\r\n [class.disabled]=\"isDisabled\"\r\n [class.invalid]=\"ngControl.control?.invalid\"\r\n >\r\n <icon\r\n *ngIf=\"_model.includes(item.key)\"\r\n size=\"1rem\"\r\n [type]=\"isMultiple ? 'check' : 'dot'\"\r\n [fill]=\"[null, 'current']\"\r\n fillRotate=\"90\"\r\n ></icon>\r\n </div>\r\n {{item.value}}\r\n </button>\r\n </div>\r\n </div>\r\n</ng-template>", styles: [":host{position:relative;display:block}:host>.position-relative>dialog{bottom:0}.drop{max-height:200px;overflow-y:auto}.drop.down{top:100%}.drop.up{bottom:100%}div[role=group]>button:first-child{border-right:none;white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis}div[role=group]>button:last-child{border-left:none}dialog{padding:0;border:0;margin:0;background:transparent;width:100%;z-index:2;color:currentColor}dialog>.card{-webkit-backdrop-filter:blur(1.5rem);backdrop-filter:blur(1.5rem);max-height:calc(var(--dropHeightPx) * 1px);overflow-y:auto}dialog>.card>.flex-column>button{border-color:transparent;border-width:.075em}dialog>.card>.flex-column>button>.jo-button{position:relative;text-align:left}dialog>.card>.flex-column>button>.jo-button>icon{position:absolute;top:0;left:0}icon[type=chevron]{transform:rotate(90deg)}icon[type=chevron].up{transform:rotate(0)}icon[type=chevron].down{transform:rotate(180deg)}.br-20{border-radius:20%}.br-50{border-radius:50%}\n", "body{font-family:Arial;margin:0}h1,h2,h3,h4,h5,h6{margin:0}a:not(.jo-ignore),button:not(.jo-ignore),.jo-button,input,textarea{color:inherit;background:transparent;border-width:.15rem;border-style:outset;border-color:currentColor;padding:.5rem;margin:0;font-size:1rem;line-height:1rem;font-family:inherit}a:not(.jo-ignore):active,a:not(.jo-ignore).active,button:not(.jo-ignore):active,button:not(.jo-ignore).active,.jo-button:active,.jo-button.active,input:active,input.active,textarea:active,textarea.active{border-style:inset}a:not(.jo-ignore):disabled,a:not(.jo-ignore).disabled,button:not(.jo-ignore):disabled,button:not(.jo-ignore).disabled,.jo-button:disabled,.jo-button.disabled,input:disabled,input.disabled,textarea:disabled,textarea.disabled{cursor:not-allowed;border-style:solid;box-shadow:none;opacity:.5}a,button,.jo-button{cursor:pointer}.card{border:1px solid currentColor;border-radius:.5rem}.card .card-header{padding:1rem;border-bottom:1px solid currentColor}.card .card-body,.card .card-footer{padding:1rem}.card .card-table{overflow-x:auto}.card .card-body+.card-table,.card .card-table+.card-body,.card .card-body+.card-body,.card .card-table+.card-table,.card .card-table+.card-footer,.card .card-body+.card-footer{border-top:1px solid currentColor}.card table{width:100%;border-collapse:collapse}.card table>thead{text-align:left}.card table>thead th{border-bottom:1px solid currentColor}.card table>tfoot td{margin-top:1px;border-top:1px solid currentColor}.card table th,.card table td{padding:1rem}.card table tbody tr>td:last-child{text-align:right}.card table tbody tr:nth-child(odd) td{-webkit-backdrop-filter:brightness(85%);backdrop-filter:brightness(85%)}.card table tbody tr:last-child>td:first-child{border-bottom-left-radius:.5rem}.card table tbody tr:last-child>td:last-child{border-bottom-right-radius:.5rem}.card table tbody tr.active td{font-weight:700}.position-relative{position:relative}.d-flex{display:flex}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.flex-2{flex:2}.flex-3{flex:3}.flex-4{flex:4}.gap-1{gap:.25rem}.m-1{margin:.25rem}.p-1{padding:.25rem}.mx-1{margin-right:.25rem;margin-left:.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.px-1{padding-right:.25rem;padding-left:.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.ms-1{margin-right:.25rem}.me-1{margin-left:.25rem}.mt-1{margin-top:.25rem}.mb-1{margin-bottom:.25rem}.ps-1{padding-right:.25rem}.pe-1{padding-left:.25rem}.pt-1{padding-top:.25rem}.pb-1{padding-bottom:.25rem}.gap-2{gap:.5rem}.m-2{margin:.5rem}.p-2{padding:.5rem}.mx-2{margin-right:.5rem;margin-left:.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.px-2{padding-right:.5rem;padding-left:.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.ms-2{margin-right:.5rem}.me-2{margin-left:.5rem}.mt-2{margin-top:.5rem}.mb-2{margin-bottom:.5rem}.ps-2{padding-right:.5rem}.pe-2{padding-left:.5rem}.pt-2{padding-top:.5rem}.pb-2{padding-bottom:.5rem}.gap-3{gap:1rem}.m-3{margin:1rem}.p-3{padding:1rem}.mx-3{margin-right:1rem;margin-left:1rem}.my-3{margin-top:1rem;margin-bottom:1rem}.px-3{padding-right:1rem;padding-left:1rem}.py-3{padding-top:1rem;padding-bottom:1rem}.ms-3{margin-right:1rem}.me-3{margin-left:1rem}.mt-3{margin-top:1rem}.mb-3{margin-bottom:1rem}.ps-3{padding-right:1rem}.pe-3{padding-left:1rem}.pt-3{padding-top:1rem}.pb-3{padding-bottom:1rem}.gap-4{gap:1.5rem}.m-4{margin:1.5rem}.p-4{padding:1.5rem}.mx-4{margin-right:1.5rem;margin-left:1.5rem}.my-4{margin-top:1.5rem;margin-bottom:1.5rem}.px-4{padding-right:1.5rem;padding-left:1.5rem}.py-4{padding-top:1.5rem;padding-bottom:1.5rem}.ms-4{margin-right:1.5rem}.me-4{margin-left:1.5rem}.mt-4{margin-top:1.5rem}.mb-4{margin-bottom:1.5rem}.ps-4{padding-right:1.5rem}.pe-4{padding-left:1.5rem}.pt-4{padding-top:1.5rem}.pb-4{padding-bottom:1.5rem}.gap-5{gap:2rem}.m-5{margin:2rem}.p-5{padding:2rem}.mx-5{margin-right:2rem;margin-left:2rem}.my-5{margin-top:2rem;margin-bottom:2rem}.px-5{padding-right:2rem;padding-left:2rem}.py-5{padding-top:2rem;padding-bottom:2rem}.ms-5{margin-right:2rem}.me-5{margin-left:2rem}.mt-5{margin-top:2rem}.mb-5{margin-bottom:2rem}.ps-5{padding-right:2rem}.pe-5{padding-left:2rem}.pt-5{padding-top:2rem}.pb-5{padding-bottom:2rem}.border{border:1px solid currentColor}.br-start{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.br-end{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.white-space-nowrap{white-space:nowrap}.text-end{text-align:right}.text-start{text-align:left}.text-center{text-align:center}label{display:block;padding-bottom:.5rem;font-weight:700}label:empty{display:none}label.required:after{content:\"*\"}ul{list-style:none;margin:0;padding:0}\n"] }]
|
|
78
|
-
}], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
|
|
79
|
-
type: Self
|
|
80
|
-
}] }, { type: i0.ElementRef }], propDecorators: { dropGroup: [{
|
|
81
|
-
type: ViewChild,
|
|
82
|
-
args: ['dropGroup']
|
|
83
|
-
}], dropup: [{
|
|
84
|
-
type: ViewChild,
|
|
85
|
-
args: ['dropup']
|
|
86
|
-
}], dropdown: [{
|
|
87
|
-
type: ViewChild,
|
|
88
|
-
args: ['dropdown']
|
|
89
|
-
}], dropHeightPx: [{
|
|
90
|
-
type: Input
|
|
91
|
-
}, {
|
|
92
|
-
type: HostBinding,
|
|
93
|
-
args: ['style.--dropHeightPx']
|
|
94
|
-
}], onGlobalClick: [{
|
|
95
|
-
type: HostListener,
|
|
96
|
-
args: ['document:mousedown', ['$event']]
|
|
97
|
-
}] } });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYW9zLWNvbnRyb2wvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhb3MtY29udHJvbC9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFdBQVcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7OztBQVdqRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxhQUFhO0lBU2hELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsS0FBYTtRQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUs7WUFDeEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDcEYsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQU1ELFlBQzBCLFNBQW9CLEVBQ3BDLFdBQXVCO1FBRS9CLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUhPLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEMsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFsQmpDLGlC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QUM3QixDQUFDLENBQUMsRUFBRTtZQUNKLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BDLENBQUM7OEdBckZVLGVBQWU7a0dBQWYsZUFBZSx5Z0JDYjVCLG03RkFxR2M7OzJGRHhGRCxlQUFlO2tCQVIzQixTQUFTOytCQUNFLFdBQVc7OzBCQStCbEIsSUFBSTtrRUF2QmlCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFDRCxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVE7Z0JBQ0ksUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVO2dCQUlyQixZQUFZO3NCQUZYLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsc0JBQXNCO2dCQW9DbkMsYUFBYTtzQkFEWixZQUFZO3VCQUFDLG9CQUFvQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCwgU2VsZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcclxuaW1wb3J0IHsgSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2pvLXNlbGVjdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbXHJcbiAgICAnLi9zZWxlY3QuY29tcG9uZW50LnNjc3MnLFxyXG4gICAgJy4uLy4uL3N0eWxlcy5zY3NzJyxcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBJdGVtRGlyZWN0aXZlIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIEBWaWV3Q2hpbGQoJ2Ryb3BHcm91cCcpIGRyb3BHcm91cCE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ2Ryb3B1cCcpIGRyb3B1cCE6IEVsZW1lbnRSZWY8SFRNTERpYWxvZ0VsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ2Ryb3Bkb3duJykgZHJvcGRvd24hOiBFbGVtZW50UmVmPEhUTUxEaWFsb2dFbGVtZW50PjtcclxuXHJcbiAgQElucHV0KClcclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tZHJvcEhlaWdodFB4JylcclxuICBkcm9wSGVpZ2h0UHggPSAyMDA7XHJcblxyXG4gIGdldCBzZWFyY2hUZXJtKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoVGVybTtcclxuICB9XHJcbiAgc2V0IHNlYXJjaFRlcm0odmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fc2VhcmNoVGVybSA9IHZhbHVlO1xyXG4gICAgdGhpcy5maWx0ZXJlZEl0ZW1zID0gdmFsdWVcclxuICAgICAgPyB0aGlzLl9pdGVtcy5maWx0ZXIoaXRlbSA9PiBpdGVtLnZhbHVlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModmFsdWUudG9Mb3dlckNhc2UoKSkpXHJcbiAgICAgIDogdGhpcy5faXRlbXM7XHJcbiAgfVxyXG4gIF9zZWFyY2hUZXJtID0gJyc7XHJcblxyXG4gIGlzRHJvcGRvd25DbG9zZVRvQm90dG9tID0gZmFsc2U7XHJcbiAgaWQgPSBgJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHIoMiwgOSl9YDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAU2VsZigpIHB1YmxpYyBvdmVycmlkZSBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcclxuICAgIHByaXZhdGUgaG9zdEVsZW1lbnQ6IEVsZW1lbnRSZWYsXHJcbiAgKSB7XHJcbiAgICBzdXBlcihuZ0NvbnRyb2wpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGFjdGl2ZUl0ZW1WYWx1ZXMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9pdGVtc1xyXG4gICAgICAuZmlsdGVyKGl0ZW0gPT4gdGhpcy5fbW9kZWwuaW5jbHVkZXMoaXRlbS5rZXkpKVxyXG4gICAgICAubWFwKGl0ZW0gPT4gaXRlbS52YWx1ZSlcclxuICAgICAgLmpvaW4oJywgJyk7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNTZWxlY3RlZEFsbCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9pdGVtcy5ldmVyeShpdGVtID0+IHRoaXMuX21vZGVsLmluY2x1ZGVzKGl0ZW0ua2V5KSk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZWRvd24nLCBbJyRldmVudCddKVxyXG4gIG9uR2xvYmFsQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGlmICghdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpXHJcbiAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xyXG4gIH1cclxuXHJcbiAgb25DbGlja0dyb3VwKCkge1xyXG4gICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XHJcbiAgICBpZiAodGhpcy5kcm9wR3JvdXAubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5ib3R0b20gKyB0aGlzLmRyb3BIZWlnaHRQeCA+IHdpbmRvdy5pbm5lckhlaWdodCkge1xyXG4gICAgICB0aGlzLmRyb3B1cC5uYXRpdmVFbGVtZW50LnNob3coKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZHJvcGRvd24ubmF0aXZlRWxlbWVudC5zaG93KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrKGl0ZW06IEl0ZW0pIHtcclxuICAgIHRoaXMuX21vZGVsID0gdGhpcy5fbW9kZWwuZmlsdGVyKGtleSA9PiB0aGlzLl9pdGVtcy5tYXAoaXRlbSA9PiBpdGVtLmtleSkuaW5jbHVkZXMoa2V5KSlcclxuXHJcbiAgICBpZiAodGhpcy5fbW9kZWwuaW5jbHVkZXMoaXRlbS5rZXkpKSB7XHJcbiAgICAgIGlmICh0aGlzLnJlcXVpcmVkID09PSB0cnVlICYmIHRoaXMuX21vZGVsLmxlbmd0aCA9PT0gMSlcclxuICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICB0aGlzLm1vZGVsID0gdGhpcy5fbW9kZWwuZmlsdGVyKGtleSA9PiBrZXkgIT09IGl0ZW0ua2V5KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5pc011bHRpcGxlICYmIHRoaXMuX21vZGVsLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICB0aGlzLm1vZGVsID0gW2l0ZW0ua2V5XTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubW9kZWwgPSBbLi4udGhpcy5fbW9kZWwsIGl0ZW0ua2V5XTtcclxuICB9XHJcblxyXG4gIG9uQ2xpY2tTZWxlY3RBbGwoKSB7XHJcbiAgICB0aGlzLm1vZGVsID0gdGhpcy5pc1NlbGVjdGVkQWxsXHJcbiAgICAgID8gW11cclxuICAgICAgOiB0aGlzLl9pdGVtcy5tYXAoaXRlbSA9PiBpdGVtLmtleSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZURyb3Bkb3duKCkge1xyXG4gICAgdGhpcy5zZWFyY2hUZXJtID0gJyc7XHJcbiAgICB0aGlzLmRyb3Bkb3duLm5hdGl2ZUVsZW1lbnQuY2xvc2UoKTtcclxuICAgIHRoaXMuZHJvcHVwLm5hdGl2ZUVsZW1lbnQuY2xvc2UoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gIDxsYWJlbFxyXG4gICAgaWQ9XCJzZWxlY3Rfe3tpZH19XCJcclxuICAgIFtjbGFzcy5yZXF1aXJlZF09XCJyZXF1aXJlZFwiXHJcbiAgPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gIDwvbGFiZWw+XHJcbiAgPGRpdj5cclxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltyaWdodEFsaWduZWRdXCI+PC9uZy1jb250ZW50PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gIDxkaWFsb2cgI2Ryb3B1cD5cclxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJkcm9wQ29udGVudFwiPjwvbmctdGVtcGxhdGU+XHJcbiAgPC9kaWFsb2c+XHJcbjwvZGl2PlxyXG5cclxuPGRpdlxyXG4gICNkcm9wR3JvdXBcclxuICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1zdHJldGNoXCJcclxuICByb2xlPVwiZ3JvdXBcIlxyXG4gIGF0dHIuYXJpYS1sYWJlbGxlZGJ5PVwic2VsZWN0X3t7aWR9fVwiXHJcbj5cclxuICA8YnV0dG9uXHJcbiAgICBjbGFzcz1cImZsZXgtMSBici1zdGFydCB0ZXh0LXN0YXJ0XCJcclxuICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgW2NsYXNzLmFjdGl2ZV09XCJfbW9kZWwubGVuZ3RoID4gMFwiXHJcbiAgICBbY2xhc3MuaW52YWxpZF09XCIhbmdDb250cm9sLmNvbnRyb2w/LmludmFsaWRcIlxyXG4gICAgKGNsaWNrKT1cIm9uQ2xpY2tHcm91cCgpXCJcclxuICAgIChibHVyKT1cIm9uVG91Y2hlZCgpXCJcclxuICA+XHJcbiAgICB7e2FjdGl2ZUl0ZW1WYWx1ZXN9fVxyXG4gIDwvYnV0dG9uPlxyXG4gIDxidXR0b25cclxuICAgIGNsYXNzPVwiZC1mbGV4IGJyLWVuZCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxyXG4gICAgW2NsYXNzLmludmFsaWRdPVwiIW5nQ29udHJvbC5jb250cm9sPy5pbnZhbGlkXCJcclxuICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcclxuICAgIChjbGljayk9XCJvbkNsaWNrR3JvdXAoKVwiXHJcbiAgICAoYmx1cik9XCJvblRvdWNoZWQoKVwiXHJcbiAgPlxyXG4gICAgPGljb25cclxuICAgICAgc2l6ZT1cIjFyZW1cIlxyXG4gICAgICB0eXBlPVwiY2hldnJvblwiXHJcbiAgICAgIFtmaWxsXT1cIltudWxsLCAnY3VycmVudCddXCJcclxuICAgICAgZmlsbFJvdGF0ZT1cIjkwXCJcclxuICAgICAgW3N0cm9rZV09XCJbJ2N1cnJlbnQnXVwiXHJcbiAgICAgIFtjbGFzcy51cF09XCJkcm9wdXAub3BlblwiXHJcbiAgICAgIFtjbGFzcy5kb3duXT1cImRyb3Bkb3duLm9wZW5cIlxyXG4gICAgPjwvaWNvbj5cclxuICA8L2J1dHRvbj5cclxuPC9kaXY+XHJcblxyXG48ZGlhbG9nICNkcm9wZG93bj5cclxuICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHJvcENvbnRlbnRcIj48L25nLXRlbXBsYXRlPlxyXG48L2RpYWxvZz5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZHJvcENvbnRlbnQ+XHJcbiAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBnYXAtMiBhbGlnbi1pdGVtcy1zdHJldGNoXCI+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFRlcm1cIlxyXG4gICAgICAgICAgY2xhc3M9XCJmbGV4LTEgYnItc3RhcnQgYnItZW5kXCJcclxuICAgICAgICAvPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICpuZ0lmPVwiX2lzTXVsdGlwbGVcIlxyXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICBjbGFzcz1cImJyLXN0YXJ0IGJyLWVuZFwiXHJcbiAgICAgICAgICAoY2xpY2spPVwib25DbGlja1NlbGVjdEFsbCgpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICB7e2lzU2VsZWN0ZWRBbGwgPyAnRGVzZWxlY3QnIDogJ1NlbGVjdCd9fSBBbGxcclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW5cIj5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpbHRlcmVkSXRlbXNcIlxyXG4gICAgICAgIGNsYXNzPVwiZC1mbGV4IGZsZXgtMSBhbGlnbi1pdGVtcy1jZW50ZXIgdGV4dC1zdGFydCBnYXAtMlwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxyXG4gICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiX21vZGVsLmluY2x1ZGVzKGl0ZW0ua2V5KVwiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soaXRlbSlcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJqby1idXR0b24ge3tpc011bHRpcGxlID8gJ2JyLTIwJyA6ICdici01MCd9fVwiXHJcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cIl9tb2RlbC5pbmNsdWRlcyhpdGVtLmtleSlcIlxyXG4gICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxyXG4gICAgICAgICAgW2NsYXNzLmludmFsaWRdPVwibmdDb250cm9sLmNvbnRyb2w/LmludmFsaWRcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxpY29uXHJcbiAgICAgICAgICAgICpuZ0lmPVwiX21vZGVsLmluY2x1ZGVzKGl0ZW0ua2V5KVwiXHJcbiAgICAgICAgICAgIHNpemU9XCIxcmVtXCJcclxuICAgICAgICAgICAgW3R5cGVdPVwiaXNNdWx0aXBsZSA/ICdjaGVjaycgOiAnZG90J1wiXHJcbiAgICAgICAgICAgIFtmaWxsXT1cIltudWxsLCAnY3VycmVudCddXCJcclxuICAgICAgICAgICAgZmlsbFJvdGF0ZT1cIjkwXCJcclxuICAgICAgICAgID48L2ljb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAge3tpdGVtLnZhbHVlfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
|