@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.
Files changed (59) hide show
  1. package/README.md +86 -86
  2. package/fesm2022/joster-dev-chaos-control.mjs +512 -580
  3. package/fesm2022/joster-dev-chaos-control.mjs.map +1 -1
  4. package/{lib/LICENSE → lib} +9 -9
  5. package/package.json +6 -8
  6. package/src/lib/scss/all.scss +7 -0
  7. package/src/lib/scss/card.scss +78 -0
  8. package/src/lib/scss/control.scss +49 -0
  9. package/src/lib/scss/reboot.scss +13 -0
  10. package/src/lib/scss/utility.scss +179 -0
  11. package/src/lib/scss/variables.scss +7 -0
  12. package/src/lib/styles.scss +28 -28
  13. package/types/joster-dev-chaos-control.d.ts +243 -0
  14. package/esm2022/joster-dev-chaos-control.mjs +0 -5
  15. package/esm2022/lib/chaos-control.module.mjs +0 -67
  16. package/esm2022/lib/chaos-control.service.mjs +0 -14
  17. package/esm2022/lib/components/choice/choice.component.mjs +0 -52
  18. package/esm2022/lib/components/color/color.component.mjs +0 -77
  19. package/esm2022/lib/components/file/file.component.mjs +0 -131
  20. package/esm2022/lib/components/index.mjs +0 -8
  21. package/esm2022/lib/components/number/number.component.mjs +0 -134
  22. package/esm2022/lib/components/readonly/readonly.component.mjs +0 -14
  23. package/esm2022/lib/components/select/select.component.mjs +0 -98
  24. package/esm2022/lib/components/text/text.component.mjs +0 -162
  25. package/esm2022/lib/directives/border-radius.directive.mjs +0 -41
  26. package/esm2022/lib/directives/control.directive.mjs +0 -46
  27. package/esm2022/lib/directives/index.mjs +0 -4
  28. package/esm2022/lib/directives/item.directive.mjs +0 -117
  29. package/esm2022/lib/models/index.mjs +0 -7
  30. package/esm2022/lib/models/is-item.function.mjs +0 -8
  31. package/esm2022/lib/models/is-items.function.mjs +0 -5
  32. package/esm2022/lib/models/is-number.function.mjs +0 -5
  33. package/esm2022/lib/models/is-primitive.function.mjs +0 -7
  34. package/esm2022/lib/models/item.interface.mjs +0 -2
  35. package/esm2022/lib/models/primitive.type.mjs +0 -2
  36. package/esm2022/public-api.mjs +0 -6
  37. package/index.d.ts +0 -5
  38. package/lib/chaos-control.module.d.ts +0 -20
  39. package/lib/chaos-control.service.d.ts +0 -6
  40. package/lib/components/choice/choice.component.d.ts +0 -15
  41. package/lib/components/color/color.component.d.ts +0 -22
  42. package/lib/components/file/file.component.d.ts +0 -31
  43. package/lib/components/index.d.ts +0 -7
  44. package/lib/components/number/number.component.d.ts +0 -33
  45. package/lib/components/readonly/readonly.component.d.ts +0 -8
  46. package/lib/components/select/select.component.d.ts +0 -28
  47. package/lib/components/text/text.component.d.ts +0 -41
  48. package/lib/directives/border-radius.directive.d.ts +0 -12
  49. package/lib/directives/control.directive.d.ts +0 -18
  50. package/lib/directives/index.d.ts +0 -3
  51. package/lib/directives/item.directive.d.ts +0 -36
  52. package/lib/models/index.d.ts +0 -6
  53. package/lib/models/is-item.function.d.ts +0 -2
  54. package/lib/models/is-items.function.d.ts +0 -2
  55. package/lib/models/is-number.function.d.ts +0 -1
  56. package/lib/models/is-primitive.function.d.ts +0 -2
  57. package/lib/models/item.interface.d.ts +0 -6
  58. package/lib/models/primitive.type.d.ts +0 -1
  59. package/public-api.d.ts +0 -4
@@ -1,52 +0,0 @@
1
- import { Component, Input, Self } 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 ChoiceComponent extends ItemDirective {
8
- constructor(ngControl) {
9
- super(ngControl);
10
- this.ngControl = ngControl;
11
- this._isColumn = false;
12
- this.id = `${Math.random().toString(36).substr(2, 9)}`;
13
- }
14
- get isColumn() {
15
- return this._isColumn;
16
- }
17
- set isColumn(value) {
18
- if (value === '')
19
- value = true;
20
- if (value == null)
21
- value = false;
22
- if (typeof value !== 'boolean')
23
- throw new Error('isColumn expects: boolean');
24
- this._isColumn = value;
25
- }
26
- onClick(item) {
27
- this._model = this._model
28
- .filter(key => this._items.map(item => item.key).includes(key));
29
- if (this._model.includes(item.key)) {
30
- if (this.required === true && this._model.length === 1)
31
- return;
32
- this.model = this._model.filter(key => key !== item.key);
33
- return;
34
- }
35
- if (!this.isMultiple && this._model.length === 1) {
36
- this.model = [item.key];
37
- return;
38
- }
39
- this.model = [...this._model, item.key];
40
- }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: ChoiceComponent, deps: [{ token: i1.NgControl, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
42
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: ChoiceComponent, selector: "jo-choice", inputs: { isColumn: "isColumn" }, usesInheritance: true, ngImport: i0, template: "<div class=\"d-flex justify-content-between\">\r\n <label\r\n id=\"choice_{{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\r\n class=\"d-flex flex-wrap align-items-start\"\r\n role=\"group\"\r\n attr.aria-labelledby=\"choice_{{id}}\"\r\n [class.flex-column]=\"isColumn\"\r\n>\r\n <button\r\n *ngFor=\"let item of items; let idx = index\"\r\n type=\"button\"\r\n class=\"d-flex align-items-center gap-2 text-start\"\r\n role=\"menuitemcheckbox\"\r\n [class.br-end]=\"borderRadiusRight\"\r\n [class.br-start]=\"borderRadiusLeft\"\r\n [disabled]=\"isDisabled\"\r\n (click)=\"onClick(item)\"\r\n (blur)=\"onTouched()\"\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 <span>{{item.value}}</span>\r\n </button>\r\n</div>\r\n\r\n<!-- <ul *ngIf=\"ngControl.control?.errors\">\r\n <li *ngIf=\"ngControl.control?.errors?.['invalid']\">\r\n invalid model\r\n </li>\r\n</ul> -->", styles: [":host{display:block}:host>.d-flex>button{border-color:transparent;border-width:.075em}:host>.d-flex>button>.jo-button{position:relative;text-align:left}:host>.d-flex>button>.jo-button>icon{position:absolute;top:0;left:0}.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: "component", type: i3.IconComponent, selector: "icon[type]", inputs: ["type", "fill", "fillRotate", "fillOpacity", "stroke", "strokeRotate", "spin"] }] }); }
43
- }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: ChoiceComponent, decorators: [{
45
- type: Component,
46
- args: [{ selector: 'jo-choice', template: "<div class=\"d-flex justify-content-between\">\r\n <label\r\n id=\"choice_{{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\r\n class=\"d-flex flex-wrap align-items-start\"\r\n role=\"group\"\r\n attr.aria-labelledby=\"choice_{{id}}\"\r\n [class.flex-column]=\"isColumn\"\r\n>\r\n <button\r\n *ngFor=\"let item of items; let idx = index\"\r\n type=\"button\"\r\n class=\"d-flex align-items-center gap-2 text-start\"\r\n role=\"menuitemcheckbox\"\r\n [class.br-end]=\"borderRadiusRight\"\r\n [class.br-start]=\"borderRadiusLeft\"\r\n [disabled]=\"isDisabled\"\r\n (click)=\"onClick(item)\"\r\n (blur)=\"onTouched()\"\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 <span>{{item.value}}</span>\r\n </button>\r\n</div>\r\n\r\n<!-- <ul *ngIf=\"ngControl.control?.errors\">\r\n <li *ngIf=\"ngControl.control?.errors?.['invalid']\">\r\n invalid model\r\n </li>\r\n</ul> -->", styles: [":host{display:block}:host>.d-flex>button{border-color:transparent;border-width:.075em}:host>.d-flex>button>.jo-button{position:relative;text-align:left}:host>.d-flex>button>.jo-button>icon{position:absolute;top:0;left:0}.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"] }]
47
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
48
- type: Self
49
- }] }], propDecorators: { isColumn: [{
50
- type: Input
51
- }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvaWNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYW9zLWNvbnRyb2wvc3JjL2xpYi9jb21wb25lbnRzL2Nob2ljZS9jaG9pY2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhb3MtY29udHJvbC9zcmMvbGliL2NvbXBvbmVudHMvY2hvaWNlL2Nob2ljZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7OztBQVdqRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxhQUFhO0lBQ2hELFlBQzBCLFNBQW9CO1FBRTVDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUZPLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFrQjlDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIsT0FBRSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFqQmxELENBQUM7SUFFRCxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQW1CO1FBQzlCLElBQUksS0FBSyxLQUFLLEVBQUU7WUFDZCxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2YsSUFBSSxLQUFLLElBQUksSUFBSTtZQUNmLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDaEIsSUFBSSxPQUFPLEtBQUssS0FBSyxTQUFTO1lBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtRQUM5QyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBS0QsT0FBTyxDQUFDLElBQVU7UUFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTTthQUN0QixNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUVqRSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ25DLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQztnQkFDcEQsT0FBTztZQUVULElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pELE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN4QixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7OEdBMUNVLGVBQWU7a0dBQWYsZUFBZSwwR0NkNUIsaytDQW1EUzs7MkZEckNJLGVBQWU7a0JBUjNCLFNBQVM7K0JBQ0UsV0FBVzs7MEJBU2xCLElBQUk7eUNBTUgsUUFBUTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xyXG5pbXBvcnQgeyBJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnam8tY2hvaWNlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hvaWNlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFtcclxuICAgICcuL2Nob2ljZS5jb21wb25lbnQuc2NzcycsXHJcbiAgICAnLi4vLi4vc3R5bGVzLnNjc3MnLFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIENob2ljZUNvbXBvbmVudCBleHRlbmRzIEl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAU2VsZigpIHB1YmxpYyBvdmVycmlkZSBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcclxuICApIHtcclxuICAgIHN1cGVyKG5nQ29udHJvbCk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBpc0NvbHVtbigpIHtcclxuICAgIHJldHVybiB0aGlzLl9pc0NvbHVtbjtcclxuICB9XHJcbiAgc2V0IGlzQ29sdW1uKHZhbHVlOiBib29sZWFuIHwgJycpIHtcclxuICAgIGlmICh2YWx1ZSA9PT0gJycpXHJcbiAgICAgIHZhbHVlID0gdHJ1ZTtcclxuICAgIGlmICh2YWx1ZSA9PSBudWxsKVxyXG4gICAgICB2YWx1ZSA9IGZhbHNlO1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ2Jvb2xlYW4nKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2lzQ29sdW1uIGV4cGVjdHM6IGJvb2xlYW4nKVxyXG4gICAgdGhpcy5faXNDb2x1bW4gPSB2YWx1ZTtcclxuICB9XHJcbiAgX2lzQ29sdW1uID0gZmFsc2U7XHJcblxyXG4gIGlkID0gYCR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIsIDkpfWA7XHJcblxyXG4gIG9uQ2xpY2soaXRlbTogSXRlbSkge1xyXG4gICAgdGhpcy5fbW9kZWwgPSB0aGlzLl9tb2RlbFxyXG4gICAgICAuZmlsdGVyKGtleSA9PiB0aGlzLl9pdGVtcy5tYXAoaXRlbSA9PiBpdGVtLmtleSkuaW5jbHVkZXMoa2V5KSlcclxuXHJcbiAgICBpZiAodGhpcy5fbW9kZWwuaW5jbHVkZXMoaXRlbS5rZXkpKSB7XHJcbiAgICAgIGlmICh0aGlzLnJlcXVpcmVkID09PSB0cnVlICYmIHRoaXMuX21vZGVsLmxlbmd0aCA9PT0gMSlcclxuICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICB0aGlzLm1vZGVsID0gdGhpcy5fbW9kZWwuZmlsdGVyKGtleSA9PiBrZXkgIT09IGl0ZW0ua2V5KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5pc011bHRpcGxlICYmIHRoaXMuX21vZGVsLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICB0aGlzLm1vZGVsID0gW2l0ZW0ua2V5XTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubW9kZWwgPSBbLi4udGhpcy5fbW9kZWwsIGl0ZW0ua2V5XTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gIDxsYWJlbFxyXG4gICAgaWQ9XCJjaG9pY2Vfe3tpZH19XCJcclxuICAgIFtjbGFzcy5yZXF1aXJlZF09XCJyZXF1aXJlZFwiXHJcbiAgPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gIDwvbGFiZWw+XHJcbiAgPGRpdj5cclxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltyaWdodEFsaWduZWRdXCI+PC9uZy1jb250ZW50PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXZcclxuICBjbGFzcz1cImQtZmxleCBmbGV4LXdyYXAgYWxpZ24taXRlbXMtc3RhcnRcIlxyXG4gIHJvbGU9XCJncm91cFwiXHJcbiAgYXR0ci5hcmlhLWxhYmVsbGVkYnk9XCJjaG9pY2Vfe3tpZH19XCJcclxuICBbY2xhc3MuZmxleC1jb2x1bW5dPVwiaXNDb2x1bW5cIlxyXG4+XHJcbiAgPGJ1dHRvblxyXG4gICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IGxldCBpZHggPSBpbmRleFwiXHJcbiAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LXN0YXJ0XCJcclxuICAgIHJvbGU9XCJtZW51aXRlbWNoZWNrYm94XCJcclxuICAgIFtjbGFzcy5ici1lbmRdPVwiYm9yZGVyUmFkaXVzUmlnaHRcIlxyXG4gICAgW2NsYXNzLmJyLXN0YXJ0XT1cImJvcmRlclJhZGl1c0xlZnRcIlxyXG4gICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxyXG4gICAgKGNsaWNrKT1cIm9uQ2xpY2soaXRlbSlcIlxyXG4gICAgKGJsdXIpPVwib25Ub3VjaGVkKClcIlxyXG4gID5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJqby1idXR0b24ge3tpc011bHRpcGxlID8gJ2JyLTIwJyA6ICdici01MCd9fVwiXHJcbiAgICAgIFtjbGFzcy5hY3RpdmVdPVwiX21vZGVsLmluY2x1ZGVzKGl0ZW0ua2V5KVwiXHJcbiAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcclxuICAgICAgW2NsYXNzLmludmFsaWRdPVwibmdDb250cm9sLmNvbnRyb2w/LmludmFsaWRcIlxyXG4gICAgPlxyXG4gICAgICA8aWNvblxyXG4gICAgICAgICpuZ0lmPVwiX21vZGVsLmluY2x1ZGVzKGl0ZW0ua2V5KVwiXHJcbiAgICAgICAgc2l6ZT1cIjFyZW1cIlxyXG4gICAgICAgIFt0eXBlXT1cImlzTXVsdGlwbGUgPyAnY2hlY2snIDogJ2RvdCdcIlxyXG4gICAgICAgIFtmaWxsXT1cIltudWxsLCAnY3VycmVudCddXCJcclxuICAgICAgICBmaWxsUm90YXRlPVwiOTBcIlxyXG4gICAgICA+PC9pY29uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8c3Bhbj57e2l0ZW0udmFsdWV9fTwvc3Bhbj5cclxuICA8L2J1dHRvbj5cclxuPC9kaXY+XHJcblxyXG48IS0tIDx1bCAqbmdJZj1cIm5nQ29udHJvbC5jb250cm9sPy5lcnJvcnNcIj5cclxuICA8bGkgKm5nSWY9XCJuZ0NvbnRyb2wuY29udHJvbD8uZXJyb3JzPy5bJ2ludmFsaWQnXVwiPlxyXG4gICAgaW52YWxpZCBtb2RlbFxyXG4gIDwvbGk+XHJcbjwvdWw+IC0tPiJdfQ==
@@ -1,77 +0,0 @@
1
- import { Component, Self } from '@angular/core';
2
- import { Validators } from '@angular/forms';
3
- import { debounceTime } from 'rxjs/operators';
4
- import { ControlDirective } from '../../directives';
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 ColorComponent extends ControlDirective {
9
- get model() {
10
- return this._model;
11
- }
12
- set model(value) {
13
- this._model = value;
14
- this.onChange(this._model !== null && this.fullHex.test(this._model)
15
- ? this._model
16
- : null);
17
- }
18
- constructor(ngControl) {
19
- super();
20
- this.ngControl = ngControl;
21
- this.partialHex = /^[0-9A-Fa-f]{1,6}$/;
22
- this.fullHex = /^[0-9A-Fa-f]{6}$/;
23
- this._model = null;
24
- this.id = `_${Math.random().toString(36).substring(2, 11)}`;
25
- this.validation
26
- .pipe(debounceTime(100))
27
- .subscribe(() => this.validate());
28
- ngControl.valueAccessor = this;
29
- }
30
- onChangeColor(event) {
31
- const ele = event.target;
32
- this.model = ele.value.substring(1).toUpperCase();
33
- }
34
- onChange(_model) { }
35
- registerOnChange(fn) {
36
- this.onChange = fn;
37
- }
38
- onBeforeinput(e) {
39
- const event = e;
40
- if (event.data === null)
41
- return;
42
- const ele = event.target;
43
- const tooLong = event.data.length + (ele.selectionStart || 0) > 6;
44
- const valid = this.partialHex.test(event.data);
45
- if (tooLong || !valid)
46
- event.preventDefault();
47
- }
48
- writeValue(value) {
49
- if (value === undefined || typeof value !== 'string' || !this.partialHex.test(value))
50
- value = null;
51
- if (value === null || this.partialHex.test(value))
52
- this._model = value;
53
- }
54
- invalidValidator() {
55
- return (control) => control.value !== null && (typeof control.value !== 'string' || !this.fullHex.test(control.value))
56
- ? { invalid: control.value }
57
- : null;
58
- }
59
- validate() {
60
- const validators = [
61
- this.invalidValidator()
62
- ];
63
- if (this.required === true)
64
- validators.push(Validators.required);
65
- this.ngControl.control?.setValidators(validators);
66
- this.ngControl.control?.updateValueAndValidity();
67
- }
68
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: ColorComponent, deps: [{ token: i1.NgControl, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
69
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: ColorComponent, selector: "jo-color", usesInheritance: true, ngImport: i0, template: "<label\r\n [for]=\"id\"\r\n [class.required]=\"required\"\r\n>\r\n <ng-content></ng-content>\r\n</label>\r\n\r\n<div class=\"d-flex align-items-stretch\">\r\n <button\r\n class=\"d-flex align-items-center\"\r\n title=\"Color\"\r\n [class.br-start]=\"borderRadiusLeft\"\r\n [disabled]=\"isDisabled\"\r\n (click)=\"colorInput.click()\"\r\n >\r\n <icon\r\n size=\"1rem\"\r\n type=\"square\"\r\n [fill]=\"fullHex.test(_model || '') ? _model : [null, 'current']\"\r\n fillRotate=\"90\"\r\n [stroke]=\"fullHex.test(_model || '') ? _model : ['current']\"\r\n ></icon>\r\n </button>\r\n <input\r\n [(ngModel)]=\"model\"\r\n spellcheck=\"false\"\r\n size=\"5\"\r\n type=\"text\"\r\n [class.active]=\"ngControl.control?.value !== null\"\r\n [class.br-end]=\"borderRadiusRight\"\r\n [class.invalid]=\"ngControl.control?.invalid\"\r\n [disabled]=\"isDisabled\"\r\n [id]=\"id\"\r\n (beforeinput)=\"onBeforeinput($event)\"\r\n (blur)=\"onTouched()\"\r\n />\r\n</div>\r\n\r\n<!-- <ul *ngIf=\"ngControl.control?.errors\">\r\n <li *ngIf=\"ngControl.control?.errors?.['invalid']\">\r\n invalid model\r\n </li>\r\n</ul> -->\r\n\r\n<input\r\n #colorInput\r\n type=\"color\"\r\n (change)=\"onChangeColor($event)\"\r\n/>", styles: [":host{display:block}input[type=color]{margin-top:-2em;padding:0;position:absolute;visibility:hidden;transition:none}:host>div>input{border-left:0}:host>div>button{border-right: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.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: i2.IconComponent, selector: "icon[type]", inputs: ["type", "fill", "fillRotate", "fillOpacity", "stroke", "strokeRotate", "spin"] }] }); }
70
- }
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: ColorComponent, decorators: [{
72
- type: Component,
73
- args: [{ selector: 'jo-color', template: "<label\r\n [for]=\"id\"\r\n [class.required]=\"required\"\r\n>\r\n <ng-content></ng-content>\r\n</label>\r\n\r\n<div class=\"d-flex align-items-stretch\">\r\n <button\r\n class=\"d-flex align-items-center\"\r\n title=\"Color\"\r\n [class.br-start]=\"borderRadiusLeft\"\r\n [disabled]=\"isDisabled\"\r\n (click)=\"colorInput.click()\"\r\n >\r\n <icon\r\n size=\"1rem\"\r\n type=\"square\"\r\n [fill]=\"fullHex.test(_model || '') ? _model : [null, 'current']\"\r\n fillRotate=\"90\"\r\n [stroke]=\"fullHex.test(_model || '') ? _model : ['current']\"\r\n ></icon>\r\n </button>\r\n <input\r\n [(ngModel)]=\"model\"\r\n spellcheck=\"false\"\r\n size=\"5\"\r\n type=\"text\"\r\n [class.active]=\"ngControl.control?.value !== null\"\r\n [class.br-end]=\"borderRadiusRight\"\r\n [class.invalid]=\"ngControl.control?.invalid\"\r\n [disabled]=\"isDisabled\"\r\n [id]=\"id\"\r\n (beforeinput)=\"onBeforeinput($event)\"\r\n (blur)=\"onTouched()\"\r\n />\r\n</div>\r\n\r\n<!-- <ul *ngIf=\"ngControl.control?.errors\">\r\n <li *ngIf=\"ngControl.control?.errors?.['invalid']\">\r\n invalid model\r\n </li>\r\n</ul> -->\r\n\r\n<input\r\n #colorInput\r\n type=\"color\"\r\n (change)=\"onChangeColor($event)\"\r\n/>", styles: [":host{display:block}input[type=color]{margin-top:-2em;padding:0;position:absolute;visibility:hidden;transition:none}:host>div>input{border-left:0}:host>div>button{border-right: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"] }]
74
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
75
- type: Self
76
- }] }] });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhb3MtY29udHJvbC9zcmMvbGliL2NvbXBvbmVudHMvY29sb3IvY29sb3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhb3MtY29udHJvbC9zcmMvbGliL2NvbXBvbmVudHMvY29sb3IvY29sb3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFtRixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3SCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFVcEQsTUFBTSxPQUFPLGNBQWUsU0FBUSxnQkFBZ0I7SUFJbEQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFvQjtRQUM1QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxDQUNYLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDcEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNO1lBQ2IsQ0FBQyxDQUFDLElBQUksQ0FDVCxDQUFDO0lBQ0osQ0FBQztJQUtELFlBQ2lCLFNBQW9CO1FBRW5DLEtBQUssRUFBRSxDQUFDO1FBRk8sY0FBUyxHQUFULFNBQVMsQ0FBVztRQW5CN0IsZUFBVSxHQUFHLG9CQUFvQixDQUFDO1FBQzFDLFlBQU8sR0FBRyxrQkFBa0IsQ0FB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Qiwrd0NBZ0RFOzsyRkRsQ1csY0FBYztrQkFSMUIsU0FBUzsrQkFDRSxVQUFVOzswQkEyQmpCLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgQ29udHJvbERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdqby1jb2xvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbG9yLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFtcclxuICAgICcuL2NvbG9yLmNvbXBvbmVudC5zY3NzJyxcclxuICAgICcuLi8uLi9zdHlsZXMuc2NzcycsXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29sb3JDb21wb25lbnQgZXh0ZW5kcyBDb250cm9sRGlyZWN0aXZlIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIHByaXZhdGUgcGFydGlhbEhleCA9IC9eWzAtOUEtRmEtZl17MSw2fSQvO1xyXG4gIGZ1bGxIZXggPSAvXlswLTlBLUZhLWZdezZ9JC87XHJcblxyXG4gIGdldCBtb2RlbCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9tb2RlbDtcclxuICB9XHJcbiAgc2V0IG1vZGVsKHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICB0aGlzLl9tb2RlbCA9IHZhbHVlO1xyXG4gICAgdGhpcy5vbkNoYW5nZShcclxuICAgICAgdGhpcy5fbW9kZWwgIT09IG51bGwgJiYgdGhpcy5mdWxsSGV4LnRlc3QodGhpcy5fbW9kZWwpXHJcbiAgICAgICAgPyB0aGlzLl9tb2RlbFxyXG4gICAgICAgIDogbnVsbFxyXG4gICAgKTtcclxuICB9XHJcbiAgX21vZGVsOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgaWQgPSBgXyR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsIDExKX1gO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBTZWxmKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sLFxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMudmFsaWRhdGlvblxyXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMTAwKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnZhbGlkYXRlKCkpO1xyXG4gICAgbmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2VDb2xvcihldmVudDogRXZlbnQpIHtcclxuICAgIGNvbnN0IGVsZSA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgdGhpcy5tb2RlbCA9IGVsZS52YWx1ZS5zdWJzdHJpbmcoMSkudG9VcHBlckNhc2UoKTtcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlKF9tb2RlbDogc3RyaW5nIHwgbnVsbCkgeyB9XHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKCkgPT4gdm9pZCkge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgb25CZWZvcmVpbnB1dChlOiBFdmVudCk6IHZvaWQge1xyXG4gICAgY29uc3QgZXZlbnQgPSBlIGFzIElucHV0RXZlbnQ7XHJcbiAgICBpZiAoZXZlbnQuZGF0YSA9PT0gbnVsbClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgY29uc3QgZWxlID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgICBjb25zdCB0b29Mb25nID0gZXZlbnQuZGF0YS5sZW5ndGggKyAoZWxlLnNlbGVjdGlvblN0YXJ0IHx8IDApID4gNjtcclxuICAgIGNvbnN0IHZhbGlkID0gdGhpcy5wYXJ0aWFsSGV4LnRlc3QoZXZlbnQuZGF0YSk7XHJcbiAgICBpZiAodG9vTG9uZyB8fCAhdmFsaWQpXHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XHJcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnIHx8ICF0aGlzLnBhcnRpYWxIZXgudGVzdCh2YWx1ZSkpXHJcbiAgICAgIHZhbHVlID0gbnVsbDtcclxuXHJcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdGhpcy5wYXJ0aWFsSGV4LnRlc3QodmFsdWUpKVxyXG4gICAgICB0aGlzLl9tb2RlbCA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbnZhbGlkVmFsaWRhdG9yKCk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT5cclxuICAgICAgY29udHJvbC52YWx1ZSAhPT0gbnVsbCAmJiAodHlwZW9mIGNvbnRyb2wudmFsdWUgIT09ICdzdHJpbmcnIHx8ICF0aGlzLmZ1bGxIZXgudGVzdChjb250cm9sLnZhbHVlKSlcclxuICAgICAgICA/IHsgaW52YWxpZDogY29udHJvbC52YWx1ZSB9XHJcbiAgICAgICAgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB2YWxpZGF0ZSgpIHtcclxuICAgIGNvbnN0IHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10gPSBbXHJcbiAgICAgIHRoaXMuaW52YWxpZFZhbGlkYXRvcigpXHJcbiAgICBdO1xyXG5cclxuICAgIGlmICh0aGlzLnJlcXVpcmVkID09PSB0cnVlKVxyXG4gICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcblxyXG4gICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbD8uc2V0VmFsaWRhdG9ycyh2YWxpZGF0b3JzKTtcclxuICAgIHRoaXMubmdDb250cm9sLmNvbnRyb2w/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICB9XHJcbn1cclxuIiwiPGxhYmVsXHJcbiAgW2Zvcl09XCJpZFwiXHJcbiAgW2NsYXNzLnJlcXVpcmVkXT1cInJlcXVpcmVkXCJcclxuPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9sYWJlbD5cclxuXHJcbjxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtc3RyZXRjaFwiPlxyXG4gIDxidXR0b25cclxuICAgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXHJcbiAgICB0aXRsZT1cIkNvbG9yXCJcclxuICAgIFtjbGFzcy5ici1zdGFydF09XCJib3JkZXJSYWRpdXNMZWZ0XCJcclxuICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcclxuICAgIChjbGljayk9XCJjb2xvcklucHV0LmNsaWNrKClcIlxyXG4gID5cclxuICAgIDxpY29uXHJcbiAgICAgIHNpemU9XCIxcmVtXCJcclxuICAgICAgdHlwZT1cInNxdWFyZVwiXHJcbiAgICAgIFtmaWxsXT1cImZ1bGxIZXgudGVzdChfbW9kZWwgfHwgJycpID8gX21vZGVsIDogW251bGwsICdjdXJyZW50J11cIlxyXG4gICAgICBmaWxsUm90YXRlPVwiOTBcIlxyXG4gICAgICBbc3Ryb2tlXT1cImZ1bGxIZXgudGVzdChfbW9kZWwgfHwgJycpID8gX21vZGVsIDogWydjdXJyZW50J11cIlxyXG4gICAgPjwvaWNvbj5cclxuICA8L2J1dHRvbj5cclxuICA8aW5wdXRcclxuICAgIFsobmdNb2RlbCldPVwibW9kZWxcIlxyXG4gICAgc3BlbGxjaGVjaz1cImZhbHNlXCJcclxuICAgIHNpemU9XCI1XCJcclxuICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgIFtjbGFzcy5hY3RpdmVdPVwibmdDb250cm9sLmNvbnRyb2w/LnZhbHVlICE9PSBudWxsXCJcclxuICAgIFtjbGFzcy5ici1lbmRdPVwiYm9yZGVyUmFkaXVzUmlnaHRcIlxyXG4gICAgW2NsYXNzLmludmFsaWRdPVwibmdDb250cm9sLmNvbnRyb2w/LmludmFsaWRcIlxyXG4gICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxyXG4gICAgW2lkXT1cImlkXCJcclxuICAgIChiZWZvcmVpbnB1dCk9XCJvbkJlZm9yZWlucHV0KCRldmVudClcIlxyXG4gICAgKGJsdXIpPVwib25Ub3VjaGVkKClcIlxyXG4gIC8+XHJcbjwvZGl2PlxyXG5cclxuPCEtLSA8dWwgKm5nSWY9XCJuZ0NvbnRyb2wuY29udHJvbD8uZXJyb3JzXCI+XHJcbiAgPGxpICpuZ0lmPVwibmdDb250cm9sLmNvbnRyb2w/LmVycm9ycz8uWydpbnZhbGlkJ11cIj5cclxuICAgIGludmFsaWQgbW9kZWxcclxuICA8L2xpPlxyXG48L3VsPiAtLT5cclxuXHJcbjxpbnB1dFxyXG4gICNjb2xvcklucHV0XHJcbiAgdHlwZT1cImNvbG9yXCJcclxuICAoY2hhbmdlKT1cIm9uQ2hhbmdlQ29sb3IoJGV2ZW50KVwiXHJcbi8+Il19
@@ -1,131 +0,0 @@
1
- import { Component, Input, Self } from '@angular/core';
2
- import { Validators } from '@angular/forms';
3
- import { debounceTime } from 'rxjs/operators';
4
- import { ControlDirective } from '../../directives';
5
- import { isNumber } from '../../models';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/forms";
8
- import * as i2 from "@angular/common";
9
- import * as i3 from "@joster-dev/icon";
10
- export class FileComponent extends ControlDirective {
11
- get acceptedTypes() {
12
- return this._acceptedTypes;
13
- }
14
- set acceptedTypes(value) {
15
- if (!Array.isArray(value) || !value.every(item => typeof item === 'string'))
16
- throw new Error(`acceptedTypes expects: string[]`);
17
- this._acceptedTypes = value;
18
- this.validation.next();
19
- }
20
- get sizeLimitMb() {
21
- return this._sizeLimitMb;
22
- }
23
- set sizeLimitMb(value) {
24
- if (!isNumber(value) || value < 0)
25
- throw new Error('sizeLimitMb expects: positive number');
26
- this._sizeLimitMb = value;
27
- this.validation.next();
28
- }
29
- get multiple() {
30
- return this._multiple;
31
- }
32
- set multiple(value) {
33
- this._multiple = value === true;
34
- this.validation.next();
35
- }
36
- constructor(ngControl) {
37
- super();
38
- this.ngControl = ngControl;
39
- this._acceptedTypes = [];
40
- this._sizeLimitMb = 0;
41
- this._multiple = false;
42
- this.showSize = false;
43
- this.model = null;
44
- this.id = `${Math.random().toString(36).substr(2, 9)}`;
45
- this.validation
46
- .pipe(debounceTime(100))
47
- .subscribe(() => this.validate());
48
- ngControl.valueAccessor = this;
49
- }
50
- get fileNames() {
51
- if (this.ngControl.value instanceof FileList)
52
- return Object.values(this.ngControl.value).map(file => file.name).join(', ');
53
- if (this.ngControl.value instanceof File)
54
- return this.ngControl.value.name;
55
- return '';
56
- }
57
- get sizeLimit() {
58
- return this.sizeLimitMb < 1
59
- ? `${this.sizeLimitMb * 1000} KB`
60
- : `${this.sizeLimitMb} MB`;
61
- }
62
- onFileChange(event) {
63
- const target = event.target;
64
- this.onChange(target.files?.length
65
- ? target.files
66
- : null);
67
- }
68
- onChange(_model) { }
69
- registerOnChange(fn) {
70
- this.onChange = fn;
71
- }
72
- writeValue(value) {
73
- if (value === undefined)
74
- value = null;
75
- if (value !== null && !(value instanceof FileList))
76
- throw new Error('control value must be: File or null');
77
- // todo
78
- // this.model = value;
79
- }
80
- acceptedTypesValidator(acceptedTypes) {
81
- return (control) => control.value !== null
82
- && control.value instanceof FileList
83
- && !Object.values(control.value).map(item => item.type.toLowerCase())
84
- .every(type => acceptedTypes.includes(type.toLowerCase()))
85
- ? { acceptedTypes: { value: control.value } }
86
- : null;
87
- }
88
- invalidValidator(multiple) {
89
- return (control) => control.value !== null
90
- && (!(control.value instanceof FileList) || (control.value.length > 1 && !multiple))
91
- ? { invalid: { value: control.value } }
92
- : null;
93
- }
94
- sizeLimitMbValidator(sizeLimitMb) {
95
- return (control) => control.value instanceof FileList
96
- && Object.values(control.value).map(item => item.size / 1024 / 1024)
97
- .reduce((acc, cur) => acc + cur, 0) > sizeLimitMb
98
- ? { sizeLimitMb: { value: control.value } }
99
- : null;
100
- }
101
- validate() {
102
- const validators = [
103
- this.invalidValidator(this.multiple)
104
- ];
105
- if (this.acceptedTypes.length > 0)
106
- validators.push(this.acceptedTypesValidator(this.acceptedTypes));
107
- if (this.sizeLimitMb > 0)
108
- validators.push(this.sizeLimitMbValidator(this.sizeLimitMb));
109
- if (this.required === true)
110
- validators.push(Validators.required);
111
- this.ngControl.control?.setValidators(validators);
112
- this.ngControl.control?.updateValueAndValidity();
113
- }
114
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: FileComponent, deps: [{ token: i1.NgControl, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
115
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: FileComponent, selector: "jo-file", inputs: { acceptedTypes: "acceptedTypes", sizeLimitMb: "sizeLimitMb", multiple: "multiple", showSize: "showSize" }, 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-center\">\r\n <div>\r\n <button\r\n class=\"white-space-nowrap\"\r\n [class.br-end]=\"borderRadiusRight\"\r\n [class.br-start]=\"borderRadiusLeft\"\r\n [class.active]=\"ngControl.value !== null\"\r\n [disabled]=\"isDisabled\"\r\n (click)=\"fileInput.click()\"\r\n >\r\n <icon\r\n type=\"folder\"\r\n size=\"1rem\"\r\n class=\"me-2\"\r\n [fill]=\"[null, 'current']\"\r\n fillRotate=\"90\"\r\n ></icon>\r\n Choose {{multiple ? 'Files' : 'File'}}\r\n </button>\r\n </div>\r\n <div\r\n *ngIf=\"ngControl.value\"\r\n class=\"ml-2\"\r\n >\r\n {{fileNames}}\r\n </div>\r\n</div>\r\n\r\n<!-- <ul *ngIf=\"ngControl.control?.errors\">\r\n <li *ngIf=\"ngControl.control?.errors?.['acceptedTypes']\">\r\n valid types are {{acceptedTypes.join(', ')}}\r\n </li>\r\n <li *ngIf=\"ngControl.control?.errors?.['sizeLimitMb']\">\r\n max file size is {{sizeLimit}}\r\n </li>\r\n <li *ngIf=\"ngControl.control?.errors?.['invalid']\">\r\n invalid model\r\n </li>\r\n</ul> -->\r\n\r\n<input\r\n [(ngModel)]=\"model\"\r\n #fileInput\r\n type=\"file\"\r\n [accept]=\"acceptedTypes.join()\"\r\n [multiple]=\"multiple\"\r\n [id]=\"id\"\r\n (change)=\"onFileChange($event)\"\r\n/>", styles: ["input[type=file]{display:none}\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.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"] }] }); }
116
- }
117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: FileComponent, decorators: [{
118
- type: Component,
119
- args: [{ selector: 'jo-file', template: "<label [class.required]=\"required\">\r\n <ng-content></ng-content>\r\n</label>\r\n\r\n<div class=\"d-flex align-items-center\">\r\n <div>\r\n <button\r\n class=\"white-space-nowrap\"\r\n [class.br-end]=\"borderRadiusRight\"\r\n [class.br-start]=\"borderRadiusLeft\"\r\n [class.active]=\"ngControl.value !== null\"\r\n [disabled]=\"isDisabled\"\r\n (click)=\"fileInput.click()\"\r\n >\r\n <icon\r\n type=\"folder\"\r\n size=\"1rem\"\r\n class=\"me-2\"\r\n [fill]=\"[null, 'current']\"\r\n fillRotate=\"90\"\r\n ></icon>\r\n Choose {{multiple ? 'Files' : 'File'}}\r\n </button>\r\n </div>\r\n <div\r\n *ngIf=\"ngControl.value\"\r\n class=\"ml-2\"\r\n >\r\n {{fileNames}}\r\n </div>\r\n</div>\r\n\r\n<!-- <ul *ngIf=\"ngControl.control?.errors\">\r\n <li *ngIf=\"ngControl.control?.errors?.['acceptedTypes']\">\r\n valid types are {{acceptedTypes.join(', ')}}\r\n </li>\r\n <li *ngIf=\"ngControl.control?.errors?.['sizeLimitMb']\">\r\n max file size is {{sizeLimit}}\r\n </li>\r\n <li *ngIf=\"ngControl.control?.errors?.['invalid']\">\r\n invalid model\r\n </li>\r\n</ul> -->\r\n\r\n<input\r\n [(ngModel)]=\"model\"\r\n #fileInput\r\n type=\"file\"\r\n [accept]=\"acceptedTypes.join()\"\r\n [multiple]=\"multiple\"\r\n [id]=\"id\"\r\n (change)=\"onFileChange($event)\"\r\n/>", styles: ["input[type=file]{display:none}\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"] }]
120
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
121
- type: Self
122
- }] }], propDecorators: { acceptedTypes: [{
123
- type: Input
124
- }], sizeLimitMb: [{
125
- type: Input
126
- }], multiple: [{
127
- type: Input
128
- }], showSize: [{
129
- type: Input
130
- }] } });
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGFvcy1jb250cm9sL3NyYy9saWIvY29tcG9uZW50cy9maWxlL2ZpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhb3MtY29udHJvbC9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS9maWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQW1GLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7OztBQVV4QyxNQUFNLE9BQU8sYUFBYyxTQUFRLGdCQUFnQjtJQUNqRCxJQUFhLGFBQWE7UUFDeEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFJLGFBQWEsQ0FBQyxLQUFlO1FBQy9CLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQztZQUN6RSxNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBR0QsSUFBYSxXQUFXO1FBQ3RCLE9BQU8sSUFBSSxD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M0NBb0RFOzsyRkR0Q1csYUFBYTtrQkFSekIsU0FBUzsrQkFDRSxTQUFTOzswQkE2Q2hCLElBQUk7eUNBckNNLGFBQWE7c0JBQXpCLEtBQUs7Z0JBV08sV0FBVztzQkFBdkIsS0FBSztnQkFXTyxRQUFRO3NCQUFwQixLQUFLO2dCQVNHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ29udHJvbERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xyXG5pbXBvcnQgeyBpc051bWJlciB9IGZyb20gJy4uLy4uL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2pvLWZpbGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFtcclxuICAgICcuL2ZpbGUuY29tcG9uZW50LnNjc3MnLFxyXG4gICAgJy4uLy4uL3N0eWxlcy5zY3NzJyxcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlQ29tcG9uZW50IGV4dGVuZHMgQ29udHJvbERpcmVjdGl2ZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBASW5wdXQoKSBnZXQgYWNjZXB0ZWRUeXBlcygpIHtcclxuICAgIHJldHVybiB0aGlzLl9hY2NlcHRlZFR5cGVzO1xyXG4gIH1cclxuICBzZXQgYWNjZXB0ZWRUeXBlcyh2YWx1ZTogc3RyaW5nW10pIHtcclxuICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkgfHwgIXZhbHVlLmV2ZXJ5KGl0ZW0gPT4gdHlwZW9mIGl0ZW0gPT09ICdzdHJpbmcnKSlcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBhY2NlcHRlZFR5cGVzIGV4cGVjdHM6IHN0cmluZ1tdYCk7XHJcbiAgICB0aGlzLl9hY2NlcHRlZFR5cGVzID0gdmFsdWU7XHJcbiAgICB0aGlzLnZhbGlkYXRpb24ubmV4dCgpO1xyXG4gIH1cclxuICBfYWNjZXB0ZWRUeXBlczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgZ2V0IHNpemVMaW1pdE1iKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NpemVMaW1pdE1iO1xyXG4gIH1cclxuICBzZXQgc2l6ZUxpbWl0TWIodmFsdWU6IG51bWJlcikge1xyXG4gICAgaWYgKCFpc051bWJlcih2YWx1ZSkgfHwgdmFsdWUgPCAwKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3NpemVMaW1pdE1iIGV4cGVjdHM6IHBvc2l0aXZlIG51bWJlcicpO1xyXG4gICAgdGhpcy5fc2l6ZUxpbWl0TWIgPSB2YWx1ZTtcclxuICAgIHRoaXMudmFsaWRhdGlvbi5uZXh0KCk7XHJcbiAgfVxyXG4gIF9zaXplTGltaXRNYiA9IDA7XHJcblxyXG4gIEBJbnB1dCgpIGdldCBtdWx0aXBsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9tdWx0aXBsZTtcclxuICB9XHJcbiAgc2V0IG11bHRpcGxlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9tdWx0aXBsZSA9IHZhbHVlID09PSB0cnVlO1xyXG4gICAgdGhpcy52YWxpZGF0aW9uLm5leHQoKTtcclxuICB9XHJcbiAgX211bHRpcGxlID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHNob3dTaXplID0gZmFsc2U7XHJcblxyXG4gIG1vZGVsOiAnJyB8IG51bGwgPSBudWxsO1xyXG4gIGlkID0gYCR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIsIDkpfWA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wsXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy52YWxpZGF0aW9uXHJcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMDApKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMudmFsaWRhdGUoKSk7XHJcbiAgICBuZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgfVxyXG5cclxuICBnZXQgZmlsZU5hbWVzKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wudmFsdWUgaW5zdGFuY2VvZiBGaWxlTGlzdClcclxuICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy5uZ0NvbnRyb2wudmFsdWUpLm1hcChmaWxlID0+IGZpbGUubmFtZSkuam9pbignLCAnKTtcclxuXHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wudmFsdWUgaW5zdGFuY2VvZiBGaWxlKVxyXG4gICAgICByZXR1cm4gdGhpcy5uZ0NvbnRyb2wudmFsdWUubmFtZTtcclxuXHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICBnZXQgc2l6ZUxpbWl0KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5zaXplTGltaXRNYiA8IDFcclxuICAgICAgPyBgJHt0aGlzLnNpemVMaW1pdE1iICogMTAwMH0gS0JgXHJcbiAgICAgIDogYCR7dGhpcy5zaXplTGltaXRNYn0gTUJgO1xyXG4gIH1cclxuXHJcbiAgb25GaWxlQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKFxyXG4gICAgICB0YXJnZXQuZmlsZXM/Lmxlbmd0aFxyXG4gICAgICAgID8gdGFyZ2V0LmZpbGVzXHJcbiAgICAgICAgOiBudWxsXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2UoX21vZGVsOiBGaWxlTGlzdCB8IG51bGwpIHsgfVxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IHVua25vd24pOiB2b2lkIHtcclxuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICB2YWx1ZSA9IG51bGw7XHJcblxyXG4gICAgaWYgKHZhbHVlICE9PSBudWxsICYmICEodmFsdWUgaW5zdGFuY2VvZiBGaWxlTGlzdCkpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignY29udHJvbCB2YWx1ZSBtdXN0IGJlOiBGaWxlIG9yIG51bGwnKTtcclxuICAgIC8vIHRvZG9cclxuICAgIC8vIHRoaXMubW9kZWwgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWNjZXB0ZWRUeXBlc1ZhbGlkYXRvcihhY2NlcHRlZFR5cGVzOiBzdHJpbmdbXSk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4gY29udHJvbC52YWx1ZSAhPT0gbnVsbFxyXG4gICAgICAmJiBjb250cm9sLnZhbHVlIGluc3RhbmNlb2YgRmlsZUxpc3RcclxuICAgICAgJiYgIU9iamVjdC52YWx1ZXMoY29udHJvbC52YWx1ZSkubWFwKGl0ZW0gPT4gaXRlbS50eXBlLnRvTG93ZXJDYXNlKCkpXHJcbiAgICAgICAgLmV2ZXJ5KHR5cGUgPT4gYWNjZXB0ZWRUeXBlcy5pbmNsdWRlcyh0eXBlLnRvTG93ZXJDYXNlKCkpKVxyXG4gICAgICA/IHsgYWNjZXB0ZWRUeXBlczogeyB2YWx1ZTogY29udHJvbC52YWx1ZSB9IH1cclxuICAgICAgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbnZhbGlkVmFsaWRhdG9yKG11bHRpcGxlOiBib29sZWFuKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiBjb250cm9sLnZhbHVlICE9PSBudWxsXHJcbiAgICAgICYmICghKGNvbnRyb2wudmFsdWUgaW5zdGFuY2VvZiBGaWxlTGlzdCkgfHwgKGNvbnRyb2wudmFsdWUubGVuZ3RoID4gMSAmJiAhbXVsdGlwbGUpKVxyXG4gICAgICA/IHsgaW52YWxpZDogeyB2YWx1ZTogY29udHJvbC52YWx1ZSB9IH1cclxuICAgICAgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzaXplTGltaXRNYlZhbGlkYXRvcihzaXplTGltaXRNYjogbnVtYmVyKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiBjb250cm9sLnZhbHVlIGluc3RhbmNlb2YgRmlsZUxpc3RcclxuICAgICAgJiYgT2JqZWN0LnZhbHVlcyhjb250cm9sLnZhbHVlKS5tYXAoaXRlbSA9PiBpdGVtLnNpemUgLyAxMDI0IC8gMTAyNClcclxuICAgICAgICAucmVkdWNlKChhY2MsIGN1cikgPT4gYWNjICsgY3VyLCAwKSA+IHNpemVMaW1pdE1iXHJcbiAgICAgID8geyBzaXplTGltaXRNYjogeyB2YWx1ZTogY29udHJvbC52YWx1ZSB9IH1cclxuICAgICAgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB2YWxpZGF0ZSgpIHtcclxuICAgIGNvbnN0IHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10gPSBbXHJcbiAgICAgIHRoaXMuaW52YWxpZFZhbGlkYXRvcih0aGlzLm11bHRpcGxlKVxyXG4gICAgXTtcclxuXHJcbiAgICBpZiAodGhpcy5hY2NlcHRlZFR5cGVzLmxlbmd0aCA+IDApXHJcbiAgICAgIHZhbGlkYXRvcnMucHVzaCh0aGlzLmFjY2VwdGVkVHlwZXNWYWxpZGF0b3IodGhpcy5hY2NlcHRlZFR5cGVzKSk7XHJcblxyXG4gICAgaWYgKHRoaXMuc2l6ZUxpbWl0TWIgPiAwKVxyXG4gICAgICB2YWxpZGF0b3JzLnB1c2godGhpcy5zaXplTGltaXRNYlZhbGlkYXRvcih0aGlzLnNpemVMaW1pdE1iKSk7XHJcblxyXG4gICAgaWYgKHRoaXMucmVxdWlyZWQgPT09IHRydWUpXHJcbiAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuXHJcbiAgICB0aGlzLm5nQ29udHJvbC5jb250cm9sPy5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xyXG4gICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gIH1cclxufVxyXG4iLCI8bGFiZWwgW2NsYXNzLnJlcXVpcmVkXT1cInJlcXVpcmVkXCI+XHJcbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48L2xhYmVsPlxyXG5cclxuPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICA8ZGl2PlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICBjbGFzcz1cIndoaXRlLXNwYWNlLW5vd3JhcFwiXHJcbiAgICAgIFtjbGFzcy5ici1lbmRdPVwiYm9yZGVyUmFkaXVzUmlnaHRcIlxyXG4gICAgICBbY2xhc3MuYnItc3RhcnRdPVwiYm9yZGVyUmFkaXVzTGVmdFwiXHJcbiAgICAgIFtjbGFzcy5hY3RpdmVdPVwibmdDb250cm9sLnZhbHVlICE9PSBudWxsXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxyXG4gICAgICAoY2xpY2spPVwiZmlsZUlucHV0LmNsaWNrKClcIlxyXG4gICAgPlxyXG4gICAgICA8aWNvblxyXG4gICAgICAgIHR5cGU9XCJmb2xkZXJcIlxyXG4gICAgICAgIHNpemU9XCIxcmVtXCJcclxuICAgICAgICBjbGFzcz1cIm1lLTJcIlxyXG4gICAgICAgIFtmaWxsXT1cIltudWxsLCAnY3VycmVudCddXCJcclxuICAgICAgICBmaWxsUm90YXRlPVwiOTBcIlxyXG4gICAgICA+PC9pY29uPlxyXG4gICAgICBDaG9vc2Uge3ttdWx0aXBsZSA/ICdGaWxlcycgOiAnRmlsZSd9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdlxyXG4gICAgKm5nSWY9XCJuZ0NvbnRyb2wudmFsdWVcIlxyXG4gICAgY2xhc3M9XCJtbC0yXCJcclxuICA+XHJcbiAgICB7e2ZpbGVOYW1lc319XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPCEtLSA8dWwgKm5nSWY9XCJuZ0NvbnRyb2wuY29udHJvbD8uZXJyb3JzXCI+XHJcbiAgPGxpICpuZ0lmPVwibmdDb250cm9sLmNvbnRyb2w/LmVycm9ycz8uWydhY2NlcHRlZFR5cGVzJ11cIj5cclxuICAgIHZhbGlkIHR5cGVzIGFyZSB7e2FjY2VwdGVkVHlwZXMuam9pbignLCAnKX19XHJcbiAgPC9saT5cclxuICA8bGkgKm5nSWY9XCJuZ0NvbnRyb2wuY29udHJvbD8uZXJyb3JzPy5bJ3NpemVMaW1pdE1iJ11cIj5cclxuICAgIG1heCBmaWxlIHNpemUgaXMge3tzaXplTGltaXR9fVxyXG4gIDwvbGk+XHJcbiAgPGxpICpuZ0lmPVwibmdDb250cm9sLmNvbnRyb2w/LmVycm9ycz8uWydpbnZhbGlkJ11cIj5cclxuICAgIGludmFsaWQgbW9kZWxcclxuICA8L2xpPlxyXG48L3VsPiAtLT5cclxuXHJcbjxpbnB1dFxyXG4gIFsobmdNb2RlbCldPVwibW9kZWxcIlxyXG4gICNmaWxlSW5wdXRcclxuICB0eXBlPVwiZmlsZVwiXHJcbiAgW2FjY2VwdF09XCJhY2NlcHRlZFR5cGVzLmpvaW4oKVwiXHJcbiAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcclxuICBbaWRdPVwiaWRcIlxyXG4gIChjaGFuZ2UpPVwib25GaWxlQ2hhbmdlKCRldmVudClcIlxyXG4vPiJdfQ==
@@ -1,8 +0,0 @@
1
- export * from './choice/choice.component';
2
- export * from './color/color.component';
3
- export * from './file/file.component';
4
- export * from './number/number.component';
5
- export * from './readonly/readonly.component';
6
- export * from './text/text.component';
7
- export * from './select/select.component';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGFvcy1jb250cm9sL3NyYy9saWIvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jaG9pY2UvY2hvaWNlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29sb3IvY29sb3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9maWxlL2ZpbGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9udW1iZXIvbnVtYmVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcmVhZG9ubHkvcmVhZG9ubHkuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi90ZXh0L3RleHQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XHJcbiJdfQ==